@agent-vm/agent-vm 0.0.31 → 0.0.32

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 (144) hide show
  1. package/dist/backup/backup-create-operation.d.ts +3 -1
  2. package/dist/backup/backup-create-operation.d.ts.map +1 -1
  3. package/dist/backup/backup-create-operation.js +49 -14
  4. package/dist/backup/backup-create-operation.js.map +1 -1
  5. package/dist/backup/backup-manager.d.ts +8 -6
  6. package/dist/backup/backup-manager.d.ts.map +1 -1
  7. package/dist/backup/backup-manager.js +7 -5
  8. package/dist/backup/backup-manager.js.map +1 -1
  9. package/dist/backup/backup-restore-operation.d.ts +1 -1
  10. package/dist/backup/backup-restore-operation.d.ts.map +1 -1
  11. package/dist/backup/backup-restore-operation.js +13 -9
  12. package/dist/backup/backup-restore-operation.js.map +1 -1
  13. package/dist/build/docker-image-builder.d.ts.map +1 -1
  14. package/dist/build/docker-image-builder.js +12 -6
  15. package/dist/build/docker-image-builder.js.map +1 -1
  16. package/dist/cli/backup-commands.d.ts.map +1 -1
  17. package/dist/cli/backup-commands.js +4 -2
  18. package/dist/cli/backup-commands.js.map +1 -1
  19. package/dist/cli/commands/controller-definition.d.ts +86 -68
  20. package/dist/cli/commands/controller-definition.d.ts.map +1 -1
  21. package/dist/cli/commands/controller-definition.js +20 -0
  22. package/dist/cli/commands/controller-definition.js.map +1 -1
  23. package/dist/cli/commands/create-app.d.ts +86 -68
  24. package/dist/cli/commands/create-app.d.ts.map +1 -1
  25. package/dist/cli/commands/init-definition.d.ts.map +1 -1
  26. package/dist/cli/commands/init-definition.js +3 -1
  27. package/dist/cli/commands/init-definition.js.map +1 -1
  28. package/dist/cli/commands/paths-definition.d.ts.map +1 -1
  29. package/dist/cli/commands/paths-definition.js +9 -4
  30. package/dist/cli/commands/paths-definition.js.map +1 -1
  31. package/dist/cli/controller-operation-commands.d.ts.map +1 -1
  32. package/dist/cli/controller-operation-commands.js +70 -11
  33. package/dist/cli/controller-operation-commands.js.map +1 -1
  34. package/dist/cli/init-command.d.ts.map +1 -1
  35. package/dist/cli/init-command.js +45 -28
  36. package/dist/cli/init-command.js.map +1 -1
  37. package/dist/cli/lease-commands.d.ts.map +1 -1
  38. package/dist/cli/lease-commands.js +8 -0
  39. package/dist/cli/lease-commands.js.map +1 -1
  40. package/dist/cli/run-task.js +1 -1
  41. package/dist/cli/vm-host-system-templates.d.ts +1 -0
  42. package/dist/cli/vm-host-system-templates.d.ts.map +1 -1
  43. package/dist/cli/vm-host-system-templates.js +2 -2
  44. package/dist/cli/vm-host-system-templates.js.map +1 -1
  45. package/dist/config/system-config.d.ts +22 -9
  46. package/dist/config/system-config.d.ts.map +1 -1
  47. package/dist/config/system-config.js +72 -14
  48. package/dist/config/system-config.js.map +1 -1
  49. package/dist/controller/active-task-registry.d.ts +14 -2
  50. package/dist/controller/active-task-registry.d.ts.map +1 -1
  51. package/dist/controller/active-task-registry.js +14 -0
  52. package/dist/controller/active-task-registry.js.map +1 -1
  53. package/dist/controller/controller-runtime.d.ts.map +1 -1
  54. package/dist/controller/controller-runtime.js +27 -8
  55. package/dist/controller/controller-runtime.js.map +1 -1
  56. package/dist/controller/git-pull-default-operations.d.ts +101 -9
  57. package/dist/controller/git-pull-default-operations.d.ts.map +1 -1
  58. package/dist/controller/git-pull-default-operations.js +405 -68
  59. package/dist/controller/git-pull-default-operations.js.map +1 -1
  60. package/dist/controller/git-push-operations.d.ts +2 -0
  61. package/dist/controller/git-push-operations.d.ts.map +1 -1
  62. package/dist/controller/git-push-operations.js +267 -76
  63. package/dist/controller/git-push-operations.js.map +1 -1
  64. package/dist/controller/git-retry-support.d.ts +21 -0
  65. package/dist/controller/git-retry-support.d.ts.map +1 -0
  66. package/dist/controller/git-retry-support.js +60 -0
  67. package/dist/controller/git-retry-support.js.map +1 -0
  68. package/dist/controller/http/controller-client.d.ts +2 -0
  69. package/dist/controller/http/controller-client.d.ts.map +1 -1
  70. package/dist/controller/http/controller-client.js +13 -0
  71. package/dist/controller/http/controller-client.js.map +1 -1
  72. package/dist/controller/http/controller-http-route-support.d.ts +7 -2
  73. package/dist/controller/http/controller-http-route-support.d.ts.map +1 -1
  74. package/dist/controller/http/controller-http-route-support.js +17 -1
  75. package/dist/controller/http/controller-http-route-support.js.map +1 -1
  76. package/dist/controller/http/controller-http-routes.d.ts +4 -1
  77. package/dist/controller/http/controller-http-routes.d.ts.map +1 -1
  78. package/dist/controller/http/controller-http-routes.js +33 -6
  79. package/dist/controller/http/controller-http-routes.js.map +1 -1
  80. package/dist/controller/http/controller-lease-response-types.d.ts +17 -0
  81. package/dist/controller/http/controller-lease-response-types.d.ts.map +1 -0
  82. package/dist/controller/http/controller-lease-response-types.js +16 -0
  83. package/dist/controller/http/controller-lease-response-types.js.map +1 -0
  84. package/dist/controller/http/controller-request-schemas.d.ts +84 -13
  85. package/dist/controller/http/controller-request-schemas.d.ts.map +1 -1
  86. package/dist/controller/http/controller-request-schemas.js +110 -9
  87. package/dist/controller/http/controller-request-schemas.js.map +1 -1
  88. package/dist/controller/http/controller-zone-operation-routes.d.ts.map +1 -1
  89. package/dist/controller/http/controller-zone-operation-routes.js +10 -3
  90. package/dist/controller/http/controller-zone-operation-routes.js.map +1 -1
  91. package/dist/controller/leases/idle-reaper.d.ts +3 -1
  92. package/dist/controller/leases/idle-reaper.d.ts.map +1 -1
  93. package/dist/controller/leases/idle-reaper.js +3 -2
  94. package/dist/controller/leases/idle-reaper.js.map +1 -1
  95. package/dist/controller/leases/lease-manager.d.ts +18 -9
  96. package/dist/controller/leases/lease-manager.d.ts.map +1 -1
  97. package/dist/controller/leases/lease-manager.js +155 -57
  98. package/dist/controller/leases/lease-manager.js.map +1 -1
  99. package/dist/controller/leases/lease-workspace-paths.d.ts +14 -0
  100. package/dist/controller/leases/lease-workspace-paths.d.ts.map +1 -0
  101. package/dist/controller/leases/lease-workspace-paths.js +104 -0
  102. package/dist/controller/leases/lease-workspace-paths.js.map +1 -0
  103. package/dist/controller/runtime-instructions-builder.d.ts +1 -2
  104. package/dist/controller/runtime-instructions-builder.d.ts.map +1 -1
  105. package/dist/controller/runtime-instructions-builder.js +8 -9
  106. package/dist/controller/runtime-instructions-builder.js.map +1 -1
  107. package/dist/controller/task-config-builder.d.ts +2 -1
  108. package/dist/controller/task-config-builder.d.ts.map +1 -1
  109. package/dist/controller/task-config-builder.js +2 -1
  110. package/dist/controller/task-config-builder.js.map +1 -1
  111. package/dist/controller/worker-task-runner.d.ts +10 -4
  112. package/dist/controller/worker-task-runner.d.ts.map +1 -1
  113. package/dist/controller/worker-task-runner.js +147 -44
  114. package/dist/controller/worker-task-runner.js.map +1 -1
  115. package/dist/gateway/gateway-zone-orchestrator.d.ts.map +1 -1
  116. package/dist/gateway/gateway-zone-orchestrator.js +4 -2
  117. package/dist/gateway/gateway-zone-orchestrator.js.map +1 -1
  118. package/dist/gateway/gateway-zone-support.d.ts.map +1 -1
  119. package/dist/gateway/gateway-zone-support.js +18 -10
  120. package/dist/gateway/gateway-zone-support.js.map +1 -1
  121. package/dist/operations/config-validation.d.ts +1 -0
  122. package/dist/operations/config-validation.d.ts.map +1 -1
  123. package/dist/operations/config-validation.js +7 -3
  124. package/dist/operations/config-validation.js.map +1 -1
  125. package/dist/operations/destroy-zone.d.ts.map +1 -1
  126. package/dist/operations/destroy-zone.js +8 -1
  127. package/dist/operations/destroy-zone.js.map +1 -1
  128. package/dist/operations/doctor.d.ts +4 -0
  129. package/dist/operations/doctor.d.ts.map +1 -1
  130. package/dist/operations/doctor.js +127 -4
  131. package/dist/operations/doctor.js.map +1 -1
  132. package/dist/operations/runtime-config-paths.d.ts +4 -0
  133. package/dist/operations/runtime-config-paths.d.ts.map +1 -0
  134. package/dist/operations/runtime-config-paths.js +6 -0
  135. package/dist/operations/runtime-config-paths.js.map +1 -0
  136. package/dist/perf/gondolin-vfs-benchmark-support.d.ts +28 -0
  137. package/dist/perf/gondolin-vfs-benchmark-support.d.ts.map +1 -0
  138. package/dist/perf/gondolin-vfs-benchmark-support.js +50 -0
  139. package/dist/perf/gondolin-vfs-benchmark-support.js.map +1 -0
  140. package/dist/tool-vm/tool-vm-lifecycle.d.ts +5 -7
  141. package/dist/tool-vm/tool-vm-lifecycle.d.ts.map +1 -1
  142. package/dist/tool-vm/tool-vm-lifecycle.js +32 -27
  143. package/dist/tool-vm/tool-vm-lifecycle.js.map +1 -1
  144. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"controller-zone-operation-routes.js","sourceRoot":"","sources":["../../../src/controller/http/controller-zone-operation-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller-zone-operation-routes.js","sourceRoot":"","sources":["../../../src/controller/http/controller-zone-operation-routes.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,9 @@ export declare function createIdleReaper(options: {
4
4
  readonly lastUsedAt: number;
5
5
  }[];
6
6
  readonly now: () => number;
7
- readonly releaseLease: (leaseId: string) => Promise<void>;
7
+ readonly releaseLease: (leaseId: string, options?: {
8
+ readonly ifLastUsedAtBeforeOrAt?: number;
9
+ }) => Promise<void>;
8
10
  readonly ttlMs: number;
9
11
  }): {
10
12
  reapExpiredLeases(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"idle-reaper.d.ts","sourceRoot":"","sources":["../../../src/controller/leases/idle-reaper.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM;QACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;KAC5B,EAAE,CAAC;IACJ,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB,GAAG;IACH,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC,CAaA"}
1
+ {"version":3,"file":"idle-reaper.d.ts","sourceRoot":"","sources":["../../../src/controller/leases/idle-reaper.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM;QACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;KAC5B,EAAE,CAAC;IACJ,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,CACtB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;KAAE,KAClD,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB,GAAG;IACH,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC,CAcA"}
@@ -1,13 +1,14 @@
1
1
  export function createIdleReaper(options) {
2
2
  return {
3
3
  async reapExpiredLeases() {
4
+ const expirationCutoff = options.now() - options.ttlMs;
4
5
  const expiredLeaseIds = options
5
6
  .getLeases()
6
- .filter((lease) => options.now() - lease.lastUsedAt > options.ttlMs)
7
+ .filter((lease) => lease.lastUsedAt < expirationCutoff)
7
8
  .map((lease) => lease.id);
8
9
  for (const leaseId of expiredLeaseIds) {
9
10
  // oxlint-disable-next-line eslint/no-await-in-loop -- release must stay sequential to avoid TCP pool races
10
- await options.releaseLease(leaseId);
11
+ await options.releaseLease(leaseId, { ifLastUsedAtBeforeOrAt: expirationCutoff });
11
12
  }
12
13
  },
13
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"idle-reaper.js","sourceRoot":"","sources":["../../../src/controller/leases/idle-reaper.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAC,OAQhC;IAGA,OAAO;QACN,KAAK,CAAC,iBAAiB;YACtB,MAAM,eAAe,GAAG,OAAO;iBAC7B,SAAS,EAAE;iBACX,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;iBACnE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3B,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;gBACvC,2GAA2G;gBAC3G,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"idle-reaper.js","sourceRoot":"","sources":["../../../src/controller/leases/idle-reaper.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAC,OAWhC;IAGA,OAAO;QACN,KAAK,CAAC,iBAAiB;YACtB,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;YACvD,MAAM,eAAe,GAAG,OAAO;iBAC7B,SAAS,EAAE;iBACX,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,gBAAgB,CAAC;iBACtD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3B,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;gBACvC,2GAA2G;gBAC3G,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACnF,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -4,10 +4,9 @@ export interface ToolProfile {
4
4
  readonly cpus: number;
5
5
  readonly imageProfile: string;
6
6
  readonly memory: string;
7
- readonly workspaceRoot: string;
8
7
  }
9
8
  export interface Lease {
10
- readonly cleanWorkspace?: () => Promise<void>;
9
+ readonly agentWorkspaceDir: string;
11
10
  readonly createdAt: number;
12
11
  readonly id: string;
13
12
  readonly lastUsedAt: number;
@@ -22,8 +21,18 @@ export interface Lease {
22
21
  };
23
22
  readonly tcpSlot: number;
24
23
  readonly vm: ManagedVm;
24
+ readonly workspaceDir: string;
25
25
  readonly zoneId: string;
26
26
  }
27
+ export interface LeaseRenewal {
28
+ readonly kind: 'renewed';
29
+ readonly lastUsedAt: number;
30
+ readonly lease: Lease;
31
+ }
32
+ export interface LeaseSnapshot {
33
+ readonly kind: 'snapshot';
34
+ readonly lease: Lease;
35
+ }
27
36
  export interface LeaseManager {
28
37
  createLease(options: {
29
38
  readonly agentWorkspaceDir: string;
@@ -33,16 +42,16 @@ export interface LeaseManager {
33
42
  readonly workspaceDir: string;
34
43
  readonly zoneId: string;
35
44
  }): Promise<Lease>;
36
- getLease(leaseId: string): Lease | undefined;
45
+ keepLeaseAlive(leaseId: string): LeaseRenewal | undefined;
37
46
  listLeases(): Lease[];
38
- releaseLease(leaseId: string): Promise<void>;
47
+ peekLease(leaseId: string): LeaseSnapshot | undefined;
48
+ releaseLease(leaseId: string, options?: {
49
+ readonly ifLastUsedAtBeforeOrAt?: number;
50
+ }): Promise<void>;
51
+ }
52
+ export declare class LeaseScopeConflictError extends Error {
39
53
  }
40
54
  export declare function createLeaseManager(options: {
41
- readonly cleanWorkspace?: (leaseOptions: {
42
- readonly profile: ToolProfile;
43
- readonly tcpSlot: number;
44
- readonly zoneId: string;
45
- }) => Promise<void>;
46
55
  readonly createManagedVm: (leaseOptions: {
47
56
  readonly agentWorkspaceDir: string;
48
57
  readonly profile: ToolProfile;
@@ -1 +1 @@
1
- {"version":3,"file":"lease-manager.d.ts","sourceRoot":"","sources":["../../../src/controller/leases/lease-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,KAAK;IACrB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE;QACnB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC5B,WAAW,CAAC,OAAO,EAAE;QACpB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;QACnC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;QAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;IAC7C,UAAU,IAAI,KAAK,EAAE,CAAC;IACtB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC3C,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE;QACxC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;QAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACxB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,QAAQ,CAAC,eAAe,EAAE,CAAC,YAAY,EAAE;QACxC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;QACnC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;QAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACxB,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC1B,GAAG,YAAY,CAiFf"}
1
+ {"version":3,"file":"lease-manager.d.ts","sourceRoot":"","sources":["../../../src/controller/leases/lease-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,KAAK;IACrB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE;QACnB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC5B,WAAW,CAAC,OAAO,EAAE;QACpB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;QACnC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;QAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACnB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;IAC1D,UAAU,IAAI,KAAK,EAAE,CAAC;IACtB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IACtD,YAAY,CACX,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;KAAE,GACpD,OAAO,CAAC,IAAI,CAAC,CAAC;CACjB;AAED,qBAAa,uBAAwB,SAAQ,KAAK;CAAG;AA6CrD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC3C,QAAQ,CAAC,eAAe,EAAE,CAAC,YAAY,EAAE;QACxC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;QACnC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;QAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACxB,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC1B,GAAG,YAAY,CAyKf"}
@@ -1,80 +1,178 @@
1
+ export class LeaseScopeConflictError extends Error {
2
+ }
3
+ function assertReusableScopeLease(existingLease, requestedLease) {
4
+ if (existingLease.profileId !== requestedLease.profileId) {
5
+ throw new LeaseScopeConflictError(`Tool VM lease scope conflict for zone '${requestedLease.zoneId}' scopeKey '${requestedLease.scopeKey}': existing profileId '${existingLease.profileId}' does not match requested profileId '${requestedLease.profileId}'.`);
6
+ }
7
+ if (existingLease.workspaceDir !== requestedLease.workspaceDir) {
8
+ throw new LeaseScopeConflictError(`Tool VM lease scope conflict for zone '${requestedLease.zoneId}' scopeKey '${requestedLease.scopeKey}': existing workspaceDir '${existingLease.workspaceDir}' does not match requested workspaceDir '${requestedLease.workspaceDir}'.`);
9
+ }
10
+ if (existingLease.agentWorkspaceDir !== requestedLease.agentWorkspaceDir) {
11
+ throw new LeaseScopeConflictError(`Tool VM lease scope conflict for zone '${requestedLease.zoneId}' scopeKey '${requestedLease.scopeKey}': existing agentWorkspaceDir '${existingLease.agentWorkspaceDir}' does not match requested agentWorkspaceDir '${requestedLease.agentWorkspaceDir}'.`);
12
+ }
13
+ }
14
+ async function isLeaseVmLive(lease) {
15
+ try {
16
+ const result = await lease.vm.exec('true');
17
+ return result.exitCode === 0;
18
+ }
19
+ catch {
20
+ return false;
21
+ }
22
+ }
23
+ function scopeIndexKey(scopeRequest) {
24
+ return `${scopeRequest.zoneId}\0${scopeRequest.scopeKey}`;
25
+ }
1
26
  export function createLeaseManager(options) {
2
27
  const leases = new Map();
28
+ const leaseIdsByScope = new Map();
29
+ const scopeLocks = new Map();
30
+ function storeLease(lease) {
31
+ leases.set(lease.id, lease);
32
+ leaseIdsByScope.set(scopeIndexKey(lease), lease.id);
33
+ }
34
+ function deleteLease(lease) {
35
+ leases.delete(lease.id);
36
+ const indexKey = scopeIndexKey(lease);
37
+ // Only clear the scope index if it still points at this exact lease.
38
+ if (leaseIdsByScope.get(indexKey) === lease.id) {
39
+ leaseIdsByScope.delete(indexKey);
40
+ }
41
+ }
42
+ function findLeaseForScope(scopeRequest) {
43
+ const leaseId = leaseIdsByScope.get(scopeIndexKey(scopeRequest));
44
+ return leaseId ? leases.get(leaseId) : undefined;
45
+ }
46
+ function touchLease(lease) {
47
+ const touchedLease = {
48
+ ...lease,
49
+ lastUsedAt: options.now(),
50
+ };
51
+ storeLease(touchedLease);
52
+ return touchedLease;
53
+ }
54
+ async function withScopeLock(scopeRequest, fn) {
55
+ const lockKey = `${scopeRequest.zoneId}\0${scopeRequest.scopeKey}`;
56
+ const previousLock = scopeLocks.get(lockKey) ?? Promise.resolve();
57
+ let releaseCurrentLock;
58
+ const currentLock = new Promise((resolve) => {
59
+ releaseCurrentLock = resolve;
60
+ });
61
+ scopeLocks.set(lockKey, currentLock);
62
+ await previousLock.catch(() => { });
63
+ try {
64
+ return await fn();
65
+ }
66
+ finally {
67
+ releaseCurrentLock?.();
68
+ if (scopeLocks.get(lockKey) === currentLock) {
69
+ scopeLocks.delete(lockKey);
70
+ }
71
+ }
72
+ }
73
+ async function evictLease(lease) {
74
+ deleteLease(lease);
75
+ options.tcpPool.release(lease.tcpSlot);
76
+ await lease.vm.close().catch(() => { });
77
+ }
3
78
  return {
4
79
  async createLease(leaseOptions) {
5
- const tcpSlot = options.tcpPool.allocate();
6
- try {
7
- const vm = await options.createManagedVm({
8
- ...leaseOptions,
9
- tcpSlot,
80
+ return await withScopeLock(leaseOptions, async () => {
81
+ const existingLease = findLeaseForScope({
82
+ scopeKey: leaseOptions.scopeKey,
83
+ zoneId: leaseOptions.zoneId,
10
84
  });
85
+ if (existingLease) {
86
+ assertReusableScopeLease(existingLease, leaseOptions);
87
+ if (await isLeaseVmLive(existingLease)) {
88
+ return touchLease(existingLease);
89
+ }
90
+ await evictLease(existingLease);
91
+ }
92
+ const tcpSlot = options.tcpPool.allocate();
11
93
  try {
12
- const sshAccess = await vm.enableSsh({
13
- listenPort: options.tcpPool.portForSlot(tcpSlot),
14
- });
15
- const createdAt = options.now();
16
- const lease = {
17
- ...(options.cleanWorkspace
18
- ? {
19
- cleanWorkspace: async () => await options.cleanWorkspace?.({
20
- profile: leaseOptions.profile,
21
- tcpSlot,
22
- zoneId: leaseOptions.zoneId,
23
- }),
24
- }
25
- : {}),
26
- createdAt,
27
- id: `${leaseOptions.zoneId}-${leaseOptions.scopeKey}-${createdAt}`,
28
- lastUsedAt: createdAt,
29
- profileId: leaseOptions.profileId,
30
- scopeKey: leaseOptions.scopeKey,
31
- sshAccess,
94
+ const vm = await options.createManagedVm({
95
+ ...leaseOptions,
32
96
  tcpSlot,
33
- vm,
34
- zoneId: leaseOptions.zoneId,
35
- };
36
- leases.set(lease.id, lease);
37
- return lease;
97
+ });
98
+ try {
99
+ const sshAccess = await vm.enableSsh({
100
+ listenPort: options.tcpPool.portForSlot(tcpSlot),
101
+ });
102
+ const createdAt = options.now();
103
+ const lease = {
104
+ agentWorkspaceDir: leaseOptions.agentWorkspaceDir,
105
+ createdAt,
106
+ id: `${leaseOptions.zoneId}-${leaseOptions.scopeKey}-${createdAt}`,
107
+ lastUsedAt: createdAt,
108
+ profileId: leaseOptions.profileId,
109
+ scopeKey: leaseOptions.scopeKey,
110
+ sshAccess,
111
+ tcpSlot,
112
+ vm,
113
+ workspaceDir: leaseOptions.workspaceDir,
114
+ zoneId: leaseOptions.zoneId,
115
+ };
116
+ storeLease(lease);
117
+ return lease;
118
+ }
119
+ catch (error) {
120
+ await vm.close().catch(() => { });
121
+ throw error;
122
+ }
38
123
  }
39
124
  catch (error) {
40
- await vm.close().catch(() => { });
125
+ options.tcpPool.release(tcpSlot);
41
126
  throw error;
42
127
  }
43
- }
44
- catch (error) {
45
- options.tcpPool.release(tcpSlot);
46
- throw error;
47
- }
128
+ });
48
129
  },
49
- getLease(leaseId) {
50
- return leases.get(leaseId);
130
+ keepLeaseAlive(leaseId) {
131
+ const lease = leases.get(leaseId);
132
+ if (!lease) {
133
+ return undefined;
134
+ }
135
+ const renewedLease = touchLease(lease);
136
+ return {
137
+ kind: 'renewed',
138
+ lastUsedAt: renewedLease.lastUsedAt,
139
+ lease: renewedLease,
140
+ };
51
141
  },
52
142
  listLeases() {
53
143
  return [...leases.values()];
54
144
  },
55
- async releaseLease(leaseId) {
145
+ peekLease(leaseId) {
146
+ const lease = leases.get(leaseId);
147
+ return lease ? { kind: 'snapshot', lease } : undefined;
148
+ },
149
+ async releaseLease(leaseId, releaseOptions) {
56
150
  const lease = leases.get(leaseId);
57
151
  if (!lease) {
58
152
  return;
59
153
  }
60
- let releaseError;
61
- try {
62
- await lease.vm.close();
63
- }
64
- catch (error) {
65
- releaseError = error instanceof Error ? error : new Error(String(error));
66
- }
67
- try {
68
- await lease.cleanWorkspace?.();
69
- }
70
- catch (error) {
71
- releaseError ??= error instanceof Error ? error : new Error(String(error));
72
- }
73
- leases.delete(leaseId);
74
- options.tcpPool.release(lease.tcpSlot);
75
- if (releaseError) {
76
- throw releaseError;
77
- }
154
+ await withScopeLock(lease, async () => {
155
+ const currentLease = leases.get(leaseId);
156
+ if (!currentLease) {
157
+ return;
158
+ }
159
+ if (releaseOptions?.ifLastUsedAtBeforeOrAt !== undefined &&
160
+ currentLease.lastUsedAt > releaseOptions.ifLastUsedAtBeforeOrAt) {
161
+ return;
162
+ }
163
+ let releaseError;
164
+ try {
165
+ await currentLease.vm.close();
166
+ }
167
+ catch (error) {
168
+ releaseError = error instanceof Error ? error : new Error(String(error));
169
+ }
170
+ deleteLease(currentLease);
171
+ options.tcpPool.release(currentLease.tcpSlot);
172
+ if (releaseError) {
173
+ throw releaseError;
174
+ }
175
+ });
78
176
  },
79
177
  };
80
178
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lease-manager.js","sourceRoot":"","sources":["../../../src/controller/leases/lease-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lease-manager.js","sourceRoot":"","sources":["../../../src/controller/leases/lease-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { SystemConfig } from '../../config/system-config.js';
2
+ type ZoneConfig = SystemConfig['zones'][number];
3
+ export declare class LeaseWorkspaceValidationError extends Error {
4
+ }
5
+ export declare function validateResolvedToolWorkspaceDir(options: {
6
+ readonly workspaceDir: string;
7
+ readonly zone: ZoneConfig;
8
+ }): Promise<string>;
9
+ export declare function resolveLeaseWorkspaceDir(options: {
10
+ readonly workspaceDir: string;
11
+ readonly zone: ZoneConfig;
12
+ }): Promise<string>;
13
+ export {};
14
+ //# sourceMappingURL=lease-workspace-paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lease-workspace-paths.d.ts","sourceRoot":"","sources":["../../../src/controller/leases/lease-workspace-paths.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAQlE,KAAK,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhD,qBAAa,6BAA8B,SAAQ,KAAK;CAAG;AA8E3D,wBAAsB,gCAAgC,CAAC,OAAO,EAAE;IAC/D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC1B,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBlB;AAED,wBAAsB,wBAAwB,CAAC,OAAO,EAAE;IACvD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC1B,GAAG,OAAO,CAAC,MAAM,CAAC,CAsClB"}
@@ -0,0 +1,104 @@
1
+ import fs from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ // These guest roots are mounted by the OpenClaw gateway image. Lease callers
4
+ // must speak in gateway paths; the controller owns translation to host paths.
5
+ const OPENCLAW_STATE_VM_ROOT = '/home/openclaw/.openclaw/state';
6
+ const OPENCLAW_STATE_SANDBOXES_VM_ROOT = `${OPENCLAW_STATE_VM_ROOT}/sandboxes`;
7
+ const OPENCLAW_ZONE_FILES_VM_ROOT = '/home/openclaw/zone-files';
8
+ export class LeaseWorkspaceValidationError extends Error {
9
+ }
10
+ function pathContainsParentTraversal(inputPath) {
11
+ return inputPath.split(/[\\/]+/u).includes('..');
12
+ }
13
+ function isPathWithin(candidatePath, rootPath) {
14
+ const relativePath = path.relative(rootPath, candidatePath);
15
+ return relativePath === '' || (!relativePath.startsWith('..') && !path.isAbsolute(relativePath));
16
+ }
17
+ function mapGuestPathToHostPath(options) {
18
+ const normalizedWorkspaceDir = path.posix.normalize(options.workspaceDir);
19
+ if (normalizedWorkspaceDir !== options.guestRoot &&
20
+ !normalizedWorkspaceDir.startsWith(`${options.guestRoot}/`)) {
21
+ return null;
22
+ }
23
+ const relativePath = path.posix.relative(options.guestRoot, normalizedWorkspaceDir);
24
+ return path.join(options.hostRoot, relativePath);
25
+ }
26
+ async function realpathIfDirectory(directoryPath) {
27
+ try {
28
+ return await fs.realpath(directoryPath);
29
+ }
30
+ catch (error) {
31
+ const code = error && typeof error === 'object' && 'code' in error ? String(error.code) : 'UNKNOWN';
32
+ const message = error instanceof Error ? error.message : String(error);
33
+ throw new LeaseWorkspaceValidationError(`Lease workspace path '${directoryPath}' failed directory realpath check (${code}): ${message}`, { cause: error });
34
+ }
35
+ }
36
+ async function realpathAllowedRoot(directoryPath) {
37
+ try {
38
+ return await fs.realpath(directoryPath);
39
+ }
40
+ catch (error) {
41
+ if (error && typeof error === 'object' && 'code' in error && error.code === 'ENOENT') {
42
+ return null;
43
+ }
44
+ throw error;
45
+ }
46
+ }
47
+ async function validateResolvedLeaseWorkspaceDir(options) {
48
+ if (options.zone.gateway.type !== 'openclaw') {
49
+ throw new LeaseWorkspaceValidationError(`Zone '${options.zone.id}' does not support OpenClaw tool VM leases.`);
50
+ }
51
+ const hostSandboxRoot = path.join(options.zone.gateway.stateDir, 'sandboxes');
52
+ const [realCandidatePath, realSandboxRoot, realZoneFilesRoot] = await Promise.all([
53
+ realpathIfDirectory(options.workspaceDir),
54
+ realpathAllowedRoot(hostSandboxRoot),
55
+ realpathAllowedRoot(options.zone.gateway.zoneFilesDir),
56
+ ]);
57
+ const allowedRoots = [realSandboxRoot, realZoneFilesRoot].filter((root) => root !== null);
58
+ if (!allowedRoots.some((root) => isPathWithin(realCandidatePath, root))) {
59
+ throw new LeaseWorkspaceValidationError(`Lease workspaceDir '${options.workspaceDir}' resolves outside allowed OpenClaw tool workspace roots for zone '${options.zone.id}'.`);
60
+ }
61
+ return realCandidatePath;
62
+ }
63
+ export async function validateResolvedToolWorkspaceDir(options) {
64
+ if (options.zone.gateway.type !== 'openclaw') {
65
+ throw new LeaseWorkspaceValidationError(`Zone '${options.zone.id}' does not support OpenClaw tool VM leases.`);
66
+ }
67
+ if (!path.isAbsolute(options.workspaceDir)) {
68
+ throw new LeaseWorkspaceValidationError(`Lease workspaceDir '${options.workspaceDir}' must be absolute.`);
69
+ }
70
+ if (pathContainsParentTraversal(options.workspaceDir)) {
71
+ throw new LeaseWorkspaceValidationError(`Lease workspaceDir '${options.workspaceDir}' must not contain '..' path segments.`);
72
+ }
73
+ return await validateResolvedLeaseWorkspaceDir(options);
74
+ }
75
+ export async function resolveLeaseWorkspaceDir(options) {
76
+ if (options.zone.gateway.type !== 'openclaw') {
77
+ throw new LeaseWorkspaceValidationError(`Zone '${options.zone.id}' does not support OpenClaw tool VM leases.`);
78
+ }
79
+ if (!path.isAbsolute(options.workspaceDir)) {
80
+ throw new LeaseWorkspaceValidationError(`Lease workspaceDir '${options.workspaceDir}' must be absolute.`);
81
+ }
82
+ if (pathContainsParentTraversal(options.workspaceDir)) {
83
+ throw new LeaseWorkspaceValidationError(`Lease workspaceDir '${options.workspaceDir}' must not contain '..' path segments.`);
84
+ }
85
+ const hostSandboxRoot = path.join(options.zone.gateway.stateDir, 'sandboxes');
86
+ const candidatePath = mapGuestPathToHostPath({
87
+ guestRoot: OPENCLAW_STATE_SANDBOXES_VM_ROOT,
88
+ hostRoot: hostSandboxRoot,
89
+ workspaceDir: options.workspaceDir,
90
+ }) ??
91
+ mapGuestPathToHostPath({
92
+ guestRoot: OPENCLAW_ZONE_FILES_VM_ROOT,
93
+ hostRoot: options.zone.gateway.zoneFilesDir,
94
+ workspaceDir: options.workspaceDir,
95
+ });
96
+ if (!candidatePath) {
97
+ throw new LeaseWorkspaceValidationError(`Lease workspaceDir '${options.workspaceDir}' must be under ${OPENCLAW_STATE_SANDBOXES_VM_ROOT} or ${OPENCLAW_ZONE_FILES_VM_ROOT}.`);
98
+ }
99
+ return await validateResolvedLeaseWorkspaceDir({
100
+ workspaceDir: candidatePath,
101
+ zone: options.zone,
102
+ });
103
+ }
104
+ //# sourceMappingURL=lease-workspace-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lease-workspace-paths.js","sourceRoot":"","sources":["../../../src/controller/leases/lease-workspace-paths.ts"],"names":[],"mappings":"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"}
@@ -21,11 +21,10 @@ export interface BuildRuntimeInstructionsOptions {
21
21
  readonly resolvedResources: readonly ResolvedRuntimeResource[];
22
22
  readonly runtimeAuthHints: readonly RuntimeAuthHint[];
23
23
  readonly taskId: string;
24
- readonly workspaceDir: string;
24
+ readonly workDir: string;
25
25
  }
26
26
  export interface BuiltRuntimeInstructions {
27
27
  readonly runtimeInstructions: string;
28
- readonly workspaceAgentsMd: string;
29
28
  readonly agentRuntimeFiles: Readonly<Record<string, string>>;
30
29
  }
31
30
  export declare function buildResolvedRuntimeResources(options: BuildResolvedRuntimeResourcesOptions): readonly ResolvedRuntimeResource[];
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-instructions-builder.d.ts","sourceRoot":"","sources":["../../src/controller/runtime-instructions-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iBAAiB,EACjB,0BAA0B,EAC1B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,KAAK,eAAe,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9F,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,+BAA+B;IAC/C,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oCAAoC;IACpD,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,+BAA+B,EAAE,CAAC;CACvE;AAED,MAAM,WAAW,+BAA+B;IAC/C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC/D,QAAQ,CAAC,gBAAgB,EAAE,SAAS,eAAe,EAAE,CAAC;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC7D;AAuKD,wBAAgB,6BAA6B,CAC5C,OAAO,EAAE,oCAAoC,GAC3C,SAAS,uBAAuB,EAAE,CAkBpC;AAED,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,+BAA+B,GACtC,wBAAwB,CAe1B"}
1
+ {"version":3,"file":"runtime-instructions-builder.d.ts","sourceRoot":"","sources":["../../src/controller/runtime-instructions-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iBAAiB,EACjB,0BAA0B,EAC1B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,KAAK,eAAe,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9F,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,+BAA+B;IAC/C,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oCAAoC;IACpD,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,+BAA+B,EAAE,CAAC;CACvE;AAED,MAAM,WAAW,+BAA+B;IAC/C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC/D,QAAQ,CAAC,gBAAgB,EAAE,SAAS,eAAe,EAAE,CAAC;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC7D;AAuKD,wBAAgB,6BAA6B,CAC5C,OAAO,EAAE,oCAAoC,GAC3C,SAAS,uBAAuB,EAAE,CAkBpC;AAED,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,+BAA+B,GACtC,wBAAwB,CAa1B"}
@@ -1,11 +1,11 @@
1
- function buildWorkspaceSection(options) {
1
+ function buildWorkSection(options) {
2
2
  return [
3
- '## Workspace',
3
+ '## Work',
4
4
  `- Task id: ${options.taskId}`,
5
- `- Workspace root: ${options.workspaceDir}`,
6
- '- Workspace agent index: /workspace/AGENTS.md',
5
+ `- Work root: ${options.workDir}`,
6
+ '- Work agent index: /work/repos/AGENTS.md',
7
7
  '- Runtime agent index: /agent-vm/agents.md',
8
- '- Requested repositories are cloned under the workspace root. Use the task prompt and workspace contents for repo-specific work.',
8
+ '- Requested repositories are cloned under the work root. Use the task prompt and work contents for repo-specific work.',
9
9
  ].join('\n');
10
10
  }
11
11
  function formatResourceLines(resources) {
@@ -121,8 +121,8 @@ function buildAuthSection(options) {
121
121
  function buildRuntimeSurfaceSection() {
122
122
  return [
123
123
  '## Runtime files',
124
- '- /workspace/AGENTS.md points to /agent-vm/agents.md.',
125
- '- /workspace/CLAUDE.md is a symlink to /workspace/AGENTS.md.',
124
+ '- /work/repos/AGENTS.md points to /agent-vm/agents.md.',
125
+ '- /work/repos/CLAUDE.md is a symlink to /work/repos/AGENTS.md.',
126
126
  '- /agent-vm/agents.md is the agent-facing index for generated runtime facts.',
127
127
  '- /agent-vm/CLAUDE.md is a symlink to /agent-vm/agents.md.',
128
128
  '- /agent-vm/runtime-instructions.md contains this same generated runtime instruction content.',
@@ -162,7 +162,7 @@ export function buildResolvedRuntimeResources(options) {
162
162
  export function buildRuntimeInstructions(options) {
163
163
  const runtimeInstructions = [
164
164
  '# Runtime instructions',
165
- buildWorkspaceSection(options),
165
+ buildWorkSection(options),
166
166
  buildRuntimeSurfaceSection(),
167
167
  buildResourcesSection(options),
168
168
  buildControllerToolsSection(),
@@ -170,7 +170,6 @@ export function buildRuntimeInstructions(options) {
170
170
  ].join('\n\n');
171
171
  return {
172
172
  runtimeInstructions,
173
- workspaceAgentsMd: '# Workspace agent index\n\nStart with /agent-vm/agents.md for generated runtime facts.\n',
174
173
  agentRuntimeFiles: buildAgentRuntimeFiles(options, runtimeInstructions),
175
174
  };
176
175
  }