/** * Agentic QE v3 - Security & Compliance Domain Plugin * Integrates the security-compliance domain into the kernel */ import type { DomainName, DomainEvent, Result } from '../../shared/types/index.js'; import type { EventBus, MemoryBackend, AgentCoordinator } from '../../kernel/interfaces.js'; import { BaseDomainPlugin } from '../domain-interface.js'; import { FilePath } from '../../shared/value-objects/index.js'; import type { SecurityAuditOptions, SecurityAuditReport, SecurityPosture, ComplianceReport, ComplianceStandard, SASTResult, DASTResult, Vulnerability, GapAnalysis } from './interfaces.js'; import { type IExtendedSecurityComplianceCoordinator, type CoordinatorConfig } from './coordinator.js'; import { type ISecurityScannerService, type SecurityScannerConfig } from './services/security-scanner.js'; import { type ISecurityAuditorService, type SecurityAuditorConfig } from './services/security-auditor.js'; import { type IExtendedComplianceValidationService, type ComplianceValidatorConfig } from './services/compliance-validator.js'; export interface SecurityCompliancePluginConfig { coordinator?: Partial; securityScanner?: Partial; securityAuditor?: Partial; complianceValidator?: Partial; } /** * Public API exposed by the security-compliance domain */ export interface SecurityComplianceAPI { runSecurityAudit(options: SecurityAuditOptions): Promise>; getSecurityPosture(): Promise>; runSASTScan(files: FilePath[]): Promise>; runDASTScan(targetUrl: string): Promise>; triageVulnerabilities(vulnerabilities: Vulnerability[]): Promise>; runComplianceCheck(standardId: string): Promise>; getAvailableStandards(): Promise; analyzeComplianceGaps(currentReport: ComplianceReport, targetStandard: ComplianceStandard): Promise>; } /** * Extended API with internal access */ export interface SecurityComplianceExtendedAPI extends SecurityComplianceAPI { getCoordinator(): IExtendedSecurityComplianceCoordinator; getSecurityScanner(): ISecurityScannerService; getSecurityAuditor(): ISecurityAuditorService; getComplianceValidator(): IExtendedComplianceValidationService; } export declare class SecurityCompliancePlugin extends BaseDomainPlugin { private readonly agentCoordinator; private coordinator; private securityScanner; private securityAuditor; private complianceValidator; private readonly pluginConfig; constructor(eventBus: EventBus, memory: MemoryBackend, agentCoordinator: AgentCoordinator, config?: SecurityCompliancePluginConfig); get name(): DomainName; get version(): string; get dependencies(): DomainName[]; /** * Get the domain's public API */ getAPI(): T; protected onInitialize(): Promise; protected onDispose(): Promise; protected subscribeToEvents(): void; protected onEvent(event: DomainEvent): Promise; private runSecurityAudit; private getSecurityPosture; private runSASTScan; private runDASTScan; private triageVulnerabilities; private runComplianceCheck; private getAvailableStandards; private analyzeComplianceGaps; private handleKnowledgeGraphUpdate; private handleQualityGateEvaluated; private handleTestRunCompleted; private ensureInitialized; private handleError; private trackSuccessfulOperation; private trackFailedOperation; } export declare function createSecurityCompliancePlugin(eventBus: EventBus, memory: MemoryBackend, agentCoordinator: AgentCoordinator, config?: SecurityCompliancePluginConfig): SecurityCompliancePlugin; //# sourceMappingURL=plugin.d.ts.map