gcb-client 0.4.0 → 0.5.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 +19 -0
- package/README.md +42 -0
- package/lib/commands/gh.d.ts +4 -1
- package/lib/commands/gh.d.ts.map +1 -1
- package/lib/commands/gh.js +192 -70
- package/lib/commands/gh.js.map +1 -1
- package/lib/commands/host-submit.d.ts +9 -2
- package/lib/commands/host-submit.d.ts.map +1 -1
- package/lib/commands/host-submit.js +75 -27
- package/lib/commands/host-submit.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 +30 -20
- package/lib/commands/pr.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +25 -11
- package/lib/index.js.map +1 -1
- package/lib/primary.d.ts +26 -0
- package/lib/primary.d.ts.map +1 -0
- package/lib/primary.js +35 -0
- package/lib/primary.js.map +1 -0
- package/package.json +2 -2
- package/lib/commands/issue.d.ts +0 -10
- package/lib/commands/issue.d.ts.map +0 -1
- package/lib/commands/issue.js +0 -225
- package/lib/commands/issue.js.map +0 -1
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { existsSync } from 'node:fs';
|
|
8
8
|
import { join } from 'node:path';
|
|
9
|
-
import { ANSWER_TIMEOUT_MS, channelDir, findGitDir,
|
|
10
|
-
import { fail, say } from 'gcb-core';
|
|
9
|
+
import { ANSWER_TIMEOUT_MS, channelDir, findGitDir, readHostBroker, readResult, removeResult, requestProblems, waitForResult, writeRequest, } from 'gcb-core';
|
|
10
|
+
import { fail, getGhAction, say } from 'gcb-core';
|
|
11
11
|
/**
|
|
12
12
|
* Explain why a host-broker request produced no answer.
|
|
13
13
|
*
|
|
@@ -31,22 +31,14 @@ export function noAnswerMessage(dir, id, noun, timeoutMs) {
|
|
|
31
31
|
}
|
|
32
32
|
const KINDS = {
|
|
33
33
|
'pull-request': { noun: 'pull request' },
|
|
34
|
-
issue: { noun: 'issue', needed: 'issue' },
|
|
35
34
|
fork: { noun: 'fork', needed: 'fork' },
|
|
36
35
|
reply: { noun: 'reply', needed: 'reply' },
|
|
37
36
|
edit: { noun: 'edit', needed: 'edit' },
|
|
38
|
-
'issue-edit': { noun: 'issue edit', needed: 'issue-edit' },
|
|
39
|
-
'issue-comment': { noun: 'issue comment', needed: 'issue-comment' },
|
|
40
37
|
review: { noun: 'review', needed: 'review' },
|
|
38
|
+
action: { noun: 'action', needed: 'action' },
|
|
41
39
|
};
|
|
42
|
-
/**
|
|
43
|
-
|
|
44
|
-
*
|
|
45
|
-
* @param request - the validated request.
|
|
46
|
-
* @param success - formats the success line from the answer.
|
|
47
|
-
* @returns 0 after the answer is reported.
|
|
48
|
-
*/
|
|
49
|
-
export async function submitToHostBroker(request, success) {
|
|
40
|
+
/** Write, wait for and return one host-broker answer. */
|
|
41
|
+
async function exchange(request, timeoutMs = ANSWER_TIMEOUT_MS, claimedTimeoutMs) {
|
|
50
42
|
const problems = requestProblems(request);
|
|
51
43
|
if (problems.length > 0)
|
|
52
44
|
fail(problems.join('; '));
|
|
@@ -55,17 +47,16 @@ export async function submitToHostBroker(request, success) {
|
|
|
55
47
|
if (gitDir === undefined)
|
|
56
48
|
fail('--as-user needs a git repository: run it from the checkout');
|
|
57
49
|
const dir = channelDir(gitDir);
|
|
58
|
-
const
|
|
59
|
-
if (
|
|
50
|
+
const hostBroker = readHostBroker(dir);
|
|
51
|
+
if (hostBroker === undefined) {
|
|
60
52
|
fail(`no host broker is watching ${dir}\n` +
|
|
61
53
|
' start one on the host: gcb host --repo <that checkout>\n' +
|
|
54
|
+
' if one is already running, restart it from this gcb-host version\n' +
|
|
62
55
|
' or drop --as-user to do it as the app instead');
|
|
63
56
|
}
|
|
64
|
-
if (needed !== undefined && !(Array.isArray(
|
|
57
|
+
if (needed !== undefined && !(Array.isArray(hostBroker.kinds) && hostBroker.kinds.includes(needed))) {
|
|
65
58
|
fail(`the host broker does not advertise ${needed} support; restart it from this gcb-host version`);
|
|
66
59
|
}
|
|
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.
|
|
69
60
|
let id;
|
|
70
61
|
try {
|
|
71
62
|
id = writeRequest(dir, request);
|
|
@@ -73,21 +64,78 @@ export async function submitToHostBroker(request, success) {
|
|
|
73
64
|
catch (error) {
|
|
74
65
|
fail(error.message);
|
|
75
66
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
67
|
+
const configured = Number(process.env['GCB_HOST_TIMEOUT_MS']);
|
|
68
|
+
if (Number.isInteger(configured) && configured > 0) {
|
|
69
|
+
timeoutMs = configured;
|
|
70
|
+
if (claimedTimeoutMs !== undefined)
|
|
71
|
+
claimedTimeoutMs = Math.min(claimedTimeoutMs, configured);
|
|
72
|
+
}
|
|
73
|
+
let answer = await waitForAnswer(dir, id, timeoutMs, claimedTimeoutMs);
|
|
83
74
|
if (answer === undefined)
|
|
84
75
|
answer = await waitForResult(dir, id, 300, 50);
|
|
85
|
-
if (answer === undefined)
|
|
86
|
-
|
|
76
|
+
if (answer === undefined) {
|
|
77
|
+
const waited = claimedTimeoutMs !== undefined && existsSync(join(dir, `${id}.json.working`))
|
|
78
|
+
? claimedTimeoutMs
|
|
79
|
+
: timeoutMs;
|
|
80
|
+
fail(noAnswerMessage(dir, id, noun, waited));
|
|
81
|
+
}
|
|
87
82
|
removeResult(dir, id);
|
|
83
|
+
return answer;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Wait for an answer, giving a claimed request its own deadline after queue time.
|
|
87
|
+
*
|
|
88
|
+
* Without this the action timeout would start when the request was written, so a request claimed
|
|
89
|
+
* late could still be running when the client reported it lost.
|
|
90
|
+
*/
|
|
91
|
+
async function waitForAnswer(dir, id, queueTimeoutMs, claimedTimeoutMs) {
|
|
92
|
+
const queueDeadline = Date.now() + queueTimeoutMs;
|
|
93
|
+
let claimedDeadline;
|
|
94
|
+
for (;;) {
|
|
95
|
+
const answer = readResult(dir, id);
|
|
96
|
+
if (answer !== undefined)
|
|
97
|
+
return answer;
|
|
98
|
+
const now = Date.now();
|
|
99
|
+
if (claimedTimeoutMs !== undefined && existsSync(join(dir, `${id}.json.working`))) {
|
|
100
|
+
claimedDeadline ??= now + claimedTimeoutMs;
|
|
101
|
+
if (now >= claimedDeadline)
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
104
|
+
else if (now >= queueDeadline) {
|
|
105
|
+
return undefined;
|
|
106
|
+
}
|
|
107
|
+
await new Promise((done) => setTimeout(done, 50));
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Write, wait for and report one host-broker request.
|
|
112
|
+
*
|
|
113
|
+
* @param request - the validated request.
|
|
114
|
+
* @param success - formats the success line from the answer.
|
|
115
|
+
* @returns 0 after the answer is reported.
|
|
116
|
+
*/
|
|
117
|
+
export async function submitToHostBroker(request, success) {
|
|
118
|
+
const answer = await exchange(request);
|
|
88
119
|
if (answer.error !== undefined)
|
|
89
120
|
fail(`the host broker could not do it: ${answer.error}`);
|
|
90
121
|
say(success(answer));
|
|
91
122
|
return 0;
|
|
92
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* Run one catalogued action through the host broker and forward its output.
|
|
126
|
+
*
|
|
127
|
+
* @param request - the validated action request.
|
|
128
|
+
* @returns the child's exit status as 0 or 1.
|
|
129
|
+
*/
|
|
130
|
+
export async function submitActionToHostBroker(request) {
|
|
131
|
+
const action = getGhAction(request.action);
|
|
132
|
+
const answer = await exchange(request, ANSWER_TIMEOUT_MS, action.timeoutSeconds * 1_000 + 30_000);
|
|
133
|
+
if (answer.error !== undefined)
|
|
134
|
+
fail(`the host broker could not do it: ${answer.error}`);
|
|
135
|
+
if (answer.stdout !== undefined && answer.stdout !== '')
|
|
136
|
+
process.stdout.write(answer.stdout);
|
|
137
|
+
if (answer.stderr !== undefined && answer.stderr !== '')
|
|
138
|
+
process.stderr.write(answer.stderr);
|
|
139
|
+
return answer.code === 0 ? 0 : 1;
|
|
140
|
+
}
|
|
93
141
|
//# sourceMappingURL=host-submit.js.map
|
|
@@ -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,eAAe,EACf,aAAa,EACb,YAAY,GACb,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"host-submit.js","sourceRoot":"","sources":["../../src/commands/host-submit.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
|
|
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 from a file, or '-' for stdin; a PR 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":"AA+BA,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,k3GAqDpB,CAAC;AA8BF;;;;;GAKG;AACH,wBAAsB,KAAK,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA4YpE"}
|
package/lib/commands/pr.js
CHANGED
|
@@ -11,13 +11,12 @@
|
|
|
11
11
|
*
|
|
12
12
|
* Exit codes: 0 done, 1 refused, 3 broker unreachable.
|
|
13
13
|
*/
|
|
14
|
-
import { readFileSync } from 'node:fs';
|
|
15
14
|
import { LOGIN } from 'gcb-core';
|
|
16
15
|
import { requestOverSocket, resolveSocketPath } from '../helper.js';
|
|
17
16
|
import { baseBranchFor, qualifiedBranch, remoteRepo } from './remotes.js';
|
|
18
17
|
import { runGh } from './gh.js';
|
|
19
18
|
import { submitToHostBroker } from './host-submit.js';
|
|
20
|
-
import { fail, parseArgs, say, validateArgs } from 'gcb-core';
|
|
19
|
+
import { bodyFromArgs, fail, parseArgs, say, validateArgs } from 'gcb-core';
|
|
21
20
|
/** Every flag the flag-only lifecycle understands. */
|
|
22
21
|
const KNOWN_FLAGS = new Set([
|
|
23
22
|
'help', 'h', 'draft', 'close', 'comment', 'file', 'line', 'side', 'threads',
|
|
@@ -43,7 +42,7 @@ Opening (the default)
|
|
|
43
42
|
A <remote>:<branch> here names the same repository as --repo
|
|
44
43
|
--title <text> The title [required]
|
|
45
44
|
--body <text> The body, inline
|
|
46
|
-
--body-file <path> The body
|
|
45
|
+
--body-file <path> The body from a file, or '-' for stdin; a PR body is usually long
|
|
47
46
|
--draft Open it as a draft
|
|
48
47
|
--as-user Act as the authorized person through the broker for open,
|
|
49
48
|
review, reply, resolve, edit or comment; fails if no user token
|
|
@@ -235,16 +234,6 @@ export async function runPr(argv) {
|
|
|
235
234
|
const head = qualified(args.value('head'));
|
|
236
235
|
const base = baseBranch();
|
|
237
236
|
const title = args.value('title');
|
|
238
|
-
const bodyFile = args.value('body-file');
|
|
239
|
-
let body = args.value('body');
|
|
240
|
-
if (bodyFile !== undefined) {
|
|
241
|
-
try {
|
|
242
|
-
body = readFileSync(bodyFile, 'utf8');
|
|
243
|
-
}
|
|
244
|
-
catch (error) {
|
|
245
|
-
fail(`cannot read ${bodyFile}: ${error.message}`);
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
237
|
if (action === 'open') {
|
|
249
238
|
if (!head)
|
|
250
239
|
fail('--head is required to open a pull request');
|
|
@@ -267,12 +256,6 @@ export async function runPr(argv) {
|
|
|
267
256
|
if (jq !== undefined && action !== 'review') {
|
|
268
257
|
fail('--jq only goes with --id');
|
|
269
258
|
}
|
|
270
|
-
if (action === 'update' && title === undefined && body === undefined && base === undefined) {
|
|
271
|
-
fail('an update has to change something: pass --title, --body/--body-file or --base');
|
|
272
|
-
}
|
|
273
|
-
if ((action === 'comment' || action === 'reply' || action === 'edit') && (body === undefined || body.trim() === '')) {
|
|
274
|
-
fail('a comment has to say something: pass --body or --body-file');
|
|
275
|
-
}
|
|
276
259
|
const filePath = args.value('file');
|
|
277
260
|
const lineArg = args.value('line');
|
|
278
261
|
const side = (args.value('side') ?? 'right').toLowerCase();
|
|
@@ -305,6 +288,25 @@ export async function runPr(argv) {
|
|
|
305
288
|
if (action === 'resolve' && (resolveId === undefined || resolveId.trim() === '')) {
|
|
306
289
|
fail(`--resolve needs the id of the thread being resolved, got ${JSON.stringify(resolveId)}`);
|
|
307
290
|
}
|
|
291
|
+
const hasBody = args.value('body') !== undefined || args.value('body-file') !== undefined;
|
|
292
|
+
let bodyValue;
|
|
293
|
+
let bodyRead = false;
|
|
294
|
+
const readBody = () => {
|
|
295
|
+
if (!bodyRead) {
|
|
296
|
+
bodyValue = bodyFromArgs(args);
|
|
297
|
+
bodyRead = true;
|
|
298
|
+
}
|
|
299
|
+
return bodyValue;
|
|
300
|
+
};
|
|
301
|
+
if (action === 'update' && title === undefined && !hasBody && base === undefined) {
|
|
302
|
+
fail('an update has to change something: pass --title, --body/--body-file or --base');
|
|
303
|
+
}
|
|
304
|
+
if ((action === 'comment' || action === 'reply' || action === 'edit') && !hasBody) {
|
|
305
|
+
fail('a comment has to say something: pass --body or --body-file');
|
|
306
|
+
}
|
|
307
|
+
if ((action === 'comment' || action === 'reply' || action === 'edit') && readBody()?.trim() === '') {
|
|
308
|
+
fail('a comment has to say something: pass --body or --body-file');
|
|
309
|
+
}
|
|
308
310
|
if (action === 'review') {
|
|
309
311
|
const ghArgs = ['pr', 'review-by-id', String(number), reviewId, '--repo', repo, '--host', host];
|
|
310
312
|
const socketArg = args.value('socket');
|
|
@@ -319,6 +321,7 @@ export async function runPr(argv) {
|
|
|
319
321
|
return runGh(ghArgs, { unreachableExitCode: 3 });
|
|
320
322
|
}
|
|
321
323
|
if (action === 'update') {
|
|
324
|
+
const body = hasBody ? readBody() : undefined;
|
|
322
325
|
if (account !== undefined) {
|
|
323
326
|
return submitToHostBroker({
|
|
324
327
|
kind: 'edit',
|
|
@@ -362,7 +365,11 @@ export async function runPr(argv) {
|
|
|
362
365
|
if (events.length !== 1)
|
|
363
366
|
fail('choose exactly one of --approve, --request-changes or --review-comment');
|
|
364
367
|
const event = events[0];
|
|
365
|
-
if (event !== 'approve' &&
|
|
368
|
+
if (event !== 'approve' && !hasBody) {
|
|
369
|
+
fail(`--${event === 'comment' ? 'review-comment' : 'request-changes'} needs --body or --body-file`);
|
|
370
|
+
}
|
|
371
|
+
const body = event === 'approve' && !hasBody ? undefined : readBody();
|
|
372
|
+
if (event !== 'approve' && body?.trim() === '') {
|
|
366
373
|
fail(`--${event === 'comment' ? 'review-comment' : 'request-changes'} needs --body or --body-file`);
|
|
367
374
|
}
|
|
368
375
|
if (account !== undefined) {
|
|
@@ -398,6 +405,7 @@ export async function runPr(argv) {
|
|
|
398
405
|
if (account !== undefined && action === 'reply') {
|
|
399
406
|
if (number === undefined || replyTo === undefined)
|
|
400
407
|
fail('--as-user <login> needs --number and --reply-to');
|
|
408
|
+
const body = readBody();
|
|
401
409
|
return submitToHostBroker({
|
|
402
410
|
kind: 'reply',
|
|
403
411
|
repo,
|
|
@@ -414,6 +422,7 @@ export async function runPr(argv) {
|
|
|
414
422
|
if (account !== undefined) {
|
|
415
423
|
if (head === undefined || title === undefined)
|
|
416
424
|
fail('--as-user needs --head and --title');
|
|
425
|
+
const body = hasBody ? readBody() : undefined;
|
|
417
426
|
if (args.value('repo') !== undefined && host.toLowerCase() !== 'github.com') {
|
|
418
427
|
fail('--as-user <login> with --repo only targets github.com; --host is not supported for create');
|
|
419
428
|
}
|
|
@@ -433,6 +442,7 @@ export async function runPr(argv) {
|
|
|
433
442
|
if (socketPath === undefined) {
|
|
434
443
|
fail('no broker socket: pass --socket, set GIT_BROKER_SOCKET, or run `gcb setup`');
|
|
435
444
|
}
|
|
445
|
+
const body = ['open', 'comment', 'reply', 'edit'].includes(action) && hasBody ? readBody() : undefined;
|
|
436
446
|
let response;
|
|
437
447
|
try {
|
|
438
448
|
response = await requestOverSocket(socketPath, {
|
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":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { CommandBackend } from 'gcb-core';
|
|
2
|
+
import type { Primary } from './primary.ts';
|
|
2
3
|
export { runHelper } from './helper.ts';
|
|
3
4
|
export declare const CLIENT_HELP: string;
|
|
5
|
+
export declare function runClient(argv: readonly string[], primary?: Primary): Promise<number>;
|
|
4
6
|
export declare const clientBackend: CommandBackend;
|
|
5
7
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAkBxC,eAAO,MAAM,WAAW,QAyB2C,CAAC;AAUpE,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAmD3F;AAED,eAAO,MAAM,aAAa,EAAE,cAK3B,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -43,9 +43,18 @@ Environment
|
|
|
43
43
|
GIT_BROKER_REQUIRE=1 Fail closed instead of behaving as if not installed when unconfigured
|
|
44
44
|
GIT_BROKER_SOCKET_FILE Where to read the socket path from when no variable is set
|
|
45
45
|
GCB_PROXY Per-push broker proxy: a URL, or empty for direct
|
|
46
|
+
GCB_PRIMARY CLI that runs catalogued actions (default: gh)
|
|
46
47
|
|
|
47
48
|
Host commands such as init/stage/compose/diagnose are in gcb-host.`;
|
|
48
|
-
|
|
49
|
+
/** Ask the selected action's own scan, rather than a second interpretation of its argv. */
|
|
50
|
+
async function actionAsksHelp(domain, sub, argv) {
|
|
51
|
+
if (sub === undefined || sub.startsWith('-')) {
|
|
52
|
+
return argv.includes('--help') || argv.includes('-h');
|
|
53
|
+
}
|
|
54
|
+
return (await import('./commands/gh.js')).actionHelpRequested(`${domain}:${sub}`, argv);
|
|
55
|
+
}
|
|
56
|
+
export async function runClient(argv, primary) {
|
|
57
|
+
const choose = async () => primary ?? (await import('./primary.js')).primaryFromEnv();
|
|
49
58
|
const [command, ...rest] = argv;
|
|
50
59
|
switch (command) {
|
|
51
60
|
case 'setup':
|
|
@@ -60,29 +69,34 @@ async function run(argv) {
|
|
|
60
69
|
// Bare `pr` asks the catalog too, where `run` needs no branch: the flag-only path would only
|
|
61
70
|
// tell it that --repo is required.
|
|
62
71
|
if (rest.length === 0)
|
|
63
|
-
return (await
|
|
72
|
+
return (await choose()).run(['pr']);
|
|
64
73
|
const sub = rest[0];
|
|
65
74
|
if (sub === 'review' && rest.some((argument) => argument === '--id' || argument.startsWith('--id='))) {
|
|
66
75
|
return (await import('./commands/pr.js')).runPr(rest.slice(1));
|
|
67
76
|
}
|
|
68
|
-
if (sub === 'create' &&
|
|
69
|
-
rest.some((argument) => argument === '--as-user' ||
|
|
70
|
-
argument.startsWith('--as-user=') ||
|
|
71
|
-
argument === '-as-user' ||
|
|
72
|
-
argument.startsWith('-as-user='))) {
|
|
77
|
+
if (sub === 'create' && (await import('./commands/gh.js')).actionHasAsUser('pr:create', rest)) {
|
|
73
78
|
// `pr create` is the catalogued action, but `--as-user` is the flag-only lifecycle's flag.
|
|
74
79
|
// Accept the obvious spelling instead of making the caller discover that `create` must go.
|
|
75
80
|
return (await import('./commands/pr.js')).runPr(rest.slice(1));
|
|
76
81
|
}
|
|
77
82
|
if (sub !== undefined && Object.hasOwn(GH_ACTIONS, `pr:${sub}`)) {
|
|
78
|
-
|
|
83
|
+
if (await actionAsksHelp('pr', sub, rest)) {
|
|
84
|
+
return (await import('./commands/gh.js')).runGh(['pr', ...rest], { unreachableExitCode: 3 });
|
|
85
|
+
}
|
|
86
|
+
return (await choose()).run(['pr', ...rest], { unreachableExitCode: 3 });
|
|
79
87
|
}
|
|
80
88
|
return (await import('./commands/pr.js')).runPr(rest);
|
|
81
89
|
}
|
|
82
90
|
case 'run':
|
|
83
|
-
|
|
91
|
+
if (await actionAsksHelp('run', rest[0], rest)) {
|
|
92
|
+
return (await import('./commands/gh.js')).runGh(['run', ...rest]);
|
|
93
|
+
}
|
|
94
|
+
return (await choose()).run(['run', ...rest]);
|
|
84
95
|
case 'issue':
|
|
85
|
-
|
|
96
|
+
if (await actionAsksHelp('issue', rest[0], rest)) {
|
|
97
|
+
return (await import('./commands/gh.js')).runGh(['issue', ...rest]);
|
|
98
|
+
}
|
|
99
|
+
return (await choose()).run(['issue', ...rest]);
|
|
86
100
|
case 'repo':
|
|
87
101
|
return (await import('./commands/repo.js')).runRepo(rest);
|
|
88
102
|
case 'gh':
|
|
@@ -96,6 +110,6 @@ export const clientBackend = {
|
|
|
96
110
|
role: 'client',
|
|
97
111
|
commands: CLIENT_COMMANDS,
|
|
98
112
|
help: CLIENT_HELP,
|
|
99
|
-
run,
|
|
113
|
+
run: runClient,
|
|
100
114
|
};
|
|
101
115
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/primary.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/** Options a primary passes through to the action runner. */
|
|
2
|
+
export interface PrimaryRunOptions {
|
|
3
|
+
readonly unreachableExitCode?: number;
|
|
4
|
+
readonly identity?: 'app' | 'user';
|
|
5
|
+
}
|
|
6
|
+
/** One CLI that can run a catalogued action. */
|
|
7
|
+
export interface Primary {
|
|
8
|
+
/** The configured name, e.g. `gh`. */
|
|
9
|
+
readonly name: string;
|
|
10
|
+
/** Run one catalogued action. */
|
|
11
|
+
run(argv: readonly string[], options?: PrimaryRunOptions): Promise<number>;
|
|
12
|
+
}
|
|
13
|
+
/** The `gh` adapter. */
|
|
14
|
+
export declare const GH_PRIMARY: Primary;
|
|
15
|
+
/**
|
|
16
|
+
* Resolve the configured primary.
|
|
17
|
+
*
|
|
18
|
+
* Only `gh` is implemented; an unknown name fails closed instead of falling back to a different
|
|
19
|
+
* CLI that would interpret the argv differently.
|
|
20
|
+
*
|
|
21
|
+
* @param env - the environment to read `GCB_PRIMARY` from.
|
|
22
|
+
* @param primaries - the available adapters, keyed by name.
|
|
23
|
+
* @returns the selected primary.
|
|
24
|
+
*/
|
|
25
|
+
export declare function primaryFromEnv(env?: NodeJS.ProcessEnv, primaries?: Readonly<Record<string, Primary>>): Primary;
|
|
26
|
+
//# sourceMappingURL=primary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primary.d.ts","sourceRoot":"","sources":["../src/primary.ts"],"names":[],"mappings":"AAUA,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACpC;AAED,gDAAgD;AAChD,MAAM,WAAW,OAAO;IACtB,sCAAsC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5E;AAED,wBAAwB;AACxB,eAAO,MAAM,UAAU,EAAE,OAGxB,CAAC;AAKF;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,SAAS,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAqB,GAC/D,OAAO,CAQT"}
|
package/lib/primary.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The CLI adapter that runs a catalogued action.
|
|
3
|
+
*
|
|
4
|
+
* The action catalog names `gh` commands today. A primary is the small seam between dispatch and
|
|
5
|
+
* that CLI, so selecting another forge CLI later does not require editing every command module.
|
|
6
|
+
*/
|
|
7
|
+
import { fail } from 'gcb-core';
|
|
8
|
+
import { runGh } from './commands/gh.js';
|
|
9
|
+
/** The `gh` adapter. */
|
|
10
|
+
export const GH_PRIMARY = {
|
|
11
|
+
name: 'gh',
|
|
12
|
+
run: (argv, options) => runGh(argv, options),
|
|
13
|
+
};
|
|
14
|
+
/** The adapters available in production. */
|
|
15
|
+
const DEFAULT_PRIMARIES = { [GH_PRIMARY.name]: GH_PRIMARY };
|
|
16
|
+
/**
|
|
17
|
+
* Resolve the configured primary.
|
|
18
|
+
*
|
|
19
|
+
* Only `gh` is implemented; an unknown name fails closed instead of falling back to a different
|
|
20
|
+
* CLI that would interpret the argv differently.
|
|
21
|
+
*
|
|
22
|
+
* @param env - the environment to read `GCB_PRIMARY` from.
|
|
23
|
+
* @param primaries - the available adapters, keyed by name.
|
|
24
|
+
* @returns the selected primary.
|
|
25
|
+
*/
|
|
26
|
+
export function primaryFromEnv(env = process.env, primaries = DEFAULT_PRIMARIES) {
|
|
27
|
+
const configured = env['GCB_PRIMARY'] ?? GH_PRIMARY.name;
|
|
28
|
+
const selected = Object.hasOwn(primaries, configured) ? primaries[configured] : undefined;
|
|
29
|
+
if (selected === undefined) {
|
|
30
|
+
const available = Object.keys(primaries).join(', ');
|
|
31
|
+
fail(`unsupported primary ${JSON.stringify(configured)}; available: ${available}`);
|
|
32
|
+
}
|
|
33
|
+
return selected;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=primary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primary.js","sourceRoot":"","sources":["../src/primary.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAgBzC,wBAAwB;AACxB,MAAM,CAAC,MAAM,UAAU,GAAY;IACjC,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC;CAC7C,CAAC;AAEF,4CAA4C;AAC5C,MAAM,iBAAiB,GAAsC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;AAE/F;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAC5B,GAAG,GAAsB,OAAO,CAAC,GAAG,EACpC,SAAS,GAAsC,iBAAiB;IAEhE,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC;IACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1F,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gcb-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.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.5.0"
|
|
31
31
|
},
|
|
32
32
|
"publishConfig": {
|
|
33
33
|
"access": "public",
|
package/lib/commands/issue.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
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
|
-
/**
|
|
4
|
-
* Run one `issue` command.
|
|
5
|
-
*
|
|
6
|
-
* @param argv - arguments after `issue`.
|
|
7
|
-
* @returns the process exit code.
|
|
8
|
-
*/
|
|
9
|
-
export declare function runIssue(argv: readonly string[]): Promise<number>;
|
|
10
|
-
//# sourceMappingURL=issue.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|