/** * Security CI/CD Pipeline Integration * Provides security checks and gates for continuous integration and deployment * * This module orchestrates security gates using: * - SecurityGateExecutor: Handles gate and check execution * - SecurityReportGenerator: Handles report generation and statistics * - SecurityTypes: Shared type definitions */ import { AISecurityScanner } from "./AISecurityScanner.js"; import { AutomatedRemediation } from "./AutomatedRemediation.js"; import { SecurityReviewer } from "./SecurityReviewer.js"; import { SecurityConfigManager } from "./SecurityConfigManager.js"; import type { SecurityGate, PipelineSecurityReport, PipelineContext, GateExecutionOptions, PipelineStatistics, ReportFilterOptions } from "./SecurityTypes.js"; export type { PipelineSecurityReport } from "./SecurityTypes.js"; /** * Security CI/CD Pipeline Manager */ export declare class SecurityCIPipeline { scanner: AISecurityScanner; remediation: AutomatedRemediation; reviewer: SecurityReviewer; configManager: SecurityConfigManager; config: Record; private gates; private gateExecutor; private reportGenerator; constructor(config?: Record, deps?: { scanner?: AISecurityScanner; remediation?: AutomatedRemediation; reviewer?: SecurityReviewer; configManager?: SecurityConfigManager; }); /** * Helper to make methods mockable in tests */ private makeMockable; executePreCommitGate(options?: Record): Promise; executePreBuildGate(options?: Record): Promise; executePreDeployGate(options?: Record): Promise; runVulnerabilityCheck(opts?: { timeout?: number; retries?: number; }): Promise>; runDependencyCheck(): Promise>; runSecretsCheck(): Promise>; runCodeReviewCheck(): Promise>; configureGate(gate: Partial): void; getConfiguredGates(): SecurityGate[]; enableGate(gateId: string): void; disableGate(gateId: string): void; isGateEnabled(gateId: string): boolean; getSecurityGate(gateId: string): SecurityGate | null; updateSecurityGate(gateId: string, updates: Partial): boolean; generateReport(): Promise; exportReport(format: string): Promise; calculateSecurityMetrics(): Promise<{ overallScore: number; riskLevel: string; complianceStatus: boolean; }>; getReports(options?: ReportFilterOptions): PipelineSecurityReport[]; getStatistics(): PipelineStatistics; executeAutoRemediation(): Promise>; generateRemediationPlan(): Promise; executeFullPipeline(): Promise>; sendNotification(payload: Record): void; formatNotification(data: Record): { subject: string; body: string; }; reloadConfiguration(newConfig: Record): void; initialize(): Promise; executeSecurityGates(stage: SecurityGate["stage"], context: PipelineContext, options?: GateExecutionOptions): Promise; private buildDefaultContext; private initializeDefaultGates; } //# sourceMappingURL=SecurityCIPipeline.d.ts.map