UNPKG

@codai/memorai

Version:

Universal Database & Storage Service for CODAI Ecosystem - CBD Backend

73 lines 3.34 kB
/** * MemoraiService - Universal Database & Storage Service * * Main service class that orchestrates all MEMORAI functionality: * - Database operations (SQL, NoSQL, Vector) * - File & Blob storage * - AI Memory management * - Real-time synchronization * - Cross-app data sharing */ import { EventEmitter } from 'events'; import type { MemoraiConfig, Memory, MemoryQuery, MemorySearchResult, StorageFile, StorageUpload, DatabaseQuery, APIResponse, PaginatedResponse, AnalyticsEvent, CacheOptions } from '../types'; import { DatabaseService } from './DatabaseService'; import { StorageService } from './StorageService'; import { MemoryService } from './MemoryService'; import { SyncService } from './SyncService'; import { CacheService } from './CacheService'; import { AnalyticsService } from './AnalyticsService'; export declare class MemoraiService extends EventEmitter { private static instance; private config; private isInitialized; readonly database: DatabaseService; readonly storage: StorageService; readonly memory: MemoryService; readonly sync: SyncService; readonly cache: CacheService; readonly analytics: AnalyticsService; private constructor(); static getInstance(config?: Partial<MemoraiConfig>): MemoraiService; static create(config?: Partial<MemoraiConfig>): Promise<MemoraiService>; initialize(): Promise<void>; shutdown(): Promise<void>; query<T = any>(query: DatabaseQuery): Promise<APIResponse<T[]>>; insert<T = any>(table: string, data: Partial<T>): Promise<APIResponse<T>>; update<T = any>(table: string, id: string, data: Partial<T>): Promise<APIResponse<T>>; delete(table: string, id: string): Promise<APIResponse<boolean>>; find<T = any>(table: string, conditions?: DatabaseQuery['conditions'], options?: { limit?: number; offset?: number; orderBy?: DatabaseQuery['orderBy']; }): Promise<PaginatedResponse<T>>; storeMemory(memory: Partial<Memory>): Promise<APIResponse<Memory>>; searchMemories(query: MemoryQuery): Promise<APIResponse<MemorySearchResult[]>>; getMemory(id: string, userId: string): Promise<APIResponse<Memory | null>>; uploadFile(file: StorageUpload, userId: string): Promise<APIResponse<StorageFile>>; downloadFile(fileId: string, userId: string): Promise<APIResponse<Buffer>>; deleteFile(fileId: string, userId: string): Promise<APIResponse<boolean>>; trackEvent(event: AnalyticsEvent): Promise<APIResponse<boolean>>; cacheGet<T = any>(key: string): Promise<T | null>; cacheSet<T = any>(key: string, value: T, options?: CacheOptions): Promise<void>; cacheDelete(key: string): Promise<boolean>; cacheClear(pattern?: string): Promise<number>; getHealth(): Promise<{ status: 'healthy' | 'degraded' | 'unhealthy'; services: Record<string, { status: string; latency?: number; error?: string; }>; timestamp: Date; }>; private setupEventHandlers; private generateQueryCacheKey; private generateFindCacheKey; private calculatePagination; private generateRequestId; get isReady(): boolean; get configuration(): MemoraiConfig; } export declare const memorai: MemoraiService; export default MemoraiService; //# sourceMappingURL=MemoraiService.d.ts.map