@toolprint/hypertool-mcp
Version:
HyperTool MCP proxy server for routing requests between clients and multiple underlying MCP servers
79 lines • 1.95 kB
TypeScript
/**
* 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