@kud/gh 0.18.0 → 0.20.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/inbox.d.ts CHANGED
@@ -15,7 +15,7 @@
15
15
  * axis is unchanged: the multiplication is what `minimal` exists to drop.
16
16
  */
17
17
  /**
18
- * How many of your own open PRs to ask for.
18
+ * How many of your own open PRs to ask for on the first page.
19
19
  *
20
20
  * This is the single biggest lever on the query's cost, because connections
21
21
  * MULTIPLY: the health and conversation fragments hang ~60 nodes off each PR
@@ -32,11 +32,36 @@
32
32
  * At 30 this search costs 2,400 nodes instead of 8,000, roughly halving the whole
33
33
  * query.
34
34
  *
35
+ * It is 100 again since 2026-10-05, and the history above is why that needs a
36
+ * reason rather than being a revert. The 30-row window dropped real PRs in
37
+ * silence for one host shape: a host hiding one org's repos client-side lost
38
+ * visible rows whenever the hidden org filled the window (39 open PRs, 21 in the
39
+ * hidden org, 30 fetched — the personal view showed 9 of 18). A server-side
40
+ * `-user:` exclusion was measured and rejected: GitHub search then drops the
41
+ * viewer's own private-repo PRs. So the window has to hold the whole set, and
42
+ * `fetchInbox` pages past it when it does not — see `MY_PRS_MAX_PAGES`.
43
+ *
44
+ * The cost per page rises with this, roughly back toward the 111 points the old
45
+ * note measured. That is visible rather than hidden: `rateLimit { cost }` rides
46
+ * on every document this file builds, including the follow-up pages, so a host
47
+ * watching the budget sees what the wider window spends.
48
+ *
35
49
  * `issueCount` is fetched alongside so the cap can never drop rows in silence: a
36
50
  * scalar costs nothing, and a host that knows the true total can say what it is
37
51
  * not showing.
38
52
  */
39
- export declare const MY_PRS_LIMIT = 30;
53
+ export declare const MY_PRS_LIMIT = 100;
54
+ /**
55
+ * How many pages of `myPRs` one `fetchInbox` may hold, first page included.
56
+ *
57
+ * The first page covers almost every account on its own — `MY_PRS_LIMIT` is the
58
+ * search API's maximum — and each further page is one more full-cost request, so
59
+ * the loop stops at five (500 rows) with more still available rather than
60
+ * chasing an unbounded set. Past the ceiling the tab is still marked sampled —
61
+ * `sourceCoverage` reads `pageInfo.hasNextPage`, not the row count — so the
62
+ * dim "shown/total" note keeps describing the same situation it always did.
63
+ */
64
+ export declare const MY_PRS_MAX_PAGES = 5;
40
65
  /**
41
66
  * How many rows each source asks for — the cap, as DATA rather than a literal
42
67
  * buried in eight query strings.
@@ -81,8 +106,10 @@ export declare const MY_PRS_LIMIT = 30;
81
106
  * hence 6,100 for 38 rows. A day spent with fifty PRs assigned would make this
82
107
  * the heaviest search in the query.
83
108
  *
84
- * The PR sources keep their caps. There the outer number really does multiply
85
- * ~80 nested nodes, and `myPRs` at 30 is already half the cost of the whole call.
109
+ * The other PR sources keep their caps. There the outer number really does
110
+ * multiply ~80 nested nodes. `myPRs` is the exception since 2026-10-05: its
111
+ * window has to hold its whole set (see `MY_PRS_LIMIT`), and `fetchInbox`
112
+ * pages past the first window when it does not.
86
113
  */
87
114
  export declare const SOURCE_LIMITS: Record<InboxSource, number>;
88
115
  export type InboxShape = "full" | "minimal";
@@ -94,6 +121,12 @@ export declare const INBOX_SOURCES: readonly InboxSource[];
94
121
  export type InboxQueryOptions = {
95
122
  /** `owner/name`. Scopes every search to one repository. */
96
123
  repo?: string;
124
+ /**
125
+ * `owner/name` repositories no search may return, applied as `-repo:`
126
+ * qualifiers on every source. See `inboxScope` for why it lives in the query
127
+ * rather than in a filter over the rows.
128
+ */
129
+ excludeRepos?: readonly string[];
97
130
  /** How far back `recentlyDone` looks. Defaults to 14 days. */
98
131
  doneWithinDays?: number;
99
132
  /**
@@ -172,8 +205,20 @@ export declare const limitsFor: (options?: InboxQueryOptions) => Record<InboxSou
172
205
  * that watched a different set of repos would report calm while the board went
173
206
  * stale. One function, so the two cannot drift into two spellings of the rule
174
207
  * that `repo:` REPLACES `user:@me` (see `buildInboxQuery`).
208
+ *
209
+ * `excludeRepos` rides in `scope` because `scope` is the one prefix EVERY
210
+ * source and every pulse alias already carries, so a repo hidden here is hidden
211
+ * from all of them at once. It is a query qualifier rather than a filter over
212
+ * the returned rows on purpose: a row filter leaves `issueCount` counting the
213
+ * hidden repo, so a capped tab's fraction claims rows nobody can see, and the
214
+ * hidden rows still occupy slots in the window and push real ones out of it.
215
+ *
216
+ * Names are checked rather than trusted, because they are interpolated into a
217
+ * quoted GraphQL string: one stray `"` costs the whole document. A bad name
218
+ * throws instead of being dropped, since a repo that silently stays visible is
219
+ * exactly the failure this option exists to prevent.
175
220
  */
176
- export declare const inboxScope: (repo?: string) => {
221
+ export declare const inboxScope: (repo?: string, excludeRepos?: readonly string[]) => {
177
222
  scope: string;
178
223
  owned: string;
179
224
  };
@@ -225,6 +270,30 @@ export declare const buildInboxQueries: (options?: InboxQueryOptions & {
225
270
  * moment.
226
271
  */
227
272
  export declare const mergeInboxData: (parts: any[]) => any;
273
+ /** What runs one inbox document against GitHub. Defaults to the live CLI. */
274
+ export type InboxRunner = (query: string) => Promise<any>;
275
+ /**
276
+ * Fetch the whole inbox: every source in parallel, merged, with `myPRs`
277
+ * paged to its `issueCount`.
278
+ *
279
+ * This is the function a host should call to get the paginated inbox. Building
280
+ * documents with `buildInboxQueries` and merging them with `mergeInboxData`
281
+ * still works, but it leaves `myPRs` at its first window — this is the only
282
+ * entry point that follows `pageInfo` past it, so every host fetching through
283
+ * here gets the fix with no change at its own layer.
284
+ *
285
+ * Only `myPRs` pages. The other sources keep their caps as cost decisions (see
286
+ * `SOURCE_LIMITS`): their windows are priced, and `sourceCoverage` already tells
287
+ * a host what they are not showing. `myPRs` is different — its window has to
288
+ * hold its whole set, because a host filtering repos client-side cannot tell a
289
+ * row outside the window from a row that does not exist.
290
+ *
291
+ * `run` is the seam tests hold: pass a fake returning canned pages, read the
292
+ * real `gh api graphql` by passing nothing.
293
+ */
294
+ export declare const fetchInbox: (options?: InboxQueryOptions & {
295
+ sourcesPerQuery?: number;
296
+ }, run?: InboxRunner) => Promise<any>;
228
297
  /**
229
298
  * What a source matched, against what it was allowed to return.
230
299
  *
@@ -248,7 +317,10 @@ export type SourceCoverage = {
248
317
  * We asked for N and got N, so the rows are a sample of the set.
249
318
  *
250
319
  * Derived from our own request rather than from `total`, which is the entire
251
- * point: a cap is a fact we hold, and it cannot be wrong about itself.
320
+ * point: a cap is a fact we hold, and it cannot be wrong about itself. Where
321
+ * the source selected `pageInfo`, `hasNextPage` answers instead — a paged
322
+ * fetch holds more than any one window asked for, so the window is the wrong
323
+ * thing to measure against.
252
324
  */
253
325
  capped: boolean;
254
326
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"inbox.d.ts","sourceRoot":"","sources":["../src/inbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbox.d.ts","sourceRoot":"","sources":["../src/inbox.ts"],"names":[],"mappings":"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"}
package/dist/inbox.js CHANGED
@@ -5,6 +5,7 @@
5
5
  // Query-only by design. Assembling the result into sections is the surface's
6
6
  // own vocabulary — cockpit splits home from work, a web dashboard may group by
7
7
  // project — so nothing here decides what a section is.
8
+ import { ghGraphql } from "./gh.js";
8
9
  /**
9
10
  * How much of each row to ask for.
10
11
  *
@@ -22,7 +23,7 @@
22
23
  * axis is unchanged: the multiplication is what `minimal` exists to drop.
23
24
  */
24
25
  /**
25
- * How many of your own open PRs to ask for.
26
+ * How many of your own open PRs to ask for on the first page.
26
27
  *
27
28
  * This is the single biggest lever on the query's cost, because connections
28
29
  * MULTIPLY: the health and conversation fragments hang ~60 nodes off each PR
@@ -39,11 +40,36 @@
39
40
  * At 30 this search costs 2,400 nodes instead of 8,000, roughly halving the whole
40
41
  * query.
41
42
  *
43
+ * It is 100 again since 2026-10-05, and the history above is why that needs a
44
+ * reason rather than being a revert. The 30-row window dropped real PRs in
45
+ * silence for one host shape: a host hiding one org's repos client-side lost
46
+ * visible rows whenever the hidden org filled the window (39 open PRs, 21 in the
47
+ * hidden org, 30 fetched — the personal view showed 9 of 18). A server-side
48
+ * `-user:` exclusion was measured and rejected: GitHub search then drops the
49
+ * viewer's own private-repo PRs. So the window has to hold the whole set, and
50
+ * `fetchInbox` pages past it when it does not — see `MY_PRS_MAX_PAGES`.
51
+ *
52
+ * The cost per page rises with this, roughly back toward the 111 points the old
53
+ * note measured. That is visible rather than hidden: `rateLimit { cost }` rides
54
+ * on every document this file builds, including the follow-up pages, so a host
55
+ * watching the budget sees what the wider window spends.
56
+ *
42
57
  * `issueCount` is fetched alongside so the cap can never drop rows in silence: a
43
58
  * scalar costs nothing, and a host that knows the true total can say what it is
44
59
  * not showing.
45
60
  */
46
- export const MY_PRS_LIMIT = 30;
61
+ export const MY_PRS_LIMIT = 100;
62
+ /**
63
+ * How many pages of `myPRs` one `fetchInbox` may hold, first page included.
64
+ *
65
+ * The first page covers almost every account on its own — `MY_PRS_LIMIT` is the
66
+ * search API's maximum — and each further page is one more full-cost request, so
67
+ * the loop stops at five (500 rows) with more still available rather than
68
+ * chasing an unbounded set. Past the ceiling the tab is still marked sampled —
69
+ * `sourceCoverage` reads `pageInfo.hasNextPage`, not the row count — so the
70
+ * dim "shown/total" note keeps describing the same situation it always did.
71
+ */
72
+ export const MY_PRS_MAX_PAGES = 5;
47
73
  /**
48
74
  * How many rows each source asks for — the cap, as DATA rather than a literal
49
75
  * buried in eight query strings.
@@ -88,8 +114,10 @@ export const MY_PRS_LIMIT = 30;
88
114
  * hence 6,100 for 38 rows. A day spent with fifty PRs assigned would make this
89
115
  * the heaviest search in the query.
90
116
  *
91
- * The PR sources keep their caps. There the outer number really does multiply
92
- * ~80 nested nodes, and `myPRs` at 30 is already half the cost of the whole call.
117
+ * The other PR sources keep their caps. There the outer number really does
118
+ * multiply ~80 nested nodes. `myPRs` is the exception since 2026-10-05: its
119
+ * window has to hold its whole set (see `MY_PRS_LIMIT`), and `fetchInbox`
120
+ * pages past the first window when it does not.
93
121
  */
94
122
  export const SOURCE_LIMITS = {
95
123
  myPRs: MY_PRS_LIMIT,
@@ -283,6 +311,19 @@ const ISSUE_CONVERSATION = `
283
311
  // what a delegated session gets handed. Nothing here renders labels.
284
312
  const ISSUE_LABELS = `
285
313
  labels(first: 10) { nodes { name } }`;
314
+ // The same selection on PR nodes, and it is not a copy that drifted — it is
315
+ // the same ten names for the same reason, plus one a host cannot get any other
316
+ // way. A host deciding "does this PR need a decision from the viewer" reads a
317
+ // `decision-needed` label off the row, and the row only carries what the query
318
+ // selected: without this, a host filtering PRs by label would have to fire one
319
+ // `gh pr view --json labels` per row, which is exactly the per-row round trip
320
+ // the inbox query exists to avoid. Agents reading the raw payload get the same
321
+ // benefit issues already had — labels on PRs as they have on issues — rather
322
+ // than a payload where half the rows answer "what am I" and the other half do
323
+ // not. Absent from `recentlyDone` on purpose: a merged row is never triaged by
324
+ // label.
325
+ const PR_LABELS = `
326
+ labels(first: 10) { nodes { name } }`;
286
327
  /*
287
328
  * Computed per call, never at module scope. A CLI process is short-lived and
288
329
  * would not notice, but a long-running server imports this once and keeps it
@@ -295,10 +336,18 @@ const sinceDay = (days) => new Date(Date.now() - days * 86400 * 1000).toISOStrin
295
336
  * ask for any subset without this file growing a second copy of the query text.
296
337
  * Each value is the whole `alias: search(…) { … }` selection, indented as it
297
338
  * appears in the document.
339
+ *
340
+ * `after` is how `fetchInbox` pages `myPRs` past its first window, and only
341
+ * `myPRs` takes it — it is the one source whose window has to hold its whole
342
+ * set (see `MY_PRS_LIMIT`), so it is the one source that selects `pageInfo`.
343
+ * The other entries ignore the parameter; giving every entry its own cursor
344
+ * would invite paging a source whose cap is a cost decision rather than a
345
+ * completeness one.
298
346
  */
299
347
  const SOURCES = {
300
- myPRs: ({ scope, health, size, conversation }, first) => ` myPRs: search(query: "${scope}is:pr is:open author:@me", type: ISSUE, first: ${first}) {
348
+ myPRs: ({ scope, health, size, conversation, prLabels }, first, after) => ` myPRs: search(query: "${scope}is:pr is:open author:@me", type: ISSUE, first: ${first}${after ? `, after: ${JSON.stringify(after)}` : ""}) {
301
349
  issueCount
350
+ pageInfo { hasNextPage endCursor }
302
351
  nodes { __typename ... on PullRequest {
303
352
  id number title createdAt url headRefName isDraft
304
353
  repository { nameWithOwner }
@@ -306,9 +355,10 @@ const SOURCES = {
306
355
  ${size}
307
356
  ${health}
308
357
  ${conversation}
358
+ ${prLabels}
309
359
  }}
310
360
  }`,
311
- reviewRequests: ({ scope, health, size, conversation }, first) => ` reviewRequests: search(query: "${scope}is:pr is:open review-requested:@me", type: ISSUE, first: ${first}) {
361
+ reviewRequests: ({ scope, health, size, conversation, prLabels }, first) => ` reviewRequests: search(query: "${scope}is:pr is:open review-requested:@me", type: ISSUE, first: ${first}) {
312
362
  issueCount
313
363
  nodes { __typename ... on PullRequest {
314
364
  id number title createdAt url headRefName isDraft
@@ -317,9 +367,10 @@ const SOURCES = {
317
367
  ${size}
318
368
  ${health}
319
369
  ${conversation}
370
+ ${prLabels}
320
371
  }}
321
372
  }`,
322
- reviewed: ({ scope, health, size, conversation }, first) => ` reviewed: search(query: "${scope}is:pr is:open reviewed-by:@me -author:@me -review-requested:@me", type: ISSUE, first: ${first}) {
373
+ reviewed: ({ scope, health, size, conversation, prLabels }, first) => ` reviewed: search(query: "${scope}is:pr is:open reviewed-by:@me -author:@me -review-requested:@me", type: ISSUE, first: ${first}) {
323
374
  issueCount
324
375
  nodes { __typename ... on PullRequest {
325
376
  id number title createdAt url headRefName isDraft
@@ -328,9 +379,10 @@ const SOURCES = {
328
379
  ${size}
329
380
  ${health}
330
381
  ${conversation}
382
+ ${prLabels}
331
383
  }}
332
384
  }`,
333
- assigned: ({ scope, health, size, conversation, issueConversation, issueLabels }, first) => ` assigned: search(query: "${scope}is:open assignee:@me", type: ISSUE, first: ${first}) {
385
+ assigned: ({ scope, health, size, conversation, issueConversation, issueLabels, prLabels, }, first) => ` assigned: search(query: "${scope}is:open assignee:@me", type: ISSUE, first: ${first}) {
334
386
  issueCount
335
387
  nodes {
336
388
  __typename
@@ -344,6 +396,7 @@ const SOURCES = {
344
396
  ${size}
345
397
  ${health}
346
398
  ${conversation}
399
+ ${prLabels}
347
400
  }
348
401
  }
349
402
  }`,
@@ -395,7 +448,7 @@ const SOURCES = {
395
448
  ${issueLabels}
396
449
  }}
397
450
  }`,
398
- repoPRs: ({ scope, owned, health, size, conversation }, first) => ` repoPRs: search(query: "${scope}${owned}is:pr is:open -author:@me archived:false", type: ISSUE, first: ${first}) {
451
+ repoPRs: ({ scope, owned, health, size, conversation, prLabels }, first) => ` repoPRs: search(query: "${scope}${owned}is:pr is:open -author:@me archived:false", type: ISSUE, first: ${first}) {
399
452
  issueCount
400
453
  nodes { __typename ... on PullRequest {
401
454
  id number title createdAt url headRefName isDraft
@@ -404,6 +457,7 @@ const SOURCES = {
404
457
  ${size}
405
458
  ${health}
406
459
  ${conversation}
460
+ ${prLabels}
407
461
  }}
408
462
  }`,
409
463
  recentlyDone: ({ scope, doneSince }, first) => ` recentlyDone: search(query: "${scope}is:pr author:@me -is:open closed:>=${doneSince}", type: ISSUE, first: ${first}) {
@@ -414,6 +468,7 @@ const SOURCES = {
414
468
  }}
415
469
  }`,
416
470
  };
471
+ const REPO_SLUG = /^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/;
417
472
  /**
418
473
  * The two scope qualifiers every search is built from, resolved from `repo`.
419
474
  *
@@ -422,23 +477,42 @@ const SOURCES = {
422
477
  * that watched a different set of repos would report calm while the board went
423
478
  * stale. One function, so the two cannot drift into two spellings of the rule
424
479
  * that `repo:` REPLACES `user:@me` (see `buildInboxQuery`).
480
+ *
481
+ * `excludeRepos` rides in `scope` because `scope` is the one prefix EVERY
482
+ * source and every pulse alias already carries, so a repo hidden here is hidden
483
+ * from all of them at once. It is a query qualifier rather than a filter over
484
+ * the returned rows on purpose: a row filter leaves `issueCount` counting the
485
+ * hidden repo, so a capped tab's fraction claims rows nobody can see, and the
486
+ * hidden rows still occupy slots in the window and push real ones out of it.
487
+ *
488
+ * Names are checked rather than trusted, because they are interpolated into a
489
+ * quoted GraphQL string: one stray `"` costs the whole document. A bad name
490
+ * throws instead of being dropped, since a repo that silently stays visible is
491
+ * exactly the failure this option exists to prevent.
425
492
  */
426
- export const inboxScope = (repo) => ({
427
- scope: repo ? `repo:${repo} ` : "",
428
- owned: repo ? "" : "user:@me ",
429
- });
430
- const selectionsFor = ({ repo, doneWithinDays = 14, shape = "full", }) => {
493
+ export const inboxScope = (repo, excludeRepos = []) => {
494
+ const bad = excludeRepos.find((r) => !REPO_SLUG.test(r));
495
+ if (bad !== undefined)
496
+ throw new Error(`excludeRepos: "${bad}" is not an owner/name slug`);
497
+ const hidden = excludeRepos.map((r) => `-repo:${r} `).join("");
498
+ return {
499
+ scope: `${repo ? `repo:${repo} ` : ""}${hidden}`,
500
+ owned: repo ? "" : "user:@me ",
501
+ };
502
+ };
503
+ const selectionsFor = ({ repo, excludeRepos, doneWithinDays = 14, shape = "full", }) => {
431
504
  /* Interpolated as empty strings rather than branching the query text, so the
432
505
  two shapes cannot drift into two separately-maintained queries. */
433
506
  const full = shape === "full";
434
507
  return {
435
- ...inboxScope(repo),
508
+ ...inboxScope(repo, excludeRepos),
436
509
  doneSince: sinceDay(doneWithinDays),
437
510
  health: full ? PR_HEALTH : "",
438
511
  size: PR_SIZE,
439
512
  conversation: full ? PR_CONVERSATION : "",
440
513
  issueConversation: full ? ISSUE_CONVERSATION : "",
441
514
  issueLabels: full ? ISSUE_LABELS : "",
515
+ prLabels: full ? PR_LABELS : "",
442
516
  };
443
517
  };
444
518
  /**
@@ -567,6 +641,71 @@ export const mergeInboxData = (parts) => {
567
641
  : {}),
568
642
  };
569
643
  };
644
+ /*
645
+ * One further page of `myPRs` alone, past the cursor the last page ended on.
646
+ *
647
+ * Built from the same `SOURCES.myPRs` entry as the first page rather than a
648
+ * second copy of its text, so the two cannot drift — a field added to one is on
649
+ * both. `rateLimit` and `viewer` ride along for the same reason they do on every
650
+ * subset `buildInboxQuery` emits: the parts are merged with `mergeInboxData`,
651
+ * which needs the envelope on each one to keep the cost honest.
652
+ */
653
+ const buildMyPRsPageQuery = (options, first, after) => `{
654
+ rateLimit { cost nodeCount remaining resetAt }
655
+ viewer { login }
656
+ ${SOURCES.myPRs(selectionsFor(options), first, after)}
657
+ }
658
+ `;
659
+ /**
660
+ * Fetch the whole inbox: every source in parallel, merged, with `myPRs`
661
+ * paged to its `issueCount`.
662
+ *
663
+ * This is the function a host should call to get the paginated inbox. Building
664
+ * documents with `buildInboxQueries` and merging them with `mergeInboxData`
665
+ * still works, but it leaves `myPRs` at its first window — this is the only
666
+ * entry point that follows `pageInfo` past it, so every host fetching through
667
+ * here gets the fix with no change at its own layer.
668
+ *
669
+ * Only `myPRs` pages. The other sources keep their caps as cost decisions (see
670
+ * `SOURCE_LIMITS`): their windows are priced, and `sourceCoverage` already tells
671
+ * a host what they are not showing. `myPRs` is different — its window has to
672
+ * hold its whole set, because a host filtering repos client-side cannot tell a
673
+ * row outside the window from a row that does not exist.
674
+ *
675
+ * `run` is the seam tests hold: pass a fake returning canned pages, read the
676
+ * real `gh api graphql` by passing nothing.
677
+ */
678
+ export const fetchInbox = async (options = {}, run = ghGraphql) => {
679
+ const parts = await Promise.all(buildInboxQueries(options).map(run));
680
+ let data = mergeInboxData(parts);
681
+ if (!data || !sourcesFor(options).includes("myPRs"))
682
+ return data;
683
+ const pageSize = limitsFor(options).myPRs;
684
+ let pages = 1;
685
+ let cursor = data.myPRs?.pageInfo;
686
+ while (pages < MY_PRS_MAX_PAGES &&
687
+ cursor?.hasNextPage === true &&
688
+ typeof cursor?.endCursor === "string") {
689
+ const page = await run(buildMyPRsPageQuery(options, pageSize, cursor.endCursor));
690
+ if (!page?.myPRs)
691
+ break;
692
+ const envelope = mergeInboxData([data, page]);
693
+ data = {
694
+ ...envelope,
695
+ myPRs: {
696
+ ...page.myPRs,
697
+ issueCount: typeof page.myPRs.issueCount === "number"
698
+ ? page.myPRs.issueCount
699
+ : data.myPRs?.issueCount,
700
+ pageInfo: page.myPRs.pageInfo,
701
+ nodes: [...(data.myPRs?.nodes ?? []), ...(page.myPRs.nodes ?? [])],
702
+ },
703
+ };
704
+ pages += 1;
705
+ cursor = data.myPRs?.pageInfo;
706
+ }
707
+ return data;
708
+ };
570
709
  /**
571
710
  * What each source could see, against what it was allowed to show.
572
711
  *
@@ -629,11 +768,24 @@ export const sourceCoverage = (data, limits = {}) => {
629
768
  const shown = answered.nodes?.length ?? 0;
630
769
  const total = typeof answered.issueCount === "number" ? answered.issueCount : shown;
631
770
  const cap = caps[source];
771
+ /*
772
+ * A source carrying `pageInfo` answers the cap question itself, and its
773
+ * answer wins over the row count. `fetchInbox` pages `myPRs` to its whole
774
+ * set, so a complete fetch holds MORE rows than the first page asked for —
775
+ * and measuring those against the first page's cap would call every large
776
+ * account sampled forever. `hasNextPage: false` means the set is whole
777
+ * whatever the count says; `true` means rows exist past what is held, which
778
+ * is exactly what `capped` claims. Sources without it keep the old rule.
779
+ */
780
+ const paging = answered.pageInfo;
781
+ const capped = typeof paging?.hasNextPage === "boolean"
782
+ ? paging.hasNextPage
783
+ : shown >= cap;
632
784
  out[source] = {
633
785
  total,
634
786
  shown,
635
787
  cap,
636
- capped: shown >= cap,
788
+ capped,
637
789
  partial: shown < cap && total > shown,
638
790
  };
639
791
  }
package/dist/inbox.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"inbox.js","sourceRoot":"","sources":["../src/inbox.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2EAA2E;AAC3E,YAAY;AACZ,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,uDAAuD;AAEvD;;;;;;;;;;;;;;;GAeG;AACH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAA;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,CAAC,MAAM,aAAa,GAAgC;IACxD,KAAK,EAAE,YAAY;IACnB,cAAc,EAAE,EAAE;IAClB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,GAAG;IACb,UAAU,EAAE,GAAG;IACf,cAAc,EAAE,GAAG;IACnB,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,EAAE;CACjB,CAAA;AAeD,oEAAoE;AACpE,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,OAAO;IACP,gBAAgB;IAChB,UAAU;IACV,UAAU;IACV,YAAY;IACZ,gBAAgB;IAChB,SAAS;IACT,cAAc;CACf,CAAA;AAkED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,UAA6B,EAAE,EACF,EAAE;IAC/B,MAAM,MAAM,GAAG,EAAE,GAAG,aAAa,EAAE,CAAA;IACnC,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAA;QACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,2EAA2E;AAC3E,4EAA4E;AAC5E,4EAA4E;AAC5E,mEAAmE;AACnE,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAC9E,yBAAyB;AACzB,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,2EAA2E;AAC3E,qBAAqB;AACrB,MAAM,SAAS,GAAG;;;;;YAKN,CAAA;AAEZ,wEAAwE;AACxE,sEAAsE;AACtE,EAAE;AACF,sEAAsE;AACtE,0EAA0E;AAC1E,+EAA+E;AAC/E,6EAA6E;AAC7E,6EAA6E;AAC7E,2EAA2E;AAC3E,uEAAuE;AACvE,EAAE;AACF,0EAA0E;AAC1E,8EAA8E;AAC9E,8EAA8E;AAC9E,2EAA2E;AAC3E,mDAAmD;AACnD,EAAE;AACF,2EAA2E;AAC3E,cAAc;AACd,MAAM,OAAO,GAAG;uCACuB,CAAA;AAEvC,6EAA6E;AAC7E,gFAAgF;AAChF,8EAA8E;AAC9E,2DAA2D;AAC3D,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,gFAAgF;AAChF,8EAA8E;AAC9E,+DAA+D;AAC/D,EAAE;AACF,4EAA4E;AAC5E,wEAAwE;AACxE,gFAAgF;AAChF,uEAAuE;AACvE,gFAAgF;AAChF,8EAA8E;AAC9E,yEAAyE;AACzE,EAAE;AACF,yEAAyE;AACzE,6EAA6E;AAC7E,8EAA8E;AAC9E,sEAAsE;AACtE,gFAAgF;AAChF,+EAA+E;AAC/E,WAAW;AACX,EAAE;AACF,yEAAyE;AACzE,gFAAgF;AAChF,4EAA4E;AAC5E,4EAA4E;AAC5E,QAAQ;AACR,EAAE;AACF,uDAAuD;AACvD,uDAAuD;AACvD,uDAAuD;AACvD,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,gFAAgF;AAChF,EAAE;AACF,uEAAuE;AACvE,gFAAgF;AAChF,+EAA+E;AAC/E,+CAA+C;AAC/C,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,oEAAoE;AACpE,8EAA8E;AAC9E,0EAA0E;AAC1E,6EAA6E;AAC7E,gFAAgF;AAChF,iFAAiF;AACjF,gFAAgF;AAChF,8EAA8E;AAC9E,2DAA2D;AAC3D,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,0EAA0E;AAC1E,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,gFAAgF;AAChF,wBAAwB;AACxB,EAAE;AACF,yEAAyE;AACzE,8BAA8B;AAC9B,EAAE;AACF,gFAAgF;AAChF,8EAA8E;AAC9E,kBAAkB;AAClB,+EAA+E;AAC/E,gFAAgF;AAChF,6EAA6E;AAC7E,8EAA8E;AAC9E,qEAAqE;AACrE,EAAE;AACF,8EAA8E;AAC9E,oCAAoC;AACpC,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,iFAAiF;AACjF,iFAAiF;AACjF,0EAA0E;AAC1E,gEAAgE;AAChE,4EAA4E;AAC5E,gFAAgF;AAChF,4EAA4E;AAC5E,6EAA6E;AAC7E,2EAA2E;AAC3E,6EAA6E;AAC7E,MAAM,eAAe,GAAG;;;;;;;;8DAQsC,CAAA;AAE9D,MAAM,kBAAkB,GAAG;uFAC4D,CAAA;AAEvF,+EAA+E;AAC/E,qEAAqE;AACrE,MAAM,YAAY,GAAG;2CACsB,CAAA;AAE3C;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAChC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAcvE;;;;;GAKG;AACH,MAAM,OAAO,GAAkE;IAC7E,KAAK,EAAE,CACL,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,EACrC,KAAK,EACL,EAAE,CAAC,2BAA2B,KAAK,kDAAkD,KAAK;;;;;;QAMtF,IAAI;QACJ,MAAM;QACN,YAAY;;IAEhB;IAEF,cAAc,EAAE,CACd,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,EACrC,KAAK,EACL,EAAE,CAAC,oCAAoC,KAAK,4DAA4D,KAAK;;;;;;QAMzG,IAAI;QACJ,MAAM;QACN,YAAY;;IAEhB;IAEF,QAAQ,EAAE,CACR,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,EACrC,KAAK,EACL,EAAE,CAAC,8BAA8B,KAAK,yFAAyF,KAAK;;;;;;QAMhI,IAAI;QACJ,MAAM;QACN,YAAY;;IAEhB;IAEF,QAAQ,EAAE,CACR,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,EACrE,KAAK,EACL,EAAE,CAAC,8BAA8B,KAAK,8CAA8C,KAAK;;;;;;UAMnF,iBAAiB;UACjB,WAAW;;;;UAIX,IAAI;UACJ,MAAM;UACN,YAAY;;;IAGlB;IAEF,UAAU,EAAE,CACV,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAChD,KAAK,EACL,EAAE,CAAC,gCAAgC,KAAK,GAAG,KAAK,yDAAyD,KAAK;;;;;;QAM1G,iBAAiB;QACjB,WAAW;;IAEf;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,cAAc,EAAE,CACd,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,EACzC,KAAK,EACL,EAAE,CAAC,oCAAoC,KAAK,8EAA8E,KAAK;;;;;;QAM3H,iBAAiB;QACjB,WAAW;;IAEf;IAEF,OAAO,EAAE,CACP,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,EAC5C,KAAK,EACL,EAAE,CAAC,6BAA6B,KAAK,GAAG,KAAK,kEAAkE,KAAK;;;;;;QAMhH,IAAI;QACJ,MAAM;QACN,YAAY;;IAEhB;IAEF,YAAY,EAAE,CACZ,EAAE,KAAK,EAAE,SAAS,EAAE,EACpB,KAAK,EACL,EAAE,CAAC,kCAAkC,KAAK,sCAAsC,SAAS,0BAA0B,KAAK;;;;;;IAMxH;CACH,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC;IAC5C,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE;IAClC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;CAC/B,CAAC,CAAA;AAEF,MAAM,aAAa,GAAG,CAAC,EACrB,IAAI,EACJ,cAAc,GAAG,EAAE,EACnB,KAAK,GAAG,MAAM,GACI,EAAc,EAAE;IAClC;yEACqE;IACrE,MAAM,IAAI,GAAG,KAAK,KAAK,MAAM,CAAA;IAC7B,OAAO;QACL,GAAG,UAAU,CAAC,IAAI,CAAC;QACnB,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC;QACnC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;QAC7B,IAAI,EAAE,OAAO;QACb,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;QACzC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;QACjD,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;KACtC,CAAA;AACH,CAAC,CAAA;AAED;;;;;;;;GAQG;AACH;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,GAAG,CAAC,OAA0B,EAA0B,EAAE;IACxE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,aAAa,CAAA;IAChD,OAAO,OAAO,CAAC,IAAI;QACjB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,gBAAgB,CAAC;QACzD,CAAC,CAAC,OAAO,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,UAA6B,EAAE,EAAE,EAAE;IACjE,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IACnC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;IAEjC;;;;;;;;;;OAUG;IACH,OAAO;;;;EAIP,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;CAEhF,CAAA;AACD,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAA;AAExC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,UAA4D,EAAE,EACpD,EAAE;IACZ,MAAM,EAAE,eAAe,GAAG,uBAAuB,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAA;IAC9E,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAA;IAErD,MAAM,MAAM,GAAoB,EAAE,CAAA;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI;QAC3C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAkB,CAAC,CAAA;IAE1D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1B,eAAe,CAAC,EAAE,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CACrD,CAAA;AACH,CAAC,CAAA;AASD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAY,EAAO,EAAE;IAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAE3C,MAAM,MAAM,GAAqB,QAAQ;SACtC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;SAC7B,MAAM,CAAC,OAAO,CAAC,CAAA;IAElB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAC5B,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAChB,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAChE,SAAS,CACV,CAAA;IAED,OAAO;QACL,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC;QACjC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM;QACpD,GAAG,CAAC,QAAQ;YACV,CAAC,CAAC;gBACE,SAAS,EAAE;oBACT,GAAG,QAAQ;oBACX,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC3D,SAAS,EAAE,MAAM,CAAC,MAAM,CACtB,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,EACxC,CAAC,CACF;iBACF;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;AACH,CAAC,CAAA;AA0CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,IAAS,EACT,SAA+C,EAAE,EACH,EAAE;IAChD,MAAM,GAAG,GAAiD,EAAE,CAAA;IAC5D,IAAI,CAAC,IAAI;QAAE,OAAO,GAAG,CAAA;IAErB,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IAElC,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;QAC7B,IAAI,CAAC,QAAQ;YAAE,SAAQ;QACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAA;QACzC,MAAM,KAAK,GACT,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAA;QACvE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;QACxB,GAAG,CAAC,MAAM,CAAC,GAAG;YACZ,KAAK;YACL,KAAK;YACL,GAAG;YACH,MAAM,EAAE,KAAK,IAAI,GAAG;YACpB,OAAO,EAAE,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,KAAK;SACtC,CAAA;IACH,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAS,EACT,SAA+C,EAAE,EAClC,EAAE;IACjB,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC7C,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;AACnE,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAA;AAEnC;;;;;;;;;GASG;AACH,MAAM,WAAW,GAAG,CAAC,IAAS,EAAW,EAAE,CACzC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAA;AAE9C;;;;;;;GAOG;AACH,MAAM,oBAAoB,GAAG,CAAC,IAAS,EAAW,EAAE,CAClD,IAAI,EAAE,KAAK,KAAK,QAAQ,IAAI,IAAI,EAAE,KAAK,KAAK,QAAQ,IAAI,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;AAEhF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAS,EACT,OAAgC,EACtB,EAAE;IACZ,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,IAAI,CAAC,IAAI;QAAE,OAAO,GAAG,CAAA;IAErB,KAAK,MAAM,MAAM,IAAI,OAAO,IAAI,aAAa;QAC3C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;YAC7C,IAAI,IAAI,EAAE,UAAU,KAAK,aAAa;gBAAE,SAAQ;YAChD,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;gBAAE,SAAQ;YACzC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC;gBAAE,SAAQ;YAC9D,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACnB,CAAC;IAEH,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;AAC1B,CAAC,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAsB,EAAE,EAAE,CAAC;;;gBAG5C,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;QAItD,SAAS;QACT,eAAe;;;;CAItB,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,GAAsB,EACtB,YAAoB,iBAAiB,EAC3B,EAAE;IACZ,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;IAC/C,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI;QACvC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACxD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,MAAM,aAAa,GAAG,CAAC,IAAS,EAAW,EAAE,CAC3C,OAAO,CAAC,IAAI,CAAC;IACb,gBAAgB,IAAI,IAAI;IACxB,WAAW,IAAI,IAAI;IACnB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAA;AAEhC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAS,EAAE,KAAqB,EAAO,EAAE;IACnE,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IAEtB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAe,CAAA;IACnC,KAAK,MAAM,IAAI,IAAI,KAAK;QACtB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE;YAClC,IAAI,OAAO,IAAI,EAAE,EAAE,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC;gBACrD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAE7B,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAEhC,MAAM,GAAG,GAAQ,EAAE,GAAG,IAAI,EAAE,CAAA;IAC5B,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;QAC7B,IAAI,CAAC,QAAQ,EAAE,KAAK;YAAE,SAAQ;QAC9B,GAAG,CAAC,MAAM,CAAC,GAAG;YACZ,GAAG,QAAQ;YACX,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;gBACtC,MAAM,KAAK,GACT,OAAO,IAAI,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC9D,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;YAC7C,CAAC,CAAC;SACH,CAAA;IACH,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
1
+ {"version":3,"file":"inbox.js","sourceRoot":"","sources":["../src/inbox.ts"],"names":[],"mappings":"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"}
package/dist/pulse.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  export type PulseQueryOptions = {
2
2
  /** `owner/name`. Watches one repository, exactly as a scoped inbox reads it. */
3
3
  repo?: string;
4
+ /** `owner/name` repositories the pulse must not watch, as the inbox hides them. */
5
+ excludeRepos?: readonly string[];
4
6
  };
5
7
  /**
6
8
  * Build the pulse query.
@@ -1 +1 @@
1
- {"version":3,"file":"pulse.d.ts","sourceRoot":"","sources":["../src/pulse.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gFAAgF;IAChF,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,eAAe,GAAI,UAAS,iBAAsB,WAsB9D,CAAA;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,GAAG,KAAG,MAmB5C,CAAA"}
1
+ {"version":3,"file":"pulse.d.ts","sourceRoot":"","sources":["../src/pulse.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gFAAgF;IAChF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mFAAmF;IACnF,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACjC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,eAAe,GAAI,UAAS,iBAAsB,WAsB9D,CAAA;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,GAAG,KAAG,MAmB5C,CAAA"}
package/dist/pulse.js CHANGED
@@ -37,7 +37,7 @@ import { MY_PRS_LIMIT, inboxScope } from "./inbox.js";
37
37
  * pulse down before the budget runs dry rather than after.
38
38
  */
39
39
  export const buildPulseQuery = (options = {}) => {
40
- const { scope, owned } = inboxScope(options.repo);
40
+ const { scope, owned } = inboxScope(options.repo, options.excludeRepos);
41
41
  const latest = (alias, qualifiers) => ` ${alias}: search(query: "${scope}${qualifiers} sort:updated-desc", type: ISSUE, first: 1) {
42
42
  nodes { ... on Issue { updatedAt } ... on PullRequest { updatedAt } }
43
43
  }`;
package/dist/pulse.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pulse.js","sourceRoot":"","sources":["../src/pulse.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,EAAE;AACF,qFAAqF;AACrF,+EAA+E;AAC/E,2EAA2E;AAC3E,iFAAiF;AACjF,+EAA+E;AAC/E,8BAA8B;AAC9B,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,4EAA4E;AAE5E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAOrD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,UAA6B,EAAE,EAAE,EAAE;IACjE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,UAAkB,EAAE,EAAE,CACnD,KAAK,KAAK,oBAAoB,KAAK,GAAG,UAAU;;IAEhD,CAAA;IAEF,OAAO;;;EAGP,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC;EAClC,MAAM,CAAC,OAAO,EAAE,GAAG,KAAK,gBAAgB,CAAC,IAAI,EAAE,CAAC;EAChD,MAAM,CAAC,gBAAgB,EAAE,oCAAoC,CAAC;0BACtC,KAAK,kDAAkD,YAAY;;;;;;;;CAQ5F,CAAA;AACD,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,gBAAgB,CAAU,CAAA;AAE1E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAS,EAAU,EAAE;IACpD,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CACtC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE,CACtC;SACE,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;SACnC,MAAM,CAAC,CAAC,KAAc,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;SACtE,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;IAE1D,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;SACpC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;SAC9D,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,IAAI,EAAE,CAAA;QACjD,MAAM,MAAM,GACV,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAA;QAClE,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,EAAE,CAAA;IACnE,CAAC,CAAC;SACD,IAAI,EAAE,CAAA;IAET,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;AACtC,CAAC,CAAA"}
1
+ {"version":3,"file":"pulse.js","sourceRoot":"","sources":["../src/pulse.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,EAAE;AACF,qFAAqF;AACrF,+EAA+E;AAC/E,2EAA2E;AAC3E,iFAAiF;AACjF,+EAA+E;AAC/E,8BAA8B;AAC9B,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,4EAA4E;AAE5E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AASrD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,UAA6B,EAAE,EAAE,EAAE;IACjE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IACvE,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,UAAkB,EAAE,EAAE,CACnD,KAAK,KAAK,oBAAoB,KAAK,GAAG,UAAU;;IAEhD,CAAA;IAEF,OAAO;;;EAGP,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC;EAClC,MAAM,CAAC,OAAO,EAAE,GAAG,KAAK,gBAAgB,CAAC,IAAI,EAAE,CAAC;EAChD,MAAM,CAAC,gBAAgB,EAAE,oCAAoC,CAAC;0BACtC,KAAK,kDAAkD,YAAY;;;;;;;;CAQ5F,CAAA;AACD,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,gBAAgB,CAAU,CAAA;AAE1E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAS,EAAU,EAAE;IACpD,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CACtC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE,CACtC;SACE,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;SACnC,MAAM,CAAC,CAAC,KAAc,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;SACtE,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;IAE1D,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;SACpC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;SAC9D,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,IAAI,EAAE,CAAA;QACjD,MAAM,MAAM,GACV,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAA;QAClE,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,MAAM,EAAE,CAAA;IACnE,CAAC,CAAC;SACD,IAAI,EAAE,CAAA;IAET,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;AACtC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kud/gh",
3
- "version": "0.18.0",
3
+ "version": "0.20.0",
4
4
  "description": "Surface-agnostic GitHub core — gh CLI primitives, PR review comments, health, and webhook logic.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",