/** * MCP query handlers for opencode-memory. * * Adapted from doc2vec/mcp/src/server.ts — simplified to: * - SQLite-vec only (no Qdrant) * - Fixed single DB path (no multi-DB resolution) * - Two tools: query_sessions + get_session_chunks */ import type { QueryResult } from "../src/types"; export type { QueryResult }; type SqliteVecModule = { load: (db: SqliteDatabase) => void; }; type SqliteDatabase = { prepare: (sql: string) => SqliteStatement; close: () => void; }; type SqliteStatement = { all: (...params: unknown[]) => unknown[]; }; type FsModule = { existsSync: (p: string) => boolean; }; export declare function createSqliteProvider(deps: { dbPath: string; sqliteVec: SqliteVecModule; Database: new (path: string) => SqliteDatabase; fs: FsModule; }): { querySessions: (queryEmbedding: number[], topK?: number, projectFilter?: string, sourceFilter?: string, fromMs?: number, toMs?: number, includeSections?: string[], excludeSections?: string[]) => Promise; querySessionsHybrid: (queryEmbedding: number[], queryText: string, topK?: number, projectFilter?: string, sourceFilter?: string, fromMs?: number, toMs?: number, includeSections?: string[], excludeSections?: string[]) => Promise; getSessionChunks: (url: string, startIndex?: number, endIndex?: number) => Promise; }; export declare function createToolHandlers(deps: { createEmbedding: (text: string) => Promise; querySessions: (embedding: number[], topK: number, project?: string, source?: string, fromMs?: number, toMs?: number, includeSections?: string[], excludeSections?: string[]) => Promise; querySessionsHybrid: (embedding: number[], queryText: string, topK: number, project?: string, source?: string, fromMs?: number, toMs?: number, includeSections?: string[], excludeSections?: string[]) => Promise; getSessionChunks: (url: string, startIndex?: number, endIndex?: number) => Promise; }): { querySessionsHandler: (args: { queryText: string; project?: string; source?: string; limit?: number; fromMs?: number; toMs?: number; hybrid?: boolean; includeSections?: string; excludeSections?: string; }) => Promise<{ content: { type: "text"; text: string; }[]; }>; getSessionChunksHandler: (args: { sessionUrl: string; startIndex?: number; endIndex?: number; }) => Promise<{ content: { type: "text"; text: string; }[]; }>; }; //# sourceMappingURL=server.d.ts.map