gcb-host 0.7.1 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/CHANGELOG.md +22 -1
  2. package/bin/gcb.js +3 -3
  3. package/lib/audit.d.ts +4 -4
  4. package/lib/audit.d.ts.map +1 -1
  5. package/lib/audit.js +15 -14
  6. package/lib/audit.js.map +1 -1
  7. package/lib/broker.d.ts +12 -13
  8. package/lib/broker.d.ts.map +1 -1
  9. package/lib/broker.js +77 -53
  10. package/lib/broker.js.map +1 -1
  11. package/lib/commands/authorize.d.ts +43 -13
  12. package/lib/commands/authorize.d.ts.map +1 -1
  13. package/lib/commands/authorize.js +146 -53
  14. package/lib/commands/authorize.js.map +1 -1
  15. package/lib/commands/compose.d.ts +8 -10
  16. package/lib/commands/compose.d.ts.map +1 -1
  17. package/lib/commands/compose.js +33 -44
  18. package/lib/commands/compose.js.map +1 -1
  19. package/lib/commands/config.d.ts.map +1 -1
  20. package/lib/commands/config.js +59 -41
  21. package/lib/commands/config.js.map +1 -1
  22. package/lib/commands/deployment.d.ts +11 -11
  23. package/lib/commands/deployment.d.ts.map +1 -1
  24. package/lib/commands/deployment.js +19 -18
  25. package/lib/commands/deployment.js.map +1 -1
  26. package/lib/commands/diagnose.d.ts.map +1 -1
  27. package/lib/commands/diagnose.js +51 -33
  28. package/lib/commands/diagnose.js.map +1 -1
  29. package/lib/commands/doctor.d.ts +5 -5
  30. package/lib/commands/doctor.d.ts.map +1 -1
  31. package/lib/commands/doctor.js +53 -32
  32. package/lib/commands/doctor.js.map +1 -1
  33. package/lib/commands/host.d.ts +7 -7
  34. package/lib/commands/host.d.ts.map +1 -1
  35. package/lib/commands/host.js +144 -93
  36. package/lib/commands/host.js.map +1 -1
  37. package/lib/commands/init.d.ts +33 -33
  38. package/lib/commands/init.d.ts.map +1 -1
  39. package/lib/commands/init.js +93 -75
  40. package/lib/commands/init.js.map +1 -1
  41. package/lib/commands/stage.d.ts +6 -6
  42. package/lib/commands/stage.d.ts.map +1 -1
  43. package/lib/commands/stage.js +21 -15
  44. package/lib/commands/stage.js.map +1 -1
  45. package/lib/config.d.ts +29 -28
  46. package/lib/config.d.ts.map +1 -1
  47. package/lib/config.js +100 -84
  48. package/lib/config.js.map +1 -1
  49. package/lib/daemon.d.ts +9 -9
  50. package/lib/daemon.d.ts.map +1 -1
  51. package/lib/daemon.js +21 -18
  52. package/lib/daemon.js.map +1 -1
  53. package/lib/device-flow.d.ts +23 -22
  54. package/lib/device-flow.d.ts.map +1 -1
  55. package/lib/device-flow.js +33 -28
  56. package/lib/device-flow.js.map +1 -1
  57. package/lib/gh.d.ts +2 -2
  58. package/lib/gh.d.ts.map +1 -1
  59. package/lib/gh.js +74 -46
  60. package/lib/gh.js.map +1 -1
  61. package/lib/http.d.ts.map +1 -1
  62. package/lib/http.js +35 -18
  63. package/lib/http.js.map +1 -1
  64. package/lib/index.d.ts.map +1 -1
  65. package/lib/index.js.map +1 -1
  66. package/lib/policy.d.ts +25 -25
  67. package/lib/policy.d.ts.map +1 -1
  68. package/lib/policy.js +57 -36
  69. package/lib/policy.js.map +1 -1
  70. package/lib/providers/github-app.d.ts +12 -12
  71. package/lib/providers/github-app.d.ts.map +1 -1
  72. package/lib/providers/github-app.js +194 -125
  73. package/lib/providers/github-app.js.map +1 -1
  74. package/lib/providers/index.d.ts +8 -9
  75. package/lib/providers/index.d.ts.map +1 -1
  76. package/lib/providers/index.js +5 -5
  77. package/lib/providers/index.js.map +1 -1
  78. package/lib/providers/static.d.ts +3 -3
  79. package/lib/providers/static.d.ts.map +1 -1
  80. package/lib/providers/static.js +14 -12
  81. package/lib/providers/static.js.map +1 -1
  82. package/lib/proxy.d.ts +10 -10
  83. package/lib/proxy.d.ts.map +1 -1
  84. package/lib/proxy.js +18 -16
  85. package/lib/proxy.js.map +1 -1
  86. package/lib/public-repo.d.ts +10 -10
  87. package/lib/public-repo.d.ts.map +1 -1
  88. package/lib/public-repo.js +17 -14
  89. package/lib/public-repo.js.map +1 -1
  90. package/lib/reload.d.ts +4 -4
  91. package/lib/reload.d.ts.map +1 -1
  92. package/lib/reload.js +24 -14
  93. package/lib/reload.js.map +1 -1
  94. package/package.json +10 -10
@@ -1,23 +1,23 @@
1
1
  /**
2
2
  * `diagnose` — explain why the broker could not mint a token.
3
3
  *
4
- * The broker deliberately answers the pushing side with a generic message, because provider
5
- * errors can embed API responses. This asks GitHub directly and prints what the app can
6
- * actually see, which is what separates the two causes of
4
+ * The broker deliberately answers the pushing side with a generic message, because provider errors
5
+ * can embed API responses. This asks GitHub directly and prints what the app can actually see,
6
+ * which is what separates the two causes of
7
7
  *
8
- * 422 "There is at least one repository that does not exist or is not accessible to the
9
- * parent installation"
8
+ * 422 "There is at least one repository that does not exist or is not accessible to the parent
9
+ * installation"
10
10
  *
11
- * — the repository was never created, or the installation was granted "only select
12
- * repositories" and this one is not on that list. The message is identical for both.
11
+ * — the repository was never created, or the installation was granted "only select repositories"
12
+ * and this one is not on that list. The message is identical for both.
13
13
  *
14
14
  * It never prints a key or a token.
15
15
  */
16
16
  import { readFileSync } from 'node:fs';
17
+ import { fail, parseArgs, say, warn } from 'gcb-core';
17
18
  import { assertKeysReadable, loadConfig, resolveConfigPath } from '../config.js';
18
- import { nextLink, signAppJwt } from '../providers/github-app.js';
19
19
  import { fetcherFor, parseProxy } from '../http.js';
20
- import { fail, parseArgs, say, warn } from 'gcb-core';
20
+ import { nextLink, signAppJwt } from '../providers/github-app.js';
21
21
  /** Usage text for `diagnose`. */
22
22
  export const DIAGNOSE_USAGE = `Usage: gcb diagnose [options]
23
23
 
@@ -33,21 +33,25 @@ repositories each installation can reach. Never prints a key or a token.
33
33
  /**
34
34
  * Run the `diagnose` command.
35
35
  *
36
- * @param argv - arguments after the command name.
37
- * @returns the process exit code: 0 everything reachable, 1 something is not.
36
+ * @param argv - Arguments after the command name.
37
+ * @returns The process exit code: 0 everything reachable, 1 something is not.
38
38
  */
39
39
  import { assertProxyEnabled } from '../proxy.js';
40
40
  export async function runDiagnose(argv) {
41
41
  const args = parseArgs(argv, { booleans: ['help', 'no-proxy'] });
42
- if (args.has('no-proxy') && args.value('proxy') !== undefined)
42
+ if (args.has('no-proxy') && args.value('proxy') !== undefined) {
43
43
  fail('--proxy and --no-proxy are mutually exclusive');
44
- if (args.has('proxy') && args.value('proxy') === undefined)
44
+ }
45
+ if (args.has('proxy') && args.value('proxy') === undefined) {
45
46
  fail('--proxy needs a value');
47
+ }
46
48
  const proxy = args.has('no-proxy') ? null : args.value('proxy');
47
- if (proxy !== undefined && parseProxy(proxy) === false)
49
+ if (proxy !== undefined && parseProxy(proxy) === false) {
48
50
  fail('--proxy must be an http(s) URL');
49
- if (proxy === undefined)
51
+ }
52
+ if (proxy === undefined) {
50
53
  assertProxyEnabled();
54
+ }
51
55
  if (args.has('help') || args.has('h')) {
52
56
  say(DIAGNOSE_USAGE);
53
57
  return 0;
@@ -60,27 +64,33 @@ export async function runDiagnose(argv) {
60
64
  assertKeysReadable(config);
61
65
  const wanted = args.value('host');
62
66
  const entry = Object.entries(config.hosts).find(([host, block]) => block.provider === 'github-app' && (wanted ? host === wanted : true));
63
- if (!entry)
67
+ if (!entry) {
64
68
  fail(`no github-app host${wanted ? ` named ${wanted}` : ''} in ${configPath}`);
69
+ }
65
70
  const [host, block] = entry;
66
71
  if (!block.privateKeyPath) {
67
72
  fail('this host uses privateKeyPem; point the command at a config that references a key file');
68
73
  }
69
74
  const pem = readFileSync(block.privateKeyPath, 'utf8');
70
75
  const issuer = block.clientId ?? block.appId;
71
- if (issuer === undefined)
76
+ if (issuer === undefined) {
72
77
  fail('the host block has neither clientId nor appId');
78
+ }
73
79
  const api = block.apiBaseUrl ?? 'https://api.github.com';
74
80
  const apiVersion = block.apiVersion ?? '2022-11-28';
75
81
  const fetcher = fetcherFor(proxy);
76
82
  /**
77
83
  * Call the API authenticated as the app.
78
84
  *
79
- * @param path - path below the API root.
80
- * @returns the parsed body and the Link header.
85
+ * @param path - Path below the API root.
86
+ * @returns The parsed body and the Link header.
81
87
  */
82
88
  async function asApp(path) {
83
- const jwt = signAppJwt({ privateKeyPem: pem, iss: issuer, nowMs: Date.now() });
89
+ const jwt = signAppJwt({
90
+ privateKeyPem: pem,
91
+ iss: issuer,
92
+ nowMs: Date.now(),
93
+ });
84
94
  const response = await fetcher(`${api}${path}`, {
85
95
  method: 'GET',
86
96
  headers: {
@@ -109,12 +119,16 @@ export async function runDiagnose(argv) {
109
119
  /**
110
120
  * Call the API authenticated as one installation.
111
121
  *
112
- * @param installationId - the installation to act as.
113
- * @param path - path below the API root.
114
- * @returns the parsed body.
122
+ * @param installationId - The installation to act as.
123
+ * @param path - Path below the API root.
124
+ * @returns The parsed body.
115
125
  */
116
126
  async function asInstallation(installationId, path) {
117
- const jwt = signAppJwt({ privateKeyPem: pem, iss: issuer, nowMs: Date.now() });
127
+ const jwt = signAppJwt({
128
+ privateKeyPem: pem,
129
+ iss: issuer,
130
+ nowMs: Date.now(),
131
+ });
118
132
  const minted = await fetcher(`${api}/app/installations/${installationId}/access_tokens`, {
119
133
  method: 'POST',
120
134
  headers: {
@@ -129,8 +143,9 @@ export async function runDiagnose(argv) {
129
143
  throw new Error(`token request for installation ${installationId} -> ${minted.status}: ${mintedText.slice(0, 200)}`);
130
144
  }
131
145
  const token = JSON.parse(mintedText).token;
132
- if (!token)
146
+ if (!token) {
133
147
  throw new Error(`installation ${installationId} returned no token`);
148
+ }
134
149
  const response = await fetcher(`${api}${path}`, {
135
150
  method: 'GET',
136
151
  headers: {
@@ -141,8 +156,9 @@ export async function runDiagnose(argv) {
141
156
  },
142
157
  });
143
158
  const text = await response.text();
144
- if (!response.ok)
159
+ if (!response.ok) {
145
160
  throw new Error(`${path} -> ${response.status}: ${text.slice(0, 200)}`);
161
+ }
146
162
  return JSON.parse(text);
147
163
  }
148
164
  const app = (await asApp('/app')).json;
@@ -154,8 +170,9 @@ export async function runDiagnose(argv) {
154
170
  let page = '/app/installations?per_page=100';
155
171
  for (let index = 0; index < 10 && page; index += 1) {
156
172
  const result = await asApp(page);
157
- if (Array.isArray(result.json))
173
+ if (Array.isArray(result.json)) {
158
174
  installations.push(...result.json);
175
+ }
159
176
  page = nextLink(result.link);
160
177
  }
161
178
  if (installations.length === 0) {
@@ -175,7 +192,7 @@ export async function runDiagnose(argv) {
175
192
  // naming one that does not exist still fails with the same 422, so without this list a
176
193
  // repository that was never created looks exactly like one that is merely not selected.
177
194
  const listed = (await asInstallation(installation.id, '/installation/repositories?per_page=100'));
178
- const names = (listed.repositories ?? []).map((repo) => repo.full_name ?? '?');
195
+ const names = (listed.repositories ?? []).map(repo => repo.full_name ?? '?');
179
196
  reachable.set(installation.id, names);
180
197
  const shown = names.slice(0, 20).join(', ');
181
198
  say(` repositories (${names.length}${names.length >= 100 ? '+' : ''}): ${shown || '(none)'}${names.length > 20 ? ', …' : ''}`);
@@ -185,22 +202,23 @@ export async function runDiagnose(argv) {
185
202
  let problems = 0;
186
203
  for (const allowEntry of block.allow) {
187
204
  const [owner, repoPattern] = allowEntry.split('/');
188
- const matching = installations.filter((installation) => installation.account?.login?.toLowerCase() === owner?.toLowerCase());
205
+ const matching = installations.filter(installation => installation.account?.login?.toLowerCase() === owner?.toLowerCase());
189
206
  if (matching.length === 0) {
190
207
  say(` ${allowEntry}: no installation on account "${owner}"`);
191
208
  problems += 1;
192
209
  continue;
193
210
  }
194
- const visible = matching.some((installation) => {
211
+ const visible = matching.some(installation => {
195
212
  const known = reachable.get(installation.id) ?? [];
196
213
  if (repoPattern === '*') {
197
- return known.some((name) => name.toLowerCase().startsWith(`${owner?.toLowerCase()}/`));
214
+ return known.some(name => name.toLowerCase().startsWith(`${owner?.toLowerCase()}/`));
198
215
  }
199
- return known.some((name) => name.toLowerCase() === `${owner?.toLowerCase()}/${repoPattern?.toLowerCase()}`);
216
+ return known.some(name => name.toLowerCase() === `${owner?.toLowerCase()}/${repoPattern?.toLowerCase()}`);
200
217
  });
201
218
  say(` ${allowEntry}: ${visible ? 'reachable' : 'NOT in the repositories this installation can see'}`);
202
- if (!visible)
219
+ if (!visible) {
203
220
  problems += 1;
221
+ }
204
222
  }
205
223
  if (problems > 0) {
206
224
  warn('');
@@ -1 +1 @@
1
- {"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../../src/commands/diagnose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../../src/commands/diagnose.ts"],"names":[],"mappings":"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"}
@@ -2,16 +2,16 @@ export declare const DOCTOR_USAGE = "Usage: gcb doctor [options]\n\nReport the c
2
2
  /**
3
3
  * Read one string key from raw YAML when the rest of the file is invalid.
4
4
  *
5
- * @param text - the raw configuration text.
6
- * @param key - the top-level key to read.
7
- * @returns the value, or null when absent/empty or an unquoted null/~.
5
+ * @param text - The raw configuration text.
6
+ * @param key - The top-level key to read.
7
+ * @returns The value, or null when absent/empty or an unquoted null/~.
8
8
  */
9
9
  export declare function rawString(text: string, key: 'auditPath' | 'socketPath'): string | null;
10
10
  /**
11
11
  * Run the `doctor` command.
12
12
  *
13
- * @param argv - arguments after the command name.
14
- * @returns the process exit code.
13
+ * @param argv - Arguments after the command name.
14
+ * @returns The process exit code.
15
15
  */
16
16
  export declare function runDoctor(argv: readonly string[], write?: (line: string) => void): Promise<number>;
17
17
  //# sourceMappingURL=doctor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,YAAY,+PAMxB,CAAC;AAkFF;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,YAAY,GAAG,MAAM,GAAG,IAAI,CAqBtF;AAuCD;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,KAAK,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAU,GAClC,OAAO,CAAC,MAAM,CAAC,CAoEjB"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,YAAY,+PAMxB,CAAA;AA4FD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,YAAY,GAAG,MAAM,GAAG,IAAI,CAyBtF;AA2CD;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,KAAK,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAU,GAClC,OAAO,CAAC,MAAM,CAAC,CAwFjB"}
@@ -6,11 +6,11 @@
6
6
  * good snapshot.
7
7
  */
8
8
  import { createHash } from 'node:crypto';
9
- import net from 'node:net';
10
9
  import { closeSync, constants, fstatSync, lstatSync, openSync, readSync } from 'node:fs';
10
+ import net from 'node:net';
11
+ import { createLineReader, fail, parseArgs, say } from 'gcb-core';
11
12
  import { parseDocument } from 'yaml';
12
13
  import { loadConfigText, readConfigText, resolveConfigPath } from '../config.js';
13
- import { createLineReader, fail, parseArgs, say } from 'gcb-core';
14
14
  export const DOCTOR_USAGE = `Usage: gcb doctor [options]
15
15
 
16
16
  Report the configuration digest, the audit path, the last reload result and the socket file.
@@ -21,8 +21,9 @@ Report the configuration digest, the audit path, the last reload result and the
21
21
  const CHUNK_BYTES = 64 * 1024;
22
22
  /** Read the last config reload record, scanning backward a chunk at a time. */
23
23
  function lastConfigEvent(path) {
24
- if (path === null)
24
+ if (path === null) {
25
25
  return {};
26
+ }
26
27
  let fd;
27
28
  try {
28
29
  // O_NONBLOCK keeps a FIFO on this path from hanging the command; fstat below rejects it.
@@ -48,13 +49,17 @@ function lastConfigEvent(path) {
48
49
  // The first piece is the tail of a record that starts in the previous (earlier) chunk.
49
50
  carry = position > 0 ? Buffer.from(pieces.shift() ?? '', 'latin1') : Buffer.alloc(0);
50
51
  for (let index = pieces.length - 1; index >= 0; index -= 1) {
51
- const line = Buffer.from(pieces[index] ?? '', 'latin1').toString('utf8').trim();
52
- if (!line)
52
+ const line = Buffer.from(pieces[index] ?? '', 'latin1')
53
+ .toString('utf8')
54
+ .trim();
55
+ if (!line) {
53
56
  continue;
57
+ }
54
58
  try {
55
59
  const event = JSON.parse(line);
56
- if (event.event === 'config')
60
+ if (event.event === 'config') {
57
61
  return { event };
62
+ }
58
63
  }
59
64
  catch {
60
65
  // A partially written line is expected after a crash; an earlier record still counts.
@@ -81,8 +86,9 @@ function socketLine(path, expectedMode) {
81
86
  ? `missing: ${path}`
82
87
  : `cannot inspect ${path}: ${error.message}`;
83
88
  }
84
- if (stat.isSymbolicLink())
89
+ if (stat.isSymbolicLink()) {
85
90
  return `symlink (broker refuses): ${path}`;
91
+ }
86
92
  if (!stat.isSocket()) {
87
93
  const kind = stat.isFile() ? 'regular file' : stat.isDirectory() ? 'directory' : 'not a socket';
88
94
  return `${kind} (broker refuses): ${path}`;
@@ -94,19 +100,21 @@ function socketLine(path, expectedMode) {
94
100
  /**
95
101
  * Read one string key from raw YAML when the rest of the file is invalid.
96
102
  *
97
- * @param text - the raw configuration text.
98
- * @param key - the top-level key to read.
99
- * @returns the value, or null when absent/empty or an unquoted null/~.
103
+ * @param text - The raw configuration text.
104
+ * @param key - The top-level key to read.
105
+ * @returns The value, or null when absent/empty or an unquoted null/~.
100
106
  */
101
107
  export function rawString(text, key) {
102
108
  try {
103
109
  const parsed = parseDocument(text).toJS();
104
110
  if (parsed !== null && Object.hasOwn(parsed, key)) {
105
111
  const value = parsed[key];
106
- if (typeof value === 'string')
112
+ if (typeof value === 'string') {
107
113
  return value.trim() === '' ? null : value;
108
- if (value === null || value === undefined)
114
+ }
115
+ if (value === null || value === undefined) {
109
116
  return null;
117
+ }
110
118
  }
111
119
  }
112
120
  catch {
@@ -124,25 +132,25 @@ export function rawString(text, key) {
124
132
  const PING_TIMEOUT_MS = 500;
125
133
  /** Ask the running daemon which audit path it actually uses: undefined means no answer. */
126
134
  function activeAuditPath(socketPath) {
127
- return new Promise((resolve) => {
135
+ return new Promise(resolve => {
128
136
  let settled = false;
129
- let timer;
130
137
  const socket = net.connect(socketPath);
131
138
  const finish = (answer) => {
132
- if (settled)
139
+ if (settled) {
133
140
  return;
141
+ }
134
142
  settled = true;
135
- if (timer !== undefined)
136
- clearTimeout(timer);
143
+ clearTimeout(timer);
137
144
  socket.destroy();
138
145
  resolve(answer);
139
146
  };
140
- timer = setTimeout(() => finish(undefined), PING_TIMEOUT_MS);
147
+ const timer = setTimeout(() => finish(undefined), PING_TIMEOUT_MS);
141
148
  const reader = createLineReader({
142
- onLine: (line) => {
149
+ onLine: line => {
143
150
  try {
144
151
  const answer = JSON.parse(line);
145
- if (answer.ok === true && (answer.auditPath === null || typeof answer.auditPath === 'string')) {
152
+ if (answer.ok === true &&
153
+ (answer.auditPath === null || typeof answer.auditPath === 'string')) {
146
154
  finish(answer.auditPath === '' ? null : answer.auditPath);
147
155
  return;
148
156
  }
@@ -161,8 +169,8 @@ function activeAuditPath(socketPath) {
161
169
  /**
162
170
  * Run the `doctor` command.
163
171
  *
164
- * @param argv - arguments after the command name.
165
- * @returns the process exit code.
172
+ * @param argv - Arguments after the command name.
173
+ * @returns The process exit code.
166
174
  */
167
175
  export async function runDoctor(argv, write = say) {
168
176
  const args = parseArgs(argv, { booleans: ['help'] });
@@ -170,18 +178,22 @@ export async function runDoctor(argv, write = say) {
170
178
  write(DOCTOR_USAGE);
171
179
  return 0;
172
180
  }
173
- if (args.positionals.length > 0)
181
+ if (args.positionals.length > 0) {
174
182
  fail(`unexpected argument ${JSON.stringify(args.positionals[0])}`);
183
+ }
175
184
  for (const name of args.names) {
176
- if (name !== 'config' && name !== 'help' && name !== 'h')
185
+ if (name !== 'config' && name !== 'help' && name !== 'h') {
177
186
  fail(`unknown option --${name}`);
187
+ }
178
188
  }
179
189
  const configValues = args.values('config');
180
- if (args.has('config') || configValues.length > 1)
190
+ if (args.has('config') || configValues.length > 1) {
181
191
  fail('--config may only be given once and needs a value');
192
+ }
182
193
  const configArg = configValues[0];
183
- if (configArg === '')
194
+ if (configArg === '') {
184
195
  fail('--config needs a value');
196
+ }
185
197
  const path = resolveConfigPath(configArg);
186
198
  let config;
187
199
  let text;
@@ -201,14 +213,18 @@ export async function runDoctor(argv, write = say) {
201
213
  loadError = error;
202
214
  }
203
215
  const digest = createHash('sha256').update(text).digest('hex');
204
- const configured = config !== undefined ? config.auditPath : rawString(text, 'auditPath');
205
- const socketPath = config !== undefined ? config.socketPath : rawString(text, 'socketPath');
216
+ const configured = config === undefined ? rawString(text, 'auditPath') : config.auditPath;
217
+ const socketPath = config === undefined ? rawString(text, 'socketPath') : config.socketPath;
206
218
  const activePath = socketPath === null ? undefined : await activeAuditPath(socketPath);
207
219
  const auditPath = activePath === undefined ? configured : (activePath ?? configured);
208
220
  const lastResult = lastConfigEvent(auditPath);
209
221
  const last = lastResult.event;
210
- const reloadLabel = activePath === null && auditPath ? 'last reload (historical, from configured audit log)' : 'last reload';
211
- write(loadError === undefined ? `config: ${path} ok` : `config: ${path} invalid: ${loadError.message}`);
222
+ const reloadLabel = activePath === null && auditPath
223
+ ? 'last reload (historical, from configured audit log)'
224
+ : 'last reload';
225
+ write(loadError === undefined
226
+ ? `config: ${path} ok`
227
+ : `config: ${path} invalid: ${loadError.message}`);
212
228
  write(`digest: ${digest}`);
213
229
  if (!auditPath) {
214
230
  write(`${reloadLabel}: (no auditPath configured)`);
@@ -220,7 +236,11 @@ export async function runDoctor(argv, write = say) {
220
236
  write(`${reloadLabel}: (no config record in the audit log)`);
221
237
  }
222
238
  else {
223
- const matched = typeof last.digest === 'string' ? (last.digest === digest ? 'digest matches' : 'digest differs') : 'digest unknown';
239
+ const matched = typeof last.digest === 'string'
240
+ ? last.digest === digest
241
+ ? 'digest matches'
242
+ : 'digest differs'
243
+ : 'digest unknown';
224
244
  write(`${reloadLabel}: ${String(last.decision ?? 'unknown')} at ${String(last.ts ?? 'unknown')} (${matched})` +
225
245
  (typeof last.reason === 'string' ? ` — ${last.reason}` : ''));
226
246
  }
@@ -231,8 +251,9 @@ export async function runDoctor(argv, write = say) {
231
251
  ? `audit: ${auditPath} (configured; the running daemon writes no audit log)`
232
252
  : `audit: ${auditPath} (active daemon path)`);
233
253
  }
234
- if (config !== undefined)
254
+ if (config !== undefined) {
235
255
  write(`socket: ${socketLine(config.socketPath, config.socketMode)}`);
256
+ }
236
257
  return loadError === undefined ? 0 : 1;
237
258
  }
238
259
  //# sourceMappingURL=doctor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export interface BoundedResult {
9
9
  /**
10
10
  * Run an action with streaming output caps.
11
11
  *
12
- * execFile's maxBuffer kills the child once a fixed buffer fills; a large diff or log would then be
12
+ * ExecFile's maxBuffer kills the child once a fixed buffer fills; a large diff or log would then be
13
13
  * reported as a gh failure even though only the excess output is unusable. Read both streams to the
14
14
  * end, keep the first bytes of each, and tell the caller where the cut is.
15
15
  */
@@ -24,11 +24,11 @@ export declare const HOST_BROKER_USAGE = "Usage: gcb host [options]\n\nRun on th
24
24
  /**
25
25
  * Read a pull request's number and URL out of a program's output.
26
26
  *
27
- * `gh pr create` prints the URL, and so does anything that behaves like it. Nothing else is trusted:
28
- * without a URL in the output the host broker reports a failure rather than guessing.
27
+ * `gh pr create` prints the URL, and so does anything that behaves like it. Nothing else is
28
+ * trusted: without a URL in the output the host broker reports a failure rather than guessing.
29
29
  *
30
- * @param output - the program's standard output.
31
- * @returns the number and URL, or `undefined`.
30
+ * @param output - The program's standard output.
31
+ * @returns The number and URL, or `undefined`.
32
32
  */
33
33
  export declare function pullRequestUrl(output: string): {
34
34
  number: number;
@@ -37,8 +37,8 @@ export declare function pullRequestUrl(output: string): {
37
37
  /**
38
38
  * Run the `host` command.
39
39
  *
40
- * @param argv - arguments after the command name.
41
- * @returns the process exit code.
40
+ * @param argv - Arguments after the command name.
41
+ * @returns The process exit code.
42
42
  */
43
43
  export declare function runHostBroker(argv: readonly string[]): Promise<number>;
44
44
  //# sourceMappingURL=host.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/commands/host.ts"],"names":[],"mappings":"AAyDA,kEAAkE;AAClE,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAcD,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,8oDAwB7B,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,CAqL5E"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/commands/host.ts"],"names":[],"mappings":"AAgEA,kEAAkE;AAClE,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAiBD,gDAAgD;AAChD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;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,CA2GxB;AAED,6BAA6B;AAC7B,eAAO,MAAM,iBAAiB,8oDAwB7B,CAAA;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAO1F;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA2M5E"}