github-issue-tower-defence-management 2.177.0 → 2.177.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 (32) hide show
  1. package/README.md +2 -1
  2. package/bin/adapter/entry-points/cli/index.js +1 -1
  3. package/bin/adapter/entry-points/cli/index.js.map +1 -1
  4. package/bin/adapter/entry-points/cli/projectConfig.js +15 -0
  5. package/bin/adapter/entry-points/cli/projectConfig.js.map +1 -1
  6. package/bin/adapter/entry-points/console/consoleGithubTokenResolver.js +14 -4
  7. package/bin/adapter/entry-points/console/consoleGithubTokenResolver.js.map +1 -1
  8. package/bin/adapter/entry-points/console/readOnlyTokenRotator.js +139 -18
  9. package/bin/adapter/entry-points/console/readOnlyTokenRotator.js.map +1 -1
  10. package/bin/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.js +126 -32
  11. package/bin/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.js.map +1 -1
  12. package/bin/adapter/repositories/issue/RestIssueRepository.js +115 -28
  13. package/bin/adapter/repositories/issue/RestIssueRepository.js.map +1 -1
  14. package/bin/domain/usecases/DependedIssueURLRestoreUseCase.js +3 -1
  15. package/bin/domain/usecases/DependedIssueURLRestoreUseCase.js.map +1 -1
  16. package/package.json +1 -1
  17. package/types/adapter/entry-points/cli/index.d.ts.map +1 -1
  18. package/types/adapter/entry-points/cli/projectConfig.d.ts +1 -0
  19. package/types/adapter/entry-points/cli/projectConfig.d.ts.map +1 -1
  20. package/types/adapter/entry-points/console/consoleGithubTokenResolver.d.ts +1 -0
  21. package/types/adapter/entry-points/console/consoleGithubTokenResolver.d.ts.map +1 -1
  22. package/types/adapter/entry-points/console/readOnlyTokenRotator.d.ts +10 -2
  23. package/types/adapter/entry-points/console/readOnlyTokenRotator.d.ts.map +1 -1
  24. package/types/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.d.ts +8 -1
  25. package/types/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.d.ts.map +1 -1
  26. package/types/adapter/repositories/issue/RestIssueRepository.d.ts +38 -2
  27. package/types/adapter/repositories/issue/RestIssueRepository.d.ts.map +1 -1
  28. package/types/domain/entities/Issue.d.ts +1 -0
  29. package/types/domain/entities/Issue.d.ts.map +1 -1
  30. package/types/domain/usecases/DependedIssueURLRestoreUseCase.d.ts.map +1 -1
  31. package/types/domain/usecases/adapter-interfaces/IssueRepository.d.ts +3 -1
  32. package/types/domain/usecases/adapter-interfaces/IssueRepository.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"readOnlyTokenRotator.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/readOnlyTokenRotator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readOnlyTokenRotator.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/readOnlyTokenRotator.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ const ClearDependedIssueURLUseCase_1 = require("../../../domain/usecases/ClearDe
6
6
  const storyValueClassify_1 = require("../../../domain/usecases/storyGate/storyValueClassify");
7
7
  const StoryObjectMap_1 = require("../../../domain/entities/StoryObjectMap");
8
8
  const gitHubRawUrl_1 = require("./gitHubRawUrl");
9
+ const RestIssueRepository_1 = require("./RestIssueRepository");
9
10
  const ProjectIssuesCacheRepository_1 = require("../ProjectIssuesCacheRepository");
10
11
  const BaseGitHubRepository_1 = require("../BaseGitHubRepository");
11
12
  const githubGraphqlClient_1 = require("../githubGraphqlClient");
@@ -257,6 +258,23 @@ function isIssueCommentsResponseItem(value) {
257
258
  function isIssueCommentsResponse(value) {
258
259
  return Array.isArray(value) && value.every(isIssueCommentsResponseItem);
259
260
  }
261
+ const isStoredIssueComment = (value) => isRecord(value) &&
262
+ typeof value.id === 'number' &&
263
+ typeof value.author === 'string' &&
264
+ typeof value.body === 'string' &&
265
+ typeof value.createdAt === 'string';
266
+ const isStoredIssueCommentPage = (value) => isRecord(value) &&
267
+ isNullableString(value.etag) &&
268
+ Array.isArray(value.comments) &&
269
+ value.comments.every(isStoredIssueComment);
270
+ const isStoredIssueCommentList = (value) => isRecord(value) &&
271
+ isNullableString(value.issueUpdatedAt) &&
272
+ Array.isArray(value.pages) &&
273
+ value.pages.every(isStoredIssueCommentPage);
274
+ const buildStoredIssueCommentListKey = (owner, repo, issueNumber) => `issueOrPullRequestComments/${owner}/${repo}/${issueNumber}`;
275
+ const readStoredIssueCommentListRevalidationRevision = (storedValue) => isRecord(storedValue) && typeof storedValue.revalidationRevision === 'number'
276
+ ? storedValue.revalidationRevision
277
+ : 0;
260
278
  function isIssueCommentIdResponseItem(value) {
261
279
  return isRecord(value) && typeof value.id === 'number';
262
280
  }
@@ -409,6 +427,7 @@ class ApiV3CheerioRestIssueRepository extends BaseGitHubRepository_1.BaseGitHubR
409
427
  isInProgress: (0, utils_1.normalizeFieldName)(status || '').includes('progress'),
410
428
  isClosed: item.state !== 'OPEN',
411
429
  createdAt: new Date(item.createdAt || '2000-01-01'),
430
+ updatedAt: new Date(item.updatedAt),
412
431
  author: item.author,
413
432
  closingIssueReferenceUrls: item.closingIssueReferenceUrls,
414
433
  plainCrossRepoIssueReferenceUrls: item.plainCrossRepoIssueReferenceUrls,
@@ -437,6 +456,9 @@ class ApiV3CheerioRestIssueRepository extends BaseGitHubRepository_1.BaseGitHubR
437
456
  const createdAt = !('createdAt' in issue) || typeof issue.createdAt !== 'string'
438
457
  ? new Date()
439
458
  : new Date(issue.createdAt);
459
+ const updatedAt = 'updatedAt' in issue && typeof issue.updatedAt === 'string'
460
+ ? new Date(issue.updatedAt)
461
+ : undefined;
440
462
  const closingIssueReferenceUrls = 'closingIssueReferenceUrls' in issue &&
441
463
  Array.isArray(issue.closingIssueReferenceUrls) &&
442
464
  issue.closingIssueReferenceUrls.every((url) => typeof url === 'string')
@@ -458,6 +480,7 @@ class ApiV3CheerioRestIssueRepository extends BaseGitHubRepository_1.BaseGitHubR
458
480
  nextActionDate: nextActionDate,
459
481
  completionDate50PercentConfidence: completionDate50PercentConfidence,
460
482
  createdAt: createdAt,
483
+ updatedAt: updatedAt,
461
484
  closingIssueReferenceUrls: closingIssueReferenceUrls,
462
485
  plainCrossRepoIssueReferenceUrls: plainCrossRepoIssueReferenceUrls,
463
486
  stateReason: stateReason,
@@ -583,9 +606,12 @@ class ApiV3CheerioRestIssueRepository extends BaseGitHubRepository_1.BaseGitHubR
583
606
  false);
584
607
  const cacheHasIssuesMissingStoryOptionIdSchema = cache !== null &&
585
608
  cache.issues.some((issue) => issue.story !== null && issue.storyOptionId === undefined);
609
+ const cacheHasIssuesMissingUpdatedAt = cache !== null &&
610
+ cache.issues.some((issue) => issue.updatedAt === undefined);
586
611
  const effectiveIsFullFetch = isFullFetch ||
587
612
  storyOptionsChanged ||
588
- cacheHasIssuesMissingStoryOptionIdSchema;
613
+ cacheHasIssuesMissingStoryOptionIdSchema ||
614
+ cacheHasIssuesMissingUpdatedAt;
589
615
  if (effectiveIsFullFetch) {
590
616
  const projectMetadataFellBackToCache = cache !== null && project === cache.project;
591
617
  const itemIdsKnownBeforeFetch = new Set(cache?.issues.map((issue) => issue.itemId) ?? []);
@@ -693,6 +719,7 @@ class ApiV3CheerioRestIssueRepository extends BaseGitHubRepository_1.BaseGitHubR
693
719
  isInProgress: false,
694
720
  isClosed: false,
695
721
  createdAt: now,
722
+ updatedAt: now,
696
723
  author: '',
697
724
  closingIssueReferenceUrls: [],
698
725
  plainCrossRepoIssueReferenceUrls: [],
@@ -713,7 +740,12 @@ class ApiV3CheerioRestIssueRepository extends BaseGitHubRepository_1.BaseGitHubR
713
740
  await this.restIssueRepository.updateIssueBody(issue, body);
714
741
  };
715
742
  this.updateIssueCommentBody = async (comment, body) => {
716
- await this.restIssueRepository.updateIssueCommentBody(comment, body);
743
+ const { commentedIssueNumber } = await this.restIssueRepository.updateIssueCommentBody(comment, body);
744
+ if (commentedIssueNumber === null) {
745
+ console.warn(`Stored comment list revalidation marking skipped: the commented issue of comment ${comment.commentId} in ${comment.org}/${comment.repo} is unknown`);
746
+ return;
747
+ }
748
+ await this.markStoredIssueCommentListForRevalidation(`https://github.com/${comment.org}/${comment.repo}/issues/${commentedIssueNumber}`);
717
749
  };
718
750
  this.findIssueInAllIssuesCache = async (url) => {
719
751
  const baseDir = (0, localStorageCacheDirectory_1.localStorageCacheBaseDirectory)();
@@ -988,6 +1020,26 @@ class ApiV3CheerioRestIssueRepository extends BaseGitHubRepository_1.BaseGitHubR
988
1020
  };
989
1021
  this.createComment = async (issue, comment) => {
990
1022
  await this.restIssueRepository.createComment(issue.url, comment);
1023
+ await this.markStoredIssueCommentListForRevalidation(issue.url);
1024
+ };
1025
+ this.markStoredIssueCommentListForRevalidation = async (url) => {
1026
+ try {
1027
+ const { owner, repo, issueNumber } = this.parseIssueUrl(url);
1028
+ const storedIssueCommentListKey = buildStoredIssueCommentListKey(owner, repo, issueNumber);
1029
+ await this.localStorageCacheRepository.withLock(storedIssueCommentListKey, async () => {
1030
+ const storedValue = await this.localStorageCacheRepository.getSingle(storedIssueCommentListKey);
1031
+ await this.localStorageCacheRepository.setSingle(storedIssueCommentListKey, {
1032
+ issueUpdatedAt: null,
1033
+ pages: isStoredIssueCommentList(storedValue)
1034
+ ? storedValue.pages
1035
+ : [],
1036
+ revalidationRevision: readStoredIssueCommentListRevalidationRevision(storedValue) + 1,
1037
+ });
1038
+ });
1039
+ }
1040
+ catch (error) {
1041
+ console.warn(`Stored comment list revalidation marking failed: issueUrl=${url} error=${String(error)}`);
1042
+ }
991
1043
  };
992
1044
  this.updateProjectTextField = async (project, fieldId, issue, text) => {
993
1045
  await this.logDependedIssueUrlFieldWriteLiveItemIdCrossCheck(project, fieldId, issue.url, issue.itemId, 'update');
@@ -2413,7 +2465,21 @@ class ApiV3CheerioRestIssueRepository extends BaseGitHubRepository_1.BaseGitHubR
2413
2465
  }
2414
2466
  return collectedPaths;
2415
2467
  };
2468
+ this.authenticatedUserLoginRequest = null;
2416
2469
  this.getAuthenticatedUserLogin = async () => {
2470
+ const authenticatedUserLoginRequest = this.authenticatedUserLoginRequest ?? this.fetchAuthenticatedUserLogin();
2471
+ this.authenticatedUserLoginRequest = authenticatedUserLoginRequest;
2472
+ try {
2473
+ return await authenticatedUserLoginRequest;
2474
+ }
2475
+ catch (error) {
2476
+ if (this.authenticatedUserLoginRequest === authenticatedUserLoginRequest) {
2477
+ this.authenticatedUserLoginRequest = null;
2478
+ }
2479
+ throw error;
2480
+ }
2481
+ };
2482
+ this.fetchAuthenticatedUserLogin = async () => {
2417
2483
  const response = await this.fetchWithRateLimitRetry(() => fetch('https://api.github.com/user', {
2418
2484
  method: 'GET',
2419
2485
  headers: {
@@ -2677,7 +2743,9 @@ class ApiV3CheerioRestIssueRepository extends BaseGitHubRepository_1.BaseGitHubR
2677
2743
  }
2678
2744
  };
2679
2745
  this.createCommentByUrl = async (issueOrPrUrl, commentBody) => {
2680
- return this.restIssueRepository.createComment(issueOrPrUrl, commentBody);
2746
+ const createdComment = await this.restIssueRepository.createComment(issueOrPrUrl, commentBody);
2747
+ await this.markStoredIssueCommentListForRevalidation(issueOrPrUrl);
2748
+ return createdComment;
2681
2749
  };
2682
2750
  this.fetchIssueBodyResponse = (url) => {
2683
2751
  const { owner, repo, issueNumber } = this.parseIssueUrl(url);
@@ -2714,44 +2782,56 @@ class ApiV3CheerioRestIssueRepository extends BaseGitHubRepository_1.BaseGitHubR
2714
2782
  }
2715
2783
  return this.parseIssueBodyResponse(url, response);
2716
2784
  };
2717
- this.getIssueOrPullRequestComments = async (url) => {
2785
+ this.getIssueOrPullRequestComments = async (url, options) => {
2718
2786
  const { owner, repo, issueNumber } = this.parseIssueUrl(url);
2719
- const perPage = 100;
2720
- const collectedComments = [];
2721
- let page = 1;
2722
- let hasMore = true;
2723
- while (hasMore) {
2724
- const commentsUrl = `https://api.github.com/repos/${encodeURIComponent(owner)}/${encodeURIComponent(repo)}/issues/${issueNumber}/comments?per_page=${perPage}&page=${page}`;
2787
+ const storedIssueCommentListKey = buildStoredIssueCommentListKey(owner, repo, issueNumber);
2788
+ const issueUpdatedAt = options?.issueUpdatedAt?.toISOString() ?? null;
2789
+ const storedValue = await this.localStorageCacheRepository.getSingle(storedIssueCommentListKey);
2790
+ const storedIssueCommentList = isStoredIssueCommentList(storedValue)
2791
+ ? storedValue
2792
+ : null;
2793
+ const revalidationRevisionAtReadStart = readStoredIssueCommentListRevalidationRevision(storedValue);
2794
+ const reusableStoredComments = (0, RestIssueRepository_1.findStoredIssueCommentsReusableForIssueUpdatedAt)(storedIssueCommentList, issueUpdatedAt);
2795
+ if (reusableStoredComments !== null) {
2796
+ return reusableStoredComments;
2797
+ }
2798
+ const fetchedPages = await (0, RestIssueRepository_1.collectIssueCommentPagesReusingStoredPages)(storedIssueCommentList, async (pageNumber, storedPage) => {
2799
+ const commentsUrl = `https://api.github.com/repos/${encodeURIComponent(owner)}/${encodeURIComponent(repo)}/issues/${issueNumber}/comments?per_page=${RestIssueRepository_1.ISSUE_COMMENTS_PER_PAGE}&page=${pageNumber}`;
2725
2800
  const response = await this.fetchWithRateLimitRetry(() => fetch(commentsUrl, {
2726
2801
  method: 'GET',
2727
2802
  headers: {
2728
2803
  Authorization: `Bearer ${this.ghToken}`,
2729
2804
  Accept: 'application/vnd.github+json',
2805
+ ...(storedPage?.etag
2806
+ ? { 'If-None-Match': storedPage.etag }
2807
+ : {}),
2730
2808
  },
2731
2809
  }), { method: 'GET', path: (0, githubRestClient_1.sanitizeRestPath)(commentsUrl) });
2732
- if (!response.ok) {
2733
- await this.throwGitHubError(`Failed to fetch comments for ${url}`, response);
2734
- }
2735
- const body = await response.json();
2736
- if (!isIssueCommentsResponse(body)) {
2737
- throw new Error(`Unexpected response shape when fetching comments for ${url}`);
2738
- }
2739
- for (const comment of body) {
2740
- collectedComments.push({
2741
- id: comment.id,
2742
- author: comment.user?.login ?? '',
2743
- body: comment.body ?? '',
2744
- createdAt: new Date(comment.created_at),
2745
- });
2746
- }
2747
- if (body.length < perPage) {
2748
- hasMore = false;
2749
- }
2750
- else {
2751
- page += 1;
2752
- }
2810
+ return response.status === 304 && storedPage !== null
2811
+ ? storedPage
2812
+ : this.parseIssueCommentsPageResponse(url, response);
2813
+ });
2814
+ await this.localStorageCacheRepository.withLock(storedIssueCommentListKey, async () => {
2815
+ const currentRevalidationRevision = readStoredIssueCommentListRevalidationRevision(await this.localStorageCacheRepository.getSingle(storedIssueCommentListKey));
2816
+ await this.localStorageCacheRepository.setSingle(storedIssueCommentListKey, {
2817
+ issueUpdatedAt: currentRevalidationRevision === revalidationRevisionAtReadStart
2818
+ ? issueUpdatedAt
2819
+ : null,
2820
+ pages: fetchedPages,
2821
+ revalidationRevision: currentRevalidationRevision,
2822
+ });
2823
+ });
2824
+ return (0, RestIssueRepository_1.convertStoredIssueCommentPagesToIssueComments)(fetchedPages);
2825
+ };
2826
+ this.parseIssueCommentsPageResponse = async (url, response) => {
2827
+ if (!response.ok) {
2828
+ await this.throwGitHubError(`Failed to fetch comments for ${url}`, response);
2753
2829
  }
2754
- return collectedComments;
2830
+ const body = await response.json();
2831
+ if (!isIssueCommentsResponse(body)) {
2832
+ throw new Error(`Unexpected response shape when fetching comments for ${url}`);
2833
+ }
2834
+ return (0, RestIssueRepository_1.convertIssueCommentResponseItemsToStoredIssueCommentPage)(response.headers.get('ETag'), body);
2755
2835
  };
2756
2836
  this.getPullRequestDetail = async (prUrl) => {
2757
2837
  const { owner, repo, issueNumber: prNumber, isPr, } = this.parseIssueUrl(prUrl);
@@ -2954,6 +3034,19 @@ class ApiV3CheerioRestIssueRepository extends BaseGitHubRepository_1.BaseGitHubR
2954
3034
  };
2955
3035
  };
2956
3036
  this.deleteAllCommentsByUrl = async (issueOrPrUrl) => {
3037
+ let deletedCommentCount = 0;
3038
+ try {
3039
+ await this.deleteAllCommentsByUrlCountingDeletions(issueOrPrUrl, () => {
3040
+ deletedCommentCount += 1;
3041
+ });
3042
+ }
3043
+ finally {
3044
+ if (deletedCommentCount > 0) {
3045
+ await this.markStoredIssueCommentListForRevalidation(issueOrPrUrl);
3046
+ }
3047
+ }
3048
+ };
3049
+ this.deleteAllCommentsByUrlCountingDeletions = async (issueOrPrUrl, onCommentDeleted) => {
2957
3050
  const { owner, repo, issueNumber } = this.parseIssueUrl(issueOrPrUrl);
2958
3051
  const perPage = 100;
2959
3052
  while (true) {
@@ -2984,6 +3077,7 @@ class ApiV3CheerioRestIssueRepository extends BaseGitHubRepository_1.BaseGitHubR
2984
3077
  if (!deleteResponse.ok) {
2985
3078
  await this.throwGitHubError(`Failed to delete comment ${comment.id} on ${issueOrPrUrl}`, deleteResponse);
2986
3079
  }
3080
+ onCommentDeleted();
2987
3081
  }
2988
3082
  if (body.length < perPage) {
2989
3083
  break;