/** * StorageProvider — SPI 接口定义 * 所有存储后端必须实现此接口,上层 Repository 不感知具体存储引擎。 */ import type { KnowledgeEntry, EntryStatus, KnowledgeType } from '../types/index.js'; export interface SaveOptions { skipQualityGate?: boolean; /** Skip BGE embedding during save (deferred to batch vectorization) */ skipEmbedding?: boolean; /** Skip semantic deduplication check (useful for batch imports) */ skipDedup?: boolean; } export interface SemanticQuery { text: string; embedding?: number[]; filters?: { types?: KnowledgeType[]; status?: EntryStatus[]; domain?: string; timeRange?: { from?: Date; to?: Date; }; }; topK?: number; minScore?: number; } export interface SearchResult { entry: KnowledgeEntry; score: number; } export interface StorageProvider { save(entry: KnowledgeEntry, options?: SaveOptions): Promise; findById(id: string): Promise; search(query: SemanticQuery): Promise; updateStatus(id: string, status: EntryStatus): Promise; getVersionHistory(id: string): Promise; findByType(type: KnowledgeType): Promise; fullTextSearch(query: string, limit?: number): Promise; findAll(): Promise; delete(id: string): Promise; count(): Promise; close(): Promise; } //# sourceMappingURL=storage-provider.d.ts.map