vibe-coder-mcp
Version:
Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.
98 lines • 2.92 kB
TypeScript
import { VibeTaskManagerConfig } from './config-loader.js';
export interface CacheEntry<T> {
key: string;
value: T;
timestamp: Date;
ttl: number;
accessCount: number;
lastAccessed: Date;
size: number;
tags: string[];
}
export interface CacheStatistics {
totalEntries: number;
memoryEntries: number;
diskEntries: number;
hitRate: number;
missRate: number;
totalHits: number;
totalMisses: number;
totalMemoryUsage: number;
totalDiskUsage: number;
averageAccessTime: number;
evictionCount: number;
}
export interface CacheWarmingConfig {
enabled: boolean;
strategies: ('preload' | 'predictive' | 'scheduled')[];
preloadPatterns: string[];
predictiveThreshold: number;
scheduledInterval: number;
}
export type EvictionPolicy = 'lru' | 'lfu' | 'ttl' | 'size' | 'hybrid';
export interface MultiLevelCacheConfig {
strategy: 'memory' | 'disk' | 'hybrid';
memoryConfig: {
maxEntries: number;
maxMemoryUsage: number;
evictionPolicy: EvictionPolicy;
};
diskConfig: {
enabled: boolean;
directory: string;
maxDiskUsage: number;
compression: boolean;
};
warming: CacheWarmingConfig;
consistency: {
enabled: boolean;
syncInterval: number;
conflictResolution: 'memory' | 'disk' | 'timestamp';
};
}
export declare class MultiLevelCache<T> {
private memoryCache;
private accessOrder;
private accessFrequency;
private config;
private stats;
private accessCounter;
private warmingInterval;
private syncInterval;
private memoryManager;
constructor(config: MultiLevelCacheConfig);
get(key: string): Promise<T | null>;
set(key: string, value: T, ttl?: number, tags?: string[]): Promise<void>;
delete(key: string): Promise<boolean>;
clearByTags(tags: string[]): Promise<number>;
private isExpired;
private updateAccessMetrics;
private evictIfNecessary;
private evictEntries;
private selectLRUEntries;
private selectLFUEntries;
private selectTTLEntries;
private selectSizeEntries;
private selectHybridEntries;
private calculateEvictionScore;
private getDiskEntry;
private setDiskEntry;
private deleteDiskEntry;
private estimateSize;
private calculateMemoryUsage;
private updateStats;
private updateHitRate;
private updateAverageAccessTime;
private startCacheWarming;
private performCacheWarming;
private startConsistencySync;
private performConsistencySync;
private performCleanup;
getStatistics(): CacheStatistics;
clear(): Promise<void>;
shutdown(): Promise<void>;
}
export declare class CacheFactory {
static createCache<T>(name: string, config: VibeTaskManagerConfig['taskManager']['performance']['caching']): MultiLevelCache<T>;
}
//# sourceMappingURL=cache-utils.d.ts.map