/** * Smart CLI argument parser for MCP tools * Supports positional, --named, and --key=value argument styles * Automatically type-coerces values based on schema */ export interface ToolSchema { properties?: Record; required?: string[]; } /** * Parses CLI arguments into tool parameters using the schema * Supports multiple formats: * - Positional: tool_name value1 value2 * - Named: tool_name --param1 value1 --param2 value2 * - Key=value: tool_name --param1=value1 --param2=value2 * - Mixed: tool_name value1 --param2 value2 --param3=value3 */ export declare class ParameterParser { /** * Parse CLI arguments into tool parameters */ parse(args: string[], schema: ToolSchema): Record; /** * Get positional parameter order from schema * Order: required params first (alphabetically), then optional params (alphabetically) */ private getPositionalOrder; /** * Normalize parameter names (e.g., convert kebab-case to camelCase if needed) * For now, just use as-is since the schema uses the parameter names directly */ private normalizeParamName; /** * Type-coerce parsed string values to appropriate types based on schema */ private coerceTypes; /** * Parse boolean values from various representations */ private parseBoolean; /** * Validate that all required parameters are provided */ validateRequired(params: Record, schema: ToolSchema): string[]; /** * Get help text for parameter parsing */ getHelpText(schema: ToolSchema): string; } //# sourceMappingURL=parameter-parser.d.ts.map