@detergent-software/conductor 1.3.1-dev.1 → 1.4.0-dev.10
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/CHANGELOG.md +101 -0
- package/README.md +92 -19
- package/build/brief-cli.js +105 -23
- package/build/brief-cli.js.map +1 -1
- package/build/brief.js +107 -9
- package/build/brief.js.map +1 -1
- package/build/broker.js +40 -14
- package/build/broker.js.map +1 -1
- package/build/cli.js +56 -18
- package/build/cli.js.map +1 -1
- package/build/code-host-cli.js +101 -2
- package/build/code-host-cli.js.map +1 -1
- package/build/code-host.js +18 -5
- package/build/code-host.js.map +1 -1
- package/build/conditions.js +104 -30
- package/build/conditions.js.map +1 -1
- package/build/daemon.js +64 -16
- package/build/daemon.js.map +1 -1
- package/build/follow-ups.js +72 -0
- package/build/follow-ups.js.map +1 -0
- package/build/help.js +721 -192
- package/build/help.js.map +1 -1
- package/build/in-process.js +30 -0
- package/build/in-process.js.map +1 -0
- package/build/inbox.js +113 -11
- package/build/inbox.js.map +1 -1
- package/build/landing.js +2 -11
- package/build/landing.js.map +1 -1
- package/build/lib/providers/ado/code-host.js +8 -5
- package/build/lib/providers/ado/code-host.js.map +1 -1
- package/build/lib/providers/ado/pipelines.js +16 -10
- package/build/lib/providers/ado/pipelines.js.map +1 -1
- package/build/lib/providers/github/actions.js +11 -0
- package/build/lib/providers/github/actions.js.map +1 -1
- package/build/lib/providers/github/code-host.js +17 -0
- package/build/lib/providers/github/code-host.js.map +1 -1
- package/build/lib/providers/index.js +1 -1
- package/build/lib/providers/index.js.map +1 -1
- package/build/lib/providers/npm/stage.js +33 -2
- package/build/lib/providers/npm/stage.js.map +1 -1
- package/build/lib/providers/verdicts/pr.js +14 -12
- package/build/lib/providers/verdicts/pr.js.map +1 -1
- package/build/lib/providers/verdicts/runs.js +4 -4
- package/build/lib/providers/verdicts/runs.js.map +1 -1
- package/build/manager.js +8 -3
- package/build/manager.js.map +1 -1
- package/build/note.js +95 -14
- package/build/note.js.map +1 -1
- package/build/notes.js +104 -16
- package/build/notes.js.map +1 -1
- package/build/notify.js +2 -1
- package/build/notify.js.map +1 -1
- package/build/package-info.js +12 -0
- package/build/package-info.js.map +1 -0
- package/build/profile.js +88 -14
- package/build/profile.js.map +1 -1
- package/build/project-check-cli.js +85 -0
- package/build/project-check-cli.js.map +1 -0
- package/build/project-check.js +362 -0
- package/build/project-check.js.map +1 -0
- package/build/resolve.js +11 -3
- package/build/resolve.js.map +1 -1
- package/build/rule-actions.js +9 -0
- package/build/rule-actions.js.map +1 -1
- package/build/rules-service.js +28 -19
- package/build/rules-service.js.map +1 -1
- package/build/runs.js +208 -0
- package/build/runs.js.map +1 -0
- package/build/scheduler.js +43 -1
- package/build/scheduler.js.map +1 -1
- package/build/server.js +76 -7
- package/build/server.js.map +1 -1
- package/build/store.js +27 -4
- package/build/store.js.map +1 -1
- package/build/tracker-writes.js +74 -0
- package/build/tracker-writes.js.map +1 -0
- package/build/trackers.js +20 -0
- package/build/trackers.js.map +1 -1
- package/build/wait.js +1 -0
- package/build/wait.js.map +1 -1
- package/build/watchers/ado.js +41 -12
- package/build/watchers/ado.js.map +1 -1
- package/build/watchers/boards-writes.js +182 -34
- package/build/watchers/boards-writes.js.map +1 -1
- package/build/watchers/boards.js +7 -2
- package/build/watchers/boards.js.map +1 -1
- package/build/watchers/github.js +45 -10
- package/build/watchers/github.js.map +1 -1
- package/build/watchers/index.js +40 -5
- package/build/watchers/index.js.map +1 -1
- package/build/watchers/issues-brief.js +48 -0
- package/build/watchers/issues-brief.js.map +1 -0
- package/build/watchers/issues-queue.js +85 -0
- package/build/watchers/issues-queue.js.map +1 -0
- package/build/watchers/issues-writes.js +233 -0
- package/build/watchers/issues-writes.js.map +1 -0
- package/build/watchers/issues.js +264 -0
- package/build/watchers/issues.js.map +1 -0
- package/build/watchers/linear-writes.js +198 -0
- package/build/watchers/linear-writes.js.map +1 -0
- package/build/watchers/merge.js +53 -0
- package/build/watchers/merge.js.map +1 -0
- package/build/watchers/npm.js +7 -16
- package/build/watchers/npm.js.map +1 -1
- package/build/watchers/source.js.map +1 -1
- package/build/worktrees.js +1 -0
- package/build/worktrees.js.map +1 -1
- package/mod/hooks/model.ts +11 -0
- package/mod/hooks/register.tsx +25 -3
- package/package.json +1 -1
package/build/code-host-cli.js
CHANGED
|
@@ -4,14 +4,19 @@ import { z } from 'zod';
|
|
|
4
4
|
import { aheadBehind, branchOf, checkoutBase, commitlint, needsPush, otherCheckouts, push, realDirty, REPOS_DIR, runGit, } from "./checkout.js";
|
|
5
5
|
import { callApi, NotRunningError } from "./client.js";
|
|
6
6
|
import { baseOf, checkoutDir, openPr, prChecks, projectHosts, prTarget, prThreads, replyOnPr, repoKey, repoOf, } from "./code-host.js";
|
|
7
|
+
import { pipelineNames } from "./conditions.js";
|
|
7
8
|
import { loadConfig } from "./config.js";
|
|
8
9
|
import { LoginNeeded, providerCredentials, PROVIDERS } from "./credentials.js";
|
|
9
10
|
import { ConductorError, LOGIN_NEEDED_EXIT } from "./errors.js";
|
|
11
|
+
import { followUpOf } from "./follow-ups.js";
|
|
10
12
|
import { landPr } from "./landing.js";
|
|
11
13
|
import { githubRepoRef } from "./lib/providers/index.js";
|
|
12
14
|
import { branchName, itemKey } from "./ownership.js";
|
|
13
15
|
import { PROFILE_FILE, readProfile, trackerKey } from "./profile.js";
|
|
14
16
|
import { outputOf } from "./run.js";
|
|
17
|
+
import { ciRefusal, failedLogs, gitMergeFacts, gitReader, hostMergeFacts, isOwnRepo, mergeRuns, NO_GIT, releaseStages, } from "./runs.js";
|
|
18
|
+
import {} from "./tracker-writes.js";
|
|
19
|
+
import { trackerWrites } from "./trackers.js";
|
|
15
20
|
import { daemonWorker, gitToplevel } from "./wait.js";
|
|
16
21
|
// A lost login the daemon met while writing for this worker: the verb exits 5 as for one met here.
|
|
17
22
|
class DaemonLoginNeeded extends ConductorError {
|
|
@@ -24,6 +29,8 @@ class DaemonLoginNeeded extends ConductorError {
|
|
|
24
29
|
}
|
|
25
30
|
// A write the daemon makes for the worker, 2 minutes: it reads the PR and writes a few times.
|
|
26
31
|
const WRITE_TIMEOUT_MS = 120_000;
|
|
32
|
+
// A follow-up the daemon files, 5 minutes: Linear's issue, then each relation's lookup and write.
|
|
33
|
+
const FILE_TIMEOUT_MS = 300_000;
|
|
27
34
|
const refusedBody = z.object({
|
|
28
35
|
details: z.array(z.string()).optional(),
|
|
29
36
|
error: z.string(),
|
|
@@ -42,6 +49,7 @@ const openedBody = z.looseObject({
|
|
|
42
49
|
pr: z.looseObject({ number: z.number(), url: z.string() }),
|
|
43
50
|
repo: z.string(),
|
|
44
51
|
});
|
|
52
|
+
const filedBody = z.looseObject({ key: z.string(), url: z.string().nullable(), warnings: z.array(z.string()) });
|
|
45
53
|
// `conduct branch <type> <slug> [--item KEY-n]`: worktree-KEY-n becomes <type>/key-n-<slug>.
|
|
46
54
|
export async function branchCommand(type, slug, { item }, io) {
|
|
47
55
|
return verb(io, async () => {
|
|
@@ -113,6 +121,32 @@ export async function checkoutCommand(name, type, slug, { item }, io) {
|
|
|
113
121
|
return { base, branch, checkout: dir, created: true, repo: repoKey(repo) };
|
|
114
122
|
});
|
|
115
123
|
}
|
|
124
|
+
// `conduct file --title … --body-file … --area … [--related …] [--blocked-by …] [--human]`: a
|
|
125
|
+
// follow-up of this checkout's item, in Backlog with the Area, the triage label (and the human one
|
|
126
|
+
// with --human), related to the item: by the daemon for the worker that owns the checkout, which
|
|
127
|
+
// records it, else here. Search the tracker for a duplicate first.
|
|
128
|
+
export async function fileCommand(paths, options, io) {
|
|
129
|
+
return verb(io, async () => {
|
|
130
|
+
const { checkout, git, profile } = await here(io);
|
|
131
|
+
const item = await itemFor(checkout, profile, git, options.item);
|
|
132
|
+
const { bodyFile, item: _item, ...fields } = options;
|
|
133
|
+
// The item goes with the request, so the daemon refuses one that isn't its worker's.
|
|
134
|
+
const request = { ...fields, body: readBody(bodyFile), item };
|
|
135
|
+
// Checked here first, so a bad key is refused before anything is asked of the tracker.
|
|
136
|
+
const followUp = followUpOf(request, item, profile);
|
|
137
|
+
const daemon = await viaDaemon(paths, checkout, {
|
|
138
|
+
body: request,
|
|
139
|
+
lost: `the follow-up may be filed already, so search the tracker for "${followUp.title}" before filing again`,
|
|
140
|
+
route: 'follow-ups',
|
|
141
|
+
schema: filedBody,
|
|
142
|
+
// The issue, then two requests for each relation, each within 20 s.
|
|
143
|
+
timeoutMs: FILE_TIMEOUT_MS,
|
|
144
|
+
});
|
|
145
|
+
if (daemon !== null)
|
|
146
|
+
return { from: item, ...daemon };
|
|
147
|
+
return { from: item, ...(await writesHere(paths, io).file(followUp, profile)), via: 'local' };
|
|
148
|
+
});
|
|
149
|
+
}
|
|
116
150
|
// `conduct land <pr> [--mode auto|review] --reason … [--repo …] [--rearm] [--tier S|M|L]`: the PR set
|
|
117
151
|
// up to land and its first verdict (landing.ts): by the daemon for the worker that owns the
|
|
118
152
|
// checkout, which takes the plan's tier from the item's Plan note and records the landing so the
|
|
@@ -155,9 +189,15 @@ export async function prCreateCommand(paths, options, io) {
|
|
|
155
189
|
return verb(io, async () => {
|
|
156
190
|
const { checkout, git, profile } = await here(io);
|
|
157
191
|
const item = await itemFor(checkout, profile, git, options.item);
|
|
158
|
-
const body = readBody(options.bodyFile);
|
|
159
192
|
const target = { git, item, profile, worktree: checkout };
|
|
160
193
|
const { base, dir, head, repo } = await prTarget(target, { title: options.title, ...repoOption(options.repo) });
|
|
194
|
+
// The tracker's reference (Boards' AB#<id> on a GitHub PR) is part of the body before its length
|
|
195
|
+
// is checked, on either path.
|
|
196
|
+
const reference = writesHere(paths, io).prReference(item, repo.host, profile);
|
|
197
|
+
const written = readBody(options.bodyFile);
|
|
198
|
+
// Already there as a whole reference: AB#12 isn't in "AB#123".
|
|
199
|
+
const named = reference !== null && new RegExp(`${escapeRegExp(reference)}(?![\\w])`).test(written);
|
|
200
|
+
const body = reference === null || named ? written : `${written.trimEnd()}\n\n${reference}\n`;
|
|
161
201
|
const hosts = hostsHere(paths, profile, io);
|
|
162
202
|
await prChecks(hosts(repo), head, body);
|
|
163
203
|
const { dirty, lineEndingOnly } = await realDirty(git, dir);
|
|
@@ -232,6 +272,59 @@ export async function replyCommand(paths, options, io) {
|
|
|
232
272
|
return { ...(await replyOnPr(ctx, request)), via: 'local' };
|
|
233
273
|
});
|
|
234
274
|
}
|
|
275
|
+
// `conduct runs <sha> [--for a,b] [--repo …]`: one look at a merge's runs on its repo's CI (Azure
|
|
276
|
+
// Pipelines for the project's ADO repo, GitHub Actions for a GitHub one), the verdict over them, why
|
|
277
|
+
// each failed one failed, and what each of the project's release runs staged on npm. A read, so it
|
|
278
|
+
// runs here.
|
|
279
|
+
export async function runsCommand(paths, options, io) {
|
|
280
|
+
return verb(io, async () => {
|
|
281
|
+
if (!/^[0-9a-f]{7,40}$/i.test(options.sha))
|
|
282
|
+
throw new ConductorError(`<sha> takes a commit, not "${options.sha}"`);
|
|
283
|
+
const { checkout, git, profile } = await here(io);
|
|
284
|
+
const repo = repoOf(profile, options.repo);
|
|
285
|
+
const refusal = ciRefusal(profile, repo);
|
|
286
|
+
if (refusal !== null)
|
|
287
|
+
throw new ConductorError(`refused: ${refusal}`);
|
|
288
|
+
const host = hostsHere(paths, profile, io)(repo);
|
|
289
|
+
const only = options.for === undefined ? null : pipelineNames(options.for);
|
|
290
|
+
const base = profile.baseBranch;
|
|
291
|
+
// Azure Pipelines reads the merge's YAML triggers in the worktree; GitHub Actions needs only the
|
|
292
|
+
// merge's commit.
|
|
293
|
+
const dir = repo.host === 'github' ? null : isOwnRepo(profile, repo) ? checkout : checkoutDir(checkout, profile, repo);
|
|
294
|
+
const facts = dir === null ? hostMergeFacts(await host.commit(options.sha)) : await gitMergeFacts(git, dir, base, options.sha);
|
|
295
|
+
const report = await mergeRuns({
|
|
296
|
+
base,
|
|
297
|
+
ci: host.ci,
|
|
298
|
+
facts,
|
|
299
|
+
git: dir === null ? NO_GIT : gitReader(git, dir, base),
|
|
300
|
+
now: (io.now ?? Date.now)(),
|
|
301
|
+
only,
|
|
302
|
+
repo,
|
|
303
|
+
});
|
|
304
|
+
const [logs, stages] = await Promise.all([
|
|
305
|
+
failedLogs(host.ci, report),
|
|
306
|
+
releaseStages(host.ci, profile, repo, report),
|
|
307
|
+
]);
|
|
308
|
+
const still = (report.others ?? []).filter((r) => r.state === 'queued' || r.state === 'running');
|
|
309
|
+
const wait = [
|
|
310
|
+
`conduct wait merge ${report.sha.slice(0, 8)}`,
|
|
311
|
+
...(only ? [`--for ${only.join(',')}`] : []),
|
|
312
|
+
...(options.repo === undefined ? [] : [`--repo ${options.repo}`]),
|
|
313
|
+
].join(' ');
|
|
314
|
+
const note = report.outcome === 'waiting'
|
|
315
|
+
? `still settling: ${wait}, then conduct runs again`
|
|
316
|
+
: still.length > 0
|
|
317
|
+
? `settled on ${only?.join(', ') ?? 'the named pipelines'}; ${still.map((r) => r.pipeline.name).join(', ')} still run`
|
|
318
|
+
: null;
|
|
319
|
+
return {
|
|
320
|
+
...report,
|
|
321
|
+
...(logs.length > 0 ? { logs } : {}),
|
|
322
|
+
...(note === null ? {} : { note }),
|
|
323
|
+
...(Object.keys(stages).length > 0 ? { stages } : {}),
|
|
324
|
+
via: 'local',
|
|
325
|
+
};
|
|
326
|
+
});
|
|
327
|
+
}
|
|
235
328
|
// `conduct state [--repo …]`: the checkout's branch, how far it is from its base, its uncommitted
|
|
236
329
|
// files and its branch's PR, and the same for each other repo checked out under .scratch/repos.
|
|
237
330
|
export async function stateCommand(paths, options, io) {
|
|
@@ -269,6 +362,9 @@ export async function stateCommand(paths, options, io) {
|
|
|
269
362
|
};
|
|
270
363
|
});
|
|
271
364
|
}
|
|
365
|
+
function escapeRegExp(text) {
|
|
366
|
+
return text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
367
|
+
}
|
|
272
368
|
// Keeps .scratch/repos out of the project's own git status, so retire's clean check sees the
|
|
273
369
|
// worktree's work alone (and checks the clones on their own).
|
|
274
370
|
async function excludeScratch(git, checkout) {
|
|
@@ -393,7 +489,7 @@ async function viaDaemon(paths, checkout, write) {
|
|
|
393
489
|
body: write.body,
|
|
394
490
|
method: 'POST',
|
|
395
491
|
path: `/workers/${worker.id}/${write.route}`,
|
|
396
|
-
timeoutMs: WRITE_TIMEOUT_MS,
|
|
492
|
+
timeoutMs: write.timeoutMs ?? WRITE_TIMEOUT_MS,
|
|
397
493
|
});
|
|
398
494
|
}
|
|
399
495
|
catch (error) {
|
|
@@ -414,4 +510,7 @@ async function viaDaemon(paths, checkout, write) {
|
|
|
414
510
|
}
|
|
415
511
|
throw new ConductorError(refused?.error ?? `the conductor answered ${answer.status}`, refused?.details ?? []);
|
|
416
512
|
}
|
|
513
|
+
function writesHere(paths, io) {
|
|
514
|
+
return (io.writes ?? trackerWrites({ credentials: providerCredentials({ projects: loadConfig(paths.config).projects }) }));
|
|
515
|
+
}
|
|
417
516
|
//# sourceMappingURL=code-host-cli.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-host-cli.js","sourceRoot":"","sources":["../src/code-host-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EACL,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,UAAU,EAEV,SAAS,EACT,cAAc,EACd,IAAI,EACJ,SAAS,EACT,SAAS,EACT,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,MAAM,EACN,WAAW,EAGX,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,SAAS,EACT,OAAO,EACP,MAAM,GACP,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAiB,mBAAmB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAkC,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,OAAO,EAAa,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAgB,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAuBtD,mGAAmG;AACnG,MAAM,iBAAkB,SAAQ,cAAc;IACnC,QAAQ,CAAW;IAE5B,YAAY,OAAe,EAAE,QAAkB;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED,8FAA8F;AAC9F,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAEjC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;CACjF,CAAC,CAAC;AACH,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC;IAC/B,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;CAChD,CAAC,CAAC;AACH,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjG,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IAC1D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAEH,6FAA6F;AAC7F,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,IAAY,EACZ,EAAE,IAAI,EAAqB,EAC3B,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,IAAI,KAAK,IAAI;YACf,MAAM,IAAI,cAAc,CAAC,mFAAmF,CAAC,CAAC;QAChH,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC3D,yFAAyF;QACzF,IAAI,IAAI,KAAK,IAAI;YAAE,MAAM,IAAI,cAAc,CAAC,gDAAgD,CAAC,CAAC;QAC9F,IAAI,IAAI,KAAK,OAAO,CAAC,UAAU,IAAI,IAAI,KAAK,MAAM;YAAE,MAAM,IAAI,cAAc,CAAC,YAAY,IAAI,mBAAmB,CAAC,CAAC;QAClH,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QACjD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,GAAG;YACjC,MAAM,IAAI,cAAc,CAAC,YAAY,IAAI,OAAO,KAAK,kBAAkB,GAAG,IAAI,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC5D,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,iBAAiB,IAAI,SAAS,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3G,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kGAAkG;AAClG,mGAAmG;AACnG,sFAAsF;AACtF,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,EAAE,IAAI,EAAqB,EAC3B,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,cAAc,CAAC,gEAAgE,IAAI,GAAG,CAAC,CAAC;QAC7G,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,IAAI;YAAE,MAAM,IAAI,cAAc,CAAC,sDAAsD,CAAC,CAAC;QACtG,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC/E,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,cAAc,CAAC,GAAG,GAAG,qBAAqB,MAAM,IAAI,gBAAgB,SAAS,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1G,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACzC,OAAO;gBACL,IAAI,EAAE,MAAM,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC;gBAClC,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,GAAG;gBACb,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,OAAO,KAAK,MAAM;oBACpB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,IAAI,WAAW,SAAS,MAAM,sCAAsC,EAAE,CAAC;aACjG,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACpC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,2FAA2F;QAC3F,MAAM,GAAG,GAAG,sBAAsB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,MAAM,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,CAAC,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,CAAC,EACjF,QAAQ,CACT,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,aAAa,GAAG,SAAS,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACpG,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACrG,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,iBAAiB,MAAM,SAAS,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/G,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,sGAAsG;AACtG,4FAA4F;AAC5F,iGAAiG;AACjG,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAqB,EACrB,OAQC,EACD,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG;YACd,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7D,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;SAC5B,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE;YAC9C,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,oFAAoF;YAC1F,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QACnC,MAAM,GAAG,GAAG;YACV,GAAG;YACH,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;YACpC,IAAI;YACJ,OAAO;YACP,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,QAAQ,EAAE,QAAQ;SACnB,CAAC;QACF,OAAO,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,mGAAmG;AACnG,sGAAsG;AACtG,oGAAoG;AACpG,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAqB,EACrB,OAA2F,EAC3F,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChH,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAClB,MAAM,IAAI,cAAc,CAAC,0BAA0B,GAAG,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACjG,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,KAAK,KAAK,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG;YACd,KAAK;YACL,IAAI;YACJ,UAAU,EAAE,MAAM;YAClB,gBAAgB,EAAE,IAAI,CAAC,MAAM;YAC7B,IAAI;YACJ,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;YACnB,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC;QACF,IAAI,OAAO,CAAC,MAAM;YAAE,OAAO,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;QACzF,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7D,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5E,MAAM,MAAM,GACV,CAAC,MAAM,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE;YAChC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,sEAAsE;YAC5E,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC,IAAK,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAyC,CAAC;QACpH,OAAO;YACL,GAAG,OAAO;YACV,GAAG,MAAM;YACT,GAAG,CAAC,MAAM,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,MAAM,EAAE,MAAM,KAAK,IAAI;SACxB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,mGAAmG;AACnG,oGAAoG;AACpG,gBAAgB;AAChB,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAqB,EACrB,OAAsC,EACtC,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE;YACtE,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;SAC5B,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IACjG,CAAC,CAAC,CAAC;AACL,CAAC;AAED,oGAAoG;AACpG,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAqB,EACrB,OAA8F,EAC9F,EAAU;IAEV,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;YAChC,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;SAC5B,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE;YAC9C,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,wEAAwE;YAC9E,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,WAAW;SACpB,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QACnC,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC7F,OAAO,EAAE,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kGAAkG;AAClG,gGAAgG;AAChG,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAqB,EAAE,OAA0B,EAAE,EAAU;IAC9F,OAAO,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO;gBACL,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC7F,GAAG,EAAE,OAAO;aACb,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,CAAC,MAAM,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;YACjC,IAAI,CAAC;gBACH,OAAO,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,WAAW;oBAAE,MAAM,KAAK,CAAC;gBAC9C,qEAAqE;gBACrE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzE,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzF,OAAO;YACL,GAAG,GAAG;YACN,eAAe,EAAE,GAAG,CAAC,MAAM,KAAK,YAAY,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAChE,IAAI,EAAE,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YAC7D,KAAK;YACL,GAAG,EAAE,OAAO;YACZ,QAAQ;SACT,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,6FAA6F;AAC7F,8DAA8D;AAC9D,KAAK,UAAU,cAAc,CAAC,GAAQ,EAAE,QAAgB;IACtD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,GAAG,QAAQ,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IACtF,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,WAAW,EAAE,kBAAkB,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACtF,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IAChF,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,mGAAmG;AACnG,wEAAwE;AACxE,KAAK,UAAU,IAAI,CAAC,EAAU;IAC5B,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,QAAQ,KAAK,IAAI;QAAE,MAAM,IAAI,cAAc,CAAC,sDAAsD,CAAC,CAAC;IACxG,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,cAAc,CAAC,+CAA+C,QAAQ,EAAE,EAAE;YAClF,yEAAyE;SAC1E,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,MAAM,YAAY,OAAO,QAAQ,EAAE,CAAC,CAAC;IAC7G,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;AACrF,CAAC;AAED,SAAS,SAAS,CAAC,KAAqB,EAAE,OAAgB,EAAE,EAAU;IACpE,OAAO,EAAE,CAAC,KAAK,IAAI,YAAY,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AACtH,CAAC;AAED,iGAAiG;AACjG,KAAK,UAAU,OAAO,CAAC,QAAgB,EAAE,OAAgB,EAAE,GAAQ,EAAE,IAAa;IAChF,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,IAAI,GAAG,KAAK,IAAI;YAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,MAAM,kBAAkB,IAAI,GAAG,CAAC,CAAC;QAC9F,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IAC5G,IAAI,KAAK,KAAK,IAAI;QAAE,MAAM,IAAI,cAAc,CAAC,MAAM,MAAM,wDAAwD,CAAC,CAAC;IACnH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,cAAc,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,wCAAwC;AACxC,SAAS,UAAU,CAAC,IAAwB;IAC1C,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,GAAQ,EAAE,KAAe,EAAE,IAAa,EAAE,QAAgB,EAAE,GAAW,EAAE,OAAgB;IAC9G,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IAC1G,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5D,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5D,IAAI,EAAE,GAAG,IAAI,CAAC;IACd,IAAI,OAA2B,CAAC;IAChC,0FAA0F;IAC1F,IAAI,MAAM,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,WAAW;gBAAE,MAAM,KAAK,CAAC;YAC9C,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO;QACL,KAAK;QACL,IAAI;QACJ,MAAM;QACN,MAAM;QACN,QAAQ,EAAE,GAAG;QACb,KAAK;QACL,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,EAAE;QACF,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;QAC7C,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;KACpB,CAAC;AACJ,CAAC;AAED,gGAAgG;AAChG,wCAAwC;AACxC,KAAK,UAAU,IAAI,CAAC,EAAU,EAAE,GAA2C;IACzE,IAAI,CAAC;QACH,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,EAAE,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACjC,EAAE,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7D,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QACD,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YACvC,EAAE,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACpC,EAAE,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrD,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,oGAAoG;AACpG,+DAA+D;AAC/D,KAAK,UAAU,SAAS,CACtB,KAAqB,EACrB,QAAgB,EAChB,KAKC;IAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC9D,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,aAAa,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvF,IAAI,MAAyC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE;YAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,YAAY,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE;YAC5C,SAAS,EAAE,gBAAgB;SAC5B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,eAAe;YAAE,OAAO,IAAI,CAAC;QAClD,0DAA0D;QAC1D,MAAM,IAAI,cAAc,CAAC,gCAAgC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IACjH,iGAAiG;IACjG,gBAAgB;IAChB,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IACxD,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5C,MAAM,IAAI,iBAAiB,CAAC,GAAG,OAAO,CAAC,KAAK,iBAAiB,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChH,CAAC;IACD,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,IAAI,0BAA0B,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;AAChH,CAAC"}
|
|
1
|
+
{"version":3,"file":"code-host-cli.js","sourceRoot":"","sources":["../src/code-host-cli.ts"],"names":[],"mappings":"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"}
|
package/build/code-host.js
CHANGED
|
@@ -2,7 +2,7 @@ import { existsSync } from 'node:fs';
|
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { branchOf, checkoutBase, REPOS_DIR } from "./checkout.js";
|
|
4
4
|
import { ConductorError } from "./errors.js";
|
|
5
|
-
import { adoCodeHost, adoCodeHostWrites, adoHttp, adoPipelines, adoSend, githubActions, githubCodeHost, githubCodeHostWrites, githubRepoRef, needsAnswer, noteHeading, repoName, } from "./lib/providers/index.js";
|
|
5
|
+
import { adoCodeHost, adoCodeHostWrites, adoHttp, adoPipelines, adoSend, githubActions, githubCodeHost, githubCodeHostWrites, githubRepoRef, needsAnswer, noteHeading, npmStage, repoName, } from "./lib/providers/index.js";
|
|
6
6
|
import { prRefusal } from "./ownership.js";
|
|
7
7
|
import { notePrefixes, trackerKey } from "./profile.js";
|
|
8
8
|
// A body as a worker's note: as written when it starts with a note heading, else under
|
|
@@ -16,6 +16,18 @@ export function asNote(profile, body) {
|
|
|
16
16
|
export async function baseOf(git, worktree, profile, dir) {
|
|
17
17
|
return dir === worktree ? profile.baseBranch : checkoutBase(git, dir);
|
|
18
18
|
}
|
|
19
|
+
// A repo's CI bound to it, with the npm stages its release runs leave (read from their logs).
|
|
20
|
+
export function bindCi(repo, ci, fetcher = globalThis.fetch) {
|
|
21
|
+
const release = npmStage({ ci, fetch: fetcher });
|
|
22
|
+
return {
|
|
23
|
+
failureLog: (run) => ci.failureLog({ id: run, repo }),
|
|
24
|
+
pipelines: () => ci.pipelines(repo),
|
|
25
|
+
published: (pkg, version) => release.published(pkg, version),
|
|
26
|
+
runsForMerge: (merge, options) => ci.runsForMerge(repo, merge, options),
|
|
27
|
+
staged: (run) => release.staged({ id: run, repo }),
|
|
28
|
+
triggersKnown: ci.triggersKnown,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
19
31
|
// Where a repo is checked out for the item: its worktree for the profile's repo, else
|
|
20
32
|
// .scratch/repos/<repo> inside it (`conduct checkout`).
|
|
21
33
|
export function checkoutDir(worktree, profile, repo) {
|
|
@@ -53,12 +65,12 @@ export function projectHosts(credentials, project, fetcher = globalThis.fetch) {
|
|
|
53
65
|
const token = credentials.ado(project);
|
|
54
66
|
const http = adoHttp({ fetch: fetcher, token });
|
|
55
67
|
const writes = adoCodeHostWrites({ http, send: adoSend({ fetch: fetcher, token }) });
|
|
56
|
-
return bind(repo, adoCodeHost(http), writes, adoPipelines(http));
|
|
68
|
+
return bind(repo, adoCodeHost(http), writes, adoPipelines(http), fetcher);
|
|
57
69
|
}
|
|
58
70
|
const api = credentials.gh(project);
|
|
59
71
|
const write = credentials.ghWrite(project);
|
|
60
72
|
const ci = githubActions({ api, run: credentials.ghRun(project) });
|
|
61
|
-
return bind(repo, githubCodeHost({ api }), githubCodeHostWrites({ api, write }), ci);
|
|
73
|
+
return bind(repo, githubCodeHost({ api }), githubCodeHostWrites({ api, write }), ci, fetcher);
|
|
62
74
|
};
|
|
63
75
|
}
|
|
64
76
|
// The PR's repo, checkout, head and base, after the ownership checks: the branch the checkout is on
|
|
@@ -121,14 +133,15 @@ export function repoOf(profile, option) {
|
|
|
121
133
|
}
|
|
122
134
|
return github;
|
|
123
135
|
}
|
|
124
|
-
function bind(repo, read, writes, ci) {
|
|
136
|
+
function bind(repo, read, writes, ci, fetcher) {
|
|
125
137
|
const ref = (number) => ({ number, repo });
|
|
126
138
|
return {
|
|
127
139
|
arm: (pr, mode) => writes.arm(ref(pr), mode),
|
|
140
|
+
branchTip: (branch) => read.branchTip(repo, branch),
|
|
128
141
|
capabilities: read.capabilities(repo),
|
|
142
|
+
ci: bindCi(repo, ci, fetcher),
|
|
129
143
|
commit: (sha) => read.commit(repo, sha),
|
|
130
144
|
createPr: (pr) => writes.createPr(repo, pr),
|
|
131
|
-
failureLog: (run) => ci.failureLog({ id: run, repo }),
|
|
132
145
|
identity: () => writes.identity(repo),
|
|
133
146
|
keepArmed: (pr, mode, requeue, requeued) => writes.keepArmed(ref(pr), mode, requeue, requeued),
|
|
134
147
|
landingCheck: (base, mode) => writes.landingCheck(repo, base, mode),
|
package/build/code-host.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-host.js","sourceRoot":"","sources":["../src/code-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"code-host.js","sourceRoot":"","sources":["../src/code-host.ts"],"names":[],"mappings":"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"}
|
package/build/conditions.js
CHANGED
|
@@ -1,10 +1,25 @@
|
|
|
1
1
|
import { parseLocalTime } from "./clock.js";
|
|
2
2
|
import { PROVIDERS } from "./credentials.js";
|
|
3
3
|
import { ConductorError } from "./errors.js";
|
|
4
|
+
// The API each tracker is read with: Boards with ADO's and issues with GitHub's, so their reads
|
|
5
|
+
// and waits share that API's budget.
|
|
6
|
+
export const TRACKER_API = {
|
|
7
|
+
'ado-boards': 'ado',
|
|
8
|
+
'github-issues': 'github',
|
|
9
|
+
linear: 'linear',
|
|
10
|
+
};
|
|
11
|
+
const TRACKER_NAME = {
|
|
12
|
+
'ado-boards': 'ADO Boards',
|
|
13
|
+
'github-issues': 'GitHub Issues',
|
|
14
|
+
linear: 'Linear',
|
|
15
|
+
};
|
|
4
16
|
export const PR_EVENTS = ['merged', 'checks', 'comment', 'verdict'];
|
|
5
17
|
const ITEM_FIELDS = ['state', 'label', 'note'];
|
|
6
18
|
const ITEM = /^[A-Za-z][A-Za-z0-9]*-\d+$/;
|
|
7
19
|
const GITHUB_REPO = /^[\w.-]+\/[\w.-]+$/;
|
|
20
|
+
const SHA = /^[0-9a-f]{7,40}$/i;
|
|
21
|
+
// A --for name: a pipeline's YAML file name, path or own name, without commas or colons.
|
|
22
|
+
const PIPELINE_NAME = /^[^\s,:]+$/;
|
|
8
23
|
export function formatCondition(c) {
|
|
9
24
|
switch (c.kind) {
|
|
10
25
|
case 'approval':
|
|
@@ -15,6 +30,8 @@ export function formatCondition(c) {
|
|
|
15
30
|
return `item:${c.tracker}:${c.item}:${c.field}=${c.value}`;
|
|
16
31
|
case 'login':
|
|
17
32
|
return `login:${c.provider}:${c.project}`;
|
|
33
|
+
case 'merge':
|
|
34
|
+
return `merge:${c.host}:${c.repo}@${c.sha}${c.only ? `:for=${c.only.join(',')}` : ''}`;
|
|
18
35
|
case 'npm':
|
|
19
36
|
return `npm:${c.package}@${c.version}:${c.tag}`;
|
|
20
37
|
case 'pr':
|
|
@@ -27,9 +44,10 @@ export function formatCondition(c) {
|
|
|
27
44
|
}
|
|
28
45
|
// `conduct wait` verbs to a condition. A single argument with a colon is taken as the full form.
|
|
29
46
|
// pr <n> merged|checks|comment [--repo owner/name] run <pipeline> <id> [done]
|
|
30
|
-
//
|
|
31
|
-
//
|
|
32
|
-
// login ado|github|linear
|
|
47
|
+
// merge <sha> [--for a,b] [--repo owner/name] health <env> --version <x> | --commit <sha>
|
|
48
|
+
// npm <version> [--tag <t>] [--package <p>] item <item> <state> | state|label|note <value…>
|
|
49
|
+
// approval [<item>] login ado|github|linear
|
|
50
|
+
// time <when>
|
|
33
51
|
export function fromVerbs(args, { item, now = new Date(), options, profile }) {
|
|
34
52
|
const [verb, ...rest] = args;
|
|
35
53
|
const usage = (line) => {
|
|
@@ -74,6 +92,14 @@ export function fromVerbs(args, { item, now = new Date(), options, profile }) {
|
|
|
74
92
|
]);
|
|
75
93
|
return parseCondition(`login:${provider}:${profile.name}`);
|
|
76
94
|
}
|
|
95
|
+
case 'merge': {
|
|
96
|
+
const [sha] = rest;
|
|
97
|
+
if (!sha || rest.length > 1 || !SHA.test(sha)) {
|
|
98
|
+
return usage('merge <sha, 7 or more hex digits> [--for <pipeline>[,<pipeline>…]] [--repo github:<owner>/<repo>]');
|
|
99
|
+
}
|
|
100
|
+
const only = options.for === undefined ? '' : `:for=${pipelineNames(options.for).join(',')}`;
|
|
101
|
+
return parseCondition(`merge:${hostRepo(options.repo, profile)}@${sha.toLowerCase()}${only}`);
|
|
102
|
+
}
|
|
77
103
|
case 'npm': {
|
|
78
104
|
const [version] = rest;
|
|
79
105
|
const pkg = options.package ?? profile?.npm?.package;
|
|
@@ -88,16 +114,7 @@ export function fromVerbs(args, { item, now = new Date(), options, profile }) {
|
|
|
88
114
|
const [number, on = 'verdict'] = rest;
|
|
89
115
|
if (!number || rest.length > 2)
|
|
90
116
|
return usage('pr <n> [merged|checks|comment] [--repo github:<owner>/<repo>]');
|
|
91
|
-
|
|
92
|
-
return parseCondition(`pr:${options.repo}#${number}:${on}`);
|
|
93
|
-
if (options.repo)
|
|
94
|
-
return parseCondition(`pr:github:${options.repo.replace(/^github:/, '')}#${number}:${on}`);
|
|
95
|
-
if (!profile)
|
|
96
|
-
throw new ConductorError('no code host: run it in a worktree with .claude/conductor.json, or pass --repo');
|
|
97
|
-
const host = profile.codeHost;
|
|
98
|
-
return parseCondition(host.kind === 'ado'
|
|
99
|
-
? `pr:ado:${host.repository}#${number}:${on}`
|
|
100
|
-
: `pr:github:${host.owner}/${host.repo}#${number}:${on}`);
|
|
117
|
+
return parseCondition(`pr:${hostRepo(options.repo, profile)}#${number}:${on}`);
|
|
101
118
|
}
|
|
102
119
|
case 'run': {
|
|
103
120
|
const [pipeline, id, on = 'done'] = rest;
|
|
@@ -115,7 +132,7 @@ export function fromVerbs(args, { item, now = new Date(), options, profile }) {
|
|
|
115
132
|
if (verb !== undefined && rest.length === 0 && verb.includes(':'))
|
|
116
133
|
return parseCondition(verb);
|
|
117
134
|
throw new ConductorError(`unknown wait "${args.join(' ')}"`, [
|
|
118
|
-
'verbs: pr, run, npm, health, approval, item, login, time; or a full form such as pr:ado:<repo>#<n>:merged',
|
|
135
|
+
'verbs: pr, merge, run, npm, health, approval, item, login, time; or a full form such as pr:ado:<repo>#<n>:merged',
|
|
119
136
|
]);
|
|
120
137
|
}
|
|
121
138
|
}
|
|
@@ -129,9 +146,9 @@ export function parseCondition(text) {
|
|
|
129
146
|
};
|
|
130
147
|
switch (kind) {
|
|
131
148
|
case 'approval': {
|
|
132
|
-
const match = /^(linear|ado-boards):(\S+)$/.exec(rest);
|
|
149
|
+
const match = /^(linear|ado-boards|github-issues):(\S+)$/.exec(rest);
|
|
133
150
|
if (!match?.[2] || !ITEM.test(match[2]))
|
|
134
|
-
return fail('approval:<linear|ado-boards>:<item>, such as approval:linear:ATK-310');
|
|
151
|
+
return fail('approval:<linear|ado-boards|github-issues>:<item>, such as approval:linear:ATK-310');
|
|
135
152
|
return { item: match[2].toUpperCase(), kind, tracker: trackerKind(match[1]) };
|
|
136
153
|
}
|
|
137
154
|
case 'health': {
|
|
@@ -144,10 +161,10 @@ export function parseCondition(text) {
|
|
|
144
161
|
return { env: match[1], field, kind, value: match[3] };
|
|
145
162
|
}
|
|
146
163
|
case 'item': {
|
|
147
|
-
const match = /^(linear|ado-boards):([^:]+):(state|label|note)=(.+)$/.exec(rest);
|
|
164
|
+
const match = /^(linear|ado-boards|github-issues):([^:]+):(state|label|note)=(.+)$/.exec(rest);
|
|
148
165
|
const field = ITEM_FIELDS.find((f) => f === match?.[3]);
|
|
149
166
|
if (!match?.[2] || !ITEM.test(match[2]) || !field || !match[4]?.trim()) {
|
|
150
|
-
return fail('item:<linear|ado-boards>:<item>:state=<state>, label=<label> or note=<phase>');
|
|
167
|
+
return fail('item:<linear|ado-boards|github-issues>:<item>:state=<state>, label=<label> or note=<phase>');
|
|
151
168
|
}
|
|
152
169
|
return { field, item: match[2].toUpperCase(), kind, tracker: trackerKind(match[1]), value: match[4].trim() };
|
|
153
170
|
}
|
|
@@ -158,6 +175,18 @@ export function parseCondition(text) {
|
|
|
158
175
|
return fail(`login:<${PROVIDERS.join('|')}>:<project>, such as login:ado:atk`);
|
|
159
176
|
return { kind, project: match[2], provider };
|
|
160
177
|
}
|
|
178
|
+
case 'merge': {
|
|
179
|
+
const match = /^(ado|github):([^@\s]+)@([0-9a-f]{7,40})(?::for=(\S+))?$/i.exec(rest);
|
|
180
|
+
const only = match?.[4] === undefined ? null : match[4].split(',');
|
|
181
|
+
if (!match?.[2] ||
|
|
182
|
+
!match[3] ||
|
|
183
|
+
(match[1]?.toLowerCase() === 'github' && !GITHUB_REPO.test(match[2])) ||
|
|
184
|
+
only?.some((name) => !PIPELINE_NAME.test(name))) {
|
|
185
|
+
return fail('merge:ado:<repo>@<sha> or merge:github:<owner>/<repo>@<sha>, with :for=<pipeline>,<pipeline> after it');
|
|
186
|
+
}
|
|
187
|
+
const host = match[1]?.toLowerCase() === 'github' ? 'github' : 'ado';
|
|
188
|
+
return { host, kind, only, repo: match[2], sha: match[3].toLowerCase() };
|
|
189
|
+
}
|
|
161
190
|
case 'npm': {
|
|
162
191
|
// A scoped package starts with @, so the version is after the last @.
|
|
163
192
|
const match = /^(@?[^@:\s]+)@([^@:\s]+):([^:\s]+)$/.exec(rest);
|
|
@@ -186,8 +215,21 @@ export function parseCondition(text) {
|
|
|
186
215
|
return { at: at.toISOString(), kind };
|
|
187
216
|
}
|
|
188
217
|
default:
|
|
189
|
-
return fail('<kind>:<details>; kinds: pr, run, npm, health, approval, item, login, time');
|
|
218
|
+
return fail('<kind>:<details>; kinds: pr, merge, run, npm, health, approval, item, login, time');
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
// --for's names, comma-separated, each one a pipeline name with no spaces or colons.
|
|
222
|
+
export function pipelineNames(text) {
|
|
223
|
+
const names = text
|
|
224
|
+
.split(',')
|
|
225
|
+
.map((name) => name.trim())
|
|
226
|
+
.filter(Boolean);
|
|
227
|
+
if (names.length === 0 || names.some((name) => !PIPELINE_NAME.test(name))) {
|
|
228
|
+
throw new ConductorError(`--for takes pipelines, comma-separated, such as deploy-api,deploy-web; not "${text}"`, [
|
|
229
|
+
'name each by its YAML file name (deploy-api), its path, or its own name if it has no spaces',
|
|
230
|
+
]);
|
|
190
231
|
}
|
|
232
|
+
return names;
|
|
191
233
|
}
|
|
192
234
|
// A PR's link as a worker's PR (prRef), or null when it isn't one: an Azure DevOps
|
|
193
235
|
// `…/_git/<repo>/pullrequest/<n>` (visualstudio.com or dev.azure.com) or a GitHub
|
|
@@ -213,16 +255,16 @@ export function sourceOf(c) {
|
|
|
213
255
|
switch (c.kind) {
|
|
214
256
|
case 'approval':
|
|
215
257
|
case 'item':
|
|
216
|
-
|
|
217
|
-
return c.tracker === 'linear' ? 'linear' : 'ado';
|
|
258
|
+
return TRACKER_API[c.tracker];
|
|
218
259
|
case 'health':
|
|
219
260
|
return 'health';
|
|
220
261
|
case 'login':
|
|
221
262
|
return 'login';
|
|
222
|
-
case '
|
|
223
|
-
return 'npm';
|
|
263
|
+
case 'merge':
|
|
224
264
|
case 'pr':
|
|
225
265
|
return c.host;
|
|
266
|
+
case 'npm':
|
|
267
|
+
return 'npm';
|
|
226
268
|
case 'run':
|
|
227
269
|
return 'ado';
|
|
228
270
|
case 'time':
|
|
@@ -230,26 +272,58 @@ export function sourceOf(c) {
|
|
|
230
272
|
}
|
|
231
273
|
}
|
|
232
274
|
// Why a project with this profile can't check the condition, or null. The daemon checks waits
|
|
233
|
-
// against the profile
|
|
234
|
-
// resolve instead of parking a worker on it.
|
|
275
|
+
// against the project's stored profile (the last good one read from disk), so it refuses one it
|
|
276
|
+
// could never resolve instead of parking a worker on it.
|
|
235
277
|
export function uncheckable(c, profile) {
|
|
236
278
|
if ((c.kind === 'pr' && c.host === 'ado') || c.kind === 'run') {
|
|
237
279
|
return profile?.codeHost.kind === 'ado' ? null : "the project's profile has no Azure DevOps code host";
|
|
238
280
|
}
|
|
281
|
+
if (c.kind === 'merge')
|
|
282
|
+
return mergeRefusal(c, profile);
|
|
239
283
|
if (c.kind === 'health' && !profile?.health?.[c.env])
|
|
240
284
|
return `the project's profile has no health URL for "${c.env}"`;
|
|
241
285
|
if (c.kind === 'login' && profile && c.project !== profile.name) {
|
|
242
286
|
return `the wait is on ${c.project}'s login, and the worker's project is ${profile.name}`;
|
|
243
287
|
}
|
|
244
|
-
if ((c.kind === 'approval' || c.kind === 'item') &&
|
|
245
|
-
c.tracker
|
|
246
|
-
|
|
247
|
-
|
|
288
|
+
if ((c.kind === 'approval' || c.kind === 'item') && c.tracker !== 'linear' && profile?.tracker.kind !== c.tracker) {
|
|
289
|
+
return `the project's profile has no ${TRACKER_NAME[c.tracker]} tracker`;
|
|
290
|
+
}
|
|
291
|
+
return null;
|
|
292
|
+
}
|
|
293
|
+
// The host and repo a pr or merge wait means, as its full form spells them: --repo (ado:<repo> or
|
|
294
|
+
// github:<owner>/<repo>), else the profile's code host.
|
|
295
|
+
function hostRepo(repo, profile) {
|
|
296
|
+
if (repo?.startsWith('ado:'))
|
|
297
|
+
return repo;
|
|
298
|
+
if (repo)
|
|
299
|
+
return `github:${repo.replace(/^github:/, '')}`;
|
|
300
|
+
if (!profile)
|
|
301
|
+
throw new ConductorError('no code host: run it in a worktree with .claude/conductor.json, or pass --repo');
|
|
302
|
+
const host = profile.codeHost;
|
|
303
|
+
return host.kind === 'ado' ? `ado:${host.repository}` : `github:${host.owner}/${host.repo}`;
|
|
304
|
+
}
|
|
305
|
+
// A merge wait reads the project's own Azure DevOps repo, whose git its worktree has, through Azure
|
|
306
|
+
// Pipelines; a GitHub repo through GitHub Actions. The project's own repo needs the profile's ci to
|
|
307
|
+
// be its host's kind.
|
|
308
|
+
function mergeRefusal(c, profile) {
|
|
309
|
+
const host = profile?.codeHost;
|
|
310
|
+
const own = host?.kind === 'ado'
|
|
311
|
+
? c.host === 'ado' && c.repo.toLowerCase() === host.repository.toLowerCase()
|
|
312
|
+
: host?.kind === 'github' &&
|
|
313
|
+
c.host === 'github' &&
|
|
314
|
+
c.repo.toLowerCase() === `${host.owner}/${host.repo}`.toLowerCase();
|
|
315
|
+
if (c.host === 'ado' && !own) {
|
|
316
|
+
return host?.kind === 'ado'
|
|
317
|
+
? `only the project's own Azure DevOps repo, ${host.repository}, is read for a merge wait`
|
|
318
|
+
: "the project's profile has no Azure DevOps code host";
|
|
319
|
+
}
|
|
320
|
+
if (own && profile && (profile.ci.kind === 'ado-pipelines') !== (c.host === 'ado')) {
|
|
321
|
+
return `the profile's ci is ${profile.ci.kind}, which doesn't build its ${c.host === 'ado' ? 'Azure DevOps' : 'GitHub'} repo`;
|
|
248
322
|
}
|
|
249
323
|
return null;
|
|
250
324
|
}
|
|
251
325
|
function trackerKind(text) {
|
|
252
|
-
return text === 'ado-boards'
|
|
326
|
+
return text === 'ado-boards' || text === 'github-issues' ? text : 'linear';
|
|
253
327
|
}
|
|
254
328
|
function trackerOf(profile) {
|
|
255
329
|
return profile?.tracker.kind ?? 'linear';
|