@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.
- package/dist/backup/backup-create-operation.d.ts +3 -1
- package/dist/backup/backup-create-operation.d.ts.map +1 -1
- package/dist/backup/backup-create-operation.js +49 -14
- package/dist/backup/backup-create-operation.js.map +1 -1
- package/dist/backup/backup-manager.d.ts +8 -6
- package/dist/backup/backup-manager.d.ts.map +1 -1
- package/dist/backup/backup-manager.js +7 -5
- package/dist/backup/backup-manager.js.map +1 -1
- package/dist/backup/backup-restore-operation.d.ts +1 -1
- package/dist/backup/backup-restore-operation.d.ts.map +1 -1
- package/dist/backup/backup-restore-operation.js +13 -9
- package/dist/backup/backup-restore-operation.js.map +1 -1
- package/dist/build/docker-image-builder.d.ts.map +1 -1
- package/dist/build/docker-image-builder.js +12 -6
- package/dist/build/docker-image-builder.js.map +1 -1
- package/dist/cli/backup-commands.d.ts.map +1 -1
- package/dist/cli/backup-commands.js +4 -2
- package/dist/cli/backup-commands.js.map +1 -1
- package/dist/cli/commands/controller-definition.d.ts +86 -68
- package/dist/cli/commands/controller-definition.d.ts.map +1 -1
- package/dist/cli/commands/controller-definition.js +20 -0
- package/dist/cli/commands/controller-definition.js.map +1 -1
- package/dist/cli/commands/create-app.d.ts +86 -68
- package/dist/cli/commands/create-app.d.ts.map +1 -1
- package/dist/cli/commands/init-definition.d.ts.map +1 -1
- package/dist/cli/commands/init-definition.js +3 -1
- package/dist/cli/commands/init-definition.js.map +1 -1
- package/dist/cli/commands/paths-definition.d.ts.map +1 -1
- package/dist/cli/commands/paths-definition.js +9 -4
- package/dist/cli/commands/paths-definition.js.map +1 -1
- package/dist/cli/controller-operation-commands.d.ts.map +1 -1
- package/dist/cli/controller-operation-commands.js +70 -11
- package/dist/cli/controller-operation-commands.js.map +1 -1
- package/dist/cli/init-command.d.ts.map +1 -1
- package/dist/cli/init-command.js +45 -28
- package/dist/cli/init-command.js.map +1 -1
- package/dist/cli/lease-commands.d.ts.map +1 -1
- package/dist/cli/lease-commands.js +8 -0
- package/dist/cli/lease-commands.js.map +1 -1
- package/dist/cli/run-task.js +1 -1
- package/dist/cli/vm-host-system-templates.d.ts +1 -0
- package/dist/cli/vm-host-system-templates.d.ts.map +1 -1
- package/dist/cli/vm-host-system-templates.js +2 -2
- package/dist/cli/vm-host-system-templates.js.map +1 -1
- package/dist/config/system-config.d.ts +22 -9
- package/dist/config/system-config.d.ts.map +1 -1
- package/dist/config/system-config.js +72 -14
- package/dist/config/system-config.js.map +1 -1
- package/dist/controller/active-task-registry.d.ts +14 -2
- package/dist/controller/active-task-registry.d.ts.map +1 -1
- package/dist/controller/active-task-registry.js +14 -0
- package/dist/controller/active-task-registry.js.map +1 -1
- package/dist/controller/controller-runtime.d.ts.map +1 -1
- package/dist/controller/controller-runtime.js +27 -8
- package/dist/controller/controller-runtime.js.map +1 -1
- package/dist/controller/git-pull-default-operations.d.ts +101 -9
- package/dist/controller/git-pull-default-operations.d.ts.map +1 -1
- package/dist/controller/git-pull-default-operations.js +405 -68
- package/dist/controller/git-pull-default-operations.js.map +1 -1
- package/dist/controller/git-push-operations.d.ts +2 -0
- package/dist/controller/git-push-operations.d.ts.map +1 -1
- package/dist/controller/git-push-operations.js +267 -76
- package/dist/controller/git-push-operations.js.map +1 -1
- package/dist/controller/git-retry-support.d.ts +21 -0
- package/dist/controller/git-retry-support.d.ts.map +1 -0
- package/dist/controller/git-retry-support.js +60 -0
- package/dist/controller/git-retry-support.js.map +1 -0
- package/dist/controller/http/controller-client.d.ts +2 -0
- package/dist/controller/http/controller-client.d.ts.map +1 -1
- package/dist/controller/http/controller-client.js +13 -0
- package/dist/controller/http/controller-client.js.map +1 -1
- package/dist/controller/http/controller-http-route-support.d.ts +7 -2
- package/dist/controller/http/controller-http-route-support.d.ts.map +1 -1
- package/dist/controller/http/controller-http-route-support.js +17 -1
- package/dist/controller/http/controller-http-route-support.js.map +1 -1
- package/dist/controller/http/controller-http-routes.d.ts +4 -1
- package/dist/controller/http/controller-http-routes.d.ts.map +1 -1
- package/dist/controller/http/controller-http-routes.js +33 -6
- package/dist/controller/http/controller-http-routes.js.map +1 -1
- package/dist/controller/http/controller-lease-response-types.d.ts +17 -0
- package/dist/controller/http/controller-lease-response-types.d.ts.map +1 -0
- package/dist/controller/http/controller-lease-response-types.js +16 -0
- package/dist/controller/http/controller-lease-response-types.js.map +1 -0
- package/dist/controller/http/controller-request-schemas.d.ts +84 -13
- package/dist/controller/http/controller-request-schemas.d.ts.map +1 -1
- package/dist/controller/http/controller-request-schemas.js +110 -9
- package/dist/controller/http/controller-request-schemas.js.map +1 -1
- package/dist/controller/http/controller-zone-operation-routes.d.ts.map +1 -1
- package/dist/controller/http/controller-zone-operation-routes.js +10 -3
- package/dist/controller/http/controller-zone-operation-routes.js.map +1 -1
- package/dist/controller/leases/idle-reaper.d.ts +3 -1
- package/dist/controller/leases/idle-reaper.d.ts.map +1 -1
- package/dist/controller/leases/idle-reaper.js +3 -2
- package/dist/controller/leases/idle-reaper.js.map +1 -1
- package/dist/controller/leases/lease-manager.d.ts +18 -9
- package/dist/controller/leases/lease-manager.d.ts.map +1 -1
- package/dist/controller/leases/lease-manager.js +155 -57
- package/dist/controller/leases/lease-manager.js.map +1 -1
- package/dist/controller/leases/lease-workspace-paths.d.ts +14 -0
- package/dist/controller/leases/lease-workspace-paths.d.ts.map +1 -0
- package/dist/controller/leases/lease-workspace-paths.js +104 -0
- package/dist/controller/leases/lease-workspace-paths.js.map +1 -0
- package/dist/controller/runtime-instructions-builder.d.ts +1 -2
- package/dist/controller/runtime-instructions-builder.d.ts.map +1 -1
- package/dist/controller/runtime-instructions-builder.js +8 -9
- package/dist/controller/runtime-instructions-builder.js.map +1 -1
- package/dist/controller/task-config-builder.d.ts +2 -1
- package/dist/controller/task-config-builder.d.ts.map +1 -1
- package/dist/controller/task-config-builder.js +2 -1
- package/dist/controller/task-config-builder.js.map +1 -1
- package/dist/controller/worker-task-runner.d.ts +10 -4
- package/dist/controller/worker-task-runner.d.ts.map +1 -1
- package/dist/controller/worker-task-runner.js +147 -44
- package/dist/controller/worker-task-runner.js.map +1 -1
- package/dist/gateway/gateway-zone-orchestrator.d.ts.map +1 -1
- package/dist/gateway/gateway-zone-orchestrator.js +4 -2
- package/dist/gateway/gateway-zone-orchestrator.js.map +1 -1
- package/dist/gateway/gateway-zone-support.d.ts.map +1 -1
- package/dist/gateway/gateway-zone-support.js +18 -10
- package/dist/gateway/gateway-zone-support.js.map +1 -1
- package/dist/operations/config-validation.d.ts +1 -0
- package/dist/operations/config-validation.d.ts.map +1 -1
- package/dist/operations/config-validation.js +7 -3
- package/dist/operations/config-validation.js.map +1 -1
- package/dist/operations/destroy-zone.d.ts.map +1 -1
- package/dist/operations/destroy-zone.js +8 -1
- package/dist/operations/destroy-zone.js.map +1 -1
- package/dist/operations/doctor.d.ts +4 -0
- package/dist/operations/doctor.d.ts.map +1 -1
- package/dist/operations/doctor.js +127 -4
- package/dist/operations/doctor.js.map +1 -1
- package/dist/operations/runtime-config-paths.d.ts +4 -0
- package/dist/operations/runtime-config-paths.d.ts.map +1 -0
- package/dist/operations/runtime-config-paths.js +6 -0
- package/dist/operations/runtime-config-paths.js.map +1 -0
- package/dist/perf/gondolin-vfs-benchmark-support.d.ts +28 -0
- package/dist/perf/gondolin-vfs-benchmark-support.d.ts.map +1 -0
- package/dist/perf/gondolin-vfs-benchmark-support.js +50 -0
- package/dist/perf/gondolin-vfs-benchmark-support.js.map +1 -0
- package/dist/tool-vm/tool-vm-lifecycle.d.ts +5 -7
- package/dist/tool-vm/tool-vm-lifecycle.d.ts.map +1 -1
- package/dist/tool-vm/tool-vm-lifecycle.js +32 -27
- package/dist/tool-vm/tool-vm-lifecycle.js.map +1 -1
- 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
|
|
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
|
-
|
|
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
|
|
51
|
+
exitCode: result.exitCode,
|
|
29
52
|
};
|
|
30
53
|
if (options.reject === true && normalized.exitCode !== 0) {
|
|
31
|
-
throw new
|
|
54
|
+
throw new GitCommandFailureError(formatGitCommandFailure(options.args, normalized));
|
|
32
55
|
}
|
|
33
56
|
return normalized;
|
|
34
57
|
}
|
|
35
|
-
|
|
36
|
-
return (
|
|
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(
|
|
60
|
-
const result = await
|
|
61
|
-
|
|
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(
|
|
70
|
-
|
|
71
|
-
|
|
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
|
-
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
return
|
|
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
|
|
80
|
-
const
|
|
81
|
-
if (
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
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.
|
|
96
|
-
? await gitStdout(repo.
|
|
331
|
+
const previousRemoteDefaultHead = (await refExists(repo.hostGitDir, remoteDefaultRef))
|
|
332
|
+
? await gitStdout(repo.hostGitDir, ['rev-parse', remoteDefaultRef])
|
|
97
333
|
: null;
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
'
|
|
102
|
-
|
|
103
|
-
|
|
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
|
-
|
|
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
|
-
|
|
381
|
+
message,
|
|
382
|
+
defaultBranch,
|
|
383
|
+
remoteDefaultHead,
|
|
384
|
+
error: message,
|
|
113
385
|
};
|
|
114
386
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
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
|
|
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:
|
|
402
|
+
error: message,
|
|
135
403
|
};
|
|
136
404
|
}
|
|
137
405
|
}
|
|
138
|
-
await
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
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.
|
|
144
|
-
const
|
|
145
|
-
|
|
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
|
-
|
|
443
|
+
currentHeadRef,
|
|
148
444
|
remoteDefaultRef,
|
|
149
445
|
]);
|
|
150
|
-
const commitsSinceForkPoint = await commitSummaries(repo.
|
|
151
|
-
|
|
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:
|
|
461
|
+
...(options.currentBranch !== undefined ? { currentBranch: options.currentBranch } : {}),
|
|
462
|
+
...(currentBranchSync ? { currentBranchSync } : {}),
|
|
158
463
|
fetchedCommits,
|
|
159
464
|
commitsSinceForkPoint,
|
|
160
465
|
divergence: {
|
|
161
|
-
aheadOfDefault: await countRange(repo.
|
|
162
|
-
behindDefault: await countRange(repo.
|
|
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
|
-
|
|
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":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAG9B,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,iCAAiC,EAAyB,MAAM,wBAAwB,CAAC;AAElG,MAAM,wBAAwB,GAAG,OAAO,CAAC;AACzC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AACzC,MAAM,4BAA4B,GACjC,oKAAoK,CAAC;AA4JtK,MAAM,OAAO,0BAA2B,SAAQ,KAAK;CAAG;AAExD,MAAM,sBAAuB,SAAQ,KAAK;IACzC,YAAmB,OAAe;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACtC,CAAC;CACD;AAED,MAAM,8BAA+B,SAAQ,KAAK;IAGhC;IAFjB,YACC,OAAe,EACC,QAAgB;QAEhC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,aAAQ,GAAR,QAAQ,CAAQ;QAGhC,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC9C,CAAC;CACD;AAED,SAAS,gBAAgB,CAAC,OAAe;IACxC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,+CAA+C,CAAC;IACnE,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACxD,MAAM,IAAI,0BAA0B,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe,EAAE,WAAmB;IACrE,OAAO,0BAA0B,WAAW,eAAe,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC;AAC5F,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IACnC,OAAO,0BAA0B,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,OAIlB;IACA,MAAM,MAAM,GAAG,MAAM,KAAK,CACzB,KAAK,EACL,CAAC,IAAI,EAAE,0BAA0B,EAAE,aAAa,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,EAClF;QACC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;QAC/B,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,wBAAwB;KACjC,CACD,CAAC;IACF,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,IAAI,sBAAsB,CAC/B,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qCAAqC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAC1G,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG;QAClB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;KACzB,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,UAAU,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,sBAAsB,CAAC,uBAAuB,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAuB,EAAE,MAAwB;IACjF,OAAO,0BAA0B,CAChC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CACzE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,OAAe;IACnC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,OAGtC;IACA,MAAM,WAAW,GAAG,MAAM,iCAAiC,CAAC;QAC3D,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACzF,KAAK;KACL,CAAC,CAAC;IACH,IAAI,WAAW,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,sBAAsB,CAAC,uBAAuB,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,WAAW,CAAC,MAAM,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAKjC;IACA,MAAM,uBAAuB,CAAC;QAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC;KACpD,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,CAClB,MAAM,GAAG,CAAC;QACT,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC;QAChC,MAAM,EAAE,IAAI;KACZ,CAAC,CACF,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAChB,IAAI,UAAU,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC;QACzC,MAAM,IAAI,sBAAsB,CAC/B,kBAAkB,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,YAAY,0BAA0B,OAAO,CAAC,GAAG,UAAU,UAAU,EAAE,CAChH,CAAC;IACH,CAAC;AACF,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,MAAc,EAAE,IAAuB;IAC/D,OAAO,CAAC,MAAM,uBAAuB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC3C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1C,OAAO,MAAM;SACX,IAAI,EAAE;SACN,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACb,MAAM,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAoC;YAChD,GAAG;YACH,OAAO;SACP,CAAC;QACF,IAAI,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,eAAe,CAC7B,MAAc,EACd,KAAa;IAEb,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC;QAC5C,MAAM;QACN,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,iCAAiC,CAAC;KACvD,CAAC,CAAC;IACH,OAAO,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,MAAc,EAAE,GAAW;IACnD,MAAM,IAAI,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,CAAU,CAAC;IAChE,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,IAAI,sBAAsB,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,OAIzB;IACA,MAAM,IAAI,GAAG,CAAC,YAAY,EAAE,eAAe,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAU,CAAC;IAClG,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1E,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,IAAI,sBAAsB,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,MAAc,EAAE,KAAa;IACtD,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC;QAC5C,MAAM;QACN,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC;KACpC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,iCAAiC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAKjC;IACA,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACxF,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAU,CAAC;IAC9F,MAAM,aAAa,GAAG,MAAM,uBAAuB,CAAC;QACnD,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,iBAAiB;KACvB,CAAC,CAAC;IACH,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,OAAO,aAAa,CAAC;IACtB,CAAC;IACD,MAAM,SAAS,GAAG,uBAAuB,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1D,MAAM,SAAS,GAAG;QACjB,OAAO;QACP,SAAS;QACT,gBAAgB;QAChB,cAAc,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE;KAClC,CAAC;IACX,MAAM,uBAAuB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3E,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,yBAAyB,CAAC,IAA6C;IAC/E,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,yFAAyF,CAAC;IAClG,CAAC;IACD,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,gBAAgB;YACpB,OAAO,mBAAmB,IAAI,CAAC,MAAM,yBAAyB,IAAI,CAAC,SAAS,OAAO,IAAI,CAAC,UAAU,8DAA8D,CAAC;QAClK,KAAK,YAAY;YAChB,OAAO,mBAAmB,IAAI,CAAC,MAAM,iCAAiC,IAAI,CAAC,mBAAmB,GAAG,CAAC;QACnG,KAAK,OAAO;YACX,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,KAAK,gBAAgB;YACpB,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,UAAU;gBACxC,CAAC,CAAC,mBAAmB,IAAI,CAAC,MAAM,8CAA8C,IAAI,CAAC,UAAU,GAAG;gBAChG,CAAC,CAAC,mBAAmB,IAAI,CAAC,MAAM,mDAAmD,IAAI,CAAC,SAAS,OAAO,IAAI,CAAC,UAAU,kEAAkE,CAAC;QAC5L,KAAK,UAAU;YACd,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,KAAK,gBAAgB;YACpB,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,KAAK,UAAU;YACd,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,KAAK,aAAa;YACjB,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,OAAO,CAAC,CAAC,CAAC;YACT,MAAM,gBAAgB,GAAU,IAAI,CAAC;YACrC,OAAO,yCAAyC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC5E,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,wBAAwB,CAAC,OAKjC;IACA,MAAM,cAAc,GACnB,OAAO,CAAC,gBAAgB,KAAK,OAAO,CAAC,iBAAiB;QACrD,CAAC,CAAC,mBAAmB,OAAO,CAAC,aAAa,eAAe,OAAO,CAAC,gBAAgB,GAAG;QACpF,CAAC,CAAC,mBAAmB,OAAO,CAAC,aAAa,mCAAmC,OAAO,CAAC,gBAAgB,wBAAwB,OAAO,CAAC,iBAAiB,GAAG,CAAC;IAC5J,OAAO,GAAG,cAAc,IAAI,yBAAyB,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;AACpF,CAAC;AAED,KAAK,UAAU,4BAA4B,CAAC,OAG3C;IACA,IAAI,CAAC;QACJ,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,uCAAuC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK,CAAC,IAAI,CACtF,CAAC;IACH,CAAC;AACF,CAAC;AAED,KAAK,UAAU,4BAA4B,CAAC,OAM3C;IACA,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC;IACjD,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,YAAY,GACjB,OAAO,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7F,OAAO;YACN,MAAM,EAAE,IAAI;YACZ,mBAAmB,EAAE,IAAI;YACzB,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,YAAY;YACvB,MAAM,EAAE,oBAAoB,YAAY,+CAA+C;SACvF,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,MAAM,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,uBAAuB,MAAM,EAAE,CAAC;IAClD,MAAM,mBAAmB,GAAG,UAAU,MAAM,EAAE,CAAC;IAC/C,IAAI,MAAM,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,SAAS,GACd,OAAO,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/F,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7E,OAAO;YACN,MAAM;YACN,mBAAmB;YACnB,MAAM,EAAE,gBAAgB;YACxB,SAAS;YACT,UAAU;YACV,MAAM,EACL,SAAS,KAAK,UAAU;gBACvB,CAAC,CAAC,mBAAmB,MAAM,qDAAqD;gBAChF,CAAC,CAAC,mBAAmB,MAAM,uDAAuD,SAAS,OAAO,UAAU,GAAG;SACjH,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC;QAC5C,MAAM;QACN,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;KACxB,CAAC,CAAC;IACH,IAAI,WAAW,KAAK,aAAa,EAAE,CAAC;QACnC,OAAO;YACN,MAAM;YACN,mBAAmB,EAAE,IAAI;YACzB,MAAM,EAAE,aAAa;YACrB,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1F,MAAM,EAAE,mBAAmB,MAAM,2CAA2C;SAC5E,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GACd,OAAO,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC/F,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7E,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO;YACN,MAAM;YACN,mBAAmB;YACnB,MAAM,EAAE,YAAY;YACpB,SAAS;YACT,UAAU;SACV,CAAC;IACH,CAAC;IACD,MAAM,qBAAqB,GAAG,MAAM,UAAU,CAAC;QAC9C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,WAAW,EAAE,QAAQ;QACrB,aAAa,EAAE,SAAS;KACxB,CAAC,CAAC;IACH,IAAI,qBAAqB,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,WAAW,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YAChD,OAAO;gBACN,MAAM;gBACN,mBAAmB;gBACnB,MAAM,EAAE,gBAAgB;gBACxB,SAAS;gBACT,UAAU;gBACV,MAAM,EAAE,mBAAmB,MAAM,yBAAyB,mBAAmB,oDAAoD;aACjI,CAAC;QACH,CAAC;QACD,MAAM,kBAAkB,CAAC;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,QAAQ;YACb,SAAS,EAAE,SAAS;YACpB,YAAY,EAAE,UAAU;SACxB,CAAC,CAAC;QACH,OAAO;YACN,MAAM;YACN,mBAAmB;YACnB,MAAM,EAAE,gBAAgB;YACxB,SAAS;YACT,UAAU;SACV,CAAC;IACH,CAAC;IACD,MAAM,qBAAqB,GAAG,MAAM,UAAU,CAAC;QAC9C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,WAAW,EAAE,SAAS;QACtB,aAAa,EAAE,QAAQ;KACvB,CAAC,CAAC;IACH,IAAI,qBAAqB,EAAE,CAAC;QAC3B,OAAO;YACN,MAAM;YACN,mBAAmB;YACnB,MAAM,EAAE,OAAO;YACf,SAAS;YACT,UAAU;YACV,MAAM,EAAE,mBAAmB,MAAM,iBAAiB,mBAAmB,iCAAiC;SACtG,CAAC;IACH,CAAC;IACD,OAAO;QACN,MAAM;QACN,mBAAmB;QACnB,MAAM,EAAE,UAAU;QAClB,SAAS;QACT,UAAU;QACV,MAAM,EAAE,mBAAmB,MAAM,mBAAmB,mBAAmB,iFAAiF;KACxJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAQxC;IACA,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjG,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,IAAI,0BAA0B,CACnC,SAAS,OAAO,CAAC,OAAO,wCAAwC,OAAO,CAAC,UAAU,CAAC,MAAM,IAAI,CAC7F,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC;QACtC,MAAM,UAAU,GAAG,cAAc,aAAa,EAAE,CAAC;QACjD,MAAM,gBAAgB,GAAG,uBAAuB,aAAa,EAAE,CAAC;QAChE,MAAM,yBAAyB,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YACrF,CAAC,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;YACnE,CAAC,CAAC,IAAI,CAAC;QACR,MAAM,4BAA4B,CAAC;YAClC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE;gBACN,KAAK,EAAE,6BAA6B;gBACpC,OAAO,EAAE,OAAO,CAAC,OAAO;aACxB;SACD,CAAC,CAAC;QACH,MAAM,SAAS,GAAG;YACjB,OAAO;YACP,SAAS;YACT,wBAAwB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC;YAC9D,GAAG,aAAa,IAAI,gBAAgB,EAAE;SAC7B,CAAC;QACX,MAAM,gBAAgB,GAAG,MAAM,iCAAiC,CAAC;YAChE,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACvF,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC/C,MAAM,MAAM,GAAG,0BAA0B,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACvF,MAAM,4BAA4B,CAAC;oBAClC,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,KAAK,EAAE;wBACN,KAAK,EAAE,2BAA2B;wBAClC,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,QAAQ,EAAE,OAAO;wBACjB,OAAO,EAAE,MAAM;wBACf,iBAAiB,EAAE,OAAO,GAAG,IAAI;qBACjC;iBACD,CAAC,CAAC;YACJ,CAAC;YACD,KAAK;SACL,CAAC,CAAC;QACH,IAAI,gBAAgB,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,0BAA0B,CACxC,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,CACtE,CAAC,IAAI,EAAE,CAAC;YACT,MAAM,OAAO,GACZ,gBAAgB,CAAC,QAAQ,GAAG,CAAC;gBAC5B,CAAC,CAAC,iBAAiB,4BAA4B,KAAK,MAAM,EAAE;gBAC5D,CAAC,CAAC,iBAAiB,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAI,8BAA8B,CAAC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC9E,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC5F,MAAM,cAAc,GAAG,yBAAyB;YAC/C,CAAC,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,yBAAyB,KAAK,gBAAgB,EAAE,CAAC;YAC7F,CAAC,CAAC,EAAE,CAAC;QAEN,IAAI,CAAC,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,6BAA6B,UAAU,sHAAsH,CAAC;YAC9K,OAAO;gBACN,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,OAAO,EAAE,KAAK;gBACd,OAAO;gBACP,aAAa;gBACb,iBAAiB;gBACjB,KAAK,EAAE,OAAO;aACd,CAAC;QACH,CAAC;QACD,CAAC;YACA,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC;gBACzC,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,WAAW,EAAE,UAAU;gBACvB,aAAa,EAAE,gBAAgB;aAC/B,CAAC,CAAC;YACH,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,SAAS,aAAa,uCAAuC,aAAa,wBAAwB,CAAC;gBACnH,OAAO;oBACN,IAAI,EAAE,0BAA0B;oBAChC,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,OAAO,EAAE,KAAK;oBACd,OAAO;oBACP,aAAa;oBACb,iBAAiB;oBACjB,KAAK,EAAE,OAAO;iBACd,CAAC;YACH,CAAC;QACF,CAAC;QACD,MAAM,wBAAwB,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;QAC7F,IACC,OAAO,CAAC,aAAa,KAAK,aAAa;YACvC,OAAO,CAAC,aAAa,KAAK,IAAI;YAC9B,wBAAwB,KAAK,iBAAiB,EAC7C,CAAC;YACF,MAAM,OAAO,GAAG,mBAAmB,aAAa,0DAA0D,aAAa,qGAAqG,CAAC;YAC7N,OAAO;gBACN,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,OAAO,EAAE,KAAK;gBACd,OAAO;gBACP,aAAa;gBACb,iBAAiB;gBACjB,KAAK,EAAE,OAAO;aACd,CAAC;QACH,CAAC;QAED,MAAM,kBAAkB,CAAC;YACxB,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,GAAG,EAAE,UAAU;YACf,SAAS,EAAE,gBAAgB;YAC3B,YAAY,EAAE,iBAAiB;SAC/B,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;QACrF,MAAM,uBAAuB,GAC5B,OAAO,CAAC,aAAa,KAAK,SAAS;YACnC,OAAO,CAAC,WAAW,KAAK,SAAS;YACjC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC;QACrC,MAAM,iBAAiB,GAAG,uBAAuB;YAChD,CAAC,CAAC,MAAM,4BAA4B,CAAC;gBACnC,aAAa;gBACb,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,WAAW,EAAE,OAAO;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;aACxB,CAAC;YACH,CAAC,CAAC,SAAS,CAAC;QACb,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC;QACrD,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE;YAClD,YAAY;YACZ,cAAc;YACd,gBAAgB;SAChB,CAAC,CAAC;QACH,MAAM,qBAAqB,GAAG,MAAM,eAAe,CAClD,IAAI,CAAC,UAAU,EACf,GAAG,SAAS,KAAK,gBAAgB,EAAE,CACnC,CAAC;QAEF,MAAM,OAAO,GAAG,wBAAwB,CAAC;YACxC,iBAAiB;YACjB,aAAa;YACb,gBAAgB;YAChB,iBAAiB;SACjB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG;YACd,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,IAAI;YACb,OAAO;YACP,aAAa;YACb,iBAAiB;YACjB,gBAAgB;YAChB,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,cAAc;YACd,qBAAqB;YACrB,UAAU,EAAE;gBACX,cAAc,EAAE,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,gBAAgB,KAAK,cAAc,EAAE,CAAC;gBAC3F,aAAa,EAAE,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,cAAc,KAAK,gBAAgB,EAAE,CAAC;gBAC1F,SAAS;aACT;SACmC,CAAC;QACtC,MAAM,4BAA4B,CAAC;YAClC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE;gBACN,KAAK,EAAE,+BAA+B;gBACtC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;gBACnC,aAAa;gBACb,iBAAiB;gBACjB,gBAAgB;aAChB;SACD,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IACC,CAAC,CAAC,KAAK,YAAY,8BAA8B,CAAC;YAClD,CAAC,CAAC,KAAK,YAAY,sBAAsB,CAAC,EACzC,CAAC;YACF,MAAM,KAAK,CAAC;QACb,CAAC;QACD,MAAM,iBAAiB,GACtB,KAAK,YAAY,8BAA8B,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC;YACpE,CAAC,CAAC,4BAA4B;YAC9B,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,4BAA4B,CAAC;YAClC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE;gBACN,KAAK,EAAE,4BAA4B;gBACnC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,KAAK,YAAY,8BAA8B,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC9E,OAAO;gBACP,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjE;SACD,CAAC,CAAC;QACH,OAAO;YACN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,KAAK;YACd,OAAO;YACP,KAAK,EAAE,OAAO;SACd,CAAC;IACH,CAAC;AACF,CAAC"}
|
|
@@ -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":"
|
|
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"}
|