import { MultiDbManager } from '../core/multi-db-manager'; import { EmbeddingGenerator } from '../embedding/embedding-generator'; import { EntityReference } from '../models/entity-reference'; import { Evidence } from '../models/evidence'; /** * Semantic search result */ export interface SemanticSearchResult { dimension: 'X' | 'Y' | 'Z' | 'W' | 'T'; entityId: string; externalId: string; score: number; vectorScore: number; importanceScore: number; entityRef: EntityReference; evidence?: Evidence; } /** * Options for semantic search */ export interface SemanticSearchOptions { dimensions?: ('X' | 'Y' | 'Z' | 'W' | 'T')[]; limit?: number; minScore?: number; } /** * API for semantic search over all dimensions using vector similarity. */ export declare class SemanticSearchApi { private dbManager; private embeddingGenerator; private evidenceGrader; private queryRewriter; private readonly vectorWeight; private readonly importanceWeight; constructor(dbManager: MultiDbManager, embeddingGenerator: EmbeddingGenerator); /** * Performs semantic search across all or specified dimensions. * * @param query Natural language query * @param pluginId Plugin ID * @param options Search options * @returns Promise that resolves to search results sorted by relevance */ search(query: string, pluginId: string, options?: SemanticSearchOptions): Promise; /** * Searches in a specific dimension using vector similarity. * Uses VSS if available, otherwise falls back to cosine similarity. */ private searchDimension; /** * Searches using vector database (VSS or external DB). */ private searchWithVectorDatabase; /** * Gets embedding by rowid. */ private getEmbeddingByRowid; /** * Searches using manual cosine similarity (fallback). */ private searchWithCosineSimilarity; /** * Calculates cosine similarity between two vectors. */ private cosineSimilarity; /** * Gets minimum score for a dimension. * For ADRs (W-dimension), uses 0.0 to include all results. * * @param dimension The dimension * @param defaultMinScore The default minimum score * @returns The minimum score for the dimension */ private getMinScoreForDimension; } //# sourceMappingURL=semantic-search-api.d.ts.map