/** * MCP Approval Cache Service * * Caches MCP server approval decisions for session or persistent reuse. * Prevents repeated approval prompts for the same server. */ import type { MCPApprovalCacheEntry, MCPApprovalMemory, MCPApprovalResult } from '../types/mcp-client.types.js'; /** * MCP Approval Cache Service * * Responsibilities: * - Cache approved servers per session * - Support persistent approval storage * - Check if approval already granted before prompting * - Handle approval expiry */ export declare class MCPApprovalCacheService { private persistentCachePath; private persistentCache; private persistentCacheLoaded; private sessionCache; private sessionStartTime; constructor(persistentCachePath?: string); /** * Check if a server is approved */ isApproved(serverId: string): boolean; /** * Get cached approval entry for a server */ getApproval(serverId: string): MCPApprovalCacheEntry | null; /** * Get allowed tools for an approved server */ getAllowedTools(serverId: string): null | string[]; /** * Cache an approval decision */ cacheApproval(serverId: string, result: MCPApprovalResult, memoryType: MCPApprovalMemory): Promise; /** * Revoke approval for a server */ revokeApproval(serverId: string): Promise; /** * Clear all session approvals */ clearSessionApprovals(): void; /** * Clear all approvals (session and persistent) */ clearAllApprovals(): Promise; /** * Load persistent cache from disk */ loadPersistentCache(): Promise; /** * Save persistent cache to disk */ private savePersistentCache; /** * Check if a session cache entry is still valid */ private isSessionEntryValid; /** * Check if a persistent cache entry is still valid */ private isPersistentEntryValid; /** * Calculate expiry time based on memory type */ private calculateExpiry; /** * Get cache statistics */ getStats(): { persistentCount: number; sessionCount: number; }; } /** * Get the MCP Approval Cache service instance */ export declare function getMCPApprovalCache(cachePath?: string): MCPApprovalCacheService; /** * Reset the singleton (for testing) */ export declare function resetMCPApprovalCache(): void; //# sourceMappingURL=mcp-approval-cache.service.d.ts.map