/** * NeuroLink SDK Tool Registration API * Simple interface for developers to register custom tools */ import { z } from "zod"; import type { JsonValue, MCPServerCategory, MCPServerInfo, SDKToolContext, SdkSimpleTool, ZodUnknownSchema } from "../types/index.js"; /** * Enhanced validation configuration */ declare const VALIDATION_CONFIG: { readonly NAME_MIN_LENGTH: 2; readonly NAME_MAX_LENGTH: number; readonly DESCRIPTION_MIN_LENGTH: 10; readonly DESCRIPTION_MAX_LENGTH: number; readonly RESERVED_NAMES: Set; readonly RECOMMENDED_PATTERNS: readonly ["get_data", "fetch_info", "calculate_value", "send_message", "create_item", "update_record", "delete_file", "validate_input"]; readonly COMPILED_PATTERN_REGEXES: RegExp[]; }; /** * Creates a MCPServerInfo from a set of tools */ export declare function createMCPServerFromTools(serverId: string, tools: Record, metadata?: { title?: string; description?: string; category?: MCPServerCategory; version?: string; author?: string; [key: string]: JsonValue | undefined; }): MCPServerInfo; /** * Helper to create a tool with type safety */ export declare function createTool(config: SdkSimpleTool): SdkSimpleTool; /** * Helper to create a validated tool with suggested improvements */ export declare function createValidatedTool(name: string, config: SdkSimpleTool, options?: { strict?: boolean; suggestions?: boolean; }): SdkSimpleTool; /** * Helper to create a tool with typed parameters */ export declare function createTypedTool(config: Omit & { parameters: TParams; execute: (params: z.infer, context?: SDKToolContext) => Promise | JsonValue; }): SdkSimpleTool; /** * Validate tool configuration with detailed error messages */ export declare function validateTool(name: string, tool: SdkSimpleTool): void; /** * Utility to validate multiple tools at once */ export declare function validateTools(tools: Record): { valid: string[]; invalid: Array<{ name: string; error: string; }>; }; /** * Get validation configuration for external inspection */ export declare function getValidationConfig(): typeof VALIDATION_CONFIG; /** * Check if a tool name is available (not reserved) */ export declare function isToolNameAvailable(name: string): boolean; /** * Suggest alternative tool names if the provided name is invalid */ export declare function suggestToolNames(baseName: string): string[]; export {};