@aaswe/codebase-ai
Version:
AI-Assisted Software Engineering (AASWE) - Rich codebase context for IDE LLMs
57 lines • 1.82 kB
TypeScript
/**
* Neo4j Storage Layer
*
* Implements the Neo4j storage interface for the Hybrid Storage Manager
* with optimized graph operations and health monitoring.
*/
import { EventEmitter } from 'events';
import { StorageInterface, StorageLayer, StorageLayerHealth, QueryContext, QueryResult, Neo4jStorageConfig } from './types';
export declare class Neo4jStorageLayer extends EventEmitter implements StorageInterface {
private config;
readonly layer = StorageLayer.NEO4J;
private driver;
private isInitialized;
private healthMetrics;
constructor(config: Neo4jStorageConfig);
/**
* Initialize the Neo4j storage layer
*/
initialize(): Promise<void>;
/**
* Execute a query against Neo4j
*/
query<T = any>(query: string, params?: Record<string, any>, context?: QueryContext): Promise<QueryResult<T>>;
/**
* Create a new entity in Neo4j
*/
create(data: any, context?: QueryContext): Promise<QueryResult<any>>;
/**
* Update an entity in Neo4j
*/
update(id: string, data: any, context?: QueryContext): Promise<QueryResult<any>>;
/**
* Delete an entity from Neo4j
*/
delete(id: string, context?: QueryContext): Promise<QueryResult<boolean>>;
/**
* Perform health check
*/
healthCheck(): Promise<StorageLayerHealth>;
/**
* Get storage metrics
*/
getMetrics(): Promise<Record<string, any>>;
/**
* Shutdown the Neo4j storage layer
*/
shutdown(): Promise<void>;
private verifyConnectivity;
private determineAccessMode;
private convertNeo4jValue;
private convertNeo4jProperties;
private buildCreateQuery;
private buildUpdateQuery;
private updateMetrics;
}
export default Neo4jStorageLayer;
//# sourceMappingURL=Neo4jStorageLayer.d.ts.map