UNPKG

@sethdouglasford/claude-flow

Version:

Claude Code Flow - Advanced AI-powered development workflows with SPARC methodology

181 lines 5.25 kB
/** * Distributed memory system with sharing capabilities */ import { EventEmitter } from "node:events"; import { ILogger } from "../core/logger.js"; import { IEventBus } from "../core/event-bus.js"; import { MemoryPartition, MemoryEntry, MemoryType, AccessLevel, ConsistencyLevel, AgentId } from "../swarm/types.js"; export interface DistributedMemoryConfig { namespace: string; distributed: boolean; consistency: ConsistencyLevel; replicationFactor: number; syncInterval: number; maxMemorySize: number; compressionEnabled: boolean; encryptionEnabled: boolean; backupEnabled: boolean; persistenceEnabled: boolean; shardingEnabled: boolean; cacheSize: number; cacheTtl: number; } export interface MemoryNode { id: string; address: string; port: number; status: "online" | "offline" | "syncing" | "failed"; lastSeen: Date; partitions: string[]; load: number; capacity: number; } export interface SyncOperation { id: string; type: "create" | "update" | "delete" | "batch"; partition: string; entry?: MemoryEntry; entries?: MemoryEntry[]; timestamp: Date; version: number; origin: string; targets: string[]; status: "pending" | "in_progress" | "completed" | "failed"; } export interface MemoryQuery { namespace?: string; partition?: string; type?: MemoryType; tags?: string[]; owner?: AgentId; accessLevel?: AccessLevel; createdAfter?: Date; updatedAfter?: Date; limit?: number; offset?: number; sortBy?: string; sortOrder?: "asc" | "desc"; } export interface MemoryStatistics { totalEntries: number; totalSize: number; partitionCount: number; nodeCount: number; replicationHealth: number; syncOperations: { pending: number; completed: number; failed: number; }; performance: { readLatency: number; writeLatency: number; syncLatency: number; throughput: number; }; utilization: { memoryUsage: number; diskUsage: number; networkUsage: number; }; } /** * Distributed memory system for sharing data across swarm agents */ export declare class DistributedMemorySystem extends EventEmitter { private logger; private eventBus; private config; private partitions; private entries; private cache; private nodes; private localNodeId; private syncQueue; private replicationMap; private syncInterval?; private vectorClock; private conflictResolver?; private statistics; private operationMetrics; constructor(config: Partial<DistributedMemoryConfig>, logger: ILogger, eventBus: IEventBus); private setupEventHandlers; initialize(): Promise<void>; shutdown(): Promise<void>; createPartition(name: string, type: MemoryType, options?: { maxSize?: number; ttl?: number; readOnly?: boolean; shared?: boolean; indexed?: boolean; compressed?: boolean; }): Promise<string>; deletePartition(partitionId: string): Promise<void>; store(key: string, value: any, options?: { type?: string; tags?: string[]; owner?: AgentId; accessLevel?: AccessLevel; partition?: string; ttl?: number; replicate?: boolean; }): Promise<string>; retrieve(key: string, options?: { partition?: string; consistency?: ConsistencyLevel; maxAge?: number; }): Promise<MemoryEntry | null>; update(key: string, value: any, options?: { partition?: string; merge?: boolean; version?: number; }): Promise<boolean>; deleteEntry(entryId: string): Promise<boolean>; query(query: MemoryQuery): Promise<MemoryEntry[]>; private startSynchronization; private performSync; private processSyncQueue; private processValue; private mergeValues; private compressValue; private checkAccess; private selectPartition; private getPartitionSize; private getEntryPartition; private updateCache; private getCachedEntry; private isCacheValid; private removeFromCache; private evictCache; private evictOldEntries; private matchesQuery; private getNestedProperty; private incrementVectorClock; private recordMetric; private initializeStatistics; private updateStatistics; private replicateEntry; private syncPartitionCreation; private syncPartitionDeletion; private syncEntryUpdate; private syncEntryDeletion; private retrieveFromRemote; private ensureConsistency; private sendHeartbeat; private detectAndResolveConflicts; private executeSyncOperation; private completePendingSyncOperations; private loadPersistedData; private persistData; private handleSyncRequest; private handleNodeJoined; private handleNodeLeft; private handleConflict; getStatistics(): MemoryStatistics; getPartitions(): MemoryPartition[]; getNodes(): MemoryNode[]; backup(): Promise<string>; restore(backupData: string): Promise<void>; clear(): Promise<void>; } //# sourceMappingURL=distributed-memory.d.ts.map