UNPKG

@bhagat-surya-dev/dashchat-database-manager

Version:

AI-powered database schema analysis and management library

58 lines 1.85 kB
/** * Enhanced DatabaseManager with comprehensive error handling and better debugging */ import { FormattedSchema } from './utils/db-handlers/type'; interface AnalyzedColumn { column_name: string; description: string; data_type: string; nullable: boolean; } interface AnalyzedTable { table_name: string; description: string; columns: AnalyzedColumn[]; } interface AnalyzedSchema { tables: AnalyzedTable[]; overallSummary?: string; } export interface DbManagerOptions { cerebrasApiKey: string; databaseUrl?: string; model?: string; } export default class DatabaseManager { private cerebras; private readonly DEFAULT_TIMEOUT; private databaseUrl?; private model; constructor(options: DbManagerOptions); private withTimeout; private getDatabaseDetails; private formatLogMessage; private log; private logError; private logInfo; private logExecutionTime; getSchemaInfo(databaseUrl?: string): Promise<FormattedSchema>; testConnection(databaseUrl?: string): Promise<boolean>; private validateAndCleanSchema; private createFallbackSchema; private optimizeSchemaForAccuracy; private emergencyOptimizeSchema; private getEnhancedAIPrompt; getOverallSchemaSummary(analyzedSchema: any): Promise<string>; analyzeAndCacheSchema(databaseUrl: string | null, databaseId: string, forceAnalysis?: boolean): Promise<AnalyzedSchema | null>; disconnect(): Promise<void>; getSupportedDatabaseTypes(): string[]; validateConnectionString(connectionString: string): { isValid: boolean; errors: string[]; type?: string; }; getDatabaseUrlType(databaseUrl?: string): string | null; private isApplicationInternalDatabase; } export { DatabaseManager }; //# sourceMappingURL=DatabaseManager.d.ts.map