import type { Prompt, PromptMessage } from "../mcp/20251125/types.js"; import type { InputParamValidator, ParsedData } from "../server/types.js"; /** * PromptGenerator is a function that takes validated arguments and returns * an array of prompt messages. This is analogous to a tool handler. */ export type PromptGenerator> = (args: ParsedData) => Promise | PromptMessage[]; /** * Configuration for registering a prompt with the MCP server. * Similar to ToolConfig but for prompts. */ export interface PromptConfig> { /** * The name of the prompt */ name: string; /** * An optional description of what this prompt provides */ description?: string; /** * Validator for prompt arguments */ validator: V; /** * Function that generates prompt messages from validated arguments */ generator: PromptGenerator; } /** * Internal MCP server storage object for a registered prompt */ export type RegisteredPrompt = InputParamValidator> = { prompt: Prompt; validator: V; generator: PromptGenerator; };