gcb-client 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/lib/commands/gh.d.ts.map +1 -1
- package/lib/commands/gh.js +12 -6
- package/lib/commands/gh.js.map +1 -1
- package/lib/commands/host-submit.d.ts +3 -3
- package/lib/commands/host-submit.d.ts.map +1 -1
- package/lib/commands/host-submit.js +29 -17
- package/lib/commands/host-submit.js.map +1 -1
- package/lib/commands/issue.d.ts +2 -2
- package/lib/commands/issue.d.ts.map +1 -1
- package/lib/commands/issue.js +119 -40
- package/lib/commands/issue.js.map +1 -1
- package/lib/commands/pr.d.ts +1 -1
- package/lib/commands/pr.d.ts.map +1 -1
- package/lib/commands/pr.js +115 -28
- package/lib/commands/pr.js.map +1 -1
- package/lib/commands/repo.d.ts +1 -1
- package/lib/commands/repo.js +4 -4
- package/lib/commands/repo.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,37 @@
|
|
|
1
1
|
# gcb-client
|
|
2
2
|
|
|
3
|
+
## 0.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#78](https://github.com/code-vaults/git-credential-broker/pull/78) [`75af9c8`](https://github.com/code-vaults/git-credential-broker/commit/75af9c8427ab72602ae43f6a82ab4458b3549ecf) Thanks [@JounQin](https://github.com/JounQin)! - Let a person submit a pull request review through the broker: bare `--as-user` uses the broker's
|
|
8
|
+
authorized person through the app broker, while `--as-user <login>` writes a typed host request,
|
|
9
|
+
checked against the broker allowlist, that runs `gh pr review` without a shell. `--approve`,
|
|
10
|
+
`--request-changes` and `--review-comment` are the review events. `pr:edit` also supports the
|
|
11
|
+
same person identities, so a pull request's title, body or base can be changed through the broker.
|
|
12
|
+
The catalog also gains `issue:edit` and `issue:comment`, with the same app/person identity
|
|
13
|
+
handling.
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Updated dependencies [[`75af9c8`](https://github.com/code-vaults/git-credential-broker/commit/75af9c8427ab72602ae43f6a82ab4458b3549ecf)]:
|
|
18
|
+
- gcb-core@0.4.0
|
|
19
|
+
|
|
20
|
+
## 0.3.0
|
|
21
|
+
|
|
22
|
+
### Minor Changes
|
|
23
|
+
|
|
24
|
+
- [#73](https://github.com/code-vaults/git-credential-broker/pull/73) [`afcbf78`](https://github.com/code-vaults/git-credential-broker/commit/afcbf7893b004dc4e92457ad11084b28534fbe0a) Thanks [@JounQin](https://github.com/JounQin)! - Add `gcb host` as the typed host broker: besides creating pull requests/issues and forking, it now
|
|
25
|
+
fulfils review replies. `--as-user <login> --reply-to` writes a typed reply request; the host broker validates the
|
|
26
|
+
repository/number/comment id, runs `gh api` with the selected account, and returns the reply URL.
|
|
27
|
+
An explicit `--repo` on a create/reply request is checked against the broker allowlist and needs no
|
|
28
|
+
checkout of that repository.
|
|
29
|
+
|
|
30
|
+
### Patch Changes
|
|
31
|
+
|
|
32
|
+
- Updated dependencies [[`afcbf78`](https://github.com/code-vaults/git-credential-broker/commit/afcbf7893b004dc4e92457ad11084b28534fbe0a)]:
|
|
33
|
+
- gcb-core@0.3.0
|
|
34
|
+
|
|
3
35
|
## 0.2.0
|
|
4
36
|
|
|
5
37
|
### Minor Changes
|
package/lib/commands/gh.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gh.d.ts","sourceRoot":"","sources":["../../src/commands/gh.ts"],"names":[],"mappings":"AA8CA,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,QAeL,CAAC;AAEjB;;;;;;GAMG;AACH,wBAAsB,KAAK,CACzB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,GAAE;IAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;CAAO,GAC1F,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"gh.d.ts","sourceRoot":"","sources":["../../src/commands/gh.ts"],"names":[],"mappings":"AA8CA,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,QAeL,CAAC;AAEjB;;;;;;GAMG;AACH,wBAAsB,KAAK,CACzB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,GAAE;IAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;CAAO,GAC1F,OAAO,CAAC,MAAM,CAAC,CAuNjB"}
|
package/lib/commands/gh.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* The action catalog defines the command, flags, positionals and permissions. The client only
|
|
5
5
|
* parses names and values; the broker rebuilds the canonical argv and runs gh with its own token.
|
|
6
6
|
*/
|
|
7
|
-
import { GH_ACTIONS, getGhAction, parseArgs, say, fail } from 'gcb-core';
|
|
7
|
+
import { GH_ACTIONS, buildGhArgv, getGhAction, parseArgs, say, fail } from 'gcb-core';
|
|
8
8
|
import { requestOverSocket, resolveSocketPath } from '../helper.js';
|
|
9
9
|
import { remoteRepo } from './remotes.js';
|
|
10
10
|
const ACTION_LINES = Object.values(GH_ACTIONS)
|
|
@@ -190,18 +190,15 @@ export async function runGh(argv, options = {}) {
|
|
|
190
190
|
}
|
|
191
191
|
repo = found.repo;
|
|
192
192
|
}
|
|
193
|
-
const socketPath = resolveSocketPath(args.value('socket'), process.env);
|
|
194
|
-
if (socketPath === undefined)
|
|
195
|
-
fail('no broker socket is configured');
|
|
196
193
|
for (const argument of rest) {
|
|
197
194
|
if (argument === '--')
|
|
198
195
|
break;
|
|
199
196
|
const match = /^--([^=]+)/.exec(argument);
|
|
200
197
|
if (match?.[1] === 'as-user') {
|
|
201
198
|
fail(domain === 'issue' && command === 'create'
|
|
202
|
-
? 'use gcb issue create --as-user (bare for the broker user, or with a login for the host
|
|
199
|
+
? 'use gcb issue create --as-user (bare for the broker user, or with a login for the host broker)'
|
|
203
200
|
: domain === 'pr' && command === 'create'
|
|
204
|
-
? 'use gcb pr --as-user (bare for the broker user, or with a login for the host
|
|
201
|
+
? 'use gcb pr --as-user (bare for the broker user, or with a login for the host broker)'
|
|
205
202
|
: 'use gcb pr --as-user with --reply-to, --edit or --comment, or gcb issue create --as-user');
|
|
206
203
|
}
|
|
207
204
|
if (match?.[1] !== undefined && !allowed.has(match[1])) {
|
|
@@ -238,6 +235,15 @@ export async function runGh(argv, options = {}) {
|
|
|
238
235
|
else
|
|
239
236
|
values[flag.name] = entries[0];
|
|
240
237
|
}
|
|
238
|
+
try {
|
|
239
|
+
buildGhArgv(actionName, values, repo);
|
|
240
|
+
}
|
|
241
|
+
catch (error) {
|
|
242
|
+
fail(error.message);
|
|
243
|
+
}
|
|
244
|
+
const socketPath = resolveSocketPath(args.value('socket'), process.env);
|
|
245
|
+
if (socketPath === undefined)
|
|
246
|
+
fail('no broker socket is configured');
|
|
241
247
|
let response;
|
|
242
248
|
try {
|
|
243
249
|
response = await requestOverSocket(socketPath, {
|
package/lib/commands/gh.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gh.js","sourceRoot":"","sources":["../../src/commands/gh.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAqB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"gh.js","sourceRoot":"","sources":["../../src/commands/gh.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { HostOpenResult, HostRequest } from 'gcb-core';
|
|
2
2
|
/**
|
|
3
|
-
* Explain why
|
|
3
|
+
* Explain why a host-broker request produced no answer.
|
|
4
4
|
*
|
|
5
5
|
* @param dir - the channel directory.
|
|
6
6
|
* @param id - the request id.
|
|
@@ -10,11 +10,11 @@ import type { HostOpenResult, HostRequest } from 'gcb-core';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare function noAnswerMessage(dir: string, id: string, noun: string, timeoutMs: number): string;
|
|
12
12
|
/**
|
|
13
|
-
* Write, wait for and report one
|
|
13
|
+
* Write, wait for and report one host-broker request.
|
|
14
14
|
*
|
|
15
15
|
* @param request - the validated request.
|
|
16
16
|
* @param success - formats the success line from the answer.
|
|
17
17
|
* @returns 0 after the answer is reported.
|
|
18
18
|
*/
|
|
19
|
-
export declare function
|
|
19
|
+
export declare function submitToHostBroker(request: HostRequest, success: (answer: HostOpenResult) => string): Promise<number>;
|
|
20
20
|
//# sourceMappingURL=host-submit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-submit.d.ts","sourceRoot":"","sources":["../../src/commands/host-submit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"host-submit.d.ts","sourceRoot":"","sources":["../../src/commands/host-submit.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5D;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAehG;AAeD;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,MAAM,GAC1C,OAAO,CAAC,MAAM,CAAC,CAwCjB"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Submit one request to the host
|
|
2
|
+
* Submit one request to the host broker and wait for its answer.
|
|
3
3
|
*
|
|
4
4
|
* Both person-authored create routes (`pr --as-user` and `issue create --as-user`) use this, so the
|
|
5
5
|
* channel checks, capability check, timeout diagnosis and cleanup cannot drift apart.
|
|
6
6
|
*/
|
|
7
7
|
import { existsSync } from 'node:fs';
|
|
8
8
|
import { join } from 'node:path';
|
|
9
|
-
import { ANSWER_TIMEOUT_MS, channelDir, findGitDir, readOpener, removeResult, waitForResult, writeRequest, } from 'gcb-core';
|
|
9
|
+
import { ANSWER_TIMEOUT_MS, channelDir, findGitDir, readOpener, removeResult, requestProblems, waitForResult, writeRequest, } from 'gcb-core';
|
|
10
10
|
import { fail, say } from 'gcb-core';
|
|
11
11
|
/**
|
|
12
|
-
* Explain why
|
|
12
|
+
* Explain why a host-broker request produced no answer.
|
|
13
13
|
*
|
|
14
14
|
* @param dir - the channel directory.
|
|
15
15
|
* @param id - the request id.
|
|
@@ -21,39 +21,51 @@ export function noAnswerMessage(dir, id, noun, timeoutMs) {
|
|
|
21
21
|
const pending = existsSync(join(dir, `${id}.json`));
|
|
22
22
|
const claimed = existsSync(join(dir, `${id}.json.working`));
|
|
23
23
|
if (!pending && !claimed) {
|
|
24
|
-
return (`the host
|
|
24
|
+
return (`the host broker took ${id} and dropped it without answering\n` +
|
|
25
25
|
` it probably does not understand ${noun} requests; restart it from this gcb-host version`);
|
|
26
26
|
}
|
|
27
27
|
const elapsed = timeoutMs >= 1_000 ? `${Math.round(timeoutMs / 1_000)}s` : `${timeoutMs}ms`;
|
|
28
|
-
return (`the host
|
|
29
|
-
' it may still be working: the request is not cancelled, and the
|
|
28
|
+
return (`the host broker did not answer ${id} within ${elapsed}\n` +
|
|
29
|
+
' it may still be working: the request is not cancelled, and the host broker removes it only once\n' +
|
|
30
30
|
` it has created the ${noun} or failed. Check the ${noun} list before asking again.`);
|
|
31
31
|
}
|
|
32
|
+
const KINDS = {
|
|
33
|
+
'pull-request': { noun: 'pull request' },
|
|
34
|
+
issue: { noun: 'issue', needed: 'issue' },
|
|
35
|
+
fork: { noun: 'fork', needed: 'fork' },
|
|
36
|
+
reply: { noun: 'reply', needed: 'reply' },
|
|
37
|
+
edit: { noun: 'edit', needed: 'edit' },
|
|
38
|
+
'issue-edit': { noun: 'issue edit', needed: 'issue-edit' },
|
|
39
|
+
'issue-comment': { noun: 'issue comment', needed: 'issue-comment' },
|
|
40
|
+
review: { noun: 'review', needed: 'review' },
|
|
41
|
+
};
|
|
32
42
|
/**
|
|
33
|
-
* Write, wait for and report one
|
|
43
|
+
* Write, wait for and report one host-broker request.
|
|
34
44
|
*
|
|
35
45
|
* @param request - the validated request.
|
|
36
46
|
* @param success - formats the success line from the answer.
|
|
37
47
|
* @returns 0 after the answer is reported.
|
|
38
48
|
*/
|
|
39
|
-
export async function
|
|
40
|
-
const
|
|
49
|
+
export async function submitToHostBroker(request, success) {
|
|
50
|
+
const problems = requestProblems(request);
|
|
51
|
+
if (problems.length > 0)
|
|
52
|
+
fail(problems.join('; '));
|
|
53
|
+
const { noun, needed } = KINDS[request.kind ?? 'pull-request'];
|
|
41
54
|
const gitDir = findGitDir(process.cwd());
|
|
42
55
|
if (gitDir === undefined)
|
|
43
56
|
fail('--as-user needs a git repository: run it from the checkout');
|
|
44
57
|
const dir = channelDir(gitDir);
|
|
45
58
|
const opener = readOpener(dir);
|
|
46
59
|
if (opener === undefined) {
|
|
47
|
-
fail(`no host
|
|
48
|
-
' start one on the host: gcb host
|
|
49
|
-
' or drop --as-user to
|
|
60
|
+
fail(`no host broker is watching ${dir}\n` +
|
|
61
|
+
' start one on the host: gcb host --repo <that checkout>\n' +
|
|
62
|
+
' or drop --as-user to do it as the app instead');
|
|
50
63
|
}
|
|
51
|
-
const needed = request.kind === 'issue' ? 'issue' : request.kind === 'fork' ? 'fork' : undefined;
|
|
52
64
|
if (needed !== undefined && !(Array.isArray(opener.kinds) && opener.kinds.includes(needed))) {
|
|
53
|
-
fail(`the host
|
|
65
|
+
fail(`the host broker does not advertise ${needed} support; restart it from this gcb-host version`);
|
|
54
66
|
}
|
|
55
|
-
//
|
|
56
|
-
//
|
|
67
|
+
// requestProblems above already checked the contract. Keep the catch as defence in case the two
|
|
68
|
+
// validators ever diverge; a stack trace would tell the caller none of it.
|
|
57
69
|
let id;
|
|
58
70
|
try {
|
|
59
71
|
id = writeRequest(dir, request);
|
|
@@ -74,7 +86,7 @@ export async function submitToOpener(request, success) {
|
|
|
74
86
|
fail(noAnswerMessage(dir, id, noun, timeoutMs));
|
|
75
87
|
removeResult(dir, id);
|
|
76
88
|
if (answer.error !== undefined)
|
|
77
|
-
fail(`the host
|
|
89
|
+
fail(`the host broker could not do it: ${answer.error}`);
|
|
78
90
|
say(success(answer));
|
|
79
91
|
return 0;
|
|
80
92
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-submit.js","sourceRoot":"","sources":["../../src/commands/host-submit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,aAAa,EACb,YAAY,GACb,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAErC;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,EAAU,EAAE,IAAY,EAAE,SAAiB;IACtF,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,CACL,wBAAwB,EAAE,qCAAqC;YAC/D,qCAAqC,IAAI,kDAAkD,CAC5F,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,CAAC;IAC5F,OAAO,CACL,kCAAkC,EAAE,WAAW,OAAO,IAAI;QAC1D,
|
|
1
|
+
{"version":3,"file":"host-submit.js","sourceRoot":"","sources":["../../src/commands/host-submit.ts"],"names":[],"mappings":"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"}
|
package/lib/commands/issue.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/** Usage text for the host
|
|
2
|
-
export declare const ISSUE_USAGE = "Usage: gcb issue create [--as-user
|
|
1
|
+
/** Usage text for the host broker create path. */
|
|
2
|
+
export declare const ISSUE_USAGE = "Usage: gcb issue create|edit|comment [--as-user] [options]\n\nCreate, edit or comment on an issue. Without --as-user it runs through the app broker; bare\n--as-user uses the broker's authorized person; --as-user <login> writes a request for the host\nbroker. issue edit <number> and issue comment <number> take the issue number as a positional.\n\n --title <text> The title (create/edit)\n --body <text> The body, inline, or use --body-file\n --body-file <path> The body, read from a file\n --repo <owner/name> The repository; with --as-user <login> it must be in the\n broker allowlist and needs no checkout of its own\n --as-user Use the broker's authorized person\n --as-user <login> Use ~/.config/gh-<login> on the host\n --proxy <url> Use this proxy for the host broker's gh call\n --no-proxy Reach GitHub directly for the host broker's gh call\n -h, --help Show this help\n\nThe broker route (no --as-user or bare) takes --body/--body-file and catalogued flags such as\n--label/--assignee; the host route takes --body/--body-file, plus --title for edit.\n";
|
|
3
3
|
/**
|
|
4
4
|
* Run one `issue` command.
|
|
5
5
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../src/commands/issue.ts"],"names":[],"mappings":"AAqBA,kDAAkD;AAClD,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../src/commands/issue.ts"],"names":[],"mappings":"AAqBA,kDAAkD;AAClD,eAAO,MAAM,WAAW,koCAmBvB,CAAC;AA+BF;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA0JvE"}
|
package/lib/commands/issue.js
CHANGED
|
@@ -1,39 +1,40 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `issue` — catalogued
|
|
2
|
+
* `issue` — catalogued create/edit/comment actions, with person routes through the host broker.
|
|
3
3
|
*
|
|
4
|
-
* Without `--as-user`
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* an issue there.
|
|
4
|
+
* Without `--as-user` these run app identity. Bare `--as-user` keeps the catalog action with the user
|
|
5
|
+
* identity. `--as-user <login>` writes a typed request for the host broker, which is also the route for
|
|
6
|
+
* a repository the app is not installed on.
|
|
8
7
|
*/
|
|
9
8
|
import { readFileSync } from 'node:fs';
|
|
10
9
|
import { LOGIN } from 'gcb-core';
|
|
11
|
-
import { fail, parseArgs, say } from 'gcb-core';
|
|
10
|
+
import { fail, parseArgs, say, validateArgs } from 'gcb-core';
|
|
12
11
|
import { runGh } from './gh.js';
|
|
13
|
-
import {
|
|
12
|
+
import { remoteRepo } from './remotes.js';
|
|
13
|
+
import { submitToHostBroker } from './host-submit.js';
|
|
14
14
|
/** Every flag the `--as-user` create path understands. */
|
|
15
15
|
const KNOWN_FLAGS = new Set([
|
|
16
|
-
'help', 'h', 'title', 'body', 'body-file', 'repo', 'as-user', 'proxy', 'no-proxy',
|
|
16
|
+
'help', 'h', 'title', 'body', 'body-file', 'repo', 'host', 'as-user', 'proxy', 'no-proxy',
|
|
17
17
|
]);
|
|
18
|
-
/** Usage text for the host
|
|
19
|
-
export const ISSUE_USAGE = `Usage: gcb issue create [--as-user
|
|
18
|
+
/** Usage text for the host broker create path. */
|
|
19
|
+
export const ISSUE_USAGE = `Usage: gcb issue create|edit|comment [--as-user] [options]
|
|
20
20
|
|
|
21
|
-
Create an issue. Without --as-user it runs through the app broker; bare
|
|
22
|
-
broker's authorized person; --as-user <login> writes a request for the host
|
|
21
|
+
Create, edit or comment on an issue. Without --as-user it runs through the app broker; bare
|
|
22
|
+
--as-user uses the broker's authorized person; --as-user <login> writes a request for the host
|
|
23
|
+
broker. issue edit <number> and issue comment <number> take the issue number as a positional.
|
|
23
24
|
|
|
24
|
-
--title <text> The title
|
|
25
|
-
--body <text> The body, inline, or use --body-file
|
|
26
|
-
broker route; the opener also takes either)
|
|
25
|
+
--title <text> The title (create/edit)
|
|
26
|
+
--body <text> The body, inline, or use --body-file
|
|
27
27
|
--body-file <path> The body, read from a file
|
|
28
|
-
--repo <owner/name> The repository;
|
|
28
|
+
--repo <owner/name> The repository; with --as-user <login> it must be in the
|
|
29
|
+
broker allowlist and needs no checkout of its own
|
|
29
30
|
--as-user Use the broker's authorized person
|
|
30
31
|
--as-user <login> Use ~/.config/gh-<login> on the host
|
|
31
|
-
--proxy <url> Use this proxy for the
|
|
32
|
-
--no-proxy Reach GitHub directly for the
|
|
32
|
+
--proxy <url> Use this proxy for the host broker's gh call
|
|
33
|
+
--no-proxy Reach GitHub directly for the host broker's gh call
|
|
33
34
|
-h, --help Show this help
|
|
34
35
|
|
|
35
36
|
The broker route (no --as-user or bare) takes --body/--body-file and catalogued flags such as
|
|
36
|
-
--label/--assignee; the host route takes --body/--body-file
|
|
37
|
+
--label/--assignee; the host route takes --body/--body-file, plus --title for edit.
|
|
37
38
|
`;
|
|
38
39
|
/** Drop one value-taking flag and its value, in either spelling. */
|
|
39
40
|
function dropFlag(argv, name) {
|
|
@@ -73,22 +74,107 @@ function forwardBodyFile(argv, bodyFile) {
|
|
|
73
74
|
* @returns the process exit code.
|
|
74
75
|
*/
|
|
75
76
|
export async function runIssue(argv) {
|
|
76
|
-
const args = parseArgs(argv, { booleans: ['help', 'no-proxy'] });
|
|
77
|
-
const account = args.values('as-user')[0];
|
|
78
|
-
if (args.positionals[0] !== 'create') {
|
|
79
|
-
if (args.has('as-user') || account !== undefined)
|
|
80
|
-
fail('--as-user only creates an issue');
|
|
81
|
-
return runGh(['issue', ...argv]);
|
|
82
|
-
}
|
|
83
|
-
if (args.has('help') || args.has('h')) {
|
|
84
|
-
say(ISSUE_USAGE);
|
|
85
|
-
return 0;
|
|
86
|
-
}
|
|
77
|
+
const args = parseArgs(argv, { booleans: ['help', 'no-proxy'], optionalValues: ['as-user'] });
|
|
87
78
|
if (args.values('as-user').length > 1)
|
|
88
79
|
fail('--as-user may only be given once');
|
|
89
80
|
if (args.has('as-user') && args.values('as-user').length > 0) {
|
|
90
81
|
fail('--as-user cannot be both bare and given a login');
|
|
91
82
|
}
|
|
83
|
+
if (args.has('no-proxy') && (args.has('proxy') || args.values('proxy').length > 0)) {
|
|
84
|
+
fail('--proxy and --no-proxy are mutually exclusive');
|
|
85
|
+
}
|
|
86
|
+
const account = args.values('as-user')[0];
|
|
87
|
+
const command = args.positionals[0];
|
|
88
|
+
if (validateArgs(args, argv, account === undefined ? undefined : KNOWN_FLAGS, account === undefined || command === undefined ? undefined : `gcb issue ${command} --as-user`)) {
|
|
89
|
+
if (command === undefined || command === 'create') {
|
|
90
|
+
say(ISSUE_USAGE);
|
|
91
|
+
return 0;
|
|
92
|
+
}
|
|
93
|
+
return runGh(['issue', command, '--help']);
|
|
94
|
+
}
|
|
95
|
+
if (command !== 'create') {
|
|
96
|
+
if (account !== undefined) {
|
|
97
|
+
if (command !== 'edit' && command !== 'comment') {
|
|
98
|
+
fail('--as-user <login> only creates, edits or comments on an issue');
|
|
99
|
+
}
|
|
100
|
+
if (!LOGIN.test(account))
|
|
101
|
+
fail(`--as-user must be a GitHub login, got ${JSON.stringify(account)}`);
|
|
102
|
+
if (command === 'edit' &&
|
|
103
|
+
args.value('title') === undefined &&
|
|
104
|
+
args.value('body') === undefined &&
|
|
105
|
+
args.value('body-file') === undefined) {
|
|
106
|
+
fail('issue edit needs --title, --body or --body-file');
|
|
107
|
+
}
|
|
108
|
+
if (args.positionals.length > 2) {
|
|
109
|
+
fail('unexpected argument ' + JSON.stringify(args.positionals[2]));
|
|
110
|
+
}
|
|
111
|
+
const number = args.positionals[1];
|
|
112
|
+
if (number === undefined || !/^[1-9][0-9]*$/.test(number) || !Number.isSafeInteger(Number(number))) {
|
|
113
|
+
fail('gcb issue ' + command + ' needs a safe positive issue number');
|
|
114
|
+
}
|
|
115
|
+
let repo = args.value('repo');
|
|
116
|
+
const host = args.value('host');
|
|
117
|
+
let requestHost = host;
|
|
118
|
+
if ((args.has('repo') || args.values('repo').length > 0) && (repo === undefined || repo.trim() === '')) {
|
|
119
|
+
fail('--repo needs a value');
|
|
120
|
+
}
|
|
121
|
+
if (repo === undefined) {
|
|
122
|
+
const found = remoteRepo('origin', process.cwd());
|
|
123
|
+
if (found === undefined)
|
|
124
|
+
fail('--as-user <login> needs --repo for issue edit or comment');
|
|
125
|
+
if (host !== undefined && found.host !== host.toLowerCase()) {
|
|
126
|
+
fail(`the checkout's remote is on ${found.host}, but --host is ${host}; pass --repo or --host`);
|
|
127
|
+
}
|
|
128
|
+
repo = `${found.owner}/${found.repo}`;
|
|
129
|
+
requestHost = host ?? found.host;
|
|
130
|
+
}
|
|
131
|
+
requestHost ??= 'github.com';
|
|
132
|
+
let body = args.value('body');
|
|
133
|
+
const bodyFile = args.value('body-file');
|
|
134
|
+
if (bodyFile !== undefined) {
|
|
135
|
+
try {
|
|
136
|
+
body = readFileSync(bodyFile, 'utf8');
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
fail(`cannot read ${bodyFile}: ${error.message}`);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
if (command === 'comment' && args.value('title') !== undefined) {
|
|
143
|
+
fail('--title is only supported for issue edit');
|
|
144
|
+
}
|
|
145
|
+
if (command === 'edit' && body === undefined && args.value('title') === undefined) {
|
|
146
|
+
fail('issue edit needs --title, --body or --body-file');
|
|
147
|
+
}
|
|
148
|
+
const common = {
|
|
149
|
+
repo,
|
|
150
|
+
host: requestHost,
|
|
151
|
+
number: Number(number),
|
|
152
|
+
account,
|
|
153
|
+
proxy: args.has('no-proxy') ? null : args.value('proxy'),
|
|
154
|
+
session: 'issue',
|
|
155
|
+
pid: process.pid,
|
|
156
|
+
};
|
|
157
|
+
const success = (answer) => (command === 'edit' ? 'edited issue #' : 'commented on issue #') +
|
|
158
|
+
`${answer.number ?? '?'} as ${account}${answer.url === undefined ? '' : `: ${answer.url}`}`;
|
|
159
|
+
if (command === 'edit') {
|
|
160
|
+
return submitToHostBroker({
|
|
161
|
+
kind: 'issue-edit',
|
|
162
|
+
...common,
|
|
163
|
+
...(args.value('title') === undefined ? {} : { title: args.value('title') }),
|
|
164
|
+
...(body === undefined ? {} : { body }),
|
|
165
|
+
}, success);
|
|
166
|
+
}
|
|
167
|
+
return submitToHostBroker({ kind: 'issue-comment', ...common, body: body ?? '' }, success);
|
|
168
|
+
}
|
|
169
|
+
if (args.has('as-user') && command !== 'edit' && command !== 'comment') {
|
|
170
|
+
fail('--as-user without a login only creates, edits or comments on an issue');
|
|
171
|
+
}
|
|
172
|
+
let rest = args.has('as-user') ? argv.filter((argument) => argument !== '--as-user' && argument !== '-as-user') : [...argv];
|
|
173
|
+
const bodyFile = args.value('body-file');
|
|
174
|
+
if (bodyFile !== undefined)
|
|
175
|
+
rest = forwardBodyFile(rest, bodyFile);
|
|
176
|
+
return runGh(['issue', ...rest], args.has('as-user') ? { identity: 'user' } : {});
|
|
177
|
+
}
|
|
92
178
|
if (args.has('as-user')) {
|
|
93
179
|
// Bare --as-user is the broker's authorized person; the action decides which token to use.
|
|
94
180
|
let rest = argv.filter((argument) => argument !== '--as-user' && argument !== '-as-user');
|
|
@@ -103,18 +189,11 @@ export async function runIssue(argv) {
|
|
|
103
189
|
}
|
|
104
190
|
if (!LOGIN.test(account))
|
|
105
191
|
fail(`--as-user must be a GitHub login, got ${JSON.stringify(account)}`);
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
fail('unknown option --' + name + ' for gcb issue create --as-user');
|
|
192
|
+
if (args.has('host') || args.value('host') !== undefined) {
|
|
193
|
+
fail('--host is not supported for issue create; use the checkout remote');
|
|
109
194
|
}
|
|
110
195
|
if (args.positionals.length > 1)
|
|
111
196
|
fail('unexpected argument ' + JSON.stringify(args.positionals[1]));
|
|
112
|
-
const proxyValues = args.values('proxy');
|
|
113
|
-
if (args.has('proxy') && proxyValues.length === 0)
|
|
114
|
-
fail('--proxy needs a value');
|
|
115
|
-
if (args.has('no-proxy') && (args.has('proxy') || proxyValues.length > 0)) {
|
|
116
|
-
fail('--proxy and --no-proxy are mutually exclusive');
|
|
117
|
-
}
|
|
118
197
|
const repo = args.value('repo');
|
|
119
198
|
if ((args.has('repo') || args.values('repo').length > 0) && (repo === undefined || repo.trim() === '')) {
|
|
120
199
|
fail('--repo needs a value (e.g. owner/name)');
|
|
@@ -132,7 +211,7 @@ export async function runIssue(argv) {
|
|
|
132
211
|
fail(`cannot read ${bodyFile}: ${error.message}`);
|
|
133
212
|
}
|
|
134
213
|
}
|
|
135
|
-
return
|
|
214
|
+
return submitToHostBroker({
|
|
136
215
|
kind: 'issue',
|
|
137
216
|
...(repo === undefined ? {} : { repo }),
|
|
138
217
|
title,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../src/commands/issue.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../src/commands/issue.ts"],"names":[],"mappings":"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"}
|
package/lib/commands/pr.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Usage text for `pr`. */
|
|
2
|
-
export declare const PR_USAGE = "Usage: gcb pr [options]\n\nOpen, update or inspect a pull request through the broker, without the credential\never reaching this side.\n\nA subcommand the gh action catalog has (pr view, pr close, \u2026) runs as that action instead;\ngcb gh --help lists them. The flags below are the flag-only lifecycle gh cannot express.\n\nOpening (the default)\n --head <branch> The branch holding the change [required]\n May be <remote>:<branch>, e.g. origin:feat/x, to name a fork\n --base <branch> The branch to merge into (default: main)\n A <remote>:<branch> here names the same repository as --repo\n --title <text> The title [required]\n --body <text> The body, inline\n --body-file <path> The body, read from a file \u2014 a pull request body is usually long\n --draft Open it as a draft\n --as-user Act as the authorized person through the broker for open,\n reply, resolve, edit or comment; fails if no user token
|
|
2
|
+
export declare const PR_USAGE = "Usage: gcb pr [options]\n\nOpen, update or inspect a pull request through the broker, without the credential\never reaching this side.\n\nA subcommand the gh action catalog has (pr view, pr close, \u2026) runs as that action instead;\ngcb gh --help lists them. The flags below are the flag-only lifecycle gh cannot express.\n\nOpening (the default)\n --head <branch> The branch holding the change [required]\n May be <remote>:<branch>, e.g. origin:feat/x, to name a fork\n --base <branch> The branch to merge into (default: main)\n A <remote>:<branch> here names the same repository as --repo\n --title <text> The title [required]\n --body <text> The body, inline\n --body-file <path> The body, read from a file \u2014 a pull request body is usually long\n --draft Open it as a draft\n --as-user Act as the authorized person through the broker for open,\n review, reply, resolve, edit or comment; fails if no user token\n is configured. Without it, open/review/reply/edit/comment use\n the app; resolve always needs the person\n --as-user <login> Create, review, reply or edit through the host broker, using\n ~/.config/gh-<login> (run 'gcb host' on the host)\n\nActing on one\n --number <n> The pull request number [required]\n --proxy <url> Use this proxy for this request\n --no-proxy Reach GitHub directly for this request\n --status Report its state, mergeability and the runs for its commit\n --approve Submit an approving review\n --request-changes Request changes; needs --body/--body-file\n --review-comment Leave a review comment; needs --body/--body-file\n No --as-user: app identity; bare --as-user: the broker's person;\n --as-user <login>: that host gh account\n --comment Post an anchored review comment (also needs --file and --line);\n for a plain comment use: gcb gh pr comment <number> --body ...\n --file <path> Anchor that comment to a line of this file, repository-relative\n --line <n> The line to anchor to, in the new file unless --side says otherwise\n --side <left|right> Which side of the diff --line counts on (default: right)\n --threads List its review threads: their ids, whether they are resolved, and the comments\n --reply-to <id> Reply inside the thread that comment id belongs to, with --body/--body-file\n --edit <id> Replace the body of that review comment, with --body/--body-file\n (an id --threads prints; no --number is needed)\n --resolve <thread> Mark that review thread resolved (the id --threads prints)\n --id <review-id> Show one existing review (with --number)\n --jq <expr> Filter that review's JSON (with --id)\n With --number and none of the above, the title, body or base is updated.\n\nCommon\n --socket <path> Broker socket (default: $GIT_BROKER_SOCKET or the socket file)\n --host <host> Host as configured, e.g. github.com (default: github.com)\n --repo <owner/name> Repository the pull request belongs to (default: origin remote)\n -h, --help Show this help\n";
|
|
3
3
|
/**
|
|
4
4
|
* Run the `pr` command.
|
|
5
5
|
*
|
package/lib/commands/pr.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr.d.ts","sourceRoot":"","sources":["../../src/commands/pr.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pr.d.ts","sourceRoot":"","sources":["../../src/commands/pr.ts"],"names":[],"mappings":"AAiCA,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,s3GAqDpB,CAAC;AA8BF;;;;;GAKG;AACH,wBAAsB,KAAK,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA+XpE"}
|
package/lib/commands/pr.js
CHANGED
|
@@ -16,13 +16,14 @@ import { LOGIN } from 'gcb-core';
|
|
|
16
16
|
import { requestOverSocket, resolveSocketPath } from '../helper.js';
|
|
17
17
|
import { baseBranchFor, qualifiedBranch, remoteRepo } from './remotes.js';
|
|
18
18
|
import { runGh } from './gh.js';
|
|
19
|
-
import {
|
|
20
|
-
import { fail, parseArgs, say } from 'gcb-core';
|
|
19
|
+
import { submitToHostBroker } from './host-submit.js';
|
|
20
|
+
import { fail, parseArgs, say, validateArgs } from 'gcb-core';
|
|
21
21
|
/** Every flag the flag-only lifecycle understands. */
|
|
22
22
|
const KNOWN_FLAGS = new Set([
|
|
23
23
|
'help', 'h', 'draft', 'close', 'comment', 'file', 'line', 'side', 'threads',
|
|
24
24
|
'reply-to', 'edit', 'resolve', 'id', 'jq', 'proxy', 'no-proxy', 'socket', 'host', 'repo',
|
|
25
|
-
'head', 'base', 'title', 'body', 'body-file', 'number', 'as-user', '
|
|
25
|
+
'head', 'base', 'title', 'body', 'body-file', 'number', 'as-user', 'status',
|
|
26
|
+
'approve', 'request-changes', 'review-comment',
|
|
26
27
|
]);
|
|
27
28
|
/** Longer than a credential request: a token is minted, then the action is performed. */
|
|
28
29
|
const PR_TIMEOUT_MS = 60_000;
|
|
@@ -45,17 +46,22 @@ Opening (the default)
|
|
|
45
46
|
--body-file <path> The body, read from a file — a pull request body is usually long
|
|
46
47
|
--draft Open it as a draft
|
|
47
48
|
--as-user Act as the authorized person through the broker for open,
|
|
48
|
-
reply, resolve, edit or comment; fails if no user token
|
|
49
|
-
configured. Without it, open/reply/edit/comment use
|
|
50
|
-
resolve always needs the person
|
|
51
|
-
--as-user <login> Create
|
|
52
|
-
(run 'gcb host
|
|
49
|
+
review, reply, resolve, edit or comment; fails if no user token
|
|
50
|
+
is configured. Without it, open/review/reply/edit/comment use
|
|
51
|
+
the app; resolve always needs the person
|
|
52
|
+
--as-user <login> Create, review, reply or edit through the host broker, using
|
|
53
|
+
~/.config/gh-<login> (run 'gcb host' on the host)
|
|
53
54
|
|
|
54
55
|
Acting on one
|
|
55
56
|
--number <n> The pull request number [required]
|
|
56
57
|
--proxy <url> Use this proxy for this request
|
|
57
58
|
--no-proxy Reach GitHub directly for this request
|
|
58
59
|
--status Report its state, mergeability and the runs for its commit
|
|
60
|
+
--approve Submit an approving review
|
|
61
|
+
--request-changes Request changes; needs --body/--body-file
|
|
62
|
+
--review-comment Leave a review comment; needs --body/--body-file
|
|
63
|
+
No --as-user: app identity; bare --as-user: the broker's person;
|
|
64
|
+
--as-user <login>: that host gh account
|
|
59
65
|
--comment Post an anchored review comment (also needs --file and --line);
|
|
60
66
|
for a plain comment use: gcb gh pr comment <number> --body ...
|
|
61
67
|
--file <path> Anchor that comment to a line of this file, repository-relative
|
|
@@ -90,6 +96,8 @@ function actionOf(args) {
|
|
|
90
96
|
// below — reading only `value` let a bare `--edit` fall through to `update`, which patched the pull
|
|
91
97
|
// request itself with the body meant for the comment.
|
|
92
98
|
const present = (name) => args.has(name) || args.value(name) !== undefined;
|
|
99
|
+
if (args.has('approve') || args.has('request-changes') || args.has('review-comment'))
|
|
100
|
+
return 'submit-review';
|
|
93
101
|
if (present('resolve'))
|
|
94
102
|
return 'resolve';
|
|
95
103
|
if (present('reply-to'))
|
|
@@ -114,20 +122,13 @@ function actionOf(args) {
|
|
|
114
122
|
*/
|
|
115
123
|
export async function runPr(argv) {
|
|
116
124
|
const args = parseArgs(argv, {
|
|
117
|
-
booleans: ['help', 'draft', 'status', 'comment', 'threads', 'no-proxy'],
|
|
125
|
+
booleans: ['help', 'draft', 'status', 'comment', 'threads', 'no-proxy', 'approve', 'request-changes', 'review-comment'],
|
|
126
|
+
optionalValues: ['as-user', 'close'],
|
|
118
127
|
});
|
|
119
|
-
if (args
|
|
128
|
+
if (validateArgs(args, argv, KNOWN_FLAGS, 'gcb pr')) {
|
|
120
129
|
say(PR_USAGE);
|
|
121
130
|
return 0;
|
|
122
131
|
}
|
|
123
|
-
if (args.has('via-host') || args.value('via-host') !== undefined) {
|
|
124
|
-
fail('--via-host was replaced by --as-user <login>');
|
|
125
|
-
}
|
|
126
|
-
// Unknown options are refused rather than ignored: a typo must not silently fall through to an update.
|
|
127
|
-
for (const name of args.names) {
|
|
128
|
-
if (!KNOWN_FLAGS.has(name))
|
|
129
|
-
fail('unknown option --' + name + ' for gcb pr');
|
|
130
|
-
}
|
|
131
132
|
if (args.positionals.length > 0)
|
|
132
133
|
fail('unexpected argument ' + JSON.stringify(args.positionals[0]) + ' for gcb pr');
|
|
133
134
|
// Before --repo: the point of the message is to name the command that does it now.
|
|
@@ -139,11 +140,13 @@ export async function runPr(argv) {
|
|
|
139
140
|
if (args.has('comment') && args.value('file') === undefined && args.value('line') === undefined) {
|
|
140
141
|
fail('--comment only posts an anchored review comment; pass --file and --line');
|
|
141
142
|
}
|
|
143
|
+
if (args.has('comment') &&
|
|
144
|
+
(args.has('approve') || args.has('request-changes') || args.has('review-comment'))) {
|
|
145
|
+
fail('--comment is an anchored review comment; use --review-comment for a review body');
|
|
146
|
+
}
|
|
142
147
|
if (args.has('no-proxy') && args.value('proxy') !== undefined) {
|
|
143
148
|
fail('--proxy and --no-proxy are mutually exclusive');
|
|
144
149
|
}
|
|
145
|
-
if (args.has('proxy') && args.value('proxy') === undefined)
|
|
146
|
-
fail('--proxy needs a value');
|
|
147
150
|
const proxy = args.has('no-proxy') ? null : args.value('proxy');
|
|
148
151
|
const socketPath = resolveSocketPath(args.value('socket'), process.env);
|
|
149
152
|
const looksLikeOption = (value) => value.startsWith('--') || /^-(?=[A-Za-z])/.test(value);
|
|
@@ -187,10 +190,15 @@ export async function runPr(argv) {
|
|
|
187
190
|
if (asUser && accounts.length > 0)
|
|
188
191
|
fail('--as-user cannot be both bare and given a login');
|
|
189
192
|
const account = accounts[0];
|
|
190
|
-
if (account !== undefined &&
|
|
191
|
-
|
|
193
|
+
if (account !== undefined &&
|
|
194
|
+
action !== 'open' &&
|
|
195
|
+
action !== 'reply' &&
|
|
196
|
+
action !== 'submit-review' &&
|
|
197
|
+
action !== 'update') {
|
|
198
|
+
fail('--as-user <login> only opens, replies or reviews through the host broker; use bare --as-user for ' +
|
|
199
|
+
JSON.stringify(action));
|
|
192
200
|
}
|
|
193
|
-
if (asUser && !['open', 'resolve', 'reply', 'edit', 'comment'].includes(action)) {
|
|
201
|
+
if (asUser && !['open', 'resolve', 'reply', 'edit', 'comment', 'submit-review', 'update'].includes(action)) {
|
|
194
202
|
fail('--as-user without a login only opens, replies, resolves, edits or comments on a pull request, so it does not go with ' +
|
|
195
203
|
JSON.stringify(action));
|
|
196
204
|
}
|
|
@@ -244,7 +252,7 @@ export async function runPr(argv) {
|
|
|
244
252
|
fail('--title is required to open a pull request');
|
|
245
253
|
}
|
|
246
254
|
else if (action !== 'resolve' && action !== 'edit' && number === undefined) {
|
|
247
|
-
const verb = action === 'status' ? 'inspect' : action;
|
|
255
|
+
const verb = action === 'status' ? 'inspect' : action === 'submit-review' ? 'review' : action;
|
|
248
256
|
fail(`--number is required to ${verb} a pull request`);
|
|
249
257
|
}
|
|
250
258
|
// `--resolve` and `--edit` name their target by id and need no pull request number, but one given
|
|
@@ -311,6 +319,21 @@ export async function runPr(argv) {
|
|
|
311
319
|
return runGh(ghArgs, { unreachableExitCode: 3 });
|
|
312
320
|
}
|
|
313
321
|
if (action === 'update') {
|
|
322
|
+
if (account !== undefined) {
|
|
323
|
+
return submitToHostBroker({
|
|
324
|
+
kind: 'edit',
|
|
325
|
+
repo,
|
|
326
|
+
host,
|
|
327
|
+
number: Number(number),
|
|
328
|
+
...(title === undefined ? {} : { title }),
|
|
329
|
+
...(body === undefined ? {} : { body }),
|
|
330
|
+
...(base === undefined ? {} : { base }),
|
|
331
|
+
account,
|
|
332
|
+
proxy,
|
|
333
|
+
session: 'pr',
|
|
334
|
+
pid: process.pid,
|
|
335
|
+
}, (answer) => `edited #${answer.number ?? '?'} as ${account}${answer.url === undefined ? '' : `: ${answer.url}`}`);
|
|
336
|
+
}
|
|
314
337
|
const ghArgs = ['pr', 'edit', String(number), '--repo', repo, '--host', host];
|
|
315
338
|
if (title !== undefined)
|
|
316
339
|
ghArgs.push(`--title=${title}`);
|
|
@@ -325,13 +348,77 @@ export async function runPr(argv) {
|
|
|
325
348
|
ghArgs.push('--no-proxy');
|
|
326
349
|
else if (args.value('proxy') !== undefined)
|
|
327
350
|
ghArgs.push('--proxy', args.value('proxy'));
|
|
328
|
-
return runGh(ghArgs, { unreachableExitCode: 3 });
|
|
351
|
+
return runGh(ghArgs, { unreachableExitCode: 3, identity: asUser ? 'user' : 'app' });
|
|
352
|
+
}
|
|
353
|
+
if (action === 'submit-review') {
|
|
354
|
+
if (['threads', 'status', 'reply-to', 'edit', 'resolve', 'close', 'file', 'line', 'side', 'draft', 'head', 'base', 'title'].some((name) => args.has(name) || args.value(name) !== undefined)) {
|
|
355
|
+
fail('--approve/--request-changes/--review-comment cannot be combined with another action');
|
|
356
|
+
}
|
|
357
|
+
const events = [
|
|
358
|
+
args.has('approve') ? 'approve' : undefined,
|
|
359
|
+
args.has('request-changes') ? 'request-changes' : undefined,
|
|
360
|
+
args.has('review-comment') ? 'comment' : undefined,
|
|
361
|
+
].filter((event) => event !== undefined);
|
|
362
|
+
if (events.length !== 1)
|
|
363
|
+
fail('choose exactly one of --approve, --request-changes or --review-comment');
|
|
364
|
+
const event = events[0];
|
|
365
|
+
if (event !== 'approve' && (body === undefined || body.trim() === '')) {
|
|
366
|
+
fail(`--${event === 'comment' ? 'review-comment' : 'request-changes'} needs --body or --body-file`);
|
|
367
|
+
}
|
|
368
|
+
if (account !== undefined) {
|
|
369
|
+
return submitToHostBroker({
|
|
370
|
+
kind: 'review',
|
|
371
|
+
repo,
|
|
372
|
+
host,
|
|
373
|
+
number: Number(number),
|
|
374
|
+
event,
|
|
375
|
+
body: body ?? '',
|
|
376
|
+
account,
|
|
377
|
+
proxy,
|
|
378
|
+
session: 'pr',
|
|
379
|
+
pid: process.pid,
|
|
380
|
+
}, (answer) => `submitted ${event} review on #${answer.number ?? '?'} as ${account}${answer.url === undefined ? '' : `: ${answer.url}`}`);
|
|
381
|
+
}
|
|
382
|
+
const ghArgs = ['pr', 'review', String(number), '--repo', repo, '--host', host];
|
|
383
|
+
if (event === 'approve')
|
|
384
|
+
ghArgs.push('--approve');
|
|
385
|
+
else
|
|
386
|
+
ghArgs.push(event === 'request-changes' ? '--request-changes' : '--comment');
|
|
387
|
+
if (body !== undefined)
|
|
388
|
+
ghArgs.push(`--body=${body}`);
|
|
389
|
+
const socketArg = args.value('socket');
|
|
390
|
+
if (socketArg !== undefined)
|
|
391
|
+
ghArgs.push('--socket', socketArg);
|
|
392
|
+
if (args.has('no-proxy'))
|
|
393
|
+
ghArgs.push('--no-proxy');
|
|
394
|
+
else if (args.value('proxy') !== undefined)
|
|
395
|
+
ghArgs.push('--proxy', args.value('proxy'));
|
|
396
|
+
return runGh(ghArgs, { unreachableExitCode: 3, identity: asUser ? 'user' : 'app' });
|
|
397
|
+
}
|
|
398
|
+
if (account !== undefined && action === 'reply') {
|
|
399
|
+
if (number === undefined || replyTo === undefined)
|
|
400
|
+
fail('--as-user <login> needs --number and --reply-to');
|
|
401
|
+
return submitToHostBroker({
|
|
402
|
+
kind: 'reply',
|
|
403
|
+
repo,
|
|
404
|
+
host,
|
|
405
|
+
number: Number(number),
|
|
406
|
+
commentId: Number(replyTo),
|
|
407
|
+
body: body ?? '',
|
|
408
|
+
account,
|
|
409
|
+
proxy,
|
|
410
|
+
session: 'pr',
|
|
411
|
+
pid: process.pid,
|
|
412
|
+
}, (answer) => `replied on #${answer.number ?? '?'} as ${account}: ${answer.url ?? '(no url)'}`);
|
|
329
413
|
}
|
|
330
414
|
if (account !== undefined) {
|
|
331
415
|
if (head === undefined || title === undefined)
|
|
332
416
|
fail('--as-user needs --head and --title');
|
|
333
|
-
|
|
334
|
-
repo
|
|
417
|
+
if (args.value('repo') !== undefined && host.toLowerCase() !== 'github.com') {
|
|
418
|
+
fail('--as-user <login> with --repo only targets github.com; --host is not supported for create');
|
|
419
|
+
}
|
|
420
|
+
return submitToHostBroker({
|
|
421
|
+
...(args.value('repo') === undefined ? {} : { repo }),
|
|
335
422
|
head,
|
|
336
423
|
base: base ?? 'main',
|
|
337
424
|
title,
|
|
@@ -341,7 +428,7 @@ export async function runPr(argv) {
|
|
|
341
428
|
account,
|
|
342
429
|
session: 'pr',
|
|
343
430
|
pid: process.pid,
|
|
344
|
-
}, (answer) => `opened #${answer.number ?? '?'} (as ${account}, through the host
|
|
431
|
+
}, (answer) => `opened #${answer.number ?? '?'} (as ${account}, through the host broker): ${answer.url ?? '(no url)'}`);
|
|
345
432
|
}
|
|
346
433
|
if (socketPath === undefined) {
|
|
347
434
|
fail('no broker socket: pass --socket, set GIT_BROKER_SOCKET, or run `gcb setup`');
|
package/lib/commands/pr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr.js","sourceRoot":"","sources":["../../src/commands/pr.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pr.js","sourceRoot":"","sources":["../../src/commands/pr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE9D,sDAAsD;AACtD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS;IAC3E,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;IACxF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ;IAC3E,SAAS,EAAE,iBAAiB,EAAE,gBAAgB;CAC/C,CAAC,CAAC;AAEH,yFAAyF;AACzF,MAAM,aAAa,GAAG,MAAM,CAAC;AAE7B,2BAA2B;AAC3B,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDvB,CAAC;AAGF,qFAAqF;AACrF,MAAM,qBAAqB,GAAG,CAAC,KAAyB,EAAmB,EAAE,CAC3E,KAAK,KAAK,SAAS,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAE5F;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,IAA6E;IAC7F,uGAAuG;IACvG,uGAAuG;IACvG,oGAAoG;IACpG,sDAAsD;IACtD,MAAM,OAAO,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;IAC5F,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAAE,OAAO,eAAwB,CAAC;IACtH,IAAI,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,SAAkB,CAAC;IAClD,IAAI,OAAO,CAAC,UAAU,CAAC;QAAE,OAAO,OAAgB,CAAC;IACjD,IAAI,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,MAAe,CAAC;IAC5C,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,SAAkB,CAAC;IACnD,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,SAAkB,CAAC;IACnD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAiB,CAAC;IACjD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,SAAS;QAAE,OAAO,QAAiB,CAAC;IACjE,OAAO,MAAe,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,IAAuB;IACjD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE;QAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;QACvH,cAAc,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;KACrC,CAAC,CAAC;IACH,IAAI,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,QAAQ,CAAC,CAAC;QACd,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;IAEpH,mFAAmF;IACnF,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;QAC3D,IAAI,CAAC,8DAA8D,CAAC,CAAC;IACvE,CAAC;IACD,gGAAgG;IAChG,uFAAuF;IACvF,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;QAChG,IAAI,CAAC,yEAAyE,CAAC,CAAC;IAClF,CAAC;IAED,IACE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;QACnB,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAClF,CAAC;QACD,IAAI,CAAC,iFAAiF,CAAC,CAAC;IAC1F,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;QAC9D,IAAI,CAAC,+CAA+C,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACxE,MAAM,eAAe,GAAG,CAAC,KAAa,EAAW,EAAE,CACjD,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,CAAC,IAAY,EAAW,EAAE,CAC7C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IACrG,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3F,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC;QAAE,IAAI,CAAC,wCAAwC,CAAC,CAAC;IAC7F,MAAM,IAAI,GAAG,OAAO,IAAI,YAAY,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC;QAAE,IAAI,CAAC,wCAAwC,CAAC,CAAC;IAC7F,IAAI,IAAI,GAAG,OAAO,CAAC;IACnB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,kEAAkE,CAAC,CAAC;QAClG,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,+BAA+B,KAAK,CAAC,IAAI,mBAAmB,IAAI,yBAAyB,CAAC,CAAC;QAClG,CAAC;QACD,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACvE,IAAI,MAAM,GAA2C,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;IACrE,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG;YAChB,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS;YAC1F,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;SACrE,CAAC;QACF,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;YAC7H,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,GAAG,QAAQ,CAAC;IACpB,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAClE,IAAI,MAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAC3F,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5B,IACE,OAAO,KAAK,SAAS;QACrB,MAAM,KAAK,MAAM;QACjB,MAAM,KAAK,OAAO;QAClB,MAAM,KAAK,eAAe;QAC1B,MAAM,KAAK,QAAQ,EACnB,CAAC;QACD,IAAI,CACF,mGAAmG;YACjG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CACzB,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3G,IAAI,CACF,uHAAuH;YACrH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CACzB,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,qDAAqD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IAEjE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,qGAAqG;IACrG,uGAAuG;IACvG,oGAAoG;IACpG,oGAAoG;IACpG,MAAM,UAAU,GAAG,GAAuB,EAAE;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACxC,IAAI,CAAC;YACH,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,KAAyB,EAAsB,EAAE;QAClE,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,IAAI,CAAC;YACH,OAAO,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACzC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,QAAQ,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,4CAA4C,CAAC,CAAC;IACjE,CAAC;SAAM,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7E,MAAM,IAAI,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9F,IAAI,CAAC,2BAA2B,IAAI,iBAAiB,CAAC,CAAC;IACzD,CAAC;IACD,kGAAkG;IAClG,mCAAmC;IACnC,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,4CAA4C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACnF,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,EAAE,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC5C,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3F,IAAI,CAAC,+EAA+E,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACpH,IAAI,CAAC,4DAA4D,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3D,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,8DAA8D,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,oEAAoE,CAAC,CAAC;QACrG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,0CAA0C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACxC,IAAI,CAAC,qCAAqC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAChH,IAAI,CAAC,8DAA8D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC5G,IAAI,CAAC,gEAAgE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjG,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,MAAM,KAAK,QAAQ,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC,wCAAwC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACjF,IAAI,CAAC,4DAA4D,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,QAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1G,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAW,CAAC,CAAC;QAClG,IAAI,EAAE,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC,MAAM,EAAE,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,kBAAkB,CACvB;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI;gBACJ,IAAI;gBACJ,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;gBACtB,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;gBACzC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;gBACvC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;gBACvC,OAAO;gBACP,KAAK;gBACL,OAAO,EAAE,IAAI;gBACb,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,EACD,CAAC,MAAM,EAAE,EAAE,CACT,WAAW,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,OAAO,GAAG,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,CACtG,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC9E,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC;QACzD,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACtD,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAW,CAAC,CAAC;QAClG,OAAO,KAAK,CAAC,MAAM,EAAE,EAAE,mBAAmB,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;QAC/B,IACE,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAC1H,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,CAC3D,EACD,CAAC;YACD,IAAI,CAAC,qFAAqF,CAAC,CAAC;QAC9F,CAAC;QACD,MAAM,MAAM,GAAG;YACb,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC3C,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;YAC3D,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;SACnD,CAAC,MAAM,CAAC,CAAC,KAAK,EAAsD,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QAC7F,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,wEAAwE,CAAC,CAAC;QACxG,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAA8C,CAAC;QACrE,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACtE,IAAI,CAAC,KAAK,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,8BAA8B,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,kBAAkB,CACvB;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI;gBACJ,IAAI;gBACJ,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;gBACtB,KAAK;gBACL,IAAI,EAAE,IAAI,IAAI,EAAE;gBAChB,OAAO;gBACP,KAAK;gBACL,OAAO,EAAE,IAAI;gBACb,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,EACD,CAAC,MAAM,EAAE,EAAE,CACT,aAAa,KAAK,eAAe,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,OAAO,GAAG,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,CAC5H,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAChF,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;YAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,iBAAiB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAClF,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAW,CAAC,CAAC;QAClG,OAAO,KAAK,CAAC,MAAM,EAAE,EAAE,mBAAmB,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QAChD,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAC3G,OAAO,kBAAkB,CACvB;YACE,IAAI,EAAE,OAAO;YACb,IAAI;YACJ,IAAI;YACJ,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC;YAC1B,IAAI,EAAE,IAAI,IAAI,EAAE;YAChB,OAAO;YACP,KAAK;YACL,OAAO,EAAE,IAAI;YACb,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,EACD,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,MAAM,CAAC,GAAG,IAAI,UAAU,EAAE,CAC7F,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAC1F,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC;YAC5E,IAAI,CAAC,2FAA2F,CAAC,CAAC;QACpG,CAAC;QACD,OAAO,kBAAkB,CACvB;YACE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACrD,IAAI;YACJ,IAAI,EAAE,IAAI,IAAI,MAAM;YACpB,KAAK;YACL,IAAI,EAAE,IAAI,IAAI,EAAE;YAChB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YACxB,KAAK;YACL,OAAO;YACP,OAAO,EAAE,IAAI;YACb,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,EACD,CAAC,MAAM,EAAE,EAAE,CACT,WAAW,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,OAAO,+BAA+B,MAAM,CAAC,GAAG,IAAI,UAAU,EAAE,CAC1G,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,4EAA4E,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,iBAAiB,CAChC,UAAU,EACV;YACE,CAAC,EAAE,CAAC;YACJ,EAAE,EAAE,cAAc;YAClB,IAAI;YACJ,IAAI,EAAE,IAAI;YACV,MAAM;YACN,QAAQ;YACR,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAChF,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACvC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YACzC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACvC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;YAC5E,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YACxB,OAAO,EAAE,IAAI;YACb,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK;SACN,EACD,aAAa,CACd,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAiB,KAAe,CAAC,OAAO,IAAI,CAAC,CAAC;QACnE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,QAAQ,CAAC,IAAI,IAAI,SAAS,MAAM,QAAQ,CAAC,MAAM,IAAI,iBAAiB,IAAI,CAAC,CAAC;QAC3G,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC7E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,QAAQ,CAAC,IAAI,IAAI,gBAAgB,kDAAkD,CAAC,CAAC;YACtH,OAAO,CAAC,CAAC;QACX,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChD,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,WAAW,CAAC,CAAC;QACtC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,IAAI,GACR,MAAM,KAAK,MAAM;QACf,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,MAAM,KAAK,SAAS;YAChB,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,MAAM,KAAK,OAAO;gBAClB,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,MAAM,KAAK,MAAM;oBACjB,CAAC,CAAC,4BAA4B;oBAC9B,CAAC,CAAC,SAAS,CAAC;IAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO,GAAG,CAAC;IAC7E,GAAG,CAAC,GAAG,IAAI,KAAK,QAAQ,CAAC,QAAQ,IAAI,GAAG,GAAG,KAAK,KAAK,QAAQ,CAAC,KAAK,IAAI,UAAU,EAAE,CAAC,CAAC;IACrF,OAAO,CAAC,CAAC;AACX,CAAC"}
|
package/lib/commands/repo.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const REPO_USAGE = "Usage: gcb repo fork [owner/name] [options]\n\nCreate a fork under a person's account. The app identity cannot own a fork, so --as-user is\nrequired. Without an owner/name the source comes from the checkout's origin remote.\n\n --as-user Use the broker's authorized user token\n --as-user <login> Use the host
|
|
1
|
+
export declare const REPO_USAGE = "Usage: gcb repo fork [owner/name] [options]\n\nCreate a fork under a person's account. The app identity cannot own a fork, so --as-user is\nrequired. Without an owner/name the source comes from the checkout's origin remote.\n\n --as-user Use the broker's authorized user token\n --as-user <login> Use the host broker with ~/.config/gh-<login>\n --host <host> Host as configured (default: the origin remote's host, else github.com)\n --socket <path> Broker socket (default: GIT_BROKER_SOCKET)\n --proxy <url> Use this proxy for this request\n --no-proxy Reach GitHub directly for this request\n -h, --help Show this help\n";
|
|
2
2
|
export declare function runRepo(argv: readonly string[]): Promise<number>;
|
|
3
3
|
//# sourceMappingURL=repo.d.ts.map
|
package/lib/commands/repo.js
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* `repo fork` is the one operation an app cannot perform for itself: a fork must be owned by a user
|
|
5
5
|
* account, and an installation token has none. The command therefore requires `--as-user`; bare
|
|
6
|
-
* selects the broker's authorized person, a login selects the host
|
|
6
|
+
* selects the broker's authorized person, a login selects the host broker.
|
|
7
7
|
*/
|
|
8
8
|
import { LOGIN, REPOSITORY, fail, parseArgs, say } from 'gcb-core';
|
|
9
9
|
import { requestOverSocket, resolveSocketPath } from '../helper.js';
|
|
10
10
|
import { remoteRepo } from './remotes.js';
|
|
11
|
-
import {
|
|
11
|
+
import { submitToHostBroker } from './host-submit.js';
|
|
12
12
|
const KNOWN_FLAGS = new Set([
|
|
13
13
|
'help', 'h', 'as-user', 'proxy', 'no-proxy', 'socket', 'host',
|
|
14
14
|
]);
|
|
@@ -18,7 +18,7 @@ Create a fork under a person's account. The app identity cannot own a fork, so -
|
|
|
18
18
|
required. Without an owner/name the source comes from the checkout's origin remote.
|
|
19
19
|
|
|
20
20
|
--as-user Use the broker's authorized user token
|
|
21
|
-
--as-user <login> Use the host
|
|
21
|
+
--as-user <login> Use the host broker with ~/.config/gh-<login>
|
|
22
22
|
--host <host> Host as configured (default: the origin remote's host, else github.com)
|
|
23
23
|
--socket <path> Broker socket (default: GIT_BROKER_SOCKET)
|
|
24
24
|
--proxy <url> Use this proxy for this request
|
|
@@ -78,7 +78,7 @@ export async function runRepo(argv) {
|
|
|
78
78
|
}
|
|
79
79
|
const host = hostValue ?? origin?.host ?? 'github.com';
|
|
80
80
|
if (account !== undefined) {
|
|
81
|
-
return
|
|
81
|
+
return submitToHostBroker({ kind: 'fork', repo: source, host, account, proxy, session: 'repo', pid: process.pid }, (answer) => `forked ${source} as ${account}: ${answer.url ?? '(no url)'}`);
|
|
82
82
|
}
|
|
83
83
|
const socketPath = resolveSocketPath(args.value('socket'), process.env);
|
|
84
84
|
if (socketPath === undefined) {
|
package/lib/commands/repo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo.js","sourceRoot":"","sources":["../../src/commands/repo.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"repo.js","sourceRoot":"","sources":["../../src/commands/repo.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gcb-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Container-side gcb client: credential helper, setup, and socket-backed commands.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "JounQin <admin@1stg.me>",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"gcb-core": "0.
|
|
30
|
+
"gcb-core": "0.4.0"
|
|
31
31
|
},
|
|
32
32
|
"publishConfig": {
|
|
33
33
|
"access": "public",
|