import { z } from 'zod'; import { RequestContext } from "../utils/internal/requestContext.js"; import { McpToolResponse } from './mcp.js'; /** * Base interface for tool input parameters */ export interface BaseToolInput { [key: string]: unknown; } /** * Base interface for tool response content */ export interface BaseToolResponse { [key: string]: unknown; } /** * Interface for tool registration options */ export interface ToolRegistrationOptions { /** Zod schema for input validation */ inputSchema: z.ZodType; /** Description of the tool */ description: string; /** Example usage scenarios */ examples?: { name: string; input: TInput; description?: string; }[]; } /** * Interface for a tool handler function */ export type ToolHandler = (input: TInput, context: RequestContext) => Promise;