import type { z } from "zod"; import type { OutputFormatter } from "../utils/schema-utils"; export interface FunctionRegistryEntry { name: string; /** * Human-readable description of the function. Surfaced as CLI help text, * MCP tool description, and README documentation. Prefer providing this * directly rather than relying solely on inputSchema.describe(). */ description?: string; type?: "list" | "item" | "create" | "update" | "delete" | "function"; itemType?: string; returnType?: string; inputSchema?: z.ZodSchema; inputParameters?: Array<{ name: string; schema: z.ZodSchema; }>; outputSchema?: z.ZodSchema; categories: string[]; resolvers?: Record; packages?: string[]; /** * True if the plugin is registered only in the experimental SDK * factory. See `PluginMeta.experimental`. */ experimental?: boolean; /** Confirmation prompt type - prompts user before executing */ confirm?: "create-secret" | "delete"; /** * Optional deprecation metadata for commands. */ deprecation?: FunctionDeprecation; /** Short flag aliases for CLI options (e.g., { request: "X", header: "H" }) */ aliases?: Record; /** Output formatter with optional page-level enrichment (mirrors resolvers for output) */ formatter?: OutputFormatter; /** Defaults to true. Set to false to suppress --json (e.g. login/logout/init). */ supportsJsonOutput: boolean; } export interface FunctionDeprecation { /** User-facing deprecation message for why/how to migrate */ message: string; } export interface RegistryResult { functions: FunctionRegistryEntry[]; categories: { key: string; title: string; titlePlural: string; functions: string[]; }[]; } //# sourceMappingURL=registry.d.ts.map