github-issue-tower-defence-management 1.149.0 → 1.149.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.
- package/CHANGELOG.md +7 -0
- package/README.md +1 -1
- package/bin/domain/usecases/DailySecurityScanUseCase.js +17 -12
- package/bin/domain/usecases/DailySecurityScanUseCase.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/usecases/DailySecurityScanUseCase.test.ts +251 -0
- package/src/domain/usecases/DailySecurityScanUseCase.ts +28 -22
- package/types/domain/usecases/DailySecurityScanUseCase.d.ts.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## [1.149.1](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.149.0...v1.149.1) (2026-08-13)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **DailySecurityScanUseCase:** keep scanning after a repository's findings issue write fails ([#1519](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1519)) ([49d06db](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/49d06db8e110223f71c28a53e315bec7437a2a53))
|
|
7
|
+
|
|
1
8
|
# [1.149.0](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.148.25...v1.149.0) (2026-08-13)
|
|
2
9
|
|
|
3
10
|
|
package/README.md
CHANGED
|
@@ -218,7 +218,7 @@ claudeCodeOauthTokenListJsonPath?: string # Optional: Path to a JSON file listin
|
|
|
218
218
|
autoAssignManagerAuthors?: string | string[] | null # Optional: Restrict which authors' open, unassigned issues and pull requests are auto-assigned to the manager. Accepts a comma-separated string or an array of GitHub author logins (bot logins carry the `[bot]` suffix, for example `renovate[bot]`). When set to a non-empty list, only items whose author is in the list are auto-assigned; when omitted, null, or empty, every open unassigned item is auto-assigned (current behavior). Author matching is exact equality. Declared at the top level (sibling of startPreparation), not inside it.
|
|
219
219
|
queryToAddProjectEnabled?: boolean # Optional: Enable the queryToAddProject search (default false). The search runs only when this is true, so setting queryToAddProject alone changes nothing. Declared at the top level (sibling of startPreparation), not inside it.
|
|
220
220
|
queryToAddProject?: string | null # Optional: GitHub search query string, used only when queryToAddProjectEnabled is true. Each schedule cycle, issues and pull requests matching this query that are not already on the project board are added to the project and, when their author satisfies autoAssignManagerAuthors, assigned to the manager. Omit or set to null to skip this search. Declared at the top level (sibling of startPreparation), not inside it.
|
|
221
|
-
dailySecurityScan?: # Optional: Run a daily OSV-Scanner security scan across locally cloned repositories of the org. Declared at the top level (sibling of startPreparation).
|
|
221
|
+
dailySecurityScan?: # Optional: Run a daily OSV-Scanner security scan across locally cloned repositories of the org. Declared at the top level (sibling of startPreparation). When the findings of one repository cannot be written to GitHub — for example because that repository is archived and therefore read-only, or because the rendered findings exceed what the issues API accepts — the failure is logged with the repository name and the cause, that repository is skipped, and the remaining repositories are still scanned and the CISA KEV report still runs.
|
|
222
222
|
scanBaseDirectory: string # Base directory searched (4 levels deep) for cloned repositories to scan
|
|
223
223
|
targetHourUtc: number # UTC hour (0-23) at which the scan runs once per day; the scan runs only when a target date matches this hour at minute zero
|
|
224
224
|
enableKevNvdReport?: boolean # Optional: When true, also report CISA KEV catalog additions that have not been reported yet. A watermark recording the newest reported dateAdded, plus the CVE identifiers already reported on that date, is persisted at $XDG_CACHE_HOME/tdpm/kev-report-watermark.json (falling back to ~/.cache when XDG_CACHE_HOME is unset) and advanced over every addition the run considered, whether or not that addition matched a package the scan actually found and therefore produced a report issue. Only an addition whose CVE identifier matches a package the scan found at an installed version is written into the report issue. On the first run, when no watermark is stored yet, the additions dated on or after the day before the run are considered. Known limitations: (1) if the watermark write fails after the report issue was created, the failure is logged with the state file path and the cause, the run continues so that unrelated scheduled work is not aborted, and the same additions are considered again on the next run, so the guarantee is at-least-once at that boundary rather than exactly-once; (2) an addition whose dateAdded is strictly earlier than the stored watermark date, whether back-dated or published very late, is never selected again, so the protection covers late additions on the watermark date itself and not arbitrary lateness. When the stored watermark file exists but cannot be read or is malformed (including a stored date that is not a real calendar date in YYYY-MM-DD form), the KEV report is skipped for that run, an error naming the file and the cause is logged, the file is left untouched for inspection, and the rest of the scheduled work continues
|
|
@@ -170,19 +170,24 @@ class DailySecurityScanUseCase {
|
|
|
170
170
|
const vulnerablePackages = parseScannerVulnerabilities(repositoryName, scanOutput);
|
|
171
171
|
scannedVulnerablePackages.push(...vulnerablePackages);
|
|
172
172
|
const findingsBody = renderScannerFindings(today, vulnerablePackages);
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
173
|
+
try {
|
|
174
|
+
const existingIssues = await this.issueRepository.searchIssue({
|
|
175
|
+
owner: repositoryOrg,
|
|
176
|
+
repositoryName,
|
|
177
|
+
type: 'issue',
|
|
178
|
+
state: 'open',
|
|
179
|
+
title: 'Daily security scan findings',
|
|
180
|
+
});
|
|
181
|
+
const existingIssue = existingIssues.find((issue) => issue.title === 'Daily security scan findings');
|
|
182
|
+
if (existingIssue) {
|
|
183
|
+
await this.issueRepository.createCommentByUrl(existingIssue.url, findingsBody);
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
await this.issueRepository.createNewIssue(repositoryOrg, repositoryName, 'Daily security scan findings', findingsBody, [manager], []);
|
|
187
|
+
}
|
|
183
188
|
}
|
|
184
|
-
|
|
185
|
-
|
|
189
|
+
catch (error) {
|
|
190
|
+
console.error(`The findings of ${repositoryOrg}/${repositoryName} were not written to GitHub: ${String(error)}. The remaining repositories are still scanned and the CISA KEV report still runs.`);
|
|
186
191
|
}
|
|
187
192
|
}
|
|
188
193
|
return scannedVulnerablePackages;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DailySecurityScanUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/DailySecurityScanUseCase.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DailySecurityScanUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/DailySecurityScanUseCase.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -909,6 +909,210 @@ describe('DailySecurityScanUseCase', () => {
|
|
|
909
909
|
errorSpy.mockRestore();
|
|
910
910
|
});
|
|
911
911
|
|
|
912
|
+
it('logs an error and continues scanning remaining repositories when creating the findings issue fails', async () => {
|
|
913
|
+
const { useCase, mockLocalCommandRunner, mockIssueRepository } =
|
|
914
|
+
buildUseCase();
|
|
915
|
+
const errorSpy = jest
|
|
916
|
+
.spyOn(console, 'error')
|
|
917
|
+
.mockImplementation(() => undefined);
|
|
918
|
+
|
|
919
|
+
mockIssueRepository.searchIssue.mockResolvedValue([]);
|
|
920
|
+
mockIssueRepository.createNewIssue.mockImplementation(
|
|
921
|
+
async (_org, repositoryName) => {
|
|
922
|
+
if (repositoryName === 'archived') {
|
|
923
|
+
throw new Error(
|
|
924
|
+
'Request failed with status code 403: Repository was archived so is read-only.',
|
|
925
|
+
);
|
|
926
|
+
}
|
|
927
|
+
return 1;
|
|
928
|
+
},
|
|
929
|
+
);
|
|
930
|
+
|
|
931
|
+
mockLocalCommandRunner.runCommand.mockImplementation(
|
|
932
|
+
async (program, args) => {
|
|
933
|
+
if (program === 'find') {
|
|
934
|
+
return {
|
|
935
|
+
stdout:
|
|
936
|
+
'/repos/example-org/archived/.git\n/repos/example-org/app/.git\n',
|
|
937
|
+
stderr: '',
|
|
938
|
+
exitCode: 0,
|
|
939
|
+
};
|
|
940
|
+
}
|
|
941
|
+
if (program === 'mktemp') {
|
|
942
|
+
return {
|
|
943
|
+
stdout: `/tmp/${args[args.length - 1].replace('XXXXXX', 'abc123')}\n`,
|
|
944
|
+
stderr: '',
|
|
945
|
+
exitCode: 0,
|
|
946
|
+
};
|
|
947
|
+
}
|
|
948
|
+
if (program === 'git') {
|
|
949
|
+
const dir = args[1];
|
|
950
|
+
const repo = dir.split('/').pop() ?? '';
|
|
951
|
+
return {
|
|
952
|
+
stdout: `git@github.com:example-org/${repo}.git\n`,
|
|
953
|
+
stderr: '',
|
|
954
|
+
exitCode: 0,
|
|
955
|
+
};
|
|
956
|
+
}
|
|
957
|
+
if (program === 'osv-scanner') {
|
|
958
|
+
return {
|
|
959
|
+
stdout: JSON.stringify({
|
|
960
|
+
results: [
|
|
961
|
+
{
|
|
962
|
+
source: {
|
|
963
|
+
path: args[args.indexOf('-r') + 1],
|
|
964
|
+
type: 'lockfile',
|
|
965
|
+
},
|
|
966
|
+
packages: [
|
|
967
|
+
{
|
|
968
|
+
package: {
|
|
969
|
+
name: 'example-library',
|
|
970
|
+
version: '1.2.3',
|
|
971
|
+
ecosystem: 'npm',
|
|
972
|
+
},
|
|
973
|
+
vulnerabilities: [
|
|
974
|
+
{
|
|
975
|
+
id: 'GHSA-1111-2222-3333',
|
|
976
|
+
aliases: [],
|
|
977
|
+
summary: 'Example Library Deserialization',
|
|
978
|
+
},
|
|
979
|
+
],
|
|
980
|
+
},
|
|
981
|
+
],
|
|
982
|
+
},
|
|
983
|
+
],
|
|
984
|
+
}),
|
|
985
|
+
stderr: '',
|
|
986
|
+
exitCode: 1,
|
|
987
|
+
};
|
|
988
|
+
}
|
|
989
|
+
return { stdout: '', stderr: '', exitCode: 0 };
|
|
990
|
+
},
|
|
991
|
+
);
|
|
992
|
+
|
|
993
|
+
await useCase.run({
|
|
994
|
+
targetDates: [new Date('2024-01-02T05:00:00Z')],
|
|
995
|
+
org: 'example-org',
|
|
996
|
+
manager: 'manager-name',
|
|
997
|
+
dailySecurityScan: {
|
|
998
|
+
scanBaseDirectory: '/repos',
|
|
999
|
+
targetHourUtc: 5,
|
|
1000
|
+
},
|
|
1001
|
+
});
|
|
1002
|
+
|
|
1003
|
+
expect(errorSpy).toHaveBeenCalledWith(
|
|
1004
|
+
expect.stringContaining('archived'),
|
|
1005
|
+
);
|
|
1006
|
+
expect(
|
|
1007
|
+
mockIssueRepository.createNewIssue.mock.calls.map((call) => call[1]),
|
|
1008
|
+
).toEqual(['archived', 'app']);
|
|
1009
|
+
errorSpy.mockRestore();
|
|
1010
|
+
});
|
|
1011
|
+
|
|
1012
|
+
it('logs an error and continues scanning remaining repositories when commenting on the existing findings issue fails', async () => {
|
|
1013
|
+
const { useCase, mockLocalCommandRunner, mockIssueRepository } =
|
|
1014
|
+
buildUseCase();
|
|
1015
|
+
const errorSpy = jest
|
|
1016
|
+
.spyOn(console, 'error')
|
|
1017
|
+
.mockImplementation(() => undefined);
|
|
1018
|
+
|
|
1019
|
+
mockIssueRepository.searchIssue.mockImplementation(
|
|
1020
|
+
async ({ repositoryName }) =>
|
|
1021
|
+
repositoryName === 'oversized'
|
|
1022
|
+
? [
|
|
1023
|
+
{
|
|
1024
|
+
url: 'https://github.com/example-org/oversized/issues/1',
|
|
1025
|
+
title: 'Daily security scan findings',
|
|
1026
|
+
number: '1',
|
|
1027
|
+
},
|
|
1028
|
+
]
|
|
1029
|
+
: [],
|
|
1030
|
+
);
|
|
1031
|
+
mockIssueRepository.createCommentByUrl.mockRejectedValue(
|
|
1032
|
+
new Error('Request failed with status code 422: Validation Failed'),
|
|
1033
|
+
);
|
|
1034
|
+
|
|
1035
|
+
mockLocalCommandRunner.runCommand.mockImplementation(
|
|
1036
|
+
async (program, args) => {
|
|
1037
|
+
if (program === 'find') {
|
|
1038
|
+
return {
|
|
1039
|
+
stdout:
|
|
1040
|
+
'/repos/example-org/oversized/.git\n/repos/example-org/app/.git\n',
|
|
1041
|
+
stderr: '',
|
|
1042
|
+
exitCode: 0,
|
|
1043
|
+
};
|
|
1044
|
+
}
|
|
1045
|
+
if (program === 'mktemp') {
|
|
1046
|
+
return {
|
|
1047
|
+
stdout: `/tmp/${args[args.length - 1].replace('XXXXXX', 'abc123')}\n`,
|
|
1048
|
+
stderr: '',
|
|
1049
|
+
exitCode: 0,
|
|
1050
|
+
};
|
|
1051
|
+
}
|
|
1052
|
+
if (program === 'git') {
|
|
1053
|
+
const dir = args[1];
|
|
1054
|
+
const repo = dir.split('/').pop() ?? '';
|
|
1055
|
+
return {
|
|
1056
|
+
stdout: `git@github.com:example-org/${repo}.git\n`,
|
|
1057
|
+
stderr: '',
|
|
1058
|
+
exitCode: 0,
|
|
1059
|
+
};
|
|
1060
|
+
}
|
|
1061
|
+
if (program === 'osv-scanner') {
|
|
1062
|
+
return {
|
|
1063
|
+
stdout: JSON.stringify({
|
|
1064
|
+
results: [
|
|
1065
|
+
{
|
|
1066
|
+
source: {
|
|
1067
|
+
path: args[args.indexOf('-r') + 1],
|
|
1068
|
+
type: 'lockfile',
|
|
1069
|
+
},
|
|
1070
|
+
packages: [
|
|
1071
|
+
{
|
|
1072
|
+
package: {
|
|
1073
|
+
name: 'example-library',
|
|
1074
|
+
version: '1.2.3',
|
|
1075
|
+
ecosystem: 'npm',
|
|
1076
|
+
},
|
|
1077
|
+
vulnerabilities: [
|
|
1078
|
+
{
|
|
1079
|
+
id: 'GHSA-1111-2222-3333',
|
|
1080
|
+
aliases: [],
|
|
1081
|
+
summary: 'Example Library Deserialization',
|
|
1082
|
+
},
|
|
1083
|
+
],
|
|
1084
|
+
},
|
|
1085
|
+
],
|
|
1086
|
+
},
|
|
1087
|
+
],
|
|
1088
|
+
}),
|
|
1089
|
+
stderr: '',
|
|
1090
|
+
exitCode: 1,
|
|
1091
|
+
};
|
|
1092
|
+
}
|
|
1093
|
+
return { stdout: '', stderr: '', exitCode: 0 };
|
|
1094
|
+
},
|
|
1095
|
+
);
|
|
1096
|
+
|
|
1097
|
+
await useCase.run({
|
|
1098
|
+
targetDates: [new Date('2024-01-02T05:00:00Z')],
|
|
1099
|
+
org: 'example-org',
|
|
1100
|
+
manager: 'manager-name',
|
|
1101
|
+
dailySecurityScan: {
|
|
1102
|
+
scanBaseDirectory: '/repos',
|
|
1103
|
+
targetHourUtc: 5,
|
|
1104
|
+
},
|
|
1105
|
+
});
|
|
1106
|
+
|
|
1107
|
+
expect(errorSpy).toHaveBeenCalledWith(
|
|
1108
|
+
expect.stringContaining('oversized'),
|
|
1109
|
+
);
|
|
1110
|
+
expect(
|
|
1111
|
+
mockIssueRepository.createNewIssue.mock.calls.map((call) => call[1]),
|
|
1112
|
+
).toEqual(['app']);
|
|
1113
|
+
errorSpy.mockRestore();
|
|
1114
|
+
});
|
|
1115
|
+
|
|
912
1116
|
it('adds a comment to the existing open issue for the repository instead of creating a new one', async () => {
|
|
913
1117
|
const { useCase, mockLocalCommandRunner, mockIssueRepository } =
|
|
914
1118
|
buildUseCase();
|
|
@@ -1111,6 +1315,53 @@ describe('DailySecurityScanUseCase', () => {
|
|
|
1111
1315
|
},
|
|
1112
1316
|
});
|
|
1113
1317
|
|
|
1318
|
+
it('still reports KEV additions when the scanned repository findings issue cannot be written', async () => {
|
|
1319
|
+
const { useCase, mockIssueRepository } = buildScanEnvironment(
|
|
1320
|
+
osvScanOutput([
|
|
1321
|
+
{
|
|
1322
|
+
name: 'example-library',
|
|
1323
|
+
version: '1.2.3',
|
|
1324
|
+
ecosystem: 'npm',
|
|
1325
|
+
id: 'GHSA-1111-2222-3333',
|
|
1326
|
+
aliases: ['CVE-2024-0001'],
|
|
1327
|
+
summary: 'Example Library Deserialization',
|
|
1328
|
+
},
|
|
1329
|
+
]),
|
|
1330
|
+
{
|
|
1331
|
+
vulnerabilities: [
|
|
1332
|
+
{
|
|
1333
|
+
cveID: 'CVE-2024-0001',
|
|
1334
|
+
vendorProject: 'Example',
|
|
1335
|
+
product: 'Example Library',
|
|
1336
|
+
vulnerabilityName: 'Example Library Deserialization',
|
|
1337
|
+
dateAdded: '2024-01-02',
|
|
1338
|
+
},
|
|
1339
|
+
],
|
|
1340
|
+
},
|
|
1341
|
+
);
|
|
1342
|
+
const errorSpy = jest
|
|
1343
|
+
.spyOn(console, 'error')
|
|
1344
|
+
.mockImplementation(() => undefined);
|
|
1345
|
+
mockIssueRepository.createNewIssue.mockImplementation(
|
|
1346
|
+
async (_org, repositoryName) => {
|
|
1347
|
+
if (repositoryName === 'app') {
|
|
1348
|
+
throw new Error(
|
|
1349
|
+
'Request failed with status code 403: Repository was archived so is read-only.',
|
|
1350
|
+
);
|
|
1351
|
+
}
|
|
1352
|
+
return 1;
|
|
1353
|
+
},
|
|
1354
|
+
);
|
|
1355
|
+
|
|
1356
|
+
await runWithKevReporting(useCase);
|
|
1357
|
+
|
|
1358
|
+
expect(errorSpy).toHaveBeenCalledWith(expect.stringContaining('app'));
|
|
1359
|
+
expect(
|
|
1360
|
+
kevReportCalls(mockIssueRepository.createNewIssue.mock.calls),
|
|
1361
|
+
).toHaveLength(1);
|
|
1362
|
+
errorSpy.mockRestore();
|
|
1363
|
+
});
|
|
1364
|
+
|
|
1114
1365
|
it('reports a KEV addition whose CVE the scanner found at an installed version', async () => {
|
|
1115
1366
|
const { useCase, mockIssueRepository } = buildScanEnvironment(
|
|
1116
1367
|
osvScanOutput([
|
|
@@ -303,29 +303,35 @@ export class DailySecurityScanUseCase {
|
|
|
303
303
|
scannedVulnerablePackages.push(...vulnerablePackages);
|
|
304
304
|
|
|
305
305
|
const findingsBody = renderScannerFindings(today, vulnerablePackages);
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
type: 'issue',
|
|
310
|
-
state: 'open',
|
|
311
|
-
title: 'Daily security scan findings',
|
|
312
|
-
});
|
|
313
|
-
const existingIssue = existingIssues.find(
|
|
314
|
-
(issue) => issue.title === 'Daily security scan findings',
|
|
315
|
-
);
|
|
316
|
-
if (existingIssue) {
|
|
317
|
-
await this.issueRepository.createCommentByUrl(
|
|
318
|
-
existingIssue.url,
|
|
319
|
-
findingsBody,
|
|
320
|
-
);
|
|
321
|
-
} else {
|
|
322
|
-
await this.issueRepository.createNewIssue(
|
|
323
|
-
repositoryOrg,
|
|
306
|
+
try {
|
|
307
|
+
const existingIssues = await this.issueRepository.searchIssue({
|
|
308
|
+
owner: repositoryOrg,
|
|
324
309
|
repositoryName,
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
310
|
+
type: 'issue',
|
|
311
|
+
state: 'open',
|
|
312
|
+
title: 'Daily security scan findings',
|
|
313
|
+
});
|
|
314
|
+
const existingIssue = existingIssues.find(
|
|
315
|
+
(issue) => issue.title === 'Daily security scan findings',
|
|
316
|
+
);
|
|
317
|
+
if (existingIssue) {
|
|
318
|
+
await this.issueRepository.createCommentByUrl(
|
|
319
|
+
existingIssue.url,
|
|
320
|
+
findingsBody,
|
|
321
|
+
);
|
|
322
|
+
} else {
|
|
323
|
+
await this.issueRepository.createNewIssue(
|
|
324
|
+
repositoryOrg,
|
|
325
|
+
repositoryName,
|
|
326
|
+
'Daily security scan findings',
|
|
327
|
+
findingsBody,
|
|
328
|
+
[manager],
|
|
329
|
+
[],
|
|
330
|
+
);
|
|
331
|
+
}
|
|
332
|
+
} catch (error) {
|
|
333
|
+
console.error(
|
|
334
|
+
`The findings of ${repositoryOrg}/${repositoryName} were not written to GitHub: ${String(error)}. The remaining repositories are still scanned and the CISA KEV report still runs.`,
|
|
329
335
|
);
|
|
330
336
|
}
|
|
331
337
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DailySecurityScanUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/DailySecurityScanUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AAEjG,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,MAAM,uBAAuB,GAAG;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAoJF,qBAAa,wBAAwB;IAEjC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB;IAC/C,QAAQ,CAAC,eAAe,EAAE,IAAI,CAC5B,eAAe,EACf,gBAAgB,GAAG,aAAa,GAAG,oBAAoB,CACxD;IACD,QAAQ,CAAC,cAAc,EAAE,cAAc;IACvC,QAAQ,CAAC,4BAA4B,EAAE,4BAA4B;gBAN1D,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,EAAE,IAAI,CAC5B,eAAe,EACf,gBAAgB,GAAG,aAAa,GAAG,oBAAoB,CACxD,EACQ,cAAc,EAAE,cAAc,EAC9B,4BAA4B,EAAE,4BAA4B;IAGrE,GAAG,GAAU,OAAO;QAClB,WAAW,EAAE,IAAI,EAAE,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,iBAAiB,EAAE,uBAAuB,CAAC;KAC5C,KAAG,OAAO,CAAC,IAAI,CAAC,CA2Bf;IAEF,OAAO,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"DailySecurityScanUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/DailySecurityScanUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AAEjG,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,MAAM,uBAAuB,GAAG;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAoJF,qBAAa,wBAAwB;IAEjC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB;IAC/C,QAAQ,CAAC,eAAe,EAAE,IAAI,CAC5B,eAAe,EACf,gBAAgB,GAAG,aAAa,GAAG,oBAAoB,CACxD;IACD,QAAQ,CAAC,cAAc,EAAE,cAAc;IACvC,QAAQ,CAAC,4BAA4B,EAAE,4BAA4B;gBAN1D,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,EAAE,IAAI,CAC5B,eAAe,EACf,gBAAgB,GAAG,aAAa,GAAG,oBAAoB,CACxD,EACQ,cAAc,EAAE,cAAc,EAC9B,4BAA4B,EAAE,4BAA4B;IAGrE,GAAG,GAAU,OAAO;QAClB,WAAW,EAAE,IAAI,EAAE,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,iBAAiB,EAAE,uBAAuB,CAAC;KAC5C,KAAG,OAAO,CAAC,IAAI,CAAC,CA2Bf;IAEF,OAAO,CAAC,gBAAgB,CAqItB;IAEF,OAAO,CAAC,qBAAqB,CAoC3B;IAEF,OAAO,CAAC,kBAAkB,CAgGxB;CACH"}
|