gcb-host 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 +7 -0
- package/README.md +42 -0
- package/lib/commands/host.d.ts +20 -11
- package/lib/commands/host.d.ts.map +1 -1
- package/lib/commands/host.js +198 -79
- package/lib/commands/host.js.map +1 -1
- package/lib/gh.d.ts +0 -6
- package/lib/gh.d.ts.map +1 -1
- package/lib/gh.js +83 -3
- package/lib/gh.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# gcb-host
|
|
2
2
|
|
|
3
|
+
## 0.5.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`51f0a65`](https://github.com/code-vaults/git-credential-broker/commit/51f0a65babcb9585a9ef56a5eeb754c9adc54bf0), [`5dedb25`](https://github.com/code-vaults/git-credential-broker/commit/5dedb25dbb47fd61f85bed444f1744214addcc22), [`705c139`](https://github.com/code-vaults/git-credential-broker/commit/705c13916643a4951476240b84f732feb236b964), [`e5bd34e`](https://github.com/code-vaults/git-credential-broker/commit/e5bd34ecabda5510763eef6e8689f6c3c14b0316), [`914535b`](https://github.com/code-vaults/git-credential-broker/commit/914535be1fb6223a0f055c2730fcaf304d976991)]:
|
|
8
|
+
- gcb-core@0.5.0
|
|
9
|
+
|
|
3
10
|
## 0.4.0
|
|
4
11
|
|
|
5
12
|
### Minor Changes
|
package/README.md
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# gcb-host
|
|
2
|
+
|
|
3
|
+
Host-side `gcb`: the broker, configuration, providers and administration commands.
|
|
4
|
+
|
|
5
|
+
The broker holds the GitHub App private key and mints short-lived, single-repository installation
|
|
6
|
+
tokens. It runs outside the container; the container-side [`gcb-client`](https://www.npmjs.com/package/gcb-client) never receives a
|
|
7
|
+
long-lived credential.
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
npm install --global gcb-host
|
|
11
|
+
# writes broker.config.yml and validates the deployment (default mode: host)
|
|
12
|
+
gcb init --config broker.config.yml \
|
|
13
|
+
--cert /path/to/app.private-key.pem \
|
|
14
|
+
--allow owner/repo \
|
|
15
|
+
--client-id <client-id> \
|
|
16
|
+
--app-id <app-id>
|
|
17
|
+
gcb doctor --config broker.config.yml
|
|
18
|
+
gcb daemon --config broker.config.yml
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Commands
|
|
22
|
+
|
|
23
|
+
`gcb init`, `gcb config`, `gcb diagnose`, `gcb doctor`, `gcb authorize`, `gcb stage`,
|
|
24
|
+
`gcb compose`, and `gcb daemon`/`gcb host`.
|
|
25
|
+
|
|
26
|
+
The host broker also serves typed person requests from `gcb-client --as-user <login>` (create,
|
|
27
|
+
review, reply, edit and catalogued-action routes), using the `gh-<login>` configuration directory on
|
|
28
|
+
this machine. The catalogued-action route is what `gcb gh <action> --as-user <login>` uses; it is
|
|
29
|
+
validated against the same action catalog and allowlist, never raw argv.
|
|
30
|
+
|
|
31
|
+
See the [repository README](https://github.com/code-vaults/git-credential-broker#readme) for the
|
|
32
|
+
configuration reference, allowlist rules and deployment shapes.
|
|
33
|
+
|
|
34
|
+
## Requirements
|
|
35
|
+
|
|
36
|
+
- Node.js 24 or newer
|
|
37
|
+
- `gh` for the host-broker person routes and catalogued execution
|
|
38
|
+
- a GitHub App private key outside every directory the container can write
|
|
39
|
+
|
|
40
|
+
## License
|
|
41
|
+
|
|
42
|
+
MIT
|
package/lib/commands/host.d.ts
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
|
+
/** What one bounded action process produced. */
|
|
2
|
+
export interface BoundedResult {
|
|
3
|
+
readonly stdout: string;
|
|
4
|
+
readonly stderr: string;
|
|
5
|
+
readonly code: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Run an action with streaming output caps.
|
|
9
|
+
*
|
|
10
|
+
* execFile's maxBuffer kills the child once a fixed buffer fills; a large diff or log would then be
|
|
11
|
+
* reported as a gh failure even though only the excess output is unusable. Read both streams to the
|
|
12
|
+
* end, keep the first bytes of each, and tell the caller where the cut is.
|
|
13
|
+
*/
|
|
14
|
+
export declare function runBounded(command: string, args: readonly string[], options: {
|
|
15
|
+
cwd: string;
|
|
16
|
+
env: NodeJS.ProcessEnv;
|
|
17
|
+
timeoutMs: number;
|
|
18
|
+
writeCaveat?: boolean;
|
|
19
|
+
}): Promise<BoundedResult>;
|
|
1
20
|
/** Usage text for `host`. */
|
|
2
|
-
export declare const HOST_BROKER_USAGE = "Usage: gcb host [options]\n\nRun on the host, once, beside the trees the container also sees. It finds the checkouts under the\nroots it is given \u2014 ones created later included \u2014 and fulfils their typed requests to create a pull\nrequest,
|
|
21
|
+
export declare const HOST_BROKER_USAGE = "Usage: gcb host [options]\n\nRun on the host, once, beside the trees the container also sees. It finds the checkouts under the\nroots it is given \u2014 ones created later included \u2014 and fulfils their typed requests to create a pull\nrequest, reply to a review comment, submit a review, edit a pull request, run a catalogued action or\nfork, with the gh account each request names. The result is authored by a person rather than by the app's bot.\n\n --root <dir> A tree to serve, repeatable (default: $HOME)\n --depth <n> How far below a root to look for checkouts (default: 4)\n --repo <path> Serve this one checkout instead of discovering any\n --config <path> Broker config whose allowlist fork, reply and explicit-repository requests use\n (default: $GIT_BROKER_CONFIG, else ./broker.config.yml)\n --command <path> The program that creates, replies or forks\n (default: $GCB_HOST_COMMAND, else gh)\n --arg <token> An extra argument for that program, before the subcommand (repeatable)\n --interval <seconds> How often to look for requests (default: 5)\n --once Fulfil what is waiting, then exit\n -h, --help Show this help\n\nThe container asks for this by passing --as-user to `pr`. Requests are files under\n<git dir>/gcb/host-broker, which is shared with the container and untracked by git\n\u2014 so the paths on the two sides never have to match: each writes and reads its own view of the same\ndirectory, and only the roots this process scans are host-side paths.\n";
|
|
3
22
|
/**
|
|
4
23
|
* Read a pull request's number and URL out of a program's output.
|
|
5
24
|
*
|
|
@@ -13,16 +32,6 @@ export declare function pullRequestUrl(output: string): {
|
|
|
13
32
|
number: number;
|
|
14
33
|
url: string;
|
|
15
34
|
} | undefined;
|
|
16
|
-
/**
|
|
17
|
-
* Pull the issue number and URL out of the program's output.
|
|
18
|
-
*
|
|
19
|
-
* @param output - the program's standard output.
|
|
20
|
-
* @returns the number and URL, or `undefined`.
|
|
21
|
-
*/
|
|
22
|
-
export declare function issueUrl(output: string): {
|
|
23
|
-
number: number;
|
|
24
|
-
url: string;
|
|
25
|
-
} | undefined;
|
|
26
35
|
/**
|
|
27
36
|
* Run the `host` command.
|
|
28
37
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/commands/host.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/commands/host.ts"],"names":[],"mappings":"AAqDA,gDAAgD;AAChD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GACzF,OAAO,CAAC,aAAa,CAAC,CA0FxB;AAED,6BAA6B;AAC7B,eAAO,MAAM,iBAAiB,8kDAuB7B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAK1F;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA8F5E"}
|
package/lib/commands/host.js
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `host` — the host broker for typed person actions: create, review, reply, edit
|
|
3
|
-
*
|
|
2
|
+
* `host` — the host broker for typed person actions: create, review, reply, edit, run catalogued
|
|
3
|
+
* actions, and fork with the gh account each request names.
|
|
4
4
|
*
|
|
5
5
|
* This runs on the host, beside the checkout the container also sees, and it does exactly one thing:
|
|
6
|
-
* it turns a request file into a pull request,
|
|
7
|
-
*
|
|
6
|
+
* it turns a request file into a pull request, review, reply, pull request edit, catalogued action
|
|
7
|
+
* or fork, using the gh account the request names. That is the whole point — content authored by a person is what automated reviewers will
|
|
8
8
|
* actually review, and the app cannot be that person.
|
|
9
9
|
*
|
|
10
|
-
* It has no other power
|
|
11
|
-
* program it calls is configuration, and it is called with an argument list built here.
|
|
10
|
+
* It has no other power than the catalogued actions: it cannot push or merge, and it never runs a
|
|
11
|
+
* shell; the program it calls is configuration, and it is called with an argument list built here.
|
|
12
12
|
*/
|
|
13
|
-
import { execFile } from 'node:child_process';
|
|
13
|
+
import { execFile, spawn } from 'node:child_process';
|
|
14
14
|
import { existsSync, mkdtempSync, rmSync, statSync, writeFileSync } from 'node:fs';
|
|
15
15
|
import { homedir, tmpdir } from 'node:os';
|
|
16
|
+
import { StringDecoder } from 'node:string_decoder';
|
|
16
17
|
import { join, resolve } from 'node:path';
|
|
17
18
|
import { promisify } from 'node:util';
|
|
18
|
-
import { channelDir,
|
|
19
|
+
import { channelDir, clearHostBroker, discoverCheckouts, findGitDir, listRequests, readHostBroker, claimRequest, removeRequest, requestProblems, writeHostBroker, writeResult, HOST, REPOSITORY, ANSWER_TIMEOUT_MS, buildGhArgv, getGhAction, } from 'gcb-core';
|
|
19
20
|
import { fail, listFlag, parseArgs, say, warn } from 'gcb-core';
|
|
20
21
|
import { applyProxyChoice, parseProxy } from '../http.js';
|
|
21
22
|
import { loadConfig, resolveConfigPath } from '../config.js';
|
|
@@ -23,13 +24,118 @@ import { hostConfig, repoAllowed } from '../policy.js';
|
|
|
23
24
|
const run = promisify(execFile);
|
|
24
25
|
/** How long one create, review, reply, edit or fork program may take. */
|
|
25
26
|
const CREATE_TIMEOUT_MS = 120_000;
|
|
27
|
+
/** Per-stream byte budget for a host action, small enough that JSON escaping stays under readResult's cap. */
|
|
28
|
+
const HOST_ACTION_OUTPUT_BYTES = 48_000;
|
|
29
|
+
/**
|
|
30
|
+
* Run an action with streaming output caps.
|
|
31
|
+
*
|
|
32
|
+
* execFile's maxBuffer kills the child once a fixed buffer fills; a large diff or log would then be
|
|
33
|
+
* reported as a gh failure even though only the excess output is unusable. Read both streams to the
|
|
34
|
+
* end, keep the first bytes of each, and tell the caller where the cut is.
|
|
35
|
+
*/
|
|
36
|
+
export function runBounded(command, args, options) {
|
|
37
|
+
return new Promise((resolve) => {
|
|
38
|
+
let child;
|
|
39
|
+
try {
|
|
40
|
+
child = spawn(command, [...args], {
|
|
41
|
+
cwd: options.cwd,
|
|
42
|
+
env: options.env,
|
|
43
|
+
shell: false,
|
|
44
|
+
detached: true,
|
|
45
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
resolve({ stdout: '', stderr: error.message, code: 1 });
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const suffix = '\n[output truncated]\n';
|
|
53
|
+
const timeoutNote = options.writeCaveat === false
|
|
54
|
+
? 'the action timed out\n'
|
|
55
|
+
: 'the action timed out; a write may have completed before it was killed\n';
|
|
56
|
+
const outKeep = HOST_ACTION_OUTPUT_BYTES - Buffer.byteLength(suffix);
|
|
57
|
+
const errKeep = outKeep - Buffer.byteLength(timeoutNote);
|
|
58
|
+
const stdout = new StringDecoder('utf8');
|
|
59
|
+
const stderr = new StringDecoder('utf8');
|
|
60
|
+
let out = '';
|
|
61
|
+
let err = '';
|
|
62
|
+
let outBytes = 0;
|
|
63
|
+
let errBytes = 0;
|
|
64
|
+
let outCut = false;
|
|
65
|
+
let errCut = false;
|
|
66
|
+
let timedOut = false;
|
|
67
|
+
let settled = false;
|
|
68
|
+
const append = (decoder, chunk, stream) => {
|
|
69
|
+
const limit = stream === 'out' ? outKeep : errKeep;
|
|
70
|
+
const used = stream === 'out' ? outBytes : errBytes;
|
|
71
|
+
if (used >= limit) {
|
|
72
|
+
if (stream === 'out')
|
|
73
|
+
outCut = true;
|
|
74
|
+
else
|
|
75
|
+
errCut = true;
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const piece = chunk.subarray(0, limit - used);
|
|
79
|
+
const text = decoder.write(piece);
|
|
80
|
+
if (stream === 'out') {
|
|
81
|
+
out += text;
|
|
82
|
+
outBytes += piece.length;
|
|
83
|
+
if (piece.length < chunk.length)
|
|
84
|
+
outCut = true;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
err += text;
|
|
88
|
+
errBytes += piece.length;
|
|
89
|
+
if (piece.length < chunk.length)
|
|
90
|
+
errCut = true;
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
child.stdout?.on('data', (chunk) => append(stdout, chunk, 'out'));
|
|
94
|
+
child.stderr?.on('data', (chunk) => append(stderr, chunk, 'err'));
|
|
95
|
+
child.on('error', (error) => finish({ stdout: out, stderr: err || error.message, code: 1 }));
|
|
96
|
+
const timer = setTimeout(() => {
|
|
97
|
+
timedOut = true;
|
|
98
|
+
if (child.pid !== undefined) {
|
|
99
|
+
try {
|
|
100
|
+
process.kill(-child.pid, 'SIGKILL');
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
child.kill('SIGKILL');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}, options.timeoutMs);
|
|
107
|
+
function finish(result) {
|
|
108
|
+
if (settled)
|
|
109
|
+
return;
|
|
110
|
+
settled = true;
|
|
111
|
+
clearTimeout(timer);
|
|
112
|
+
out += stdout.end();
|
|
113
|
+
err += stderr.end();
|
|
114
|
+
if (outCut)
|
|
115
|
+
out += suffix;
|
|
116
|
+
if (errCut)
|
|
117
|
+
err += suffix;
|
|
118
|
+
if (err === '' && result.stderr !== '')
|
|
119
|
+
err = result.stderr;
|
|
120
|
+
if (timedOut) {
|
|
121
|
+
if (err !== '' && !err.endsWith('\n'))
|
|
122
|
+
err += '\n';
|
|
123
|
+
err += timeoutNote;
|
|
124
|
+
}
|
|
125
|
+
resolve({ ...result, stdout: out, stderr: err });
|
|
126
|
+
}
|
|
127
|
+
child.on('close', (code, signal) => {
|
|
128
|
+
finish({ stdout: out, stderr: err, code: timedOut || signal !== null ? 1 : (code ?? 1) });
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
}
|
|
26
132
|
/** Usage text for `host`. */
|
|
27
133
|
export const HOST_BROKER_USAGE = `Usage: gcb host [options]
|
|
28
134
|
|
|
29
135
|
Run on the host, once, beside the trees the container also sees. It finds the checkouts under the
|
|
30
136
|
roots it is given — ones created later included — and fulfils their typed requests to create a pull
|
|
31
|
-
request,
|
|
32
|
-
|
|
137
|
+
request, reply to a review comment, submit a review, edit a pull request, run a catalogued action or
|
|
138
|
+
fork, with the gh account each request names. The result is authored by a person rather than by the app's bot.
|
|
33
139
|
|
|
34
140
|
--root <dir> A tree to serve, repeatable (default: $HOME)
|
|
35
141
|
--depth <n> How far below a root to look for checkouts (default: 4)
|
|
@@ -37,14 +143,14 @@ request, with the gh account each request names. The result is authored by a per
|
|
|
37
143
|
--config <path> Broker config whose allowlist fork, reply and explicit-repository requests use
|
|
38
144
|
(default: $GIT_BROKER_CONFIG, else ./broker.config.yml)
|
|
39
145
|
--command <path> The program that creates, replies or forks
|
|
40
|
-
(default: $
|
|
146
|
+
(default: $GCB_HOST_COMMAND, else gh)
|
|
41
147
|
--arg <token> An extra argument for that program, before the subcommand (repeatable)
|
|
42
148
|
--interval <seconds> How often to look for requests (default: 5)
|
|
43
149
|
--once Fulfil what is waiting, then exit
|
|
44
150
|
-h, --help Show this help
|
|
45
151
|
|
|
46
152
|
The container asks for this by passing --as-user to \`pr\`. Requests are files under
|
|
47
|
-
<git dir>/gcb/
|
|
153
|
+
<git dir>/gcb/host-broker, which is shared with the container and untracked by git
|
|
48
154
|
— so the paths on the two sides never have to match: each writes and reads its own view of the same
|
|
49
155
|
directory, and only the roots this process scans are host-side paths.
|
|
50
156
|
`;
|
|
@@ -64,19 +170,6 @@ export function pullRequestUrl(output) {
|
|
|
64
170
|
return undefined;
|
|
65
171
|
return { number: Number(digits), url: match[0] };
|
|
66
172
|
}
|
|
67
|
-
/**
|
|
68
|
-
* Pull the issue number and URL out of the program's output.
|
|
69
|
-
*
|
|
70
|
-
* @param output - the program's standard output.
|
|
71
|
-
* @returns the number and URL, or `undefined`.
|
|
72
|
-
*/
|
|
73
|
-
export function issueUrl(output) {
|
|
74
|
-
const match = /https:\/\/[^\s]+\/issues\/(\d+)/.exec(output);
|
|
75
|
-
const digits = match?.[1];
|
|
76
|
-
if (!match || digits === undefined)
|
|
77
|
-
return undefined;
|
|
78
|
-
return { number: Number(digits), url: match[0] };
|
|
79
|
-
}
|
|
80
173
|
/**
|
|
81
174
|
* Run the `host` command.
|
|
82
175
|
*
|
|
@@ -94,7 +187,7 @@ export async function runHostBroker(argv) {
|
|
|
94
187
|
const roots = listFlag(args, 'root');
|
|
95
188
|
const scanned = roots.length > 0 ? roots.map((root) => resolve(root)) : [homedir()];
|
|
96
189
|
const depth = Number(args.value('depth') ?? '4');
|
|
97
|
-
const command = args.value('command') ?? process.env['
|
|
190
|
+
const command = args.value('command') ?? process.env['GCB_HOST_COMMAND'] ?? 'gh';
|
|
98
191
|
const configPath = args.value('config');
|
|
99
192
|
let config;
|
|
100
193
|
/** Whether the broker config allowlist permits this host/repository for a fork, reply or explicit repository. */
|
|
@@ -131,12 +224,12 @@ export async function runHostBroker(argv) {
|
|
|
131
224
|
/** Advertise a channel, without rewriting the marker on every sweep. */
|
|
132
225
|
const advertise = (dir) => {
|
|
133
226
|
advertised.add(dir);
|
|
134
|
-
if (
|
|
135
|
-
|
|
227
|
+
if (readHostBroker(dir)?.pid !== process.pid) {
|
|
228
|
+
writeHostBroker(dir, {
|
|
136
229
|
pid: process.pid,
|
|
137
230
|
command,
|
|
138
231
|
startedAt: new Date().toISOString(),
|
|
139
|
-
kinds: ['pull-request', '
|
|
232
|
+
kinds: ['pull-request', 'review', 'reply', 'edit', 'action', 'fork'],
|
|
140
233
|
});
|
|
141
234
|
}
|
|
142
235
|
};
|
|
@@ -146,8 +239,8 @@ export async function runHostBroker(argv) {
|
|
|
146
239
|
process.on('exit', () => {
|
|
147
240
|
for (const dir of advertised) {
|
|
148
241
|
try {
|
|
149
|
-
if (
|
|
150
|
-
|
|
242
|
+
if (readHostBroker(dir)?.pid === process.pid)
|
|
243
|
+
clearHostBroker(dir);
|
|
151
244
|
}
|
|
152
245
|
catch {
|
|
153
246
|
// Nothing useful is left to do while exiting.
|
|
@@ -190,6 +283,13 @@ async function sweep(dir, repo, command, extra, allowed) {
|
|
|
190
283
|
for (const id of listRequests(dir)) {
|
|
191
284
|
// Claimed, not read: two host brokers — a service and a hand-run --once — would otherwise both act on the
|
|
192
285
|
// same request and each create it, under the person's name.
|
|
286
|
+
let requestAge = 0;
|
|
287
|
+
try {
|
|
288
|
+
requestAge = Date.now() - statSync(join(dir, `${id}.json`)).mtimeMs;
|
|
289
|
+
}
|
|
290
|
+
catch {
|
|
291
|
+
// The claim below reports a vanished request; age is only used after a successful claim.
|
|
292
|
+
}
|
|
193
293
|
const request = claimRequest(dir, id);
|
|
194
294
|
if (!request) {
|
|
195
295
|
// Either unreadable or already claimed, and the two are not worth telling apart here: removing
|
|
@@ -197,6 +297,12 @@ async function sweep(dir, repo, command, extra, allowed) {
|
|
|
197
297
|
warn(`skipped ${id}: unreadable, or another host broker has it`);
|
|
198
298
|
continue;
|
|
199
299
|
}
|
|
300
|
+
if (requestAge > ANSWER_TIMEOUT_MS) {
|
|
301
|
+
writeResult(dir, id, { error: `request ${id} expired before the host claimed it` });
|
|
302
|
+
removeRequest(dir, id);
|
|
303
|
+
warn(`refused ${id}: it expired before the host claimed it`);
|
|
304
|
+
continue;
|
|
305
|
+
}
|
|
200
306
|
const problems = requestProblems(request);
|
|
201
307
|
if (problems.length > 0) {
|
|
202
308
|
writeResult(dir, id, { error: problems.join('; ') });
|
|
@@ -219,17 +325,15 @@ async function sweep(dir, repo, command, extra, allowed) {
|
|
|
219
325
|
if (result.error !== undefined) {
|
|
220
326
|
warn(`failed to open ${request.kind === 'fork'
|
|
221
327
|
? 'fork'
|
|
222
|
-
: request.kind === '
|
|
223
|
-
?
|
|
224
|
-
: request.kind === '
|
|
225
|
-
? `
|
|
226
|
-
: request.kind === '
|
|
227
|
-
? `
|
|
228
|
-
: request.kind === '
|
|
229
|
-
?
|
|
230
|
-
: request.
|
|
231
|
-
? `issue #${request.number}`
|
|
232
|
-
: request.head}: ${result.error}`);
|
|
328
|
+
: request.kind === 'reply'
|
|
329
|
+
? `reply on #${request.number}`
|
|
330
|
+
: request.kind === 'review'
|
|
331
|
+
? `review on #${request.number}`
|
|
332
|
+
: request.kind === 'edit'
|
|
333
|
+
? `edit on #${request.number}`
|
|
334
|
+
: request.kind === 'action'
|
|
335
|
+
? request.action
|
|
336
|
+
: request.head}: ${result.error}`);
|
|
233
337
|
}
|
|
234
338
|
else {
|
|
235
339
|
say(request.kind === 'fork'
|
|
@@ -240,11 +344,9 @@ async function sweep(dir, repo, command, extra, allowed) {
|
|
|
240
344
|
? `reviewed #${result.number} (${request.event}) as ${request.account ?? 'this user'}${result.url === undefined ? '' : `: ${result.url}`}`
|
|
241
345
|
: request.kind === 'edit'
|
|
242
346
|
? `edited #${result.number} as ${request.account ?? 'this user'}${result.url === undefined ? '' : `: ${result.url}`}`
|
|
243
|
-
: request.kind === '
|
|
244
|
-
? `
|
|
245
|
-
: request.
|
|
246
|
-
? `commented on issue #${result.number} as ${request.account ?? 'this user'}${result.url === undefined ? '' : `: ${result.url}`}`
|
|
247
|
-
: `opened #${result.number} as ${request.account ?? 'this user'}: ${result.url}`);
|
|
347
|
+
: request.kind === 'action'
|
|
348
|
+
? `ran ${request.action} as ${request.account ?? 'this user'}`
|
|
349
|
+
: `opened #${result.number} as ${request.account ?? 'this user'}: ${result.url}`);
|
|
248
350
|
}
|
|
249
351
|
answered += 1;
|
|
250
352
|
}
|
|
@@ -279,8 +381,8 @@ function hostEnv(proxy, account) {
|
|
|
279
381
|
/**
|
|
280
382
|
* Run one person operation: check the allowlist, then call the program and turn its failure into a result.
|
|
281
383
|
*
|
|
282
|
-
* The
|
|
283
|
-
*
|
|
384
|
+
* The typed routes differ only in the argv they build, so the check and the catch live here once
|
|
385
|
+
* instead of being copied per route.
|
|
284
386
|
*/
|
|
285
387
|
async function personRun(host, repository, allowed, work) {
|
|
286
388
|
if (!HOST.test(host))
|
|
@@ -361,6 +463,48 @@ async function openOne(repo, command, extra, request, allowed) {
|
|
|
361
463
|
return { error: reason.slice(0, 300) || 'the command failed' };
|
|
362
464
|
}
|
|
363
465
|
}
|
|
466
|
+
if (request.kind === 'action') {
|
|
467
|
+
const host = request.host ?? 'github.com';
|
|
468
|
+
return personRun(host, request.repo, allowed, async (host) => {
|
|
469
|
+
const action = getGhAction(request.action);
|
|
470
|
+
const deadline = Date.now() + action.timeoutSeconds * 1_000;
|
|
471
|
+
if (action.target === 'issue') {
|
|
472
|
+
try {
|
|
473
|
+
buildGhArgv(request.action, request.values, request.repo);
|
|
474
|
+
}
|
|
475
|
+
catch (error) {
|
|
476
|
+
return { error: error.message };
|
|
477
|
+
}
|
|
478
|
+
const number = Number(request.values['number']);
|
|
479
|
+
if (!Number.isSafeInteger(number) || number <= 0) {
|
|
480
|
+
return { error: `${String(number)} is not an issue number` };
|
|
481
|
+
}
|
|
482
|
+
const probe = await runBounded(command, [...extra, 'api', `repos/${request.repo}/issues/${String(number)}`, '--jq', '.pull_request != null'], {
|
|
483
|
+
cwd: repo,
|
|
484
|
+
env: forkEnv(request.proxy, request.account, host),
|
|
485
|
+
timeoutMs: Math.max(1, deadline - Date.now()),
|
|
486
|
+
});
|
|
487
|
+
if (probe.code !== 0) {
|
|
488
|
+
return { error: probe.stderr.trim() || 'could not verify the issue target' };
|
|
489
|
+
}
|
|
490
|
+
if (probe.stdout.trim() === 'true') {
|
|
491
|
+
return { error: `#${String(number)} is a pull request, not an issue` };
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
const body = typeof request.values['body'] === 'string' ? request.values['body'] : undefined;
|
|
495
|
+
const invoke = async (bodyFile) => {
|
|
496
|
+
const argv = buildGhArgv(request.action, request.values, request.repo, bodyFile);
|
|
497
|
+
const result = await runBounded(command, [...extra, ...argv], {
|
|
498
|
+
cwd: repo,
|
|
499
|
+
env: forkEnv(request.proxy, request.account, host),
|
|
500
|
+
timeoutMs: Math.max(1, deadline - Date.now()),
|
|
501
|
+
writeCaveat: Object.values(action.permissions).some((permission) => permission === 'write'),
|
|
502
|
+
});
|
|
503
|
+
return result;
|
|
504
|
+
};
|
|
505
|
+
return body === undefined ? invoke() : withBodyFile(body, invoke);
|
|
506
|
+
});
|
|
507
|
+
}
|
|
364
508
|
if (request.kind === 'reply') {
|
|
365
509
|
const host = request.host ?? 'github.com';
|
|
366
510
|
return personRun(host, request.repo, allowed, async (host) => {
|
|
@@ -392,28 +536,6 @@ async function openOne(repo, command, extra, request, allowed) {
|
|
|
392
536
|
return { number: request.number, url: reply.html_url };
|
|
393
537
|
});
|
|
394
538
|
}
|
|
395
|
-
if (request.kind === 'issue-edit' || request.kind === 'issue-comment') {
|
|
396
|
-
const host = request.host ?? 'github.com';
|
|
397
|
-
const edit = request.kind === 'issue-edit';
|
|
398
|
-
return personRun(host, request.repo, allowed, async (host) => {
|
|
399
|
-
const invoke = (bodyFile) => run(command, [
|
|
400
|
-
...extra,
|
|
401
|
-
'issue',
|
|
402
|
-
edit ? 'edit' : 'comment',
|
|
403
|
-
String(request.number),
|
|
404
|
-
'--repo',
|
|
405
|
-
request.repo,
|
|
406
|
-
...(edit && request.title !== undefined ? [`--title=${request.title}`] : []),
|
|
407
|
-
...(bodyFile === undefined ? [] : ['--body-file', bodyFile]),
|
|
408
|
-
], {
|
|
409
|
-
cwd: repo,
|
|
410
|
-
timeout: CREATE_TIMEOUT_MS,
|
|
411
|
-
maxBuffer: 1 << 20,
|
|
412
|
-
env: forkEnv(request.proxy, request.account, host),
|
|
413
|
-
}).then(({ stdout }) => issueUrl(stdout) ?? { number: request.number });
|
|
414
|
-
return request.body === undefined ? invoke() : withBodyFile(request.body, invoke);
|
|
415
|
-
});
|
|
416
|
-
}
|
|
417
539
|
if (request.kind === 'edit') {
|
|
418
540
|
const host = request.host ?? 'github.com';
|
|
419
541
|
return personRun(host, request.repo, allowed, async (host) => {
|
|
@@ -481,18 +603,17 @@ async function openOne(repo, command, extra, request, allowed) {
|
|
|
481
603
|
}
|
|
482
604
|
}
|
|
483
605
|
// The body goes to a private temp file: the program is given a path, never a string to interpret.
|
|
484
|
-
const issue = request.kind === 'issue';
|
|
485
606
|
try {
|
|
486
607
|
return await withBodyFile(request.body, async (bodyFile) => {
|
|
487
608
|
const { stdout, stderr } = await run(command, [
|
|
488
609
|
...extra,
|
|
489
|
-
|
|
610
|
+
'pr',
|
|
490
611
|
'create',
|
|
491
612
|
// Without an explicit repository gh resolves the checkout it runs in; with one the allowlist
|
|
492
613
|
// above is the boundary, and no checkout of the target is required.
|
|
493
|
-
...(
|
|
614
|
+
...(request.draft === true ? ['--draft'] : []),
|
|
494
615
|
...(target === undefined ? [] : ['--repo', target]),
|
|
495
|
-
|
|
616
|
+
'--base', request.base, '--head', request.head,
|
|
496
617
|
`--title=${request.title}`,
|
|
497
618
|
'--body-file',
|
|
498
619
|
bodyFile,
|
|
@@ -504,11 +625,9 @@ async function openOne(repo, command, extra, request, allowed) {
|
|
|
504
625
|
? hostEnv(request.proxy, request.account)
|
|
505
626
|
: forkEnv(request.proxy, request.account, 'github.com'),
|
|
506
627
|
});
|
|
507
|
-
const found =
|
|
628
|
+
const found = pullRequestUrl(stdout);
|
|
508
629
|
if (!found) {
|
|
509
|
-
return {
|
|
510
|
-
error: `no ${issue ? 'issue' : 'pull request'} URL in the output: ${(stdout.trim() || stderr.trim()).slice(0, 300)}`,
|
|
511
|
-
};
|
|
630
|
+
return { error: `no pull request URL in the output: ${(stdout.trim() || stderr.trim()).slice(0, 300)}` };
|
|
512
631
|
}
|
|
513
632
|
return found;
|
|
514
633
|
});
|
package/lib/commands/host.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/commands/host.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/commands/host.ts"],"names":[],"mappings":"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"}
|
package/lib/gh.d.ts
CHANGED
|
@@ -29,11 +29,5 @@ export interface GhRunOptions {
|
|
|
29
29
|
/** Per-command proxy: absent = copy env, null = direct, string = this proxy. */
|
|
30
30
|
readonly proxy?: string | null;
|
|
31
31
|
}
|
|
32
|
-
/**
|
|
33
|
-
* Run one allowed action.
|
|
34
|
-
*
|
|
35
|
-
* @param options - action, values, repository and token.
|
|
36
|
-
* @returns the bounded process result.
|
|
37
|
-
*/
|
|
38
32
|
export declare function runGhAction(options: GhRunOptions): Promise<GhRunResult>;
|
|
39
33
|
//# sourceMappingURL=gh.d.ts.map
|
package/lib/gh.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gh.d.ts","sourceRoot":"","sources":["../src/gh.ts"],"names":[],"mappings":"AAaA,OAAO,EAA4B,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAGvE,8DAA8D;AAC9D,eAAO,MAAM,uBAAuB,SAAU,CAAC;AAE/C,8DAA8D;AAC9D,eAAO,MAAM,aAAa,OAAQ,CAAC;AAEnC,uCAAuC;AACvC,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,uCAAuC;AACvC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,+DAA+D;IAC/D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,gFAAgF;IAChF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;
|
|
1
|
+
{"version":3,"file":"gh.d.ts","sourceRoot":"","sources":["../src/gh.ts"],"names":[],"mappings":"AAaA,OAAO,EAA4B,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAGvE,8DAA8D;AAC9D,eAAO,MAAM,uBAAuB,SAAU,CAAC;AAE/C,8DAA8D;AAC9D,eAAO,MAAM,aAAa,OAAQ,CAAC;AAEnC,uCAAuC;AACvC,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,uCAAuC;AACvC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,+DAA+D;IAC/D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,gFAAgF;IAChF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AA0FD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAmL7E"}
|
package/lib/gh.js
CHANGED
|
@@ -22,6 +22,77 @@ export const KILL_GRACE_MS = 2_000;
|
|
|
22
22
|
* @param options - action, values, repository and token.
|
|
23
23
|
* @returns the bounded process result.
|
|
24
24
|
*/
|
|
25
|
+
/** Run the issue-target probe with a process-group deadline. */
|
|
26
|
+
function probeIssueTarget(command, env, cwd, repo, issueNumber, timeoutMs) {
|
|
27
|
+
return new Promise((resolve, reject) => {
|
|
28
|
+
const child = spawn(command, ['api', `repos/${repo}/issues/${String(issueNumber)}`, '--jq', '.pull_request != null'], { cwd, env, shell: false, detached: true, stdio: ['ignore', 'pipe', 'pipe'] });
|
|
29
|
+
let stdout = '';
|
|
30
|
+
let stderr = '';
|
|
31
|
+
let settled = false;
|
|
32
|
+
let timedOut = false;
|
|
33
|
+
const killGroup = (signal) => {
|
|
34
|
+
if (child.pid === undefined)
|
|
35
|
+
return;
|
|
36
|
+
try {
|
|
37
|
+
process.kill(-child.pid, signal);
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
child.kill(signal);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
const timer = setTimeout(() => {
|
|
44
|
+
timedOut = true;
|
|
45
|
+
killGroup('SIGTERM');
|
|
46
|
+
setTimeout(() => killGroup('SIGKILL'), 200).unref();
|
|
47
|
+
}, timeoutMs);
|
|
48
|
+
child.stdout?.on('data', (chunk) => {
|
|
49
|
+
if (stdout.length < 64_000)
|
|
50
|
+
stdout += chunk.toString();
|
|
51
|
+
});
|
|
52
|
+
child.stderr?.on('data', (chunk) => {
|
|
53
|
+
if (stderr.length < 64_000)
|
|
54
|
+
stderr += chunk.toString();
|
|
55
|
+
});
|
|
56
|
+
child.on('error', (error) => {
|
|
57
|
+
if (settled)
|
|
58
|
+
return;
|
|
59
|
+
settled = true;
|
|
60
|
+
clearTimeout(timer);
|
|
61
|
+
reject(error);
|
|
62
|
+
});
|
|
63
|
+
child.on('close', (code) => {
|
|
64
|
+
if (settled)
|
|
65
|
+
return;
|
|
66
|
+
settled = true;
|
|
67
|
+
clearTimeout(timer);
|
|
68
|
+
if (timedOut)
|
|
69
|
+
reject(new Error('issue-target probe timed out'));
|
|
70
|
+
else if (code === 0)
|
|
71
|
+
resolve(stdout);
|
|
72
|
+
else
|
|
73
|
+
reject(new Error(stderr.trim() || `gh api exited ${String(code)}`));
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
/** Refuse an issue-only action when the number names a pull request. */
|
|
78
|
+
async function assertIssueTarget(command, env, cwd, repo, number, timeoutMs) {
|
|
79
|
+
const issueNumber = Number(number);
|
|
80
|
+
if (!Number.isSafeInteger(issueNumber) || issueNumber <= 0) {
|
|
81
|
+
throw new Error(`${String(number)} is not an issue number`);
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
const stdout = await probeIssueTarget(command, env, cwd, repo, issueNumber, timeoutMs);
|
|
85
|
+
if (stdout.trim() === 'true') {
|
|
86
|
+
throw new Error(`#${String(issueNumber)} is a pull request, not an issue`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
const message = error.message;
|
|
91
|
+
if (message.includes('is a pull request'))
|
|
92
|
+
throw error;
|
|
93
|
+
throw new Error(`could not verify that #${String(issueNumber)} is an issue: ${message}`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
25
96
|
export async function runGhAction(options) {
|
|
26
97
|
const maxBytes = options.maxOutputBytes ?? DEFAULT_GH_OUTPUT_BYTES;
|
|
27
98
|
if (!Number.isSafeInteger(maxBytes) || maxBytes < 0) {
|
|
@@ -62,8 +133,17 @@ export async function runGhAction(options) {
|
|
|
62
133
|
if (!usesJq)
|
|
63
134
|
env.GH_TOKEN = options.token;
|
|
64
135
|
applyProxyChoice(env, options.proxy);
|
|
65
|
-
const
|
|
136
|
+
const action = getGhAction(options.action);
|
|
137
|
+
const timeoutMs = options.timeoutMs ?? action.timeoutSeconds * 1000;
|
|
138
|
+
const deadline = Date.now() + timeoutMs;
|
|
66
139
|
try {
|
|
140
|
+
if (action.target === 'issue') {
|
|
141
|
+
const number = options.values['number'];
|
|
142
|
+
if (typeof number !== 'string' && typeof number !== 'number') {
|
|
143
|
+
throw new Error(`${options.action} needs an issue number`);
|
|
144
|
+
}
|
|
145
|
+
await assertIssueTarget(options.ghPath ?? 'gh', env, home, options.repo, number, Math.max(1, deadline - Date.now()));
|
|
146
|
+
}
|
|
67
147
|
// A body stays out of the process table; only its path reaches argv. A title still travels in
|
|
68
148
|
// argv, so this is about the free-form body rather than everything the person wrote.
|
|
69
149
|
let bodyFile;
|
|
@@ -71,7 +151,7 @@ export async function runGhAction(options) {
|
|
|
71
151
|
bodyFile = path.join(home, 'body.md');
|
|
72
152
|
writeFileSync(bodyFile, options.values['body'], { mode: 0o600 });
|
|
73
153
|
}
|
|
74
|
-
const argv = buildGhArgv(
|
|
154
|
+
const argv = buildGhArgv(action.name, options.values, options.repo, bodyFile);
|
|
75
155
|
return await new Promise((resolve) => {
|
|
76
156
|
let stdout = '';
|
|
77
157
|
let stderr = '';
|
|
@@ -180,7 +260,7 @@ export async function runGhAction(options) {
|
|
|
180
260
|
if (!signalGroup('SIGTERM'))
|
|
181
261
|
return;
|
|
182
262
|
setTimeout(() => chase(), KILL_GRACE_MS).unref();
|
|
183
|
-
},
|
|
263
|
+
}, Math.max(1, deadline - Date.now()));
|
|
184
264
|
child.stdout?.on('data', (chunk) => take('stdout', chunk));
|
|
185
265
|
child.stderr?.on('data', (chunk) => take('stderr', chunk));
|
|
186
266
|
child.on('error', (error) => finish({ code: null, signal: null, error: error.message }));
|
package/lib/gh.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gh.js","sourceRoot":"","sources":["../src/gh.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gh.js","sourceRoot":"","sources":["../src/gh.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gcb-host",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Host-side gcb broker, configuration, providers and administration 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
|
"node-fetch-native": "^1.6.7",
|
|
32
32
|
"x-fetch": "^0.3.0",
|
|
33
33
|
"yaml": "^2.9.1"
|