npm-cli-gh-issue-preparator 1.11.0 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ # [1.13.0](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/compare/v1.12.0...v1.13.0) (2026-02-18)
2
+
3
+
4
+ ### Features
5
+
6
+ * **core:** add retry comment to skip auto-escalation ([38c3302](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/38c330264356833a28b8364db937140b152eea62))
7
+
8
+ # [1.12.0](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/compare/v1.11.0...v1.12.0) (2026-02-17)
9
+
10
+
11
+ ### Features
12
+
13
+ * **core:** change ANY_CI_JOB_FAILED to ANY_CI_JOB_FAILED_OR_IN_PROGRESS ([9e3cb16](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/commit/9e3cb163b88e0c069edaaadf67cd23ceee41ff9d))
14
+
1
15
  # [1.11.0](https://github.com/HiromiShikata/npm-cli-gh-issue-preparator/compare/v1.10.2...v1.11.0) (2026-02-16)
2
16
 
3
17
 
@@ -317,6 +317,7 @@ class GraphqlIssueRepository {
317
317
  number
318
318
  state
319
319
  mergeable
320
+ mergeStateStatus
320
321
  baseRefName
321
322
  headRefName
322
323
  commits(last: 1) {
@@ -391,7 +392,8 @@ class GraphqlIssueRepository {
391
392
  const isConflicted = pr.mergeable === 'CONFLICTING';
392
393
  const lastCommit = pr.commits?.nodes[0]?.commit;
393
394
  const ciState = lastCommit?.statusCheckRollup?.state;
394
- const isPassedAllCiJob = ciState === 'SUCCESS';
395
+ const mergeStateStatus = pr.mergeStateStatus;
396
+ const isPassedAllCiJob = ciState === 'SUCCESS' && mergeStateStatus !== 'BLOCKED';
395
397
  const reviewThreads = pr.reviewThreads?.nodes || [];
396
398
  const isResolvedAllReviewComments = reviewThreads.length === 0 ||
397
399
  reviewThreads.every((thread) => thread.isResolved);
@@ -1 +1 @@
1
- {"version":3,"file":"GraphqlIssueRepository.js","sourceRoot":"","sources":["../../../src/adapter/repositories/GraphqlIssueRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GraphqlIssueRepository.js","sourceRoot":"","sources":["../../../src/adapter/repositories/GraphqlIssueRepository.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,8 @@ class NotifyFinishedIssuePreparationUseCase {
31
31
  }
32
32
  const comments = await this.issueCommentRepository.getCommentsFromIssue(issue);
33
33
  const lastTargetComments = comments.slice(-params.thresholdForAutoReject * 2);
34
- if (lastTargetComments.filter((comment) => comment.content.startsWith('Auto Status Check: REJECTED')).length >= params.thresholdForAutoReject) {
34
+ if (lastTargetComments.filter((comment) => comment.content.startsWith('Auto Status Check: REJECTED')).length >= params.thresholdForAutoReject &&
35
+ !lastTargetComments.some((comment) => comment.content.toLowerCase().startsWith('retry'))) {
35
36
  issue.status = params.awaitingQualityCheckStatus;
36
37
  await this.issueRepository.update(issue, project);
37
38
  await this.issueCommentRepository.createComment(issue, `Failed to pass the check autimatically for ${params.thresholdForAutoReject} times`);
@@ -39,11 +40,11 @@ class NotifyFinishedIssuePreparationUseCase {
39
40
  }
40
41
  const rejectedReasons = [];
41
42
  const lastComment = comments[comments.length - 1];
42
- if (!lastComment || lastComment.content.startsWith('Auto Status Check: ')) {
43
- rejectedReasons.push('NO_REPORT');
43
+ if (!lastComment || !lastComment.content.startsWith('From:')) {
44
+ rejectedReasons.push('NO_REPORT_FROM_AGENT_BOT');
44
45
  }
45
- const hasCategoryLabel = issue.labels.some((label) => label.startsWith('category:'));
46
- if (!hasCategoryLabel) {
46
+ const categoryLabels = issue.labels.filter((label) => label.startsWith('category:'));
47
+ if (categoryLabels.length <= 0 || categoryLabels.includes('category:e2e')) {
47
48
  const relatedOpenPrs = await this.issueRepository.findRelatedOpenPRs(issue.url);
48
49
  if (relatedOpenPrs.length <= 0) {
49
50
  rejectedReasons.push('PULL_REQUEST_NOT_FOUND');
@@ -57,7 +58,7 @@ class NotifyFinishedIssuePreparationUseCase {
57
58
  rejectedReasons.push('PULL_REQUEST_CONFLICTED');
58
59
  }
59
60
  if (!pr.isPassedAllCiJob) {
60
- rejectedReasons.push('ANY_CI_JOB_FAILED');
61
+ rejectedReasons.push('ANY_CI_JOB_FAILED_OR_IN_PROGRESS');
61
62
  }
62
63
  if (!pr.isResolvedAllReviewComments) {
63
64
  rejectedReasons.push('ANY_REVIEW_COMMENT_NOT_RESOLVED');
@@ -71,9 +72,7 @@ class NotifyFinishedIssuePreparationUseCase {
71
72
  }
72
73
  issue.status = params.awaitingWorkspaceStatus;
73
74
  await this.issueRepository.update(issue, project);
74
- await this.issueCommentRepository.createComment(issue, `
75
- Auto Status Check: REJECTED
76
- ${JSON.stringify(rejectedReasons)}`);
75
+ await this.issueCommentRepository.createComment(issue, `Auto Status Check: REJECTED\n${rejectedReasons.map((v) => `- ${v}`).join('\n')}`);
77
76
  };
78
77
  }
79
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NotifyFinishedIssuePreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NotifyFinishedIssuePreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "npm-cli-gh-issue-preparator",
3
- "version": "1.11.0",
3
+ "version": "1.13.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -158,5 +158,14 @@ describe('GraphqlIssueRepository Integration Tests', () => {
158
158
 
159
159
  expect(result).toHaveLength(1);
160
160
  });
161
+
162
+ it('should return isPassedAllCiJob as false for issue with PR that has not passed all required CI', async () => {
163
+ const result = await repository.findRelatedOpenPRs(
164
+ 'https://github.com/HiromiShikata/test-repository/issues/1967',
165
+ );
166
+
167
+ expect(result.length).toBeGreaterThanOrEqual(1);
168
+ expect(result.some((pr) => pr.isPassedAllCiJob === false)).toBe(true);
169
+ });
161
170
  });
162
171
  });
@@ -459,6 +459,7 @@ describe('GraphqlIssueRepository', () => {
459
459
  number: 1,
460
460
  state: 'OPEN',
461
461
  mergeable: 'MERGEABLE',
462
+ mergeStateStatus: 'CLEAN',
462
463
  baseRefName: 'main',
463
464
  headRefName: 'feature',
464
465
  commits: {
@@ -1021,6 +1022,54 @@ describe('GraphqlIssueRepository', () => {
1021
1022
  expect(result).toHaveLength(1);
1022
1023
  expect(result[0].isPassedAllCiJob).toBe(false);
1023
1024
  });
1025
+
1026
+ it('should return isPassedAllCiJob as false when mergeStateStatus is BLOCKED even with SUCCESS CI', async () => {
1027
+ mockFetch.mockResolvedValueOnce({
1028
+ ok: true,
1029
+ json: async () => ({
1030
+ data: {
1031
+ repository: {
1032
+ issue: {
1033
+ timelineItems: {
1034
+ pageInfo: { hasNextPage: false, endCursor: null },
1035
+ nodes: [
1036
+ {
1037
+ __typename: 'CrossReferencedEvent',
1038
+ source: {
1039
+ __typename: 'PullRequest',
1040
+ url: 'https://github.com/user/repo/pull/1',
1041
+ number: 1,
1042
+ state: 'OPEN',
1043
+ mergeable: 'MERGEABLE',
1044
+ mergeStateStatus: 'BLOCKED',
1045
+ commits: {
1046
+ nodes: [
1047
+ {
1048
+ commit: {
1049
+ statusCheckRollup: { state: 'SUCCESS' },
1050
+ },
1051
+ },
1052
+ ],
1053
+ },
1054
+ reviewThreads: { nodes: [] },
1055
+ baseRef: { name: 'main' },
1056
+ },
1057
+ },
1058
+ ],
1059
+ },
1060
+ },
1061
+ },
1062
+ },
1063
+ }),
1064
+ });
1065
+
1066
+ const result = await repository.findRelatedOpenPRs(
1067
+ 'https://github.com/user/repo/issues/1',
1068
+ );
1069
+
1070
+ expect(result).toHaveLength(1);
1071
+ expect(result[0].isPassedAllCiJob).toBe(false);
1072
+ });
1024
1073
  });
1025
1074
 
1026
1075
  describe('get', () => {
@@ -65,6 +65,7 @@ type TimelineItem = {
65
65
  number?: number;
66
66
  state?: string;
67
67
  mergeable?: string;
68
+ mergeStateStatus?: string;
68
69
  baseRefName?: string;
69
70
  headRefName?: string;
70
71
  commits?: {
@@ -511,6 +512,7 @@ export class GraphqlIssueRepository implements Pick<
511
512
  number
512
513
  state
513
514
  mergeable
515
+ mergeStateStatus
514
516
  baseRefName
515
517
  headRefName
516
518
  commits(last: 1) {
@@ -599,7 +601,9 @@ export class GraphqlIssueRepository implements Pick<
599
601
 
600
602
  const lastCommit = pr.commits?.nodes[0]?.commit;
601
603
  const ciState = lastCommit?.statusCheckRollup?.state;
602
- const isPassedAllCiJob = ciState === 'SUCCESS';
604
+ const mergeStateStatus = pr.mergeStateStatus;
605
+ const isPassedAllCiJob =
606
+ ciState === 'SUCCESS' && mergeStateStatus !== 'BLOCKED';
603
607
 
604
608
  const reviewThreads = pr.reviewThreads?.nodes || [];
605
609
  const isResolvedAllReviewComments =
@@ -224,7 +224,7 @@ describe('NotifyFinishedIssuePreparationUseCase', () => {
224
224
  );
225
225
  });
226
226
 
227
- it('should pass when last comment does not start with Auto Status Check or From:', async () => {
227
+ it('should reject when last comment does not start with From:', async () => {
228
228
  const issue = createMockIssue({
229
229
  url: 'https://github.com/user/repo/issues/1',
230
230
  status: 'Preparation',
@@ -256,10 +256,16 @@ describe('NotifyFinishedIssuePreparationUseCase', () => {
256
256
 
257
257
  expect(mockIssueRepository.update).toHaveBeenCalledWith(
258
258
  expect.objectContaining({
259
- status: 'Awaiting Quality Check',
259
+ status: 'Awaiting Workspace',
260
260
  }),
261
261
  mockProject,
262
262
  );
263
+ expect(mockIssueCommentRepository.createComment).toHaveBeenCalledWith(
264
+ expect.objectContaining({
265
+ url: 'https://github.com/user/repo/issues/1',
266
+ }),
267
+ expect.stringContaining('NO_REPORT_FROM_AGENT_BOT'),
268
+ );
263
269
  });
264
270
 
265
271
  it('should reject and set status to Awaiting Workspace when no comments exist', async () => {
@@ -377,6 +383,88 @@ describe('NotifyFinishedIssuePreparationUseCase', () => {
377
383
  );
378
384
  });
379
385
 
386
+ it('should not auto-escalate when retry comment exists even if threshold met', async () => {
387
+ const issue = createMockIssue({
388
+ url: 'https://github.com/user/repo/issues/1',
389
+ status: 'Preparation',
390
+ });
391
+
392
+ mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
393
+ mockIssueRepository.get.mockResolvedValue(issue);
394
+ mockIssueCommentRepository.getCommentsFromIssue.mockResolvedValue([
395
+ createMockComment({ content: 'Auto Status Check: REJECTED - first' }),
396
+ createMockComment({ content: 'Auto Status Check: REJECTED - second' }),
397
+ createMockComment({ content: 'Auto Status Check: REJECTED - third' }),
398
+ createMockComment({ content: 'retry' }),
399
+ ]);
400
+ mockIssueRepository.findRelatedOpenPRs.mockResolvedValue([
401
+ {
402
+ url: 'https://github.com/user/repo/pull/1',
403
+ isConflicted: false,
404
+ isPassedAllCiJob: true,
405
+ isResolvedAllReviewComments: true,
406
+ isBranchOutOfDate: false,
407
+ },
408
+ ]);
409
+
410
+ await useCase.run({
411
+ projectUrl: 'https://github.com/users/user/projects/1',
412
+ issueUrl: 'https://github.com/user/repo/issues/1',
413
+ preparationStatus: 'Preparation',
414
+ awaitingWorkspaceStatus: 'Awaiting Workspace',
415
+ awaitingQualityCheckStatus: 'Awaiting Quality Check',
416
+ thresholdForAutoReject: 3,
417
+ });
418
+
419
+ expect(mockIssueRepository.update).not.toHaveBeenCalledWith(
420
+ expect.objectContaining({
421
+ status: 'Awaiting Quality Check',
422
+ }),
423
+ mockProject,
424
+ );
425
+ });
426
+
427
+ it('should handle case-insensitive retry comment', async () => {
428
+ const issue = createMockIssue({
429
+ url: 'https://github.com/user/repo/issues/1',
430
+ status: 'Preparation',
431
+ });
432
+
433
+ mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
434
+ mockIssueRepository.get.mockResolvedValue(issue);
435
+ mockIssueCommentRepository.getCommentsFromIssue.mockResolvedValue([
436
+ createMockComment({ content: 'Auto Status Check: REJECTED - first' }),
437
+ createMockComment({ content: 'Auto Status Check: REJECTED - second' }),
438
+ createMockComment({ content: 'Auto Status Check: REJECTED - third' }),
439
+ createMockComment({ content: 'Retry please' }),
440
+ ]);
441
+ mockIssueRepository.findRelatedOpenPRs.mockResolvedValue([
442
+ {
443
+ url: 'https://github.com/user/repo/pull/1',
444
+ isConflicted: false,
445
+ isPassedAllCiJob: true,
446
+ isResolvedAllReviewComments: true,
447
+ isBranchOutOfDate: false,
448
+ },
449
+ ]);
450
+
451
+ await useCase.run({
452
+ projectUrl: 'https://github.com/users/user/projects/1',
453
+ issueUrl: 'https://github.com/user/repo/issues/1',
454
+ preparationStatus: 'Preparation',
455
+ awaitingWorkspaceStatus: 'Awaiting Workspace',
456
+ awaitingQualityCheckStatus: 'Awaiting Quality Check',
457
+ thresholdForAutoReject: 3,
458
+ });
459
+
460
+ expect(mockIssueRepository.update).not.toHaveBeenCalledWith(
461
+ expect.objectContaining({
462
+ status: 'Awaiting Quality Check',
463
+ }),
464
+ mockProject,
465
+ );
466
+ });
467
+
380
468
  it('should reject when PR is not found', async () => {
381
469
  const issue = createMockIssue({
382
470
  url: 'https://github.com/user/repo/issues/1',
@@ -548,7 +636,7 @@ describe('NotifyFinishedIssuePreparationUseCase', () => {
548
636
  expect.objectContaining({
549
637
  url: 'https://github.com/user/repo/issues/1',
550
638
  }),
551
- expect.stringContaining('ANY_CI_JOB_FAILED'),
639
+ expect.stringContaining('ANY_CI_JOB_FAILED_OR_IN_PROGRESS'),
552
640
  );
553
641
  });
554
642
 
@@ -627,6 +715,46 @@ describe('NotifyFinishedIssuePreparationUseCase', () => {
627
715
  );
628
716
  });
629
717
 
718
+ it('should check PRs when issue has category:e2e label', async () => {
719
+ const issue = createMockIssue({
720
+ url: 'https://github.com/user/repo/issues/1',
721
+ status: 'Preparation',
722
+ labels: ['category:e2e'],
723
+ });
724
+
725
+ mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
726
+ mockIssueRepository.get.mockResolvedValue(issue);
727
+ mockIssueCommentRepository.getCommentsFromIssue.mockResolvedValue([
728
+ createMockComment({ content: 'From: Test report' }),
729
+ ]);
730
+ mockIssueRepository.findRelatedOpenPRs.mockResolvedValue([
731
+ {
732
+ url: 'https://github.com/user/repo/pull/1',
733
+ isConflicted: false,
734
+ isPassedAllCiJob: true,
735
+ isResolvedAllReviewComments: true,
736
+ isBranchOutOfDate: false,
737
+ },
738
+ ]);
739
+
740
+ await useCase.run({
741
+ projectUrl: 'https://github.com/users/user/projects/1',
742
+ issueUrl: 'https://github.com/user/repo/issues/1',
743
+ preparationStatus: 'Preparation',
744
+ awaitingWorkspaceStatus: 'Awaiting Workspace',
745
+ awaitingQualityCheckStatus: 'Awaiting Quality Check',
746
+ thresholdForAutoReject: 3,
747
+ });
748
+
749
+ expect(mockIssueRepository.findRelatedOpenPRs).toHaveBeenCalled();
750
+ expect(mockIssueRepository.update).toHaveBeenCalledWith(
751
+ expect.objectContaining({
752
+ status: 'Awaiting Quality Check',
753
+ }),
754
+ mockProject,
755
+ );
756
+ });
757
+
630
758
  it('should still check for report comment even when issue has category label', async () => {
631
759
  const issue = createMockIssue({
632
760
  url: 'https://github.com/user/repo/issues/1',
@@ -662,7 +790,7 @@ describe('NotifyFinishedIssuePreparationUseCase', () => {
662
790
  expect.objectContaining({
663
791
  url: 'https://github.com/user/repo/issues/1',
664
792
  }),
665
- expect.stringContaining('NO_REPORT'),
793
+ expect.stringContaining('NO_REPORT_FROM_AGENT_BOT'),
666
794
  );
667
795
  });
668
796
  });
@@ -21,11 +21,11 @@ export class IllegalIssueStatusError extends Error {
21
21
  }
22
22
  }
23
23
  type RejectedReasonType =
24
- | 'NO_REPORT'
24
+ | 'NO_REPORT_FROM_AGENT_BOT'
25
25
  | 'PULL_REQUEST_NOT_FOUND'
26
26
  | 'MULTIPLE_PULL_REQUESTS_FOUND'
27
27
  | 'PULL_REQUEST_CONFLICTED'
28
- | 'ANY_CI_JOB_FAILED'
28
+ | 'ANY_CI_JOB_FAILED_OR_IN_PROGRESS'
29
29
  | 'ANY_REVIEW_COMMENT_NOT_RESOLVED';
30
30
 
31
31
  export class NotifyFinishedIssuePreparationUseCase {
@@ -71,7 +71,10 @@ export class NotifyFinishedIssuePreparationUseCase {
71
71
  if (
72
72
  lastTargetComments.filter((comment) =>
73
73
  comment.content.startsWith('Auto Status Check: REJECTED'),
74
- ).length >= params.thresholdForAutoReject
74
+ ).length >= params.thresholdForAutoReject &&
75
+ !lastTargetComments.some((comment) =>
76
+ comment.content.toLowerCase().startsWith('retry'),
77
+ )
75
78
  ) {
76
79
  issue.status = params.awaitingQualityCheckStatus;
77
80
  await this.issueRepository.update(issue, project);
@@ -84,14 +87,14 @@ export class NotifyFinishedIssuePreparationUseCase {
84
87
 
85
88
  const rejectedReasons: RejectedReasonType[] = [];
86
89
  const lastComment = comments[comments.length - 1];
87
- if (!lastComment || lastComment.content.startsWith('Auto Status Check: ')) {
88
- rejectedReasons.push('NO_REPORT');
90
+ if (!lastComment || !lastComment.content.startsWith('From:')) {
91
+ rejectedReasons.push('NO_REPORT_FROM_AGENT_BOT');
89
92
  }
90
93
 
91
- const hasCategoryLabel = issue.labels.some((label) =>
94
+ const categoryLabels = issue.labels.filter((label) =>
92
95
  label.startsWith('category:'),
93
96
  );
94
- if (!hasCategoryLabel) {
97
+ if (categoryLabels.length <= 0 || categoryLabels.includes('category:e2e')) {
95
98
  const relatedOpenPrs = await this.issueRepository.findRelatedOpenPRs(
96
99
  issue.url,
97
100
  );
@@ -105,7 +108,7 @@ export class NotifyFinishedIssuePreparationUseCase {
105
108
  rejectedReasons.push('PULL_REQUEST_CONFLICTED');
106
109
  }
107
110
  if (!pr.isPassedAllCiJob) {
108
- rejectedReasons.push('ANY_CI_JOB_FAILED');
111
+ rejectedReasons.push('ANY_CI_JOB_FAILED_OR_IN_PROGRESS');
109
112
  }
110
113
  if (!pr.isResolvedAllReviewComments) {
111
114
  rejectedReasons.push('ANY_REVIEW_COMMENT_NOT_RESOLVED');
@@ -124,9 +127,7 @@ export class NotifyFinishedIssuePreparationUseCase {
124
127
 
125
128
  await this.issueCommentRepository.createComment(
126
129
  issue,
127
- `
128
- Auto Status Check: REJECTED
129
- ${JSON.stringify(rejectedReasons)}`,
130
+ `Auto Status Check: REJECTED\n${rejectedReasons.map((v) => `- ${v}`).join('\n')}`,
130
131
  );
131
132
  };
132
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GraphqlIssueRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/GraphqlIssueRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,kBAAkB,EACnB,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AA8JxD,qBAAa,sBAAuB,YAAW,IAAI,CACjD,eAAe,EACf,KAAK,GAAG,QAAQ,GAAG,oBAAoB,CACxC;IACa,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,MAAM;IAEpC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAiHpE,OAAO,CAAC,eAAe;YAgBT,iBAAiB;IAuHzB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAuD3D,OAAO,CAAC,aAAa;IAkBf,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;CA0I1E"}
1
+ {"version":3,"file":"GraphqlIssueRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/GraphqlIssueRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,kBAAkB,EACnB,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AA+JxD,qBAAa,sBAAuB,YAAW,IAAI,CACjD,eAAe,EACf,KAAK,GAAG,QAAQ,GAAG,oBAAoB,CACxC;IACa,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,MAAM;IAEpC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAiHpE,OAAO,CAAC,eAAe;YAgBT,iBAAiB;IAuHzB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAuD3D,OAAO,CAAC,aAAa;IAkBf,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;CA6I1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"NotifyFinishedIssuePreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAErF,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,QAAQ,EAAE,MAAM;CAI7B;AACD,qBAAa,uBAAwB,SAAQ,KAAK;gBAE9C,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,cAAc,EAAE,MAAM,GAAG,IAAI;CAOhC;AASD,qBAAa,qCAAqC;IAE9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAIhC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;gBALtB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,EACtD,eAAe,EAAE,IAAI,CACpC,eAAe,EACf,KAAK,GAAG,QAAQ,GAAG,oBAAoB,CACxC,EACgB,sBAAsB,EAAE,IAAI,CAC3C,sBAAsB,EACtB,sBAAsB,GAAG,eAAe,CACzC;IAGH,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,uBAAuB,EAAE,MAAM,CAAC;QAChC,0BAA0B,EAAE,MAAM,CAAC;QACnC,sBAAsB,EAAE,MAAM,CAAC;KAChC,KAAG,OAAO,CAAC,IAAI,CAAC,CAgFf;CACH"}
1
+ {"version":3,"file":"NotifyFinishedIssuePreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAErF,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,QAAQ,EAAE,MAAM;CAI7B;AACD,qBAAa,uBAAwB,SAAQ,KAAK;gBAE9C,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,cAAc,EAAE,MAAM,GAAG,IAAI;CAOhC;AASD,qBAAa,qCAAqC;IAE9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAIhC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;gBALtB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,EACtD,eAAe,EAAE,IAAI,CACpC,eAAe,EACf,KAAK,GAAG,QAAQ,GAAG,oBAAoB,CACxC,EACgB,sBAAsB,EAAE,IAAI,CAC3C,sBAAsB,EACtB,sBAAsB,GAAG,eAAe,CACzC;IAGH,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,uBAAuB,EAAE,MAAM,CAAC;QAChC,0BAA0B,EAAE,MAAM,CAAC;QACnC,sBAAsB,EAAE,MAAM,CAAC;KAChC,KAAG,OAAO,CAAC,IAAI,CAAC,CAiFf;CACH"}