import type { OllamaToolDefinition } from "@/lib/ollama";

export interface ToolContext {
  userId: string;
  searxngUrl: string;
}

export interface ToolResult {
  content: string;
  error?: string;
  meta?: Record<string, unknown>;
}

export type ToolHandler = (
  args: Record<string, unknown>,
  ctx: ToolContext,
) => Promise<ToolResult>;

export interface ToolEntry {
  name: string;
  definition: OllamaToolDefinition;
  handler: ToolHandler;
}
