@agent-vm/agent-vm 0.0.30 → 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 +7 -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,8 +1,25 @@
1
1
  import { execa } from 'execa';
2
2
  import { scrubGithubTokenFromOutput } from './git-auth-support.js';
3
+ import { runGitCommandWithTransientRetries } from './git-retry-support.js';
3
4
  const GIT_OPERATION_TIMEOUT_MS = 120_000;
5
+ const GIT_PULL_RETRY_AFTER_SECONDS = 300;
6
+ const GIT_PULL_RETRY_AFTER_MESSAGE = 'GitHub or the network is still rejecting the pull after retries. Try git-pull-default again in 5 minutes if the task is still running; otherwise start a new task.';
4
7
  export class PullDefaultValidationError extends Error {
5
8
  }
9
+ class GitCommandFailureError extends Error {
10
+ constructor(message) {
11
+ super(message);
12
+ this.name = 'GitCommandFailureError';
13
+ }
14
+ }
15
+ class GitPullFailedAfterRetriesError extends Error {
16
+ attempts;
17
+ constructor(message, attempts) {
18
+ super(message);
19
+ this.attempts = attempts;
20
+ this.name = 'GitPullFailedAfterRetriesError';
21
+ }
22
+ }
6
23
  function parseRepoFromUrl(repoUrl) {
7
24
  const cleaned = repoUrl.replace(/\.git$/, '');
8
25
  const urlPattern = /(?:https?:\/\/)?github\.com\/([^/]+\/[^/]+)$/u;
@@ -13,27 +30,65 @@ function parseRepoFromUrl(repoUrl) {
13
30
  return cleaned;
14
31
  throw new PullDefaultValidationError(`Invalid GitHub repository: ${repoUrl}`);
15
32
  }
16
- function buildPushUrl(repoUrl, githubToken) {
33
+ function buildAuthenticatedGitUrl(repoUrl, githubToken) {
17
34
  return `https://x-access-token:${githubToken}@github.com/${parseRepoFromUrl(repoUrl)}.git`;
18
35
  }
36
+ function errorMessage(error) {
37
+ return scrubGithubTokenFromOutput(error instanceof Error ? error.message : String(error));
38
+ }
19
39
  async function git(options) {
20
- const result = await execa('git', [...options.args], {
21
- cwd: options.cwd,
40
+ const result = await execa('git', ['-c', 'core.hooksPath=/dev/null', `--git-dir=${options.gitDir}`, ...options.args], {
41
+ env: { LANG: 'C', LC_ALL: 'C' },
22
42
  reject: false,
23
43
  timeout: GIT_OPERATION_TIMEOUT_MS,
24
44
  });
45
+ if (typeof result.exitCode !== 'number') {
46
+ throw new GitCommandFailureError(`git ${options.args.join(' ')} terminated without an exit code\n${result.stdout}\n${result.stderr}`.trim());
47
+ }
25
48
  const normalized = {
26
49
  stdout: result.stdout,
27
50
  stderr: result.stderr,
28
- exitCode: result.exitCode ?? 0,
51
+ exitCode: result.exitCode,
29
52
  };
30
53
  if (options.reject === true && normalized.exitCode !== 0) {
31
- throw new Error(`git ${options.args.join(' ')} failed\n${normalized.stdout}\n${normalized.stderr}`.trim());
54
+ throw new GitCommandFailureError(formatGitCommandFailure(options.args, normalized));
32
55
  }
33
56
  return normalized;
34
57
  }
35
- async function gitStdout(cwd, args) {
36
- return (await git({ cwd, args, reject: true })).stdout.trim();
58
+ function formatGitCommandFailure(args, result) {
59
+ return scrubGithubTokenFromOutput(`git ${args.join(' ')} failed\n${result.stdout}\n${result.stderr}`.trim());
60
+ }
61
+ async function sleep(delayMs) {
62
+ await new Promise((resolve) => {
63
+ setTimeout(resolve, delayMs);
64
+ });
65
+ }
66
+ async function gitWithTransientRetries(options) {
67
+ const retryResult = await runGitCommandWithTransientRetries({
68
+ run: async () => await git({ args: options.args, gitDir: options.gitDir, reject: false }),
69
+ sleep,
70
+ });
71
+ if (retryResult.result.exitCode !== 0) {
72
+ throw new GitCommandFailureError(formatGitCommandFailure(options.args, retryResult.result));
73
+ }
74
+ return retryResult.result;
75
+ }
76
+ async function updateRefAndVerify(options) {
77
+ await gitWithTransientRetries({
78
+ gitDir: options.gitDir,
79
+ args: ['update-ref', options.ref, options.sourceRef],
80
+ });
81
+ const actualHead = (await git({
82
+ gitDir: options.gitDir,
83
+ args: ['rev-parse', options.ref],
84
+ reject: true,
85
+ })).stdout.trim();
86
+ if (actualHead !== options.expectedHead) {
87
+ throw new GitCommandFailureError(`git update-ref ${options.ref} ${options.expectedHead} did not move the ref; ${options.ref} is at ${actualHead}`);
88
+ }
89
+ }
90
+ async function gitStdout(gitDir, args) {
91
+ return (await gitWithTransientRetries({ args, gitDir })).stdout.trim();
37
92
  }
38
93
  function parseCommitSummaries(output) {
39
94
  if (output.trim().length === 0)
@@ -56,32 +111,213 @@ function parseCommitSummaries(output) {
56
111
  return summary;
57
112
  });
58
113
  }
59
- async function commitSummaries(cwd, range) {
60
- const result = await git({
61
- cwd,
114
+ async function commitSummaries(gitDir, range) {
115
+ const result = await gitWithTransientRetries({
116
+ gitDir,
62
117
  args: ['log', range, '--format=%H%x09%s%x09%an%x09%aI'],
63
- reject: false,
64
118
  });
65
- if (result.exitCode !== 0)
66
- return [];
67
119
  return parseCommitSummaries(result.stdout);
68
120
  }
69
- async function refExists(cwd, ref) {
70
- return ((await git({ cwd, args: ['rev-parse', '--verify', '--quiet', ref], reject: false }))
71
- .exitCode === 0);
121
+ async function refExists(gitDir, ref) {
122
+ const args = ['rev-parse', '--verify', '--quiet', ref];
123
+ const result = await git({ gitDir, args, reject: false });
124
+ if (result.exitCode === 0)
125
+ return true;
126
+ if (result.exitCode === 1)
127
+ return false;
128
+ throw new GitCommandFailureError(formatGitCommandFailure(args, result));
129
+ }
130
+ async function isAncestor(options) {
131
+ const args = ['merge-base', '--is-ancestor', options.ancestorRef, options.descendantRef];
132
+ const result = await git({ gitDir: options.gitDir, args, reject: false });
133
+ if (result.exitCode === 0)
134
+ return true;
135
+ if (result.exitCode === 1)
136
+ return false;
137
+ throw new GitCommandFailureError(formatGitCommandFailure(args, result));
138
+ }
139
+ async function countRange(gitDir, range) {
140
+ const result = await gitWithTransientRetries({
141
+ gitDir,
142
+ args: ['rev-list', '--count', range],
143
+ });
144
+ const parsed = Number.parseInt(result.stdout.trim(), 10);
145
+ if (Number.isNaN(parsed)) {
146
+ throw new Error(`git rev-list --count ${range} returned non-numeric output: ${result.stdout}`);
147
+ }
148
+ return parsed;
149
+ }
150
+ async function fetchCurrentBranch(options) {
151
+ const authenticatedUrl = buildAuthenticatedGitUrl(options.repoUrl, options.githubToken);
152
+ const upstreamProbeArgs = ['ls-remote', '--heads', authenticatedUrl, options.branch];
153
+ const upstreamProbe = await gitWithTransientRetries({
154
+ gitDir: options.gitDir,
155
+ args: upstreamProbeArgs,
156
+ });
157
+ if (upstreamProbe.stdout.trim().length === 0) {
158
+ return 'no-upstream';
159
+ }
160
+ const remoteRef = `refs/remotes/origin/${options.branch}`;
161
+ const fetchArgs = [
162
+ 'fetch',
163
+ '--prune',
164
+ authenticatedUrl,
165
+ `refs/heads/${options.branch}:${remoteRef}`,
166
+ ];
167
+ await gitWithTransientRetries({ gitDir: options.gitDir, args: fetchArgs });
168
+ return 'fetched';
169
+ }
170
+ function describeCurrentBranchSync(sync) {
171
+ if (!sync) {
172
+ return 'No current branch was supplied by the worker, so only the default branch was refreshed.';
173
+ }
174
+ switch (sync.status) {
175
+ case 'fast-forwarded':
176
+ return `Current branch '${sync.branch}' fast-forwarded from ${sync.localHead} to ${sync.remoteHead}; the worker reset the worktree to materialize the new HEAD.`;
177
+ case 'up-to-date':
178
+ return `Current branch '${sync.branch}' was already up to date with ${sync.upstreamTrackingRef}.`;
179
+ case 'ahead':
180
+ return sync.reason;
181
+ case 'default-branch':
182
+ return sync.localHead === sync.remoteHead
183
+ ? `Current branch '${sync.branch}' is the default branch and was already at ${sync.remoteHead}.`
184
+ : `Current branch '${sync.branch}' is the default branch; it fast-forwarded from ${sync.localHead} to ${sync.remoteHead}, and the worker reset the worktree to materialize the new HEAD.`;
185
+ case 'detached':
186
+ return sync.reason;
187
+ case 'dirty-worktree':
188
+ return sync.reason;
189
+ case 'diverged':
190
+ return sync.reason;
191
+ case 'no-upstream':
192
+ return sync.reason;
193
+ default: {
194
+ const exhaustiveStatus = sync;
195
+ return `Unhandled current branch sync status: ${String(exhaustiveStatus)}`;
196
+ }
197
+ }
72
198
  }
73
- async function countRange(cwd, range) {
74
- const result = await git({ cwd, args: ['rev-list', '--count', range], reject: false });
75
- if (result.exitCode !== 0)
76
- return 0;
77
- return Number.parseInt(result.stdout.trim(), 10) || 0;
199
+ function buildAdvancedPullMessage(options) {
200
+ const defaultSummary = options.localDefaultHead === options.remoteDefaultHead
201
+ ? `Default branch '${options.defaultBranch}' is now at ${options.localDefaultHead}.`
202
+ : `Default branch '${options.defaultBranch}' was refreshed, but local head ${options.localDefaultHead} differs from remote ${options.remoteDefaultHead}.`;
203
+ return `${defaultSummary} ${describeCurrentBranchSync(options.currentBranchSync)}`;
204
+ }
205
+ async function recordControllerGitPullEvent(options) {
206
+ try {
207
+ await options.recordEvent?.(options.event);
208
+ }
209
+ catch (error) {
210
+ process.stderr.write(`[git-pull-default] Failed to record ${options.event.event}: ${errorMessage(error)}\n`);
211
+ }
78
212
  }
79
- async function currentBranch(cwd) {
80
- const result = await git({ cwd, args: ['branch', '--show-current'], reject: false });
81
- if (result.exitCode !== 0)
82
- return null;
83
- const branch = result.stdout.trim();
84
- return branch.length > 0 ? branch : null;
213
+ async function buildCurrentBranchSyncResult(options) {
214
+ const branch = options.pullRequest.currentBranch;
215
+ if (!branch) {
216
+ const detachedHead = options.pullRequest.currentHead ?? (await gitStdout(options.gitDir, ['rev-parse', 'HEAD']));
217
+ return {
218
+ branch: null,
219
+ upstreamTrackingRef: null,
220
+ status: 'detached',
221
+ localHead: detachedHead,
222
+ reason: `Detached HEAD at ${detachedHead}; controller did not pull the current branch.`,
223
+ };
224
+ }
225
+ const localRef = `refs/heads/${branch}`;
226
+ const remoteRef = `refs/remotes/origin/${branch}`;
227
+ const upstreamTrackingRef = `origin/${branch}`;
228
+ if (branch === options.defaultBranch) {
229
+ const localHead = options.pullRequest.currentHead ?? (await gitStdout(options.gitDir, ['rev-parse', localRef]));
230
+ const remoteHead = await gitStdout(options.gitDir, ['rev-parse', remoteRef]);
231
+ return {
232
+ branch,
233
+ upstreamTrackingRef,
234
+ status: 'default-branch',
235
+ localHead,
236
+ remoteHead,
237
+ reason: localHead === remoteHead
238
+ ? `Current branch '${branch}' is the default branch and was already up to date.`
239
+ : `Current branch '${branch}' is the default branch and was fast-forwarded from ${localHead} to ${remoteHead}.`,
240
+ };
241
+ }
242
+ const fetchStatus = await fetchCurrentBranch({
243
+ branch,
244
+ gitDir: options.gitDir,
245
+ githubToken: options.githubToken,
246
+ repoUrl: options.repoUrl,
247
+ });
248
+ if (fetchStatus === 'no-upstream') {
249
+ return {
250
+ branch,
251
+ upstreamTrackingRef: null,
252
+ status: 'no-upstream',
253
+ ...(options.pullRequest.currentHead ? { localHead: options.pullRequest.currentHead } : {}),
254
+ reason: `Current branch '${branch}' has no upstream tracking ref on origin.`,
255
+ };
256
+ }
257
+ const localHead = options.pullRequest.currentHead ?? (await gitStdout(options.gitDir, ['rev-parse', localRef]));
258
+ const remoteHead = await gitStdout(options.gitDir, ['rev-parse', remoteRef]);
259
+ if (localHead === remoteHead) {
260
+ return {
261
+ branch,
262
+ upstreamTrackingRef,
263
+ status: 'up-to-date',
264
+ localHead,
265
+ remoteHead,
266
+ };
267
+ }
268
+ const localAncestorOfRemote = await isAncestor({
269
+ gitDir: options.gitDir,
270
+ ancestorRef: localRef,
271
+ descendantRef: remoteRef,
272
+ });
273
+ if (localAncestorOfRemote) {
274
+ if (options.pullRequest.worktreeDirty === true) {
275
+ return {
276
+ branch,
277
+ upstreamTrackingRef,
278
+ status: 'dirty-worktree',
279
+ localHead,
280
+ remoteHead,
281
+ reason: `Current branch '${branch}' can fast-forward to ${upstreamTrackingRef}, but the worker worktree has uncommitted changes.`,
282
+ };
283
+ }
284
+ await updateRefAndVerify({
285
+ gitDir: options.gitDir,
286
+ ref: localRef,
287
+ sourceRef: remoteRef,
288
+ expectedHead: remoteHead,
289
+ });
290
+ return {
291
+ branch,
292
+ upstreamTrackingRef,
293
+ status: 'fast-forwarded',
294
+ localHead,
295
+ remoteHead,
296
+ };
297
+ }
298
+ const remoteAncestorOfLocal = await isAncestor({
299
+ gitDir: options.gitDir,
300
+ ancestorRef: remoteRef,
301
+ descendantRef: localRef,
302
+ });
303
+ if (remoteAncestorOfLocal) {
304
+ return {
305
+ branch,
306
+ upstreamTrackingRef,
307
+ status: 'ahead',
308
+ localHead,
309
+ remoteHead,
310
+ reason: `Current branch '${branch}' is ahead of ${upstreamTrackingRef}; controller did not modify it.`,
311
+ };
312
+ }
313
+ return {
314
+ branch,
315
+ upstreamTrackingRef,
316
+ status: 'diverged',
317
+ localHead,
318
+ remoteHead,
319
+ reason: `Current branch '${branch}' diverged from ${upstreamTrackingRef}; controller did not merge or rebase. Resolve manually or ask for a merge plan.`,
320
+ };
85
321
  }
86
322
  export async function pullDefaultForTask(options) {
87
323
  const repo = options.activeTask.repos.find((candidate) => candidate.repoUrl === options.repoUrl);
@@ -92,83 +328,184 @@ export async function pullDefaultForTask(options) {
92
328
  const defaultBranch = repo.baseBranch;
93
329
  const defaultRef = `refs/heads/${defaultBranch}`;
94
330
  const remoteDefaultRef = `refs/remotes/origin/${defaultBranch}`;
95
- const previousRemoteDefaultHead = (await refExists(repo.hostWorkspacePath, remoteDefaultRef))
96
- ? await gitStdout(repo.hostWorkspacePath, ['rev-parse', remoteDefaultRef])
331
+ const previousRemoteDefaultHead = (await refExists(repo.hostGitDir, remoteDefaultRef))
332
+ ? await gitStdout(repo.hostGitDir, ['rev-parse', remoteDefaultRef])
97
333
  : null;
98
- const fetchResult = await git({
99
- cwd: repo.hostWorkspacePath,
100
- args: [
101
- 'fetch',
102
- '--prune',
103
- buildPushUrl(options.repoUrl, options.githubToken),
104
- `${defaultBranch}:${remoteDefaultRef}`,
105
- ],
106
- reject: false,
334
+ await recordControllerGitPullEvent({
335
+ recordEvent: options.recordEvent,
336
+ event: {
337
+ event: 'controller-git-pull-started',
338
+ repoUrl: options.repoUrl,
339
+ },
107
340
  });
108
- if (fetchResult.exitCode !== 0) {
341
+ const fetchArgs = [
342
+ 'fetch',
343
+ '--prune',
344
+ buildAuthenticatedGitUrl(options.repoUrl, options.githubToken),
345
+ `${defaultBranch}:${remoteDefaultRef}`,
346
+ ];
347
+ const fetchRetryResult = await runGitCommandWithTransientRetries({
348
+ run: async () => await git({ gitDir: repo.hostGitDir, args: fetchArgs, reject: false }),
349
+ onRetry: async ({ attempt, delayMs, result }) => {
350
+ const detail = scrubGithubTokenFromOutput(`${result.stdout}\n${result.stderr}`).trim();
351
+ await recordControllerGitPullEvent({
352
+ recordEvent: options.recordEvent,
353
+ event: {
354
+ event: 'controller-git-pull-retry',
355
+ repoUrl: options.repoUrl,
356
+ attempts: attempt,
357
+ message: detail,
358
+ retryDelaySeconds: delayMs / 1000,
359
+ },
360
+ });
361
+ },
362
+ sleep,
363
+ });
364
+ if (fetchRetryResult.result.exitCode !== 0) {
365
+ const detail = scrubGithubTokenFromOutput(`${fetchRetryResult.result.stdout}\n${fetchRetryResult.result.stderr}`).trim();
366
+ const message = fetchRetryResult.attempts > 1
367
+ ? `Fetch failed\n${GIT_PULL_RETRY_AFTER_MESSAGE}\n${detail}`
368
+ : `Fetch failed\n${detail}`;
369
+ throw new GitPullFailedAfterRetriesError(message, fetchRetryResult.attempts);
370
+ }
371
+ const remoteDefaultHead = await gitStdout(repo.hostGitDir, ['rev-parse', remoteDefaultRef]);
372
+ const fetchedCommits = previousRemoteDefaultHead
373
+ ? await commitSummaries(repo.hostGitDir, `${previousRemoteDefaultHead}..${remoteDefaultRef}`)
374
+ : [];
375
+ if (!(await refExists(repo.hostGitDir, defaultRef))) {
376
+ const message = `Local default branch ref '${defaultRef}' is missing; controller refused to create it during git-pull-default. Recreate the task or inspect the host gitdir.`;
109
377
  return {
378
+ kind: 'refused-not-fast-forward',
110
379
  repoUrl: options.repoUrl,
111
380
  success: false,
112
- error: `Fetch failed: ${scrubGithubTokenFromOutput(`${fetchResult.stdout}\n${fetchResult.stderr}`).trim()}`,
381
+ message,
382
+ defaultBranch,
383
+ remoteDefaultHead,
384
+ error: message,
113
385
  };
114
386
  }
115
- const remoteDefaultHead = await gitStdout(repo.hostWorkspacePath, [
116
- 'rev-parse',
117
- remoteDefaultRef,
118
- ]);
119
- const fetchedCommits = previousRemoteDefaultHead
120
- ? await commitSummaries(repo.hostWorkspacePath, `${previousRemoteDefaultHead}..${remoteDefaultRef}`)
121
- : [];
122
- if (await refExists(repo.hostWorkspacePath, defaultRef)) {
123
- const fastForwardCheck = await git({
124
- cwd: repo.hostWorkspacePath,
125
- args: ['merge-base', '--is-ancestor', defaultRef, remoteDefaultRef],
126
- reject: false,
387
+ {
388
+ const fastForwardCheck = await isAncestor({
389
+ gitDir: repo.hostGitDir,
390
+ ancestorRef: defaultRef,
391
+ descendantRef: remoteDefaultRef,
127
392
  });
128
- if (fastForwardCheck.exitCode !== 0) {
393
+ if (!fastForwardCheck) {
394
+ const message = `Local ${defaultBranch} cannot be fast-forwarded to origin/${defaultBranch}; inspect it manually.`;
129
395
  return {
396
+ kind: 'refused-not-fast-forward',
130
397
  repoUrl: options.repoUrl,
131
398
  success: false,
399
+ message,
132
400
  defaultBranch,
133
401
  remoteDefaultHead,
134
- error: `Local ${defaultBranch} cannot be fast-forwarded to origin/${defaultBranch}; inspect it manually.`,
402
+ error: message,
135
403
  };
136
404
  }
137
405
  }
138
- await git({
139
- cwd: repo.hostWorkspacePath,
140
- args: ['update-ref', defaultRef, remoteDefaultRef],
141
- reject: true,
406
+ const previousLocalDefaultHead = await gitStdout(repo.hostGitDir, ['rev-parse', defaultRef]);
407
+ if (options.currentBranch === defaultBranch &&
408
+ options.worktreeDirty === true &&
409
+ previousLocalDefaultHead !== remoteDefaultHead) {
410
+ const message = `Current branch '${defaultBranch}' is the default branch and can fast-forward to origin/${defaultBranch}, but the worker worktree has uncommitted changes. Commit or stash before calling git-pull-default.`;
411
+ return {
412
+ kind: 'refused-not-fast-forward',
413
+ repoUrl: options.repoUrl,
414
+ success: false,
415
+ message,
416
+ defaultBranch,
417
+ remoteDefaultHead,
418
+ error: message,
419
+ };
420
+ }
421
+ await updateRefAndVerify({
422
+ gitDir: repo.hostGitDir,
423
+ ref: defaultRef,
424
+ sourceRef: remoteDefaultRef,
425
+ expectedHead: remoteDefaultHead,
142
426
  });
143
- const localDefaultHead = await gitStdout(repo.hostWorkspacePath, ['rev-parse', defaultRef]);
144
- const branch = await currentBranch(repo.hostWorkspacePath);
145
- const forkPoint = await gitStdout(repo.hostWorkspacePath, [
427
+ const localDefaultHead = await gitStdout(repo.hostGitDir, ['rev-parse', defaultRef]);
428
+ const shouldSyncCurrentBranch = options.currentBranch !== undefined ||
429
+ options.currentHead !== undefined ||
430
+ options.worktreeDirty !== undefined;
431
+ const currentBranchSync = shouldSyncCurrentBranch
432
+ ? await buildCurrentBranchSyncResult({
433
+ defaultBranch,
434
+ gitDir: repo.hostGitDir,
435
+ githubToken: options.githubToken,
436
+ pullRequest: options,
437
+ repoUrl: options.repoUrl,
438
+ })
439
+ : undefined;
440
+ const currentHeadRef = options.currentHead ?? 'HEAD';
441
+ const forkPoint = await gitStdout(repo.hostGitDir, [
146
442
  'merge-base',
147
- 'HEAD',
443
+ currentHeadRef,
148
444
  remoteDefaultRef,
149
445
  ]);
150
- const commitsSinceForkPoint = await commitSummaries(repo.hostWorkspacePath, `${forkPoint}..${remoteDefaultRef}`);
151
- return {
446
+ const commitsSinceForkPoint = await commitSummaries(repo.hostGitDir, `${forkPoint}..${remoteDefaultRef}`);
447
+ const message = buildAdvancedPullMessage({
448
+ currentBranchSync,
449
+ defaultBranch,
450
+ localDefaultHead,
451
+ remoteDefaultHead,
452
+ });
453
+ const result = {
454
+ kind: 'advanced',
152
455
  repoUrl: options.repoUrl,
153
456
  success: true,
457
+ message,
154
458
  defaultBranch,
155
459
  remoteDefaultHead,
156
460
  localDefaultHead,
157
- currentBranch: branch,
461
+ ...(options.currentBranch !== undefined ? { currentBranch: options.currentBranch } : {}),
462
+ ...(currentBranchSync ? { currentBranchSync } : {}),
158
463
  fetchedCommits,
159
464
  commitsSinceForkPoint,
160
465
  divergence: {
161
- aheadOfDefault: await countRange(repo.hostWorkspacePath, `${remoteDefaultRef}..HEAD`),
162
- behindDefault: await countRange(repo.hostWorkspacePath, `HEAD..${remoteDefaultRef}`),
466
+ aheadOfDefault: await countRange(repo.hostGitDir, `${remoteDefaultRef}..${currentHeadRef}`),
467
+ behindDefault: await countRange(repo.hostGitDir, `${currentHeadRef}..${remoteDefaultRef}`),
163
468
  forkPoint,
164
469
  },
165
470
  };
471
+ await recordControllerGitPullEvent({
472
+ recordEvent: options.recordEvent,
473
+ event: {
474
+ event: 'controller-git-pull-succeeded',
475
+ repoUrl: options.repoUrl,
476
+ attempts: fetchRetryResult.attempts,
477
+ defaultBranch,
478
+ remoteDefaultHead,
479
+ localDefaultHead,
480
+ },
481
+ });
482
+ return result;
166
483
  }
167
484
  catch (error) {
485
+ if (!(error instanceof GitPullFailedAfterRetriesError) &&
486
+ !(error instanceof GitCommandFailureError)) {
487
+ throw error;
488
+ }
489
+ const retryAfterSeconds = error instanceof GitPullFailedAfterRetriesError && error.attempts > 1
490
+ ? GIT_PULL_RETRY_AFTER_SECONDS
491
+ : undefined;
492
+ const message = errorMessage(error);
493
+ await recordControllerGitPullEvent({
494
+ recordEvent: options.recordEvent,
495
+ event: {
496
+ event: 'controller-git-pull-failed',
497
+ repoUrl: options.repoUrl,
498
+ attempts: error instanceof GitPullFailedAfterRetriesError ? error.attempts : 0,
499
+ message,
500
+ ...(retryAfterSeconds !== undefined ? { retryAfterSeconds } : {}),
501
+ },
502
+ });
168
503
  return {
504
+ kind: 'failed',
169
505
  repoUrl: options.repoUrl,
170
506
  success: false,
171
- error: error instanceof Error ? error.message : String(error),
507
+ message,
508
+ error: message,
172
509
  };
173
510
  }
174
511
  }
@@ -1 +1 @@
1
- {"version":3,"file":"git-pull-default-operations.js","sourceRoot":"","sources":["../../src/controller/git-pull-default-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-pull-default-operations.js","sourceRoot":"","sources":["../../src/controller/git-pull-default-operations.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { TaskEvent } from '@agent-vm/agent-vm-worker';
1
2
  import type { ActiveWorkerTask } from './active-task-registry.js';
2
3
  export interface PushBranchRequest {
3
4
  readonly repoUrl: string;
@@ -32,6 +33,7 @@ export declare function pushBranchesForTask(options: {
32
33
  readonly activeTask: ActiveWorkerTask;
33
34
  readonly branches: readonly PushBranchRequest[];
34
35
  readonly githubToken: string;
36
+ readonly recordEvent?: (event: TaskEvent) => Promise<void>;
35
37
  }): Promise<{
36
38
  readonly results: readonly PushBranchResult[];
37
39
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"git-push-operations.d.ts","sourceRoot":"","sources":["../../src/controller/git-push-operations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAKlE,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACvB;AASD,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACxD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACzD,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE;QAAE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1F;AAED,qBAAa,2BAA4B,SAAQ,KAAK;CAAG;AAiMzD,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IAClD,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC7B,GAAG,OAAO,CAAC;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAA;CAAE,CAAC,CA0C7D"}
1
+ {"version":3,"file":"git-push-operations.d.ts","sourceRoot":"","sources":["../../src/controller/git-push-operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAG3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AASlE,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACvB;AASD,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACxD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACzD,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE;QAAE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1F;AAED,qBAAa,2BAA4B,SAAQ,KAAK;CAAG;AAwXzD,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IAClD,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D,GAAG,OAAO,CAAC;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAA;CAAE,CAAC,CAgD7D"}