32 lines
1.3 KiB
TypeScript
32 lines
1.3 KiB
TypeScript
/** Published result contract only: Report Engine has no dependency on Context Engine internals. */
|
|
export interface ReportContextPublication {
|
|
version: 1;
|
|
projectId: string;
|
|
assessmentIds: string[];
|
|
scanRunIds: string[];
|
|
repositoryRevision: number;
|
|
generatedAt: string;
|
|
engineVersion: string;
|
|
catalogVersion: string;
|
|
severityCatalogVersion: string;
|
|
vocabularyVersion: string;
|
|
findingCount: number;
|
|
clusters: Array<{
|
|
id: string; label: string; description: string; severity: 'critical' | 'high' | 'medium' | 'undetermined';
|
|
hasEvidence: boolean; scanner: number; gpo: number;
|
|
confidence: { catalogued: number; recognized: number; estimated: number };
|
|
tools: string[]; resultIds: string[];
|
|
/** Unique Work counting units, distinct from multiple technical evidence rows per GPO setting. */
|
|
findingKeys?: string[];
|
|
sources: Array<{ publisher: string; title: string; url: string }>;
|
|
}>;
|
|
sharedSettingLevers: Array<{ settings: number; conditions: number; clusters: number; backups: number }>;
|
|
}
|
|
|
|
export class ReportContextRequiredError extends Error {
|
|
constructor() {
|
|
super('Für den Management Report sind Context-Ergebnisse desselben Assessment-Stands erforderlich. Bitte Context Engine aktivieren und erneut versuchen.');
|
|
this.name = 'ReportContextRequiredError';
|
|
}
|
|
}
|