UNPKG

optivise

Version:

Optivise - The Ultimate Optimizely Development Assistant with AI-powered features, zero-config setup, and comprehensive development support

89 lines 2.36 kB
/** * ChromaDB Integration Service * Manages vector database operations for Optimizely documentation storage */ export interface DocumentChunk { id: string; content: string; metadata: { product: string; url: string; title: string; section?: string; lastUpdated: string; contentType: 'documentation' | 'tutorial' | 'api' | 'example'; tags?: string[]; }; } export interface SearchResult { id: string; content: string; metadata: DocumentChunk['metadata']; similarity: number; } export interface ChromaConfig { host?: string; port?: number; ssl?: boolean; headers?: Record<string, string>; } export declare class ChromaDBService { private client; private collections; private config; private breaker; private static readonly COLLECTIONS; constructor(config?: ChromaConfig); /** * Initialize ChromaDB client and collections */ initialize(): Promise<boolean>; /** * Initialize collections for each Optimizely product */ private initializeCollections; /** * Add document chunks to the appropriate collection */ addDocuments(documents: DocumentChunk[]): Promise<boolean>; /** * Search for similar documents across all collections or specific product */ searchDocuments(query: string, options?: { product?: string; limit?: number; threshold?: number; contentTypes?: string[]; }): Promise<SearchResult[]>; /** * Get collection statistics */ getCollectionStats(): Promise<Record<string, any>>; /** * Delete documents by IDs */ deleteDocuments(ids: string[], product?: string): Promise<boolean>; /** * Clear all documents from a collection */ clearCollection(product: string): Promise<boolean>; /** * Get collection name for a product */ private getCollectionName; /** * Check if ChromaDB is available */ isAvailable(): boolean; getCircuitState(): 'closed' | 'open' | 'half-open'; /** * Test ChromaDB connection */ testConnection(): Promise<boolean>; /** * Cleanup resources */ cleanup(): Promise<void>; } export declare const chromaDBService: ChromaDBService; //# sourceMappingURL=chromadb-client.d.ts.map