feat: deliver policy-driven Git Validator 2.0

This commit is contained in:
NuklearRabbit committed 2026-07-29 18:24:27 +02:00
1 parent 7b05c953b6
commit a0733875c4
18 files changed
+502 -133

No files matched your search

+21
View File
@@ -359,6 +359,27 @@ function registerRepositoryIpc({
});
return report;
});
register("git-validator:set-policy", async ({ fullName, policy }) => {
const repository = await resolveRepository({ fullName });
const saved = await gitValidator.setPolicy(repository, policy);
await audit.append("git-validator.policy.changed", { repository: repository.fullName, policy: saved.id });
return saved;
});
register("git-validator:suppress", async ({ fullName, suppression }) => {
const repository = await resolveRepository({ fullName });
const saved = await gitValidator.suppress(repository, suppression);
await audit.append("git-validator.finding.suppressed", { repository: repository.fullName, checkId: saved.checkId, expiresAt: saved.expiresAt, ticket: saved.ticket });
return saved;
});
register("git-validator:preview-repair", async ({ fullName, check }) => {
const repository = await resolveRepository({ fullName });
return gitValidator.previewRepair(repository, check);
});
register("git-validator:export", async ({ fullName, format = "json" }) => {
const repository = await resolveRepository({ fullName });
const report = await gitValidator.scan(repository);
return gitValidator.export(report, format);
});
register("git-validator:repair", async ({ fullName, check }) => {
const repository = await resolveRepository({ fullName });
const allowed = new Set([