github-issue-tower-defence-management 1.75.0 → 1.77.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/.github/workflows/umino-project.yml +5 -3
- package/CHANGELOG.md +22 -0
- package/README.md +1 -1
- package/bin/adapter/repositories/ProxyClaudeTokenUsageRepository.js +66 -0
- package/bin/adapter/repositories/ProxyClaudeTokenUsageRepository.js.map +1 -1
- package/bin/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.js +32 -1
- package/bin/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.js.map +1 -1
- package/bin/domain/usecases/ChangeTargetPullRequestApprover.js +4 -3
- package/bin/domain/usecases/ChangeTargetPullRequestApprover.js.map +1 -1
- package/bin/domain/usecases/CheckIssueReviewReadinessUseCase.js.map +1 -1
- package/bin/domain/usecases/IssueRejectionEvaluator.js +35 -1
- package/bin/domain/usecases/IssueRejectionEvaluator.js.map +1 -1
- package/bin/domain/usecases/NotifyFinishedIssuePreparationUseCase.js.map +1 -1
- package/bin/domain/usecases/RevertNotReadyAwaitingQualityCheckUseCase.js.map +1 -1
- package/bin/domain/usecases/StartPreparationUseCase.js +27 -5
- package/bin/domain/usecases/StartPreparationUseCase.js.map +1 -1
- package/package.json +1 -1
- package/src/adapter/repositories/ProxyClaudeTokenUsageRepository.test.ts +126 -0
- package/src/adapter/repositories/ProxyClaudeTokenUsageRepository.ts +31 -0
- package/src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.ts +43 -1
- package/src/domain/usecases/ChangeTargetPullRequestApprover.test.ts +39 -0
- package/src/domain/usecases/ChangeTargetPullRequestApprover.ts +4 -3
- package/src/domain/usecases/CheckIssueReviewReadinessUseCase.test.ts +4 -0
- package/src/domain/usecases/CheckIssueReviewReadinessUseCase.ts +5 -1
- package/src/domain/usecases/IssueRejectionEvaluator.test.ts +141 -0
- package/src/domain/usecases/IssueRejectionEvaluator.ts +56 -3
- package/src/domain/usecases/NotifyFinishedIssuePreparationUseCase.test.ts +2 -0
- package/src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts +1 -0
- package/src/domain/usecases/RevertNotReadyAwaitingQualityCheckUseCase.test.ts +2 -0
- package/src/domain/usecases/RevertNotReadyAwaitingQualityCheckUseCase.ts +1 -0
- package/src/domain/usecases/StartPreparationUseCase.test.ts +180 -0
- package/src/domain/usecases/StartPreparationUseCase.ts +46 -13
- package/src/domain/usecases/adapter-interfaces/ClaudeTokenUsageRepository.ts +1 -0
- package/src/domain/usecases/adapter-interfaces/IssueRepository.ts +5 -0
- package/types/adapter/repositories/ProxyClaudeTokenUsageRepository.d.ts +1 -0
- package/types/adapter/repositories/ProxyClaudeTokenUsageRepository.d.ts.map +1 -1
- package/types/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.d.ts +1 -0
- package/types/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.d.ts.map +1 -1
- package/types/domain/usecases/ChangeTargetPullRequestApprover.d.ts.map +1 -1
- package/types/domain/usecases/CheckIssueReviewReadinessUseCase.d.ts +1 -1
- package/types/domain/usecases/CheckIssueReviewReadinessUseCase.d.ts.map +1 -1
- package/types/domain/usecases/IssueRejectionEvaluator.d.ts +4 -2
- package/types/domain/usecases/IssueRejectionEvaluator.d.ts.map +1 -1
- package/types/domain/usecases/NotifyFinishedIssuePreparationUseCase.d.ts +1 -1
- package/types/domain/usecases/NotifyFinishedIssuePreparationUseCase.d.ts.map +1 -1
- package/types/domain/usecases/RevertNotReadyAwaitingQualityCheckUseCase.d.ts +1 -1
- package/types/domain/usecases/RevertNotReadyAwaitingQualityCheckUseCase.d.ts.map +1 -1
- package/types/domain/usecases/StartPreparationUseCase.d.ts.map +1 -1
- package/types/domain/usecases/adapter-interfaces/ClaudeTokenUsageRepository.d.ts +1 -0
- package/types/domain/usecases/adapter-interfaces/ClaudeTokenUsageRepository.d.ts.map +1 -1
- package/types/domain/usecases/adapter-interfaces/IssueRepository.d.ts +1 -0
- package/types/domain/usecases/adapter-interfaces/IssueRepository.d.ts.map +1 -1
- package/bin/domain/usecases/ClearNextActionHourUseCase.js +0 -44
- package/bin/domain/usecases/ClearNextActionHourUseCase.js.map +0 -1
- package/types/domain/usecases/ClearNextActionHourUseCase.d.ts +0 -14
- package/types/domain/usecases/ClearNextActionHourUseCase.d.ts.map +0 -1
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ClearNextActionHourUseCase = void 0;
|
|
4
|
-
class ClearNextActionHourUseCase {
|
|
5
|
-
constructor(issueRepository) {
|
|
6
|
-
this.issueRepository = issueRepository;
|
|
7
|
-
this.run = async (input) => {
|
|
8
|
-
const nextActionHour = input.project.nextActionHour;
|
|
9
|
-
if (!nextActionHour) {
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
const nextActionDate = input.project.nextActionDate;
|
|
13
|
-
const targetDates = input.targetDates
|
|
14
|
-
.filter((targetDate) => targetDate.getMinutes() === 45)
|
|
15
|
-
.reverse();
|
|
16
|
-
if (targetDates.length === 0) {
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
const targetDate = new Date(targetDates[targetDates.length - 1].getTime() + 5 * 60 * 1000);
|
|
20
|
-
const targetHour = targetDate.getHours() + 1;
|
|
21
|
-
const isTargetIssue = (issue) => {
|
|
22
|
-
return (issue.nextActionHour !== null &&
|
|
23
|
-
issue.nextActionHour <= targetHour &&
|
|
24
|
-
(issue.nextActionDate === null ||
|
|
25
|
-
issue.nextActionDate.getTime() <= targetDate.getTime()) &&
|
|
26
|
-
issue.state === 'OPEN');
|
|
27
|
-
};
|
|
28
|
-
for (const issue of input.issues) {
|
|
29
|
-
if (!isTargetIssue(issue)) {
|
|
30
|
-
continue;
|
|
31
|
-
}
|
|
32
|
-
await this.issueRepository.clearProjectField(input.project, nextActionHour.fieldId, issue);
|
|
33
|
-
await new Promise((resolve) => setTimeout(resolve, 5000));
|
|
34
|
-
if (!nextActionDate) {
|
|
35
|
-
continue;
|
|
36
|
-
}
|
|
37
|
-
await this.issueRepository.clearProjectField(input.project, nextActionDate.fieldId, issue);
|
|
38
|
-
await new Promise((resolve) => setTimeout(resolve, 5000));
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
exports.ClearNextActionHourUseCase = ClearNextActionHourUseCase;
|
|
44
|
-
//# sourceMappingURL=ClearNextActionHourUseCase.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ClearNextActionHourUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/ClearNextActionHourUseCase.ts"],"names":[],"mappings":";;;AAIA,MAAa,0BAA0B;IACrC,YACW,eAA2D;QAA3D,oBAAe,GAAf,eAAe,CAA4C;QAGtE,QAAG,GAAG,KAAK,EAAE,KAKZ,EAAiB,EAAE;YAClB,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;YACpD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;YACpD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW;iBAClC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;iBACtD,OAAO,EAAE,CAAC;YACb,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO;YACT,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,IAAI,CACzB,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAC9D,CAAC;YACF,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC7C,MAAM,aAAa,GAAG,CAAC,KAAY,EAAW,EAAE;gBAC9C,OAAO,CACL,KAAK,CAAC,cAAc,KAAK,IAAI;oBAC7B,KAAK,CAAC,cAAc,IAAI,UAAU;oBAClC,CAAC,KAAK,CAAC,cAAc,KAAK,IAAI;wBAC5B,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBACzD,KAAK,CAAC,KAAK,KAAK,MAAM,CACvB,CAAC;YACJ,CAAC,CAAC;YACF,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAC1C,KAAK,CAAC,OAAO,EACb,cAAc,CAAC,OAAO,EACtB,KAAK,CACN,CAAC;gBACF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC1D,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAC1C,KAAK,CAAC,OAAO,EACb,cAAc,CAAC,OAAO,EACtB,KAAK,CACN,CAAC;gBACF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAC;IApDC,CAAC;CAqDL;AAxDD,gEAwDC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Issue } from '../entities/Issue';
|
|
2
|
-
import { IssueRepository } from './adapter-interfaces/IssueRepository';
|
|
3
|
-
import { Project } from '../entities/Project';
|
|
4
|
-
export declare class ClearNextActionHourUseCase {
|
|
5
|
-
readonly issueRepository: Pick<IssueRepository, 'clearProjectField'>;
|
|
6
|
-
constructor(issueRepository: Pick<IssueRepository, 'clearProjectField'>);
|
|
7
|
-
run: (input: {
|
|
8
|
-
targetDates: Date[];
|
|
9
|
-
project: Project;
|
|
10
|
-
issues: Issue[];
|
|
11
|
-
cacheUsed: boolean;
|
|
12
|
-
}) => Promise<void>;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=ClearNextActionHourUseCase.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ClearNextActionHourUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/ClearNextActionHourUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,qBAAa,0BAA0B;IAEnC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,mBAAmB,CAAC;gBAA3D,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,mBAAmB,CAAC;IAGtE,GAAG,GAAU,OAAO;QAClB,WAAW,EAAE,IAAI,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,KAAG,OAAO,CAAC,IAAI,CAAC,CA6Cf;CACH"}
|