@bhagat-surya-dev/dashchat-database-manager
Version:
AI-powered database schema analysis and management library
58 lines • 1.85 kB
TypeScript
/**
* 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