@agent-vm/agent-vm 0.0.31 → 0.0.33

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 (190) 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 +96 -78
  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 +96 -78
  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 +57 -35
  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 +57 -13
  46. package/dist/config/system-config.d.ts.map +1 -1
  47. package/dist/config/system-config.js +181 -32
  48. package/dist/config/system-config.js.map +1 -1
  49. package/dist/controller/active-task-registry.d.ts +18 -3
  50. package/dist/controller/active-task-registry.d.ts.map +1 -1
  51. package/dist/controller/active-task-registry.js +33 -2
  52. package/dist/controller/active-task-registry.js.map +1 -1
  53. package/dist/controller/controller-runtime-operations.d.ts +15 -31
  54. package/dist/controller/controller-runtime-operations.d.ts.map +1 -1
  55. package/dist/controller/controller-runtime-operations.js +17 -92
  56. package/dist/controller/controller-runtime-operations.js.map +1 -1
  57. package/dist/controller/controller-runtime-types.d.ts +16 -11
  58. package/dist/controller/controller-runtime-types.d.ts.map +1 -1
  59. package/dist/controller/controller-runtime.d.ts.map +1 -1
  60. package/dist/controller/controller-runtime.js +126 -231
  61. package/dist/controller/controller-runtime.js.map +1 -1
  62. package/dist/controller/git-pull-default-operations.d.ts +101 -9
  63. package/dist/controller/git-pull-default-operations.d.ts.map +1 -1
  64. package/dist/controller/git-pull-default-operations.js +405 -68
  65. package/dist/controller/git-pull-default-operations.js.map +1 -1
  66. package/dist/controller/git-push-operations.d.ts +2 -0
  67. package/dist/controller/git-push-operations.d.ts.map +1 -1
  68. package/dist/controller/git-push-operations.js +267 -76
  69. package/dist/controller/git-push-operations.js.map +1 -1
  70. package/dist/controller/git-retry-support.d.ts +21 -0
  71. package/dist/controller/git-retry-support.d.ts.map +1 -0
  72. package/dist/controller/git-retry-support.js +60 -0
  73. package/dist/controller/git-retry-support.js.map +1 -0
  74. package/dist/controller/http/controller-client.d.ts +2 -0
  75. package/dist/controller/http/controller-client.d.ts.map +1 -1
  76. package/dist/controller/http/controller-client.js +13 -0
  77. package/dist/controller/http/controller-client.js.map +1 -1
  78. package/dist/controller/http/controller-http-route-support.d.ts +9 -4
  79. package/dist/controller/http/controller-http-route-support.d.ts.map +1 -1
  80. package/dist/controller/http/controller-http-route-support.js +17 -1
  81. package/dist/controller/http/controller-http-route-support.js.map +1 -1
  82. package/dist/controller/http/controller-http-routes.d.ts +10 -3
  83. package/dist/controller/http/controller-http-routes.d.ts.map +1 -1
  84. package/dist/controller/http/controller-http-routes.js +88 -15
  85. package/dist/controller/http/controller-http-routes.js.map +1 -1
  86. package/dist/controller/http/controller-lease-response-types.d.ts +17 -0
  87. package/dist/controller/http/controller-lease-response-types.d.ts.map +1 -0
  88. package/dist/controller/http/controller-lease-response-types.js +16 -0
  89. package/dist/controller/http/controller-lease-response-types.js.map +1 -0
  90. package/dist/controller/http/controller-request-schemas.d.ts +84 -13
  91. package/dist/controller/http/controller-request-schemas.d.ts.map +1 -1
  92. package/dist/controller/http/controller-request-schemas.js +110 -9
  93. package/dist/controller/http/controller-request-schemas.js.map +1 -1
  94. package/dist/controller/http/controller-zone-operation-routes.d.ts.map +1 -1
  95. package/dist/controller/http/controller-zone-operation-routes.js +140 -14
  96. package/dist/controller/http/controller-zone-operation-routes.js.map +1 -1
  97. package/dist/controller/leases/agent-sandbox-seeding.d.ts +55 -0
  98. package/dist/controller/leases/agent-sandbox-seeding.d.ts.map +1 -0
  99. package/dist/controller/leases/agent-sandbox-seeding.js +178 -0
  100. package/dist/controller/leases/agent-sandbox-seeding.js.map +1 -0
  101. package/dist/controller/leases/idle-reaper.d.ts +7 -2
  102. package/dist/controller/leases/idle-reaper.d.ts.map +1 -1
  103. package/dist/controller/leases/idle-reaper.js +19 -7
  104. package/dist/controller/leases/idle-reaper.js.map +1 -1
  105. package/dist/controller/leases/lease-idle-policy.d.ts +12 -0
  106. package/dist/controller/leases/lease-idle-policy.d.ts.map +1 -0
  107. package/dist/controller/leases/lease-idle-policy.js +28 -0
  108. package/dist/controller/leases/lease-idle-policy.js.map +1 -0
  109. package/dist/controller/leases/lease-manager.d.ts +21 -12
  110. package/dist/controller/leases/lease-manager.d.ts.map +1 -1
  111. package/dist/controller/leases/lease-manager.js +155 -57
  112. package/dist/controller/leases/lease-manager.js.map +1 -1
  113. package/dist/controller/leases/lease-scope.d.ts +12 -0
  114. package/dist/controller/leases/lease-scope.d.ts.map +1 -0
  115. package/dist/controller/leases/lease-scope.js +19 -0
  116. package/dist/controller/leases/lease-scope.js.map +1 -0
  117. package/dist/controller/leases/lease-workspace-paths.d.ts +14 -0
  118. package/dist/controller/leases/lease-workspace-paths.d.ts.map +1 -0
  119. package/dist/controller/leases/lease-workspace-paths.js +104 -0
  120. package/dist/controller/leases/lease-workspace-paths.js.map +1 -0
  121. package/dist/controller/runtime-instructions-builder.d.ts +1 -2
  122. package/dist/controller/runtime-instructions-builder.d.ts.map +1 -1
  123. package/dist/controller/runtime-instructions-builder.js +8 -9
  124. package/dist/controller/runtime-instructions-builder.js.map +1 -1
  125. package/dist/controller/task-config-builder.d.ts +2 -1
  126. package/dist/controller/task-config-builder.d.ts.map +1 -1
  127. package/dist/controller/task-config-builder.js +2 -1
  128. package/dist/controller/task-config-builder.js.map +1 -1
  129. package/dist/controller/worker-task-runner.d.ts +10 -4
  130. package/dist/controller/worker-task-runner.d.ts.map +1 -1
  131. package/dist/controller/worker-task-runner.js +147 -44
  132. package/dist/controller/worker-task-runner.js.map +1 -1
  133. package/dist/controller/zone-runtimes/openclaw-zone-runtime.d.ts +30 -0
  134. package/dist/controller/zone-runtimes/openclaw-zone-runtime.d.ts.map +1 -0
  135. package/dist/controller/zone-runtimes/openclaw-zone-runtime.js +110 -0
  136. package/dist/controller/zone-runtimes/openclaw-zone-runtime.js.map +1 -0
  137. package/dist/controller/zone-runtimes/worker-zone-runtime.d.ts +33 -0
  138. package/dist/controller/zone-runtimes/worker-zone-runtime.d.ts.map +1 -0
  139. package/dist/controller/zone-runtimes/worker-zone-runtime.js +224 -0
  140. package/dist/controller/zone-runtimes/worker-zone-runtime.js.map +1 -0
  141. package/dist/controller/zone-runtimes/zone-runtime-errors.d.ts +51 -0
  142. package/dist/controller/zone-runtimes/zone-runtime-errors.d.ts.map +1 -0
  143. package/dist/controller/zone-runtimes/zone-runtime-errors.js +94 -0
  144. package/dist/controller/zone-runtimes/zone-runtime-errors.js.map +1 -0
  145. package/dist/controller/zone-runtimes/zone-runtime-registry.d.ts +26 -0
  146. package/dist/controller/zone-runtimes/zone-runtime-registry.d.ts.map +1 -0
  147. package/dist/controller/zone-runtimes/zone-runtime-registry.js +84 -0
  148. package/dist/controller/zone-runtimes/zone-runtime-registry.js.map +1 -0
  149. package/dist/controller/zone-runtimes/zone-runtime-types.d.ts +89 -0
  150. package/dist/controller/zone-runtimes/zone-runtime-types.d.ts.map +1 -0
  151. package/dist/controller/zone-runtimes/zone-runtime-types.js +2 -0
  152. package/dist/controller/zone-runtimes/zone-runtime-types.js.map +1 -0
  153. package/dist/gateway/gateway-zone-orchestrator.d.ts.map +1 -1
  154. package/dist/gateway/gateway-zone-orchestrator.js +4 -2
  155. package/dist/gateway/gateway-zone-orchestrator.js.map +1 -1
  156. package/dist/gateway/gateway-zone-support.d.ts.map +1 -1
  157. package/dist/gateway/gateway-zone-support.js +22 -11
  158. package/dist/gateway/gateway-zone-support.js.map +1 -1
  159. package/dist/index.d.ts +1 -0
  160. package/dist/index.d.ts.map +1 -1
  161. package/dist/index.js +1 -0
  162. package/dist/index.js.map +1 -1
  163. package/dist/operations/config-validation.d.ts +1 -0
  164. package/dist/operations/config-validation.d.ts.map +1 -1
  165. package/dist/operations/config-validation.js +55 -5
  166. package/dist/operations/config-validation.js.map +1 -1
  167. package/dist/operations/controller-status.d.ts +13 -8
  168. package/dist/operations/controller-status.d.ts.map +1 -1
  169. package/dist/operations/controller-status.js +13 -10
  170. package/dist/operations/controller-status.js.map +1 -1
  171. package/dist/operations/destroy-zone.d.ts.map +1 -1
  172. package/dist/operations/destroy-zone.js +8 -1
  173. package/dist/operations/destroy-zone.js.map +1 -1
  174. package/dist/operations/doctor.d.ts +4 -0
  175. package/dist/operations/doctor.d.ts.map +1 -1
  176. package/dist/operations/doctor.js +187 -6
  177. package/dist/operations/doctor.js.map +1 -1
  178. package/dist/operations/runtime-config-paths.d.ts +4 -0
  179. package/dist/operations/runtime-config-paths.d.ts.map +1 -0
  180. package/dist/operations/runtime-config-paths.js +6 -0
  181. package/dist/operations/runtime-config-paths.js.map +1 -0
  182. package/dist/perf/gondolin-vfs-benchmark-support.d.ts +28 -0
  183. package/dist/perf/gondolin-vfs-benchmark-support.d.ts.map +1 -0
  184. package/dist/perf/gondolin-vfs-benchmark-support.js +50 -0
  185. package/dist/perf/gondolin-vfs-benchmark-support.js.map +1 -0
  186. package/dist/tool-vm/tool-vm-lifecycle.d.ts +7 -9
  187. package/dist/tool-vm/tool-vm-lifecycle.d.ts.map +1 -1
  188. package/dist/tool-vm/tool-vm-lifecycle.js +32 -27
  189. package/dist/tool-vm/tool-vm-lifecycle.js.map +1 -1
  190. package/package.json +7 -7
@@ -10,6 +10,7 @@ import { hasRepoResourceDescriptionContract, loadRepoResourceDescriptionContract
10
10
  import { startRepoResourceProviders, stopRepoResourceProviders, } from '../resources/repo-resource-provider-runner.js';
11
11
  import { compileResourceOverlay } from '../resources/resource-compiler.js';
12
12
  import { resolveTaskResources } from '../resources/resource-resolver.js';
13
+ import { createHostGitDir, createVmWorkPath } from './active-task-registry.js';
13
14
  import { buildGithubAuthConfigArgs, scrubGithubTokenFromOutput } from './git-auth-support.js';
14
15
  import { buildResolvedRuntimeResources, buildRuntimeInstructions, } from './runtime-instructions-builder.js';
15
16
  import { buildTaskConfigFromPreparedInput } from './task-config-builder.js';
@@ -39,6 +40,7 @@ const taskStatusResponseSchema = z
39
40
  })
40
41
  .passthrough();
41
42
  const GIT_CLONE_TIMEOUT_MS = 120_000;
43
+ const GIT_METADATA_TIMEOUT_MS = 30_000;
42
44
  async function readJsonObjectFile(filePath, options) {
43
45
  try {
44
46
  const raw = await fs.readFile(filePath, 'utf8');
@@ -50,12 +52,68 @@ async function readJsonObjectFile(filePath, options) {
50
52
  }
51
53
  catch (error) {
52
54
  if (error && typeof error === 'object' && 'code' in error && error.code === 'ENOENT') {
53
- return options.missingValue;
55
+ if (options.missingValue !== undefined) {
56
+ return options.missingValue;
57
+ }
58
+ throw new Error(`${options.label} file not found at ${filePath}`, { cause: error });
54
59
  }
55
60
  const message = error instanceof Error ? error.message : String(error);
56
61
  throw new Error(`Invalid ${options.label}: ${message}`, { cause: error });
57
62
  }
58
63
  }
64
+ async function materializeRepoAgentVmDirectory(options) {
65
+ await fs.mkdir(options.metadataDir, { recursive: true });
66
+ const metadataProbeResult = await execa('git', [
67
+ '-c',
68
+ 'core.hooksPath=/dev/null',
69
+ `--git-dir=${options.gitDir}`,
70
+ 'ls-tree',
71
+ '--name-only',
72
+ options.baseBranch,
73
+ '--',
74
+ '.agent-vm',
75
+ ], { reject: false, timeout: GIT_METADATA_TIMEOUT_MS });
76
+ if (typeof metadataProbeResult.exitCode !== 'number') {
77
+ const output = `${metadataProbeResult.stdout}\n${metadataProbeResult.stderr}`.trim();
78
+ throw new Error(`Failed to probe .agent-vm metadata from ${options.repoUrl}: git ls-tree terminated without an exit code\n${scrubGithubTokenFromOutput(output)}`.trim());
79
+ }
80
+ if (metadataProbeResult.exitCode !== 0) {
81
+ const output = `${metadataProbeResult.stdout}\n${metadataProbeResult.stderr}`.trim();
82
+ throw new Error(`Failed to probe .agent-vm metadata from ${options.repoUrl}: ${scrubGithubTokenFromOutput(output)}`);
83
+ }
84
+ if (metadataProbeResult.stdout.trim().length === 0) {
85
+ await fs.mkdir(path.join(options.metadataDir, '.agent-vm'), { recursive: true });
86
+ return;
87
+ }
88
+ const archivePath = path.join(options.metadataDir, 'agent-vm-metadata.tar');
89
+ const archiveResult = await execa('git', [
90
+ '-c',
91
+ 'core.hooksPath=/dev/null',
92
+ `--git-dir=${options.gitDir}`,
93
+ 'archive',
94
+ '--format=tar',
95
+ `--output=${archivePath}`,
96
+ options.baseBranch,
97
+ '.agent-vm',
98
+ ], { reject: false, timeout: GIT_METADATA_TIMEOUT_MS });
99
+ if (typeof archiveResult.exitCode !== 'number') {
100
+ const output = `${archiveResult.stdout}\n${archiveResult.stderr}`.trim();
101
+ throw new Error(`Failed to archive .agent-vm metadata from ${options.repoUrl}: git archive terminated without an exit code\n${scrubGithubTokenFromOutput(output)}`.trim());
102
+ }
103
+ if (archiveResult.exitCode !== 0) {
104
+ const output = `${archiveResult.stdout}\n${archiveResult.stderr}`.trim();
105
+ throw new Error(`Failed to archive .agent-vm metadata from ${options.repoUrl}: ${scrubGithubTokenFromOutput(output)}`);
106
+ }
107
+ try {
108
+ await execa('tar', ['-xf', archivePath, '-C', options.metadataDir], {
109
+ reject: true,
110
+ timeout: GIT_METADATA_TIMEOUT_MS,
111
+ });
112
+ }
113
+ finally {
114
+ await fs.rm(archivePath, { force: true });
115
+ }
116
+ }
59
117
  async function copyLocalWorkerTarballIfConfigured(stateDir) {
60
118
  const localWorkerTarballPath = process.env.AGENT_VM_WORKER_TARBALL_PATH;
61
119
  if (!localWorkerTarballPath) {
@@ -101,35 +159,43 @@ export async function preStartGateway(taskInput, zoneConfig, options = {}) {
101
159
  const parsedTaskInput = workerTaskControllerRequestSchema.parse(taskInput);
102
160
  const taskId = crypto.randomUUID();
103
161
  const taskRoot = path.join(zoneConfig.gateway.stateDir, 'tasks', taskId);
104
- const workspaceDir = path.join(taskRoot, 'workspace');
162
+ const runtimeDir = options.runtimeDir ?? path.join(path.dirname(zoneConfig.gateway.stateDir), 'runtime');
163
+ const taskRuntimeRoot = path.join(runtimeDir, 'worker-tasks', zoneConfig.id, taskId);
164
+ const workDir = path.join(taskRuntimeRoot, 'work');
105
165
  const stateDir = path.join(taskRoot, 'state');
106
166
  const agentVmDir = path.join(taskRoot, 'agent-vm');
107
167
  let startedResourceProviders = [];
108
168
  try {
109
- await fs.mkdir(workspaceDir, { recursive: true });
169
+ await fs.mkdir(workDir, { recursive: true });
110
170
  await fs.mkdir(stateDir, { recursive: true });
111
171
  await fs.mkdir(agentVmDir, { recursive: true });
112
172
  await copyLocalWorkerTarballIfConfigured(stateDir);
173
+ const gitdirsRoot = path.join(taskRuntimeRoot, 'gitdirs');
174
+ const metadataRoot = path.join(taskRuntimeRoot, 'repo-metadata');
113
175
  const usedRepoNames = new Set();
114
176
  const preparedRepoTargets = parsedTaskInput.repos.map((repo) => {
115
177
  const repoId = deriveRepoDirectoryName(repo.repoUrl, usedRepoNames);
116
- const repoWorkspaceDir = path.join(workspaceDir, repoId);
117
178
  return {
118
179
  ...repo,
119
180
  repoId,
120
- hostWorkspacePath: repoWorkspaceDir,
121
- workspacePath: `/workspace/${repoId}`,
181
+ gitDirPath: `/gitdirs/${repoId}.git`,
182
+ hostGitDir: path.join(gitdirsRoot, `${repoId}.git`),
183
+ hostMetadataPath: path.join(metadataRoot, repoId),
184
+ workPath: `/work/repos/${repoId}`,
122
185
  };
123
186
  });
124
187
  const cloneResults = await Promise.allSettled(preparedRepoTargets.map(async (repo) => {
125
188
  const authArgs = options.githubToken ? buildGithubAuthConfigArgs(options.githubToken) : [];
126
189
  const cloneArgs = [
127
190
  ...authArgs,
191
+ '-c',
192
+ 'core.hooksPath=/dev/null',
128
193
  'clone',
194
+ '--bare',
129
195
  '--branch',
130
196
  repo.baseBranch,
131
197
  repo.repoUrl,
132
- repo.hostWorkspacePath,
198
+ repo.hostGitDir,
133
199
  ];
134
200
  let cloneResult;
135
201
  try {
@@ -147,6 +213,7 @@ export async function preStartGateway(taskInput, zoneConfig, options = {}) {
147
213
  throw new Error(`git clone failed for ${repo.repoUrl}: ${errorDetail}`.trim());
148
214
  }
149
215
  for (const [key, value] of [
216
+ ['core.bare', 'false'],
150
217
  ['user.email', 'agent-vm-worker@agent-vm'],
151
218
  ['user.name', 'agent-vm-worker'],
152
219
  ['http.version', 'HTTP/1.1'],
@@ -154,22 +221,41 @@ export async function preStartGateway(taskInput, zoneConfig, options = {}) {
154
221
  ]) {
155
222
  // Git serializes config writes through .git/config.lock; keep these ordered.
156
223
  // oxlint-disable-next-line eslint/no-await-in-loop
157
- await execa('git', ['-C', repo.hostWorkspacePath, 'config', key, value], {
224
+ await execa('git', [
225
+ '-c',
226
+ 'core.hooksPath=/dev/null',
227
+ `--git-dir=${repo.hostGitDir}`,
228
+ 'config',
229
+ key,
230
+ value,
231
+ ], {
158
232
  reject: true,
159
233
  timeout: 10_000,
160
234
  });
161
235
  }
236
+ await materializeRepoAgentVmDirectory({
237
+ baseBranch: repo.baseBranch,
238
+ gitDir: repo.hostGitDir,
239
+ metadataDir: repo.hostMetadataPath,
240
+ repoUrl: repo.repoUrl,
241
+ });
162
242
  return {
163
243
  repoId: repo.repoId,
164
244
  repoUrl: repo.repoUrl,
165
245
  baseBranch: repo.baseBranch,
166
- hostWorkspacePath: repo.hostWorkspacePath,
167
- workspacePath: repo.workspacePath,
246
+ gitDirPath: repo.gitDirPath,
247
+ hostGitDir: repo.hostGitDir,
248
+ hostMetadataPath: repo.hostMetadataPath,
249
+ workPath: repo.workPath,
168
250
  };
169
251
  }));
170
- const rejectedCloneResult = cloneResults.find((result) => result.status === 'rejected');
171
- if (rejectedCloneResult) {
172
- throw rejectedCloneResult.reason;
252
+ const rejectedCloneResults = cloneResults.filter((result) => result.status === 'rejected');
253
+ if (rejectedCloneResults.length > 0) {
254
+ const cloneFailureErrors = rejectedCloneResults.map((result) => toError(result.reason));
255
+ const cloneFailureDetails = rejectedCloneResults
256
+ .map((result) => result.reason instanceof Error ? result.reason.message : String(result.reason))
257
+ .join('\n');
258
+ throw new AggregateError(cloneFailureErrors, `Failed to prepare ${rejectedCloneResults.length} repo clone(s).\n${cloneFailureDetails}`);
173
259
  }
174
260
  const clonedRepos = cloneResults.map((result) => {
175
261
  if (result.status === 'rejected') {
@@ -177,15 +263,15 @@ export async function preStartGateway(taskInput, zoneConfig, options = {}) {
177
263
  }
178
264
  return result.value;
179
265
  });
180
- const primaryRepoWorkspaceDir = clonedRepos[0]?.hostWorkspacePath ?? workspaceDir;
181
- const projectConfigPath = path.join(primaryRepoWorkspaceDir, '.agent-vm', 'config.json');
182
- const projectConfig = await readJsonObjectFile(projectConfigPath, {
183
- label: 'project config',
184
- missingValue: {},
185
- });
266
+ const primaryRepo = clonedRepos[0] ?? null;
267
+ const projectConfig = primaryRepo === null
268
+ ? {}
269
+ : await readJsonObjectFile(path.join(primaryRepo.hostMetadataPath, '.agent-vm', 'config.json'), {
270
+ label: 'project config',
271
+ missingValue: {},
272
+ });
186
273
  const baseConfig = await readJsonObjectFile(zoneConfig.gateway.config, {
187
274
  label: 'gateway config',
188
- missingValue: {},
189
275
  });
190
276
  const resolvedBaseConfig = await resolveWorkerConfigInstructionReferences(baseConfig, {
191
277
  configPath: zoneConfig.gateway.config,
@@ -194,9 +280,9 @@ export async function preStartGateway(taskInput, zoneConfig, options = {}) {
194
280
  const repoResourceDescriptions = await Promise.all(clonedRepos.map(async (repo) => ({
195
281
  repoId: repo.repoId,
196
282
  repoUrl: repo.repoUrl,
197
- hasContract: await hasRepoResourceDescriptionContract(repo.hostWorkspacePath),
283
+ hasContract: await hasRepoResourceDescriptionContract(repo.hostMetadataPath),
198
284
  description: await loadRepoResourceDescriptionContract({
199
- repoDir: repo.hostWorkspacePath,
285
+ repoDir: repo.hostMetadataPath,
200
286
  repoId: repo.repoId,
201
287
  repoUrl: repo.repoUrl,
202
288
  }),
@@ -222,7 +308,7 @@ export async function preStartGateway(taskInput, zoneConfig, options = {}) {
222
308
  return {
223
309
  repoId: repoDescription.repoId,
224
310
  repoUrl: repoDescription.repoUrl,
225
- repoDir: repo.hostWorkspacePath,
311
+ repoDir: repo.hostMetadataPath,
226
312
  outputDir: path.join(agentVmDir, 'resources', repoDescription.repoId),
227
313
  setupCommand: repoDescription.description.setupCommand,
228
314
  };
@@ -235,7 +321,7 @@ export async function preStartGateway(taskInput, zoneConfig, options = {}) {
235
321
  }
236
322
  return {
237
323
  ...provider,
238
- repoDir: repo.hostWorkspacePath,
324
+ repoDir: repo.hostMetadataPath,
239
325
  outputDir: path.join(agentVmDir, 'resources', provider.repoId),
240
326
  };
241
327
  }),
@@ -252,7 +338,7 @@ export async function preStartGateway(taskInput, zoneConfig, options = {}) {
252
338
  }),
253
339
  runtimeAuthHints: zoneConfig.runtimeAuthHints ?? [],
254
340
  taskId,
255
- workspaceDir: '/workspace',
341
+ workDir: '/work/repos',
256
342
  });
257
343
  const effectiveConfig = workerConfigSchema.parse({
258
344
  ...effectiveConfigDraft,
@@ -260,22 +346,22 @@ export async function preStartGateway(taskInput, zoneConfig, options = {}) {
260
346
  });
261
347
  await writeAgentRuntimeFiles(agentVmDir, runtime.agentRuntimeFiles);
262
348
  await replaceRelativeSymlink(path.join(agentVmDir, 'CLAUDE.md'), 'agents.md');
263
- await fs.writeFile(path.join(workspaceDir, 'AGENTS.md'), runtime.workspaceAgentsMd, {
264
- encoding: 'utf8',
265
- mode: 0o644,
266
- });
267
- await replaceRelativeSymlink(path.join(workspaceDir, 'CLAUDE.md'), 'AGENTS.md');
268
349
  await fs.writeFile(path.join(stateDir, 'effective-worker.json'), JSON.stringify(effectiveConfig, null, 2), { encoding: 'utf8', mode: 0o600 });
269
350
  return {
270
351
  taskId,
271
352
  input: parsedTaskInput,
272
353
  taskRoot,
273
- workspaceDir,
354
+ taskRuntimeRoot,
355
+ workDir,
274
356
  stateDir,
275
357
  startedResourceProviders: providerRun.startedProviders,
276
358
  environment: overlay.environment,
277
359
  tcpHosts: overlay.tcpHosts,
278
360
  vfsMounts: {
361
+ '/gitdirs': {
362
+ hostPath: gitdirsRoot,
363
+ kind: 'realfs',
364
+ },
279
365
  '/agent-vm': {
280
366
  hostPath: agentVmDir,
281
367
  kind: 'realfs-readonly',
@@ -290,16 +376,18 @@ export async function preStartGateway(taskInput, zoneConfig, options = {}) {
290
376
  primaryError: error,
291
377
  startedProviders: startedResourceProviders,
292
378
  taskId,
379
+ taskRuntimeRoot,
293
380
  taskRoot,
294
381
  });
295
382
  }
296
383
  }
297
- export async function postStopGateway(taskId, zoneConfig, startedProviders = []) {
384
+ export async function postStopGateway(taskId, zoneConfig, startedProviders = [], options = {}) {
298
385
  const taskRoot = path.join(zoneConfig.gateway.stateDir, 'tasks', taskId);
299
- const workspaceDir = path.join(taskRoot, 'workspace');
386
+ const runtimeDir = options.runtimeDir ?? path.join(path.dirname(zoneConfig.gateway.stateDir), 'runtime');
387
+ const taskRuntimeRoot = path.join(runtimeDir, 'worker-tasks', zoneConfig.id, taskId);
300
388
  const resourcesDir = path.join(taskRoot, 'agent-vm', 'resources');
301
389
  let cleanupError = null;
302
- let workspaceRemovalError = null;
390
+ let runtimeRemovalError = null;
303
391
  let resourcesRemovalError = null;
304
392
  try {
305
393
  await stopRepoResourceProviders(startedProviders);
@@ -314,14 +402,14 @@ export async function postStopGateway(taskId, zoneConfig, startedProviders = [])
314
402
  resourcesRemovalError = error instanceof Error ? error : new Error(String(error));
315
403
  }
316
404
  try {
317
- await fs.rm(workspaceDir, { recursive: true, force: true });
405
+ await fs.rm(taskRuntimeRoot, { recursive: true, force: true });
318
406
  }
319
407
  catch (error) {
320
- workspaceRemovalError = error instanceof Error ? error : new Error(String(error));
408
+ runtimeRemovalError = error instanceof Error ? error : new Error(String(error));
321
409
  }
322
- const errors = [cleanupError, resourcesRemovalError, workspaceRemovalError].filter((error) => error !== null);
410
+ const errors = [cleanupError, resourcesRemovalError, runtimeRemovalError].filter((error) => error !== null);
323
411
  if (errors.length > 1) {
324
- const aggregateError = new AggregateError(errors, `Failed to stop Docker services and prune task resources/workspace for ${taskId}.`);
412
+ const aggregateError = new AggregateError(errors, `Failed to stop Docker services and prune task resources/work for ${taskId}.`);
325
413
  aggregateError.cause = errors[0];
326
414
  throw aggregateError;
327
415
  }
@@ -343,6 +431,14 @@ async function cleanupTaskRootAfterPreparationFailure(options) {
343
431
  catch (removeError) {
344
432
  errors.push(toError(removeError));
345
433
  }
434
+ if (options.taskRuntimeRoot !== undefined) {
435
+ try {
436
+ await fs.rm(options.taskRuntimeRoot, { recursive: true, force: true });
437
+ }
438
+ catch (removeError) {
439
+ errors.push(toError(removeError));
440
+ }
441
+ }
346
442
  if (errors.length === 1) {
347
443
  throw errors[0];
348
444
  }
@@ -366,7 +462,10 @@ export async function prepareWorkerTask(options) {
366
462
  if (zone.gateway.type !== 'worker') {
367
463
  throw new Error(`Zone '${options.zoneId}' is not a worker zone.`);
368
464
  }
369
- const preStartOptions = options.githubToken ? { githubToken: options.githubToken } : {};
465
+ const preStartOptions = {
466
+ runtimeDir: options.systemConfig.runtimeDir,
467
+ ...(options.githubToken ? { githubToken: options.githubToken } : {}),
468
+ };
370
469
  const preStartResult = await preStartGateway(options.input, zone, preStartOptions);
371
470
  const parsedInput = preStartResult.input;
372
471
  try {
@@ -374,7 +473,6 @@ export async function prepareWorkerTask(options) {
374
473
  ...zone,
375
474
  gateway: {
376
475
  ...zone.gateway,
377
- workspaceDir: preStartResult.workspaceDir,
378
476
  stateDir: preStartResult.stateDir,
379
477
  },
380
478
  };
@@ -396,12 +494,13 @@ export async function prepareWorkerTask(options) {
396
494
  taskId: preStartResult.taskId,
397
495
  zoneId: options.zoneId,
398
496
  taskRoot: preStartResult.taskRoot,
497
+ eventLogPath,
399
498
  branchPrefix: preStartResult.effectiveConfig.branchPrefix,
400
499
  repos: preStartResult.repos.map((repo) => ({
401
500
  repoUrl: repo.repoUrl,
402
501
  baseBranch: repo.baseBranch,
403
- hostWorkspacePath: repo.hostWorkspacePath,
404
- vmWorkspacePath: repo.workspacePath,
502
+ hostGitDir: createHostGitDir(repo.hostGitDir),
503
+ vmWorkPath: createVmWorkPath(repo.workPath),
405
504
  })),
406
505
  workerIngress: null,
407
506
  });
@@ -422,6 +521,7 @@ export async function prepareWorkerTask(options) {
422
521
  primaryError: error,
423
522
  startedProviders: preStartResult.startedResourceProviders,
424
523
  taskId: preStartResult.taskId,
524
+ taskRuntimeRoot: preStartResult.taskRuntimeRoot,
425
525
  taskRoot: preStartResult.taskRoot,
426
526
  });
427
527
  }
@@ -451,7 +551,8 @@ export async function executeWorkerTask(prepared, options) {
451
551
  repos: prepared.preStartResult.repos.map((repo) => ({
452
552
  repoUrl: repo.repoUrl,
453
553
  baseBranch: repo.baseBranch,
454
- workspacePath: repo.workspacePath,
554
+ gitDirPath: repo.gitDirPath,
555
+ workPath: repo.workPath,
455
556
  })),
456
557
  context: prepared.input.context,
457
558
  }),
@@ -512,7 +613,9 @@ export async function executeWorkerTask(prepared, options) {
512
613
  cleanupErrors.push(toError(error));
513
614
  }
514
615
  try {
515
- await postStopGateway(prepared.taskId, prepared.zone, prepared.preStartResult.startedResourceProviders);
616
+ await postStopGateway(prepared.taskId, prepared.zone, prepared.preStartResult.startedResourceProviders, {
617
+ runtimeDir: options.systemConfig.runtimeDir,
618
+ });
516
619
  }
517
620
  catch (error) {
518
621
  cleanupErrors.push(toError(error));
@@ -1 +1 @@
1
- {"version":3,"file":"worker-task-runner.js","sourceRoot":"","sources":["../../src/controller/worker-task-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-task-runner.js","sourceRoot":"","sources":["../../src/controller/worker-task-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { SecretResolver } from '@agent-vm/gondolin-adapter';
2
+ import type { LoadedSystemConfig } from '../../config/system-config.js';
3
+ import type { GatewayZoneStartResult } from '../../gateway/gateway-zone-support.js';
4
+ import { runControllerCredentialsRefresh as runControllerCredentialsRefreshDefault } from '../../operations/credentials-refresh.js';
5
+ import { runControllerDestroy as runControllerDestroyDefault } from '../../operations/destroy-zone.js';
6
+ import { runControllerUpgrade as runControllerUpgradeDefault } from '../../operations/upgrade-zone.js';
7
+ import { runControllerLogs as runControllerLogsDefault } from '../../operations/zone-logs.js';
8
+ import type { LeaseManager } from '../leases/lease-manager.js';
9
+ import type { ControllerZoneConfig, OpenClawZoneRuntime } from './zone-runtime-types.js';
10
+ type OpenClawZoneConfig = ControllerZoneConfig & {
11
+ readonly gateway: Extract<ControllerZoneConfig['gateway'], {
12
+ readonly type: 'openclaw';
13
+ }>;
14
+ };
15
+ export interface CreateOpenClawZoneRuntimeOptions {
16
+ readonly deleteGatewayRuntimeRecord?: (stateDirectory: string) => Promise<void>;
17
+ readonly leaseManager: Pick<LeaseManager, 'listLeases' | 'releaseLease'>;
18
+ readonly now: () => number;
19
+ readonly restartGatewayZone?: (zoneId: string) => Promise<GatewayZoneStartResult>;
20
+ readonly runControllerCredentialsRefresh?: typeof runControllerCredentialsRefreshDefault;
21
+ readonly runControllerDestroy?: typeof runControllerDestroyDefault;
22
+ readonly runControllerLogs?: typeof runControllerLogsDefault;
23
+ readonly runControllerUpgrade?: typeof runControllerUpgradeDefault;
24
+ readonly secretResolver: SecretResolver;
25
+ readonly systemConfig: LoadedSystemConfig;
26
+ readonly zone: OpenClawZoneConfig;
27
+ }
28
+ export declare function createOpenClawZoneRuntime(options: CreateOpenClawZoneRuntimeOptions): OpenClawZoneRuntime;
29
+ export {};
30
+ //# sourceMappingURL=openclaw-zone-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openclaw-zone-runtime.d.ts","sourceRoot":"","sources":["../../../src/controller/zone-runtimes/openclaw-zone-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAIxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,+BAA+B,IAAI,sCAAsC,EAAE,MAAM,yCAAyC,CAAC;AACpI,OAAO,EAAE,oBAAoB,IAAI,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACvG,OAAO,EAAE,oBAAoB,IAAI,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACvG,OAAO,EAAE,iBAAiB,IAAI,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC9F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAK/D,OAAO,KAAK,EACX,oBAAoB,EAEpB,mBAAmB,EACnB,MAAM,yBAAyB,CAAC;AAEjC,KAAK,kBAAkB,GAAG,oBAAoB,GAAG;IAChD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;CAC1F,CAAC;AAEF,MAAM,WAAW,gCAAgC;IAChD,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,GAAG,cAAc,CAAC,CAAC;IACzE,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAClF,QAAQ,CAAC,+BAA+B,CAAC,EAAE,OAAO,sCAAsC,CAAC;IACzF,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,2BAA2B,CAAC;IACnE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,wBAAwB,CAAC;IAC7D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,2BAA2B,CAAC;IACnE,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;CAClC;AAMD,wBAAgB,yBAAyB,CACxC,OAAO,EAAE,gCAAgC,GACvC,mBAAmB,CA+HrB"}
@@ -0,0 +1,110 @@
1
+ import { resolveZoneSecrets } from '../../gateway/credential-manager.js';
2
+ import { deleteGatewayRuntimeRecord as deleteGatewayRuntimeRecordDefault } from '../../gateway/gateway-runtime-record.js';
3
+ import { startGatewayZone } from '../../gateway/gateway-zone-orchestrator.js';
4
+ import { runControllerCredentialsRefresh as runControllerCredentialsRefreshDefault } from '../../operations/credentials-refresh.js';
5
+ import { runControllerDestroy as runControllerDestroyDefault } from '../../operations/destroy-zone.js';
6
+ import { runControllerUpgrade as runControllerUpgradeDefault } from '../../operations/upgrade-zone.js';
7
+ import { runControllerLogs as runControllerLogsDefault } from '../../operations/zone-logs.js';
8
+ import { ControllerZoneRuntimeStartError, ControllerZoneRuntimeUnavailableError, } from './zone-runtime-errors.js';
9
+ function formatUnknownError(error) {
10
+ return error instanceof Error ? error.message : String(error);
11
+ }
12
+ export function createOpenClawZoneRuntime(options) {
13
+ let gateway;
14
+ let bootedAt;
15
+ let lastError;
16
+ const startGateway = async () => options.restartGatewayZone
17
+ ? await options.restartGatewayZone(options.zone.id)
18
+ : await startGatewayZone({
19
+ secretResolver: options.secretResolver,
20
+ systemConfig: options.systemConfig,
21
+ zoneId: options.zone.id,
22
+ });
23
+ const requireGateway = () => {
24
+ if (!gateway) {
25
+ throw new ControllerZoneRuntimeUnavailableError(options.zone.id, lastError);
26
+ }
27
+ return gateway;
28
+ };
29
+ const stop = async () => {
30
+ const activeGateway = gateway;
31
+ gateway = undefined;
32
+ bootedAt = undefined;
33
+ lastError = undefined;
34
+ if (activeGateway) {
35
+ await activeGateway.vm.close();
36
+ }
37
+ await (options.deleteGatewayRuntimeRecord ?? deleteGatewayRuntimeRecordDefault)(options.zone.gateway.stateDir);
38
+ };
39
+ const start = async () => {
40
+ try {
41
+ const startedGateway = await startGateway();
42
+ gateway = startedGateway;
43
+ bootedAt = new Date(options.now()).toISOString();
44
+ lastError = undefined;
45
+ }
46
+ catch (error) {
47
+ gateway = undefined;
48
+ bootedAt = undefined;
49
+ lastError = formatUnknownError(error);
50
+ throw new ControllerZoneRuntimeStartError(options.zone.id, error);
51
+ }
52
+ };
53
+ const restart = async () => {
54
+ await stop();
55
+ await start();
56
+ };
57
+ return {
58
+ destroy: async (purge) => await (options.runControllerDestroy ?? runControllerDestroyDefault)({ purge, systemConfig: options.systemConfig, zoneId: options.zone.id }, {
59
+ releaseZoneLeases: async (zoneId) => {
60
+ await Promise.all(options.leaseManager
61
+ .listLeases()
62
+ .filter((activeLease) => activeLease.zoneId === zoneId)
63
+ .map(async (lease) => await options.leaseManager.releaseLease(lease.id)));
64
+ },
65
+ stopGatewayZone: async () => await stop(),
66
+ }),
67
+ enableSsh: async () => await requireGateway().vm.enableSsh(),
68
+ exec: async (command) => await requireGateway().vm.exec(command),
69
+ gatewayType: 'openclaw',
70
+ getLogs: async () => {
71
+ const activeGateway = requireGateway();
72
+ return await (options.runControllerLogs ?? runControllerLogsDefault)({ zoneId: options.zone.id }, {
73
+ readGatewayLogs: async () => (await activeGateway.vm.exec(`cat ${activeGateway.processSpec.logPath} 2>/dev/null || echo ""`)).stdout,
74
+ });
75
+ },
76
+ getSnapshot: () => {
77
+ if (gateway) {
78
+ return {
79
+ ...(bootedAt ? { bootedAt } : {}),
80
+ gateway: {
81
+ ingress: gateway.ingress,
82
+ vm: { id: gateway.vm.id },
83
+ },
84
+ lifecycleState: 'running',
85
+ };
86
+ }
87
+ return lastError ? { lastError, lifecycleState: 'failed' } : { lifecycleState: 'stopped' };
88
+ },
89
+ refreshCredentials: async () => await (options.runControllerCredentialsRefresh ?? runControllerCredentialsRefreshDefault)({ zoneId: options.zone.id }, {
90
+ refreshZoneSecrets: async (zoneId) => {
91
+ await resolveZoneSecrets({
92
+ secretResolver: options.secretResolver,
93
+ systemConfig: options.systemConfig,
94
+ zoneId,
95
+ });
96
+ },
97
+ restartGatewayZone: async () => await restart(),
98
+ }),
99
+ restart,
100
+ shutdown: stop,
101
+ start,
102
+ stop,
103
+ upgrade: async () => await (options.runControllerUpgrade ?? runControllerUpgradeDefault)({ systemConfig: options.systemConfig, zoneId: options.zone.id }, {
104
+ rebuildGatewayImage: async () => { },
105
+ restartGatewayZone: async () => await restart(),
106
+ }),
107
+ zoneId: options.zone.id,
108
+ };
109
+ }
110
+ //# sourceMappingURL=openclaw-zone-runtime.js.map