UNPKG

@vfarcic/dot-ai

Version:

Universal Kubernetes application deployment agent with CLI and MCP interfaces

80 lines 2.36 kB
/** * Embedding Service * * Optional semantic search enhancement for pattern matching. * Gracefully falls back to keyword-only search when OpenAI API key is not available. */ export interface EmbeddingConfig { provider?: 'openai'; apiKey?: string; model?: string; dimensions?: number; } export interface EmbeddingProvider { generateEmbedding(text: string): Promise<number[]>; generateEmbeddings(texts: string[]): Promise<number[][]>; isAvailable(): boolean; getDimensions(): number; } /** * OpenAI Embedding Provider * Optional provider for semantic search enhancement */ export declare class OpenAIEmbeddingProvider implements EmbeddingProvider { private client; private model; private dimensions; private available; constructor(config?: EmbeddingConfig); generateEmbedding(text: string): Promise<number[]>; generateEmbeddings(texts: string[]): Promise<number[][]>; isAvailable(): boolean; getDimensions(): number; getModel(): string; } /** * Main Embedding Service * Provides optional semantic search capabilities with graceful degradation */ export declare class EmbeddingService { private provider; constructor(config?: EmbeddingConfig); /** * Generate embedding for text (optional enhancement) * Returns null if embeddings not available - caller should handle gracefully */ generateEmbedding(text: string): Promise<number[] | null>; /** * Generate embeddings for multiple texts (optional enhancement) * Returns empty array if embeddings not available */ generateEmbeddings(texts: string[]): Promise<number[][]>; /** * Check if semantic search is available */ isAvailable(): boolean; /** * Get embedding dimensions (if available) */ getDimensions(): number; /** * Get status information for debugging/logging */ getStatus(): { available: boolean; provider: string | null; model?: string; dimensions?: number; reason?: string; }; /** * Create searchable text from pattern data */ createPatternSearchText(pattern: { description: string; triggers: string[]; suggestedResources: string[]; rationale: string; }): string; } //# sourceMappingURL=embedding-service.d.ts.map