@aaswe/codebase-ai
Version:
AI-Assisted Software Engineering (AASWE) - Rich codebase context for IDE LLMs
91 lines • 2.85 kB
TypeScript
/**
* In-Memory Storage Layer
*
* Implements high-performance in-memory storage for the Hybrid Storage Manager
* with compression, persistence, and garbage collection capabilities.
*/
import { EventEmitter } from 'events';
import { StorageInterface, StorageLayer, StorageLayerHealth, QueryContext, QueryResult, InMemoryStorageConfig } from './types';
export declare class InMemoryStorageLayer extends EventEmitter implements StorageInterface {
private config;
readonly layer = StorageLayer.IN_MEMORY;
private storage;
private indexes;
private isInitialized;
private gcTimer;
private persistenceTimer;
private metrics;
constructor(config: InMemoryStorageConfig);
/**
* Initialize the in-memory storage layer
*/
initialize(): Promise<void>;
/**
* Execute a query against in-memory storage
*/
query<T = any>(query: string, params?: Record<string, any>, context?: QueryContext): Promise<QueryResult<T>>;
/**
* Create a new record in memory
*/
create(data: any, _context?: QueryContext): Promise<QueryResult<any>>;
/**
* Update a record in memory
*/
update(id: string, data: any, _context?: QueryContext): Promise<QueryResult<any>>;
/**
* Delete a record from memory
*/
delete(id: string, _context?: QueryContext): Promise<QueryResult<boolean>>;
/**
* Perform health check
*/
healthCheck(): Promise<StorageLayerHealth>;
/**
* Get storage metrics
*/
getMetrics(): Promise<Record<string, any>>;
/**
* Shutdown the in-memory storage layer
*/
shutdown(): Promise<void>;
private executeQuery;
private parseQuery;
private tokenizeQuery;
private parseSelectQuery;
private parseConditions;
private normalizeOperator;
private parseValue;
private parseFindQuery;
private parseGetQuery;
private parseCountQuery;
private parseAggregateQuery;
private parseFlexibleQuery;
private validateQuery;
private optimizeQuery;
private executeOptimizedQuery;
private executeSelectQuery;
private executeFindQuery;
private executeGetQuery;
private executeCountQuery;
private executeAggregateQuery;
private matchesConditions;
private evaluateCondition;
private extractSearchableText;
private selectFields;
private applyOrdering;
private generateId;
private calculateSize;
private getMemoryUsage;
private compress;
private decompress;
private updateIndexes;
private removeFromIndexes;
private setupGarbageCollection;
private runGarbageCollection;
private setupPersistence;
private loadFromPersistence;
private saveToPersistence;
private updateMetrics;
}
export default InMemoryStorageLayer;
//# sourceMappingURL=InMemoryStorageLayer.d.ts.map