UNPKG

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

Version:

AI-powered database schema analysis and management library

53 lines 1.99 kB
import { FormattedSchema } from './type'; export interface LogContext { method: string; action?: string; duration?: number; metadata?: Record<string, unknown>; } export declare enum LogLevel { INFO = "INFO", WARN = "WARN", ERROR = "ERROR", DEBUG = "DEBUG" } export interface RawColumnInfo { column_name: string; data_type: string; is_nullable?: string; type?: string; present_in_all_samples?: boolean; } export interface RawTableSchema { name: string; columns: RawColumnInfo[]; } export interface RawTableData { name: string; sampleData: Record<string, unknown>[]; } export interface DatabaseHandlerOptions { timeout?: number; maxSampleSize?: number; loggerFn?: (level: LogLevel, context: LogContext, message: string) => void; } export interface DatabaseHandler { getSchemaInfo(databaseUrl: string): Promise<FormattedSchema>; testConnection(databaseUrl: string): Promise<boolean>; getDatabaseType(): string; } export declare abstract class BaseDatabaseHandler implements DatabaseHandler { protected timeout: number; protected maxSampleSize: number; protected loggerFn?: (level: LogLevel, context: LogContext, message: string) => void; constructor(options?: DatabaseHandlerOptions); abstract getSchemaInfo(databaseUrl: string): Promise<FormattedSchema>; abstract testConnection(databaseUrl: string): Promise<boolean>; abstract getDatabaseType(): string; protected withTimeout<T>(promise: Promise<T>, ms?: number, errorMsg?: string): Promise<T>; protected log(level: LogLevel, context: LogContext, message: string): void; protected formatLogMessage(level: LogLevel, context: LogContext, message: string): string; protected logError(method: string, error: Error | unknown, context?: Record<string, unknown>): void; protected logInfo(method: string, message: string, data?: Record<string, unknown>): void; } //# sourceMappingURL=base-handler.d.ts.map