zrald1
Version:
Advanced Graph RAG MCP Server with file location identification, graph processing, and result summarization capabilities
46 lines • 1.8 kB
TypeScript
import { Node, Chunk, File } from '../types/graph.js';
export interface VectorSearchResult {
id: string;
score: number;
node?: Node;
chunk?: Chunk;
file?: File;
}
export declare class VectorStore {
private dimension;
private maxElements;
private nodeMap;
private chunkMap;
private fileMap;
private embeddings;
private currentIndex;
constructor(dimension?: number, maxElements?: number);
initialize(): Promise<void>;
addNode(node: Node): Promise<void>;
addChunk(chunk: Chunk): Promise<void>;
addFile(file: File, embedding?: number[]): Promise<void>;
searchNodes(queryEmbedding: number[], topK?: number, threshold?: number): Promise<VectorSearchResult[]>;
searchByNodeTypes(queryEmbedding: number[], nodeTypes: string[], topK?: number, threshold?: number): Promise<VectorSearchResult[]>;
searchChunks(queryEmbedding: number[], topK?: number, threshold?: number): Promise<VectorSearchResult[]>;
searchFiles(queryEmbedding: number[], topK?: number, threshold?: number): Promise<VectorSearchResult[]>;
getStats(): {
totalNodes: number;
totalChunks: number;
totalFiles: number;
totalEmbeddings: number;
dimension: number;
maxElements: number;
};
static cosineSimilarity(a: number[], b: number[]): number;
static euclideanDistance(a: number[], b: number[]): number;
static dotProduct(a: number[], b: number[]): number;
static generateRandomEmbedding(dimension: number): number[];
clear(): void;
getAllNodes(): Node[];
getAllChunks(): Chunk[];
getAllFiles(): File[];
removeNode(nodeId: string): boolean;
removeChunk(chunkId: string): boolean;
removeFile(fileId: string): boolean;
}
//# sourceMappingURL=vector-store.d.ts.map