knowledgegraph-mcp
Version:
MCP server for enabling persistent knowledge storage for Claude through a knowledge graph with multiple storage backends
60 lines • 2.37 kB
TypeScript
import Database from 'better-sqlite3';
import { Entity } from '../../core.js';
import { SearchConfig, PaginationOptions, PaginationResult } from '../types.js';
import { BaseSearchStrategy } from './base-strategy.js';
/**
* SQLite search strategy - uses client-side fuzzy search only
* SQLite doesn't have built-in fuzzy search capabilities like PostgreSQL,
* so we always use Fuse.js for fuzzy searching
*/
export declare class SQLiteFuzzyStrategy extends BaseSearchStrategy {
private db;
private project;
private searchLimits;
constructor(config: SearchConfig, db: Database.Database, project: string);
canUseDatabase(): boolean;
searchDatabase(query: string | string[], threshold: number, project?: string): Promise<Entity[]>;
searchClientSide(entities: Entity[], query: string | string[]): Entity[];
private searchSingleClientSide;
/**
* Get all entities for a project from SQLite database
* This is used to load entities for client-side search
* Respects maxClientSideEntities limit to prevent memory issues
*/
getAllEntities(project?: string): Promise<Entity[]>;
/**
* Perform exact search at database level for better performance
* This can be used as an optimization for exact searches
*/
searchExact(query: string | string[], project?: string): Promise<Entity[]>;
/**
* Optimized multiple exact search using single SQL query with OR conditions
* This provides better performance than sequential searches
*/
private searchExactMultiple;
/**
* Single exact search implementation
*/
private searchExactSingle;
/**
* Get all entities with pagination support
*/
getAllEntitiesPaginated(pagination: PaginationOptions, project?: string): Promise<PaginationResult<Entity>>;
/**
* Perform exact search with pagination support
*/
searchExactPaginated(query: string | string[], pagination: PaginationOptions, project?: string): Promise<PaginationResult<Entity>>;
/**
* Single exact search with pagination
*/
private searchExactSinglePaginated;
/**
* Multiple exact search with pagination
*/
private searchExactMultiplePaginated;
/**
* Safely parse JSON with fallback to default value
*/
private safeJsonParse;
}
//# sourceMappingURL=sqlite-strategy.d.ts.map