@juspay/neurolink
Version:
Universal AI Development Platform with working MCP integration, multi-provider support, voice (TTS/STT/realtime), and professional CLI. 58+ external MCP servers discoverable, multimodal file processing, RAG pipelines. Build, test, and deploy AI applicatio
75 lines (74 loc) • 2.6 kB
TypeScript
/**
* 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<string>;
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<string, SdkSimpleTool>, 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<TParams extends ZodUnknownSchema>(config: Omit<SdkSimpleTool, "execute"> & {
parameters: TParams;
execute: (params: z.infer<TParams>, context?: SDKToolContext) => Promise<JsonValue> | 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<string, SdkSimpleTool>): {
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 {};