UNPKG

@simonecoelhosfo/optimizely-mcp-server

Version:

Optimizely MCP Server for AI assistants with integrated CLI tools

109 lines 2.38 kB
/** * PatternCache - High-performance caching for parsed queries * * IMPLEMENTATION STATUS: * COMPLETE: LRU cache with TTL and performance metrics * * Last Updated: July 3, 2025 */ import { ParseResult } from '../types/index.js'; export interface CacheEntry { key: string; query: string; result: ParseResult; timestamp: number; hits: number; parseTime: number; } export interface CacheStats { hits: number; misses: number; evictions: number; avgParseTime: number; avgCachedTime: number; cacheSize: number; hitRate: number; } export declare class PatternCache { private cache; private readonly maxSize; private readonly ttl; private stats; private parseTimeSum; private parseCount; private cachedTimeSum; private cachedCount; constructor(config?: { maxSize?: number; ttl?: number; }); /** * Get cached parse result */ get(query: string): ParseResult | null; /** * Store parse result in cache */ set(query: string, result: ParseResult, parseTime: number): void; /** * Clear cache */ clear(): void; /** * Get cache statistics */ getStats(): CacheStats; /** * Get top queries by hit count */ getTopQueries(limit?: number): Array<{ query: string; hits: number; lastAccessed: Date; }>; /** * Warm cache with common queries */ warmCache(commonQueries: Array<{ query: string; result: ParseResult; }>): void; /** * Generate cache key from query */ private generateKey; /** * Evict oldest entry (LRU) */ private evictOldest; /** * Update statistics */ private updateStats; /** * Reset statistics */ private resetStats; /** * Export cache for persistence */ export(): Array<{ query: string; result: ParseResult; hits: number; }>; /** * Import cache from persistence */ import(data: Array<{ query: string; result: ParseResult; hits?: number; }>): void; } export declare function getGlobalCache(): PatternCache; /** * Pre-warm cache with common patterns */ export declare function warmCacheWithCommonPatterns(): void; //# sourceMappingURL=PatternCache.d.ts.map