github-issue-tower-defence-management 1.104.0 → 1.104.2
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 +14 -0
- package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js +83 -58
- package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js.map +1 -1
- package/bin/domain/usecases/HandleScheduledEventUseCase.js +7 -2
- package/bin/domain/usecases/HandleScheduledEventUseCase.js.map +1 -1
- package/bin/domain/usecases/IssueRejectionEvaluator.js +21 -2
- package/bin/domain/usecases/IssueRejectionEvaluator.js.map +1 -1
- package/bin/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.js +36 -6
- package/bin/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.js.map +1 -1
- package/bin/domain/usecases/StartPreparationUseCase.js +2 -1
- package/bin/domain/usecases/StartPreparationUseCase.js.map +1 -1
- package/bin/domain/usecases/resolveAllowedIssueAuthors.js +8 -0
- package/bin/domain/usecases/resolveAllowedIssueAuthors.js.map +1 -0
- package/package.json +1 -1
- package/src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.test.ts +36 -0
- package/src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts +23 -1
- package/src/domain/usecases/HandleScheduledEventUseCase.test.ts +109 -0
- package/src/domain/usecases/HandleScheduledEventUseCase.ts +8 -2
- package/src/domain/usecases/IssueRejectionEvaluator.test.ts +182 -0
- package/src/domain/usecases/IssueRejectionEvaluator.ts +35 -1
- package/src/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.test.ts +303 -75
- package/src/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.ts +42 -7
- package/src/domain/usecases/StartPreparationUseCase.test.ts +202 -88
- package/src/domain/usecases/StartPreparationUseCase.ts +2 -1
- package/src/domain/usecases/resolveAllowedIssueAuthors.test.ts +51 -0
- package/src/domain/usecases/resolveAllowedIssueAuthors.ts +6 -0
- package/types/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.d.ts.map +1 -1
- package/types/domain/usecases/HandleScheduledEventUseCase.d.ts +1 -0
- package/types/domain/usecases/HandleScheduledEventUseCase.d.ts.map +1 -1
- package/types/domain/usecases/IssueRejectionEvaluator.d.ts +5 -1
- package/types/domain/usecases/IssueRejectionEvaluator.d.ts.map +1 -1
- package/types/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.d.ts +1 -0
- package/types/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.d.ts.map +1 -1
- package/types/domain/usecases/StartPreparationUseCase.d.ts.map +1 -1
- package/types/domain/usecases/resolveAllowedIssueAuthors.d.ts +5 -0
- package/types/domain/usecases/resolveAllowedIssueAuthors.d.ts.map +1 -0
|
@@ -153,7 +153,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
153
153
|
configFilePath: '/path/to/config.yml',
|
|
154
154
|
maximumPreparingIssuesCount: null,
|
|
155
155
|
utilizationPercentageThreshold: 90,
|
|
156
|
-
allowedIssueAuthors:
|
|
156
|
+
allowedIssueAuthors: ['testuser'],
|
|
157
157
|
codexHomeCandidates: null,
|
|
158
158
|
allowIssueCacheMinutes: 0,
|
|
159
159
|
labelsAsLlmAgentName: null,
|
|
@@ -219,7 +219,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
219
219
|
configFilePath: '/path/to/config.yml',
|
|
220
220
|
maximumPreparingIssuesCount: null,
|
|
221
221
|
utilizationPercentageThreshold: 90,
|
|
222
|
-
allowedIssueAuthors:
|
|
222
|
+
allowedIssueAuthors: ['testuser'],
|
|
223
223
|
codexHomeCandidates: null,
|
|
224
224
|
allowIssueCacheMinutes: 0,
|
|
225
225
|
labelsAsLlmAgentName: null,
|
|
@@ -277,7 +277,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
277
277
|
configFilePath: '/path/to/config.yml',
|
|
278
278
|
maximumPreparingIssuesCount: null,
|
|
279
279
|
utilizationPercentageThreshold: 90,
|
|
280
|
-
allowedIssueAuthors:
|
|
280
|
+
allowedIssueAuthors: ['testuser'],
|
|
281
281
|
codexHomeCandidates: null,
|
|
282
282
|
allowIssueCacheMinutes: 0,
|
|
283
283
|
labelsAsLlmAgentName: null,
|
|
@@ -326,7 +326,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
326
326
|
configFilePath: '/path/to/config.yml',
|
|
327
327
|
maximumPreparingIssuesCount: null,
|
|
328
328
|
utilizationPercentageThreshold: 90,
|
|
329
|
-
allowedIssueAuthors:
|
|
329
|
+
allowedIssueAuthors: ['testuser'],
|
|
330
330
|
codexHomeCandidates: null,
|
|
331
331
|
allowIssueCacheMinutes: 0,
|
|
332
332
|
labelsAsLlmAgentName: null,
|
|
@@ -376,7 +376,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
376
376
|
configFilePath: '/path/to/config.yml',
|
|
377
377
|
maximumPreparingIssuesCount: null,
|
|
378
378
|
utilizationPercentageThreshold: 90,
|
|
379
|
-
allowedIssueAuthors:
|
|
379
|
+
allowedIssueAuthors: ['testuser'],
|
|
380
380
|
codexHomeCandidates: null,
|
|
381
381
|
allowIssueCacheMinutes: 0,
|
|
382
382
|
labelsAsLlmAgentName: null,
|
|
@@ -425,7 +425,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
425
425
|
configFilePath: '/path/to/config.yml',
|
|
426
426
|
maximumPreparingIssuesCount: null,
|
|
427
427
|
utilizationPercentageThreshold: 90,
|
|
428
|
-
allowedIssueAuthors:
|
|
428
|
+
allowedIssueAuthors: ['testuser'],
|
|
429
429
|
codexHomeCandidates: null,
|
|
430
430
|
allowIssueCacheMinutes: 0,
|
|
431
431
|
labelsAsLlmAgentName: null,
|
|
@@ -492,7 +492,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
492
492
|
configFilePath: '/path/to/config.yml',
|
|
493
493
|
maximumPreparingIssuesCount: null,
|
|
494
494
|
utilizationPercentageThreshold: 90,
|
|
495
|
-
allowedIssueAuthors:
|
|
495
|
+
allowedIssueAuthors: ['testuser'],
|
|
496
496
|
codexHomeCandidates: null,
|
|
497
497
|
allowIssueCacheMinutes: 0,
|
|
498
498
|
labelsAsLlmAgentName: null,
|
|
@@ -582,7 +582,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
582
582
|
configFilePath: '/path/to/config.yml',
|
|
583
583
|
maximumPreparingIssuesCount: null,
|
|
584
584
|
utilizationPercentageThreshold: 90,
|
|
585
|
-
allowedIssueAuthors:
|
|
585
|
+
allowedIssueAuthors: ['testuser'],
|
|
586
586
|
codexHomeCandidates: null,
|
|
587
587
|
allowIssueCacheMinutes: 0,
|
|
588
588
|
labelsAsLlmAgentName: null,
|
|
@@ -646,7 +646,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
646
646
|
configFilePath: '/path/to/config.yml',
|
|
647
647
|
maximumPreparingIssuesCount: null,
|
|
648
648
|
utilizationPercentageThreshold: 90,
|
|
649
|
-
allowedIssueAuthors:
|
|
649
|
+
allowedIssueAuthors: ['testuser'],
|
|
650
650
|
codexHomeCandidates: null,
|
|
651
651
|
allowIssueCacheMinutes: 0,
|
|
652
652
|
labelsAsLlmAgentName: null,
|
|
@@ -691,7 +691,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
691
691
|
configFilePath: '/path/to/config.yml',
|
|
692
692
|
maximumPreparingIssuesCount: null,
|
|
693
693
|
utilizationPercentageThreshold: 90,
|
|
694
|
-
allowedIssueAuthors:
|
|
694
|
+
allowedIssueAuthors: ['testuser'],
|
|
695
695
|
codexHomeCandidates: null,
|
|
696
696
|
allowIssueCacheMinutes: 0,
|
|
697
697
|
labelsAsLlmAgentName: null,
|
|
@@ -749,7 +749,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
749
749
|
configFilePath: '/path/to/config.yml',
|
|
750
750
|
maximumPreparingIssuesCount: null,
|
|
751
751
|
utilizationPercentageThreshold: 90,
|
|
752
|
-
allowedIssueAuthors:
|
|
752
|
+
allowedIssueAuthors: ['testuser'],
|
|
753
753
|
codexHomeCandidates: null,
|
|
754
754
|
allowIssueCacheMinutes: 0,
|
|
755
755
|
labelsAsLlmAgentName: null,
|
|
@@ -785,7 +785,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
785
785
|
configFilePath: '/path/to/config.yml',
|
|
786
786
|
maximumPreparingIssuesCount: null,
|
|
787
787
|
utilizationPercentageThreshold: 90,
|
|
788
|
-
allowedIssueAuthors:
|
|
788
|
+
allowedIssueAuthors: ['testuser'],
|
|
789
789
|
codexHomeCandidates: null,
|
|
790
790
|
allowIssueCacheMinutes: 0,
|
|
791
791
|
labelsAsLlmAgentName: null,
|
|
@@ -831,7 +831,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
831
831
|
configFilePath: '/path/to/config.yml',
|
|
832
832
|
maximumPreparingIssuesCount: null,
|
|
833
833
|
utilizationPercentageThreshold: 90,
|
|
834
|
-
allowedIssueAuthors:
|
|
834
|
+
allowedIssueAuthors: ['testuser'],
|
|
835
835
|
codexHomeCandidates: null,
|
|
836
836
|
allowIssueCacheMinutes: 0,
|
|
837
837
|
labelsAsLlmAgentName: null,
|
|
@@ -877,7 +877,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
877
877
|
configFilePath: '/path/to/config.yml',
|
|
878
878
|
maximumPreparingIssuesCount: null,
|
|
879
879
|
utilizationPercentageThreshold: 90,
|
|
880
|
-
allowedIssueAuthors:
|
|
880
|
+
allowedIssueAuthors: ['testuser'],
|
|
881
881
|
codexHomeCandidates: null,
|
|
882
882
|
allowIssueCacheMinutes: 0,
|
|
883
883
|
labelsAsLlmAgentName: null,
|
|
@@ -923,7 +923,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
923
923
|
configFilePath: '/path/to/config.yml',
|
|
924
924
|
maximumPreparingIssuesCount: null,
|
|
925
925
|
utilizationPercentageThreshold: 90,
|
|
926
|
-
allowedIssueAuthors:
|
|
926
|
+
allowedIssueAuthors: ['testuser'],
|
|
927
927
|
codexHomeCandidates: null,
|
|
928
928
|
allowIssueCacheMinutes: 0,
|
|
929
929
|
labelsAsLlmAgentName: null,
|
|
@@ -969,7 +969,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
969
969
|
configFilePath: '/path/to/config.yml',
|
|
970
970
|
maximumPreparingIssuesCount: null,
|
|
971
971
|
utilizationPercentageThreshold: 90,
|
|
972
|
-
allowedIssueAuthors:
|
|
972
|
+
allowedIssueAuthors: ['testuser'],
|
|
973
973
|
codexHomeCandidates: null,
|
|
974
974
|
allowIssueCacheMinutes: 0,
|
|
975
975
|
labelsAsLlmAgentName: null,
|
|
@@ -1015,7 +1015,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1015
1015
|
configFilePath: '/path/to/config.yml',
|
|
1016
1016
|
maximumPreparingIssuesCount: null,
|
|
1017
1017
|
utilizationPercentageThreshold: 90,
|
|
1018
|
-
allowedIssueAuthors:
|
|
1018
|
+
allowedIssueAuthors: ['testuser'],
|
|
1019
1019
|
codexHomeCandidates: null,
|
|
1020
1020
|
allowIssueCacheMinutes: 0,
|
|
1021
1021
|
labelsAsLlmAgentName: null,
|
|
@@ -1064,7 +1064,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1064
1064
|
configFilePath: '/path/to/config.yml',
|
|
1065
1065
|
maximumPreparingIssuesCount: null,
|
|
1066
1066
|
utilizationPercentageThreshold: 90,
|
|
1067
|
-
allowedIssueAuthors:
|
|
1067
|
+
allowedIssueAuthors: ['testuser'],
|
|
1068
1068
|
codexHomeCandidates: null,
|
|
1069
1069
|
allowIssueCacheMinutes: 0,
|
|
1070
1070
|
labelsAsLlmAgentName: null,
|
|
@@ -1113,7 +1113,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1113
1113
|
configFilePath: '/path/to/config.yml',
|
|
1114
1114
|
maximumPreparingIssuesCount: null,
|
|
1115
1115
|
utilizationPercentageThreshold: 90,
|
|
1116
|
-
allowedIssueAuthors:
|
|
1116
|
+
allowedIssueAuthors: ['testuser'],
|
|
1117
1117
|
codexHomeCandidates: null,
|
|
1118
1118
|
allowIssueCacheMinutes: 0,
|
|
1119
1119
|
labelsAsLlmAgentName: null,
|
|
@@ -1164,7 +1164,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1164
1164
|
configFilePath: '/path/to/config.yml',
|
|
1165
1165
|
maximumPreparingIssuesCount: null,
|
|
1166
1166
|
utilizationPercentageThreshold: 90,
|
|
1167
|
-
allowedIssueAuthors:
|
|
1167
|
+
allowedIssueAuthors: ['testuser'],
|
|
1168
1168
|
codexHomeCandidates: null,
|
|
1169
1169
|
allowIssueCacheMinutes: 0,
|
|
1170
1170
|
labelsAsLlmAgentName: null,
|
|
@@ -1200,7 +1200,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1200
1200
|
configFilePath: '/path/to/config.yml',
|
|
1201
1201
|
maximumPreparingIssuesCount: 3,
|
|
1202
1202
|
utilizationPercentageThreshold: 90,
|
|
1203
|
-
allowedIssueAuthors:
|
|
1203
|
+
allowedIssueAuthors: ['testuser'],
|
|
1204
1204
|
codexHomeCandidates: null,
|
|
1205
1205
|
allowIssueCacheMinutes: 0,
|
|
1206
1206
|
labelsAsLlmAgentName: null,
|
|
@@ -1235,7 +1235,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1235
1235
|
configFilePath: '/path/to/config.yml',
|
|
1236
1236
|
maximumPreparingIssuesCount: null,
|
|
1237
1237
|
utilizationPercentageThreshold: 90,
|
|
1238
|
-
allowedIssueAuthors:
|
|
1238
|
+
allowedIssueAuthors: ['testuser'],
|
|
1239
1239
|
codexHomeCandidates: null,
|
|
1240
1240
|
allowIssueCacheMinutes: 0,
|
|
1241
1241
|
labelsAsLlmAgentName: null,
|
|
@@ -1297,7 +1297,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1297
1297
|
configFilePath: '/path/to/config.yml',
|
|
1298
1298
|
maximumPreparingIssuesCount: 12,
|
|
1299
1299
|
utilizationPercentageThreshold: 90,
|
|
1300
|
-
allowedIssueAuthors:
|
|
1300
|
+
allowedIssueAuthors: ['testuser'],
|
|
1301
1301
|
codexHomeCandidates: null,
|
|
1302
1302
|
allowIssueCacheMinutes: 0,
|
|
1303
1303
|
labelsAsLlmAgentName: null,
|
|
@@ -1368,7 +1368,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1368
1368
|
configFilePath: '/path/to/config.yml',
|
|
1369
1369
|
maximumPreparingIssuesCount: 20,
|
|
1370
1370
|
utilizationPercentageThreshold: 90,
|
|
1371
|
-
allowedIssueAuthors:
|
|
1371
|
+
allowedIssueAuthors: ['testuser'],
|
|
1372
1372
|
codexHomeCandidates: null,
|
|
1373
1373
|
allowIssueCacheMinutes: 0,
|
|
1374
1374
|
labelsAsLlmAgentName: null,
|
|
@@ -1433,7 +1433,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1433
1433
|
configFilePath: '/path/to/config.yml',
|
|
1434
1434
|
maximumPreparingIssuesCount: null,
|
|
1435
1435
|
utilizationPercentageThreshold: 90,
|
|
1436
|
-
allowedIssueAuthors:
|
|
1436
|
+
allowedIssueAuthors: ['testuser'],
|
|
1437
1437
|
codexHomeCandidates: null,
|
|
1438
1438
|
allowIssueCacheMinutes: 0,
|
|
1439
1439
|
labelsAsLlmAgentName: null,
|
|
@@ -1482,7 +1482,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1482
1482
|
configFilePath: '/path/to/config.yml',
|
|
1483
1483
|
maximumPreparingIssuesCount: null,
|
|
1484
1484
|
utilizationPercentageThreshold: 90,
|
|
1485
|
-
allowedIssueAuthors:
|
|
1485
|
+
allowedIssueAuthors: ['testuser'],
|
|
1486
1486
|
codexHomeCandidates: null,
|
|
1487
1487
|
allowIssueCacheMinutes: 0,
|
|
1488
1488
|
labelsAsLlmAgentName: null,
|
|
@@ -1538,7 +1538,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1538
1538
|
configFilePath: '/path/to/config.yml',
|
|
1539
1539
|
maximumPreparingIssuesCount: null,
|
|
1540
1540
|
utilizationPercentageThreshold: 90,
|
|
1541
|
-
allowedIssueAuthors:
|
|
1541
|
+
allowedIssueAuthors: ['testuser'],
|
|
1542
1542
|
codexHomeCandidates: null,
|
|
1543
1543
|
allowIssueCacheMinutes: 0,
|
|
1544
1544
|
labelsAsLlmAgentName: null,
|
|
@@ -1597,7 +1597,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1597
1597
|
configFilePath: '/path/to/config.yml',
|
|
1598
1598
|
maximumPreparingIssuesCount: null,
|
|
1599
1599
|
utilizationPercentageThreshold: 90,
|
|
1600
|
-
allowedIssueAuthors:
|
|
1600
|
+
allowedIssueAuthors: ['testuser'],
|
|
1601
1601
|
codexHomeCandidates: null,
|
|
1602
1602
|
allowIssueCacheMinutes: 0,
|
|
1603
1603
|
labelsAsLlmAgentName: null,
|
|
@@ -1646,7 +1646,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1646
1646
|
configFilePath: '/path/to/config.yml',
|
|
1647
1647
|
maximumPreparingIssuesCount: null,
|
|
1648
1648
|
utilizationPercentageThreshold: 90,
|
|
1649
|
-
allowedIssueAuthors:
|
|
1649
|
+
allowedIssueAuthors: ['testuser'],
|
|
1650
1650
|
codexHomeCandidates: null,
|
|
1651
1651
|
allowIssueCacheMinutes: 0,
|
|
1652
1652
|
labelsAsLlmAgentName: null,
|
|
@@ -1695,7 +1695,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1695
1695
|
configFilePath: '/path/to/config.yml',
|
|
1696
1696
|
maximumPreparingIssuesCount: null,
|
|
1697
1697
|
utilizationPercentageThreshold: 90,
|
|
1698
|
-
allowedIssueAuthors:
|
|
1698
|
+
allowedIssueAuthors: ['testuser'],
|
|
1699
1699
|
codexHomeCandidates: null,
|
|
1700
1700
|
allowIssueCacheMinutes: 0,
|
|
1701
1701
|
labelsAsLlmAgentName: null,
|
|
@@ -1744,7 +1744,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1744
1744
|
configFilePath: '/path/to/config.yml',
|
|
1745
1745
|
maximumPreparingIssuesCount: null,
|
|
1746
1746
|
utilizationPercentageThreshold: 90,
|
|
1747
|
-
allowedIssueAuthors:
|
|
1747
|
+
allowedIssueAuthors: ['testuser'],
|
|
1748
1748
|
codexHomeCandidates: null,
|
|
1749
1749
|
allowIssueCacheMinutes: 0,
|
|
1750
1750
|
labelsAsLlmAgentName: null,
|
|
@@ -1813,7 +1813,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1813
1813
|
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(1);
|
|
1814
1814
|
});
|
|
1815
1815
|
|
|
1816
|
-
it('should process
|
|
1816
|
+
it('should process no issues when allowedIssueAuthors is null (fail-closed)', async () => {
|
|
1817
1817
|
const issue1 = createMockIssue({
|
|
1818
1818
|
url: 'https://github.com/user/repo/issues/1',
|
|
1819
1819
|
title: 'Issue 1',
|
|
@@ -1854,8 +1854,122 @@ describe('StartPreparationUseCase', () => {
|
|
|
1854
1854
|
labelsAsLlmAgentName: null,
|
|
1855
1855
|
});
|
|
1856
1856
|
|
|
1857
|
-
expect(mockIssueRepository.updateStatus.mock.calls).toHaveLength(
|
|
1858
|
-
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(
|
|
1857
|
+
expect(mockIssueRepository.updateStatus.mock.calls).toHaveLength(0);
|
|
1858
|
+
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(0);
|
|
1859
|
+
});
|
|
1860
|
+
|
|
1861
|
+
it('should process no issues when allowedIssueAuthors is an empty list (fail-closed)', async () => {
|
|
1862
|
+
const issue1 = createMockIssue({
|
|
1863
|
+
url: 'https://github.com/user/repo/issues/1',
|
|
1864
|
+
title: 'Issue 1',
|
|
1865
|
+
labels: [],
|
|
1866
|
+
status: 'Awaiting Workspace',
|
|
1867
|
+
author: 'user1',
|
|
1868
|
+
});
|
|
1869
|
+
|
|
1870
|
+
mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
|
|
1871
|
+
mockIssueRepository.getStoryObjectMap.mockResolvedValue(
|
|
1872
|
+
createMockStoryObjectMap([issue1]),
|
|
1873
|
+
);
|
|
1874
|
+
mockLocalCommandRunner.runCommand.mockResolvedValue({
|
|
1875
|
+
stdout: '',
|
|
1876
|
+
stderr: '',
|
|
1877
|
+
exitCode: 0,
|
|
1878
|
+
});
|
|
1879
|
+
|
|
1880
|
+
await useCase.run({
|
|
1881
|
+
projectUrl: 'https://github.com/user/repo',
|
|
1882
|
+
defaultAgentName: 'agent1',
|
|
1883
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
1884
|
+
fallbackLlmModelName: null,
|
|
1885
|
+
defaultLlmAgentName: null,
|
|
1886
|
+
configFilePath: '/path/to/config.yml',
|
|
1887
|
+
maximumPreparingIssuesCount: null,
|
|
1888
|
+
utilizationPercentageThreshold: 90,
|
|
1889
|
+
allowedIssueAuthors: [],
|
|
1890
|
+
codexHomeCandidates: null,
|
|
1891
|
+
allowIssueCacheMinutes: 0,
|
|
1892
|
+
labelsAsLlmAgentName: null,
|
|
1893
|
+
});
|
|
1894
|
+
|
|
1895
|
+
expect(mockIssueRepository.updateStatus.mock.calls).toHaveLength(0);
|
|
1896
|
+
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(0);
|
|
1897
|
+
});
|
|
1898
|
+
|
|
1899
|
+
it('should process a previously bot-bypassed author only when explicitly listed', async () => {
|
|
1900
|
+
const botIssue = createMockIssue({
|
|
1901
|
+
url: 'https://github.com/user/repo/issues/1',
|
|
1902
|
+
title: 'Bot issue',
|
|
1903
|
+
labels: [],
|
|
1904
|
+
status: 'Awaiting Workspace',
|
|
1905
|
+
author: 'dependabot[bot]',
|
|
1906
|
+
});
|
|
1907
|
+
|
|
1908
|
+
mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
|
|
1909
|
+
mockIssueRepository.getStoryObjectMap.mockResolvedValue(
|
|
1910
|
+
createMockStoryObjectMap([botIssue]),
|
|
1911
|
+
);
|
|
1912
|
+
mockLocalCommandRunner.runCommand.mockResolvedValue({
|
|
1913
|
+
stdout: '',
|
|
1914
|
+
stderr: '',
|
|
1915
|
+
exitCode: 0,
|
|
1916
|
+
});
|
|
1917
|
+
|
|
1918
|
+
await useCase.run({
|
|
1919
|
+
projectUrl: 'https://github.com/user/repo',
|
|
1920
|
+
defaultAgentName: 'agent1',
|
|
1921
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
1922
|
+
fallbackLlmModelName: null,
|
|
1923
|
+
defaultLlmAgentName: null,
|
|
1924
|
+
configFilePath: '/path/to/config.yml',
|
|
1925
|
+
maximumPreparingIssuesCount: null,
|
|
1926
|
+
utilizationPercentageThreshold: 90,
|
|
1927
|
+
allowedIssueAuthors: ['dependabot[bot]'],
|
|
1928
|
+
codexHomeCandidates: null,
|
|
1929
|
+
allowIssueCacheMinutes: 0,
|
|
1930
|
+
labelsAsLlmAgentName: null,
|
|
1931
|
+
});
|
|
1932
|
+
|
|
1933
|
+
expect(mockIssueRepository.updateStatus.mock.calls).toHaveLength(1);
|
|
1934
|
+
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(1);
|
|
1935
|
+
});
|
|
1936
|
+
|
|
1937
|
+
it('should not process a previously bot-bypassed author when not listed', async () => {
|
|
1938
|
+
const botIssue = createMockIssue({
|
|
1939
|
+
url: 'https://github.com/user/repo/issues/1',
|
|
1940
|
+
title: 'Bot issue',
|
|
1941
|
+
labels: [],
|
|
1942
|
+
status: 'Awaiting Workspace',
|
|
1943
|
+
author: 'dependabot[bot]',
|
|
1944
|
+
});
|
|
1945
|
+
|
|
1946
|
+
mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
|
|
1947
|
+
mockIssueRepository.getStoryObjectMap.mockResolvedValue(
|
|
1948
|
+
createMockStoryObjectMap([botIssue]),
|
|
1949
|
+
);
|
|
1950
|
+
mockLocalCommandRunner.runCommand.mockResolvedValue({
|
|
1951
|
+
stdout: '',
|
|
1952
|
+
stderr: '',
|
|
1953
|
+
exitCode: 0,
|
|
1954
|
+
});
|
|
1955
|
+
|
|
1956
|
+
await useCase.run({
|
|
1957
|
+
projectUrl: 'https://github.com/user/repo',
|
|
1958
|
+
defaultAgentName: 'agent1',
|
|
1959
|
+
defaultLlmModelName: 'claude-sonnet-4-6',
|
|
1960
|
+
fallbackLlmModelName: null,
|
|
1961
|
+
defaultLlmAgentName: null,
|
|
1962
|
+
configFilePath: '/path/to/config.yml',
|
|
1963
|
+
maximumPreparingIssuesCount: null,
|
|
1964
|
+
utilizationPercentageThreshold: 90,
|
|
1965
|
+
allowedIssueAuthors: ['owner'],
|
|
1966
|
+
codexHomeCandidates: null,
|
|
1967
|
+
allowIssueCacheMinutes: 0,
|
|
1968
|
+
labelsAsLlmAgentName: null,
|
|
1969
|
+
});
|
|
1970
|
+
|
|
1971
|
+
expect(mockIssueRepository.updateStatus.mock.calls).toHaveLength(0);
|
|
1972
|
+
expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(0);
|
|
1859
1973
|
});
|
|
1860
1974
|
|
|
1861
1975
|
it('should skip issues with empty author when allowedIssueAuthors is configured (deny-by-default)', async () => {
|
|
@@ -1974,7 +2088,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
1974
2088
|
configFilePath: '/path/to/config.yml',
|
|
1975
2089
|
maximumPreparingIssuesCount: null,
|
|
1976
2090
|
utilizationPercentageThreshold: 90,
|
|
1977
|
-
allowedIssueAuthors:
|
|
2091
|
+
allowedIssueAuthors: ['testuser'],
|
|
1978
2092
|
codexHomeCandidates: null,
|
|
1979
2093
|
allowIssueCacheMinutes: 0,
|
|
1980
2094
|
labelsAsLlmAgentName: null,
|
|
@@ -2023,7 +2137,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
2023
2137
|
configFilePath: '/path/to/config.yml',
|
|
2024
2138
|
maximumPreparingIssuesCount: null,
|
|
2025
2139
|
utilizationPercentageThreshold: 90,
|
|
2026
|
-
allowedIssueAuthors:
|
|
2140
|
+
allowedIssueAuthors: ['testuser'],
|
|
2027
2141
|
codexHomeCandidates: [],
|
|
2028
2142
|
allowIssueCacheMinutes: 0,
|
|
2029
2143
|
labelsAsLlmAgentName: null,
|
|
@@ -2072,7 +2186,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
2072
2186
|
configFilePath: '/path/to/config.yml',
|
|
2073
2187
|
maximumPreparingIssuesCount: null,
|
|
2074
2188
|
utilizationPercentageThreshold: 90,
|
|
2075
|
-
allowedIssueAuthors:
|
|
2189
|
+
allowedIssueAuthors: ['testuser'],
|
|
2076
2190
|
codexHomeCandidates: ['.codex-dev1'],
|
|
2077
2191
|
allowIssueCacheMinutes: 0,
|
|
2078
2192
|
labelsAsLlmAgentName: null,
|
|
@@ -2141,7 +2255,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
2141
2255
|
configFilePath: '/path/to/config.yml',
|
|
2142
2256
|
maximumPreparingIssuesCount: null,
|
|
2143
2257
|
utilizationPercentageThreshold: 90,
|
|
2144
|
-
allowedIssueAuthors:
|
|
2258
|
+
allowedIssueAuthors: ['testuser'],
|
|
2145
2259
|
codexHomeCandidates: ['.codex-dev1', '.codex-dev2'],
|
|
2146
2260
|
allowIssueCacheMinutes: 0,
|
|
2147
2261
|
labelsAsLlmAgentName: null,
|
|
@@ -2207,7 +2321,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
2207
2321
|
configFilePath: '/path/to/config.yml',
|
|
2208
2322
|
maximumPreparingIssuesCount: null,
|
|
2209
2323
|
utilizationPercentageThreshold: 90,
|
|
2210
|
-
allowedIssueAuthors:
|
|
2324
|
+
allowedIssueAuthors: ['testuser'],
|
|
2211
2325
|
codexHomeCandidates: null,
|
|
2212
2326
|
allowIssueCacheMinutes: 0,
|
|
2213
2327
|
labelsAsLlmAgentName: null,
|
|
@@ -2267,7 +2381,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
2267
2381
|
configFilePath: '/path/to/config.yml',
|
|
2268
2382
|
maximumPreparingIssuesCount: null,
|
|
2269
2383
|
utilizationPercentageThreshold: 90,
|
|
2270
|
-
allowedIssueAuthors:
|
|
2384
|
+
allowedIssueAuthors: ['testuser'],
|
|
2271
2385
|
codexHomeCandidates: null,
|
|
2272
2386
|
allowIssueCacheMinutes: 0,
|
|
2273
2387
|
labelsAsLlmAgentName: null,
|
|
@@ -2296,7 +2410,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
2296
2410
|
configFilePath: '/path/to/config.yml',
|
|
2297
2411
|
maximumPreparingIssuesCount: null,
|
|
2298
2412
|
utilizationPercentageThreshold: 90,
|
|
2299
|
-
allowedIssueAuthors:
|
|
2413
|
+
allowedIssueAuthors: ['testuser'],
|
|
2300
2414
|
codexHomeCandidates: null,
|
|
2301
2415
|
allowIssueCacheMinutes: 5,
|
|
2302
2416
|
labelsAsLlmAgentName: null,
|
|
@@ -2344,7 +2458,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
2344
2458
|
configFilePath: '/path/to/config.yml',
|
|
2345
2459
|
maximumPreparingIssuesCount: null,
|
|
2346
2460
|
utilizationPercentageThreshold: 90,
|
|
2347
|
-
allowedIssueAuthors:
|
|
2461
|
+
allowedIssueAuthors: ['testuser'],
|
|
2348
2462
|
codexHomeCandidates: null,
|
|
2349
2463
|
allowIssueCacheMinutes: 0,
|
|
2350
2464
|
labelsAsLlmAgentName: null,
|
|
@@ -2397,7 +2511,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
2397
2511
|
configFilePath: '/path/to/config.yml',
|
|
2398
2512
|
maximumPreparingIssuesCount: null,
|
|
2399
2513
|
utilizationPercentageThreshold: 90,
|
|
2400
|
-
allowedIssueAuthors:
|
|
2514
|
+
allowedIssueAuthors: ['testuser'],
|
|
2401
2515
|
codexHomeCandidates: null,
|
|
2402
2516
|
allowIssueCacheMinutes: 0,
|
|
2403
2517
|
labelsAsLlmAgentName: null,
|
|
@@ -2488,7 +2602,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
2488
2602
|
configFilePath: '/path/to/config.yml',
|
|
2489
2603
|
maximumPreparingIssuesCount: null,
|
|
2490
2604
|
utilizationPercentageThreshold: 90,
|
|
2491
|
-
allowedIssueAuthors:
|
|
2605
|
+
allowedIssueAuthors: ['testuser'],
|
|
2492
2606
|
codexHomeCandidates: null,
|
|
2493
2607
|
allowIssueCacheMinutes: 0,
|
|
2494
2608
|
labelsAsLlmAgentName: null,
|
|
@@ -2546,7 +2660,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
2546
2660
|
configFilePath: '/path/to/config.yml',
|
|
2547
2661
|
maximumPreparingIssuesCount: null,
|
|
2548
2662
|
utilizationPercentageThreshold: 90,
|
|
2549
|
-
allowedIssueAuthors:
|
|
2663
|
+
allowedIssueAuthors: ['testuser'],
|
|
2550
2664
|
codexHomeCandidates: null,
|
|
2551
2665
|
allowIssueCacheMinutes: 0,
|
|
2552
2666
|
labelsAsLlmAgentName: null,
|
|
@@ -2622,7 +2736,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
2622
2736
|
configFilePath: '/path/to/config.yml',
|
|
2623
2737
|
maximumPreparingIssuesCount: null,
|
|
2624
2738
|
utilizationPercentageThreshold: 90,
|
|
2625
|
-
allowedIssueAuthors:
|
|
2739
|
+
allowedIssueAuthors: ['testuser'],
|
|
2626
2740
|
codexHomeCandidates: null,
|
|
2627
2741
|
allowIssueCacheMinutes: 0,
|
|
2628
2742
|
labelsAsLlmAgentName: null,
|
|
@@ -2701,7 +2815,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
2701
2815
|
configFilePath: '/path/to/config.yml',
|
|
2702
2816
|
maximumPreparingIssuesCount: null,
|
|
2703
2817
|
utilizationPercentageThreshold: 90,
|
|
2704
|
-
allowedIssueAuthors:
|
|
2818
|
+
allowedIssueAuthors: ['testuser'],
|
|
2705
2819
|
codexHomeCandidates: null,
|
|
2706
2820
|
allowIssueCacheMinutes: 0,
|
|
2707
2821
|
labelsAsLlmAgentName: null,
|
|
@@ -2779,7 +2893,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
2779
2893
|
configFilePath: '/path/to/config.yml',
|
|
2780
2894
|
maximumPreparingIssuesCount: null,
|
|
2781
2895
|
utilizationPercentageThreshold: 90,
|
|
2782
|
-
allowedIssueAuthors:
|
|
2896
|
+
allowedIssueAuthors: ['testuser'],
|
|
2783
2897
|
codexHomeCandidates: null,
|
|
2784
2898
|
allowIssueCacheMinutes: 0,
|
|
2785
2899
|
labelsAsLlmAgentName: null,
|
|
@@ -2854,7 +2968,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
2854
2968
|
configFilePath: '/path/to/config.yml',
|
|
2855
2969
|
maximumPreparingIssuesCount: null,
|
|
2856
2970
|
utilizationPercentageThreshold: 90,
|
|
2857
|
-
allowedIssueAuthors:
|
|
2971
|
+
allowedIssueAuthors: ['testuser'],
|
|
2858
2972
|
codexHomeCandidates: null,
|
|
2859
2973
|
allowIssueCacheMinutes: 0,
|
|
2860
2974
|
labelsAsLlmAgentName: null,
|
|
@@ -2942,7 +3056,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
2942
3056
|
configFilePath: '/path/to/config.yml',
|
|
2943
3057
|
maximumPreparingIssuesCount: null,
|
|
2944
3058
|
utilizationPercentageThreshold: 90,
|
|
2945
|
-
allowedIssueAuthors:
|
|
3059
|
+
allowedIssueAuthors: ['testuser'],
|
|
2946
3060
|
codexHomeCandidates: null,
|
|
2947
3061
|
allowIssueCacheMinutes: 0,
|
|
2948
3062
|
labelsAsLlmAgentName: null,
|
|
@@ -3009,7 +3123,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
3009
3123
|
configFilePath: '/path/to/config.yml',
|
|
3010
3124
|
maximumPreparingIssuesCount: null,
|
|
3011
3125
|
utilizationPercentageThreshold: 90,
|
|
3012
|
-
allowedIssueAuthors:
|
|
3126
|
+
allowedIssueAuthors: ['testuser'],
|
|
3013
3127
|
codexHomeCandidates: null,
|
|
3014
3128
|
allowIssueCacheMinutes: 0,
|
|
3015
3129
|
labelsAsLlmAgentName: null,
|
|
@@ -3077,7 +3191,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
3077
3191
|
configFilePath: '/path/to/config.yml',
|
|
3078
3192
|
maximumPreparingIssuesCount: null,
|
|
3079
3193
|
utilizationPercentageThreshold: 90,
|
|
3080
|
-
allowedIssueAuthors:
|
|
3194
|
+
allowedIssueAuthors: ['testuser'],
|
|
3081
3195
|
codexHomeCandidates: null,
|
|
3082
3196
|
allowIssueCacheMinutes: 0,
|
|
3083
3197
|
labelsAsLlmAgentName: null,
|
|
@@ -3147,7 +3261,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
3147
3261
|
configFilePath: '/path/to/config.yml',
|
|
3148
3262
|
maximumPreparingIssuesCount: null,
|
|
3149
3263
|
utilizationPercentageThreshold: 90,
|
|
3150
|
-
allowedIssueAuthors:
|
|
3264
|
+
allowedIssueAuthors: ['testuser'],
|
|
3151
3265
|
codexHomeCandidates: null,
|
|
3152
3266
|
allowIssueCacheMinutes: 0,
|
|
3153
3267
|
labelsAsLlmAgentName: null,
|
|
@@ -3220,7 +3334,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
3220
3334
|
configFilePath: '/path/to/config.yml',
|
|
3221
3335
|
maximumPreparingIssuesCount: null,
|
|
3222
3336
|
utilizationPercentageThreshold: 90,
|
|
3223
|
-
allowedIssueAuthors:
|
|
3337
|
+
allowedIssueAuthors: ['testuser'],
|
|
3224
3338
|
codexHomeCandidates: null,
|
|
3225
3339
|
allowIssueCacheMinutes: 0,
|
|
3226
3340
|
labelsAsLlmAgentName: null,
|
|
@@ -3335,7 +3449,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
3335
3449
|
configFilePath: '/path/to/config.yml',
|
|
3336
3450
|
maximumPreparingIssuesCount: null,
|
|
3337
3451
|
utilizationPercentageThreshold: 90,
|
|
3338
|
-
allowedIssueAuthors:
|
|
3452
|
+
allowedIssueAuthors: ['testuser'],
|
|
3339
3453
|
codexHomeCandidates: null,
|
|
3340
3454
|
allowIssueCacheMinutes: 0,
|
|
3341
3455
|
labelsAsLlmAgentName: null,
|
|
@@ -3421,7 +3535,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
3421
3535
|
configFilePath: '/path/to/config.yml',
|
|
3422
3536
|
maximumPreparingIssuesCount: null,
|
|
3423
3537
|
utilizationPercentageThreshold: 90,
|
|
3424
|
-
allowedIssueAuthors:
|
|
3538
|
+
allowedIssueAuthors: ['testuser'],
|
|
3425
3539
|
codexHomeCandidates: null,
|
|
3426
3540
|
allowIssueCacheMinutes: 0,
|
|
3427
3541
|
labelsAsLlmAgentName: null,
|
|
@@ -3482,7 +3596,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
3482
3596
|
configFilePath: '/path/to/config.yml',
|
|
3483
3597
|
maximumPreparingIssuesCount: null,
|
|
3484
3598
|
utilizationPercentageThreshold: 90,
|
|
3485
|
-
allowedIssueAuthors:
|
|
3599
|
+
allowedIssueAuthors: ['testuser'],
|
|
3486
3600
|
codexHomeCandidates: null,
|
|
3487
3601
|
allowIssueCacheMinutes: 0,
|
|
3488
3602
|
labelsAsLlmAgentName: null,
|
|
@@ -3549,7 +3663,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
3549
3663
|
configFilePath: '/path/to/config.yml',
|
|
3550
3664
|
maximumPreparingIssuesCount: null,
|
|
3551
3665
|
utilizationPercentageThreshold: 90,
|
|
3552
|
-
allowedIssueAuthors:
|
|
3666
|
+
allowedIssueAuthors: ['testuser'],
|
|
3553
3667
|
codexHomeCandidates: null,
|
|
3554
3668
|
allowIssueCacheMinutes: 0,
|
|
3555
3669
|
labelsAsLlmAgentName: null,
|
|
@@ -3616,7 +3730,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
3616
3730
|
configFilePath: '/path/to/config.yml',
|
|
3617
3731
|
maximumPreparingIssuesCount: null,
|
|
3618
3732
|
utilizationPercentageThreshold: 90,
|
|
3619
|
-
allowedIssueAuthors:
|
|
3733
|
+
allowedIssueAuthors: ['testuser'],
|
|
3620
3734
|
codexHomeCandidates: null,
|
|
3621
3735
|
allowIssueCacheMinutes: 0,
|
|
3622
3736
|
labelsAsLlmAgentName: null,
|
|
@@ -3683,7 +3797,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
3683
3797
|
configFilePath: '/path/to/config.yml',
|
|
3684
3798
|
maximumPreparingIssuesCount: null,
|
|
3685
3799
|
utilizationPercentageThreshold: 90,
|
|
3686
|
-
allowedIssueAuthors:
|
|
3800
|
+
allowedIssueAuthors: ['testuser'],
|
|
3687
3801
|
codexHomeCandidates: null,
|
|
3688
3802
|
allowIssueCacheMinutes: 0,
|
|
3689
3803
|
labelsAsLlmAgentName: null,
|
|
@@ -3753,7 +3867,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
3753
3867
|
configFilePath: '/path/to/config.yml',
|
|
3754
3868
|
maximumPreparingIssuesCount: null,
|
|
3755
3869
|
utilizationPercentageThreshold: 90,
|
|
3756
|
-
allowedIssueAuthors:
|
|
3870
|
+
allowedIssueAuthors: ['testuser'],
|
|
3757
3871
|
codexHomeCandidates: null,
|
|
3758
3872
|
allowIssueCacheMinutes: 0,
|
|
3759
3873
|
labelsAsLlmAgentName: null,
|
|
@@ -3801,7 +3915,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
3801
3915
|
configFilePath: '/path/to/config.yml',
|
|
3802
3916
|
maximumPreparingIssuesCount: null,
|
|
3803
3917
|
utilizationPercentageThreshold: 90,
|
|
3804
|
-
allowedIssueAuthors:
|
|
3918
|
+
allowedIssueAuthors: ['testuser'],
|
|
3805
3919
|
codexHomeCandidates: null,
|
|
3806
3920
|
allowIssueCacheMinutes: 0,
|
|
3807
3921
|
labelsAsLlmAgentName: null,
|
|
@@ -3871,7 +3985,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
3871
3985
|
configFilePath: '/path/to/config.yml',
|
|
3872
3986
|
maximumPreparingIssuesCount: null,
|
|
3873
3987
|
utilizationPercentageThreshold: 90,
|
|
3874
|
-
allowedIssueAuthors:
|
|
3988
|
+
allowedIssueAuthors: ['testuser'],
|
|
3875
3989
|
codexHomeCandidates: null,
|
|
3876
3990
|
allowIssueCacheMinutes: 0,
|
|
3877
3991
|
labelsAsLlmAgentName: null,
|
|
@@ -3941,7 +4055,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
3941
4055
|
configFilePath: '/path/to/config.yml',
|
|
3942
4056
|
maximumPreparingIssuesCount: null,
|
|
3943
4057
|
utilizationPercentageThreshold: 90,
|
|
3944
|
-
allowedIssueAuthors:
|
|
4058
|
+
allowedIssueAuthors: ['testuser'],
|
|
3945
4059
|
codexHomeCandidates: null,
|
|
3946
4060
|
allowIssueCacheMinutes: 0,
|
|
3947
4061
|
labelsAsLlmAgentName: null,
|
|
@@ -4011,7 +4125,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
4011
4125
|
configFilePath: '/path/to/config.yml',
|
|
4012
4126
|
maximumPreparingIssuesCount: null,
|
|
4013
4127
|
utilizationPercentageThreshold: 90,
|
|
4014
|
-
allowedIssueAuthors:
|
|
4128
|
+
allowedIssueAuthors: ['testuser'],
|
|
4015
4129
|
codexHomeCandidates: null,
|
|
4016
4130
|
allowIssueCacheMinutes: 0,
|
|
4017
4131
|
labelsAsLlmAgentName: null,
|
|
@@ -4089,7 +4203,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
4089
4203
|
configFilePath: '/path/to/config.yml',
|
|
4090
4204
|
maximumPreparingIssuesCount: null,
|
|
4091
4205
|
utilizationPercentageThreshold: 90,
|
|
4092
|
-
allowedIssueAuthors:
|
|
4206
|
+
allowedIssueAuthors: ['testuser'],
|
|
4093
4207
|
codexHomeCandidates: null,
|
|
4094
4208
|
allowIssueCacheMinutes: 0,
|
|
4095
4209
|
labelsAsLlmAgentName: null,
|
|
@@ -4167,7 +4281,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
4167
4281
|
configFilePath: '/path/to/config.yml',
|
|
4168
4282
|
maximumPreparingIssuesCount: null,
|
|
4169
4283
|
utilizationPercentageThreshold: 90,
|
|
4170
|
-
allowedIssueAuthors:
|
|
4284
|
+
allowedIssueAuthors: ['testuser'],
|
|
4171
4285
|
codexHomeCandidates: null,
|
|
4172
4286
|
allowIssueCacheMinutes: 0,
|
|
4173
4287
|
labelsAsLlmAgentName: null,
|
|
@@ -4250,7 +4364,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
4250
4364
|
configFilePath: '/path/to/config.yml',
|
|
4251
4365
|
maximumPreparingIssuesCount: null,
|
|
4252
4366
|
utilizationPercentageThreshold: 90,
|
|
4253
|
-
allowedIssueAuthors:
|
|
4367
|
+
allowedIssueAuthors: ['testuser'],
|
|
4254
4368
|
codexHomeCandidates: null,
|
|
4255
4369
|
allowIssueCacheMinutes: 0,
|
|
4256
4370
|
labelsAsLlmAgentName: null,
|
|
@@ -4362,7 +4476,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
4362
4476
|
configFilePath: '/path/to/config.yml',
|
|
4363
4477
|
maximumPreparingIssuesCount: null,
|
|
4364
4478
|
utilizationPercentageThreshold: 90,
|
|
4365
|
-
allowedIssueAuthors:
|
|
4479
|
+
allowedIssueAuthors: ['testuser'],
|
|
4366
4480
|
codexHomeCandidates: null,
|
|
4367
4481
|
allowIssueCacheMinutes: 0,
|
|
4368
4482
|
labelsAsLlmAgentName: null,
|
|
@@ -4438,7 +4552,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
4438
4552
|
configFilePath: '/path/to/config.yml',
|
|
4439
4553
|
maximumPreparingIssuesCount: null,
|
|
4440
4554
|
utilizationPercentageThreshold: 90,
|
|
4441
|
-
allowedIssueAuthors:
|
|
4555
|
+
allowedIssueAuthors: ['testuser'],
|
|
4442
4556
|
codexHomeCandidates: null,
|
|
4443
4557
|
allowIssueCacheMinutes: 0,
|
|
4444
4558
|
labelsAsLlmAgentName: null,
|
|
@@ -4511,7 +4625,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
4511
4625
|
configFilePath: '/path/to/config.yml',
|
|
4512
4626
|
maximumPreparingIssuesCount: null,
|
|
4513
4627
|
utilizationPercentageThreshold: 90,
|
|
4514
|
-
allowedIssueAuthors:
|
|
4628
|
+
allowedIssueAuthors: ['testuser'],
|
|
4515
4629
|
codexHomeCandidates: null,
|
|
4516
4630
|
allowIssueCacheMinutes: 0,
|
|
4517
4631
|
labelsAsLlmAgentName: null,
|
|
@@ -4559,7 +4673,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
4559
4673
|
configFilePath: '/path/to/config.yml',
|
|
4560
4674
|
maximumPreparingIssuesCount: null,
|
|
4561
4675
|
utilizationPercentageThreshold: 90,
|
|
4562
|
-
allowedIssueAuthors:
|
|
4676
|
+
allowedIssueAuthors: ['testuser'],
|
|
4563
4677
|
codexHomeCandidates: null,
|
|
4564
4678
|
allowIssueCacheMinutes: 0,
|
|
4565
4679
|
labelsAsLlmAgentName: params.labelsAsLlmAgentName,
|
|
@@ -4706,7 +4820,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
4706
4820
|
configFilePath: '/path/to/config.yml',
|
|
4707
4821
|
maximumPreparingIssuesCount: null,
|
|
4708
4822
|
utilizationPercentageThreshold: 90,
|
|
4709
|
-
allowedIssueAuthors:
|
|
4823
|
+
allowedIssueAuthors: ['testuser'],
|
|
4710
4824
|
codexHomeCandidates: null,
|
|
4711
4825
|
allowIssueCacheMinutes: 0,
|
|
4712
4826
|
labelsAsLlmAgentName: null,
|
|
@@ -4773,7 +4887,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
4773
4887
|
configFilePath: '/path/to/config.yml',
|
|
4774
4888
|
maximumPreparingIssuesCount: null,
|
|
4775
4889
|
utilizationPercentageThreshold: 90,
|
|
4776
|
-
allowedIssueAuthors:
|
|
4890
|
+
allowedIssueAuthors: ['testuser'],
|
|
4777
4891
|
codexHomeCandidates: null,
|
|
4778
4892
|
allowIssueCacheMinutes: 0,
|
|
4779
4893
|
labelsAsLlmAgentName: null,
|
|
@@ -4832,7 +4946,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
4832
4946
|
configFilePath: '/path/to/config.yml',
|
|
4833
4947
|
maximumPreparingIssuesCount: null,
|
|
4834
4948
|
utilizationPercentageThreshold: 90,
|
|
4835
|
-
allowedIssueAuthors:
|
|
4949
|
+
allowedIssueAuthors: ['testuser'],
|
|
4836
4950
|
codexHomeCandidates: null,
|
|
4837
4951
|
allowIssueCacheMinutes: 0,
|
|
4838
4952
|
labelsAsLlmAgentName: null,
|
|
@@ -4887,7 +5001,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
4887
5001
|
configFilePath: '/path/to/config.yml',
|
|
4888
5002
|
maximumPreparingIssuesCount: null,
|
|
4889
5003
|
utilizationPercentageThreshold: 90,
|
|
4890
|
-
allowedIssueAuthors:
|
|
5004
|
+
allowedIssueAuthors: ['testuser'],
|
|
4891
5005
|
codexHomeCandidates: null,
|
|
4892
5006
|
allowIssueCacheMinutes: 0,
|
|
4893
5007
|
labelsAsLlmAgentName: null,
|
|
@@ -4942,7 +5056,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
4942
5056
|
configFilePath: '/path/to/config.yml',
|
|
4943
5057
|
maximumPreparingIssuesCount: null,
|
|
4944
5058
|
utilizationPercentageThreshold: 90,
|
|
4945
|
-
allowedIssueAuthors:
|
|
5059
|
+
allowedIssueAuthors: ['testuser'],
|
|
4946
5060
|
codexHomeCandidates: null,
|
|
4947
5061
|
allowIssueCacheMinutes: 0,
|
|
4948
5062
|
labelsAsLlmAgentName: null,
|
|
@@ -4998,7 +5112,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
4998
5112
|
configFilePath: '/path/to/config.yml',
|
|
4999
5113
|
maximumPreparingIssuesCount: null,
|
|
5000
5114
|
utilizationPercentageThreshold: 90,
|
|
5001
|
-
allowedIssueAuthors:
|
|
5115
|
+
allowedIssueAuthors: ['testuser'],
|
|
5002
5116
|
codexHomeCandidates: null,
|
|
5003
5117
|
allowIssueCacheMinutes: 0,
|
|
5004
5118
|
labelsAsLlmAgentName: null,
|
|
@@ -5079,7 +5193,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
5079
5193
|
configFilePath: '/path/to/config.yml',
|
|
5080
5194
|
maximumPreparingIssuesCount: null,
|
|
5081
5195
|
utilizationPercentageThreshold: 90,
|
|
5082
|
-
allowedIssueAuthors:
|
|
5196
|
+
allowedIssueAuthors: ['testuser'],
|
|
5083
5197
|
codexHomeCandidates: null,
|
|
5084
5198
|
allowIssueCacheMinutes: 0,
|
|
5085
5199
|
labelsAsLlmAgentName: null,
|
|
@@ -5147,7 +5261,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
5147
5261
|
configFilePath: '/path/to/config.yml',
|
|
5148
5262
|
maximumPreparingIssuesCount: null,
|
|
5149
5263
|
utilizationPercentageThreshold: 90,
|
|
5150
|
-
allowedIssueAuthors:
|
|
5264
|
+
allowedIssueAuthors: ['testuser'],
|
|
5151
5265
|
codexHomeCandidates: null,
|
|
5152
5266
|
allowIssueCacheMinutes: 0,
|
|
5153
5267
|
labelsAsLlmAgentName: null,
|
|
@@ -5207,7 +5321,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
5207
5321
|
configFilePath: '/path/to/config.yml',
|
|
5208
5322
|
maximumPreparingIssuesCount: null,
|
|
5209
5323
|
utilizationPercentageThreshold: 90,
|
|
5210
|
-
allowedIssueAuthors:
|
|
5324
|
+
allowedIssueAuthors: ['testuser'],
|
|
5211
5325
|
codexHomeCandidates: null,
|
|
5212
5326
|
allowIssueCacheMinutes: 0,
|
|
5213
5327
|
labelsAsLlmAgentName: null,
|
|
@@ -5263,7 +5377,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
5263
5377
|
configFilePath: '/path/to/config.yml',
|
|
5264
5378
|
maximumPreparingIssuesCount: null,
|
|
5265
5379
|
utilizationPercentageThreshold: 90,
|
|
5266
|
-
allowedIssueAuthors:
|
|
5380
|
+
allowedIssueAuthors: ['testuser'],
|
|
5267
5381
|
codexHomeCandidates: null,
|
|
5268
5382
|
allowIssueCacheMinutes: 0,
|
|
5269
5383
|
labelsAsLlmAgentName: null,
|
|
@@ -5325,7 +5439,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
5325
5439
|
configFilePath: '/path/to/config.yml',
|
|
5326
5440
|
maximumPreparingIssuesCount: null,
|
|
5327
5441
|
utilizationPercentageThreshold: 90,
|
|
5328
|
-
allowedIssueAuthors:
|
|
5442
|
+
allowedIssueAuthors: ['testuser'],
|
|
5329
5443
|
codexHomeCandidates: null,
|
|
5330
5444
|
allowIssueCacheMinutes: 0,
|
|
5331
5445
|
labelsAsLlmAgentName: null,
|
|
@@ -5387,7 +5501,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
5387
5501
|
configFilePath: '/path/to/config.yml',
|
|
5388
5502
|
maximumPreparingIssuesCount: null,
|
|
5389
5503
|
utilizationPercentageThreshold: 90,
|
|
5390
|
-
allowedIssueAuthors:
|
|
5504
|
+
allowedIssueAuthors: ['testuser'],
|
|
5391
5505
|
codexHomeCandidates: null,
|
|
5392
5506
|
allowIssueCacheMinutes: 0,
|
|
5393
5507
|
labelsAsLlmAgentName: null,
|
|
@@ -5448,7 +5562,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
5448
5562
|
configFilePath: '/path/to/config.yml',
|
|
5449
5563
|
maximumPreparingIssuesCount: null,
|
|
5450
5564
|
utilizationPercentageThreshold: 90,
|
|
5451
|
-
allowedIssueAuthors:
|
|
5565
|
+
allowedIssueAuthors: ['testuser'],
|
|
5452
5566
|
codexHomeCandidates: null,
|
|
5453
5567
|
allowIssueCacheMinutes: 0,
|
|
5454
5568
|
labelsAsLlmAgentName: null,
|
|
@@ -5509,7 +5623,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
5509
5623
|
configFilePath: '/path/to/config.yml',
|
|
5510
5624
|
maximumPreparingIssuesCount: null,
|
|
5511
5625
|
utilizationPercentageThreshold: 90,
|
|
5512
|
-
allowedIssueAuthors:
|
|
5626
|
+
allowedIssueAuthors: ['testuser'],
|
|
5513
5627
|
codexHomeCandidates: null,
|
|
5514
5628
|
allowIssueCacheMinutes: 0,
|
|
5515
5629
|
labelsAsLlmAgentName: null,
|
|
@@ -5564,7 +5678,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
5564
5678
|
configFilePath: '/path/to/config.yml',
|
|
5565
5679
|
maximumPreparingIssuesCount: null,
|
|
5566
5680
|
utilizationPercentageThreshold: 90,
|
|
5567
|
-
allowedIssueAuthors:
|
|
5681
|
+
allowedIssueAuthors: ['testuser'],
|
|
5568
5682
|
codexHomeCandidates: null,
|
|
5569
5683
|
allowIssueCacheMinutes: 0,
|
|
5570
5684
|
labelsAsLlmAgentName: null,
|
|
@@ -5631,7 +5745,7 @@ describe('StartPreparationUseCase', () => {
|
|
|
5631
5745
|
configFilePath: '/path/to/config.yml',
|
|
5632
5746
|
maximumPreparingIssuesCount: null,
|
|
5633
5747
|
utilizationPercentageThreshold: 90,
|
|
5634
|
-
allowedIssueAuthors:
|
|
5748
|
+
allowedIssueAuthors: ['testuser'],
|
|
5635
5749
|
codexHomeCandidates: null,
|
|
5636
5750
|
allowIssueCacheMinutes: 0,
|
|
5637
5751
|
labelsAsLlmAgentName: null,
|