/** * Advanced Search Tools * * Desktop Commander's streaming search capabilities absorbed into KERNL V2.0 * Provides stateful, paginated search with background processing. * * Phase 4 Tools: * - sys_start_search: Launch streaming search session * - sys_get_more_search_results: Get paginated results * - sys_stop_search: Cancel active search * - sys_list_searches: List active sessions */ import { type Tool } from '@modelcontextprotocol/sdk/types.js'; import { ProjectDatabase } from '../storage/database.js'; interface StartSearchParams { path: string; pattern: string; searchType?: 'files' | 'content'; filePattern?: string; ignoreCase?: boolean; includeHidden?: boolean; literalSearch?: boolean; contextLines?: number; maxResults?: number; timeout_ms?: number; earlyTermination?: boolean; } interface GetMoreResultsParams { sessionId: string; offset?: number; length?: number; } interface StopSearchParams { sessionId: string; } interface SearchResult { path: string; matches?: Array<{ line: number; content: string; context?: string[]; }>; } export declare const advancedSearchTools: Tool[]; /** * Start Search Handler */ declare function startSearchHandler(params: StartSearchParams): Promise<{ success: boolean; sessionId: string; searchType: "files" | "content"; pattern: string; path: string; status: string; message: string; }>; /** * Get More Results Handler */ declare function getMoreResultsHandler(params: GetMoreResultsParams): Promise<{ success: boolean; error: { code: string; message: string; }; sessionId?: undefined; status?: undefined; results?: undefined; resultsReturned?: undefined; totalResults?: undefined; rangeStart?: undefined; rangeEnd?: undefined; remaining?: undefined; runtime?: undefined; } | { success: boolean; sessionId: string; status: "running" | "cancelled" | "error" | "completed"; results: SearchResult[]; resultsReturned: number; totalResults: number; rangeStart: number; rangeEnd: number; remaining: number; runtime: number; error: string | undefined; }>; /** * Stop Search Handler */ declare function stopSearchHandler(params: StopSearchParams): Promise<{ success: boolean; error: { code: string; message: string; }; sessionId?: undefined; status?: undefined; totalResults?: undefined; runtime?: undefined; message?: undefined; } | { success: boolean; sessionId: string; status: "cancelled" | "error" | "completed"; totalResults: number; runtime: number; message: string; error?: undefined; }>; /** * List Searches Handler */ declare function listSearchesHandler(): Promise<{ success: boolean; sessions: { sessionId: string; searchType: "files" | "content"; pattern: string; path: string; status: "running" | "cancelled" | "error" | "completed"; totalResults: number; runtime: number; }[]; totalActive: number; totalCompleted: number; totalSessions: number; }>; export declare function createAdvancedSearchHandlers(db: ProjectDatabase): { sys_start_search: typeof startSearchHandler; sys_get_more_search_results: typeof getMoreResultsHandler; sys_stop_search: typeof stopSearchHandler; sys_list_searches: typeof listSearchesHandler; }; export {}; //# sourceMappingURL=advanced-search.d.ts.map