@kud/gh 0.16.0 → 0.17.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
@@ -6,19 +6,22 @@
6
6
  * title, url, draft, timestamp, repo.
7
7
  *
8
8
  * This is a cost axis, not a taste one. Measured against GitHub's own
9
- * `rateLimit { cost }`: the full query costs **73 points** of a 5000/hour
10
- * budget, at a nodeCount of ~16,870 — because `statusCheckRollup.contexts`
11
- * appears in five PR fragments and `reviewThreads(first: 50)` multiplies
12
- * beneath each one. A caller that renders a title and a link was paying for
13
- * every check run on every open PR.
9
+ * `rateLimit { cost }` while the review-thread window was still `first: 50`:
10
+ * the full query cost **73 points** of a 5000/hour budget, at a nodeCount of
11
+ * ~16,870 — because `statusCheckRollup.contexts` appears in five PR fragments
12
+ * and `reviewThreads` multiplies beneath each one. A caller that renders a
13
+ * title and a link was paying for every check run on every open PR. That
14
+ * window is `last: 20` now and the same document measures 54 points, but the
15
+ * axis is unchanged: the multiplication is what `minimal` exists to drop.
14
16
  */
15
17
  /**
16
18
  * How many of your own open PRs to ask for.
17
19
  *
18
20
  * This is the single biggest lever on the query's cost, because connections
19
- * MULTIPLY: the health and conversation fragments hang ~80 nodes off each PR
20
- * (`reviewThreads(first: 50)`, `statusCheckRollup.contexts(first: 20)`,
21
- * `labels(first: 10)`), so the outer number is a multiplier on all of them.
21
+ * MULTIPLY: the health and conversation fragments hang ~60 nodes off each PR
22
+ * (`reviewThreads(last: 20)` at two nodes a thread,
23
+ * `statusCheckRollup.contexts(first: 20)`, `labels(first: 10)`), so the outer
24
+ * number is a multiplier on all of them.
22
25
  * GitHub scores a call by the nodes it could return, not by how many calls you
23
26
  * make — which is why splitting the query across requests costs the same, and
24
27
  * this saves a lot.
@@ -52,8 +55,8 @@ export declare const MY_PRS_LIMIT = 30;
52
55
  * THE NUMBERS ARE NOT ONE NUMBER, because a row is not one weight. 30 was set
53
56
  * for PULL REQUESTS and the issue sources inherited it, which is how a cap sized
54
57
  * against `reviewThreads(first: 50)` came to govern a row carrying
55
- * `comments(last: 1)` and ten labels. A PR drags roughly 80 nested nodes; an
56
- * issue drags about 12.
58
+ * `comments(last: 1)` and ten labels. A PR drags roughly 60 nested nodes — it
59
+ * was 80 while the thread window was `first: 50`; an issue drags about 12.
57
60
  *
58
61
  * Measured 2026-09-07, same account, same selections that actually ship:
59
62
  *
@@ -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
@@ -13,19 +13,22 @@
13
13
  * title, url, draft, timestamp, repo.
14
14
  *
15
15
  * This is a cost axis, not a taste one. Measured against GitHub's own
16
- * `rateLimit { cost }`: the full query costs **73 points** of a 5000/hour
17
- * budget, at a nodeCount of ~16,870 — because `statusCheckRollup.contexts`
18
- * appears in five PR fragments and `reviewThreads(first: 50)` multiplies
19
- * beneath each one. A caller that renders a title and a link was paying for
20
- * every check run on every open PR.
16
+ * `rateLimit { cost }` while the review-thread window was still `first: 50`:
17
+ * the full query cost **73 points** of a 5000/hour budget, at a nodeCount of
18
+ * ~16,870 — because `statusCheckRollup.contexts` appears in five PR fragments
19
+ * and `reviewThreads` multiplies beneath each one. A caller that renders a
20
+ * title and a link was paying for every check run on every open PR. That
21
+ * window is `last: 20` now and the same document measures 54 points, but the
22
+ * axis is unchanged: the multiplication is what `minimal` exists to drop.
21
23
  */
22
24
  /**
23
25
  * How many of your own open PRs to ask for.
24
26
  *
25
27
  * This is the single biggest lever on the query's cost, because connections
26
- * MULTIPLY: the health and conversation fragments hang ~80 nodes off each PR
27
- * (`reviewThreads(first: 50)`, `statusCheckRollup.contexts(first: 20)`,
28
- * `labels(first: 10)`), so the outer number is a multiplier on all of them.
28
+ * MULTIPLY: the health and conversation fragments hang ~60 nodes off each PR
29
+ * (`reviewThreads(last: 20)` at two nodes a thread,
30
+ * `statusCheckRollup.contexts(first: 20)`, `labels(first: 10)`), so the outer
31
+ * number is a multiplier on all of them.
29
32
  * GitHub scores a call by the nodes it could return, not by how many calls you
30
33
  * make — which is why splitting the query across requests costs the same, and
31
34
  * this saves a lot.
@@ -59,8 +62,8 @@ export const MY_PRS_LIMIT = 30;
59
62
  * THE NUMBERS ARE NOT ONE NUMBER, because a row is not one weight. 30 was set
60
63
  * for PULL REQUESTS and the issue sources inherited it, which is how a cap sized
61
64
  * against `reviewThreads(first: 50)` came to govern a row carrying
62
- * `comments(last: 1)` and ten labels. A PR drags roughly 80 nested nodes; an
63
- * issue drags about 12.
65
+ * `comments(last: 1)` and ten labels. A PR drags roughly 60 nested nodes — it
66
+ * was 80 while the thread window was `first: 50`; an issue drags about 12.
64
67
  *
65
68
  * Measured 2026-09-07, same account, same selections that actually ship:
66
69
  *
@@ -194,13 +197,82 @@ const PR_SIZE = `
194
197
  // differently and have to be. On the last comment it can only speak for that
195
198
  // comment, so a newer one undoes it; on the PR it speaks for the PR, where no
196
199
  // later comment should quietly erase it. Thread comments get neither:
197
- // `reviewThreads` is already `first: 50`, and eight more fields fifty times over
198
- // is exactly the multiplication the budget note above exists to prevent.
200
+ // `reviewThreads` is a window on every PR source at once, and eight more fields
201
+ // ten times over is exactly the multiplication the budget note above exists to
202
+ // prevent.
203
+ //
204
+ // THE WINDOW IS THE DOMINANT COST ON EVERY PR-BEARING SOURCE, because it
205
+ // multiplies beneath five searches at once. It was `first: 50` because fifty is
206
+ // a round number, and nothing measured what a PR actually carries. Measured
207
+ // 2026-09-09 on a live account, the whole inbox query, same selections that
208
+ // ship:
209
+ //
210
+ // reviewThreads(first: 50) cost 114 27,230 nodes
211
+ // reviewThreads(first: 20) cost 54 15,230 nodes
212
+ // reviewThreads(first: 10) cost 34 11,230 nodes
213
+ //
214
+ // Against 5,000 points an hour that is 44 loads versus 147. And the data never
215
+ // justified fifty: across 13 PR rows on that account the deepest carried TWO
216
+ // threads and the median carried none — nothing above ten, on either PR source.
217
+ //
218
+ // The anchor is free. Measured 2026-09-15 on `myPRs` with the shipping
219
+ // selection, `first: 20` and `last: 20` both cost 8 points at 1,950 nodes — the
220
+ // window is the same size whichever end it is taken from, so nothing about the
221
+ // fix below needs the narrowing to pay for it.
222
+ //
223
+ // `totalCount` is what makes narrowing safe rather than merely cheap. A window
224
+ // smaller than the world is the same trap `sourceCoverage` exists for one level
225
+ // up, and the scalar costs nothing: a consumer comparing it against
226
+ // `nodes.length` knows whether it is holding the threads or a sample of them,
227
+ // instead of counting what came back and calling that the total. Note the
228
+ // coverage it buys is on the COUNT — `isResolved` beyond the window is still
229
+ // unseen, so a PR carrying twenty-one threads can still under-report unresolved
230
+ // ones to `computeHealth`. `totalCount` counts resolved and unresolved alike and
231
+ // GitHub offers no `isResolved` argument, so `unresolvedThreads` is permanently
232
+ // a sample; the honest stopping point is a window plus an honest sample size,
233
+ // never an "N unresolved" claim built on a windowed count.
234
+ //
235
+ // `last`, NOT `first`, AND THIS IS A BUG FIX RATHER THAN A PREFERENCE. A Relay
236
+ // connection's `first` returns the OLDEST N. Verified on `kud/ambre#69`, which
237
+ // carried 67 review threads and was open for 11 days (2025-08-12 → merged
238
+ // 2025-08-23): `reviewThreads(first: 3)` returns threads first commented on at
239
+ // 2025-08-12T23:44, while `last: 3` returns 2025-08-20 and 2025-08-23. So all
240
+ // the time that PR sat in the inbox, a `first: 50` window handed the mapper the
241
+ // oldest 50 and dropped the newest 17 — and its `last: 10` window alone carries
242
+ // 8 unresolved threads.
243
+ //
244
+ // Both readers in `@kud/gh-workflow`'s `map.ts` were wrong, in different
245
+ // directions and both unsafe:
246
+ //
247
+ // • `conversationOf` builds `lastEventAt` as a max over thread comment times,
248
+ // so the whose-move CLOCK read stale by days on exactly the PRs with live
249
+ // discussion.
250
+ // • `computeHealth` tests `unresolvedThreads > 0`. Threads get RESOLVED over
251
+ // time, so anchoring at `first` systematically samples the end of a PR most
252
+ // likely to be already resolved — the token fell through to `waiting` or
253
+ // `approved` and the row read CLEAR while a reviewer was waiting. A false
254
+ // `threads` costs a glance; a false clear costs a missed review.
255
+ //
256
+ // `last` biases both the other way, which is the right way, and costs exactly
257
+ // what `first` costs at the same N.
258
+ //
259
+ // TWENTY, NOT TEN, and the measured distribution does not decide this — at the
260
+ // deepest-carried TWO threads above, 10 and 20 are both complete for every row
261
+ // in the inbox, so the choice is not paid for by that table. What pays for it is
262
+ // ambre#69: 67 threads is the only evidence anyone holds of what a BUSY PR looks
263
+ // like, and a quiet week is not a ceiling. The margin is spent on the two
264
+ // readers that are not the health token — `conversationOf` sums
265
+ // `comments.totalCount` across the window, and `detailOf` reports numbers a
266
+ // human reads. 50→20 removes 1,800 nodes; 20→10 removes another 600, so the win
267
+ // is banked at 20 and the last step buys three points for the only headroom
268
+ // there is against the next PR that gets busy. The budget note above already
269
+ // made this argument for the row caps: against 5,000 points an hour with a
270
+ // 10-minute cache, what actually fails is wall clock at the proxy, not cost.
199
271
  const PR_CONVERSATION = `
200
272
  reactionGroups { content viewerHasReacted }
201
273
  comments(last: 1) { totalCount nodes { author { __typename login } createdAt reactionGroups { content viewerHasReacted } } }
202
274
  reviews(last: 1) { nodes { author { __typename login } state submittedAt } }
203
- reviewThreads(first: 50) { nodes {
275
+ reviewThreads(last: 20) { totalCount nodes {
204
276
  isResolved
205
277
  comments(last: 1) { totalCount nodes { author { __typename login } createdAt } }
206
278
  } }
@@ -396,7 +468,8 @@ export const buildInboxQuery = (options = {}) => {
396
468
  * that on 2026-08-14 was wrong, one of them by 25x, because GraphQL cost is
397
469
  * node-count based and nested connections multiply: `reviewThreads(first: 50)`
398
470
  * beneath `search(first: 100)` is 5,000 nodes from two lines of query text. A
399
- * package handing out a 73-point query should hand out the means to see it.
471
+ * package handing out a query costing tens of points should hand out the
472
+ * means to see it — and it is what proved the window narrowing worked.
400
473
  *
401
474
  * (GraphQL has no block comments, only `#`, so this note lives out here.)
402
475
  */
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;;;;;;;;;;;;;GAaG;AACH;;;;;;;;;;;;;;;;;;;;GAoBG;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,iFAAiF;AACjF,yEAAyE;AACzE,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,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,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE;QAClC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;QAC9B,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;;;;;;;;;OASG;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/index.d.ts CHANGED
@@ -6,4 +6,5 @@ export * from "./health.js";
6
6
  export * from "./actions.js";
7
7
  export * from "./webhook.js";
8
8
  export * from "./health-fetch.js";
9
+ export * from "./repo.js";
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA"}
package/dist/index.js CHANGED
@@ -19,4 +19,5 @@ export * from "./health.js";
19
19
  export * from "./actions.js";
20
20
  export * from "./webhook.js";
21
21
  export * from "./health-fetch.js";
22
+ export * from "./repo.js";
22
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,iFAAiF;AACjF,2EAA2E;AAC3E,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,+EAA+E;AAC/E,4EAA4E;AAC5E,gFAAgF;AAChF,iFAAiF;AACjF,mFAAmF;AACnF,2EAA2E;AAC3E,aAAa;AACb,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,iFAAiF;AACjF,2EAA2E;AAC3E,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,+EAA+E;AAC/E,4EAA4E;AAC5E,gFAAgF;AAChF,iFAAiF;AACjF,mFAAmF;AACnF,2EAA2E;AAC3E,aAAa;AACb,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA"}
package/dist/repo.d.ts ADDED
@@ -0,0 +1,16 @@
1
+ /**
2
+ * The repo's default branch. `undefined` when the repo genuinely has none.
3
+ *
4
+ * THROWS RATHER THAN SWALLOWING, and the two outcomes have to stay apart. A
5
+ * consumer suppressing something on a match reads `undefined` as *draw it
6
+ * anyway* — so a failed call resolving to `undefined` would be read as "this
7
+ * repo has no default branch" and redraw a cell that had been correctly
8
+ * suppressed. Against a caller that revalidates on every mount, that is a
9
+ * single network blip flickering the cell back on.
10
+ *
11
+ * Throwing instead lets a caching caller keep the stale-but-good value it
12
+ * already has. The split is: ANSWERED, NO DEFAULT → `undefined`; DID NOT ANSWER
13
+ * → throw, keep what you had.
14
+ */
15
+ export declare const fetchDefaultBranch: (repo: string) => Promise<string | undefined>;
16
+ //# sourceMappingURL=repo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo.d.ts","sourceRoot":"","sources":["../src/repo.ts"],"names":[],"mappings":"AA6BA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,MAAM,KACX,OAAO,CAAC,MAAM,GAAG,SAAS,CAY5B,CAAA"}
package/dist/repo.js ADDED
@@ -0,0 +1,54 @@
1
+ import { execa } from "execa";
2
+ // Repository metadata — facts about the repo rather than about anything in it.
3
+ //
4
+ // Separate from `health-fetch.ts` on purpose, and the comment above the
5
+ // projection there is the reason. That one boasts that `additions`,
6
+ // `deletions`, `changedFiles` and `baseRefName` ride along on a call already in
7
+ // flight rather than costing a round trip, which is true and is exactly the
8
+ // argument a later reader will try to extend to the default branch. It does not
9
+ // extend, for two reasons:
10
+ //
11
+ // • `gh pr view --json` HAS NO DEFAULT-BRANCH FIELD. Checked against the live
12
+ // field list on gh 2.100.0: the projection carries `baseRefName`,
13
+ // `headRefName`, `headRepository`, `headRepositoryOwner` and
14
+ // `isCrossRepository`, and nothing naming the repo's own default. Tidying
15
+ // this call into that projection does not make it cheaper, it makes it
16
+ // return nothing.
17
+ // • It is a PER-REPO fact, so it caches on a different key from anything
18
+ // per-PR. Folding it into a per-PR call would re-fetch an unchanging fact
19
+ // once per pull request.
20
+ //
21
+ // No memo here. This package is request-in / data-out with no module state, and
22
+ // the caller that wants one has a session to hang it on — cockpit keys it by
23
+ // repo through `useCachedResource`, which paints the last known answer from disk
24
+ // immediately and revalidates behind it. So the cost is one concurrent call per
25
+ // drill-in, not one per repo per session; what the cache buys is that nobody
26
+ // ever waits for it, and that a repo renaming its default branch heals itself.
27
+ // A `Map` at module scope would be the first mutable state in the package and
28
+ // would leak between tests in the same file.
29
+ /**
30
+ * The repo's default branch. `undefined` when the repo genuinely has none.
31
+ *
32
+ * THROWS RATHER THAN SWALLOWING, and the two outcomes have to stay apart. A
33
+ * consumer suppressing something on a match reads `undefined` as *draw it
34
+ * anyway* — so a failed call resolving to `undefined` would be read as "this
35
+ * repo has no default branch" and redraw a cell that had been correctly
36
+ * suppressed. Against a caller that revalidates on every mount, that is a
37
+ * single network blip flickering the cell back on.
38
+ *
39
+ * Throwing instead lets a caching caller keep the stale-but-good value it
40
+ * already has. The split is: ANSWERED, NO DEFAULT → `undefined`; DID NOT ANSWER
41
+ * → throw, keep what you had.
42
+ */
43
+ export const fetchDefaultBranch = async (repo) => {
44
+ const { stdout } = await execa("gh", [
45
+ "repo",
46
+ "view",
47
+ repo,
48
+ "--json",
49
+ "defaultBranchRef",
50
+ ]);
51
+ return (JSON.parse(stdout)
52
+ .defaultBranchRef?.name ?? undefined);
53
+ };
54
+ //# sourceMappingURL=repo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo.js","sourceRoot":"","sources":["../src/repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAE7B,+EAA+E;AAC/E,EAAE;AACF,wEAAwE;AACxE,oEAAoE;AACpE,gFAAgF;AAChF,4EAA4E;AAC5E,gFAAgF;AAChF,2BAA2B;AAC3B,EAAE;AACF,gFAAgF;AAChF,sEAAsE;AACtE,iEAAiE;AACjE,8EAA8E;AAC9E,2EAA2E;AAC3E,sBAAsB;AACtB,2EAA2E;AAC3E,8EAA8E;AAC9E,6BAA6B;AAC7B,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,iFAAiF;AACjF,gFAAgF;AAChF,6EAA6E;AAC7E,+EAA+E;AAC/E,8EAA8E;AAC9E,6CAA6C;AAC7C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,IAAY,EACiB,EAAE;IAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE;QACnC,MAAM;QACN,MAAM;QACN,IAAI;QACJ,QAAQ;QACR,kBAAkB;KACnB,CAAC,CAAA;IACF,OAAO,CACJ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAqD;SACpE,gBAAgB,EAAE,IAAI,IAAI,SAAS,CACvC,CAAA;AACH,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kud/gh",
3
- "version": "0.16.0",
3
+ "version": "0.17.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",