@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
TypeScript
/**
* 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