import type { CanonicalSeverity } from '../domain/canonical-model'; import { pingCastleSeverityFromPoints, PINGCASTLE_SEVERITY_FROM_POINTS_RULE_ID, PINGCASTLE_SEVERITY_FROM_POINTS_RULE_VERSION } from '../profiles/pingcastle/pingcastle-severity'; export interface SeverityFromScoreRule { ruleId: string; ruleVersion: string; derive(score: number): CanonicalSeverity; } // Werkzeuge ohne eigenes Severity-Feld, deren Score deterministisch auf die // kanonische Severity abgebildet werden darf. Nur hier eintragen, wenn eine // versionierte, dokumentierte Herleitungsregel existiert (siehe die jeweilige // pingcastle-severity.ts-artige Regeldatei) - kein Ad-hoc-Schwellenwert. const severityFromScoreRules = new Map([ ['pingcastle', { ruleId: PINGCASTLE_SEVERITY_FROM_POINTS_RULE_ID, ruleVersion: PINGCASTLE_SEVERITY_FROM_POINTS_RULE_VERSION, derive: pingCastleSeverityFromPoints }] ]); export function severityFromScoreRuleFor(toolId: string): SeverityFromScoreRule | undefined { return severityFromScoreRules.get(toolId); }