npm-cli-gh-issue-preparator 1.30.0 → 1.31.1

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 (40) hide show
  1. package/CHANGELOG.md +28 -10
  2. package/README.md +8 -0
  3. package/bin/adapter/entry-points/cli/index.js +14 -14
  4. package/bin/adapter/entry-points/cli/index.js.map +1 -1
  5. package/bin/adapter/repositories/GraphqlIssueRepository.js +217 -94
  6. package/bin/adapter/repositories/GraphqlIssueRepository.js.map +1 -1
  7. package/bin/adapter/repositories/NodeLocalCommandRunner.js +3 -3
  8. package/bin/adapter/repositories/NodeLocalCommandRunner.js.map +1 -1
  9. package/bin/adapter/repositories/TowerDefenceIssueRepository.js +48 -10
  10. package/bin/adapter/repositories/TowerDefenceIssueRepository.js.map +1 -1
  11. package/bin/adapter/repositories/TowerDefenceProjectRepository.js +40 -4
  12. package/bin/adapter/repositories/TowerDefenceProjectRepository.js.map +1 -1
  13. package/bin/domain/usecases/StartPreparationUseCase.js +9 -5
  14. package/bin/domain/usecases/StartPreparationUseCase.js.map +1 -1
  15. package/package.json +1 -1
  16. package/src/adapter/entry-points/cli/index.test.ts +86 -26
  17. package/src/adapter/entry-points/cli/index.ts +22 -17
  18. package/src/adapter/repositories/GraphqlIssueRepository.test.ts +1206 -77
  19. package/src/adapter/repositories/GraphqlIssueRepository.ts +256 -98
  20. package/src/adapter/repositories/NodeLocalCommandRunner.test.ts +12 -12
  21. package/src/adapter/repositories/NodeLocalCommandRunner.ts +7 -4
  22. package/src/adapter/repositories/TowerDefenceIssueRepository.test.ts +164 -0
  23. package/src/adapter/repositories/TowerDefenceIssueRepository.ts +65 -10
  24. package/src/adapter/repositories/TowerDefenceProjectRepository.test.ts +134 -0
  25. package/src/adapter/repositories/TowerDefenceProjectRepository.ts +57 -4
  26. package/src/domain/usecases/StartPreparationUseCase.test.ts +134 -74
  27. package/src/domain/usecases/StartPreparationUseCase.ts +10 -6
  28. package/src/domain/usecases/adapter-interfaces/LocalCommandRunner.ts +4 -1
  29. package/types/adapter/entry-points/cli/index.d.ts.map +1 -1
  30. package/types/adapter/repositories/GraphqlIssueRepository.d.ts.map +1 -1
  31. package/types/adapter/repositories/NodeLocalCommandRunner.d.ts +4 -1
  32. package/types/adapter/repositories/NodeLocalCommandRunner.d.ts.map +1 -1
  33. package/types/adapter/repositories/TowerDefenceIssueRepository.d.ts +9 -1
  34. package/types/adapter/repositories/TowerDefenceIssueRepository.d.ts.map +1 -1
  35. package/types/adapter/repositories/TowerDefenceProjectRepository.d.ts +9 -1
  36. package/types/adapter/repositories/TowerDefenceProjectRepository.d.ts.map +1 -1
  37. package/types/domain/usecases/StartPreparationUseCase.d.ts +1 -1
  38. package/types/domain/usecases/StartPreparationUseCase.d.ts.map +1 -1
  39. package/types/domain/usecases/adapter-interfaces/LocalCommandRunner.d.ts +4 -1
  40. package/types/domain/usecases/adapter-interfaces/LocalCommandRunner.d.ts.map +1 -1
package/CHANGELOG.md CHANGED
@@ -1,20 +1,44 @@
1
- # [1.30.0](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/compare/v1.29.1...v1.30.0) (2026-05-05)
1
+ ## [1.31.1](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/compare/v1.31.0...v1.31.1) (2026-05-05)
2
2
 
3
3
 
4
4
  ### Bug Fixes
5
5
 
6
- * **core:** distinguish null branchName from non-OPEN PR; skip single PR with null branch; add test ([6081073](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/6081073e1228d021df1de723d5da44ed379203e1))
6
+ * **core:** add retry with backoff to GraphqlIssueRepository, TowerDefenceIssueRepository, TowerDefenceProjectRepository ([87d4f0c](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/87d4f0c5013c0f5ac50f1ca7ef00c0d28d341f19))
7
+ * **core:** address review comments - throw on non-OK HTTP, always retry on rate-limit, narrow TypeError ([d114049](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/d1140492252647f416a9e816b761ab6b00f87196))
8
+ * **core:** address review comments on PR [#295](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/issues/295) ([ee3fb9f](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/ee3fb9f78619d00b4331cef119a54b594a509c8b)), closes [#294](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/issues/294)
9
+
10
+ # [1.31.0](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/compare/v1.30.0...v1.31.0) (2026-05-05)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * **core:** address remaining review comments on configFilePath PR ([acd366c](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/acd366ca467be0a2083f844b98ffb444d93414a1))
16
+ * **core:** address shell injection and config contract review comments ([8ae5958](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/8ae595890464fe78c0579c1c4dea0640e06327f0))
17
+ * **core:** rebuild bin/types artifacts and remove duplicate changelog entry ([9a62151](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/9a62151f254932229aced608897ca94af2cbb9cf))
18
+ * **core:** validate projectUrl presence in config YAML before startDaemon proceeds ([b2a7599](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/b2a75990a04688defceaf73465028670b8938a8c))
7
19
 
8
20
 
9
21
  ### Features
10
22
 
11
- * **core:** always pass --branch to wrapper; skip non-OPEN and ambiguous PR cases ([a7f95b5](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/a7f95b513bdea5ef01a2139828f8a2a428da8dd5))
23
+ * **core:** pass --configFilePath to wrapper script instead of project URL ([4dde683](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/4dde683b3e496b24db4df27b4a0a5317fdb873ac))
12
24
 
13
25
  # [Unreleased]
14
26
 
27
+ ### Breaking Changes
28
+
29
+ * **core:** `StartPreparationUseCase.run()` now accepts `configFilePath: string` instead of `logFilePath: string | null`. The wrapper command is rewritten to `aw <issueUrl> <agent> <model> --configFilePath <path>`, passing the config file path as the single source of truth. The positional `projectUrl` argument and the `--logFilePath` argument are no longer included in the wrapper invocation. Because the wrapper script reads project-scoped values (including `projectUrl`) directly from the config file, `projectUrl` MUST be present in the config YAML when using `startDaemon`; providing it only via the `--projectUrl` CLI flag is no longer sufficient and will result in an error.
30
+
31
+ # [1.30.0](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/compare/v1.29.1...v1.30.0) (2026-05-05)
32
+
33
+
34
+ ### Bug Fixes
35
+
36
+ * **core:** distinguish null branchName from non-OPEN PR; skip single PR with null branch; add test ([6081073](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/6081073e1228d021df1de723d5da44ed379203e1))
37
+
38
+
15
39
  ### Features
16
40
 
17
- * **core:** always pass --branch to wrapper; skip non-OPEN PRs and ambiguous multi-PR issues; derive i<number> branch for issues with no related open PR
41
+ * **core:** always pass --branch to wrapper; skip non-OPEN and ambiguous PR cases ([a7f95b5](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/a7f95b513bdea5ef01a2139828f8a2a428da8dd5))
18
42
 
19
43
  ## [1.29.1](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/compare/v1.29.0...v1.29.1) (2026-05-05)
20
44
 
@@ -36,12 +60,6 @@
36
60
 
37
61
  * **core:** remove hardcoded LLM model default; require explicit config or label ([776b2b8](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/776b2b8393af72a05a30273c548870e406b22296))
38
62
 
39
- # [Unreleased]
40
-
41
- ### Breaking Changes
42
-
43
- * **core:** remove hardcoded default LLM model; `defaultLlmModelName` or an `llm-model:` label is now required — omitting both logs an error and skips the issue instead of silently using the old `claude-sonnet-4.6` literal (use CLI-executable forms such as `claude-sonnet-4-6` or alias `sonnet`)
44
-
45
63
  # [1.28.0](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/compare/v1.27.0...v1.28.0) (2026-05-03)
46
64
 
47
65
 
package/README.md CHANGED
@@ -55,6 +55,14 @@ Only the content inside the `<details><summary>config</summary>` section is pars
55
55
 
56
56
  - `thresholdForAutoReject` (default: `3`) - Number of consecutive auto-rejection comments before automatically escalating the issue to the awaiting quality check status. Can be set via CLI argument `--thresholdForAutoReject`, config file, or GitHub Project README config.
57
57
 
58
+ ### Wrapper Script Contract
59
+
60
+ `startDaemon` invokes a wrapper script (`aw`) for each issue. The wrapper receives `--configFilePath <path>` as the single source of truth for project-scoped values. The wrapper is expected to call `notifyFinishedIssuePreparation --configFilePath <path> --issueUrl <url>`.
61
+
62
+ `projectUrl` MUST be present in the config YAML file when using `startDaemon`. The wrapper script reads `projectUrl` directly from the config file; providing it only via `--projectUrl` CLI flag is not sufficient and will cause `startDaemon` to fail with an error.
63
+
64
+ `awaitingWorkspaceStatus`, `preparationStatus`, and `awaitingQualityCheckStatus` can be provided in the config YAML or in the GitHub Project README (since the wrapper can fetch the README using `projectUrl` from the config file). `projectUrl` and `configFilePath` cannot be set via Project README since the README is fetched using these values.
65
+
58
66
  ### Issue Labels
59
67
 
60
68
  You can use GitHub issue labels to customize the agent and model selection for individual issues:
@@ -193,7 +193,6 @@ program
193
193
  .option('--defaultAgentName <name>', 'Default agent name')
194
194
  .option('--defaultLlmModelName <name>', 'Default LLM model name')
195
195
  .option('--defaultLlmAgentName <name>', 'Default LLM agent name')
196
- .option('--logFilePath <path>', 'Path to log file')
197
196
  .option('--maximumPreparingIssuesCount <count>', 'Maximum number of issues in preparation status (default: 6)')
198
197
  .option('--utilizationPercentageThreshold <percentage>', 'Claude usage percentage threshold for skipping preparation (default: 90)')
199
198
  .option('--allowedIssueAuthors <authors>', 'Comma-separated list of allowed issue authors (default: all authors allowed)')
@@ -211,7 +210,6 @@ program
211
210
  defaultAgentName: options.defaultAgentName,
212
211
  defaultLlmModelName: options.defaultLlmModelName,
213
212
  defaultLlmAgentName: options.defaultLlmAgentName,
214
- logFilePath: options.logFilePath,
215
213
  maximumPreparingIssuesCount: options.maximumPreparingIssuesCount
216
214
  ? Number(options.maximumPreparingIssuesCount)
217
215
  : undefined,
@@ -220,26 +218,28 @@ program
220
218
  : undefined,
221
219
  allowedIssueAuthors: options.allowedIssueAuthors,
222
220
  };
221
+ if (!configFileValues.projectUrl) {
222
+ console.error('projectUrl must be set in the config YAML file when using startDaemon. The wrapper script reads project-scoped values directly from the config file. Providing it via --projectUrl CLI flag alone is not sufficient.');
223
+ process.exit(1);
224
+ }
225
+ if (options.projectUrl &&
226
+ options.projectUrl !== configFileValues.projectUrl) {
227
+ console.error(`--projectUrl '${options.projectUrl}' does not match the projectUrl in the config file '${configFileValues.projectUrl}'. The wrapper reads projectUrl from the config file; a differing --projectUrl value would cause startDaemon to prepare issues in one project while the wrapper notifies status in another.`);
228
+ process.exit(1);
229
+ }
223
230
  const tempProjectUrl = cliOverrides.projectUrl ?? configFileValues.projectUrl;
224
231
  let readmeOverrides = {};
225
- if (tempProjectUrl) {
226
- const readme = await fetchProjectReadme(tempProjectUrl, token);
227
- if (readme) {
228
- readmeOverrides = parseProjectReadmeConfig(readme);
229
- }
232
+ const readme = await fetchProjectReadme(tempProjectUrl, token);
233
+ if (readme) {
234
+ readmeOverrides = parseProjectReadmeConfig(readme);
230
235
  }
231
236
  const config = mergeConfigs(configFileValues, cliOverrides, readmeOverrides);
232
- const projectUrl = config.projectUrl;
237
+ const projectUrl = tempProjectUrl;
233
238
  const awaitingWorkspaceStatus = config.awaitingWorkspaceStatus;
234
239
  const preparationStatus = config.preparationStatus;
235
240
  const defaultAgentName = config.defaultAgentName;
236
241
  const defaultLlmModelName = config.defaultLlmModelName;
237
242
  const defaultLlmAgentName = config.defaultLlmAgentName;
238
- const logFilePath = config.logFilePath;
239
- if (!projectUrl) {
240
- console.error('projectUrl is required. Provide via --projectUrl, config file, or project README.');
241
- process.exit(1);
242
- }
243
243
  if (!awaitingWorkspaceStatus) {
244
244
  console.error('awaitingWorkspaceStatus is required. Provide via --awaitingWorkspaceStatus, config file, or project README.');
245
245
  process.exit(1);
@@ -306,7 +306,7 @@ program
306
306
  defaultAgentName,
307
307
  defaultLlmModelName: defaultLlmModelName ?? null,
308
308
  defaultLlmAgentName: defaultLlmAgentName ?? null,
309
- logFilePath: logFilePath ?? null,
309
+ configFilePath: options.configFilePath,
310
310
  maximumPreparingIssuesCount,
311
311
  utilizationPercentageThreshold,
312
312
  allowedIssueAuthors,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/cli/index.ts"],"names":[],"mappings":"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"}
@@ -290,30 +290,67 @@ class GraphqlIssueRepository {
290
290
  let after = null;
291
291
  let hasNextPage = true;
292
292
  while (hasNextPage) {
293
- const response = await fetch('https://api.github.com/graphql', {
294
- method: 'POST',
295
- headers: {
296
- Authorization: `Bearer ${this.token}`,
297
- 'Content-Type': 'application/json',
298
- },
299
- body: JSON.stringify({
300
- query,
301
- variables: {
302
- owner,
303
- number: projectNumber,
304
- after,
305
- },
306
- }),
307
- });
308
- if (!response.ok) {
309
- return null;
293
+ let pageResult = null;
294
+ for (let attempt = 0; attempt <= this.retryDelaysMs.length; attempt++) {
295
+ if (attempt > 0) {
296
+ const delay = this.retryDelaysMs[attempt - 1];
297
+ console.log(`GitHub API rate limited fetching status options for project ${projectUrl}, retrying in ${delay / 1000}s... (attempt ${attempt}/${this.retryDelaysMs.length})`);
298
+ await this.sleep(delay);
299
+ }
300
+ let response;
301
+ try {
302
+ response = await fetch('https://api.github.com/graphql', {
303
+ method: 'POST',
304
+ headers: {
305
+ Authorization: `Bearer ${this.token}`,
306
+ 'Content-Type': 'application/json',
307
+ },
308
+ body: JSON.stringify({
309
+ query,
310
+ variables: {
311
+ owner,
312
+ number: projectNumber,
313
+ after,
314
+ },
315
+ }),
316
+ });
317
+ }
318
+ catch (fetchError) {
319
+ if (attempt < this.retryDelaysMs.length)
320
+ continue;
321
+ throw fetchError;
322
+ }
323
+ if (response.status === 429) {
324
+ if (attempt < this.retryDelaysMs.length)
325
+ continue;
326
+ break;
327
+ }
328
+ if (!response.ok) {
329
+ throw new Error(`GitHub API error fetching status options for project ${projectUrl}: HTTP ${response.status}`);
330
+ }
331
+ const responseData = await response.json();
332
+ if (!isStatusFieldsResponse(responseData)) {
333
+ return null;
334
+ }
335
+ if (responseData.errors &&
336
+ responseData.errors.length > 0 &&
337
+ (0, GraphqlRateLimitHelper_1.isRateLimitError)(responseData.errors)) {
338
+ const hasData = !!(responseData.data?.organization?.projectV2 ||
339
+ responseData.data?.user?.projectV2);
340
+ if (!hasData) {
341
+ if (attempt < this.retryDelaysMs.length)
342
+ continue;
343
+ break;
344
+ }
345
+ }
346
+ pageResult = responseData;
347
+ break;
310
348
  }
311
- const responseData = await response.json();
312
- if (!isStatusFieldsResponse(responseData)) {
313
- return null;
349
+ if (!pageResult) {
350
+ throw new Error(`GitHub API rate limit exceeded fetching status options for project ${projectUrl}, all retries exhausted`);
314
351
  }
315
- const result = responseData;
316
- const projectData = result.data?.organization?.projectV2 || result.data?.user?.projectV2;
352
+ const projectData = pageResult.data?.organization?.projectV2 ||
353
+ pageResult.data?.user?.projectV2;
317
354
  if (!projectData) {
318
355
  return null;
319
356
  }
@@ -355,32 +392,59 @@ class GraphqlIssueRepository {
355
392
  }
356
393
  }
357
394
  `;
358
- const response = await fetch('https://api.github.com/graphql', {
359
- method: 'POST',
360
- headers: {
361
- Authorization: `Bearer ${this.token}`,
362
- 'Content-Type': 'application/json',
363
- },
364
- body: JSON.stringify({
365
- query: mutation,
366
- variables: {
367
- projectId: statusInfo.projectId,
368
- itemId: issue.itemId,
369
- fieldId: statusInfo.fieldId,
370
- value: { singleSelectOptionId: statusInfo.optionId },
371
- },
372
- }),
373
- });
374
- if (!response.ok) {
375
- throw new Error(`GitHub API error`);
376
- }
377
- const responseData = await response.json();
378
- if (!isUpdateItemResponse(responseData)) {
379
- throw new Error('Invalid API response format');
380
- }
381
- if (responseData.errors) {
382
- throw new Error(`GraphQL errors: ${JSON.stringify(responseData.errors)}`);
395
+ for (let attempt = 0; attempt <= this.retryDelaysMs.length; attempt++) {
396
+ if (attempt > 0) {
397
+ const delay = this.retryDelaysMs[attempt - 1];
398
+ console.log(`GitHub API rate limited updating project item, retrying in ${delay / 1000}s... (attempt ${attempt}/${this.retryDelaysMs.length})`);
399
+ await this.sleep(delay);
400
+ }
401
+ let response;
402
+ try {
403
+ response = await fetch('https://api.github.com/graphql', {
404
+ method: 'POST',
405
+ headers: {
406
+ Authorization: `Bearer ${this.token}`,
407
+ 'Content-Type': 'application/json',
408
+ },
409
+ body: JSON.stringify({
410
+ query: mutation,
411
+ variables: {
412
+ projectId: statusInfo.projectId,
413
+ itemId: issue.itemId,
414
+ fieldId: statusInfo.fieldId,
415
+ value: { singleSelectOptionId: statusInfo.optionId },
416
+ },
417
+ }),
418
+ });
419
+ }
420
+ catch (fetchError) {
421
+ if (attempt < this.retryDelaysMs.length)
422
+ continue;
423
+ throw fetchError;
424
+ }
425
+ if (response.status === 429) {
426
+ if (attempt < this.retryDelaysMs.length)
427
+ continue;
428
+ break;
429
+ }
430
+ if (!response.ok) {
431
+ throw new Error(`GitHub API error: HTTP ${response.status}`);
432
+ }
433
+ const responseData = await response.json();
434
+ if (!isUpdateItemResponse(responseData)) {
435
+ throw new Error('Invalid API response format');
436
+ }
437
+ if (responseData.errors && responseData.errors.length > 0) {
438
+ if ((0, GraphqlRateLimitHelper_1.isRateLimitError)(responseData.errors)) {
439
+ if (attempt < this.retryDelaysMs.length)
440
+ continue;
441
+ break;
442
+ }
443
+ throw new Error(`GraphQL errors: ${JSON.stringify(responseData.errors)}`);
444
+ }
445
+ return;
383
446
  }
447
+ throw new Error('GitHub API rate limit exceeded updating project item, all retries exhausted');
384
448
  }
385
449
  async updateNextActionDate(issueUrl, project, date) {
386
450
  if (!project.nextActionDate) {
@@ -634,30 +698,63 @@ class GraphqlIssueRepository {
634
698
  let after = null;
635
699
  let hasNextPage = true;
636
700
  while (hasNextPage) {
637
- const response = await fetch('https://api.github.com/graphql', {
638
- method: 'POST',
639
- headers: {
640
- Authorization: `Bearer ${this.token}`,
641
- 'Content-Type': 'application/json',
642
- },
643
- body: JSON.stringify({
644
- query,
645
- variables: {
646
- owner,
647
- repo,
648
- issueNumber,
649
- after,
650
- },
651
- }),
652
- });
653
- if (!response.ok) {
654
- throw new Error(`Failed to fetch issue timeline from GitHub GraphQL API`);
701
+ let pageResult = null;
702
+ for (let attempt = 0; attempt <= this.retryDelaysMs.length; attempt++) {
703
+ if (attempt > 0) {
704
+ const delay = this.retryDelaysMs[attempt - 1];
705
+ console.log(`GitHub API rate limited fetching issue timeline for ${issueUrl}, retrying in ${delay / 1000}s... (attempt ${attempt}/${this.retryDelaysMs.length})`);
706
+ await this.sleep(delay);
707
+ }
708
+ let response;
709
+ try {
710
+ response = await fetch('https://api.github.com/graphql', {
711
+ method: 'POST',
712
+ headers: {
713
+ Authorization: `Bearer ${this.token}`,
714
+ 'Content-Type': 'application/json',
715
+ },
716
+ body: JSON.stringify({
717
+ query,
718
+ variables: {
719
+ owner,
720
+ repo,
721
+ issueNumber,
722
+ after,
723
+ },
724
+ }),
725
+ });
726
+ }
727
+ catch (fetchError) {
728
+ if (attempt < this.retryDelaysMs.length)
729
+ continue;
730
+ throw fetchError;
731
+ }
732
+ if (response.status === 429) {
733
+ if (attempt < this.retryDelaysMs.length)
734
+ continue;
735
+ break;
736
+ }
737
+ if (!response.ok) {
738
+ throw new Error(`Failed to fetch issue timeline from GitHub GraphQL API: HTTP ${response.status}`);
739
+ }
740
+ const responseData = await response.json();
741
+ if (!isIssueTimelineResponse(responseData)) {
742
+ throw new Error('Unexpected response shape when fetching issue timeline from GitHub GraphQL API');
743
+ }
744
+ if (responseData.errors &&
745
+ responseData.errors.length > 0 &&
746
+ (0, GraphqlRateLimitHelper_1.isRateLimitError)(responseData.errors)) {
747
+ if (attempt < this.retryDelaysMs.length)
748
+ continue;
749
+ break;
750
+ }
751
+ pageResult = responseData;
752
+ break;
655
753
  }
656
- const responseData = await response.json();
657
- if (!isIssueTimelineResponse(responseData)) {
658
- throw new Error('Unexpected response shape when fetching issue timeline from GitHub GraphQL API');
754
+ if (!pageResult) {
755
+ throw new Error(`GitHub API rate limit exceeded fetching issue timeline for ${issueUrl}, all retries exhausted`);
659
756
  }
660
- const result = responseData;
757
+ const result = pageResult;
661
758
  const issueData = result.data?.repository?.issue;
662
759
  if (!issueData) {
663
760
  throw new Error('Issue not found when fetching timeline from GitHub GraphQL API');
@@ -763,32 +860,58 @@ class GraphqlIssueRepository {
763
860
  }
764
861
  }
765
862
  `;
766
- const response = await fetch('https://api.github.com/graphql', {
767
- method: 'POST',
768
- headers: {
769
- Authorization: `Bearer ${this.token}`,
770
- 'Content-Type': 'application/json',
771
- },
772
- body: JSON.stringify({
773
- query,
774
- variables: { owner, repo, prNumber },
775
- }),
776
- });
777
- if (!response.ok) {
778
- throw new Error('Failed to fetch pull request from GitHub GraphQL API');
779
- }
780
- const responseData = await response.json();
781
- if (!isDirectPullRequestResponse(responseData)) {
782
- throw new Error('Unexpected response shape when fetching pull request from GitHub GraphQL API');
783
- }
784
- if (responseData.errors) {
785
- throw new Error(`GraphQL errors: ${JSON.stringify(responseData.errors)}`);
786
- }
787
- const pr = responseData.data?.repository?.pullRequest;
788
- if (!pr || pr.state !== 'OPEN') {
789
- return null;
863
+ for (let attempt = 0; attempt <= this.retryDelaysMs.length; attempt++) {
864
+ if (attempt > 0) {
865
+ const delay = this.retryDelaysMs[attempt - 1];
866
+ console.log(`GitHub API rate limited fetching pull request ${prUrl}, retrying in ${delay / 1000}s... (attempt ${attempt}/${this.retryDelaysMs.length})`);
867
+ await this.sleep(delay);
868
+ }
869
+ let response;
870
+ try {
871
+ response = await fetch('https://api.github.com/graphql', {
872
+ method: 'POST',
873
+ headers: {
874
+ Authorization: `Bearer ${this.token}`,
875
+ 'Content-Type': 'application/json',
876
+ },
877
+ body: JSON.stringify({
878
+ query,
879
+ variables: { owner, repo, prNumber },
880
+ }),
881
+ });
882
+ }
883
+ catch (fetchError) {
884
+ if (attempt < this.retryDelaysMs.length)
885
+ continue;
886
+ throw fetchError;
887
+ }
888
+ if (response.status === 429) {
889
+ if (attempt < this.retryDelaysMs.length)
890
+ continue;
891
+ break;
892
+ }
893
+ if (!response.ok) {
894
+ throw new Error(`Failed to fetch pull request from GitHub GraphQL API: HTTP ${response.status}`);
895
+ }
896
+ const responseData = await response.json();
897
+ if (!isDirectPullRequestResponse(responseData)) {
898
+ throw new Error('Unexpected response shape when fetching pull request from GitHub GraphQL API');
899
+ }
900
+ if (responseData.errors && responseData.errors.length > 0) {
901
+ if ((0, GraphqlRateLimitHelper_1.isRateLimitError)(responseData.errors)) {
902
+ if (attempt < this.retryDelaysMs.length)
903
+ continue;
904
+ break;
905
+ }
906
+ throw new Error(`GraphQL errors: ${JSON.stringify(responseData.errors)}`);
907
+ }
908
+ const pr = responseData.data?.repository?.pullRequest;
909
+ if (!pr || pr.state !== 'OPEN') {
910
+ return null;
911
+ }
912
+ return this.computePrStatus(pr.url, pr.headRefName, pr.baseRefName, pr);
790
913
  }
791
- return this.computePrStatus(pr.url, pr.headRefName, pr.baseRefName, pr);
914
+ throw new Error(`GitHub API rate limit exceeded fetching pull request ${prUrl}, all retries exhausted`);
792
915
  }
793
916
  }
794
917
  exports.GraphqlIssueRepository = GraphqlIssueRepository;