import type { ToolName } from "./definitions.js";
import {
handleSearXNGSearch,
handleSearXNGImages,
handleSearXNGNews,
} from "./handlers.js";
type ToolHandler = (args: unknown) => Promise<string>;
/**
* Tool handler dispatch table
*/
const toolHandlers: Record<ToolName, ToolHandler> = {
searxng_search: handleSearXNGSearch,
searxng_images: handleSearXNGImages,
searxng_news: handleSearXNGNews,
};
/**
* Dispatch a tool call to the appropriate handler
*/
export async function dispatchTool(
name: string,
args: unknown
): Promise<string> {
const handler = toolHandlers[name as ToolName];
if (!handler) {
throw new Error(`Unknown tool: ${name}`);
}
return handler(args);
}