/** * @fileoverview Pipeline Manager - orchestrates security analysis pipelines * @module @nahisaho/musubix-security/core/pipeline-manager * @trace DES-SEC2-ORCH-002, REQ-SEC2-PERF-001 */ import type { Pipeline, PipelineConfig, PipelineResult, PipelineProgress, IPipelineManager, AnalyzerType, AnalyzerInstance } from '../types/index.js'; /** * Analyzer factory for creating analyzer instances */ type AnalyzerFactory = () => AnalyzerInstance; /** * Pipeline Manager implementation * @trace DES-SEC2-ORCH-002 */ export declare class PipelineManager implements IPipelineManager { private runningPipelines; private analyzerFactories; constructor(); /** * Register a custom analyzer factory */ registerAnalyzer(type: AnalyzerType, factory: AnalyzerFactory): void; /** * Create a new pipeline from configuration * @trace DES-SEC2-ORCH-002 */ createPipeline(config: PipelineConfig): Pipeline; /** * Execute multiple pipelines in parallel * @trace REQ-SEC2-PERF-001 */ executeParallel(pipelines: Pipeline[]): Promise; /** * Execute a single pipeline sequentially */ executeSequential(pipeline: Pipeline): Promise; /** * Cancel a running pipeline */ cancel(pipelineId: string): void; /** * Get current pipeline status */ getStatus(pipelineId: string): PipelineProgress | undefined; /** * Execute a pipeline with dependency resolution */ private executePipeline; /** * Resolve stage dependencies and return execution order */ private resolveDependencies; /** * Execute stages respecting dependencies with parallel execution */ private executeStagesWithDependencies; /** * Execute a single stage */ private executeStage; /** * Run analyzer based on type */ private runAnalyzer; /** * Create timeout promise */ private createTimeout; /** * Skip stages that depend on a failed stage */ private skipDependentStages; /** * Calculate current progress */ private calculateProgress; /** * Notify progress callback */ private notifyProgress; /** * Build final pipeline result */ private buildResult; /** * Split array into chunks */ private chunkArray; } /** * Create a default pipeline manager instance */ export declare function createPipelineManager(): PipelineManager; /** * Create a standard security scan pipeline * @trace REQ-SEC2-CLI-001 */ export declare function createStandardPipeline(targets: string[], options?: { vulnerabilities?: boolean; taint?: boolean; secrets?: boolean; dependencies?: boolean; }): PipelineConfig; export {}; //# sourceMappingURL=pipeline-manager.d.ts.map