UNPKG

@toolprint/hypertool-mcp

Version:

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

79 lines • 1.95 kB
/** * Tool cache implementation using node-cache with TTL support */ import { EventEmitter } from "events"; import { IToolCache, DiscoveredTool, DiscoveryConfig } from "./types.js"; /** * Tool cache implementation using node-cache with TTL and server indexing */ export declare class ToolCache extends EventEmitter implements IToolCache { private cache; private serverIndex; private stats; private config; constructor(config: DiscoveryConfig); /** * Store a tool in the cache */ set(key: string, tool: DiscoveredTool, ttl?: number): Promise<void>; /** * Retrieve a tool from the cache */ get(key: string): Promise<DiscoveredTool | null>; /** * Check if a tool exists in cache */ has(key: string): Promise<boolean>; /** * Remove a tool from cache */ delete(key: string): Promise<void>; /** * Clear all tools for a server */ clearServer(serverName: string): Promise<void>; /** * Clear entire cache */ clear(): Promise<void>; /** * Get tools by server name */ getToolsByServer(serverName: string): DiscoveredTool[]; /** * Get all cached tools */ getAllTools(): DiscoveredTool[]; /** * Get cache statistics */ getStats(): Promise<{ size: number; hitRate: number; missRate: number; }>; /** * Get internal cache statistics */ getCacheStats(): { keys: number; serverCount: number; hits: number; misses: number; sets: number; deletes: number; }; /** * Manually trigger cleanup of expired entries */ cleanupExpiredEntries(): Promise<void>; /** * Destroy the cache and cleanup resources */ destroy(): void; /** * Remove a key from the server index */ private removeFromServerIndex; } //# sourceMappingURL=cache.d.ts.map