mirror of
https://github.com/czlonkowski/n8n-mcp.git
synced 2026-01-30 06:22:04 +00:00
58 lines
1.8 KiB
TypeScript
58 lines
1.8 KiB
TypeScript
import { LRUCache } from 'lru-cache';
|
|
export interface CacheMetrics {
|
|
hits: number;
|
|
misses: number;
|
|
evictions: number;
|
|
sets: number;
|
|
deletes: number;
|
|
clears: number;
|
|
size: number;
|
|
maxSize: number;
|
|
avgHitRate: number;
|
|
createdAt: Date;
|
|
lastResetAt: Date;
|
|
}
|
|
export interface CacheConfig {
|
|
max: number;
|
|
ttlMinutes: number;
|
|
}
|
|
declare class CacheMetricsTracker {
|
|
private metrics;
|
|
private startTime;
|
|
constructor();
|
|
reset(): void;
|
|
recordHit(): void;
|
|
recordMiss(): void;
|
|
recordEviction(): void;
|
|
recordSet(): void;
|
|
recordDelete(): void;
|
|
recordClear(): void;
|
|
updateSize(current: number, max: number): void;
|
|
private updateHitRate;
|
|
getMetrics(): CacheMetrics;
|
|
getFormattedMetrics(): string;
|
|
}
|
|
export declare const cacheMetrics: CacheMetricsTracker;
|
|
export declare function getCacheConfig(): CacheConfig;
|
|
export declare function createCacheKey(input: string): string;
|
|
export declare function createInstanceCache<T extends {}>(onDispose?: (value: T, key: string) => void): LRUCache<string, T>;
|
|
export declare class CacheMutex {
|
|
private locks;
|
|
private lockTimeouts;
|
|
private readonly timeout;
|
|
acquire(key: string): Promise<() => void>;
|
|
isLocked(key: string): boolean;
|
|
clearAll(): void;
|
|
}
|
|
export interface RetryConfig {
|
|
maxAttempts: number;
|
|
baseDelayMs: number;
|
|
maxDelayMs: number;
|
|
jitterFactor: number;
|
|
}
|
|
export declare const DEFAULT_RETRY_CONFIG: RetryConfig;
|
|
export declare function calculateBackoffDelay(attempt: number, config?: RetryConfig): number;
|
|
export declare function withRetry<T>(fn: () => Promise<T>, config?: RetryConfig, context?: string): Promise<T>;
|
|
export declare function getCacheStatistics(): string;
|
|
export {};
|
|
//# sourceMappingURL=cache-utils.d.ts.map
|