UNPKG

@vasoyaprince14/sql-analyzer

Version:

🚀 Enhanced SQL database analyzer with AI-powered insights, comprehensive security analysis, RLS policy auditing, and beautiful HTML reports

128 lines • 3.36 kB
export interface SqlAnalyzerConfig { database?: { host?: string; port?: number; database?: string; user?: string; password?: string; ssl?: boolean; connectionString?: string; }; ai?: { enabled?: boolean; provider?: 'openai' | 'anthropic' | 'local'; apiKey?: string; model?: string; maxTokens?: number; temperature?: number; }; analysis?: { includeSchema?: boolean; includeTriggers?: boolean; includeProcedures?: boolean; includeRLS?: boolean; includeCostAnalysis?: boolean; includeAIInsights?: boolean; performanceThreshold?: number; securityLevel?: 'basic' | 'standard' | 'strict'; }; reporting?: { format?: 'cli' | 'html' | 'json' | 'pdf' | 'md'; outputPath?: string; includeCharts?: boolean; includeBeforeAfter?: boolean; includeImplementationGuide?: boolean; customBranding?: { companyName?: string; logo?: string; colors?: { primary?: string; secondary?: string; }; }; }; advanced?: { concurrentAnalysis?: boolean; cacheResults?: boolean; cacheTTL?: number; retryAttempts?: number; timeout?: number; verbose?: boolean; skipLargeObjects?: boolean; maxTableSize?: number; }; } export declare const defaultConfig: SqlAnalyzerConfig; export declare class ConfigManager { private config; constructor(userConfig?: Partial<SqlAnalyzerConfig>); getConfig(): SqlAnalyzerConfig; updateConfig(updates: Partial<SqlAnalyzerConfig>): void; private mergeConfig; validateConfig(): { valid: boolean; errors: string[]; }; private isValidPath; /** * Load configuration from environment variables */ static fromEnvironment(): ConfigManager; /** * Load configuration from file */ static fromFile(filePath: string): Promise<ConfigManager>; /** * Save configuration to file */ saveToFile(filePath: string): Promise<void>; } export declare const configPresets: { development: { advanced: { verbose: boolean; cacheResults: boolean; }; analysis: { securityLevel: "basic"; }; }; production: { advanced: { verbose: boolean; cacheResults: boolean; cacheTTL: number; }; analysis: { securityLevel: "strict"; includeAIInsights: boolean; }; }; ci: { reporting: { format: "json"; }; analysis: { includeAIInsights: boolean; }; advanced: { timeout: number; }; }; comprehensive: { analysis: { includeSchema: boolean; includeTriggers: boolean; includeProcedures: boolean; includeRLS: boolean; includeCostAnalysis: boolean; includeAIInsights: boolean; securityLevel: "strict"; }; ai: { enabled: boolean; maxTokens: number; }; }; }; //# sourceMappingURL=config.d.ts.map