UNPKG

@andrebuzeli/advanced-memory-markdown-mcp

Version:

Advanced Memory Bank MCP v3.1.5 - Sistema avançado de gerenciamento de memória com isolamento de projetos por IDE, sincronização sob demanda, backup a cada 30min, apenas arquivos .md principais sincronizados, pasta reasoning temporária com limpeza automát

123 lines 3.11 kB
/** * Bidirectional Sync Manager - Gerenciador de sincronização bidirecional * Coordena a sincronização entre .memory-bank local e MEMORY_BANK_ROOT */ export interface SyncConfig { projectName: string; projectPath: string; memoryBankRoot: string; enableAutoSync: boolean; conflictResolution: 'local-wins' | 'remote-wins' | 'newest-wins' | 'manual'; } export interface SyncEvent { type: 'sync-started' | 'sync-completed' | 'sync-error' | 'conflict-detected'; source: 'local' | 'remote'; filePath: string; timestamp: number; details?: any; } export declare class BidirectionalSyncManager { private config; private fileWatcher; private isInitialized; private isSyncing; private syncQueue; private conflictQueue; private readonly allowedFiles; constructor(config: SyncConfig); /** * Inicializa o sistema de sincronização */ initialize(): Promise<void>; /** * Para o sistema de sincronização */ stop(): Promise<void>; /** * Verifica se um arquivo deve ser sincronizado */ private shouldSyncFile; /** * Força sincronização manual */ forceSync(): Promise<void>; /** * Configura listeners do FileWatcher */ private setupFileWatcherListeners; /** * Realiza sincronização inicial */ private performInitialSync; /** * Realiza sincronização completa comparando ambas as pastas */ private performFullSync; /** * Processa mudanças de arquivo detectadas pelo watcher */ private handleFileChange; /** * Processa mudança de um único arquivo */ private processSingleFileChange; /** * Copia arquivo do local para remoto */ private copyFileLocalToRemote; /** * Copia arquivo do remoto para local */ private copyFileRemoteToLocal; /** * Copia arquivo entre locais */ private copyFile; /** * Sincroniza do remoto para local (Regra 1) */ private syncFromRemoteToLocal; /** * Sincroniza do local para remoto */ private syncFromLocalToRemote; /** * Copia diretório recursivamente (apenas arquivos permitidos) */ private copyDirectory; /** * Sincroniza arquivo comum verificando timestamps */ private syncCommonFile; /** * Apaga arquivo remoto */ private deleteRemoteFile; /** * Apaga arquivo local (Regra 2) */ private deleteLocalFile; /** * Apaga arquivo */ private deleteFile; /** * Obtém caminho relativo baseado na origem */ private getRelativePath; /** * Verifica se caminho existe */ private pathExists; /** * Obtém estatísticas de sincronização */ getStats(): { isInitialized: boolean; isSyncing: boolean; queueSize: number; conflictCount: number; }; } export declare function createBidirectionalSync(config: SyncConfig): BidirectionalSyncManager; //# sourceMappingURL=bidirectional-sync.d.ts.map