@invisiblecities/sidequest-cqo
Version:
Configuration-agnostic TypeScript and ESLint orchestrator with real-time watch mode, SQLite persistence, and intelligent terminal detection
65 lines • 1.93 kB
TypeScript
/**
* Database connection and initialization for Code Quality Orchestrator
* Handles SQLite setup, migrations, and Kysely configuration
*/
import { Kysely } from "kysely";
import type { DatabaseSchema, DatabaseConfig } from "./types.js";
export declare class DatabaseConnection {
private static instance;
private static config;
private static sqliteDatabase;
/**
* Initialize database connection with configuration
*/
static initialize(config: DatabaseConfig): Promise<Kysely<DatabaseSchema>>;
/**
* Get existing database connection
*/
static getInstance(): Kysely<DatabaseSchema>;
/**
* Close database connection
*/
static close(): Promise<void>;
/**
* Run database migrations
*/
private static runMigrations;
/**
* Initialize schema directly (when migrations are disabled)
*/
private static initializeSchema;
/**
* Health check - verify database is accessible and properly initialized
*/
static healthCheck(): Promise<boolean>;
/**
* Get database statistics for monitoring
*/
static getStats(): Promise<{
violations_count: number;
rule_checks_count: number;
database_size_mb: number;
wal_size_mb: number;
}>;
/**
* Vacuum database to reclaim space and optimize performance
*/
static vacuum(): Promise<void>;
/**
* Analyze database to update query planner statistics
*/
static analyze(): Promise<void>;
}
/**
* Initialize database with default configuration
*/
export declare function initializeDatabase(config?: Partial<DatabaseConfig>): Promise<Kysely<DatabaseSchema>>;
/**
* Get database connection instance
*/
export declare function getDatabase(): Kysely<DatabaseSchema>;
/**
* Close database connection
*/
export declare function closeDatabase(): Promise<void>;
//# sourceMappingURL=connection.d.ts.map