/** * CBD (Codai Better Database) Core Types * HPKV-inspired vector memory system with semantic search */ export interface ConversationExchange { id?: string; structuredKey: string; projectName: string; sessionName: string; sequenceNumber: number; agentId: string; userRequest: string; assistantResponse: string; conversationContext?: string | undefined; metadata: Record; vectorEmbedding?: Float32Array | undefined; confidenceScore: number; createdAt: Date; updatedAt: Date; } export interface MemorySearchResult { memory: ConversationExchange; relevanceScore: number; confidence: number; summary?: string; } export interface SearchQuery { query: string; limit?: number; confidenceThreshold?: number; projectFilter?: string; sessionFilter?: string; agentFilter?: string; timeRange?: { start: Date; end: Date; }; } export interface VectorSearchOptions { topK?: number; minScore?: number; includeMetadata?: boolean; } export interface EmbeddingModel { name: string; dimensions: number; generateEmbedding(text: string): Promise; generateBatchEmbeddings(texts: string[]): Promise; } export interface VectorStore { addVector(id: string, vector: Float32Array, metadata?: Record): Promise; searchSimilar(queryVector: Float32Array, options?: VectorSearchOptions): Promise; removeVector(id: string): Promise; getVector(id: string): Promise; } export interface VectorSearchResult { id: string; score: number; metadata?: Record | undefined; } export interface StorageAdapter { connect(): Promise; disconnect(): Promise; storeConversation(exchange: ConversationExchange): Promise; getConversation(structuredKey: string): Promise; searchConversations(query: SearchQuery): Promise; updateConversation(structuredKey: string, updates: Partial): Promise; deleteConversation(structuredKey: string): Promise; getStats(): Promise; } export interface DatabaseStats { totalMemories: number; uniqueAgents: number; uniqueProjects: number; uniqueSessions: number; averageConfidence: number; databaseSize: number; lastUpdated: Date; } export interface CBDConfig { storage: { type: 'cbd-native' | 'hybrid'; dataPath?: string; }; embedding: { model: 'openai' | 'local' | 'custom'; apiKey?: string | undefined; modelName?: string; dimensions?: number; }; vector: { indexType: 'faiss' | 'approximate'; dimensions: number; similarityMetric: 'cosine' | 'euclidean' | 'dot'; }; cache: { enabled: boolean; maxSize: number; ttl: number; }; } export interface MemorySummary { summary: string; sourceMemories: string[]; confidenceScore: number; relevantTopics: string[]; } //# sourceMappingURL=index.d.ts.map