import { z } from "zod"; import { ToolContextSchema } from "./schemas"; import { ToolAnnotations } from "@modelcontextprotocol/sdk/types"; export type RecipeName = "userroles" | "usermetadata" | "multitenancy" | "emailpassword" | "passwordless"; export interface Tool { name: string; annotations: ToolAnnotations; description: string; input: z.ZodObject; handler: (input: any, context: ToolContext) => Promise>; recipes: RecipeName[]; } export type ToolContext = z.infer;