github-issue-tower-defence-management 1.77.2 → 1.78.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 +15 -0
- package/README.md +4 -1
- package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js +3 -3
- package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js.map +1 -1
- package/bin/adapter/repositories/ProxyClaudeTokenUsageRepository.js +22 -0
- package/bin/adapter/repositories/ProxyClaudeTokenUsageRepository.js.map +1 -1
- package/bin/domain/usecases/HandleScheduledEventUseCase.js +3 -3
- package/bin/domain/usecases/HandleScheduledEventUseCase.js.map +1 -1
- package/bin/domain/usecases/{RevertNotReadyAwaitingQualityCheckUseCase.js → RevertNotReadyReviewQueueIssueUseCase.js} +20 -4
- package/bin/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.js.map +1 -0
- package/package.json +1 -1
- package/src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts +4 -4
- package/src/adapter/repositories/ProxyClaudeTokenUsageRepository.test.ts +157 -9
- package/src/adapter/repositories/ProxyClaudeTokenUsageRepository.ts +20 -0
- package/src/domain/usecases/HandleScheduledEventUseCase.test.ts +8 -8
- package/src/domain/usecases/HandleScheduledEventUseCase.ts +3 -3
- package/src/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.test.ts +1127 -0
- package/src/domain/usecases/{RevertNotReadyAwaitingQualityCheckUseCase.ts → RevertNotReadyReviewQueueIssueUseCase.ts} +40 -1
- package/types/adapter/repositories/ProxyClaudeTokenUsageRepository.d.ts +1 -0
- package/types/adapter/repositories/ProxyClaudeTokenUsageRepository.d.ts.map +1 -1
- package/types/domain/usecases/HandleScheduledEventUseCase.d.ts +3 -3
- package/types/domain/usecases/HandleScheduledEventUseCase.d.ts.map +1 -1
- package/types/domain/usecases/{RevertNotReadyAwaitingQualityCheckUseCase.d.ts → RevertNotReadyReviewQueueIssueUseCase.d.ts} +3 -3
- package/types/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.d.ts.map +1 -0
- package/bin/domain/usecases/RevertNotReadyAwaitingQualityCheckUseCase.js.map +0 -1
- package/src/domain/usecases/RevertNotReadyAwaitingQualityCheckUseCase.test.ts +0 -728
- package/types/domain/usecases/RevertNotReadyAwaitingQualityCheckUseCase.d.ts.map +0 -1
|
@@ -22,7 +22,7 @@ import { AssignNoAssigneeIssueToManagerUseCase } from './AssignNoAssigneeIssueTo
|
|
|
22
22
|
import { UpdateIssueStatusByLabelUseCase } from './UpdateIssueStatusByLabelUseCase';
|
|
23
23
|
import { StartPreparationUseCase } from './StartPreparationUseCase';
|
|
24
24
|
import { RevertOrphanedPreparationUseCase } from './RevertOrphanedPreparationUseCase';
|
|
25
|
-
import {
|
|
25
|
+
import { RevertNotReadyReviewQueueIssueUseCase } from './RevertNotReadyReviewQueueIssueUseCase';
|
|
26
26
|
import { SetupTowerDefenceProjectUseCase } from './SetupTowerDefenceProjectUseCase';
|
|
27
27
|
import { UpdateRateLimitCacheUseCase } from './UpdateRateLimitCacheUseCase';
|
|
28
28
|
import { DailySecurityScanUseCase } from './DailySecurityScanUseCase';
|
|
@@ -115,8 +115,8 @@ describe('HandleScheduledEventUseCase', () => {
|
|
|
115
115
|
const mockStartPreparationUseCase = mock<StartPreparationUseCase>();
|
|
116
116
|
const mockRevertOrphanedPreparationUseCase =
|
|
117
117
|
mock<RevertOrphanedPreparationUseCase>();
|
|
118
|
-
const
|
|
119
|
-
mock<
|
|
118
|
+
const mockRevertNotReadyReviewQueueIssueUseCase =
|
|
119
|
+
mock<RevertNotReadyReviewQueueIssueUseCase>();
|
|
120
120
|
const mockUpdateRateLimitCacheUseCase = mock<UpdateRateLimitCacheUseCase>();
|
|
121
121
|
const mockDailySecurityScanUseCase = mock<DailySecurityScanUseCase>();
|
|
122
122
|
const mockDateRepository = mock<DateRepository>();
|
|
@@ -142,7 +142,7 @@ describe('HandleScheduledEventUseCase', () => {
|
|
|
142
142
|
mockUpdateIssueStatusByLabelUseCase,
|
|
143
143
|
mockStartPreparationUseCase,
|
|
144
144
|
mockRevertOrphanedPreparationUseCase,
|
|
145
|
-
|
|
145
|
+
mockRevertNotReadyReviewQueueIssueUseCase,
|
|
146
146
|
mockUpdateRateLimitCacheUseCase,
|
|
147
147
|
mockDailySecurityScanUseCase,
|
|
148
148
|
mockDateRepository,
|
|
@@ -326,7 +326,7 @@ describe('HandleScheduledEventUseCase', () => {
|
|
|
326
326
|
);
|
|
327
327
|
});
|
|
328
328
|
|
|
329
|
-
it('should invoke
|
|
329
|
+
it('should invoke revertNotReadyReviewQueueIssueUseCase on every scheduled run', async () => {
|
|
330
330
|
const input = {
|
|
331
331
|
projectName: 'test-project',
|
|
332
332
|
org: 'test-org',
|
|
@@ -346,7 +346,7 @@ describe('HandleScheduledEventUseCase', () => {
|
|
|
346
346
|
await useCase.run(input);
|
|
347
347
|
|
|
348
348
|
expect(
|
|
349
|
-
|
|
349
|
+
mockRevertNotReadyReviewQueueIssueUseCase.run,
|
|
350
350
|
).toHaveBeenCalledWith(
|
|
351
351
|
expect.objectContaining({
|
|
352
352
|
projectUrl: 'https://github.com/test-org/test-project',
|
|
@@ -355,7 +355,7 @@ describe('HandleScheduledEventUseCase', () => {
|
|
|
355
355
|
);
|
|
356
356
|
});
|
|
357
357
|
|
|
358
|
-
it('should invoke
|
|
358
|
+
it('should invoke revertNotReadyReviewQueueIssueUseCase even when startPreparation is absent', async () => {
|
|
359
359
|
const input = {
|
|
360
360
|
projectName: 'test-project',
|
|
361
361
|
org: 'test-org',
|
|
@@ -375,7 +375,7 @@ describe('HandleScheduledEventUseCase', () => {
|
|
|
375
375
|
await useCase.run(input);
|
|
376
376
|
|
|
377
377
|
expect(
|
|
378
|
-
|
|
378
|
+
mockRevertNotReadyReviewQueueIssueUseCase.run,
|
|
379
379
|
).toHaveBeenCalledTimes(1);
|
|
380
380
|
});
|
|
381
381
|
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
StartPreparationUseCase,
|
|
26
26
|
} from './StartPreparationUseCase';
|
|
27
27
|
import { RevertOrphanedPreparationUseCase } from './RevertOrphanedPreparationUseCase';
|
|
28
|
-
import {
|
|
28
|
+
import { RevertNotReadyReviewQueueIssueUseCase } from './RevertNotReadyReviewQueueIssueUseCase';
|
|
29
29
|
import { resolveLabelsAsLlmAgentName } from './resolveLabelsAsLlmAgentName';
|
|
30
30
|
import { SetupTowerDefenceProjectUseCase } from './SetupTowerDefenceProjectUseCase';
|
|
31
31
|
import { UpdateRateLimitCacheUseCase } from './UpdateRateLimitCacheUseCase';
|
|
@@ -62,7 +62,7 @@ export class HandleScheduledEventUseCase {
|
|
|
62
62
|
readonly updateIssueStatusByLabelUseCase: UpdateIssueStatusByLabelUseCase,
|
|
63
63
|
readonly startPreparationUseCase: StartPreparationUseCase,
|
|
64
64
|
readonly revertOrphanedPreparationUseCase: RevertOrphanedPreparationUseCase,
|
|
65
|
-
readonly
|
|
65
|
+
readonly revertNotReadyReviewQueueIssueUseCase: RevertNotReadyReviewQueueIssueUseCase,
|
|
66
66
|
readonly updateRateLimitCacheUseCase: UpdateRateLimitCacheUseCase | null,
|
|
67
67
|
readonly dailySecurityScanUseCase: DailySecurityScanUseCase | null,
|
|
68
68
|
readonly dateRepository: DateRepository,
|
|
@@ -292,7 +292,7 @@ ${JSON.stringify(e)}
|
|
|
292
292
|
topLevel: input.labelsAsLlmAgentName,
|
|
293
293
|
startPreparation: input.startPreparation?.labelsAsLlmAgentName,
|
|
294
294
|
});
|
|
295
|
-
await this.
|
|
295
|
+
await this.revertNotReadyReviewQueueIssueUseCase.run({
|
|
296
296
|
projectUrl: input.projectUrl,
|
|
297
297
|
allowIssueCacheMinutes: input.allowIssueCacheMinutes,
|
|
298
298
|
labelsAsLlmAgentName,
|