UNPKG

@toolprint/hypertool-mcp

Version:

HyperTool MCP proxy server for routing requests between clients and multiple underlying MCP servers

83 lines • 2.33 kB
/** * Hashing utilities for tool identity and change detection */ import { DiscoveredTool, MCPToolDefinition, ToolChangeInfo } from "./types.js"; /** * Tool hash utility class */ export declare class ToolHashUtils { /** * Calculate tool hash for identity and change detection */ static calculateToolHash(tool: DiscoveredTool | MCPToolDefinition, serverName?: string): string; /** * Calculate hash for a list of tools (server tools hash) */ static calculateServerToolsHash(tools: DiscoveredTool[]): string; /** * Compare tools and detect changes */ static detectToolChanges(previousTools: DiscoveredTool[], currentTools: DiscoveredTool[]): ToolChangeInfo[]; /** * Create tool with hash from MCP tool definition */ static createHashedTool(toolDef: MCPToolDefinition, serverName: string, namespacedName: string): DiscoveredTool; /** * Update tool hash after modification */ static updateToolHash(tool: DiscoveredTool): DiscoveredTool; /** * Get summary of tool changes */ static summarizeChanges(changes: ToolChangeInfo[]): { added: number; updated: number; removed: number; unchanged: number; total: number; }; /** * Hash an object to a hex string */ private static hashObject; } /** * Tool hash manager for tracking tool changes over time */ export declare class ToolHashManager { private hashHistory; private maxHistorySize; /** * Add tool hash to history */ addToHistory(tool: DiscoveredTool): void; /** * Get hash history for a tool */ getHistory(namespacedName: string): string[]; /** * Check if tool has changed since last known version */ hasChanged(tool: DiscoveredTool): boolean; /** * Get tools that have changed */ getChangedTools(tools: DiscoveredTool[]): DiscoveredTool[]; /** * Clear history for a tool */ clearHistory(namespacedName: string): void; /** * Clear all history */ clearAllHistory(): void; /** * Get statistics about hash history */ getStats(): { totalTools: number; averageHistorySize: number; maxHistorySize: number; }; } //# sourceMappingURL=hashUtils.d.ts.map