UNPKG

@aaswe/codebase-ai

Version:

AI-Assisted Software Engineering (AASWE) - Rich codebase context for IDE LLMs

68 lines 3.22 kB
/** * Neo4j Database Service * * Comprehensive Neo4j database integration service providing connection management, * schema operations, TTL file ingestion, query optimization, and health monitoring. */ import { Driver, Session, Transaction } from 'neo4j-driver'; import { EventEmitter } from 'events'; import { Neo4jConfig, Neo4jConnectionManager, TTLIngestionPipeline, RDFTriple, IngestionResult, BatchIngestionResult, ValidationResult, NodeCreationResult, RelationshipCreationResult, CypherQueryOptimizer, OptimizedQuery, QueryPerformance, IndexSuggestion, QueryValidation, QueryExplanation, DatabaseHealth, HealthStatus, DatabaseMetrics } from './types'; /** * Main Neo4j Database Service * Orchestrates all Neo4j operations including connection management, * schema operations, TTL ingestion, and query optimization. */ export declare class Neo4jDatabaseService extends EventEmitter implements Neo4jConnectionManager, TTLIngestionPipeline, CypherQueryOptimizer, DatabaseHealth { private driver; private config; private cacheStats; private eventListeners; constructor(); connect(config: Neo4jConfig): Promise<Driver>; disconnect(): Promise<void>; getDriver(): Driver | null; isConnected(): boolean; testConnection(): Promise<boolean>; getSession(database?: string): Session; executeTransaction<T>(work: (tx: Transaction) => Promise<T>, database?: string): Promise<T>; ingestTTLFile(filePath: string): Promise<IngestionResult>; ingestTTLContent(content: string, sourceFile: string): Promise<IngestionResult>; batchIngestTTLFiles(filePaths: string[]): Promise<BatchIngestionResult>; validateTTLBeforeIngestion(content: string): Promise<ValidationResult>; createNodesFromTriples(triples: RDFTriple[]): Promise<NodeCreationResult>; createRelationshipsFromTriples(triples: RDFTriple[]): Promise<RelationshipCreationResult>; optimizeQuery(query: string): Promise<OptimizedQuery>; analyzeQueryPerformance(query: string): Promise<QueryPerformance>; suggestIndexes(query: string): Promise<IndexSuggestion[]>; validateQuery(query: string): Promise<QueryValidation>; explainQuery(query: string): Promise<QueryExplanation>; checkHealth(): Promise<HealthStatus>; getMetrics(): Promise<DatabaseMetrics>; getConstraints(): Promise<any[]>; getIndexes(): Promise<any[]>; getStorageInfo(): Promise<any>; private extractStorageSize; private setupEventHandlers; private emitEvent; private emitError; private parseTTLContent; private determineObjectType; private extractNodeId; private extractNodeLabel; private extractRelationshipType; private suggestIndexHints; private parameterizeQuery; private convertProfileToQueryProfile; private identifyBottlenecks; private extractQueryPatterns; private validateQuerySyntax; private validateQuerySemantics; private convertPlanToExecutionPlan; private extractIndexUsage; private generateQueryRecommendations; private checkConnectionHealth; private checkDatabaseHealth; private checkSchemaHealth; private checkPerformanceHealth; } //# sourceMappingURL=Neo4jDatabaseService.d.ts.map