datapilot-cli
Version:
Enterprise-grade streaming multi-format data analysis with comprehensive statistical insights and intelligent relationship detection - supports CSV, JSON, Excel, TSV, Parquet - memory-efficient, cross-platform
97 lines • 2.96 kB
TypeScript
/**
* Universal Analyzer - Multi-format data analysis orchestrator
* Integrates with the existing 6-section analysis pipeline
*/
import type { CLIOptions, CLIResult } from './types';
export interface AnalysisDataset {
headers: string[];
rows: string[][];
metadata: {
format: string;
filePath: string;
totalRows: number;
parserStats: any;
detection: any;
};
}
/**
* Universal analyzer that works with any supported data format
*/
export declare class UniversalAnalyzer {
private registry;
private initialized;
constructor();
/**
* Initialize the analyzer with all available parsers
*/
private initializeParsers;
/**
* Analyze multiple files for join analysis (engineering command with multiple files)
*/
analyzeMultipleFiles(filePaths: string[], options: CLIOptions): Promise<CLIResult>;
/**
* Analyze any supported file format
*/
analyzeFile(filePath: string, options: CLIOptions): Promise<CLIResult>;
/**
* Parse file using detected parser and convert to universal dataset format
*/
private parseToDataset;
/**
* Detect if first row contains headers
*/
private detectHeaderRow;
private detectCSVHeaders;
/**
* Run the existing 6-section analysis pipeline on the universal dataset
* Intelligently uses SequentialExecutor or individual execution based on context
*/
private runAnalysisPipeline;
/**
* Determine whether to use sequential execution or individual execution
* This maintains backward compatibility while enabling advanced features
*/
private shouldUseSequentialExecution;
/**
* Run sequential execution with full dependency resolution
*/
private runSequentialExecution;
/**
* Run individual section execution (legacy mode for backward compatibility)
* This is used for single sections without dependencies to maintain performance
*/
private runIndividualExecution;
/**
* Determine which sections to run based on CLI options
*/
private getRequestedSections;
private shouldRunSection;
private runSection1Analysis;
private runSection2Analysis;
private runSection3Analysis;
private runSection4Analysis;
private runSection5Analysis;
private runSection6Analysis;
/**
* Create async iterable data stream from dataset
*/
private createDataStream;
/**
* Handle analysis errors with enhanced debugging information
*/
private handleAnalysisError;
/**
* Get supported formats for help/error messages
*/
getSupportedFormats(): string[];
/**
* Validate file format is supported
*/
validateFile(filePath: string): Promise<{
supported: boolean;
format?: string;
confidence?: number;
suggestions: string[];
}>;
}
//# sourceMappingURL=universal-analyzer.d.ts.map