@kud/gh 0.12.2 → 0.13.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/health-fetch.d.ts.map +1 -1
- package/dist/health-fetch.js +5 -1
- package/dist/health-fetch.js.map +1 -1
- package/dist/health.d.ts +10 -0
- package/dist/health.d.ts.map +1 -1
- package/dist/health.js.map +1 -1
- package/dist/inbox.d.ts +43 -0
- package/dist/inbox.d.ts.map +1 -1
- package/dist/inbox.js +29 -9
- package/dist/inbox.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health-fetch.d.ts","sourceRoot":"","sources":["../src/health-fetch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI/C,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EACZ,QAAQ,MAAM,KACb,OAAO,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"health-fetch.d.ts","sourceRoot":"","sources":["../src/health-fetch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI/C,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EACZ,QAAQ,MAAM,KACb,OAAO,CAAC,YAAY,CAetB,CAAA"}
|
package/dist/health-fetch.js
CHANGED
|
@@ -9,7 +9,11 @@ export const fetchHealth = async (repo, number) => {
|
|
|
9
9
|
"--repo",
|
|
10
10
|
repo,
|
|
11
11
|
"--json",
|
|
12
|
-
|
|
12
|
+
// The last four are for the detail view's summary line rather than for
|
|
13
|
+
// health. They ride along because this call is already per-PR and on demand:
|
|
14
|
+
// adding field names to a `gh pr view` costs nothing measurable, where a
|
|
15
|
+
// second call would cost a round trip on every drill-in.
|
|
16
|
+
"statusCheckRollup,reviews,reviewDecision,mergeable,mergeStateStatus,author,additions,deletions,changedFiles,baseRefName",
|
|
13
17
|
]);
|
|
14
18
|
return JSON.parse(stdout);
|
|
15
19
|
};
|
package/dist/health-fetch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health-fetch.js","sourceRoot":"","sources":["../src/health-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAG7B,8EAA8E;AAC9E,2EAA2E;AAC3E,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,IAAY,EACZ,MAAc,EACS,EAAE;IACzB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE;QACnC,IAAI;QACJ,MAAM;QACN,MAAM,CAAC,MAAM,CAAC;QACd,QAAQ;QACR,IAAI;QACJ,QAAQ;QACR,
|
|
1
|
+
{"version":3,"file":"health-fetch.js","sourceRoot":"","sources":["../src/health-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAG7B,8EAA8E;AAC9E,2EAA2E;AAC3E,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,IAAY,EACZ,MAAc,EACS,EAAE;IACzB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE;QACnC,IAAI;QACJ,MAAM;QACN,MAAM,CAAC,MAAM,CAAC;QACd,QAAQ;QACR,IAAI;QACJ,QAAQ;QACR,uEAAuE;QACvE,6EAA6E;QAC7E,yEAAyE;QACzE,yDAAyD;QACzD,yHAAyH;KAC1H,CAAC,CAAA;IACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAiB,CAAA;AAC3C,CAAC,CAAA"}
|
package/dist/health.d.ts
CHANGED
|
@@ -25,6 +25,16 @@ export type PrHealthData = {
|
|
|
25
25
|
author: {
|
|
26
26
|
login: string;
|
|
27
27
|
} | null;
|
|
28
|
+
/**
|
|
29
|
+
* Size and target, for the detail view's summary line. Not health — the panel
|
|
30
|
+
* does not read them — but fetched here because this is already a per-PR,
|
|
31
|
+
* on-demand `gh pr view` and adding fields to it costs nothing against the
|
|
32
|
+
* inbox budget, where a second call would cost a round trip.
|
|
33
|
+
*/
|
|
34
|
+
additions?: number;
|
|
35
|
+
deletions?: number;
|
|
36
|
+
changedFiles?: number;
|
|
37
|
+
baseRefName?: string;
|
|
28
38
|
};
|
|
29
39
|
export declare const isFailCheck: (c: PrCheck) => boolean;
|
|
30
40
|
export declare const isPendingCheck: (c: PrCheck) => boolean;
|
package/dist/health.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../src/health.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../src/health.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,MAAM,GACd,SAAS,GACT,UAAU,GACV,aAAa,GACb,SAAS,GACT,SAAS,GACT,UAAU,GACV,SAAS,GACT,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,MAAM,CAAA;AAMV,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IAAE,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAI1E,MAAM,MAAM,YAAY,GAAG;IACzB,iBAAiB,EAAE,OAAO,EAAE,CAAA;IAC5B,OAAO,EAAE,QAAQ,EAAE,CAAA;IACnB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,MAAM,CAAA;IACxB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAChC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAiCD,eAAO,MAAM,WAAW,GAAI,GAAG,OAAO,KAAG,OAKpB,CAAA;AAErB,eAAO,MAAM,cAAc,GAAI,GAAG,OAAO,KAAG,OACS,CAAA;AAIrD,eAAO,MAAM,mBAAmB,GAAI,GAAG,OAAO,KAAG,OACI,CAAA;AAErD,eAAO,MAAM,WAAW,GAAI,GAAG,OAAO,KAAG,OAKf,CAAA;AAM1B,eAAO,MAAM,YAAY,GAAI,QAAQ,OAAO,EAAE,KAAG,OAAO,EAavD,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAE/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,OAAO,EAAE,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA;AAeD,eAAO,MAAM,aAAa,GAAI,OAAO,kBAAkB,KAAG,MAkBzD,CAAA"}
|
package/dist/health.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.js","sourceRoot":"","sources":["../src/health.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../src/health.ts"],"names":[],"mappings":"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"}
|
package/dist/inbox.d.ts
CHANGED
|
@@ -109,7 +109,50 @@ export type InboxQueryOptions = {
|
|
|
109
109
|
* reassembled.
|
|
110
110
|
*/
|
|
111
111
|
sources?: readonly InboxSource[];
|
|
112
|
+
/**
|
|
113
|
+
* Per-source overrides for `SOURCE_LIMITS`. Anything left out keeps its
|
|
114
|
+
* default, so this is purely additive and a caller that passes nothing gets
|
|
115
|
+
* exactly the query it got before.
|
|
116
|
+
*
|
|
117
|
+
* It exists because the cap and the SHAPE are one decision and were split
|
|
118
|
+
* across two scopes: `shape` is a per-call option and `SOURCE_LIMITS` is a
|
|
119
|
+
* module constant, so "ask for a hundred rows of the cheap fragment" — the one
|
|
120
|
+
* combination that answers — could not be spelled from outside this file.
|
|
121
|
+
*
|
|
122
|
+
* That combination is the whole point. Measured 2026-09-08 on a live account,
|
|
123
|
+
* `reviewRequests` against 99 matching rows:
|
|
124
|
+
*
|
|
125
|
+
* full first: 20 11 pts ~2s 200
|
|
126
|
+
* full first: 50 28 pts 7.9s 200
|
|
127
|
+
* full first: 100 — ~11s 502, twice
|
|
128
|
+
* minimal first: 100 1 pt 2.1s 200
|
|
129
|
+
*
|
|
130
|
+
* The 502 is the search timing out at GitHub's proxy rather than a node-count
|
|
131
|
+
* refusal — cutting the review-thread window by 65% still 502s at ~11s — so
|
|
132
|
+
* `first: 50` is the ceiling with a foot over the line, and a full fragment
|
|
133
|
+
* cannot reach 99 at any window. A two-tier fetch can: the full shape at the
|
|
134
|
+
* default cap for the rows that get a verdict, then `{ shape: "minimal",
|
|
135
|
+
* limits: { reviewRequests: 100 } }` for the rest.
|
|
136
|
+
*
|
|
137
|
+
* A caller doing that owes the overflow rows an honest verdict. A minimal row
|
|
138
|
+
* carries no health, and health absent is not health `waiting` — see
|
|
139
|
+
* `computeHealth`'s note on why this set is all-or-nothing, and
|
|
140
|
+
* `@kud/gh-workflow`'s `whoseMove`, which answers `unknown` rather than
|
|
141
|
+
* guessing.
|
|
142
|
+
*/
|
|
143
|
+
limits?: Partial<Record<InboxSource, number>>;
|
|
112
144
|
};
|
|
145
|
+
/**
|
|
146
|
+
* The cap each source will actually ask for, defaults merged with the caller's
|
|
147
|
+
* overrides.
|
|
148
|
+
*
|
|
149
|
+
* Floored and clamped to at least 1 rather than trusted: GitHub rejects
|
|
150
|
+
* `first: 0` and a fractional `first` outright, so a bad number would cost a
|
|
151
|
+
* whole query rather than a few rows. Capped at 100, the search API's own
|
|
152
|
+
* maximum, for the same reason — asking for 200 fails the document, it does not
|
|
153
|
+
* return 200.
|
|
154
|
+
*/
|
|
155
|
+
export declare const limitsFor: (options?: InboxQueryOptions) => Record<InboxSource, number>;
|
|
113
156
|
export declare const buildInboxQuery: (options?: InboxQueryOptions) => string;
|
|
114
157
|
/**
|
|
115
158
|
* How many sources to put in one request.
|
package/dist/inbox.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbox.d.ts","sourceRoot":"","sources":["../src/inbox.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;GAaG;AACH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,YAAY,KAAK,CAAA;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CASrD,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,CAAA;AAE3C,0EAA0E;AAC1E,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,gBAAgB,GAChB,UAAU,GACV,UAAU,GACV,YAAY,GACZ,gBAAgB,GAChB,SAAS,GACT,cAAc,CAAA;AAElB,oEAAoE;AACpE,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAS/C,CAAA;AAED,2CAA2C;AAC3C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"inbox.d.ts","sourceRoot":"","sources":["../src/inbox.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;GAaG;AACH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,YAAY,KAAK,CAAA;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CASrD,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,CAAA;AAE3C,0EAA0E;AAC1E,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,gBAAgB,GAChB,UAAU,GACV,UAAU,GACV,YAAY,GACZ,gBAAgB,GAChB,SAAS,GACT,cAAc,CAAA;AAElB,oEAAoE;AACpE,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAS/C,CAAA;AAED,2CAA2C;AAC3C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;IAChC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA;CAC9C,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,GACpB,UAAS,iBAAsB,KAC9B,MAAM,CAAC,WAAW,EAAE,MAAM,CAQ5B,CAAA;AAgSD,eAAO,MAAM,eAAe,GAAI,UAAS,iBAAsB,WAsB9D,CAAA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAA;AAExC;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAC5B,UAAS,iBAAiB,GAAG;IAAE,eAAe,CAAC,EAAE,MAAM,CAAA;CAAO,KAC7D,MAAM,EAYR,CAAA;AASD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,GAAG,EAAE,KAAG,GA8B7C,CAAA;AAED,oEAAoE;AACpE,MAAM,MAAM,cAAc,GAAG;IAC3B,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAA;IACb,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAA;IACb,sEAAsE;IACtE,SAAS,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,GAAG,KACR,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAc7C,CAAA;AAED,+DAA+D;AAC/D,eAAO,MAAM,gBAAgB,GAAI,MAAM,GAAG,KAAG,WAAW,EACmB,CAAA"}
|
package/dist/inbox.js
CHANGED
|
@@ -109,6 +109,25 @@ export const INBOX_SOURCES = [
|
|
|
109
109
|
"repoPRs",
|
|
110
110
|
"recentlyDone",
|
|
111
111
|
];
|
|
112
|
+
/**
|
|
113
|
+
* The cap each source will actually ask for, defaults merged with the caller's
|
|
114
|
+
* overrides.
|
|
115
|
+
*
|
|
116
|
+
* Floored and clamped to at least 1 rather than trusted: GitHub rejects
|
|
117
|
+
* `first: 0` and a fractional `first` outright, so a bad number would cost a
|
|
118
|
+
* whole query rather than a few rows. Capped at 100, the search API's own
|
|
119
|
+
* maximum, for the same reason — asking for 200 fails the document, it does not
|
|
120
|
+
* return 200.
|
|
121
|
+
*/
|
|
122
|
+
export const limitsFor = (options = {}) => {
|
|
123
|
+
const merged = { ...SOURCE_LIMITS };
|
|
124
|
+
for (const source of INBOX_SOURCES) {
|
|
125
|
+
const asked = options.limits?.[source];
|
|
126
|
+
if (typeof asked === "number" && Number.isFinite(asked))
|
|
127
|
+
merged[source] = Math.min(100, Math.max(1, Math.trunc(asked)));
|
|
128
|
+
}
|
|
129
|
+
return merged;
|
|
130
|
+
};
|
|
112
131
|
// computeHealth's precedence needs reviewDecision, mergeable and the check
|
|
113
132
|
// rollup. A fragment that omits them does NOT degrade gracefully — it falls
|
|
114
133
|
// straight through to whatever token is left, so a PR you already sent back
|
|
@@ -185,7 +204,7 @@ const sinceDay = (days) => new Date(Date.now() - days * 86400 * 1000).toISOStrin
|
|
|
185
204
|
* appears in the document.
|
|
186
205
|
*/
|
|
187
206
|
const SOURCES = {
|
|
188
|
-
myPRs: ({ scope, health, conversation,
|
|
207
|
+
myPRs: ({ scope, health, conversation }, first) => ` myPRs: search(query: "${scope}is:pr is:open author:@me", type: ISSUE, first: ${first}) {
|
|
189
208
|
issueCount
|
|
190
209
|
nodes { __typename ... on PullRequest {
|
|
191
210
|
number title createdAt url headRefName isDraft
|
|
@@ -195,7 +214,7 @@ const SOURCES = {
|
|
|
195
214
|
${conversation}
|
|
196
215
|
}}
|
|
197
216
|
}`,
|
|
198
|
-
reviewRequests: ({ scope, health, conversation,
|
|
217
|
+
reviewRequests: ({ scope, health, conversation }, first) => ` reviewRequests: search(query: "${scope}is:pr is:open review-requested:@me", type: ISSUE, first: ${first}) {
|
|
199
218
|
issueCount
|
|
200
219
|
nodes { __typename ... on PullRequest {
|
|
201
220
|
number title createdAt url headRefName isDraft
|
|
@@ -205,7 +224,7 @@ const SOURCES = {
|
|
|
205
224
|
${conversation}
|
|
206
225
|
}}
|
|
207
226
|
}`,
|
|
208
|
-
reviewed: ({ scope, health, conversation,
|
|
227
|
+
reviewed: ({ scope, health, conversation }, first) => ` reviewed: search(query: "${scope}is:pr is:open reviewed-by:@me -author:@me -review-requested:@me", type: ISSUE, first: ${first}) {
|
|
209
228
|
issueCount
|
|
210
229
|
nodes { __typename ... on PullRequest {
|
|
211
230
|
number title createdAt url headRefName isDraft
|
|
@@ -215,7 +234,7 @@ const SOURCES = {
|
|
|
215
234
|
${conversation}
|
|
216
235
|
}}
|
|
217
236
|
}`,
|
|
218
|
-
assigned: ({ scope, health, conversation, issueConversation, issueLabels,
|
|
237
|
+
assigned: ({ scope, health, conversation, issueConversation, issueLabels }, first) => ` assigned: search(query: "${scope}is:open assignee:@me", type: ISSUE, first: ${first}) {
|
|
219
238
|
issueCount
|
|
220
239
|
nodes {
|
|
221
240
|
__typename
|
|
@@ -231,7 +250,7 @@ const SOURCES = {
|
|
|
231
250
|
}
|
|
232
251
|
}
|
|
233
252
|
}`,
|
|
234
|
-
repoIssues: ({ scope, owned, issueConversation, issueLabels,
|
|
253
|
+
repoIssues: ({ scope, owned, issueConversation, issueLabels }, first) => ` repoIssues: search(query: "${scope}${owned}is:issue is:open archived:false", type: ISSUE, first: ${first}) {
|
|
235
254
|
issueCount
|
|
236
255
|
nodes { __typename ... on Issue {
|
|
237
256
|
number title createdAt url
|
|
@@ -269,7 +288,7 @@ const SOURCES = {
|
|
|
269
288
|
* source that claims before it. Measure the overlap instead and you are
|
|
270
289
|
* carrying a second fact that rots silently.
|
|
271
290
|
*/
|
|
272
|
-
authoredIssues: ({ scope, issueConversation, issueLabels,
|
|
291
|
+
authoredIssues: ({ scope, issueConversation, issueLabels }, first) => ` authoredIssues: search(query: "${scope}is:issue is:open author:@me -user:@me archived:false", type: ISSUE, first: ${first}) {
|
|
273
292
|
issueCount
|
|
274
293
|
nodes { ... on Issue {
|
|
275
294
|
number title createdAt url
|
|
@@ -279,7 +298,7 @@ const SOURCES = {
|
|
|
279
298
|
${issueLabels}
|
|
280
299
|
}}
|
|
281
300
|
}`,
|
|
282
|
-
repoPRs: ({ scope, owned, health, conversation,
|
|
301
|
+
repoPRs: ({ scope, owned, health, conversation }, first) => ` repoPRs: search(query: "${scope}${owned}is:pr is:open -author:@me archived:false", type: ISSUE, first: ${first}) {
|
|
283
302
|
issueCount
|
|
284
303
|
nodes { __typename ... on PullRequest {
|
|
285
304
|
number title createdAt url headRefName isDraft
|
|
@@ -289,7 +308,7 @@ const SOURCES = {
|
|
|
289
308
|
${conversation}
|
|
290
309
|
}}
|
|
291
310
|
}`,
|
|
292
|
-
recentlyDone: ({ scope, doneSince,
|
|
311
|
+
recentlyDone: ({ scope, doneSince }, first) => ` recentlyDone: search(query: "${scope}is:pr author:@me -is:open closed:>=${doneSince}", type: ISSUE, first: ${first}) {
|
|
293
312
|
issueCount
|
|
294
313
|
nodes { __typename ... on PullRequest {
|
|
295
314
|
number title state isDraft createdAt mergedAt closedAt url
|
|
@@ -343,6 +362,7 @@ const sourcesFor = (options) => {
|
|
|
343
362
|
export const buildInboxQuery = (options = {}) => {
|
|
344
363
|
const selections = selectionsFor(options);
|
|
345
364
|
const sources = sourcesFor(options);
|
|
365
|
+
const limits = limitsFor(options);
|
|
346
366
|
/*
|
|
347
367
|
* `rateLimit` is free — it does not count against itself — and it is the only
|
|
348
368
|
* authoritative source for what this query costs. Every estimate made about
|
|
@@ -357,7 +377,7 @@ export const buildInboxQuery = (options = {}) => {
|
|
|
357
377
|
{
|
|
358
378
|
rateLimit { cost nodeCount remaining resetAt }
|
|
359
379
|
viewer { login }
|
|
360
|
-
${sources.map((source) => SOURCES[source](selections)).join("\n")}
|
|
380
|
+
${sources.map((source) => SOURCES[source](selections, limits[source])).join("\n")}
|
|
361
381
|
}
|
|
362
382
|
`;
|
|
363
383
|
};
|
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;
|
|
1
|
+
{"version":3,"file":"inbox.js","sourceRoot":"","sources":["../src/inbox.ts"],"names":[],"mappings":"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"}
|