knowledgegraph-mcp
Version:
MCP server for enabling persistent knowledge storage for Claude through a knowledge graph with multiple storage backends
39 lines • 1.83 kB
TypeScript
import { Entity } from '../../core.js';
import { SearchStrategy, SearchConfig } from '../types.js';
/**
* Base class for search strategies with common functionality
*/
export declare abstract class BaseSearchStrategy implements SearchStrategy {
protected config: SearchConfig;
constructor(config: SearchConfig);
abstract canUseDatabase(): boolean;
abstract searchDatabase(query: string | string[], threshold: number, project?: string): Promise<Entity[]>;
abstract searchClientSide(entities: Entity[], query: string | string[]): Entity[];
abstract getAllEntities(project?: string): Promise<Entity[]>;
/**
* Exact search implementation for backward compatibility
*/
protected exactSearch(query: string, entities: Entity[]): Entity[];
/**
* Filter entities by exact tags
*/
protected filterByExactTags(entities: Entity[], exactTags: string[], tagMatchMode?: 'any' | 'all'): Entity[];
/**
* Helper method to handle multiple queries with deduplication
*/
protected searchMultipleDatabase(queries: string[], threshold: number, project?: string): Promise<Entity[]>;
/**
* Helper method to handle multiple queries for client-side search with deduplication
*/
protected searchMultipleClientSide(entities: Entity[], queries: string[]): Entity[];
/**
* Chunked client-side search for large entity sets
* Processes entities in chunks to improve performance and memory usage
*/
protected searchClientSideChunked(entities: Entity[], query: string | string[], chunkSize: number): Entity[];
/**
* Chunked client-side search for multiple queries
*/
protected searchMultipleClientSideChunked(entities: Entity[], queries: string[], chunkSize: number): Entity[];
}
//# sourceMappingURL=base-strategy.d.ts.map