@usine/github 0.1.2 → 0.2.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.
Files changed (71) hide show
  1. package/README.md +31 -55
  2. package/dist/access.d.ts +30 -8
  3. package/dist/access.d.ts.map +1 -1
  4. package/dist/access.js +31 -8
  5. package/dist/access.js.map +1 -1
  6. package/dist/credentials.d.ts +6 -6
  7. package/dist/credentials.d.ts.map +1 -1
  8. package/dist/credentials.js +6 -6
  9. package/dist/credentials.js.map +1 -1
  10. package/dist/error.d.ts +28 -10
  11. package/dist/error.d.ts.map +1 -1
  12. package/dist/error.js +32 -7
  13. package/dist/error.js.map +1 -1
  14. package/dist/github-app.d.ts +12 -9
  15. package/dist/github-app.d.ts.map +1 -1
  16. package/dist/github-app.js +43 -29
  17. package/dist/github-app.js.map +1 -1
  18. package/dist/graphql.d.ts +11 -0
  19. package/dist/graphql.d.ts.map +1 -0
  20. package/dist/graphql.js +47 -0
  21. package/dist/graphql.js.map +1 -0
  22. package/dist/http.d.ts +9 -3
  23. package/dist/http.d.ts.map +1 -1
  24. package/dist/http.js +26 -8
  25. package/dist/http.js.map +1 -1
  26. package/dist/installation.d.ts +17 -9
  27. package/dist/installation.d.ts.map +1 -1
  28. package/dist/installation.js +17 -9
  29. package/dist/installation.js.map +1 -1
  30. package/dist/item-history.d.ts +57 -0
  31. package/dist/item-history.d.ts.map +1 -0
  32. package/dist/item-history.js +190 -0
  33. package/dist/item-history.js.map +1 -0
  34. package/dist/item-writer.d.ts +2 -2
  35. package/dist/item-writer.d.ts.map +1 -1
  36. package/dist/item-writer.js +1 -1
  37. package/dist/item-writer.js.map +1 -1
  38. package/dist/jwt.d.ts +3 -3
  39. package/dist/jwt.d.ts.map +1 -1
  40. package/dist/jwt.js +4 -4
  41. package/dist/jwt.js.map +1 -1
  42. package/dist/label-writer.d.ts +2 -2
  43. package/dist/label-writer.d.ts.map +1 -1
  44. package/dist/label-writer.js +2 -2
  45. package/dist/label-writer.js.map +1 -1
  46. package/dist/local-secrets.d.ts +2 -2
  47. package/dist/local-secrets.d.ts.map +1 -1
  48. package/dist/local-secrets.js +6 -6
  49. package/dist/local-secrets.js.map +1 -1
  50. package/dist/polling/content.js +2 -2
  51. package/dist/polling/detection.d.ts +9 -9
  52. package/dist/polling/detection.d.ts.map +1 -1
  53. package/dist/polling/detection.js +9 -9
  54. package/dist/polling/detection.js.map +1 -1
  55. package/dist/polling/labels.d.ts +5 -5
  56. package/dist/polling/labels.d.ts.map +1 -1
  57. package/dist/polling/labels.js +5 -5
  58. package/dist/polling/labels.js.map +1 -1
  59. package/dist/polling/payload.d.ts +10 -6
  60. package/dist/polling/payload.d.ts.map +1 -1
  61. package/dist/polling/payload.js +15 -11
  62. package/dist/polling/payload.js.map +1 -1
  63. package/dist/polling/polling.d.ts +18 -6
  64. package/dist/polling/polling.d.ts.map +1 -1
  65. package/dist/polling/polling.js +59 -52
  66. package/dist/polling/polling.js.map +1 -1
  67. package/dist/polling/queries.d.ts +6 -1
  68. package/dist/polling/queries.d.ts.map +1 -1
  69. package/dist/polling/queries.js +16 -0
  70. package/dist/polling/queries.js.map +1 -1
  71. package/package.json +8 -3
@@ -1,22 +1,24 @@
1
1
  import { canonicalContent } from "./content.js";
2
+ import { ItemNumber } from "@usine/core/item";
2
3
  import { RepositoryName, splitRepositoryName } from "@usine/core/repository";
3
- import { Clock, Context, Crypto, DateTime, Effect, Layer, Option, Schema } from "effect";
4
+ import { Array as Arr, Clock, Context, Crypto, DateTime, Effect, Layer, Option, Schema, } from "effect";
4
5
  import { HttpClient, HttpClientRequest, HttpClientResponse } from "effect/unstable/http";
5
6
  import { GitHubApp } from "../github-app.js";
6
- import { API_ROOT, authorized, invalidResponse, pollIntervalMillis, rateLimitResetMillis, rateLimitRetryEpoch, retryAfterMillis, statusError, transportError, } from "../http.js";
7
- import { GitHubRateLimitError } from "../error.js";
7
+ import { queryGraphql } from "../graphql.js";
8
+ import { API_ROOT, authorized, invalidResponse, pollIntervalMillis, rateLimitResetMillis, retryAfterMillis, statusError, transportError, } from "../http.js";
9
+ import { GitHubItemNotFoundError } from "../error.js";
8
10
  import { ChangedIssue, ChangedPullRequest, EntityTag, PollCursor, RepositoryChanges, RepositoryNotModified, } from "./detection.js";
9
11
  import { ContentHash, IssuePayload, IssueSnapshot, PullRequestPayload, PullRequestSnapshot, } from "./payload.js";
10
12
  import { RepositoryLabel, RepositoryLabelCatalog, RepositoryLabelColor, RepositoryLabelsNotModified, RepositoryLabelName, } from "./labels.js";
11
- import { ISSUE_PAYLOAD_QUERY, PULL_REQUEST_PAYLOAD_QUERY } from "./queries.js";
13
+ import { ISSUE_PAYLOAD_QUERY, PULL_REQUEST_PAYLOAD_QUERY, issuesPresentQuery } from "./queries.js";
12
14
  const WATERMARK_OVERLAP_MS = 5_000;
13
15
  const RATE_LIMIT_PRESSURE_THRESHOLD = 100;
14
- /** Caps one cycle's REST walk. The watermark resumes the remainder next cycle. */
16
+ /** The maximum REST pages per cycle; the watermark resumes the rest next cycle. */
15
17
  const MAX_CHANGE_PAGES = 10;
16
- /** Caps one repository's label walk so a pathological catalog cannot run unbounded. */
18
+ /** The maximum label pages per repository. */
17
19
  const MAX_LABEL_PAGES = 100;
18
- /** GraphQL rate limiting sometimes omits reset headers. Wait at least this long then. */
19
- const GRAPHQL_RATE_LIMIT_FALLBACK_MS = 60_000;
20
+ /** The number of issue numbers per `missingIssues` GraphQL request. */
21
+ const ISSUES_PER_PRESENCE_CHECK = 50;
20
22
  const RestChangedItem = Schema.Struct({
21
23
  number: Schema.Int.check(Schema.isGreaterThanOrEqualTo(1)),
22
24
  updatedAt: Schema.DateTimeUtcFromString,
@@ -29,20 +31,17 @@ const RestRepositoryLabels = Schema.Array(Schema.Struct({
29
31
  description: Schema.NullOr(Schema.String),
30
32
  }));
31
33
  const catalogLabel = ({ name, color, description, }) => new RepositoryLabel({ name, color, description: Option.fromNullishOr(description) });
32
- /** The GraphQL transport envelope. `errors` arrives on HTTP 200 and must be read. */
33
- const GraphqlEnvelope = Schema.Struct({
34
- data: Schema.optionalKey(Schema.Unknown),
35
- errors: Schema.optionalKey(Schema.Array(Schema.Struct({
36
- message: Schema.String,
37
- type: Schema.optionalKey(Schema.String),
38
- }))),
39
- });
40
34
  const IssueData = Schema.Struct({
41
35
  repository: Schema.OptionFromNullOr(Schema.Struct({ issue: Schema.OptionFromNullOr(IssuePayload) })),
42
36
  });
43
37
  const PullRequestData = Schema.Struct({
44
38
  repository: Schema.OptionFromNullOr(Schema.Struct({ pullRequest: Schema.OptionFromNullOr(PullRequestPayload) })),
45
39
  });
40
+ const IssuePresence = Schema.NullOr(Schema.Struct({ number: Schema.Int }));
41
+ /** The response schema for `issuesPresentQuery(count)`; every alias from `i0` to `i<count - 1>` must be present. */
42
+ const issuesPresentData = (count) => Schema.Struct({
43
+ repository: Schema.OptionFromNullOr(Schema.Struct(Object.fromEntries(Array.from({ length: count }, (_, index) => [`i${index}`, IssuePresence])))),
44
+ });
46
45
  const dateTimeAt = (epochMillis) => DateTime.make(epochMillis);
47
46
  const toChangedItems = (decoded) => decoded.map((item) => item.pullRequest === undefined
48
47
  ? new ChangedIssue({ number: item.number, updatedAt: item.updatedAt })
@@ -62,7 +61,7 @@ const nextPollAt = (headers, now) => latestDateTime([
62
61
  retryAfterMillis(headers["retry-after"], now),
63
62
  rateLimitResetMillis(headers, RATE_LIMIT_PRESSURE_THRESHOLD),
64
63
  ]);
65
- /** The `rel="next"` URL from a Link header when GitHub has more pages. */
64
+ /** Returns the `rel="next"` URL from a Link header, if GitHub has more pages. */
66
65
  const nextPageUrl = (link) => {
67
66
  if (link === undefined)
68
67
  return Option.none();
@@ -104,7 +103,7 @@ const newerWatermark = (cursor, items) => {
104
103
  }
105
104
  return epochs.length === 0 ? Option.none() : dateTimeAt(Math.max(...epochs));
106
105
  };
107
- /** Finds changed GitHub Items and fetches the snapshots used to select work for Loops. */
106
+ /** The service that finds changed GitHub Items and fetches their snapshots for Loop selection. */
108
107
  export class GitHubPolling extends Context.Service()("@usine/github/GitHubPolling") {
109
108
  static layer = Layer.effect(GitHubPolling, Effect.gen(function* () {
110
109
  const app = yield* GitHubApp;
@@ -144,7 +143,7 @@ export class GitHubPolling extends Context.Service()("@usine/github/GitHubPollin
144
143
  next: nextPageUrl(response.headers.link),
145
144
  };
146
145
  });
147
- /** Walks the label pages after an already-fetched first page, under the label page cap. */
146
+ /** Fetches the label pages after the first page, up to the label page cap. */
148
147
  const remainingLabelPages = Effect.fn("GitHubPolling.remainingLabelPages")(function* (operation, firstPage) {
149
148
  const catalog = [...firstPage.labels];
150
149
  let next = firstPage.next;
@@ -156,7 +155,7 @@ export class GitHubPolling extends Context.Service()("@usine/github/GitHubPollin
156
155
  pages += 1;
157
156
  }
158
157
  if (Option.isSome(next)) {
159
- return yield* invalidResponse(operation, `GitHub label list exceeded ${MAX_LABEL_PAGES} pages`);
158
+ return yield* invalidResponse(operation, `the GitHub label list has more than ${MAX_LABEL_PAGES} pages`);
160
159
  }
161
160
  return catalog.sort((left, right) => left.name.localeCompare(right.name));
162
161
  });
@@ -211,8 +210,8 @@ export class GitHubPolling extends Context.Service()("@usine/github/GitHubPollin
211
210
  }
212
211
  const decoded = yield* HttpClientResponse.schemaBodyJson(RestChangedItems)(response).pipe(Effect.mapError((error) => invalidResponse("poll-repository-changes", error.message)));
213
212
  const items = toChangedItems(decoded);
214
- // The ETag is efficiency only: a page without one costs conditional requests next cycle, never correctness.
215
- // Only the first page's tag matches the canonical URL the next cycle re-requests.
213
+ // The ETag is only for efficiency: a page without one costs unconditional requests next cycle.
214
+ // Only the first page's tag matches the canonical URL requested next cycle.
216
215
  const entityTag = Schema.decodeUnknownOption(EntityTag)(response.headers.etag);
217
216
  if (Option.isNone(entityTag)) {
218
217
  yield* Effect.logWarning("GitHub omitted the changes ETag; next poll is unconditional", {
@@ -247,28 +246,15 @@ export class GitHubPolling extends Context.Service()("@usine/github/GitHubPollin
247
246
  const graphql = Effect.fn("GitHubPolling.graphql")(function* (operation, repository, number, query, dataSchema) {
248
247
  const token = yield* app.installationToken();
249
248
  const { name, owner } = splitRepositoryName(repository);
250
- const request = HttpClientRequest.post(`${API_ROOT}/graphql`).pipe(HttpClientRequest.bodyJsonUnsafe({ query, variables: { owner, name, number } }), authorized(token.value));
251
- const response = yield* execute(operation, request);
252
- const now = yield* Clock.currentTimeMillis;
253
- if (response.status !== 200)
254
- return yield* statusError(operation, response, now);
255
- const envelope = yield* HttpClientResponse.schemaBodyJson(GraphqlEnvelope)(response).pipe(Effect.mapError((error) => invalidResponse(operation, error.message)));
256
- // GraphQL reports failures on HTTP 200. Rate limiting becomes a typed wait, and anything else keeps its messages for diagnosis.
257
- if (envelope.errors !== undefined && envelope.errors.length > 0) {
258
- const rateLimited = envelope.errors.some((error) => error.type === "RATE_LIMITED");
259
- if (rateLimited) {
260
- const retryAt = Option.getOrElse(rateLimitRetryEpoch(response.headers, now), () => now + GRAPHQL_RATE_LIMIT_FALLBACK_MS);
261
- return yield* new GitHubRateLimitError({
262
- operation,
263
- retryAt: DateTime.makeUnsafe(retryAt),
264
- message: "GitHub GraphQL asked the poller to wait before retrying",
265
- });
266
- }
267
- return yield* invalidResponse(operation, `GraphQL errors: ${envelope.errors.map((error) => error.message).join("; ")}`);
268
- }
269
- return yield* Schema.decodeUnknownEffect(dataSchema)(envelope.data).pipe(Effect.mapError((error) => invalidResponse(operation, error.message)));
249
+ return yield* queryGraphql(http, token, operation, query, { owner, name, number }, dataSchema);
270
250
  });
271
251
  const snapshot = Effect.fn("GitHubPolling.snapshot")((repository, item) => Effect.gen(function* () {
252
+ const repositoryGone = (operation) => invalidResponse(operation, `repository "${repository}" is null: deleted, renamed, or no longer accessible`);
253
+ const itemGone = (operation, kind) => new GitHubItemNotFoundError({
254
+ operation,
255
+ item: item.number,
256
+ message: `GitHub ${kind} ${repository}#${item.number} was not found. It was deleted or transferred, or the GitHub App can no longer read it.`,
257
+ });
272
258
  const completeLabels = Effect.fn("GitHubPolling.completeItemLabels")(function* (payload) {
273
259
  if (payload.labels.nodes.length >= payload.labels.totalCount)
274
260
  return payload.labels;
@@ -283,10 +269,11 @@ export class GitHubPolling extends Context.Service()("@usine/github/GitHubPollin
283
269
  });
284
270
  if (item._tag === "ChangedIssue") {
285
271
  const data = yield* graphql("fetch-issue-snapshot", repository, item.number, ISSUE_PAYLOAD_QUERY, IssueData);
286
- const payload = Option.flatMap(data.repository, ({ issue }) => issue);
287
- if (Option.isNone(payload)) {
288
- return yield* invalidResponse("fetch-issue-snapshot", `issue ${item.number} came back null — deleted, transferred, or access lost`);
289
- }
272
+ if (Option.isNone(data.repository))
273
+ return yield* repositoryGone("fetch-issue-snapshot");
274
+ const payload = data.repository.value.issue;
275
+ if (Option.isNone(payload))
276
+ return yield* itemGone("fetch-issue-snapshot", "issue");
290
277
  const completePayload = {
291
278
  ...payload.value,
292
279
  labels: yield* completeLabels(payload.value),
@@ -297,10 +284,11 @@ export class GitHubPolling extends Context.Service()("@usine/github/GitHubPollin
297
284
  });
298
285
  }
299
286
  const data = yield* graphql("fetch-pull-request-snapshot", repository, item.number, PULL_REQUEST_PAYLOAD_QUERY, PullRequestData);
300
- const payload = Option.flatMap(data.repository, ({ pullRequest }) => pullRequest);
301
- if (Option.isNone(payload)) {
302
- return yield* invalidResponse("fetch-pull-request-snapshot", `pull request ${item.number} came back null — deleted or access lost`);
303
- }
287
+ if (Option.isNone(data.repository))
288
+ return yield* repositoryGone("fetch-pull-request-snapshot");
289
+ const payload = data.repository.value.pullRequest;
290
+ if (Option.isNone(payload))
291
+ return yield* itemGone("fetch-pull-request-snapshot", "pull request");
304
292
  const completePayload = {
305
293
  ...payload.value,
306
294
  labels: yield* completeLabels(payload.value),
@@ -310,15 +298,34 @@ export class GitHubPolling extends Context.Service()("@usine/github/GitHubPollin
310
298
  contentHash: yield* contentHash(completePayload),
311
299
  });
312
300
  }));
313
- return { changes, labels, snapshot };
301
+ const missingIssues = Effect.fn("GitHubPolling.missingIssues")(function* (repository, numbers) {
302
+ yield* Effect.annotateCurrentSpan({ repository, issues: numbers.length });
303
+ const { name, owner } = splitRepositoryName(repository);
304
+ const missing = yield* Effect.forEach(Arr.chunksOf(numbers, ISSUES_PER_PRESENCE_CHECK), (chunk) => Effect.gen(function* () {
305
+ const token = yield* app.installationToken();
306
+ const data = yield* queryGraphql(http, token, "find-missing-issues", issuesPresentQuery(chunk.length), {
307
+ owner,
308
+ name,
309
+ ...Object.fromEntries(chunk.map((number, index) => [`n${index}`, number])),
310
+ }, issuesPresentData(chunk.length));
311
+ if (Option.isNone(data.repository)) {
312
+ return yield* invalidResponse("find-missing-issues", `repository "${repository}" is null: deleted, renamed, or no longer accessible`);
313
+ }
314
+ const issues = data.repository.value;
315
+ return chunk.filter((_, index) => issues[`i${index}`] === null);
316
+ }));
317
+ return missing.flat();
318
+ });
319
+ return { changes, labels, snapshot, missingIssues };
314
320
  }));
315
321
  }
316
322
  export { EntityTag, PollCursor, ChangedIssue, ChangedPullRequest, ChangedItem, RepositoryNotModified, RepositoryChanges, ChangeDetection, } from "./detection.js";
317
323
  export { RepositoryLabelName, RepositoryLabelColor, RepositoryLabel, RepositoryLabelCatalog, RepositoryLabelsNotModified, RepositoryLabelDetection, } from "./labels.js";
324
+ export { GitHubItemNotFoundError } from "../error.js";
318
325
  export { ContentHash, IssuePayload, PullRequestPayload, IssueSnapshot, PullRequestSnapshot, PayloadSnapshot, } from "./payload.js";
319
326
  const makeContentHash = (crypto) => Effect.fn("GitHubPolling.contentHash")(function* (payload) {
320
327
  const encoded = new TextEncoder().encode(JSON.stringify(canonicalContent(payload)));
321
- // An in-memory SHA-256 digest fails only on a broken platform, so a failure here is a defect.
328
+ // An in-memory SHA-256 digest fails only on a broken platform, so a failure is a defect.
322
329
  const digest = yield* crypto.digest("SHA-256", encoded).pipe(Effect.orDie);
323
330
  return ContentHash.make(Array.from(digest, (byte) => byte.toString(16).padStart(2, "0")).join(""));
324
331
  });
@@ -1 +1 @@
1
- {"version":3,"file":"polling.js","sourceRoot":"","sources":["../../src/polling/polling.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"polling.js","sourceRoot":"","sources":["../../src/polling/polling.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,8 @@
1
1
  export declare const ISSUE_PAYLOAD_QUERY = "\n query UsineIssuePayload($owner: String!, $name: String!, $number: Int!) {\n repository(owner: $owner, name: $name) {\n issue(number: $number) {\n number\n title\n body\n url\n state\n stateReason\n createdAt\n updatedAt\n closedAt\n author { login }\n issueType { name }\n milestone { title }\n labels(first: 50) {\n totalCount\n nodes { name }\n }\n assignees(first: 10) {\n totalCount\n nodes { login }\n }\n comments(last: 20) {\n totalCount\n nodes {\n author { login }\n body\n createdAt\n }\n }\n closedByPullRequestsReferences(first: 10, includeClosedPrs: true) {\n totalCount\n nodes {\n number\n state\n isDraft\n url\n }\n }\n }\n }\n }\n";
2
- export declare const PULL_REQUEST_PAYLOAD_QUERY = "\n query UsinePullRequestPayload($owner: String!, $name: String!, $number: Int!) {\n repository(owner: $owner, name: $name) {\n pullRequest(number: $number) {\n number\n title\n body\n url\n state\n isDraft\n merged\n createdAt\n updatedAt\n mergedAt\n author { login }\n baseRefName\n headRefName\n headRefOid\n additions\n deletions\n changedFiles\n reviewDecision\n statusCheckRollup { state }\n labels(first: 50) {\n totalCount\n nodes { name }\n }\n reviewRequests(first: 10) {\n totalCount\n nodes {\n requestedReviewer {\n ... on User { login }\n }\n }\n }\n reviews(last: 20) {\n totalCount\n nodes {\n author { login }\n state\n body\n submittedAt\n commit { oid }\n }\n }\n reviewThreads(first: 50) {\n totalCount\n nodes {\n isResolved\n isOutdated\n path\n comments(first: 10) {\n totalCount\n nodes {\n author { login }\n body\n }\n }\n }\n }\n comments(last: 20) {\n totalCount\n nodes {\n author { login }\n body\n createdAt\n }\n }\n closingIssuesReferences(first: 10) {\n totalCount\n nodes {\n number\n state\n }\n }\n }\n }\n }\n";
2
+ export declare const PULL_REQUEST_PAYLOAD_QUERY = "\n query UsinePullRequestPayload($owner: String!, $name: String!, $number: Int!) {\n repository(owner: $owner, name: $name) {\n pullRequest(number: $number) {\n number\n title\n body\n url\n state\n isDraft\n merged\n createdAt\n updatedAt\n mergedAt\n author { login }\n baseRefName\n headRefName\n headRefOid\n additions\n deletions\n changedFiles\n reviewDecision\n mergeable\n mergeStateStatus\n statusCheckRollup { state }\n labels(first: 50) {\n totalCount\n nodes { name }\n }\n reviewRequests(first: 10) {\n totalCount\n nodes {\n requestedReviewer {\n ... on User { login }\n }\n }\n }\n reviews(last: 20) {\n totalCount\n nodes {\n author { login }\n state\n body\n submittedAt\n commit { oid }\n }\n }\n reviewThreads(first: 50) {\n totalCount\n nodes {\n isResolved\n isOutdated\n path\n comments(first: 10) {\n totalCount\n nodes {\n author { login }\n body\n }\n }\n }\n }\n comments(last: 20) {\n totalCount\n nodes {\n author { login }\n body\n createdAt\n }\n }\n closingIssuesReferences(first: 10) {\n totalCount\n nodes {\n number\n state\n }\n }\n }\n }\n }\n";
3
+ /**
4
+ * Returns a query for `count` issues of one repository by number: alias `i<k>` reads the issue
5
+ * numbered `$n<k>`. A missing issue is null under its alias.
6
+ */
7
+ export declare const issuesPresentQuery: (count: number) => string;
3
8
  //# sourceMappingURL=queries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/polling/queries.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,q9BA4C/B,CAAC;AAEF,eAAO,MAAM,0BAA0B,8qDA8EtC,CAAC"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/polling/queries.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,q9BA4C/B,CAAC;AAEF,eAAO,MAAM,0BAA0B,2tDAgFtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,UAAW,MAAM,KAAG,MASlD,CAAC"}
@@ -65,6 +65,8 @@ export const PULL_REQUEST_PAYLOAD_QUERY = `
65
65
  deletions
66
66
  changedFiles
67
67
  reviewDecision
68
+ mergeable
69
+ mergeStateStatus
68
70
  statusCheckRollup { state }
69
71
  labels(first: 50) {
70
72
  totalCount
@@ -122,4 +124,18 @@ export const PULL_REQUEST_PAYLOAD_QUERY = `
122
124
  }
123
125
  }
124
126
  `;
127
+ /**
128
+ * Returns a query for `count` issues of one repository by number: alias `i<k>` reads the issue
129
+ * numbered `$n<k>`. A missing issue is null under its alias.
130
+ */
131
+ export const issuesPresentQuery = (count) => {
132
+ const indexes = Array.from({ length: count }, (_, index) => index);
133
+ return `
134
+ query UsineIssuesPresent($owner: String!, $name: String!, ${indexes.map((index) => `$n${index}: Int!`).join(", ")}) {
135
+ repository(owner: $owner, name: $name) {
136
+ ${indexes.map((index) => `i${index}: issue(number: $n${index}) { number }`).join("\n ")}
137
+ }
138
+ }
139
+ `;
140
+ };
125
141
  //# sourceMappingURL=queries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/polling/queries.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4ClC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8EzC,CAAC"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/polling/queries.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4ClC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgFzC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAU,EAAE;IAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACnE,OAAO;8DACqD,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;QAE3G,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,qBAAqB,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;;;CAGjG,CAAC;AACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@usine/github",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "description": "GitHub App authentication, installation discovery, project coverage, and scoped token minting for usine.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -9,11 +9,16 @@
9
9
  "directory": "packages/github"
10
10
  },
11
11
  "files": [
12
- "dist"
12
+ "dist",
13
+ "!dist/tsconfig.tsbuildinfo"
13
14
  ],
14
15
  "type": "module",
15
16
  "sideEffects": false,
16
17
  "exports": {
18
+ "./item-history": {
19
+ "types": "./dist/item-history.d.ts",
20
+ "default": "./dist/item-history.js"
21
+ },
17
22
  "./item-writer": {
18
23
  "types": "./dist/item-writer.d.ts",
19
24
  "default": "./dist/item-writer.js"
@@ -39,7 +44,7 @@
39
44
  "access": "public"
40
45
  },
41
46
  "dependencies": {
42
- "@usine/core": "0.3.0"
47
+ "@usine/core": "0.4.0"
43
48
  },
44
49
  "devDependencies": {
45
50
  "@effect/platform-node": "4.0.0-rc.111",