github-issue-tower-defence-management 1.153.5 → 1.154.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 (35) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/bin/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.js +187 -6
  3. package/bin/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.js.map +1 -1
  4. package/bin/adapter/repositories/issue/RestIssueRepository.js +6 -0
  5. package/bin/adapter/repositories/issue/RestIssueRepository.js.map +1 -1
  6. package/bin/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.js +10 -16
  7. package/bin/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.js.map +1 -1
  8. package/bin/domain/usecases/IssueRejectionEvaluator.js +28 -11
  9. package/bin/domain/usecases/IssueRejectionEvaluator.js.map +1 -1
  10. package/bin/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.js +15 -3
  11. package/bin/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.js.map +1 -1
  12. package/package.json +1 -1
  13. package/src/adapter/entry-points/console/ui/e2e/consoleTestHarness.ts +14 -0
  14. package/src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.test.ts +252 -0
  15. package/src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.ts +288 -6
  16. package/src/adapter/repositories/issue/RestIssueRepository.test.ts +19 -0
  17. package/src/adapter/repositories/issue/RestIssueRepository.ts +13 -0
  18. package/src/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.test.ts +211 -200
  19. package/src/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.ts +13 -18
  20. package/src/domain/usecases/IssueRejectionEvaluator.ts +49 -15
  21. package/src/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.test.ts +154 -0
  22. package/src/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.ts +33 -5
  23. package/src/domain/usecases/adapter-interfaces/IssueRepository.ts +8 -0
  24. package/types/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.d.ts +9 -2
  25. package/types/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.d.ts.map +1 -1
  26. package/types/adapter/repositories/issue/RestIssueRepository.d.ts +1 -0
  27. package/types/adapter/repositories/issue/RestIssueRepository.d.ts.map +1 -1
  28. package/types/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.d.ts +2 -2
  29. package/types/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.d.ts.map +1 -1
  30. package/types/domain/usecases/IssueRejectionEvaluator.d.ts +6 -1
  31. package/types/domain/usecases/IssueRejectionEvaluator.d.ts.map +1 -1
  32. package/types/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.d.ts +1 -1
  33. package/types/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.d.ts.map +1 -1
  34. package/types/domain/usecases/adapter-interfaces/IssueRepository.d.ts +3 -0
  35. package/types/domain/usecases/adapter-interfaces/IssueRepository.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ConvertCheckboxToIssueInStoryIssueUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConvertCheckboxToIssueInStoryIssueUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.ts"],"names":[],"mappings":";;;AAIA,mCAAuC;AACvC,+DAAgE;AAGhE,MAAa,yCAAyC;IACpD,YACW,eAQR;QARQ,oBAAe,GAAf,eAAe,CAQvB;QAGH,QAAG,GAAG,KAAK,EAAE,KAQZ,EAAiB,EAAE;YAClB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAClC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YAED,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC;gBAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM;qBAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;qBAC3D,MAAM,CACL,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CACjB,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM;oBAC3D,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,OAAO,EACb,IAAI,CACL,CAAC;gBACJ,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC/D,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC9C,SAAS;gBACX,CAAC;qBAAM,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CAAC,0BAA0B,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChE,CAAC;qBAAM,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;oBAC/B,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,KAAK,mCAAkB,CAAC;gBACtD,MAAM,qBAAqB,GACzB,IAAI,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC;gBACxD,MAAM,+BAA+B,GACnC,IAAI,CAAC,gCAAgC,CACnC,UAAU,CAAC,IAAI,EACf,KAAK,CAAC,cAAc,EACpB,WAAW,CAAC,IAAI,CACjB,KAAK,UAAU,CAAC,IAAI,CAAC;gBACxB,IAAI,qBAAqB,IAAI,+BAA+B,EAAE,CAAC;oBAC7D,SAAS;gBACX,CAAC;gBACD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CACjE,UAAU,CAAC,GAAG,CACf,CAAC;gBACF,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;oBAC5B,OAAO,CAAC,IAAI,CACV,8HAA8H,UAAU,CAAC,GAAG,EAAE,CAC/I,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,IAAI,OAAO,GAAG,IAAI,CAAC,gCAAgC,CACjD,cAAc,EACd,KAAK,CAAC,cAAc,EACpB,WAAW,CAAC,IAAI,CACjB,CAAC;gBACF,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;oBAC/B,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAClE,CAAC;gBACD,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC;oBAC1D,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAChC,SAAS;gBACX,CAAC;gBACD,MAAM,4BAA4B,GAChC,IAAI,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC;gBACjD,KAAK,MAAM,YAAY,IAAI,4BAA4B,EAAE,CAAC;oBACxD,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CACrC,WAAW,EACX,GAAG,WAAW,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,CAC5C,CAAC;oBACF,MAAM,YAAY,GAAG,mBAAmB,UAAU,CAAC,GAAG,EAAE,CAAC;oBACzD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAC9D,UAAU,CAAC,GAAG,EACd,UAAU,CAAC,IAAI,EACf,UAAU,EACV,YAAY,EACZ,CAAC,KAAK,CAAC,OAAO,CAAC,EACf,EAAE,CACH,CAAC;oBACF,MAAM,WAAW,GAAG,sBAAsB,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,IAAI,WAAW,cAAc,EAAE,CAAC;oBACvG,OAAO,GAAG,OAAO,CAAC,OAAO,CACvB,SAAS,YAAY,EAAE,EACvB,SAAS,WAAW,EAAE,CACvB,CAAC;oBACF,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;oBAChE,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAC1C,KAAK,CAAC,OAAO,EACb,WAAW,CACZ,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;oBACvE,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,MAAM,IAAI,KAAK,CAAC,oBAAoB,WAAW,EAAE,CAAC,CAAC;oBACrD,CAAC;oBACD,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CACpC,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAClC,QAAQ,EACR,WAAW,CAAC,EAAE,CACf,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,qCAAgC,GAAG,CACjC,IAAY,EACZ,cAAsB,EACtB,SAAiB,EACT,EAAE;YACV,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YACzE,MAAM,oBAAoB,GAAG,IAAI,CAAC,yBAAyB,CACzD,cAAc,EACd,SAAS,CACV,CAAC;YACF,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAW,EAAE,CACpD,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,cAAc,GAAa,EAAE,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9B,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBACvD,CAAC,EAAE,CAAC;oBACJ,SAAS;gBACX,CAAC;gBACD,IACE,cAAc,CAAC,MAAM,GAAG,CAAC;oBACzB,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EACvD,CAAC;oBACD,cAAc,CAAC,GAAG,EAAE,CAAC;gBACvB,CAAC;YACH,CAAC;YACD,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACpE,cAAc,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;YACD,OAAO,GAAG,aAAa,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5D,CAAC,CAAC;QACF,uBAAkB,GAAG,CAAC,cAAsB,EAAE,SAAiB,EAAU,EAAE;YACzE,OAAO,GAAG,cAAc,uBAAuB,IAAA,oBAAY,EAAC,SAAS,CAAC,EAAE,CAAC;QAC3E,CAAC,CAAC;QACF,8BAAyB,GAAG,CAC1B,cAAsB,EACtB,SAAiB,EACT,EAAE;YACV,MAAM,0BAA0B,GAAG,CAAC,KAAa,EAAU,EAAE,CAC3D,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;YAC/C,MAAM,mBAAmB,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,MAAM,eAAe,GAAG,uBAAuB,IAAA,oBAAY,EAAC,SAAS,CAAC,EAAE,CAAC;YACzE,OAAO,IAAI,MAAM,CACf,GAAG,0BAA0B,CAAC,mBAAmB,CAAC,iBAAiB,0BAA0B,CAAC,eAAe,CAAC,YAAY,CAC3H,CAAC;QACJ,CAAC,CAAC;QACF,qCAAgC,GAAG,CAAC,cAAsB,EAAY,EAAE;YACtE,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;YAChD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,CAAC;YACtB,MAAM,UAAU,GAAa,EAAE,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,UAAU,CAAC,MAAM,CACtB,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,KAAK,EAAE;gBACf,CAAC,QAAQ,CAAC,KAAK,CAAC,yCAAyC,CAAC;gBAC1D,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC5B,CAAC;QACJ,CAAC,CAAC;IA3KC,CAAC;CA4KL;AAvLD,8FAuLC"}
@@ -7,17 +7,11 @@ class IssueRejectionEvaluator {
7
7
  this.evaluate = async (issue, labelsNotRequiringPullRequest = [], options = {}) => {
8
8
  const rejections = [];
9
9
  let approvedPrUrl = null;
10
- const categoryLabels = issue.labels.filter((label) => label.startsWith('category:'));
11
- const hasLlmAgentLabel = issue.labels.some((l) => l === 'llm-agent' || l.startsWith('llm-agent:'));
12
- const hasLabelNotRequiringPullRequest = issue.labels.some((label) => labelsNotRequiringPullRequest.includes(label));
13
- if (!hasLlmAgentLabel &&
14
- !hasLabelNotRequiringPullRequest &&
15
- this.isPullRequestRequiredByBody(issue.body) &&
16
- (categoryLabels.length <= 0 || categoryLabels.includes('category:e2e'))) {
10
+ if (this.requiresPullRequestEvaluation(issue, labelsNotRequiringPullRequest)) {
17
11
  let prsToCheck;
18
12
  let anyPrResolutionFailed = false;
19
13
  if (issue.isPr) {
20
- const resolved = await this.resolveOpenPrsForPrItem(issue.url);
14
+ const resolved = await this.resolveOpenPrsForPrItem(issue.url, options.resolvedOpenPrByUrl ?? null);
21
15
  if (resolved === null) {
22
16
  // getOpenPullRequest failed transiently: the PR's state is unknown
23
17
  // for this cycle, so skip it without emitting any rejection.
@@ -26,7 +20,7 @@ class IssueRejectionEvaluator {
26
20
  prsToCheck = resolved;
27
21
  }
28
22
  else if (options.relatedOpenPrUrls != null) {
29
- const resolved = await this.resolveOpenPrsFromUrls(options.relatedOpenPrUrls);
23
+ const resolved = await this.resolveOpenPrsFromUrls(options.relatedOpenPrUrls, options.resolvedOpenPrByUrl ?? null);
30
24
  prsToCheck = resolved.prs;
31
25
  anyPrResolutionFailed = resolved.anyResolutionFailed;
32
26
  }
@@ -115,10 +109,26 @@ class IssueRejectionEvaluator {
115
109
  }
116
110
  return { rejections, approvedPrUrl };
117
111
  };
112
+ // Whether this item's pull requests are looked at at all. A caller that
113
+ // resolves pull request state in one batch for a whole cycle asks this first,
114
+ // so the batch covers exactly the items evaluate would have resolved.
115
+ this.requiresPullRequestEvaluation = (issue, labelsNotRequiringPullRequest = []) => {
116
+ const categoryLabels = issue.labels.filter((label) => label.startsWith('category:'));
117
+ const hasLlmAgentLabel = issue.labels.some((l) => l === 'llm-agent' || l.startsWith('llm-agent:'));
118
+ const hasLabelNotRequiringPullRequest = issue.labels.some((label) => labelsNotRequiringPullRequest.includes(label));
119
+ return (!hasLlmAgentLabel &&
120
+ !hasLabelNotRequiringPullRequest &&
121
+ this.isPullRequestRequiredByBody(issue.body) &&
122
+ (categoryLabels.length <= 0 || categoryLabels.includes('category:e2e')));
123
+ };
118
124
  // Returns null when getOpenPullRequest throws (e.g. a transient GitHub
119
125
  // GraphQL server error): the PR's state is unknown for this cycle and the
120
126
  // caller skips it instead of letting the error abort the schedule cycle.
121
- this.resolveOpenPrsForPrItem = async (prUrl) => {
127
+ this.resolveOpenPrsForPrItem = async (prUrl, resolvedOpenPrByUrl) => {
128
+ if (resolvedOpenPrByUrl?.has(prUrl)) {
129
+ const alreadyResolved = resolvedOpenPrByUrl.get(prUrl) ?? null;
130
+ return alreadyResolved === null ? [] : [alreadyResolved];
131
+ }
122
132
  let pr;
123
133
  try {
124
134
  pr = await this.issueRepository.getOpenPullRequest(prUrl);
@@ -144,11 +154,18 @@ class IssueRejectionEvaluator {
144
154
  // remaining URLs are still resolved; anyResolutionFailed reports whether at
145
155
  // least one URL failed so the caller can avoid treating an unknown state as
146
156
  // PULL_REQUEST_NOT_FOUND.
147
- this.resolveOpenPrsFromUrls = async (prUrls) => {
157
+ this.resolveOpenPrsFromUrls = async (prUrls, resolvedOpenPrByUrl) => {
148
158
  const uniquePrUrls = Array.from(new Set(prUrls));
149
159
  const resolvedPrs = [];
150
160
  let anyResolutionFailed = false;
151
161
  for (const prUrl of uniquePrUrls) {
162
+ if (resolvedOpenPrByUrl?.has(prUrl)) {
163
+ const alreadyResolved = resolvedOpenPrByUrl.get(prUrl) ?? null;
164
+ if (alreadyResolved !== null) {
165
+ resolvedPrs.push(alreadyResolved);
166
+ }
167
+ continue;
168
+ }
152
169
  let pr;
153
170
  try {
154
171
  pr = await this.issueRepository.getOpenPullRequest(prUrl);
@@ -1 +1 @@
1
- {"version":3,"file":"IssueRejectionEvaluator.js","sourceRoot":"","sources":["../../../src/domain/usecases/IssueRejectionEvaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IssueRejectionEvaluator.js","sourceRoot":"","sources":["../../../src/domain/usecases/IssueRejectionEvaluator.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,18 @@ class RevertNotReadyReviewQueueIssueUseCase {
39
39
  const { issues } = await this.issueRepository.getAllIssues(projectId);
40
40
  const awaitingQualityCheckIssues = issues.filter((issue) => issue.status === WorkflowStatus_1.AWAITING_QUALITY_CHECK_STATUS_NAME);
41
41
  const relatedOpenPrUrlsByIssueUrl = this.buildRelatedOpenPrUrlsByIssueUrl(issues);
42
+ const unreadPullRequests = issues.filter((issue) => issue.status === WorkflowStatus_1.DEFAULT_STATUS_NAME && issue.isPr);
43
+ const labelsNotRequiringPullRequest = (0, resolveLabelsNotRequiringPullRequest_1.resolveLabelsNotRequiringPullRequest)(params);
44
+ const willBeEvaluated = (item) => (0, isAuthorAuthorizedForAutoStatusCheck_1.isAuthorAuthorizedForAutoStatusCheck)(item.author, allowedIssueAuthors) &&
45
+ this.issueRejectionEvaluator.requiresPullRequestEvaluation(item, labelsNotRequiringPullRequest);
46
+ const resolvedOpenPrByUrl = await this.issueRepository.getOpenPullRequests(Array.from(new Set([
47
+ ...awaitingQualityCheckIssues
48
+ .filter(willBeEvaluated)
49
+ .flatMap((issue) => relatedOpenPrUrlsByIssueUrl.get(issue.url) ?? []),
50
+ ...unreadPullRequests
51
+ .filter(willBeEvaluated)
52
+ .map((pullRequest) => pullRequest.url),
53
+ ])));
42
54
  for (const issue of awaitingQualityCheckIssues) {
43
55
  const hasLlmAgentLabel = issue.labels.some((l) => l === 'llm-agent' || l.startsWith('llm-agent:'));
44
56
  if (hasLlmAgentLabel) {
@@ -48,8 +60,9 @@ class RevertNotReadyReviewQueueIssueUseCase {
48
60
  continue;
49
61
  }
50
62
  try {
51
- const { rejections, approvedPrUrl } = await this.issueRejectionEvaluator.evaluate(issue, (0, resolveLabelsNotRequiringPullRequest_1.resolveLabelsNotRequiringPullRequest)(params), {
63
+ const { rejections, approvedPrUrl } = await this.issueRejectionEvaluator.evaluate(issue, labelsNotRequiringPullRequest, {
52
64
  relatedOpenPrUrls: relatedOpenPrUrlsByIssueUrl.get(issue.url) ?? null,
65
+ resolvedOpenPrByUrl,
53
66
  });
54
67
  if (rejections.length === 1 &&
55
68
  rejections[0].type === 'PULL_REQUEST_NOT_FOUND' &&
@@ -84,7 +97,6 @@ class RevertNotReadyReviewQueueIssueUseCase {
84
97
  }
85
98
  }
86
99
  const projectStory = project.story;
87
- const unreadPullRequests = issues.filter((issue) => issue.status === WorkflowStatus_1.DEFAULT_STATUS_NAME && issue.isPr);
88
100
  for (const pullRequest of unreadPullRequests) {
89
101
  const hasLlmAgentLabel = pullRequest.labels.some((l) => l === 'llm-agent' || l.startsWith('llm-agent:'));
90
102
  if (hasLlmAgentLabel) {
@@ -94,7 +106,7 @@ class RevertNotReadyReviewQueueIssueUseCase {
94
106
  continue;
95
107
  }
96
108
  try {
97
- const { rejections } = await this.issueRejectionEvaluator.evaluate(pullRequest, (0, resolveLabelsNotRequiringPullRequest_1.resolveLabelsNotRequiringPullRequest)(params));
109
+ const { rejections } = await this.issueRejectionEvaluator.evaluate(pullRequest, labelsNotRequiringPullRequest, { resolvedOpenPrByUrl });
98
110
  if (rejections.length > 0) {
99
111
  if (!pullRequest.assignees.includes(params.manager)) {
100
112
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"RevertNotReadyReviewQueueIssueUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RevertNotReadyReviewQueueIssueUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "github-issue-tower-defence-management",
3
- "version": "1.153.5",
3
+ "version": "1.154.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -399,9 +399,12 @@ const createStubIssueRepository = (
399
399
  getAllIssues: () => notImplemented('getAllIssues'),
400
400
  getIssueByUrl: async (url: string): Promise<Issue | null> =>
401
401
  buildIssueForUrl(url),
402
+ getIssueBodyByUrl: async (url: string): Promise<string | null> =>
403
+ buildIssueForUrl(url)?.body ?? null,
402
404
  createNewIssue: () => notImplemented('createNewIssue'),
403
405
  searchIssue: () => notImplemented('searchIssue'),
404
406
  updateIssue: () => notImplemented('updateIssue'),
407
+ updateIssueBody: () => notImplemented('updateIssueBody'),
405
408
  updateNextActionDate: async (): Promise<void> => undefined,
406
409
  updateNextActionHour: () => notImplemented('updateNextActionHour'),
407
410
  updateProjectTextField: () => notImplemented('updateProjectTextField'),
@@ -426,6 +429,17 @@ const createStubIssueRepository = (
426
429
  url === CONSOLE_E2E_AWAITING_QUALITY_CHECK_PR_URL
427
430
  ? awaitingQualityCheckPullRequest
428
431
  : null,
432
+ getOpenPullRequests: async (
433
+ urls: string[],
434
+ ): Promise<Map<string, RelatedPullRequest | null>> =>
435
+ new Map(
436
+ urls.map((url) => [
437
+ url,
438
+ url === CONSOLE_E2E_AWAITING_QUALITY_CHECK_PR_URL
439
+ ? awaitingQualityCheckPullRequest
440
+ : null,
441
+ ]),
442
+ ),
429
443
  getPullRequestChangedFilePaths: async (): Promise<string[]> => [],
430
444
  approvePullRequest: async (): Promise<void> => undefined,
431
445
  requestChangesWithInlineComment: async (
@@ -1668,6 +1668,64 @@ describe('ApiV3CheerioRestIssueRepository', () => {
1668
1668
  });
1669
1669
  });
1670
1670
 
1671
+ describe('getIssueBodyByUrl', () => {
1672
+ afterEach(() => {
1673
+ jest.restoreAllMocks();
1674
+ });
1675
+
1676
+ it('reads the body over the REST issue endpoint', async () => {
1677
+ const fetchSpy = jest.spyOn(global, 'fetch').mockResolvedValueOnce(
1678
+ new Response(JSON.stringify({ body: 'story issue body' }), {
1679
+ status: 200,
1680
+ headers: { 'Content-Type': 'application/json' },
1681
+ }),
1682
+ );
1683
+
1684
+ const { repository } = createApiV3CheerioRestIssueRepository();
1685
+ const result = await repository.getIssueBodyByUrl(
1686
+ 'https://github.com/HiromiShikata/test-repository/issues/42',
1687
+ );
1688
+
1689
+ expect(result).toBe('story issue body');
1690
+ expect(fetchSpy).toHaveBeenCalledWith(
1691
+ 'https://api.github.com/repos/HiromiShikata/test-repository/issues/42',
1692
+ expect.objectContaining({ method: 'GET' }),
1693
+ );
1694
+ });
1695
+
1696
+ it('returns null when the issue no longer exists', async () => {
1697
+ jest.spyOn(global, 'fetch').mockResolvedValueOnce(
1698
+ new Response('Not Found', {
1699
+ status: 404,
1700
+ statusText: 'Not Found',
1701
+ }),
1702
+ );
1703
+
1704
+ const { repository } = createApiV3CheerioRestIssueRepository();
1705
+ const result = await repository.getIssueBodyByUrl(
1706
+ 'https://github.com/HiromiShikata/test-repository/issues/42',
1707
+ );
1708
+
1709
+ expect(result).toBeNull();
1710
+ });
1711
+
1712
+ it('throws when the API fails for a reason other than the issue being absent', async () => {
1713
+ jest.spyOn(global, 'fetch').mockResolvedValueOnce(
1714
+ new Response('Bad Gateway', {
1715
+ status: 502,
1716
+ statusText: 'Bad Gateway',
1717
+ }),
1718
+ );
1719
+
1720
+ const { repository } = createApiV3CheerioRestIssueRepository();
1721
+ await expect(
1722
+ repository.getIssueBodyByUrl(
1723
+ 'https://github.com/HiromiShikata/test-repository/issues/42',
1724
+ ),
1725
+ ).rejects.toThrow('502');
1726
+ });
1727
+ });
1728
+
1671
1729
  describe('getIssueOrPullRequestComments', () => {
1672
1730
  afterEach(() => {
1673
1731
  jest.restoreAllMocks();
@@ -2339,6 +2397,9 @@ describe('ApiV3CheerioRestIssueRepository', () => {
2339
2397
  prNumber: number;
2340
2398
  reviewThreadsAfter: string | null;
2341
2399
  }) => Response | object;
2400
+ slimPullRequestBatch?: (
2401
+ variables: Record<string, unknown>,
2402
+ ) => Response | object;
2342
2403
  branchRules?: (url: string) => Response | object;
2343
2404
  branchDetail?: (url: string) => Response | object;
2344
2405
  checkRuns?: (url: string) => Response | object;
@@ -2363,6 +2424,7 @@ describe('ApiV3CheerioRestIssueRepository', () => {
2363
2424
  prNumber: number;
2364
2425
  reviewThreadsAfter: string | null;
2365
2426
  };
2427
+ rawVariables: Record<string, unknown>;
2366
2428
  };
2367
2429
 
2368
2430
  const parseGraphqlRequestBody = (init?: RequestInit): GraphqlRequestBody => {
@@ -2401,6 +2463,7 @@ describe('ApiV3CheerioRestIssueRepository', () => {
2401
2463
  return {
2402
2464
  query: parsed.query,
2403
2465
  variables: { owner, repo, prNumber, reviewThreadsAfter },
2466
+ rawVariables: Object.fromEntries(Object.entries(variables)),
2404
2467
  };
2405
2468
  };
2406
2469
 
@@ -2421,6 +2484,12 @@ describe('ApiV3CheerioRestIssueRepository', () => {
2421
2484
  ) {
2422
2485
  return toResponse(routes.mergeability());
2423
2486
  }
2487
+ if (
2488
+ body.query.includes('PullRequestSlimStatusBatch') &&
2489
+ routes.slimPullRequestBatch
2490
+ ) {
2491
+ return toResponse(routes.slimPullRequestBatch(body.rawVariables));
2492
+ }
2424
2493
  if (body.query.includes('headRefOid') && routes.slimPullRequest) {
2425
2494
  return toResponse(routes.slimPullRequest(body.variables));
2426
2495
  }
@@ -2472,6 +2541,14 @@ describe('ApiV3CheerioRestIssueRepository', () => {
2472
2541
  body.includes('mergeStateStatus'),
2473
2542
  );
2474
2543
 
2544
+ const countSlimPullRequestBatchQueries = (fetchSpy: FetchSpy): number =>
2545
+ countCallsMatching(
2546
+ fetchSpy,
2547
+ (url, body) =>
2548
+ url === 'https://api.github.com/graphql' &&
2549
+ body.includes('PullRequestSlimStatusBatch'),
2550
+ );
2551
+
2475
2552
  const buildSlimPullRequestResponse = (
2476
2553
  overrides: {
2477
2554
  url?: string;
@@ -2508,6 +2585,181 @@ describe('ApiV3CheerioRestIssueRepository', () => {
2508
2585
  },
2509
2586
  });
2510
2587
 
2588
+ const buildSlimPullRequestNode = (
2589
+ overrides: Parameters<typeof buildSlimPullRequestResponse>[0] = {},
2590
+ ) => buildSlimPullRequestResponse(overrides).data.repository.pullRequest;
2591
+
2592
+ describe('getOpenPullRequests batched resolution', () => {
2593
+ afterEach(() => {
2594
+ jest.restoreAllMocks();
2595
+ });
2596
+
2597
+ const prUrlOf = (prNumber: number): string =>
2598
+ `https://github.com/HiromiShikata/test-repository/pull/${prNumber}`;
2599
+
2600
+ it('resolves every pull request state in one GraphQL request', async () => {
2601
+ const prNumbers = [31, 32, 33];
2602
+ const capturedVariables: Record<string, unknown>[] = [];
2603
+ const fetchSpy = mockFetchRoutes({
2604
+ slimPullRequestBatch: (variables) => {
2605
+ capturedVariables.push(variables);
2606
+ return {
2607
+ data: Object.fromEntries(
2608
+ prNumbers.map((prNumber, index) => [
2609
+ `pullRequest${index}`,
2610
+ {
2611
+ pullRequest: buildSlimPullRequestNode({
2612
+ url: prUrlOf(prNumber),
2613
+ headRefName: `feature-${prNumber}`,
2614
+ }),
2615
+ },
2616
+ ]),
2617
+ ),
2618
+ };
2619
+ },
2620
+ checkRuns: () => ({
2621
+ total_count: 1,
2622
+ check_runs: [{ id: 1, name: 'ci', conclusion: 'success' }],
2623
+ }),
2624
+ });
2625
+
2626
+ const { repository } = createApiV3CheerioRestIssueRepository();
2627
+ const resolved = await repository.getOpenPullRequests(
2628
+ prNumbers.map(prUrlOf),
2629
+ );
2630
+
2631
+ expect(countSlimPullRequestBatchQueries(fetchSpy)).toBe(1);
2632
+ expect(capturedVariables).toHaveLength(1);
2633
+ expect(capturedVariables[0].prNumber0).toBe(31);
2634
+ expect(capturedVariables[0].prNumber2).toBe(33);
2635
+ expect(Array.from(resolved.keys())).toEqual(prNumbers.map(prUrlOf));
2636
+ for (const prNumber of prNumbers) {
2637
+ expect(resolved.get(prUrlOf(prNumber))?.branchName).toBe(
2638
+ `feature-${prNumber}`,
2639
+ );
2640
+ }
2641
+ });
2642
+
2643
+ it('resolves a pull request the batch reports as not found to an absent pull request', async () => {
2644
+ mockFetchRoutes({
2645
+ slimPullRequestBatch: () => ({
2646
+ data: { pullRequest0: null },
2647
+ errors: [
2648
+ {
2649
+ message: 'Could not resolve to a PullRequest',
2650
+ type: 'NOT_FOUND',
2651
+ path: ['pullRequest0', 'pullRequest'],
2652
+ },
2653
+ ],
2654
+ }),
2655
+ });
2656
+
2657
+ const { repository } = createApiV3CheerioRestIssueRepository();
2658
+ const resolved = await repository.getOpenPullRequests([prUrlOf(31)]);
2659
+
2660
+ expect(resolved.has(prUrlOf(31))).toBe(true);
2661
+ expect(resolved.get(prUrlOf(31))).toBeNull();
2662
+ });
2663
+
2664
+ it('omits a pull request whose alias failed for a reason other than not found so an unknown state is not read as absent', async () => {
2665
+ mockFetchRoutes({
2666
+ slimPullRequestBatch: () => ({
2667
+ data: { pullRequest0: null },
2668
+ errors: [
2669
+ {
2670
+ message: 'Something went wrong while executing your query',
2671
+ type: 'SERVICE_UNAVAILABLE',
2672
+ path: ['pullRequest0', 'pullRequest'],
2673
+ },
2674
+ ],
2675
+ }),
2676
+ });
2677
+
2678
+ const { repository } = createApiV3CheerioRestIssueRepository();
2679
+ const resolved = await repository.getOpenPullRequests([prUrlOf(31)]);
2680
+
2681
+ expect(resolved.has(prUrlOf(31))).toBe(false);
2682
+ });
2683
+
2684
+ it('omits a pull request whose review threads do not fit one page so it is resolved by the paginating path', async () => {
2685
+ mockFetchRoutes({
2686
+ slimPullRequestBatch: () => ({
2687
+ data: {
2688
+ pullRequest0: {
2689
+ pullRequest: buildSlimPullRequestNode({
2690
+ reviewThreads: {
2691
+ pageInfo: { endCursor: 'cursor-1', hasNextPage: true },
2692
+ nodes: [{ isResolved: true }],
2693
+ },
2694
+ }),
2695
+ },
2696
+ },
2697
+ }),
2698
+ });
2699
+
2700
+ const { repository } = createApiV3CheerioRestIssueRepository();
2701
+ const resolved = await repository.getOpenPullRequests([prUrlOf(31)]);
2702
+
2703
+ expect(resolved.has(prUrlOf(31))).toBe(false);
2704
+ });
2705
+
2706
+ it('leaves every url of a failed batch unresolved so the caller falls back to the single query', async () => {
2707
+ mockFetchRoutes({
2708
+ slimPullRequestBatch: () => ({
2709
+ data: null,
2710
+ errors: [
2711
+ { message: 'Something went wrong while executing your query' },
2712
+ ],
2713
+ }),
2714
+ });
2715
+
2716
+ const { repository } = createApiV3CheerioRestIssueRepository();
2717
+ const resolved = await repository.getOpenPullRequests([
2718
+ prUrlOf(31),
2719
+ prUrlOf(32),
2720
+ ]);
2721
+
2722
+ expect(resolved.size).toBe(0);
2723
+ });
2724
+
2725
+ it('resolves an issue url to an absent pull request without issuing any request', async () => {
2726
+ const fetchSpy = mockFetchRoutes({});
2727
+ const issueUrl =
2728
+ 'https://github.com/HiromiShikata/test-repository/issues/31';
2729
+
2730
+ const { repository } = createApiV3CheerioRestIssueRepository();
2731
+ const resolved = await repository.getOpenPullRequests([issueUrl]);
2732
+
2733
+ expect(resolved.get(issueUrl)).toBeNull();
2734
+ expect(fetchSpy).not.toHaveBeenCalled();
2735
+ });
2736
+
2737
+ it('splits more pull requests than one batch holds into separate GraphQL requests', async () => {
2738
+ const prNumbers = Array.from({ length: 101 }, (_, index) => 1000 + index);
2739
+ const fetchSpy = mockFetchRoutes({
2740
+ slimPullRequestBatch: (variables) => ({
2741
+ data: Object.fromEntries(
2742
+ Object.keys(variables)
2743
+ .filter((name) => name.startsWith('prNumber'))
2744
+ .map((name) => [
2745
+ `pullRequest${name.slice('prNumber'.length)}`,
2746
+ { pullRequest: buildSlimPullRequestNode() },
2747
+ ]),
2748
+ ),
2749
+ }),
2750
+ checkRuns: () => ({ total_count: 0, check_runs: [] }),
2751
+ });
2752
+
2753
+ const { repository } = createApiV3CheerioRestIssueRepository();
2754
+ const resolved = await repository.getOpenPullRequests(
2755
+ prNumbers.map(prUrlOf),
2756
+ );
2757
+
2758
+ expect(countSlimPullRequestBatchQueries(fetchSpy)).toBe(2);
2759
+ expect(resolved.size).toBe(prNumbers.length);
2760
+ });
2761
+ });
2762
+
2511
2763
  describe('getOpenPullRequest CI state computation', () => {
2512
2764
  afterEach(() => {
2513
2765
  jest.restoreAllMocks();