import type { z } from "zod"; import type { MethodResult } from "../../registry.js"; export interface ToolAnnotations { title?: string; readOnlyHint?: boolean; destructiveHint?: boolean; idempotentHint?: boolean; openWorldHint?: boolean; } export interface McpAdapter { toolName: string; description?: string; params?: z.ZodType; annotations?: ToolAnnotations; inject?: (session: Record) => Record; requiresJoin?: boolean; afterMcp?: (result: MethodResult, session: Record, addCleanup: (fn: () => void) => void) => Promise; }