UNPKG

@codai/cbd

Version:

Codai Better Database - High-Performance Vector Memory System with HPKV-inspired architecture and MCP server

78 lines 2.86 kB
/** * CBD (Codai Better Database) Main Export * Revolutionary vector-native database system for AI memory storage * Enhanced with Enterprise Features: Clustering, Security, and High-Performance Server */ export { CBDMemoryEngine } from './memory/MemoryEngine.js'; export { FaissVectorStore, InMemoryVectorIndex } from './vector/VectorStore.js'; export { OpenAIEmbeddingModel, LocalEmbeddingModel } from './embedding/EmbeddingService.js'; export { CBDNativeStorageAdapter } from './storage/CBDNativeStorageAdapter.js'; // CND Compatibility Layer export { CBDClient, CND, createCBDClient } from './client/CBDClient.js'; // Enterprise features export * from './enterprise/index.js'; /** * Factory function to create a CBD Memory Engine with sensible defaults */ export function createCBDEngine(config = {}) { const defaultConfig = { storage: { type: 'cbd-native', dataPath: './cbd-data' }, embedding: { model: 'openai', apiKey: process.env.OPENAI_API_KEY || undefined, modelName: 'text-embedding-ada-002', dimensions: 1536 }, vector: { indexType: 'faiss', dimensions: 1536, similarityMetric: 'cosine' }, cache: { enabled: true, maxSize: 1000, ttl: 3600000 // 1 hour } }; const mergedConfig = { ...defaultConfig, ...config, storage: { ...defaultConfig.storage, ...config.storage }, embedding: { ...defaultConfig.embedding, ...config.embedding }, vector: { ...defaultConfig.vector, ...config.vector }, cache: { ...defaultConfig.cache, ...config.cache } }; return new (require('./memory/MemoryEngine.js').CBDMemoryEngine)(mergedConfig); } /** * CBD version and metadata */ export const CBD_VERSION = '1.1.0'; export const CBD_DESCRIPTION = 'Codai Better Database - Revolutionary vector-native AI memory system with enterprise features'; /** * Utility function to validate CBD configuration */ export function validateCBDConfig(config) { const errors = []; if (!config.storage?.type) { errors.push('Storage type is required'); } if (config.embedding?.model === 'openai' && !config.embedding.apiKey) { errors.push('OpenAI API key is required when using OpenAI embedding model'); } if (!config.vector?.dimensions || config.vector.dimensions < 1) { errors.push('Vector dimensions must be a positive integer'); } if (config.embedding?.dimensions && config.vector?.dimensions && config.embedding.dimensions !== config.vector.dimensions) { errors.push('Embedding dimensions must match vector dimensions'); } return { valid: errors.length === 0, errors }; } //# sourceMappingURL=index.js.map