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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/delegator/bin/client.d.ts +8 -9
  2. package/dist/delegator/bin/client.d.ts.map +1 -1
  3. package/dist/delegator/bin/client.js +3 -1
  4. package/dist/delegator/bin/client.js.map +1 -1
  5. package/dist/delegator/bin/daemon.js +4 -4
  6. package/dist/delegator/bin/daemon.js.map +1 -1
  7. package/dist/delegator/config.d.ts +6 -13
  8. package/dist/delegator/config.d.ts.map +1 -1
  9. package/dist/delegator/config.js +1 -5
  10. package/dist/delegator/config.js.map +1 -1
  11. package/dist/delegator/environment-builder.d.ts +45 -0
  12. package/dist/delegator/environment-builder.d.ts.map +1 -0
  13. package/dist/delegator/environment-builder.js +102 -0
  14. package/dist/delegator/environment-builder.js.map +1 -0
  15. package/dist/delegator/index.d.ts +3 -2
  16. package/dist/delegator/index.d.ts.map +1 -1
  17. package/dist/delegator/index.js +2 -1
  18. package/dist/delegator/index.js.map +1 -1
  19. package/dist/delegator/resource-adapters/fs-adapter.d.ts +8 -0
  20. package/dist/delegator/resource-adapters/fs-adapter.d.ts.map +1 -0
  21. package/dist/delegator/resource-adapters/fs-adapter.js +14 -0
  22. package/dist/delegator/resource-adapters/fs-adapter.js.map +1 -0
  23. package/dist/delegator/resource-adapters/index.d.ts +4 -0
  24. package/dist/delegator/resource-adapters/index.d.ts.map +1 -0
  25. package/dist/delegator/resource-adapters/index.js +3 -0
  26. package/dist/delegator/resource-adapters/index.js.map +1 -0
  27. package/dist/delegator/resource-adapters/registry.d.ts +8 -0
  28. package/dist/delegator/resource-adapters/registry.d.ts.map +1 -0
  29. package/dist/delegator/resource-adapters/registry.js +17 -0
  30. package/dist/delegator/resource-adapters/registry.js.map +1 -0
  31. package/dist/delegator/resource-adapters/types.d.ts +7 -0
  32. package/dist/delegator/resource-adapters/types.d.ts.map +1 -0
  33. package/dist/delegator/resource-adapters/types.js +2 -0
  34. package/dist/delegator/resource-adapters/types.js.map +1 -0
  35. package/dist/delegator/service.d.ts +4 -4
  36. package/dist/delegator/service.d.ts.map +1 -1
  37. package/dist/delegator/service.js +26 -29
  38. package/dist/delegator/service.js.map +1 -1
  39. package/dist/executor/config.d.ts +2 -1
  40. package/dist/executor/config.d.ts.map +1 -1
  41. package/dist/executor/config.js.map +1 -1
  42. package/dist/executor/service.d.ts.map +1 -1
  43. package/dist/executor/service.js +4 -3
  44. package/dist/executor/service.js.map +1 -1
  45. package/dist/index.d.ts +1 -1
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +1 -1
  48. package/dist/index.js.map +1 -1
  49. package/package.json +2 -2
  50. package/dist/delegator/export-manager.d.ts +0 -27
  51. package/dist/delegator/export-manager.d.ts.map +0 -1
  52. package/dist/delegator/export-manager.js +0 -85
  53. package/dist/delegator/export-manager.js.map +0 -1
  54. package/dist/delegator/export-view.d.ts +0 -43
  55. package/dist/delegator/export-view.d.ts.map +0 -1
  56. package/dist/delegator/export-view.js +0 -108
  57. package/dist/delegator/export-view.js.map +0 -1
@@ -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":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAYjC;;GAEG;AACH,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAe;IACrB,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE5C,YAAY,MAAqB;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,YAAoB,EAAE,QAAgB;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,mBAAmB,CAAC;QAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QAE5D,oCAAoC;QACpC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9D,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,SAAS,CAAC;QAEnD,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,SAAS;gBACZ,MAAM,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACpC,MAAM;YAER,KAAK,MAAM;gBACT,kCAAkC;gBAClC,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;gBACpE,MAAM,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACpC,MAAM;YAER,KAAK,UAAU;gBACb,mCAAmC;gBACnC,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;gBACtE,MAAM,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACpC,MAAM;QACV,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAE3C,kEAAkE;QAClE,mDAAmD;QACnD,OAAO,UAAU,GAAG,GAAG,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,YAAoB;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,mBAAmB,CAAC;YAC3D,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAElD,MAAM,EAAE,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,YAAY,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,YAAoB;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/C,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,mBAAmB,CAAC;QAC3D,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAChE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;oBAChC,+CAA+C;oBAC/C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;wBACpC,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;wBACxE,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}