@osdlc/typed-gh 0.5.0 → 0.6.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/dist/verbs.d.ts CHANGED
@@ -12,16 +12,48 @@
12
12
  * into an absence value.
13
13
  */
14
14
  import { type CommandResult } from '@osdlc/command-seam';
15
- import type { IssueRow, Label, PullRequest } from './types.ts';
15
+ import type { IssueRow, Label, PrSearchHit, PullRequest, Repository } from './types.ts';
16
16
  /** One `gh` invocation: what to run, and how to read what came back. */
17
17
  export interface GhVerb<T> {
18
18
  argv: string[];
19
19
  /** True for every mutation and for `prDiff` — throw on a non-zero exit instead of parsing. */
20
20
  checked: boolean;
21
+ /**
22
+ * True when the call only reads: it changes nothing on GitHub. Every query
23
+ * is read-only, and so is `prDiff`; every mutation is not. A caller that
24
+ * keeps an allowlist of safe calls can check this before running a verb.
25
+ */
26
+ readOnly: boolean;
21
27
  /** Written to the child's stdin, for a verb whose payload is too large or structured for argv. */
22
28
  input?: string | undefined;
29
+ /**
30
+ * Variables to set on the child, for a target gh takes no flag for: `GH_HOST`
31
+ * on `gh search` and `gh repo list`.
32
+ */
33
+ env?: Record<string, string> | undefined;
23
34
  parse(result: CommandResult): T;
24
35
  }
36
+ /**
37
+ * The repository and host a verb talks to. Both are optional: with no `repo`,
38
+ * gh uses the repository of the clone at the client's working directory, and
39
+ * with no `hostname`, gh's default host.
40
+ */
41
+ export interface GhTarget {
42
+ /** `owner/name`. */
43
+ repo?: string | undefined;
44
+ /**
45
+ * A GitHub host: `github.com`, a GitHub Enterprise Server host such as
46
+ * `github.acme.com`, or a `<tenant>.ghe.com` host. Other forges are out of
47
+ * reach: gh speaks only GitHub's API.
48
+ */
49
+ hostname?: string | undefined;
50
+ }
51
+ /**
52
+ * Throw `RangeError` unless `target.repo` is `owner/name` and
53
+ * `target.hostname` is a bare host. Run by every verb that uses a target, so
54
+ * no text can reach gh as a flag or change the endpoint a call hits.
55
+ */
56
+ export declare function checkTarget(target: GhTarget | undefined): void;
25
57
  /**
26
58
  * The cheapest useful set: enough to identify a PR and nothing more.
27
59
  *
@@ -42,6 +74,15 @@ export declare const PR_REF_FIELDS: readonly ["number", "state", "headRefName",
42
74
  export declare const PR_LIST_FIELDS: readonly ["number", "state", "title", "url", "isDraft", "baseRefName", "headRefName", "headRefOid", "isCrossRepository", "mergeable", "mergeStateStatus", "reviewDecision", "author", "labels", "mergedAt", "createdAt", "updatedAt"];
43
75
  /** {@link PR_LIST_FIELDS} plus the heavy ones a single PR can afford. */
44
76
  export declare const PR_VIEW_FIELDS: readonly ["number", "state", "title", "url", "isDraft", "baseRefName", "headRefName", "headRefOid", "isCrossRepository", "mergeable", "mergeStateStatus", "reviewDecision", "author", "labels", "mergedAt", "createdAt", "updatedAt", "body", "comments", "reviews", "statusCheckRollup"];
77
+ /**
78
+ * A list query's answer: the rows, and whether `limit` cut the list short.
79
+ * The verb asks gh for one row more than `limit`; `truncated` is true when
80
+ * that row came back, and `rows` holds at most `limit`.
81
+ */
82
+ export interface ListResult<T> {
83
+ rows: T[];
84
+ truncated: boolean;
85
+ }
45
86
  /** What to narrow a listing to. Every filter is optional; none means "all open". */
46
87
  export interface PrListOptions {
47
88
  /**
@@ -53,8 +94,10 @@ export interface PrListOptions {
53
94
  /** Exact base branch filter (gh-side). */
54
95
  base?: string | undefined;
55
96
  /**
56
- * Head branch filter. gh matches this as a prefix, so a caller needing an
57
- * exact match filters the rows itself — {@link pickPrForBranch} does.
97
+ * Head branch filter, exact: `task/foo` does not match `task/foo-2`. Passed
98
+ * as gh's `--head`, and the rows are filtered again on `headRefName`. Two
99
+ * forks can share a branch name; ask for `headRepositoryOwner` to tell them
100
+ * apart.
58
101
  */
59
102
  head?: string | undefined;
60
103
  /** Raw `--search` query, for anything the flags do not cover. */
@@ -64,25 +107,32 @@ export interface PrListOptions {
64
107
  /** Field subset; defaults to {@link PR_LIST_FIELDS}. */
65
108
  fields?: readonly string[] | undefined;
66
109
  }
67
- /** `gh pr list …` — open PRs by default. */
68
- export declare function prList(opts?: PrListOptions): GhVerb<PullRequest[] | null>;
69
- /** `gh pr view <n> --json …` — one PR, with the heavy fields by default. */
70
- export declare function prView(number: number, fields?: readonly string[]): GhVerb<PullRequest | null>;
110
+ /** `gh pr list …` — open PRs by default. `opts.repo` overrides the target's repo. */
111
+ export declare function prList(opts?: PrListOptions, target?: GhTarget): GhVerb<ListResult<PullRequest> | null>;
112
+ /**
113
+ * `gh pr view <number|branch|url> --json …` — one PR, with the heavy fields
114
+ * by default.
115
+ *
116
+ * A branch is the PR whose head is that branch, as gh picks it. A URL names
117
+ * its own repository and host, so the target is not passed with one. A
118
+ * string that starts with `-` throws `RangeError`.
119
+ */
120
+ export declare function prView(ref: number | string, fields?: readonly string[], target?: GhTarget): GhVerb<PullRequest | null>;
71
121
  /**
72
- * Open PRs whose head *starts with* `branch` — gh's own search semantics.
122
+ * Open PRs whose head is exactly `branch`.
73
123
  *
74
124
  * The common shape behind "which PR is this branch?", bundling the cheap
75
- * field set with a small limit. Pair it with {@link pickPrForBranch}, which
76
- * is what turns the prefix match into an exact one.
125
+ * field set with a small limit. More than one row comes back only when forks
126
+ * share the branch name.
77
127
  */
78
- export declare function openPrsForBranch(branch: string, limit?: number): GhVerb<PullRequest[] | null>;
128
+ export declare function openPrsForBranch(branch: string, limit?: number, target?: GhTarget): GhVerb<ListResult<PullRequest> | null>;
79
129
  /**
80
130
  * `gh pr view <n> --json body -q .body` — just the PR body. Null when gh
81
131
  * failed. gh's `-q` output ends with a newline that is not part of the body,
82
132
  * so every trailing `\r` and `\n` is trimmed (including any that were part of
83
133
  * the body, such as the `\r\n` of a body saved with CRLF line endings).
84
134
  */
85
- export declare function prBody(number: number): GhVerb<string | null>;
135
+ export declare function prBody(number: number, target?: GhTarget): GhVerb<string | null>;
86
136
  /** One `gh api` answer: HTTP status, entity tag, and the decoded JSON body. */
87
137
  export interface ApiResponse {
88
138
  /** True iff gh exited 0 and the status is below 400 (2xx, or a 304 on a conditional GET). */
@@ -109,14 +159,65 @@ export interface ApiOptions {
109
159
  etag?: string | null | undefined;
110
160
  /** Pass `-i` and read status/ETag off the header block (the last one, if several). */
111
161
  includeHeaders?: boolean | undefined;
162
+ /**
163
+ * Fetch every page (`--paginate --slurp`). `body` is then the pages joined
164
+ * into one array when every page is an array, else the list of pages.
165
+ * Cannot be combined with `etag` or `includeHeaders`: with `-i` gh prints
166
+ * a header block per page. `status` is synthesized, as without `-i`.
167
+ */
168
+ paginate?: boolean | undefined;
112
169
  }
113
170
  /**
114
171
  * `gh api [-i] [-H If-None-Match: …] <endpoint>` — a GET against the REST API. `{owner}` and
115
- * `{repo}` placeholders in the endpoint are filled by gh from the cwd's repo.
172
+ * `{repo}` placeholders in the endpoint are filled from the target's repo, or by gh from the
173
+ * cwd's repo when the target names none.
116
174
  * Unchecked: failure is a value (`ok: false`), so a caller can tell a 304
117
175
  * from an outage.
118
176
  */
119
- export declare function api(endpoint: string, opts?: ApiOptions): GhVerb<ApiResponse>;
177
+ export declare function api(endpoint: string, opts?: ApiOptions, target?: GhTarget): GhVerb<ApiResponse>;
178
+ /**
179
+ * A GraphQL variable: gh sends a string with `-f` and the rest with `-F`.
180
+ *
181
+ * @experimental
182
+ */
183
+ export type GraphqlVariable = string | number | boolean | null;
184
+ /**
185
+ * Options for {@link graphql}.
186
+ *
187
+ * @experimental
188
+ */
189
+ export interface GraphqlOptions {
190
+ /**
191
+ * Follow every page (`--paginate --slurp`). The query must take
192
+ * `$endCursor: String` and select `pageInfo { hasNextPage endCursor }` on
193
+ * the one connection it pages through; gh follows only that connection.
194
+ */
195
+ paginate?: boolean | undefined;
196
+ }
197
+ /**
198
+ * `gh api graphql -f query=… [--paginate --slurp]` — a GraphQL query.
199
+ *
200
+ * Returns each page's `data`, one entry per page (one without `paginate`),
201
+ * or null when the call failed, the output did not parse, or any page
202
+ * carries `errors` or lacks `data`: a partial answer is no answer. Read one
203
+ * connection across the pages with {@link nodesAt}.
204
+ *
205
+ * A string variable of exactly `{owner}` or `{repo}` is filled from the
206
+ * target's repo, or by gh from the clone. A mutation document throws
207
+ * `RangeError`: this is a read, and changes go through `raw`.
208
+ *
209
+ * @experimental
210
+ */
211
+ export declare function graphql(query: string, variables?: Record<string, GraphqlVariable>, opts?: GraphqlOptions, target?: GhTarget): GhVerb<unknown[] | null>;
212
+ /**
213
+ * The `nodes` of one connection, joined across {@link graphql} pages: walk
214
+ * `path` into each page and take its `nodes` array. Null when `pages` is
215
+ * null, or any page lacks the path or a `nodes` array, so a page that came
216
+ * back short is never read as fewer rows.
217
+ *
218
+ * @experimental
219
+ */
220
+ export declare function nodesAt(pages: unknown[] | null, path: readonly string[]): unknown[] | null;
120
221
  /** `gh --version` — the install probe. True when `gh` runs. */
121
222
  export declare function installed(): GhVerb<boolean>;
122
223
  /**
@@ -127,16 +228,15 @@ export interface AuthStatus {
127
228
  ok: boolean;
128
229
  detail: string;
129
230
  }
130
- /** `gh auth status` — the credential probe. */
131
- export declare function authStatus(): GhVerb<AuthStatus>;
231
+ /** `gh auth status [--hostname <host>]` — the credential probe, for one host when the target names it. */
232
+ export declare function authStatus(target?: GhTarget): GhVerb<AuthStatus>;
132
233
  /**
133
- * `gh label list --json name,color,description` — every label on the repo.
134
- * `limit` defaults to 1000. `gh`'s own default is 30, which would cut off a
135
- * repository with more labels than that without saying so.
234
+ * `gh label list --json name,color,description` — every label on the repo,
235
+ * up to `limit` (default 1000; `gh`'s own default is 30).
136
236
  */
137
237
  export declare function labelList(opts?: {
138
238
  limit?: number | undefined;
139
- }): GhVerb<Label[] | null>;
239
+ }, target?: GhTarget): GhVerb<ListResult<Label> | null>;
140
240
  /** What to narrow an issue listing to. Every filter is optional. */
141
241
  export interface IssueListOptions {
142
242
  /** Exact label filter, applied by `gh`. */
@@ -145,9 +245,53 @@ export interface IssueListOptions {
145
245
  limit?: number | undefined;
146
246
  }
147
247
  /** `gh issue list --json …` — open issues by default, optionally by label. */
148
- export declare function issueList(opts?: IssueListOptions): GhVerb<IssueRow[] | null>;
248
+ export declare function issueList(opts?: IssueListOptions, target?: GhTarget): GhVerb<ListResult<IssueRow> | null>;
149
249
  /** `gh issue view <n> --json …` — one issue, same field set as {@link issueList}. */
150
- export declare function issueView(number: number): GhVerb<IssueRow | null>;
250
+ export declare function issueView(number: number, target?: GhTarget): GhVerb<IssueRow | null>;
251
+ /** The `gh repo list`/`view --json` fields a {@link Repository} reads. */
252
+ export declare const REPO_FIELDS: readonly ["nameWithOwner", "description", "defaultBranchRef", "visibility", "isArchived", "url"];
253
+ /** The `gh search prs --json` fields a {@link PrSearchHit} reads. */
254
+ export declare const SEARCH_PR_FIELDS: readonly ["number", "title", "state", "url", "isDraft", "repository", "author", "labels", "createdAt", "updatedAt", "closedAt"];
255
+ /** What to narrow a repository listing to. Every filter is optional. */
256
+ export interface RepoListOptions {
257
+ /** True for archived repositories only, false to leave them out; both when absent. */
258
+ archived?: boolean | undefined;
259
+ visibility?: 'public' | 'private' | 'internal' | undefined;
260
+ /** The most repositories to return. Defaults to 100. */
261
+ limit?: number | undefined;
262
+ /** Field subset; defaults to {@link REPO_FIELDS}. `nameWithOwner` is always asked for. */
263
+ fields?: readonly string[] | undefined;
264
+ }
265
+ /**
266
+ * `gh repo list <owner> --json …` — an owner's repositories. The host comes
267
+ * from the target (`GH_HOST`); the target's repo is not used.
268
+ */
269
+ export declare function repoList(owner: string, opts?: RepoListOptions, target?: GhTarget): GhVerb<ListResult<Repository> | null>;
270
+ /**
271
+ * `gh repo view [<[host/]owner/name>] --json …` — one repository: `repo`,
272
+ * else the target's repo, else the clone at the client's cwd.
273
+ */
274
+ export declare function repoView(repo?: string | undefined, fields?: readonly string[], target?: GhTarget): GhVerb<Repository | null>;
275
+ /** What to narrow a pull request search to. Every filter is optional. */
276
+ export interface SearchPrsOptions {
277
+ /** Only repositories this user or organization owns. */
278
+ owner?: string | undefined;
279
+ /** Only this `owner/name` repository. */
280
+ repo?: string | undefined;
281
+ /** `merged` is `--merged`; `open` and `closed` are `--state`. */
282
+ state?: 'open' | 'closed' | 'merged' | undefined;
283
+ /** The most hits to return. Defaults to 100. */
284
+ limit?: number | undefined;
285
+ /** Field subset; defaults to {@link SEARCH_PR_FIELDS}. `number` is always asked for. */
286
+ fields?: readonly string[] | undefined;
287
+ }
288
+ /**
289
+ * `gh search prs [flags] -- <query>` — pull requests across repositories,
290
+ * with GitHub's search syntax in `query` (it may start with `-`, as in
291
+ * `-label:bug`). The host comes from the target (`GH_HOST`); the target's
292
+ * repo is not used, so pass `opts.repo` or `opts.owner` to narrow.
293
+ */
294
+ export declare function searchPrs(query: string, opts?: SearchPrsOptions, target?: GhTarget): GhVerb<ListResult<PrSearchHit> | null>;
151
295
  /**
152
296
  * Options for {@link createPr}. `head` is the branch to merge from and `base`
153
297
  * the branch to merge into. `draft` opens the PR as a draft.
@@ -164,18 +308,18 @@ export interface CreatePrOptions {
164
308
  * starts with `http://` or `https://`. `''` when it printed none, as
165
309
  * {@link prComment} does. A line after the URL, such as a tip, is skipped.
166
310
  */
167
- export declare function createPr(opts: CreatePrOptions): GhVerb<string>;
311
+ export declare function createPr(opts: CreatePrOptions, target?: GhTarget): GhVerb<string>;
168
312
  /** `gh pr edit <n>` — retitle or rewrite the body. */
169
313
  export declare function editPr(number: number, opts: {
170
314
  title?: string | undefined;
171
315
  body?: string | undefined;
172
- }): GhVerb<void>;
316
+ }, target?: GhTarget): GhVerb<void>;
173
317
  /** `gh pr edit <n> --body` — rewrite just the body. */
174
- export declare function editPrBody(number: number, body: string): GhVerb<void>;
318
+ export declare function editPrBody(number: number, body: string, target?: GhTarget): GhVerb<void>;
175
319
  /** `gh pr update-branch <n> [--rebase]` — bring the head up to date with its base. */
176
- export declare function prUpdateBranch(number: number, style?: 'merge' | 'rebase'): GhVerb<void>;
320
+ export declare function prUpdateBranch(number: number, style?: 'merge' | 'rebase', target?: GhTarget): GhVerb<void>;
177
321
  /** `gh pr ready <n> [--undo]` — mark a draft PR ready for review, or (with `draft`) convert it back to a draft. */
178
- export declare function prSetDraft(number: number, draft: boolean): GhVerb<void>;
322
+ export declare function prSetDraft(number: number, draft: boolean, target?: GhTarget): GhVerb<void>;
179
323
  /**
180
324
  * `gh api -X PATCH repos/{owner}/{repo}/issues/comments/<id> -f body=…` — rewrite one
181
325
  * conversation comment.
@@ -190,7 +334,7 @@ export declare function prSetDraft(number: number, draft: boolean): GhVerb<void>
190
334
  *
191
335
  * @experimental
192
336
  */
193
- export declare function issueCommentEdit(commentId: string, body: string): GhVerb<void>;
337
+ export declare function issueCommentEdit(commentId: string, body: string, target?: GhTarget): GhVerb<void>;
194
338
  /** How {@link prMerge} lands the commits: `squash` into one, `merge` with a merge commit, or `rebase`. */
195
339
  export type PrMergeMethod = 'squash' | 'merge' | 'rebase';
196
340
  /**
@@ -203,7 +347,7 @@ export type PrMergeMethod = 'squash' | 'merge' | 'rebase';
203
347
  export declare function prMerge(number: number, opts: {
204
348
  method: PrMergeMethod;
205
349
  headSha: string;
206
- }): GhVerb<void>;
350
+ }, target?: GhTarget): GhVerb<void>;
207
351
  /** One review thread: whether it is resolved and who spoke last. */
208
352
  export interface ReviewThread {
209
353
  isResolved: boolean;
@@ -218,7 +362,7 @@ export interface ReviewThread {
218
362
  * PR is clear to merge must read "could not tell" differently from "no
219
363
  * threads".
220
364
  */
221
- export declare function prReviewThreads(number: number): GhVerb<ReviewThread[] | null>;
365
+ export declare function prReviewThreads(number: number, target?: GhTarget): GhVerb<ReviewThread[] | null>;
222
366
  /** A label to create. `color` is hex digits such as `d73a4a`. */
223
367
  export interface CreateLabelOptions {
224
368
  name: string;
@@ -230,12 +374,12 @@ export interface CreateLabelOptions {
230
374
  * `--force` makes it safe to repeat: when the label already exists, its color
231
375
  * and description are set to these instead of failing.
232
376
  */
233
- export declare function createLabel(opts: CreateLabelOptions): GhVerb<void>;
377
+ export declare function createLabel(opts: CreateLabelOptions, target?: GhTarget): GhVerb<void>;
234
378
  /** `gh label edit <name>` — recolor or redescribe; omits a flag not given. */
235
379
  export declare function editLabel(name: string, opts: {
236
380
  color?: string | undefined;
237
381
  description?: string | undefined;
238
- }): GhVerb<void>;
382
+ }, target?: GhTarget): GhVerb<void>;
239
383
  /**
240
384
  * `gh issue edit <n> [--remove-label <current>] --add-label <new>` — swap
241
385
  * one label for another on an issue in ONE call, so the issue is never
@@ -253,11 +397,11 @@ export declare function editLabel(name: string, opts: {
253
397
  * issue carries no prior label to remove — the `--remove-label` flag is then
254
398
  * omitted rather than passed empty.
255
399
  */
256
- export declare function setIssueLabel(number: number, currentLabel: string | null, newLabel: string): GhVerb<void>;
400
+ export declare function setIssueLabel(number: number, currentLabel: string | null, newLabel: string, target?: GhTarget): GhVerb<void>;
257
401
  /** `gh pr diff <n>` — the PR's unified diff, as text. Checked: an empty diff is a value, a failed call is not. */
258
- export declare function prDiff(number: number): GhVerb<string>;
402
+ export declare function prDiff(number: number, target?: GhTarget): GhVerb<string>;
259
403
  /** `gh pr comment <n> --body <body>` — post a conversation comment, returning the URL gh prints ('' if none). */
260
- export declare function prComment(number: number, body: string): GhVerb<string>;
404
+ export declare function prComment(number: number, body: string, target?: GhTarget): GhVerb<string>;
261
405
  /**
262
406
  * One inline comment of a review: a line on the right (new) side of the diff.
263
407
  *
@@ -286,19 +430,28 @@ export interface CreateReviewOptions {
286
430
  * when GitHub's reply carried none). The event is always `COMMENT`: this
287
431
  * library does not offer a way to approve or request changes. Goes through
288
432
  * `gh api` with the payload on stdin, because `gh pr review` cannot attach
289
- * line-anchored comments; `{owner}`/`{repo}` are filled in by `gh` from the
290
- * client's working directory.
433
+ * line-anchored comments; `{owner}`/`{repo}` come from the target's repo, or
434
+ * are filled in by `gh` from the client's working directory.
291
435
  *
292
436
  * @experimental
293
437
  */
294
- export declare function createReview(number: number, opts: CreateReviewOptions): GhVerb<string>;
438
+ export declare function createReview(number: number, opts: CreateReviewOptions, target?: GhTarget): GhVerb<string>;
295
439
  /**
296
- * The row whose `headRefName` exactly equals `branch`, or null.
440
+ * The first row whose `headRefName` exactly equals `branch`, or null.
297
441
  *
298
- * gh's `head:` search is a prefix match, so `task/foo` also returns
299
- * `task/foo-2`. Every caller that means one branch needs this filter.
442
+ * `prList({ head })` already filters exactly. This is for rows from anywhere
443
+ * else, such as a `search` query with gh's `head:` qualifier, which matches
444
+ * `task/foo-2` for `task/foo`.
300
445
  */
301
446
  export declare function pickPrForBranch(rows: PullRequest[] | null, branch: string): PullRequest | null;
447
+ /**
448
+ * The PR a branch names, from `prList({ head, state: 'all' })` rows: the open
449
+ * one, or else the first row (gh lists newest first). Null when there are no
450
+ * rows or the call failed.
451
+ */
452
+ export declare function branchPr(result: ListResult<PullRequest> | null): PullRequest | null;
453
+ /** The field set {@link branchPr} needs, ahead of `fields`. */
454
+ export declare function branchPrFields(fields: readonly string[]): string[];
302
455
  /**
303
456
  * True when GitHub has not finished computing this PR's mergeability.
304
457
  *
@@ -1 +1 @@
1
- {"version":3,"file":"verbs.d.ts","sourceRoot":"","sources":["../verbs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verbs.d.ts","sourceRoot":"","sources":["../verbs.ts"],"names":[],"mappings":"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"}