@awcp/sdk 0.0.16 → 0.0.18

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 (95) hide show
  1. package/dist/delegator/admission.d.ts +7 -28
  2. package/dist/delegator/admission.d.ts.map +1 -1
  3. package/dist/delegator/admission.js +35 -26
  4. package/dist/delegator/admission.js.map +1 -1
  5. package/dist/delegator/bin/client.d.ts +2 -2
  6. package/dist/delegator/bin/client.d.ts.map +1 -1
  7. package/dist/delegator/bin/client.js +6 -2
  8. package/dist/delegator/bin/client.js.map +1 -1
  9. package/dist/delegator/bin/daemon.d.ts +1 -1
  10. package/dist/delegator/bin/daemon.d.ts.map +1 -1
  11. package/dist/delegator/bin/daemon.js +13 -4
  12. package/dist/delegator/bin/daemon.js.map +1 -1
  13. package/dist/delegator/config.d.ts +57 -78
  14. package/dist/delegator/config.d.ts.map +1 -1
  15. package/dist/delegator/config.js +40 -24
  16. package/dist/delegator/config.js.map +1 -1
  17. package/dist/delegator/delegation-manager.d.ts +12 -0
  18. package/dist/delegator/delegation-manager.d.ts.map +1 -0
  19. package/dist/delegator/delegation-manager.js +36 -0
  20. package/dist/delegator/delegation-manager.js.map +1 -0
  21. package/dist/delegator/{environment-builder.d.ts → environment-manager.d.ts} +6 -12
  22. package/dist/delegator/{environment-builder.d.ts.map → environment-manager.d.ts.map} +1 -1
  23. package/dist/delegator/{environment-builder.js → environment-manager.js} +8 -26
  24. package/dist/delegator/environment-manager.js.map +1 -0
  25. package/dist/delegator/executor-client.d.ts +8 -25
  26. package/dist/delegator/executor-client.d.ts.map +1 -1
  27. package/dist/delegator/executor-client.js +33 -53
  28. package/dist/delegator/executor-client.js.map +1 -1
  29. package/dist/delegator/index.d.ts +5 -4
  30. package/dist/delegator/index.d.ts.map +1 -1
  31. package/dist/delegator/index.js +3 -2
  32. package/dist/delegator/index.js.map +1 -1
  33. package/dist/delegator/service.d.ts +28 -14
  34. package/dist/delegator/service.d.ts.map +1 -1
  35. package/dist/delegator/service.js +258 -297
  36. package/dist/delegator/service.js.map +1 -1
  37. package/dist/delegator/snapshot-manager.d.ts +23 -0
  38. package/dist/delegator/snapshot-manager.d.ts.map +1 -0
  39. package/dist/delegator/snapshot-manager.js +120 -0
  40. package/dist/delegator/snapshot-manager.js.map +1 -0
  41. package/dist/executor/a2a-adapter.d.ts +1 -1
  42. package/dist/executor/a2a-adapter.d.ts.map +1 -1
  43. package/dist/executor/admission.d.ts +13 -0
  44. package/dist/executor/admission.d.ts.map +1 -0
  45. package/dist/executor/admission.js +27 -0
  46. package/dist/executor/admission.js.map +1 -0
  47. package/dist/executor/assignment-manager.d.ts +12 -0
  48. package/dist/executor/assignment-manager.d.ts.map +1 -0
  49. package/dist/executor/assignment-manager.js +36 -0
  50. package/dist/executor/assignment-manager.js.map +1 -0
  51. package/dist/executor/config.d.ts +37 -24
  52. package/dist/executor/config.d.ts.map +1 -1
  53. package/dist/executor/config.js +21 -15
  54. package/dist/executor/config.js.map +1 -1
  55. package/dist/executor/index.d.ts +4 -2
  56. package/dist/executor/index.d.ts.map +1 -1
  57. package/dist/executor/index.js +3 -1
  58. package/dist/executor/index.js.map +1 -1
  59. package/dist/executor/service.d.ts +18 -12
  60. package/dist/executor/service.d.ts.map +1 -1
  61. package/dist/executor/service.js +325 -211
  62. package/dist/executor/service.js.map +1 -1
  63. package/dist/executor/workspace-manager.d.ts +1 -8
  64. package/dist/executor/workspace-manager.d.ts.map +1 -1
  65. package/dist/executor/workspace-manager.js +3 -25
  66. package/dist/executor/workspace-manager.js.map +1 -1
  67. package/dist/index.d.ts +3 -3
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +1 -1
  70. package/dist/index.js.map +1 -1
  71. package/dist/listener/http-listener.d.ts +1 -1
  72. package/dist/listener/http-listener.d.ts.map +1 -1
  73. package/dist/listener/http-listener.js +8 -1
  74. package/dist/listener/http-listener.js.map +1 -1
  75. package/dist/listener/index.d.ts +1 -0
  76. package/dist/listener/index.d.ts.map +1 -1
  77. package/dist/listener/index.js.map +1 -1
  78. package/dist/listener/types.d.ts +52 -0
  79. package/dist/listener/types.d.ts.map +1 -0
  80. package/dist/listener/types.js +5 -0
  81. package/dist/listener/types.js.map +1 -0
  82. package/dist/listener/websocket-tunnel-listener.d.ts +1 -1
  83. package/dist/listener/websocket-tunnel-listener.d.ts.map +1 -1
  84. package/dist/server/express/awcp-executor-handler.d.ts +3 -3
  85. package/dist/server/express/awcp-executor-handler.d.ts.map +1 -1
  86. package/dist/server/express/awcp-executor-handler.js +3 -1
  87. package/dist/server/express/awcp-executor-handler.js.map +1 -1
  88. package/dist/utils/fs-helpers.d.ts +1 -1
  89. package/dist/utils/fs-helpers.js +1 -1
  90. package/package.json +2 -2
  91. package/dist/delegator/environment-builder.js.map +0 -1
  92. package/dist/delegator/snapshot-store.d.ts +0 -27
  93. package/dist/delegator/snapshot-store.d.ts.map +0 -1
  94. package/dist/delegator/snapshot-store.js +0 -40
  95. package/dist/delegator/snapshot-store.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/delegator/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AA4DH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,aAAa,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,EAAO,QAAQ;IAC/C,YAAY,EAAE,KAAK;IACnB,kBAAkB,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAG,OAAO;CACtC,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,MAAwB;IAC9B,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAY,aAAa;IACpD,YAAY,EAAE,EAAE;CACR,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAkB;CACtB,CAAC;AAwCX,MAAM,UAAU,sBAAsB,CAAC,MAAuB;IAC5D,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE;YACT,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,IAAI,iBAAiB,CAAC,aAAa;YACjF,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,IAAI,iBAAiB,CAAC,YAAY;YAC9E,kBAAkB,EAAE,MAAM,CAAC,SAAS,EAAE,kBAAkB,IAAI,iBAAiB,CAAC,kBAAkB;SACjG;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,gBAAgB,CAAC,IAAI;YACpD,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,IAAI,gBAAgB,CAAC,WAAW;YACzE,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,YAAY,IAAI,gBAAgB,CAAC,YAAY;SAC7E;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,IAAI,kBAAkB,CAAC,UAAU;YACxE,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,IAAI,kBAAkB,CAAC,UAAU;SACzE;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":"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"}
@@ -0,0 +1,12 @@
1
+ import type { Delegation } from '@awcp/core';
2
+ export interface DelegationManagerConfig {
3
+ baseDir: string;
4
+ }
5
+ export declare class DelegationManager {
6
+ private baseDir;
7
+ constructor(config: DelegationManagerConfig);
8
+ save(delegation: Delegation): Promise<void>;
9
+ loadAll(): Promise<Delegation[]>;
10
+ delete(delegationId: string): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=delegation-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegation-manager.d.ts","sourceRoot":"","sources":["../../src/delegator/delegation-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,uBAAuB;IAIrC,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3C,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAgBhC,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIlD"}
@@ -0,0 +1,36 @@
1
+ import { mkdir, rm, readFile, writeFile, readdir } from 'node:fs/promises';
2
+ import { join } from 'node:path';
3
+ export class DelegationManager {
4
+ baseDir;
5
+ constructor(config) {
6
+ this.baseDir = config.baseDir;
7
+ }
8
+ async save(delegation) {
9
+ await mkdir(this.baseDir, { recursive: true });
10
+ const filePath = join(this.baseDir, `${delegation.id}.json`);
11
+ await writeFile(filePath, JSON.stringify(delegation, null, 2));
12
+ }
13
+ async loadAll() {
14
+ try {
15
+ const entries = await readdir(this.baseDir);
16
+ const delegations = [];
17
+ for (const entry of entries) {
18
+ if (!entry.endsWith('.json'))
19
+ continue;
20
+ const content = await readFile(join(this.baseDir, entry), 'utf-8');
21
+ delegations.push(JSON.parse(content));
22
+ }
23
+ return delegations;
24
+ }
25
+ catch (error) {
26
+ if (error.code === 'ENOENT')
27
+ return [];
28
+ throw error;
29
+ }
30
+ }
31
+ async delete(delegationId) {
32
+ const filePath = join(this.baseDir, `${delegationId}.json`);
33
+ await rm(filePath, { force: true });
34
+ }
35
+ }
36
+ //# sourceMappingURL=delegation-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegation-manager.js","sourceRoot":"","sources":["../../src/delegator/delegation-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAOjC,MAAM,OAAO,iBAAiB;IACpB,OAAO,CAAS;IAExB,YAAY,MAA+B;QACzC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAAsB;QAC/B,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,WAAW,GAAiB,EAAE,CAAC;YACrC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAAE,SAAS;gBACvC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;gBACnE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAC;YAClE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,YAAoB;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,YAAY,OAAO,CAAC,CAAC;QAC5D,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Environment Builder - builds environment directories for delegation
2
+ * Environment Manager - manages environment directories for delegation
3
3
  */
4
4
  import type { EnvironmentSpec } from '@awcp/core';
5
5
  export interface EnvironmentManifest {
@@ -17,21 +17,15 @@ export interface EnvironmentBuildResult {
17
17
  envRoot: string;
18
18
  manifest: EnvironmentManifest;
19
19
  }
20
- export interface EnvironmentBuilderConfig {
20
+ export interface EnvironmentManagerConfig {
21
21
  baseDir?: string;
22
22
  }
23
- export declare class EnvironmentBuilder {
23
+ export declare class EnvironmentManager {
24
24
  private baseDir;
25
25
  private adapters;
26
- private environments;
27
- constructor(config?: EnvironmentBuilderConfig);
28
- /**
29
- * Build an environment directory from spec.
30
- * Returns envRoot with trailing slash for SSHFS compatibility.
31
- */
26
+ constructor(config?: EnvironmentManagerConfig);
32
27
  build(delegationId: string, spec: EnvironmentSpec): Promise<EnvironmentBuildResult>;
33
- get(delegationId: string): EnvironmentBuildResult | undefined;
34
28
  release(delegationId: string): Promise<void>;
35
- cleanupStale(): Promise<number>;
29
+ cleanupStale(knownIds: Set<string>): Promise<number>;
36
30
  }
37
- //# sourceMappingURL=environment-builder.d.ts.map
31
+ //# sourceMappingURL=environment-manager.d.ts.map
@@ -1 +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;AAMlD,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,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;IA+BzF,GAAG,CAAC,YAAY,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAIvD,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY5C,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;CAGtC"}
1
+ {"version":3,"file":"environment-manager.d.ts","sourceRoot":"","sources":["../../src/delegator/environment-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAMlD,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,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAA0B;gBAE9B,MAAM,CAAC,EAAE,wBAAwB;IAMvC,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA6BnF,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5C,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAG3D"}
@@ -1,24 +1,19 @@
1
1
  /**
2
- * Environment Builder - builds environment directories for delegation
2
+ * Environment Manager - manages environment directories for delegation
3
3
  */
4
4
  import { mkdir, rm, writeFile } from 'node:fs/promises';
5
5
  import { join } from 'node:path';
6
6
  import { ResourceAdapterRegistry, FsResourceAdapter } from './resource-adapters/index.js';
7
7
  import { cleanupStaleDirectories } from '../utils/index.js';
8
8
  const DEFAULT_ENV_BASE = '/tmp/awcp/environments';
9
- export class EnvironmentBuilder {
9
+ export class EnvironmentManager {
10
10
  baseDir;
11
11
  adapters;
12
- environments = new Map();
13
12
  constructor(config) {
14
13
  this.baseDir = config?.baseDir ?? DEFAULT_ENV_BASE;
15
14
  this.adapters = new ResourceAdapterRegistry();
16
15
  this.adapters.register(new FsResourceAdapter());
17
16
  }
18
- /**
19
- * Build an environment directory from spec.
20
- * Returns envRoot with trailing slash for SSHFS compatibility.
21
- */
22
17
  async build(delegationId, spec) {
23
18
  const envRoot = join(this.baseDir, delegationId);
24
19
  await mkdir(envRoot, { recursive: true });
@@ -41,27 +36,14 @@ export class EnvironmentBuilder {
41
36
  const awcpDir = join(envRoot, '.awcp');
42
37
  await mkdir(awcpDir, { recursive: true });
43
38
  await writeFile(join(awcpDir, 'manifest.json'), JSON.stringify(manifest, null, 2));
44
- const result = { envRoot: `${envRoot}/`, manifest };
45
- this.environments.set(delegationId, result);
46
- return result;
47
- }
48
- get(delegationId) {
49
- return this.environments.get(delegationId);
39
+ return { envRoot: `${envRoot}/`, manifest };
50
40
  }
51
41
  async release(delegationId) {
52
- const env = this.environments.get(delegationId);
53
- if (!env)
54
- return;
55
- try {
56
- await rm(env.envRoot, { recursive: true, force: true });
57
- }
58
- catch {
59
- // Directory may already be removed
60
- }
61
- this.environments.delete(delegationId);
42
+ const envRoot = join(this.baseDir, delegationId);
43
+ await rm(envRoot, { recursive: true, force: true }).catch(() => { });
62
44
  }
63
- async cleanupStale() {
64
- return cleanupStaleDirectories(this.baseDir, new Set(this.environments.keys()));
45
+ async cleanupStale(knownIds) {
46
+ return cleanupStaleDirectories(this.baseDir, knownIds);
65
47
  }
66
48
  }
67
- //# sourceMappingURL=environment-builder.js.map
49
+ //# sourceMappingURL=environment-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-manager.js","sourceRoot":"","sources":["../../src/delegator/environment-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AAuBlD,MAAM,OAAO,kBAAkB;IACrB,OAAO,CAAS;IAChB,QAAQ,CAA0B;IAE1C,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,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,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,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,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,GAAG,EAAE,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,YAAoB;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACjD,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAqB;QACtC,OAAO,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;CACF"}
@@ -1,42 +1,25 @@
1
1
  /**
2
2
  * HTTP Client for sending AWCP messages to Executor
3
3
  */
4
- import type { AwcpMessage, AcceptMessage, ErrorMessage, TaskEvent, TaskResultResponse } from '@awcp/core';
4
+ import type { AwcpMessage, AcceptMessage, ErrorMessage, TaskEvent } from '@awcp/core';
5
5
  export type InviteResponse = AcceptMessage | ErrorMessage;
6
- export interface ExecutorClientOptions {
7
- timeout?: number;
8
- sseMaxRetries?: number;
9
- sseRetryDelayMs?: number;
6
+ export interface TaskEventStream {
7
+ events: AsyncIterable<TaskEvent>;
8
+ abort: () => void;
10
9
  }
11
10
  export declare class ExecutorClient {
12
11
  private timeout;
13
12
  private sseMaxRetries;
14
13
  private sseRetryDelayMs;
15
- constructor(options?: ExecutorClientOptions);
16
- /**
17
- * Send INVITE to Executor and get ACCEPT/ERROR response
18
- */
14
+ constructor(timeout: number, sseMaxRetries: number, sseRetryDelayMs: number);
19
15
  sendInvite(executorUrl: string, message: AwcpMessage): Promise<InviteResponse>;
20
- /**
21
- * Send START to Executor (async, no response expected)
22
- */
23
16
  sendStart(executorUrl: string, message: AwcpMessage): Promise<void>;
24
17
  /**
25
- * Subscribe to task events via SSE with retry
26
- */
27
- subscribeTask(executorUrl: string, delegationId: string): AsyncIterable<TaskEvent>;
28
- private readSSE;
29
- /**
30
- * Request Executor to cancel a delegation
18
+ * Establish SSE connection with retry. Resolves once connected.
31
19
  */
20
+ connectTaskEvents(executorUrl: string, delegationId: string): Promise<TaskEventStream>;
21
+ private parseSSEStream;
32
22
  sendCancel(executorUrl: string, delegationId: string): Promise<void>;
33
- /**
34
- * Fetch task result from Executor (for offline recovery)
35
- */
36
- fetchResult(executorUrl: string, delegationId: string): Promise<TaskResultResponse>;
37
- /**
38
- * Acknowledge result receipt to Executor
39
- */
40
23
  acknowledgeResult(executorUrl: string, delegationId: string): Promise<void>;
41
24
  private send;
42
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"executor-client.d.ts","sourceRoot":"","sources":["../../src/delegator/executor-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE1G,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,YAAY,CAAC;AAE1D,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAS;gBAEpB,OAAO,CAAC,EAAE,qBAAqB;IAM3C;;OAEG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;IAMpF;;OAEG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzE;;OAEG;IACI,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC;YAkB1E,OAAO;IAgDtB;;OAEG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB1E;;OAEG;IACG,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAkBzF;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAiBnE,IAAI;CAwBnB"}
1
+ {"version":3,"file":"executor-client.d.ts","sourceRoot":"","sources":["../../src/delegator/executor-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEtF,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,YAAY,CAAC;AAE1D,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACjC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAS;gBAEpB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;IAMrE,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;IAM9E,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzE;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;YA2C7E,cAAc;IAoCvB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBpE,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAiBnE,IAAI;CAwBnB"}
@@ -5,57 +5,62 @@ export class ExecutorClient {
5
5
  timeout;
6
6
  sseMaxRetries;
7
7
  sseRetryDelayMs;
8
- constructor(options) {
9
- this.timeout = options?.timeout ?? 30000;
10
- this.sseMaxRetries = options?.sseMaxRetries ?? 3;
11
- this.sseRetryDelayMs = options?.sseRetryDelayMs ?? 2000;
8
+ constructor(timeout, sseMaxRetries, sseRetryDelayMs) {
9
+ this.timeout = timeout;
10
+ this.sseMaxRetries = sseMaxRetries;
11
+ this.sseRetryDelayMs = sseRetryDelayMs;
12
12
  }
13
- /**
14
- * Send INVITE to Executor and get ACCEPT/ERROR response
15
- */
16
13
  async sendInvite(executorUrl, message) {
17
14
  const response = await this.send(executorUrl, message);
18
15
  const data = await response.json();
19
16
  return data;
20
17
  }
21
- /**
22
- * Send START to Executor (async, no response expected)
23
- */
24
18
  async sendStart(executorUrl, message) {
25
19
  await this.send(executorUrl, message);
26
20
  }
27
21
  /**
28
- * Subscribe to task events via SSE with retry
22
+ * Establish SSE connection with retry. Resolves once connected.
29
23
  */
30
- async *subscribeTask(executorUrl, delegationId) {
24
+ async connectTaskEvents(executorUrl, delegationId) {
31
25
  const baseUrl = executorUrl.replace(/\/$/, '').replace(/\/awcp$/, '');
32
26
  const url = `${baseUrl}/awcp/tasks/${delegationId}/events`;
27
+ const controller = new AbortController();
33
28
  let retries = 0;
34
29
  while (retries < this.sseMaxRetries) {
35
30
  try {
36
- yield* this.readSSE(url);
37
- return;
31
+ console.log(`[AWCP:Client] SSE connecting to ${url} (attempt ${retries + 1}/${this.sseMaxRetries})`);
32
+ const response = await fetch(url, {
33
+ headers: { Accept: 'text/event-stream' },
34
+ signal: controller.signal,
35
+ });
36
+ if (!response.ok) {
37
+ throw new Error(`SSE connection failed: ${response.status} ${response.statusText}`);
38
+ }
39
+ if (!response.body) {
40
+ throw new Error('SSE connection failed: no response body');
41
+ }
42
+ console.log(`[AWCP:Client] SSE connected for ${delegationId}`);
43
+ return {
44
+ events: this.parseSSEStream(response.body),
45
+ abort: () => controller.abort(),
46
+ };
38
47
  }
39
48
  catch (error) {
40
49
  retries++;
41
- if (retries >= this.sseMaxRetries)
50
+ const msg = error instanceof Error ? error.message : String(error);
51
+ if (retries >= this.sseMaxRetries || controller.signal.aborted) {
52
+ console.error(`[AWCP:Client] SSE failed after ${retries} attempts for ${delegationId}: ${msg}`);
42
53
  throw error;
43
- console.log(`[AWCP:Client] SSE retry ${retries}/${this.sseMaxRetries} for ${delegationId}`);
44
- await new Promise(r => setTimeout(r, this.sseRetryDelayMs * retries));
54
+ }
55
+ const delayMs = this.sseRetryDelayMs * retries;
56
+ console.warn(`[AWCP:Client] SSE attempt ${retries} failed for ${delegationId}: ${msg}, retrying in ${delayMs}ms`);
57
+ await new Promise(r => setTimeout(r, delayMs));
45
58
  }
46
59
  }
60
+ throw new Error(`SSE connection failed after ${this.sseMaxRetries} attempts`);
47
61
  }
48
- async *readSSE(url) {
49
- const response = await fetch(url, {
50
- headers: { Accept: 'text/event-stream' },
51
- });
52
- if (!response.ok) {
53
- throw new Error(`SSE connection failed: ${response.status} ${response.statusText}`);
54
- }
55
- if (!response.body) {
56
- throw new Error('SSE connection failed: no response body');
57
- }
58
- const reader = response.body.getReader();
62
+ async *parseSSEStream(body) {
63
+ const reader = body.getReader();
59
64
  const decoder = new TextDecoder();
60
65
  let buffer = '';
61
66
  try {
@@ -89,9 +94,6 @@ export class ExecutorClient {
89
94
  reader.releaseLock();
90
95
  }
91
96
  }
92
- /**
93
- * Request Executor to cancel a delegation
94
- */
95
97
  async sendCancel(executorUrl, delegationId) {
96
98
  const cancelUrl = executorUrl.replace(/\/$/, '') + `/cancel/${delegationId}`;
97
99
  const controller = new AbortController();
@@ -111,28 +113,6 @@ export class ExecutorClient {
111
113
  clearTimeout(timeoutId);
112
114
  }
113
115
  }
114
- /**
115
- * Fetch task result from Executor (for offline recovery)
116
- */
117
- async fetchResult(executorUrl, delegationId) {
118
- const baseUrl = executorUrl.replace(/\/$/, '').replace(/\/awcp$/, '');
119
- const url = `${baseUrl}/awcp/tasks/${delegationId}/result`;
120
- const controller = new AbortController();
121
- const timeoutId = setTimeout(() => controller.abort(), this.timeout);
122
- try {
123
- const response = await fetch(url, {
124
- headers: { 'Content-Type': 'application/json' },
125
- signal: controller.signal,
126
- });
127
- return await response.json();
128
- }
129
- finally {
130
- clearTimeout(timeoutId);
131
- }
132
- }
133
- /**
134
- * Acknowledge result receipt to Executor
135
- */
136
116
  async acknowledgeResult(executorUrl, delegationId) {
137
117
  const baseUrl = executorUrl.replace(/\/$/, '').replace(/\/awcp$/, '');
138
118
  const url = `${baseUrl}/awcp/tasks/${delegationId}/ack`;
@@ -1 +1 @@
1
- {"version":3,"file":"executor-client.js","sourceRoot":"","sources":["../../src/delegator/executor-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor-client.js","sourceRoot":"","sources":["../../src/delegator/executor-client.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- export { DelegatorService, type DelegatorServiceOptions } from './service.js';
2
- export { type DelegatorConfig, type SnapshotConfig, type AdmissionConfig, type DelegationDefaults, type DelegatorHooks, type ResolvedDelegatorConfig, type ResolvedSnapshotConfig, DEFAULT_ADMISSION, DEFAULT_SNAPSHOT, DEFAULT_DELEGATION, resolveDelegatorConfig, } from './config.js';
1
+ export { DelegatorService, type DelegatorServiceOptions, type DelegatorRequestHandler, type DelegatorServiceStatus, type DelegatorDelegationInfo } from './service.js';
2
+ export { type DelegatorConfig, type DelegatorAdmissionConfig, type DelegationConfig, type DelegateParams, type DelegatorHooks, type ResolvedDelegatorConfig, DEFAULT_ADMISSION, DEFAULT_DELEGATION, 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
- export { AdmissionController, type AdmissionResult, type WorkspaceStats } from './admission.js';
6
- export { EnvironmentBuilder, type EnvironmentManifest, type EnvironmentBuildResult, type EnvironmentBuilderConfig } from './environment-builder.js';
5
+ export { AdmissionController, type WorkspaceStats } from './admission.js';
6
+ export { DelegationManager, type DelegationManagerConfig } from './delegation-manager.js';
7
+ export { EnvironmentManager, type EnvironmentManifest, type EnvironmentBuildResult, type EnvironmentManagerConfig } from './environment-manager.js';
7
8
  export { ExecutorClient, type InviteResponse } from './executor-client.js';
8
9
  export { type ResourceAdapter, ResourceAdapterRegistry, FsResourceAdapter } from './resource-adapters/index.js';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/delegator/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,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,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChG,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/delegator/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,KAAK,uBAAuB,EAAE,KAAK,sBAAsB,EAAE,KAAK,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvK,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,iBAAiB,EACjB,kBAAkB,EAClB,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,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAC1F,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"}
@@ -1,12 +1,13 @@
1
1
  // High-level API
2
2
  export { DelegatorService } from './service.js';
3
- export { DEFAULT_ADMISSION, DEFAULT_SNAPSHOT, DEFAULT_DELEGATION, resolveDelegatorConfig, } from './config.js';
3
+ export { DEFAULT_ADMISSION, DEFAULT_DELEGATION, resolveDelegatorConfig, } from './config.js';
4
4
  // Daemon mode
5
5
  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 { EnvironmentBuilder } from './environment-builder.js';
9
+ export { DelegationManager } from './delegation-manager.js';
10
+ export { EnvironmentManager } from './environment-manager.js';
10
11
  export { ExecutorClient } from './executor-client.js';
11
12
  export { ResourceAdapterRegistry, FsResourceAdapter } from './resource-adapters/index.js';
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/delegator/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,gBAAgB,EAAgC,MAAM,cAAc,CAAC;AAC9E,OAAO,EAQL,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,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,EAA6C,MAAM,gBAAgB,CAAC;AAChG,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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/delegator/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,gBAAgB,EAAyH,MAAM,cAAc,CAAC;AACvK,OAAO,EAOL,iBAAiB,EACjB,kBAAkB,EAClB,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,EAAuB,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAgC,MAAM,yBAAyB,CAAC;AAC1F,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"}
@@ -3,8 +3,25 @@
3
3
  *
4
4
  * Manages the AWCP delegation protocol on the Delegator side.
5
5
  */
6
- import { type Delegation, type AcceptMessage, type DoneMessage, type ErrorMessage, type AwcpMessage, type DelegatorServiceStatus, type DelegatorRequestHandler, type DelegateParams, type EnvironmentSnapshot } from '@awcp/core';
7
- import { type DelegatorConfig } from './config.js';
6
+ import { type Delegation, type AcceptMessage, type DoneMessage, type ErrorMessage, type EnvironmentSnapshot, type EnvironmentSpec } from '@awcp/core';
7
+ import { type DelegatorConfig, type DelegateParams } from './config.js';
8
+ export interface DelegatorDelegationInfo {
9
+ id: string;
10
+ state: string;
11
+ executorUrl: string;
12
+ environment: EnvironmentSpec;
13
+ createdAt: string;
14
+ }
15
+ export interface DelegatorServiceStatus {
16
+ activeDelegations: number;
17
+ delegations: DelegatorDelegationInfo[];
18
+ }
19
+ export interface DelegatorRequestHandler {
20
+ delegate(params: DelegateParams): Promise<string>;
21
+ cancel(delegationId: string): Promise<void>;
22
+ getDelegation(delegationId: string): Delegation | undefined;
23
+ getStatus(): DelegatorServiceStatus;
24
+ }
8
25
  export interface DelegatorServiceOptions {
9
26
  config: DelegatorConfig;
10
27
  }
@@ -12,33 +29,30 @@ export declare class DelegatorService implements DelegatorRequestHandler {
12
29
  private config;
13
30
  private transport;
14
31
  private admissionController;
15
- private environmentBuilder;
16
- private snapshotStore;
32
+ private delegationManager;
33
+ private environmentManager;
34
+ private snapshotManager;
17
35
  private executorClient;
18
36
  private delegations;
19
37
  private stateMachines;
20
- private executorUrls;
21
38
  private cleanupTimer?;
22
39
  constructor(options: DelegatorServiceOptions);
40
+ initialize(): Promise<void>;
41
+ shutdown(): Promise<void>;
23
42
  delegate(params: DelegateParams): Promise<string>;
24
43
  handleAccept(message: AcceptMessage): Promise<void>;
25
- private subscribeToTaskEvents;
26
- private handleTaskEvent;
27
- private handleSnapshotEvent;
28
- private applySnapshotToWorkspace;
29
44
  handleDone(message: DoneMessage): Promise<void>;
30
45
  handleError(message: ErrorMessage): Promise<void>;
31
- handleMessage(message: AwcpMessage): Promise<void>;
46
+ private consumeTaskEvents;
47
+ private handleTaskEvent;
48
+ private handleSnapshotEvent;
32
49
  cancel(delegationId: string): Promise<void>;
33
50
  getDelegation(delegationId: string): Delegation | undefined;
34
51
  listSnapshots(delegationId: string): EnvironmentSnapshot[];
35
52
  applySnapshot(delegationId: string, snapshotId: string): Promise<void>;
36
53
  discardSnapshot(delegationId: string, snapshotId: string): Promise<void>;
37
- waitForCompletion(delegationId: string, timeoutMs?: number): Promise<Delegation>;
38
54
  getStatus(): DelegatorServiceStatus;
39
- stop(): void;
40
- private shouldCleanup;
41
- private cleanup;
55
+ private persistDelegation;
42
56
  private startCleanupTimer;
43
57
  private transitionState;
44
58
  private validateAndNormalizePath;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/delegator/service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,KAAK,UAAU,EAGf,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,EAIhB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,mBAAmB,EAUzB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,eAAe,EAAwD,MAAM,aAAa,CAAC;AAMzG,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,qBAAa,gBAAiB,YAAW,uBAAuB;IAC9D,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,aAAa,CAA6C;IAClE,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,YAAY,CAAC,CAAiC;gBAE1C,OAAO,EAAE,uBAAuB;IA2BtC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAwFjD,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;YAiD3C,qBAAqB;YAwBrB,eAAe;YA2Cf,mBAAmB;YAmDnB,wBAAwB;IAuBhC,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC/C,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBjD,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBlD,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjD,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI3D,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAMpD,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBtE,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBxE,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,GAAE,MAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IA4B7F,SAAS,IAAI,sBAAsB;IAanC,IAAI,IAAI,IAAI;IAOZ,OAAO,CAAC,aAAa;YAOP,OAAO;IAOrB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,eAAe;YAcT,wBAAwB;CA+BvC"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/delegator/service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,KAAK,UAAU,EAGf,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EAIjB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EAUrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,eAAe,EAAgC,KAAK,cAAc,EAA0B,MAAM,aAAa,CAAC;AAO9H,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,eAAe,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,uBAAuB,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC5D,SAAS,IAAI,sBAAsB,CAAC;CACrC;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,qBAAa,gBAAiB,YAAW,uBAAuB;IAC9D,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,aAAa,CAA6C;IAClE,OAAO,CAAC,YAAY,CAAC,CAAiC;gBAE1C,OAAO,EAAE,uBAAuB;IA4BtC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAYzB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAmHjD,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA2DnD,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B/C,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;YAgCzC,iBAAiB;YA6BjB,eAAe;YA4Cf,mBAAmB;IAY3B,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAajD,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI3D,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAMpD,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtE,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9E,SAAS,IAAI,sBAAsB;YAarB,iBAAiB;IAO/B,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,eAAe;YAgBT,wBAAwB;CA+BvC"}