@detergent-software/conductor 1.2.1-dev.2 → 1.3.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +17 -0
  3. package/build/brief.js +2 -1
  4. package/build/brief.js.map +1 -1
  5. package/build/cli.js +4 -0
  6. package/build/cli.js.map +1 -1
  7. package/build/daemon.js +4 -0
  8. package/build/daemon.js.map +1 -1
  9. package/build/help.js +11 -0
  10. package/build/help.js.map +1 -1
  11. package/build/lib/providers/ado/code-host.js +230 -0
  12. package/build/lib/providers/ado/code-host.js.map +1 -0
  13. package/build/lib/providers/ado/http.js +95 -0
  14. package/build/lib/providers/ado/http.js.map +1 -0
  15. package/build/lib/providers/ado/pipelines.js +185 -0
  16. package/build/lib/providers/ado/pipelines.js.map +1 -0
  17. package/build/lib/providers/ado/trigger.js +99 -0
  18. package/build/lib/providers/ado/trigger.js.map +1 -0
  19. package/build/lib/providers/errors.js +23 -0
  20. package/build/lib/providers/errors.js.map +1 -0
  21. package/build/lib/providers/github/actions.js +86 -0
  22. package/build/lib/providers/github/actions.js.map +1 -0
  23. package/build/lib/providers/github/code-host.js +201 -0
  24. package/build/lib/providers/github/code-host.js.map +1 -0
  25. package/build/lib/providers/github/gh.js +15 -0
  26. package/build/lib/providers/github/gh.js.map +1 -0
  27. package/build/lib/providers/index.js +15 -0
  28. package/build/lib/providers/index.js.map +1 -0
  29. package/build/lib/providers/notes.js +22 -0
  30. package/build/lib/providers/notes.js.map +1 -0
  31. package/build/lib/providers/npm/stage.js +62 -0
  32. package/build/lib/providers/npm/stage.js.map +1 -0
  33. package/build/lib/providers/types.js +8 -0
  34. package/build/lib/providers/types.js.map +1 -0
  35. package/build/lib/providers/verdicts/pr.js +90 -0
  36. package/build/lib/providers/verdicts/pr.js.map +1 -0
  37. package/build/lib/providers/verdicts/runs.js +73 -0
  38. package/build/lib/providers/verdicts/runs.js.map +1 -0
  39. package/build/lib/providers/verdicts/stage.js +14 -0
  40. package/build/lib/providers/verdicts/stage.js.map +1 -0
  41. package/build/notes.js +1 -1
  42. package/build/notes.js.map +1 -1
  43. package/build/profile.js +10 -0
  44. package/build/profile.js.map +1 -1
  45. package/build/train-cli.js +64 -0
  46. package/build/train-cli.js.map +1 -0
  47. package/build/train.js +342 -0
  48. package/build/train.js.map +1 -0
  49. package/build/watchers/ado-api.js +2 -31
  50. package/build/watchers/ado-api.js.map +1 -1
  51. package/build/watchers/ado.js +36 -119
  52. package/build/watchers/ado.js.map +1 -1
  53. package/build/watchers/github.js +21 -48
  54. package/build/watchers/github.js.map +1 -1
  55. package/build/watchers/linear.js +2 -17
  56. package/build/watchers/linear.js.map +1 -1
  57. package/build/watchers/npm.js +1 -1
  58. package/build/watchers/npm.js.map +1 -1
  59. package/build/watchers/source.js +8 -2
  60. package/build/watchers/source.js.map +1 -1
  61. package/package.json +1 -1
package/build/help.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,230 @@
1
+ // GENERATED from packages/providers by `pnpm sync-conductor`. Do not edit.
2
+ import { z } from 'zod';
3
+ import { isNote } from "../notes.js";
4
+ import { adoPrUrl, adoUrl, repoPath } from "./http.js";
5
+ // Azure DevOps' answers, as far as the adapter reads them.
6
+ const pullRequest = z.looseObject({
7
+ autoCompleteSetBy: z.looseObject({ displayName: z.string().optional() }).nullish(),
8
+ completionOptions: z.looseObject({ mergeStrategy: z.string().optional() }).nullish(),
9
+ lastMergeCommit: z.looseObject({ commitId: z.string() }).nullish(),
10
+ lastMergeSourceCommit: z.looseObject({ commitId: z.string() }).nullish(),
11
+ mergeStatus: z.string().optional(),
12
+ pullRequestId: z.number(),
13
+ repository: z.looseObject({ project: z.looseObject({ id: z.string() }) }),
14
+ reviewers: z.array(z.looseObject({ displayName: z.string().optional(), vote: z.number() })).optional(),
15
+ sourceRefName: z.string().optional(),
16
+ status: z.string(),
17
+ targetRefName: z.string().optional(),
18
+ title: z.string().optional(),
19
+ });
20
+ const evaluation = z.looseObject({
21
+ configuration: z
22
+ .looseObject({
23
+ id: z.number().optional(),
24
+ isBlocking: z.boolean().optional(),
25
+ isEnabled: z.boolean().optional(),
26
+ settings: z.looseObject({ displayName: z.string().nullish() }).nullish(),
27
+ type: z.looseObject({ displayName: z.string().optional() }).optional(),
28
+ })
29
+ .optional(),
30
+ context: z
31
+ .looseObject({
32
+ buildDefinitionName: z.string().optional(),
33
+ buildId: z.number().optional(),
34
+ buildIsNotCurrent: z.boolean().optional(),
35
+ isExpired: z.boolean().optional(),
36
+ lastMergeSourceCommitId: z.string().optional(),
37
+ })
38
+ .nullish(),
39
+ evaluationId: z.string().optional(),
40
+ status: z.string(),
41
+ });
42
+ const thread = z.looseObject({
43
+ comments: z
44
+ .array(z.looseObject({
45
+ author: z.looseObject({ displayName: z.string().optional() }).nullish(),
46
+ commentType: z.string().optional(),
47
+ content: z.string().nullish(),
48
+ isDeleted: z.boolean().optional(),
49
+ publishedDate: z.string().optional(),
50
+ }))
51
+ .optional(),
52
+ id: z.number(),
53
+ isDeleted: z.boolean().optional(),
54
+ lastUpdatedDate: z.string().optional(),
55
+ properties: z.looseObject({ CodeReviewThreadType: z.unknown().optional() }).nullish(),
56
+ publishedDate: z.string().optional(),
57
+ status: z.string().optional(),
58
+ threadContext: z
59
+ .looseObject({
60
+ filePath: z.string().optional(),
61
+ rightFileStart: z.looseObject({ line: z.number().optional() }).nullish(),
62
+ })
63
+ .nullish(),
64
+ });
65
+ const commit = z.looseObject({
66
+ commitId: z.string(),
67
+ committer: z.looseObject({ date: z.string() }),
68
+ parents: z.array(z.string()),
69
+ });
70
+ const refs = z.looseObject({ value: z.array(z.looseObject({ name: z.string(), objectId: z.string() })) });
71
+ const list = (item) => z.looseObject({ value: z.array(item) });
72
+ export const ADO_CAPABILITIES = {
73
+ autoLanding: 'vote-and-auto-complete',
74
+ descriptionLimit: 4000,
75
+ keepArmed: true,
76
+ mergeFailure: true,
77
+ threadState: true,
78
+ };
79
+ const DONE_THREAD = new Set(['byDesign', 'closed', 'fixed', 'wontFix']);
80
+ const branchOf = (ref) => (ref ? ref.replace(/^refs\/heads\//, '') : null);
81
+ // The PR's policy evaluations as checks. Blocking, enabled policies are required. A build's
82
+ // evaluation can describe an older source commit than `sourceCommit` right after a push, until the
83
+ // new build queues, so it isn't current; an expired build (ADO's build expiration) is its own state.
84
+ export function adoChecks(evaluations, sourceCommit) {
85
+ return evaluations.map((e) => {
86
+ const type = e.configuration?.type?.displayName ?? null;
87
+ const kind = type === 'Build' ? 'build' : 'policy';
88
+ const state = kind === 'build' && e.context?.isExpired
89
+ ? 'expired'
90
+ : e.status === 'approved' || e.status === 'notApplicable'
91
+ ? 'passed'
92
+ : e.status === 'rejected' || e.status === 'broken'
93
+ ? 'failed'
94
+ : 'pending';
95
+ const context = e.context?.lastMergeSourceCommitId;
96
+ return {
97
+ current: !e.context?.buildIsNotCurrent && (!sourceCommit || !context || context === sourceCommit),
98
+ kind,
99
+ // A build is named by its pipeline (null until it has one); any other policy by its type.
100
+ name: e.context?.buildDefinitionName ?? e.configuration?.settings?.displayName ?? (kind === 'build' ? null : type),
101
+ ...(e.evaluationId === undefined ? {} : { evaluationId: e.evaluationId }),
102
+ ...(e.configuration?.id === undefined ? {} : { policy: e.configuration.id }),
103
+ required: Boolean(e.configuration?.isEnabled && e.configuration.isBlocking),
104
+ run: e.context?.buildId ?? null,
105
+ state,
106
+ status: e.status,
107
+ type,
108
+ url: null,
109
+ };
110
+ });
111
+ }
112
+ // Azure Repos. Every read is one GET through `http`; checks and reviews ask for the PR again, which
113
+ // a caching `http` (the daemon's, per pass) answers without a request.
114
+ export function adoCodeHost(http) {
115
+ const rawPr = async ({ number, repo }) => pullRequest.parse(await http.json(adoUrl(repo, repoPath(repo, `pullrequests/${number}`))));
116
+ const checksOf = async (pr, repo) => {
117
+ const artifact = `vstfs:///CodeReview/CodeReviewId/${pr.repository.project.id}/${pr.pullRequestId}`;
118
+ const { value } = list(evaluation).parse(await http.json(adoUrl(repo, `policy/evaluations?artifactId=${encodeURIComponent(artifact)}`, '7.1-preview.1')));
119
+ return adoChecks(value, pr.lastMergeSourceCommit?.commitId ?? null);
120
+ };
121
+ const threadsOf = async ({ number, repo }, notePrefixes) => {
122
+ const { value } = list(thread).parse(await http.json(adoUrl(repo, repoPath(repo, `pullRequests/${number}/threads`))));
123
+ return adoThreads(value, notePrefixes);
124
+ };
125
+ const tipOf = async (repo, branch) => {
126
+ const { value } = refs.parse(await http.json(adoUrl(repo, repoPath(repo, `refs?filter=${encodeURIComponent(`heads/${branch}`)}`))));
127
+ return value.find((r) => r.name === `refs/heads/${branch}`)?.objectId ?? null;
128
+ };
129
+ return {
130
+ capabilities: () => ADO_CAPABILITIES,
131
+ checks: async (ref) => checksOf(await rawPr(ref), ref.repo),
132
+ commit: async (repo, sha) => {
133
+ const found = commit.parse(await http.json(adoUrl(repo, repoPath(repo, `commits/${sha}`))));
134
+ return { date: found.committer.date, parents: found.parents, sha: found.commitId };
135
+ },
136
+ pr: async (ref) => adoPrState(await rawPr(ref), ref.repo),
137
+ prForBranch: async (repo, branch) => {
138
+ const query = `searchCriteria.sourceRefName=${encodeURIComponent(`refs/heads/${branch}`)}&searchCriteria.status=all&$top=10`;
139
+ const { value } = list(pullRequest).parse(await http.json(adoUrl(repo, repoPath(repo, `pullrequests?${query}`))));
140
+ const newest = value.sort((a, b) => b.pullRequestId - a.pullRequestId)[0];
141
+ return newest ? summary(newest, repo) : null;
142
+ },
143
+ read: async (ref, { notePrefixes }) => {
144
+ const raw = await rawPr(ref);
145
+ const state = adoPrState(raw, ref.repo);
146
+ const reviews = adoReviews(raw);
147
+ if (state.state !== 'open')
148
+ return { ...state, branchTip: null, checks: [], reviews, threads: [] };
149
+ const checks = await checksOf(raw, ref.repo);
150
+ const threads = await threadsOf(ref, notePrefixes);
151
+ const branchTip = state.head ? await tipOf(ref.repo, state.head) : null;
152
+ return { ...state, branchTip, checks, reviews, threads };
153
+ },
154
+ reviews: async (ref) => adoReviews(await rawPr(ref)),
155
+ threads: async (ref, { notePrefixes }) => threadsOf(ref, notePrefixes),
156
+ };
157
+ }
158
+ export function adoPrState(pr, repo) {
159
+ const state = pr.status === 'completed' ? 'merged' : pr.status === 'abandoned' ? 'closed' : 'open';
160
+ const merge = pr.mergeStatus === 'conflicts'
161
+ ? 'conflicts'
162
+ : pr.mergeStatus === 'succeeded'
163
+ ? 'clean'
164
+ : pr.mergeStatus === 'failure' || pr.mergeStatus === 'rejectedByPolicy'
165
+ ? 'failed'
166
+ : 'pending';
167
+ return {
168
+ autoMerge: { armed: Boolean(pr.autoCompleteSetBy), by: pr.autoCompleteSetBy?.displayName ?? null },
169
+ base: branchOf(pr.targetRefName),
170
+ head: branchOf(pr.sourceRefName),
171
+ merge,
172
+ mergeCommit: state === 'merged' ? (pr.lastMergeCommit?.commitId ?? null) : null,
173
+ mergeFailure: merge === 'failed' ? (pr.mergeStatus ?? null) : null,
174
+ number: pr.pullRequestId,
175
+ sourceCommit: pr.lastMergeSourceCommit?.commitId ?? null,
176
+ state,
177
+ title: pr.title ?? '',
178
+ url: adoPrUrl(repo, pr.pullRequestId),
179
+ };
180
+ }
181
+ export function adoReviews(pr) {
182
+ return (pr.reviewers ?? []).map((r) => ({
183
+ at: null,
184
+ by: r.displayName ?? null,
185
+ verdict: r.vote > 0 ? 'approved' : r.vote < 0 ? 'changes-requested' : 'none',
186
+ vote: r.vote,
187
+ }));
188
+ }
189
+ // The PR's threads a person can write in: not a system update (votes, policy and status changes),
190
+ // not deleted, with at least one comment that isn't a system one.
191
+ export function adoThreads(threads, notePrefixes) {
192
+ return threads
193
+ .filter((t) => !t.isDeleted && !t.properties?.CodeReviewThreadType)
194
+ .flatMap((t) => {
195
+ const comments = (t.comments ?? []).filter((c) => !c.isDeleted && c.commentType !== 'system');
196
+ const last = comments.at(-1);
197
+ if (!last)
198
+ return [];
199
+ return [
200
+ {
201
+ asks: true,
202
+ at: last.publishedDate ?? t.lastUpdatedDate ?? t.publishedDate ?? null,
203
+ by: last.author?.displayName ?? null,
204
+ byPerson: comments.some((c) => !isNote(c.content, notePrefixes)),
205
+ excerpt: (last.content ?? '').slice(0, 500),
206
+ file: t.threadContext?.filePath ?? null,
207
+ id: t.id,
208
+ kind: 'thread',
209
+ lastIsNote: isNote(last.content, notePrefixes),
210
+ line: t.threadContext?.rightFileStart?.line ?? null,
211
+ open: !DONE_THREAD.has(t.status ?? ''),
212
+ url: null,
213
+ },
214
+ ];
215
+ });
216
+ }
217
+ function summary(pr, repo) {
218
+ const state = adoPrState(pr, repo);
219
+ return {
220
+ autoMerge: state.autoMerge.armed,
221
+ base: state.base,
222
+ mergeCommit: state.mergeCommit,
223
+ mergeStrategy: pr.completionOptions?.mergeStrategy ?? null,
224
+ number: state.number,
225
+ state: state.state,
226
+ title: state.title,
227
+ url: state.url,
228
+ };
229
+ }
230
+ //# sourceMappingURL=code-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-host.js","sourceRoot":"","sources":["../../../../src/lib/providers/ado/code-host.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ import { NotFound, ProviderError } from "../errors.js";
2
+ const TIMEOUT_MS = 20_000;
3
+ // `<organization>/<project>`, the base every project-level URL starts from.
4
+ export function adoBase(repo) {
5
+ return `${repo.organization.replace(/\/+$/, '')}/${encodeURIComponent(repo.project)}`;
6
+ }
7
+ // GETs over adoRequest. A 404 or 400 is NotFound (the PR or run asked for doesn't exist); any other
8
+ // status but 200 is the provider failing.
9
+ export function adoHttp({ fetch: fetcher = globalThis.fetch, onRetry, token, }) {
10
+ const get = async (url) => {
11
+ const answer = await adoRequest(fetcher, token, url, { ...(onRetry ? { onRetry } : {}) });
12
+ const path = url.replace(/^.*?\/_apis\//, '').replace(/[?&]api-version=[^&]*$/, '');
13
+ const said = `Azure DevOps answered ${answer.status} for ${path}`;
14
+ if (answer.status === 404 || answer.status === 400)
15
+ throw new NotFound(said);
16
+ if (answer.status !== 200) {
17
+ throw new ProviderError(said, {
18
+ status: answer.status,
19
+ transient: answer.status >= 500 || answer.status === 429,
20
+ });
21
+ }
22
+ return answer;
23
+ };
24
+ return {
25
+ json: async (url) => (await get(url)).body,
26
+ text: async (url) => (await get(url)).text,
27
+ };
28
+ }
29
+ export function adoPrUrl(repo, id) {
30
+ return `${adoBase(repo)}/_git/${encodeURIComponent(repo.repository)}/pullrequest/${id}`;
31
+ }
32
+ // The organization, project and repository of an Azure Repos remote URL, over https
33
+ // (dev.azure.com/<org>/<project>/_git/<repo> or <org>.visualstudio.com/[DefaultCollection/]<project>/_git/<repo>)
34
+ // or ssh (ssh.dev.azure.com:v3/<org>/<project>/<repo> or vs-ssh.visualstudio.com:v3/…), or null for
35
+ // another host.
36
+ export function adoRepoFromRemote(url) {
37
+ const value = url.trim();
38
+ const https = /^https:\/\/(?:[^@/]+@)?(?:([\w-]+)\.visualstudio\.com(?:\/DefaultCollection)?|dev\.azure\.com\/([\w-]+))\/([^/]+)\/_git\/([^/]+?)\/?$/.exec(value);
39
+ const ssh = https
40
+ ? null
41
+ : /^(?:ssh:\/\/)?[^@/]+@(ssh\.dev\.azure\.com|vs-ssh\.visualstudio\.com):v3\/([\w-]+)\/([^/]+)\/([^/]+?)\/?$/.exec(value);
42
+ const org = https ? (https[1] ?? https[2]) : ssh?.[2];
43
+ const project = https ? https[3] : ssh?.[3];
44
+ const repository = https ? https[4] : ssh?.[4];
45
+ if (!org || !project || !repository)
46
+ return null;
47
+ const visualstudio = https ? Boolean(https[1]) : ssh?.[1] === 'vs-ssh.visualstudio.com';
48
+ return {
49
+ host: 'ado',
50
+ organization: visualstudio ? `https://${org}.visualstudio.com` : `https://dev.azure.com/${org}`,
51
+ project: decodeURIComponent(project),
52
+ repository: decodeURIComponent(repository),
53
+ };
54
+ }
55
+ // One request to Azure DevOps with the az token, tried again once with a renewed token when ADO
56
+ // refuses it: 401, or 203, its sign-in page for a token it doesn't take. Throws only when fetch
57
+ // does (network, timeout); every status is the caller's to read.
58
+ export async function adoRequest(fetcher, token, url, { body, contentType = 'application/json', method = 'GET', onRetry } = {}) {
59
+ for (let renewed = false;; renewed = true) {
60
+ const response = await fetcher(url, {
61
+ ...(body === undefined ? {} : { body: JSON.stringify(body) }),
62
+ cache: 'no-store',
63
+ headers: {
64
+ authorization: `Bearer ${await token(renewed)}`,
65
+ ...(body === undefined ? {} : { 'content-type': contentType }),
66
+ },
67
+ method,
68
+ signal: AbortSignal.timeout(TIMEOUT_MS),
69
+ });
70
+ if ((response.status === 401 || response.status === 203) && !renewed) {
71
+ onRetry?.();
72
+ continue;
73
+ }
74
+ const text = await response.text();
75
+ let parsed;
76
+ try {
77
+ parsed = text ? JSON.parse(text) : null;
78
+ }
79
+ catch {
80
+ parsed = null;
81
+ }
82
+ return { body: parsed, status: response.status, text };
83
+ }
84
+ }
85
+ export function adoRunUrl(repo, id) {
86
+ return `${adoBase(repo)}/_build/results?buildId=${id}`;
87
+ }
88
+ export function adoUrl(repo, path, version = '7.1') {
89
+ return `${adoBase(repo)}/_apis/${path}${path.includes('?') ? '&' : '?'}api-version=${version}`;
90
+ }
91
+ // The repository's REST path, git/repositories/<repo>/<rest>.
92
+ export function repoPath(repo, rest) {
93
+ return `git/repositories/${encodeURIComponent(repo.repository)}/${rest}`;
94
+ }
95
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../../src/lib/providers/ado/http.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,185 @@
1
+ // GENERATED from packages/providers by `pnpm sync-conductor`. Do not edit.
2
+ import { z } from 'zod';
3
+ import { adoRunUrl, adoUrl } from "./http.js";
4
+ import { parseTrigger, triggerFires } from "./trigger.js";
5
+ const definition = z.looseObject({
6
+ id: z.number(),
7
+ name: z.string(),
8
+ process: z.looseObject({ yamlFilename: z.string().optional() }).nullish(),
9
+ queueStatus: z.string().optional(),
10
+ repository: z.looseObject({ name: z.string().optional() }).nullish(),
11
+ triggers: z
12
+ .array(z.looseObject({ settingsSourceType: z.number().optional(), triggerType: z.string().optional() }))
13
+ .nullish(),
14
+ });
15
+ const build = z.looseObject({
16
+ _links: z.looseObject({ web: z.looseObject({ href: z.string() }).optional() }).optional(),
17
+ definition: z.looseObject({ id: z.number().optional(), name: z.string().optional() }),
18
+ id: z.number(),
19
+ queueTime: z.string().nullish(),
20
+ reason: z.string().nullish(),
21
+ result: z.string().nullish(),
22
+ sourceVersion: z.string().nullish(),
23
+ status: z.string(),
24
+ });
25
+ const timeline = z
26
+ .looseObject({
27
+ records: z.array(z.looseObject({
28
+ id: z.string(),
29
+ issues: z.array(z.looseObject({ message: z.string().optional(), type: z.string().optional() })).nullish(),
30
+ log: z.looseObject({ id: z.number() }).nullish(),
31
+ name: z.string().nullish(),
32
+ parentId: z.string().nullish(),
33
+ result: z.string().nullish(),
34
+ startTime: z.string().nullish(),
35
+ state: z.string().nullish(),
36
+ type: z.string().nullish(),
37
+ })),
38
+ })
39
+ .nullable();
40
+ const list = (item) => z.looseObject({ value: z.array(item) });
41
+ // A merge's batched run can queue a moment before the merge commit's own time.
42
+ const BATCH_SLACK_MS = 60_000;
43
+ // Azure Pipelines. It knows which pipelines a merge triggers: each pipeline's YAML trigger, read at
44
+ // the merge commit, against the merge's changed files.
45
+ export function adoPipelines(http) {
46
+ const get = async (repo, path) => http.json(adoUrl(repo, path));
47
+ const snapshot = (repo, b, pipeline, extra = {}) => ({
48
+ expected: null,
49
+ pipeline,
50
+ queued: b.queueTime ?? null,
51
+ reason: b.reason ?? null,
52
+ result: b.result ?? null,
53
+ run: b.id,
54
+ sourceVersion: b.sourceVersion ?? null,
55
+ state: buildState(b),
56
+ status: b.status,
57
+ url: b._links?.web?.href ?? adoRunUrl(repo, b.id),
58
+ ...extra,
59
+ });
60
+ const records = async (repo, id) => timeline.parse(await get(repo, `build/builds/${id}/timeline`))?.records ?? [];
61
+ return {
62
+ failureLog: async ({ id, repo }, { lines = 40 } = {}) => {
63
+ const b = build.parse(await get(repo, `build/builds/${id}`));
64
+ const all = await records(repo, id);
65
+ const failed = all
66
+ .filter((r) => r.result === 'failed' && r.type === 'Task')
67
+ .sort((a, b) => (a.startTime ?? '').localeCompare(b.startTime ?? ''));
68
+ const errors = (r) => (r.issues ?? []).filter((i) => i.type === 'error').flatMap((i) => (i.message ? [i.message] : []));
69
+ const tasks = failed.map((r) => ({ errors: errors(r), name: r.name ?? '?' }));
70
+ const logId = failed[0]?.log?.id;
71
+ let log = null;
72
+ if (logId !== undefined) {
73
+ // Each line starts with an ISO timestamp; dropped to keep the tail readable.
74
+ log = (await http.text(adoUrl(repo, `build/builds/${id}/logs/${logId}`)))
75
+ .split(/\r?\n/)
76
+ .map((line) => line.replace(/^\d{4}-\d\d-\d\dT[\d:.]+Z /, ''))
77
+ .filter((line) => line.trim())
78
+ .slice(-lines);
79
+ }
80
+ return {
81
+ log,
82
+ ...(tasks.length === 0
83
+ ? {
84
+ note: `no failed task in the timeline${all.some((r) => errors(r).length) ? `: ${all.flatMap(errors).slice(0, 10).join('; ')}` : ''}`,
85
+ }
86
+ : {}),
87
+ pipeline: b.definition.name ?? null,
88
+ result: b.result ?? null,
89
+ run: id,
90
+ tasks,
91
+ url: adoRunUrl(repo, id),
92
+ };
93
+ },
94
+ logs: async function* ({ id, repo }) {
95
+ const { value } = list(z.looseObject({ id: z.number() })).parse(await get(repo, `build/builds/${id}/logs`));
96
+ for (const { id: log } of value.sort((a, b) => b.id - a.id)) {
97
+ yield await http.text(adoUrl(repo, `build/builds/${id}/logs/${log}`));
98
+ }
99
+ },
100
+ run: async ({ id, repo }) => {
101
+ const b = build.parse(await get(repo, `build/builds/${id}`));
102
+ return snapshot(repo, b, { file: null, id: b.definition.id ?? null, name: b.definition.name ?? `run ${id}` });
103
+ },
104
+ runsForMerge: async (repo, merge, { base, git }) => {
105
+ const { value } = list(definition).parse(await get(repo, 'build/definitions?includeAllProperties=true&$top=1000'));
106
+ const pipelines = [];
107
+ for (const d of value) {
108
+ const yamlFilename = d.process?.yamlFilename;
109
+ // Azure Repos names are case-insensitive, and a profile may spell one differently.
110
+ const ours = d.repository?.name?.toLowerCase() === repo.repository.toLowerCase();
111
+ if (!ours || !yamlFilename || d.queueStatus === 'disabled')
112
+ continue;
113
+ const file = yamlFilename.replace(/^\//, '');
114
+ const yaml = await git.show(merge.sha, file);
115
+ // A trigger overridden in the pipeline's settings (settingsSourceType 1) isn't in the YAML.
116
+ const fromYaml = (d.triggers ?? []).every((t) => t.triggerType !== 'continuousIntegration' || t.settingsSourceType === 2);
117
+ const expected = yaml === null || !fromYaml ? null : triggerFires(parseTrigger(yaml), base, merge.changed);
118
+ pipelines.push({ expected, file, id: d.id, name: d.name });
119
+ }
120
+ if (pipelines.length === 0)
121
+ return [];
122
+ // By queue time, ascending from just before the merge: the default order is by finish time,
123
+ // which leaves queued and running builds off the first page.
124
+ const since = new Date(merge.mergedAt - 5 * 60_000).toISOString();
125
+ const query = `definitions=${pipelines.map((p) => p.id).join(',')}&branchName=refs/heads/${base}&queryOrder=queueTimeAscending&minTime=${since}&$top=200`;
126
+ const builds = list(build).parse(await get(repo, `build/builds?${query}`)).value;
127
+ const found = [];
128
+ for (const { expected, ...pipeline } of pipelines) {
129
+ const mine = builds
130
+ .filter((b) => b.definition.id === pipeline.id)
131
+ .sort((a, b) => Date.parse(a.queueTime ?? '') - Date.parse(b.queueTime ?? ''));
132
+ const exact = mine.find((b) => b.sourceVersion === merge.sha);
133
+ // Batched CI (`batch: true`) builds the newest commit once the previous run ends, so the run
134
+ // that carries the merge can be built from a later commit that contains it.
135
+ let batched;
136
+ if (!exact && expected === true) {
137
+ for (const b of mine) {
138
+ if (Date.parse(b.queueTime ?? '') < merge.mergedAt - BATCH_SLACK_MS || !b.sourceVersion)
139
+ continue;
140
+ if (await git.isAncestor(merge.sha, b.sourceVersion)) {
141
+ batched = b;
142
+ break;
143
+ }
144
+ }
145
+ }
146
+ const b = exact ?? batched;
147
+ if (!b) {
148
+ const state = expected === true ? 'not-queued' : expected === null ? 'unknown' : 'not-triggered';
149
+ found.push({ expected, pipeline, run: null, state, url: null });
150
+ continue;
151
+ }
152
+ const approvals = b.status === 'completed' ? [] : pendingApprovals(await records(repo, b.id));
153
+ found.push(snapshot(repo, b, pipeline, {
154
+ expected,
155
+ match: exact ? 'exact' : 'batched',
156
+ state: buildState(b, approvals),
157
+ ...(approvals.length > 0 ? { approvalStages: approvals } : {}),
158
+ }));
159
+ }
160
+ return found;
161
+ },
162
+ triggersKnown: true,
163
+ };
164
+ }
165
+ // The state of one build, as the run verdicts read it. ADO has no "cancelled" verdict of its own: a
166
+ // completed build that didn't succeed failed.
167
+ export function buildState(b, pendingApprovals = []) {
168
+ if (b.status === 'completed')
169
+ return b.result === 'succeeded' ? 'succeeded' : 'failed';
170
+ if (pendingApprovals.length > 0)
171
+ return 'waiting-for-approval';
172
+ return b.status === 'notStarted' ? 'queued' : 'running';
173
+ }
174
+ // The stages of a run's timeline that wait on an approval.
175
+ export function pendingApprovals(records) {
176
+ const byId = new Map(records.map((r) => [r.id, r]));
177
+ const stageOf = (record) => {
178
+ let current = record;
179
+ while (current && current.type !== 'Stage')
180
+ current = current.parentId ? byId.get(current.parentId) : undefined;
181
+ return current?.name ?? '?';
182
+ };
183
+ return records.filter((r) => r.type === 'Checkpoint.Approval' && r.state === 'inProgress').map(stageOf);
184
+ }
185
+ //# sourceMappingURL=pipelines.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipelines.js","sourceRoot":"","sources":["../../../../src/lib/providers/ado/pipelines.ts"],"names":[],"mappings":"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"}