@idea1/cli 1.11.0 → 1.11.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.
- package/README.md +48 -29
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +20 -14
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/release.d.ts +7 -3
- package/dist/commands/release.d.ts.map +1 -1
- package/dist/commands/release.js +51 -26
- package/dist/commands/release.js.map +1 -1
- package/dist/lib/settings.d.ts +18 -3
- package/dist/lib/settings.d.ts.map +1 -1
- package/dist/lib/settings.js +14 -1
- package/dist/lib/settings.js.map +1 -1
- package/dist/services/github.d.ts +21 -19
- package/dist/services/github.d.ts.map +1 -1
- package/dist/services/github.js +56 -64
- package/dist/services/github.js.map +1 -1
- package/dist/services/platform-auth.d.ts +3 -2
- package/dist/services/platform-auth.d.ts.map +1 -1
- package/dist/services/platform-auth.js +105 -9
- package/dist/services/platform-auth.js.map +1 -1
- package/dist/services/platform.d.ts +52 -2
- package/dist/services/platform.d.ts.map +1 -1
- package/dist/services/platform.js +66 -1
- package/dist/services/platform.js.map +1 -1
- package/dist/types/index.d.ts +16 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/workflow/engine/approval-flow.d.ts +28 -11
- package/dist/workflow/engine/approval-flow.d.ts.map +1 -1
- package/dist/workflow/engine/approval-flow.js +52 -17
- package/dist/workflow/engine/approval-flow.js.map +1 -1
- package/dist/workflow/engine/handlers/approve-pr.d.ts +10 -9
- package/dist/workflow/engine/handlers/approve-pr.d.ts.map +1 -1
- package/dist/workflow/engine/handlers/approve-pr.js +24 -17
- package/dist/workflow/engine/handlers/approve-pr.js.map +1 -1
- package/dist/workflow/engine/release-engine.d.ts +84 -56
- package/dist/workflow/engine/release-engine.d.ts.map +1 -1
- package/dist/workflow/engine/release-engine.js +281 -157
- package/dist/workflow/engine/release-engine.js.map +1 -1
- package/dist/workflow/engine/workflow-engine.d.ts +9 -2
- package/dist/workflow/engine/workflow-engine.d.ts.map +1 -1
- package/dist/workflow/engine/workflow-engine.js +20 -2
- package/dist/workflow/engine/workflow-engine.js.map +1 -1
- package/package.json +1 -1
package/dist/lib/settings.d.ts
CHANGED
|
@@ -88,13 +88,28 @@ export declare function readBranchSettings(repoRoot: string): Promise<ResolvedBr
|
|
|
88
88
|
*/
|
|
89
89
|
export declare const DEFAULT_RELEASE_BRANCH_CHANGES: ReleaseBranchChanges;
|
|
90
90
|
/**
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
91
|
+
* A release branch whose releases change only content, as `release.contentRelease` declares it: the
|
|
92
|
+
* branch, the repository folders (or files) its releases may change, without leading or trailing
|
|
93
|
+
* slashes, and the team whose members approve changes into it and release it (null when anyone the
|
|
94
|
+
* release workflow admits may). The platform's `ContentReleaseSettings` reads the same values.
|
|
95
|
+
*/
|
|
96
|
+
export interface ContentReleaseSettings {
|
|
97
|
+
branch: string;
|
|
98
|
+
paths: string[];
|
|
99
|
+
releaserTeam: string | null;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* The repository's release settings: the packages a release can bump, how changes may reach the
|
|
103
|
+
* release branch, who may release, and the content release. `versionedPackages` is empty when the
|
|
104
|
+
* repository's settings name none - such a repository's releases have no version bump step.
|
|
105
|
+
* `releaserTeam` is null when the settings name no team, and `contentRelease` null when they declare
|
|
106
|
+
* no content release (a branch and at least one path).
|
|
94
107
|
*/
|
|
95
108
|
export interface ResolvedReleaseSettings {
|
|
96
109
|
versionedPackages: VersionedPackage[];
|
|
97
110
|
releaseBranchChanges: ReleaseBranchChanges;
|
|
111
|
+
releaserTeam: string | null;
|
|
112
|
+
contentRelease: ContentReleaseSettings | null;
|
|
98
113
|
}
|
|
99
114
|
/**
|
|
100
115
|
* Read the repository's release settings (`release` in `.idea1/settings.json`, with
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/lib/settings.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwD,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC/J,OAAO,EAA0C,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACjH,OAAO,EAAwB,KAAK,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AAE5G;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAA6C,CAAC;AAE1F;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;CAS1B,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,aAAa,EAI1D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gCAAgC,EAAE,aAAsD,CAAC;AAkBtG;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAkBlF;AAKD;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAkB9G;AA6BD;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWnF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAG7E;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,0HAA0H;IAC1H,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;IAChC,yBAAyB,EAAE,MAAM,CAAC;IAClC,6BAA6B,EAAE,MAAM,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAY1F;AAED;;;GAGG;AACH,eAAO,MAAM,8BAA8B,EAAE,oBAAsC,CAAC;AAEpF
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/lib/settings.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwD,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC/J,OAAO,EAA0C,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACjH,OAAO,EAAwB,KAAK,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AAE5G;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAA6C,CAAC;AAE1F;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;CAS1B,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,aAAa,EAI1D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gCAAgC,EAAE,aAAsD,CAAC;AAkBtG;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAkBlF;AAKD;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAkB9G;AA6BD;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWnF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAG7E;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,0HAA0H;IAC1H,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;IAChC,yBAAyB,EAAE,MAAM,CAAC;IAClC,6BAA6B,EAAE,MAAM,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAY1F;AAED;;;GAGG;AACH,eAAO,MAAM,8BAA8B,EAAE,oBAAsC,CAAC;AAEpF;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,sBAAsB,GAAG,IAAI,CAAC;CAC/C;AAeD;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAe5F;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAkBvF"}
|
package/dist/lib/settings.js
CHANGED
|
@@ -170,6 +170,17 @@ export async function readBranchSettings(repoRoot) {
|
|
|
170
170
|
* their own approved change. A repository that accepts direct changes on its release branch says so.
|
|
171
171
|
*/
|
|
172
172
|
export const DEFAULT_RELEASE_BRANCH_CHANGES = 'approved-only';
|
|
173
|
+
/** The value, trimmed, or null when it is absent, blank or not a string - read as the platform reads it. */
|
|
174
|
+
function declared(value) {
|
|
175
|
+
return typeof value === 'string' && value.trim().length > 0 ? value.trim() : null;
|
|
176
|
+
}
|
|
177
|
+
function readContentRelease(value) {
|
|
178
|
+
const branch = declared(value?.branch);
|
|
179
|
+
const paths = (Array.isArray(value?.paths) ? value.paths : [])
|
|
180
|
+
.map(path => declared(path)?.replace(/^\/+|\/+$/g, '') ?? '')
|
|
181
|
+
.filter(path => path.length > 0);
|
|
182
|
+
return branch === null || paths.length === 0 ? null : { branch, paths, releaserTeam: declared(value?.releaserTeam) };
|
|
183
|
+
}
|
|
173
184
|
/**
|
|
174
185
|
* Read the repository's release settings (`release` in `.idea1/settings.json`, with
|
|
175
186
|
* `settings.local.json` overlaid). See `ResolvedReleaseSettings`.
|
|
@@ -183,7 +194,9 @@ export async function readReleaseSettings(repoRoot) {
|
|
|
183
194
|
}
|
|
184
195
|
return {
|
|
185
196
|
versionedPackages: release?.versionedPackages ?? [],
|
|
186
|
-
releaseBranchChanges
|
|
197
|
+
releaseBranchChanges,
|
|
198
|
+
releaserTeam: declared(release?.releaserTeam),
|
|
199
|
+
contentRelease: readContentRelease(release?.contentRelease)
|
|
187
200
|
};
|
|
188
201
|
}
|
|
189
202
|
/**
|
package/dist/lib/settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/lib/settings.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/lib/settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,29 +38,10 @@ export interface MergeResult {
|
|
|
38
38
|
success: boolean;
|
|
39
39
|
error?: string;
|
|
40
40
|
}
|
|
41
|
-
/**
|
|
42
|
-
* Merge a PR
|
|
43
|
-
*/
|
|
44
|
-
export declare function mergePr(branchName: string): Promise<MergeResult>;
|
|
45
41
|
/**
|
|
46
42
|
* Merge a PR with admin override (bypasses branch protections)
|
|
47
43
|
*/
|
|
48
44
|
export declare function mergePrWithAdminOverride(branchName: string): Promise<MergeResult>;
|
|
49
|
-
/**
|
|
50
|
-
* Turn on GitHub's auto-merge for a PR, with a merge commit: GitHub merges it once the base branch's
|
|
51
|
-
* required checks pass, and records the person who enabled auto-merge as `merged_by`. On failure the
|
|
52
|
-
* error is gh's own message, which says why GitHub refused (a PR that is already mergeable, or a
|
|
53
|
-
* repository that does not allow auto-merge, for example).
|
|
54
|
-
*/
|
|
55
|
-
export declare function enablePrAutoMerge(branchName: string): Promise<MergeResult>;
|
|
56
|
-
/** Where a PR's checks stand. See `getPrCheckState`. */
|
|
57
|
-
export type PrCheckState = 'passed' | 'failed' | 'pending' | 'none';
|
|
58
|
-
/**
|
|
59
|
-
* Where a PR's checks stand right now, without waiting: `passed` when every reported check passed
|
|
60
|
-
* or was skipped, `failed` when any failed or was cancelled, `pending` when the rest are still
|
|
61
|
-
* running, and `none` when no check has been reported on the PR yet.
|
|
62
|
-
*/
|
|
63
|
-
export declare function getPrCheckState(branchName: string): Promise<PrCheckState>;
|
|
64
45
|
/** Whether a PR can merge into its base as far as its content goes. See `getPrMergeability`. */
|
|
65
46
|
export type PrMergeability = 'mergeable' | 'conflicting';
|
|
66
47
|
/**
|
|
@@ -86,6 +67,11 @@ export declare function getBranchFromPrUrl(prUrl: string): Promise<{
|
|
|
86
67
|
headBranch: string;
|
|
87
68
|
baseBranch: string;
|
|
88
69
|
} | null>;
|
|
70
|
+
/**
|
|
71
|
+
* The tip of a branch on origin, read from the remote itself so it is current without a fetch.
|
|
72
|
+
* Null when it cannot be read - outside a clone of the repository, for instance.
|
|
73
|
+
*/
|
|
74
|
+
export declare function getRemoteBranchTip(branchName: string): Promise<string | null>;
|
|
89
75
|
/**
|
|
90
76
|
* Wait for a PR's checks to finish, returning whether they all passed.
|
|
91
77
|
*
|
|
@@ -143,6 +129,11 @@ export interface CreatePrOptions {
|
|
|
143
129
|
* Create a PR with its body and assignee set at creation, returning its URL.
|
|
144
130
|
*/
|
|
145
131
|
export declare function createPr(options: CreatePrOptions): Promise<string>;
|
|
132
|
+
/**
|
|
133
|
+
* Replace a PR's description, addressed by its URL. The body goes through a file, so a long
|
|
134
|
+
* approval chain is never limited by the length of a command line. Throws when GitHub refuses it.
|
|
135
|
+
*/
|
|
136
|
+
export declare function updatePrBody(prUrl: string, body: string): Promise<void>;
|
|
146
137
|
/** An open PR as the release workflow checks it: its description and its approvers of record. */
|
|
147
138
|
export interface OpenPr {
|
|
148
139
|
number: number;
|
|
@@ -199,6 +190,17 @@ export interface RepoAccess {
|
|
|
199
190
|
*/
|
|
200
191
|
admin: boolean;
|
|
201
192
|
}
|
|
193
|
+
/**
|
|
194
|
+
* Whether a GitHub user holds admin permission on the repository of the current checkout - the
|
|
195
|
+
* production root tier. A user who is not a collaborator holds none.
|
|
196
|
+
*/
|
|
197
|
+
export declare function isRepoAdmin(login: string): Promise<boolean>;
|
|
198
|
+
/**
|
|
199
|
+
* Whether a GitHub user is an active member of a team of the organization that owns the repository
|
|
200
|
+
* of the current checkout, directly or through a child team. A user who is not a member, or whose
|
|
201
|
+
* invitation is still pending, is not one; so is anyone when the team does not exist.
|
|
202
|
+
*/
|
|
203
|
+
export declare function isTeamMember(teamSlug: string, login: string): Promise<boolean>;
|
|
202
204
|
/** The authenticated user's access to the repository of the current checkout. */
|
|
203
205
|
export declare function getRepoAccess(): Promise<RepoAccess>;
|
|
204
206
|
//# sourceMappingURL=github.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/services/github.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/services/github.ts"],"names":[],"mappings":"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"}
|
package/dist/services/github.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { mkdtempSync, rmSync, writeFileSync } from 'fs';
|
|
2
|
+
import { tmpdir } from 'os';
|
|
3
|
+
import { join } from 'path';
|
|
1
4
|
import { exec, execOrThrow, commandExists } from '../lib/shell.js';
|
|
2
5
|
import { logger } from '../lib/logger.js';
|
|
3
6
|
/**
|
|
@@ -143,22 +146,6 @@ export async function assignAssignee(branchName, assignee) {
|
|
|
143
146
|
]);
|
|
144
147
|
logger.success(`Assignee ${assignee} assigned successfully`);
|
|
145
148
|
}
|
|
146
|
-
/**
|
|
147
|
-
* Merge a PR
|
|
148
|
-
*/
|
|
149
|
-
export async function mergePr(branchName) {
|
|
150
|
-
await ensureGitHubCli();
|
|
151
|
-
logger.status(`Merging PR for branch ${branchName}...`);
|
|
152
|
-
const result = await exec('gh', [
|
|
153
|
-
'pr', 'merge', branchName,
|
|
154
|
-
'--merge'
|
|
155
|
-
]);
|
|
156
|
-
if (result.exitCode === 0) {
|
|
157
|
-
logger.success('PR merged successfully');
|
|
158
|
-
return { success: true };
|
|
159
|
-
}
|
|
160
|
-
return { success: false, error: result.stderr };
|
|
161
|
-
}
|
|
162
149
|
/**
|
|
163
150
|
* Merge a PR with admin override (bypasses branch protections)
|
|
164
151
|
*/
|
|
@@ -176,53 +163,6 @@ export async function mergePrWithAdminOverride(branchName) {
|
|
|
176
163
|
}
|
|
177
164
|
return { success: false, error: result.stderr };
|
|
178
165
|
}
|
|
179
|
-
/**
|
|
180
|
-
* Turn on GitHub's auto-merge for a PR, with a merge commit: GitHub merges it once the base branch's
|
|
181
|
-
* required checks pass, and records the person who enabled auto-merge as `merged_by`. On failure the
|
|
182
|
-
* error is gh's own message, which says why GitHub refused (a PR that is already mergeable, or a
|
|
183
|
-
* repository that does not allow auto-merge, for example).
|
|
184
|
-
*/
|
|
185
|
-
export async function enablePrAutoMerge(branchName) {
|
|
186
|
-
await ensureGitHubCli();
|
|
187
|
-
logger.step(`Enabling auto-merge on the PR for branch ${branchName}...`);
|
|
188
|
-
const result = await exec('gh', [
|
|
189
|
-
'pr', 'merge', branchName,
|
|
190
|
-
'--auto',
|
|
191
|
-
'--merge'
|
|
192
|
-
]);
|
|
193
|
-
if (result.exitCode === 0) {
|
|
194
|
-
return { success: true };
|
|
195
|
-
}
|
|
196
|
-
return { success: false, error: `${result.stderr}\n${result.stdout}`.trim() };
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Where a PR's checks stand right now, without waiting: `passed` when every reported check passed
|
|
200
|
-
* or was skipped, `failed` when any failed or was cancelled, `pending` when the rest are still
|
|
201
|
-
* running, and `none` when no check has been reported on the PR yet.
|
|
202
|
-
*/
|
|
203
|
-
export async function getPrCheckState(branchName) {
|
|
204
|
-
await ensureGitHubCli();
|
|
205
|
-
// gh exits non-zero while checks are pending or once one has failed, so the JSON is read
|
|
206
|
-
// whatever the exit code; only "no checks reported" comes back with no JSON at all.
|
|
207
|
-
const result = await exec('gh', ['pr', 'checks', branchName, '--json', 'bucket']);
|
|
208
|
-
if (noChecksReported(result)) {
|
|
209
|
-
return 'none';
|
|
210
|
-
}
|
|
211
|
-
if (!result.stdout.trim()) {
|
|
212
|
-
throw new Error(`Could not read the checks on the PR for ${branchName}: ${result.stderr}`);
|
|
213
|
-
}
|
|
214
|
-
const buckets = JSON.parse(result.stdout).map(check => check.bucket);
|
|
215
|
-
if (buckets.length === 0) {
|
|
216
|
-
return 'none';
|
|
217
|
-
}
|
|
218
|
-
if (buckets.some(bucket => bucket === 'fail' || bucket === 'cancel')) {
|
|
219
|
-
return 'failed';
|
|
220
|
-
}
|
|
221
|
-
if (buckets.some(bucket => bucket === 'pending')) {
|
|
222
|
-
return 'pending';
|
|
223
|
-
}
|
|
224
|
-
return 'passed';
|
|
225
|
-
}
|
|
226
166
|
const MERGEABILITY_POLL_MS = 5 * 1000;
|
|
227
167
|
const MERGEABILITY_ATTEMPTS = 12;
|
|
228
168
|
/**
|
|
@@ -342,7 +282,7 @@ async function hasConfiguredChecks(branchName) {
|
|
|
342
282
|
* The tip of a branch on origin, read from the remote itself so it is current without a fetch.
|
|
343
283
|
* Null when it cannot be read - outside a clone of the repository, for instance.
|
|
344
284
|
*/
|
|
345
|
-
async function getRemoteBranchTip(branchName) {
|
|
285
|
+
export async function getRemoteBranchTip(branchName) {
|
|
346
286
|
const result = await exec('git', ['ls-remote', '--heads', 'origin', branchName]);
|
|
347
287
|
const sha = result.stdout.trim().split(/\s+/)[0] ?? '';
|
|
348
288
|
return result.exitCode === 0 && /^[0-9a-f]{40}$/.test(sha) ? sha : null;
|
|
@@ -524,6 +464,21 @@ export async function createPr(options) {
|
|
|
524
464
|
}
|
|
525
465
|
return result.stdout.trim();
|
|
526
466
|
}
|
|
467
|
+
/**
|
|
468
|
+
* Replace a PR's description, addressed by its URL. The body goes through a file, so a long
|
|
469
|
+
* approval chain is never limited by the length of a command line. Throws when GitHub refuses it.
|
|
470
|
+
*/
|
|
471
|
+
export async function updatePrBody(prUrl, body) {
|
|
472
|
+
await ensureGitHubCli();
|
|
473
|
+
const directory = mkdtempSync(join(tmpdir(), 'idea1-pr-body-'));
|
|
474
|
+
const bodyFile = join(directory, 'body.md');
|
|
475
|
+
writeFileSync(bodyFile, body);
|
|
476
|
+
const result = await exec('gh', ['pr', 'edit', prUrl, '--body-file', bodyFile]);
|
|
477
|
+
rmSync(directory, { recursive: true, force: true });
|
|
478
|
+
if (result.exitCode !== 0) {
|
|
479
|
+
throw new Error(`Could not update the description of ${prUrl}: ${result.stderr}`);
|
|
480
|
+
}
|
|
481
|
+
}
|
|
527
482
|
/** The open PR from `headBranch` into `baseBranch`, or null when there is none. */
|
|
528
483
|
export async function getOpenPr(headBranch, baseBranch) {
|
|
529
484
|
await ensureGitHubCli();
|
|
@@ -602,6 +557,43 @@ export async function getPullRequestsForCommit(sha) {
|
|
|
602
557
|
}
|
|
603
558
|
return JSON.parse(result.stdout);
|
|
604
559
|
}
|
|
560
|
+
/**
|
|
561
|
+
* Whether a GitHub user holds admin permission on the repository of the current checkout - the
|
|
562
|
+
* production root tier. A user who is not a collaborator holds none.
|
|
563
|
+
*/
|
|
564
|
+
export async function isRepoAdmin(login) {
|
|
565
|
+
await ensureGitHubCli();
|
|
566
|
+
const result = await exec('gh', [
|
|
567
|
+
'api', `repos/{owner}/{repo}/collaborators/${encodeURIComponent(login)}/permission`,
|
|
568
|
+
'--jq', '.permission + " " + (.role_name // "")'
|
|
569
|
+
]);
|
|
570
|
+
if (result.exitCode !== 0) {
|
|
571
|
+
if (/HTTP 404/.test(result.stderr)) {
|
|
572
|
+
return false;
|
|
573
|
+
}
|
|
574
|
+
throw new Error(`Could not read @${login}'s permission on the repository: ${result.stderr}`);
|
|
575
|
+
}
|
|
576
|
+
return result.stdout.trim().split(/\s+/).includes('admin');
|
|
577
|
+
}
|
|
578
|
+
/**
|
|
579
|
+
* Whether a GitHub user is an active member of a team of the organization that owns the repository
|
|
580
|
+
* of the current checkout, directly or through a child team. A user who is not a member, or whose
|
|
581
|
+
* invitation is still pending, is not one; so is anyone when the team does not exist.
|
|
582
|
+
*/
|
|
583
|
+
export async function isTeamMember(teamSlug, login) {
|
|
584
|
+
await ensureGitHubCli();
|
|
585
|
+
const result = await exec('gh', [
|
|
586
|
+
'api', `orgs/{owner}/teams/${encodeURIComponent(teamSlug)}/memberships/${encodeURIComponent(login)}`,
|
|
587
|
+
'--jq', '.state'
|
|
588
|
+
]);
|
|
589
|
+
if (result.exitCode !== 0) {
|
|
590
|
+
if (/HTTP 404/.test(result.stderr)) {
|
|
591
|
+
return false;
|
|
592
|
+
}
|
|
593
|
+
throw new Error(`Could not read @${login}'s membership of the GitHub team ${teamSlug}: ${result.stderr}`);
|
|
594
|
+
}
|
|
595
|
+
return result.stdout.trim() === 'active';
|
|
596
|
+
}
|
|
605
597
|
/** The authenticated user's access to the repository of the current checkout. */
|
|
606
598
|
export async function getRepoAccess() {
|
|
607
599
|
await ensureGitHubCli();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/services/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C;;;;GAIG;AACH,MAAM,yBAAyB,GAAG,gBAAgB,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAkB,EAAE,cAAsB;IAC5E,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,CAAC,IAAI,CAAC,uCAAuC,UAAU,KAAK,CAAC,CAAC;IAEpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,kBAAkB;QAC5B,MAAM,EAAE,MAAM;KACf,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QACrF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAW,CAAC;YAC1D,MAAM,CAAC,GAAG,CAAC,gCAAgC,UAAU,SAAS,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAChF,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,mCAAmC,UAAU,EAAE,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAAkB;IACtD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,MAAM,EAAE,UAAU;QACxB,QAAQ,EAAE,aAAa;QACvB,IAAI,EAAE,cAAc;KACrB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAClD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAAkB,EAClB,cAAsB,EACtB,cAA6B,EAC7B,KAAK,GAAG,KAAK;IAEb,MAAM,eAAe,EAAE,CAAC;IAExB,6BAA6B;IAC7B,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACnE,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,CAAC,8BAA8B,UAAU,CAAC,MAAM,iBAAiB,CAAC,CAAC;QAC7E,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,uBAAuB,UAAU,OAAO,cAAc,KAAK,CAAC,CAAC;IAEzE,sEAAsE;IACtE,IAAI,KAAa,CAAC;IAClB,IAAI,IAAY,CAAC;IAEjB,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,GAAG,GAAG,UAAU,+BAA+B,cAAc,EAAE,CAAC;QACrE,IAAI,GAAG,4CAA4C,UAAU,MAAM,yBAAyB,GAAG,cAAc,EAAE,CAAC;IAClH,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,UAAU,CAAC;QACnB,IAAI,GAAG,oBAAoB,UAAU,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC1F,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAEtC,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAC1C,yBAAyB;QACzB,OAAO,MAAM,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,OAAO,CAAC,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,UAAkB;IAChD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,MAAM,EAAE,UAAU;QACxB,QAAQ,EAAE,8BAA8B;QACxC,IAAI,EAAE,GAAG;KACV,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAW,CAAC;YAC1D,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AASD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAAkB;IACtD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,0BAA0B;KACrC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACnD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAiB,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAkB,EAAE,QAAgB;IACvE,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,CAAC,IAAI,CAAC,aAAa,QAAQ,qBAAqB,UAAU,KAAK,CAAC,CAAC;IAEvE,MAAM,WAAW,CAAC,IAAI,EAAE;QACtB,IAAI,EAAE,MAAM,EAAE,UAAU;QACxB,gBAAgB,EAAE,QAAQ;KAC3B,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,YAAY,QAAQ,wBAAwB,CAAC,CAAC;AAC/D,CAAC;AAOD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,UAAkB;IAC9C,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,CAAC,MAAM,CAAC,yBAAyB,UAAU,KAAK,CAAC,CAAC;IAExD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,OAAO,EAAE,UAAU;QACzB,SAAS;KACV,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,UAAkB;IAC/D,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,CAAC,MAAM,CAAC,yBAAyB,UAAU,yBAAyB,CAAC,CAAC;IAE5E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,OAAO,EAAE,UAAU;QACzB,SAAS;QACT,SAAS;KACV,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;QAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAAkB;IACxD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,CAAC,IAAI,CAAC,4CAA4C,UAAU,KAAK,CAAC,CAAC;IAEzE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,OAAO,EAAE,UAAU;QACzB,QAAQ;QACR,SAAS;KACV,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;AAChF,CAAC;AAKD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAAkB;IACtD,MAAM,eAAe,EAAE,CAAC;IAExB,yFAAyF;IACzF,oFAAoF;IACpF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClF,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,2CAA2C,UAAU,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,OAAO,GAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAA+B,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC;QACrE,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;QACjD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAKD,MAAM,oBAAoB,GAAG,CAAC,GAAG,IAAI,CAAC;AACtC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAAkB;IACxD,MAAM,eAAe,EAAE,CAAC;IAExB,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;QACvG,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,qCAAqC,UAAU,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACpG,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrD,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;YAChC,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,IAAI,SAAS,KAAK,SAAS,IAAI,OAAO,IAAI,qBAAqB,EAAE,CAAC;YAChE,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IACzD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,CAAC,IAAI,CAAC,0BAA0B,UAAU,KAAK,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,IAAI,EAAE,QAAQ;QACrB,uCAAuC,UAAU,EAAE;KACpD,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,iBAAiB,UAAU,UAAU,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kCAAkC;IAClC,MAAM,CAAC,GAAG,CAAC,uBAAuB,UAAU,yBAAyB,CAAC,CAAC;IACvE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,wBAAwB,GAAG,gEAAgE,CAAC;AAElG;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,KAAa;IACpD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,MAAM,EAAE,KAAK;QACnB,QAAQ,EAAE,yBAAyB;QACnC,IAAI,EAAE,wDAAwD;KAC/D,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAClD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAA+C,CAAC;QACxF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kFAAkF;AAClF,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAC7C,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAC;AAExC,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA0C;IAClE,OAAO,qBAAqB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,mBAAmB,CAAC,UAAkB;IACnD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QACjC,KAAK,EAAE,wCAAwC;QAC/C,MAAM,EAAE,sDAAsD;KAC/D,CAAC,CAAC;IACH,IAAI,SAAS,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QACtC,KAAK,EAAE,iCAAiC,UAAU,oCAAoC;QACtF,MAAM,EAAE,oBAAoB;KAC7B,CAAC,CAAC;IACH,IAAI,cAAc,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,0FAA0F;IAC1F,2BAA2B;IAC3B,OAAO,CAAC,mCAAmC,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;AACzG,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IACjF,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,OAAO,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,UAAkB;IAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;IACzG,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACjC,OAAO,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,6BAA6B,CAAC,UAAkB,EAAE,QAAgB;IAC/E,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,EAAE,QAAQ,CAAC,CAAC;IAC9E,OAAO,MAAM,YAAY,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,aAAa,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;QACtF,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAID;;;;GAIG;AACH,KAAK,UAAU,iBAAiB,CAAC,UAAkB,EAAE,QAAgB;IACnE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,EAAE,QAAQ,CAAC,CAAC;IAC9E,IAAI,oBAAoB,GAAG,KAAK,CAAC;IAEjC,OAAO,gBAAgB,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,oBAAoB,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,MAAM,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3C,OAAO,iBAAiB,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,aAAa,EAAE,CAAC;YAChC,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QACzE,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAAkB,EAClB,cAAc,GAAG,EAAE;IAEnB,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,CAAC,MAAM,CAAC,6CAA6C,UAAU,aAAa,cAAc,OAAO,CAAC,CAAC;IACzG,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,EAAE,GAAG,IAAI,CAAC;IAEzD,IAAI,CAAC,MAAM,6BAA6B,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC/D,MAAM,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAC;QAC5E,OAAO;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,cAAc,UAAU,yHAAyH;SAC3J,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEjE,IAAI,UAAU,KAAK,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,uFAAuF,CAAC,CAAC;QACpG,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,kIAAkI;SAC5I,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;QACpD,OAAO;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,yCAAyC,UAAU,oEAAoE;SACjI,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC7B,IAAI,EAAE,QAAQ,EAAE,UAAU;QAC1B,SAAS;QACT,YAAY,EAAE,IAAI;QAClB,aAAa;KACd,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAEpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAEjE,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,MAAM,CAAC,OAAO,CAAC,gCAAgC,cAAc,UAAU,CAAC,CAAC;QACzE,OAAO;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,mBAAmB,cAAc,wCAAwC,WAAW,EAAE;SAChG,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACpC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,qCAAqC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,UAAkB,EAAE,IAAY;IACjE,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/E,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,8CAA8C,UAAU,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AASD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,YAAY,EAAE,+BAA+B,QAAQ,wBAAwB;QACpF,MAAM,EAAE,oEAAoE;KAC7E,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,OAAO,MAAM,CAAC,MAAM;SACjB,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;SACtC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,KAAK,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAClF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAWD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAwB;IACrD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,OAAO,CAAC,YAAY;QAC9B,QAAQ,EAAE,OAAO,CAAC,YAAY;QAC9B,SAAS,EAAE,OAAO,CAAC,KAAK;QACxB,QAAQ,EAAE,OAAO,CAAC,IAAI;QACtB,YAAY,EAAE,OAAO,CAAC,QAAQ;KAC/B,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC9B,CAAC;AAWD,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,UAAkB,EAAE,UAAkB;IACpE,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,2BAA2B;QACrC,MAAM,EAAE,6FAA6F;KACtG,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,mCAAmC,UAAU,SAAS,UAAU,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACxG,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACpC,OAAO,MAAM,IAAI,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAW,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3E,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAkB;IACrD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,MAAM,EAAE,UAAU;QACxB,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,kCAAkC;KACzC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,MAAM,CAAC,MAAM;SACjB,IAAI,EAAE;SACN,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAcD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAAkB;IACxD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,uCAAuC;KAClD,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAMlC,CAAC;IACH,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACpB,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,KAAK,EAAE,EAAE,CAAC,KAAK;QACf,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,SAAS;QACrC,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,EAAE;QAC3B,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,SAAS;KAC1C,CAAC,CAAC,CAAC;AACN,CAAC;AAQD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,GAAW;IACxD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,gCAAgC,GAAG,QAAQ;QAClD,MAAM,EAAE,kFAAkF;KAC3F,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,+CAA+C,GAAG,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAwB,CAAC;AAC1D,CAAC;AAgBD,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,sBAAsB;QAC7B,MAAM,EAAE,kGAAkG;KAC3G,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,sDAAsD,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAe,CAAC;AACjD,CAAC"}
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/services/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C;;;;GAIG;AACH,MAAM,yBAAyB,GAAG,gBAAgB,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAkB,EAAE,cAAsB;IAC5E,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,CAAC,IAAI,CAAC,uCAAuC,UAAU,KAAK,CAAC,CAAC;IAEpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,kBAAkB;QAC5B,MAAM,EAAE,MAAM;KACf,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QACrF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAW,CAAC;YAC1D,MAAM,CAAC,GAAG,CAAC,gCAAgC,UAAU,SAAS,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAChF,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,mCAAmC,UAAU,EAAE,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAAkB;IACtD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,MAAM,EAAE,UAAU;QACxB,QAAQ,EAAE,aAAa;QACvB,IAAI,EAAE,cAAc;KACrB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAClD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAAkB,EAClB,cAAsB,EACtB,cAA6B,EAC7B,KAAK,GAAG,KAAK;IAEb,MAAM,eAAe,EAAE,CAAC;IAExB,6BAA6B;IAC7B,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACnE,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,CAAC,8BAA8B,UAAU,CAAC,MAAM,iBAAiB,CAAC,CAAC;QAC7E,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,uBAAuB,UAAU,OAAO,cAAc,KAAK,CAAC,CAAC;IAEzE,sEAAsE;IACtE,IAAI,KAAa,CAAC;IAClB,IAAI,IAAY,CAAC;IAEjB,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,GAAG,GAAG,UAAU,+BAA+B,cAAc,EAAE,CAAC;QACrE,IAAI,GAAG,4CAA4C,UAAU,MAAM,yBAAyB,GAAG,cAAc,EAAE,CAAC;IAClH,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,UAAU,CAAC;QACnB,IAAI,GAAG,oBAAoB,UAAU,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC1F,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAEtC,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAC1C,yBAAyB;QACzB,OAAO,MAAM,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,OAAO,CAAC,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,UAAkB;IAChD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,MAAM,EAAE,UAAU;QACxB,QAAQ,EAAE,8BAA8B;QACxC,IAAI,EAAE,GAAG;KACV,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAW,CAAC;YAC1D,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AASD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAAkB;IACtD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,0BAA0B;KACrC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACnD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAiB,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAkB,EAAE,QAAgB;IACvE,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,CAAC,IAAI,CAAC,aAAa,QAAQ,qBAAqB,UAAU,KAAK,CAAC,CAAC;IAEvE,MAAM,WAAW,CAAC,IAAI,EAAE;QACtB,IAAI,EAAE,MAAM,EAAE,UAAU;QACxB,gBAAgB,EAAE,QAAQ;KAC3B,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,YAAY,QAAQ,wBAAwB,CAAC,CAAC;AAC/D,CAAC;AAOD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,UAAkB;IAC/D,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,CAAC,MAAM,CAAC,yBAAyB,UAAU,yBAAyB,CAAC,CAAC;IAE5E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,OAAO,EAAE,UAAU;QACzB,SAAS;QACT,SAAS;KACV,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;QAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AAClD,CAAC;AAKD,MAAM,oBAAoB,GAAG,CAAC,GAAG,IAAI,CAAC;AACtC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAAkB;IACxD,MAAM,eAAe,EAAE,CAAC;IAExB,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;QACvG,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,qCAAqC,UAAU,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACpG,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrD,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;YAChC,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,IAAI,SAAS,KAAK,SAAS,IAAI,OAAO,IAAI,qBAAqB,EAAE,CAAC;YAChE,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IACzD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,CAAC,IAAI,CAAC,0BAA0B,UAAU,KAAK,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,IAAI,EAAE,QAAQ;QACrB,uCAAuC,UAAU,EAAE;KACpD,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,iBAAiB,UAAU,UAAU,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kCAAkC;IAClC,MAAM,CAAC,GAAG,CAAC,uBAAuB,UAAU,yBAAyB,CAAC,CAAC;IACvE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,wBAAwB,GAAG,gEAAgE,CAAC;AAElG;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,KAAa;IACpD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,MAAM,EAAE,KAAK;QACnB,QAAQ,EAAE,yBAAyB;QACnC,IAAI,EAAE,wDAAwD;KAC/D,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAClD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAA+C,CAAC;QACxF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kFAAkF;AAClF,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAC7C,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAC;AAExC,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA0C;IAClE,OAAO,qBAAqB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,mBAAmB,CAAC,UAAkB;IACnD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QACjC,KAAK,EAAE,wCAAwC;QAC/C,MAAM,EAAE,sDAAsD;KAC/D,CAAC,CAAC;IACH,IAAI,SAAS,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QACtC,KAAK,EAAE,iCAAiC,UAAU,oCAAoC;QACtF,MAAM,EAAE,oBAAoB;KAC7B,CAAC,CAAC;IACH,IAAI,cAAc,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,0FAA0F;IAC1F,2BAA2B;IAC3B,OAAO,CAAC,mCAAmC,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;AACzG,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IACzD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IACjF,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,OAAO,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,UAAkB;IAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;IACzG,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACjC,OAAO,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,6BAA6B,CAAC,UAAkB,EAAE,QAAgB;IAC/E,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,EAAE,QAAQ,CAAC,CAAC;IAC9E,OAAO,MAAM,YAAY,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,aAAa,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;QACtF,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAID;;;;GAIG;AACH,KAAK,UAAU,iBAAiB,CAAC,UAAkB,EAAE,QAAgB;IACnE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,EAAE,QAAQ,CAAC,CAAC;IAC9E,IAAI,oBAAoB,GAAG,KAAK,CAAC;IAEjC,OAAO,gBAAgB,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,oBAAoB,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,MAAM,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3C,OAAO,iBAAiB,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,aAAa,EAAE,CAAC;YAChC,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QACzE,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAAkB,EAClB,cAAc,GAAG,EAAE;IAEnB,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,CAAC,MAAM,CAAC,6CAA6C,UAAU,aAAa,cAAc,OAAO,CAAC,CAAC;IACzG,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,EAAE,GAAG,IAAI,CAAC;IAEzD,IAAI,CAAC,MAAM,6BAA6B,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC/D,MAAM,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAC;QAC5E,OAAO;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,cAAc,UAAU,yHAAyH;SAC3J,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEjE,IAAI,UAAU,KAAK,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,uFAAuF,CAAC,CAAC;QACpG,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,kIAAkI;SAC5I,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;QACpD,OAAO;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,yCAAyC,UAAU,oEAAoE;SACjI,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC7B,IAAI,EAAE,QAAQ,EAAE,UAAU;QAC1B,SAAS;QACT,YAAY,EAAE,IAAI;QAClB,aAAa;KACd,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAEpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAEjE,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,MAAM,CAAC,OAAO,CAAC,gCAAgC,cAAc,UAAU,CAAC,CAAC;QACzE,OAAO;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,mBAAmB,cAAc,wCAAwC,WAAW,EAAE;SAChG,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACpC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,qCAAqC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,UAAkB,EAAE,IAAY;IACjE,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/E,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,8CAA8C,UAAU,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AASD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,YAAY,EAAE,+BAA+B,QAAQ,wBAAwB;QACpF,MAAM,EAAE,oEAAoE;KAC7E,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,OAAO,MAAM,CAAC,MAAM;SACjB,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;SACtC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,KAAK,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAClF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAWD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAwB;IACrD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,OAAO,CAAC,YAAY;QAC9B,QAAQ,EAAE,OAAO,CAAC,YAAY;QAC9B,SAAS,EAAE,OAAO,CAAC,KAAK;QACxB,QAAQ,EAAE,OAAO,CAAC,IAAI;QACtB,YAAY,EAAE,OAAO,CAAC,QAAQ;KAC/B,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAa,EAAE,IAAY;IAC5D,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5C,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChF,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAWD,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,UAAkB,EAAE,UAAkB;IACpE,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,2BAA2B;QACrC,MAAM,EAAE,6FAA6F;KACtG,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,mCAAmC,UAAU,SAAS,UAAU,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACxG,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACpC,OAAO,MAAM,IAAI,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAW,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3E,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAkB;IACrD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,MAAM,EAAE,UAAU;QACxB,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,kCAAkC;KACzC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,MAAM,CAAC,MAAM;SACjB,IAAI,EAAE;SACN,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAcD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAAkB;IACxD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,uCAAuC;KAClD,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAMlC,CAAC;IACH,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACpB,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,KAAK,EAAE,EAAE,CAAC,KAAK;QACf,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,SAAS;QACrC,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,EAAE;QAC3B,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,SAAS;KAC1C,CAAC,CAAC,CAAC;AACN,CAAC;AAQD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,GAAW;IACxD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,gCAAgC,GAAG,QAAQ;QAClD,MAAM,EAAE,kFAAkF;KAC3F,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,+CAA+C,GAAG,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAwB,CAAC;AAC1D,CAAC;AAgBD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAa;IAC7C,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,sCAAsC,kBAAkB,CAAC,KAAK,CAAC,aAAa;QACnF,MAAM,EAAE,wCAAwC;KACjD,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,oCAAoC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,KAAa;IAChE,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,sBAAsB,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE;QACpG,MAAM,EAAE,QAAQ;KACjB,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,oCAAoC,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5G,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC;AAC3C,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,sBAAsB;QAC7B,MAAM,EAAE,kGAAkG;KAC3G,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,sDAAsD,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAe,CAAC;AACjD,CAAC"}
|
|
@@ -11,8 +11,9 @@
|
|
|
11
11
|
*
|
|
12
12
|
* The credential lives in the operating system's credential store (macOS Keychain, Windows
|
|
13
13
|
* Credential Manager, Secret Service on Linux) under the service `idea1-cli` and the API base URL as
|
|
14
|
-
* the account, as the JSON of a `StoredCredential
|
|
15
|
-
*
|
|
14
|
+
* the account, as the JSON of a `StoredCredential`; a credential longer than one entry holds
|
|
15
|
+
* continues in further entries. Parallel CLI processes share it: the platform does not rotate
|
|
16
|
+
* refresh tokens, so concurrent refreshes all stay valid and the last write wins.
|
|
16
17
|
*
|
|
17
18
|
* `IDEA1_TOKEN`, when set, is the bearer token of every call instead (a team API client's token in
|
|
18
19
|
* CI, or a test's): nothing is read from or written to the credential store, and nothing is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-auth.d.ts","sourceRoot":"","sources":["../../src/services/platform-auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"platform-auth.d.ts","sourceRoot":"","sources":["../../src/services/platform-auth.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,eAAO,MAAM,gBAAgB,uBAAuB,CAAC;AACrD,eAAO,MAAM,SAAS,gBAAgB,CAAC;AAuEvC;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAGnC;AAOD;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAcvF;AAED;;GAEG;AACH,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAQ3C;AAED;;;GAGG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAa/C"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createHash, randomBytes } from 'crypto';
|
|
2
2
|
import { createServer } from 'http';
|
|
3
|
+
import { setTimeout as delay } from 'timers/promises';
|
|
3
4
|
import { AsyncEntry } from '@napi-rs/keyring';
|
|
4
5
|
import { logger } from '../lib/logger.js';
|
|
5
6
|
import { isUnattended } from '../lib/prompt.js';
|
|
@@ -17,8 +18,9 @@ import { openUrl } from './os-launcher.js';
|
|
|
17
18
|
*
|
|
18
19
|
* The credential lives in the operating system's credential store (macOS Keychain, Windows
|
|
19
20
|
* Credential Manager, Secret Service on Linux) under the service `idea1-cli` and the API base URL as
|
|
20
|
-
* the account, as the JSON of a `StoredCredential
|
|
21
|
-
*
|
|
21
|
+
* the account, as the JSON of a `StoredCredential`; a credential longer than one entry holds
|
|
22
|
+
* continues in further entries. Parallel CLI processes share it: the platform does not rotate
|
|
23
|
+
* refresh tokens, so concurrent refreshes all stay valid and the last write wins.
|
|
22
24
|
*
|
|
23
25
|
* `IDEA1_TOKEN`, when set, is the bearer token of every call instead (a team API client's token in
|
|
24
26
|
* CI, or a test's): nothing is read from or written to the credential store, and nothing is
|
|
@@ -28,6 +30,19 @@ export const API_BASE_URL_ENV = 'IDEA1_API_BASE_URL';
|
|
|
28
30
|
export const TOKEN_ENV = 'IDEA1_TOKEN';
|
|
29
31
|
const DEFAULT_API_BASE_URL = 'https://api.idea1.ai';
|
|
30
32
|
const CREDENTIAL_STORE_SERVICE = 'idea1-cli';
|
|
33
|
+
/**
|
|
34
|
+
* The most UTF-16 code units one credential store entry holds: Windows Credential Manager caps an
|
|
35
|
+
* entry at 2560 bytes. The platform's access and refresh tokens are JWTs that together exceed it,
|
|
36
|
+
* so a credential is kept as a run of entries, each a piece of its JSON behind a header of at most
|
|
37
|
+
* CREDENTIAL_PIECE_HEADER_LENGTH code units (the write's id and the run's length).
|
|
38
|
+
*/
|
|
39
|
+
const CREDENTIAL_STORE_ENTRY_LENGTH = 1280;
|
|
40
|
+
const CREDENTIAL_PIECE_HEADER_LENGTH = 12;
|
|
41
|
+
const CREDENTIAL_PIECE_TEXT_LENGTH = CREDENTIAL_STORE_ENTRY_LENGTH - CREDENTIAL_PIECE_HEADER_LENGTH;
|
|
42
|
+
const CREDENTIAL_PIECE_PATTERN = /^([0-9a-f]{8}):(\d+):(.*)$/s;
|
|
43
|
+
/** How many times, and how far apart, a run whose entries are not all of one write is read. */
|
|
44
|
+
const STORED_CREDENTIAL_READ_ATTEMPTS = 4;
|
|
45
|
+
const STORED_CREDENTIAL_READ_RETRY_MS = 100;
|
|
31
46
|
const CLIENT_NAME = 'Idea1 CLI';
|
|
32
47
|
const CLIENT_SCOPE = 'team:read projects:read projects:write';
|
|
33
48
|
/** The redirect URI the client registers; the loopback server listens on a random port of it. */
|
|
@@ -100,7 +115,7 @@ export async function logout() {
|
|
|
100
115
|
await revoke(stored);
|
|
101
116
|
}
|
|
102
117
|
finally {
|
|
103
|
-
await
|
|
118
|
+
await deleteStoredCredential();
|
|
104
119
|
}
|
|
105
120
|
return true;
|
|
106
121
|
});
|
|
@@ -134,7 +149,7 @@ async function usableCredential(rejectedAccessToken) {
|
|
|
134
149
|
}
|
|
135
150
|
catch (error) {
|
|
136
151
|
if (error instanceof OAuthError && (error.code === 'invalid_grant' || error.code === 'invalid_client')) {
|
|
137
|
-
await
|
|
152
|
+
await deleteStoredCredential();
|
|
138
153
|
return signInWhenAttended(error.code === 'invalid_grant' ? stored.clientId : null);
|
|
139
154
|
}
|
|
140
155
|
throw error;
|
|
@@ -361,15 +376,96 @@ async function storeTokens(clientId, tokens, refreshToken) {
|
|
|
361
376
|
accessToken: tokens.access_token,
|
|
362
377
|
accessTokenExpiresAt: new Date(Date.now() + tokens.expires_in * 1000).toISOString()
|
|
363
378
|
};
|
|
364
|
-
await
|
|
379
|
+
await writeStoredCredential(credential);
|
|
365
380
|
return credential;
|
|
366
381
|
}
|
|
382
|
+
/**
|
|
383
|
+
* The credential's run of entries: its JSON in pieces, the first under the API base URL as the
|
|
384
|
+
* account and the rest under the URL suffixed `#2`, `#3`, and so on. Entries are written one at a
|
|
385
|
+
* time, so a run read mid-write, or left by a write that was cut short, mixes entries of different
|
|
386
|
+
* writes: it is read again a few times, and if it stays mixed there is no credential and the user
|
|
387
|
+
* signs in again. An entry of plain JSON is a whole credential on its own, and a stored text that
|
|
388
|
+
* is not JSON is no credential, since its parse error would quote the store's content.
|
|
389
|
+
*/
|
|
367
390
|
async function readStoredCredential() {
|
|
368
|
-
|
|
369
|
-
|
|
391
|
+
for (let attempt = 1; attempt <= STORED_CREDENTIAL_READ_ATTEMPTS; attempt++) {
|
|
392
|
+
const first = await credentialStoreEntry(1).getPassword();
|
|
393
|
+
if (first === null) {
|
|
394
|
+
return null;
|
|
395
|
+
}
|
|
396
|
+
if (first.startsWith('{')) {
|
|
397
|
+
return parseStoredCredential(first);
|
|
398
|
+
}
|
|
399
|
+
const json = await readStoredCredentialRun(first);
|
|
400
|
+
if (json !== null) {
|
|
401
|
+
return parseStoredCredential(json);
|
|
402
|
+
}
|
|
403
|
+
await delay(STORED_CREDENTIAL_READ_RETRY_MS);
|
|
404
|
+
}
|
|
405
|
+
return null;
|
|
406
|
+
}
|
|
407
|
+
/** The JSON of the run that `first` starts, or null when its entries are not all of one write. */
|
|
408
|
+
async function readStoredCredentialRun(first) {
|
|
409
|
+
const firstPiece = parseCredentialPiece(first);
|
|
410
|
+
if (firstPiece === null) {
|
|
411
|
+
return null;
|
|
412
|
+
}
|
|
413
|
+
const texts = [firstPiece.text];
|
|
414
|
+
for (let index = 2; index <= firstPiece.count; index++) {
|
|
415
|
+
const entry = await credentialStoreEntry(index).getPassword();
|
|
416
|
+
const piece = entry === null ? null : parseCredentialPiece(entry);
|
|
417
|
+
if (piece === null || piece.writeId !== firstPiece.writeId || piece.count !== firstPiece.count) {
|
|
418
|
+
return null;
|
|
419
|
+
}
|
|
420
|
+
texts.push(piece.text);
|
|
421
|
+
}
|
|
422
|
+
return texts.join('');
|
|
423
|
+
}
|
|
424
|
+
function parseStoredCredential(json) {
|
|
425
|
+
try {
|
|
426
|
+
return JSON.parse(json);
|
|
427
|
+
}
|
|
428
|
+
catch (error) {
|
|
429
|
+
if (error instanceof SyntaxError) {
|
|
430
|
+
return null;
|
|
431
|
+
}
|
|
432
|
+
throw error;
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
function parseCredentialPiece(entry) {
|
|
436
|
+
const match = CREDENTIAL_PIECE_PATTERN.exec(entry);
|
|
437
|
+
return match === null ? null : { writeId: match[1], count: Number(match[2]), text: match[3] };
|
|
438
|
+
}
|
|
439
|
+
async function writeStoredCredential(credential) {
|
|
440
|
+
const json = JSON.stringify(credential);
|
|
441
|
+
const texts = [];
|
|
442
|
+
for (let start = 0; start < json.length;) {
|
|
443
|
+
let end = Math.min(start + CREDENTIAL_PIECE_TEXT_LENGTH, json.length);
|
|
444
|
+
// A surrogate pair stays in one piece: the store cannot hold half of one.
|
|
445
|
+
if (end < json.length && json.charCodeAt(end - 1) >= 0xd800 && json.charCodeAt(end - 1) <= 0xdbff) {
|
|
446
|
+
end--;
|
|
447
|
+
}
|
|
448
|
+
texts.push(json.slice(start, end));
|
|
449
|
+
start = end;
|
|
450
|
+
}
|
|
451
|
+
const writeId = randomBytes(4).toString('hex');
|
|
452
|
+
for (const [offset, text] of texts.entries()) {
|
|
453
|
+
await credentialStoreEntry(offset + 1).setPassword(`${writeId}:${texts.length}:${text}`);
|
|
454
|
+
}
|
|
455
|
+
await deleteStoredCredentialFrom(texts.length + 1);
|
|
456
|
+
}
|
|
457
|
+
async function deleteStoredCredential() {
|
|
458
|
+
await deleteStoredCredentialFrom(1);
|
|
459
|
+
}
|
|
460
|
+
/** Removes the entries of the run from `index` on, such as those a shorter credential leaves behind. */
|
|
461
|
+
async function deleteStoredCredentialFrom(index) {
|
|
462
|
+
while (await credentialStoreEntry(index).deletePassword()) {
|
|
463
|
+
index++;
|
|
464
|
+
}
|
|
370
465
|
}
|
|
371
|
-
function credentialStoreEntry() {
|
|
372
|
-
|
|
466
|
+
function credentialStoreEntry(index) {
|
|
467
|
+
const account = index === 1 ? apiBaseUrl() : `${apiBaseUrl()}#${index}`;
|
|
468
|
+
return new AsyncEntry(CREDENTIAL_STORE_SERVICE, account);
|
|
373
469
|
}
|
|
374
470
|
function withBearer(init, token) {
|
|
375
471
|
return { ...init, headers: { ...init.headers, Authorization: `Bearer ${token}` } };
|