memory-engineering
Version:
Advanced Memory-Aware Code Context System with claude-flow-inspired architecture, showcasing MongoDB + Voyage AI strategic positioning
42 lines • 1.32 kB
JavaScript
/**
* Memory System Factory
* Creates memory manager instances following claude-flow patterns
*/
import { MemoryManager } from './memory-manager.js';
export function createMemoryManager() {
const provider = process.env.MONGODB_PROVIDER || 'community';
let connectionString;
if (provider === 'atlas') {
connectionString = process.env.MONGODB_URI || '';
if (!connectionString) {
throw new Error('MONGODB_URI required for Atlas provider');
}
}
else {
connectionString = process.env.MONGODB_URI || 'mongodb://localhost:27017/memory_engineering';
}
const config = {
provider: provider,
connectionString,
databaseName: 'memory_engineering',
collectionName: 'memories',
enableIndexes: true,
enableMetrics: true
};
return new MemoryManager(config);
}
let globalMemoryManager;
export async function getMemoryManager() {
if (!globalMemoryManager) {
globalMemoryManager = createMemoryManager();
await globalMemoryManager.initialize();
}
return globalMemoryManager;
}
export async function shutdownMemoryManager() {
if (globalMemoryManager) {
await globalMemoryManager.shutdown();
globalMemoryManager = undefined;
}
}
//# sourceMappingURL=factory.js.map