UNPKG

@sirmrmarty/n8n-nodes-tmux-orchestrator

Version:

n8n nodes for orchestrating Claude AI agents through tmux sessions

96 lines (95 loc) 3.03 kB
export interface CacheConfig { maxSize?: number; maxAge?: number; updateAgeOnGet?: boolean; } export interface ConnectionPoolConfig { maxConnections?: number; idleTimeout?: number; acquireTimeout?: number; } export interface PerformanceMetrics { cacheHits: number; cacheMisses: number; averageExecutionTime: number; activeConnections: number; queuedRequests: number; } export declare class PerformanceCache<T> { private cache; private hits; private misses; constructor(config?: CacheConfig); set(key: string, value: T, ttl?: number): void; get(key: string): T | undefined; has(key: string): boolean; delete(key: string): boolean; clear(): void; getMetrics(): { hits: number; misses: number; hitRate: number; size: number; }; } export declare class ConnectionPool<T> { private connections; private inUse; private waiting; private createConnection; private destroyConnection; private maxConnections; private idleTimeout; private acquireTimeout; private idleTimers; constructor(createConnection: () => Promise<T>, destroyConnection: (connection: T) => Promise<void>, config?: ConnectionPoolConfig); acquire(): Promise<T>; release(connection: T): void; private setIdleTimer; private clearIdleTimer; getMetrics(): { totalConnections: number; activeConnections: number; idleConnections: number; queuedRequests: number; }; destroy(): Promise<void>; } export declare class BatchProcessor<T, R> { private batch; private batchTimeout; private processor; private maxBatchSize; private batchDelay; private waitingResolvers; constructor(processor: (items: T[]) => Promise<R[]>, maxBatchSize?: number, batchDelay?: number); process(item: T): Promise<R>; private processBatch; } export declare class PerformanceMonitor { private metrics; private executionTimes; private maxExecutionTimesSamples; recordExecutionTime(time: number): void; updateCacheMetrics(hits: number, misses: number): void; updateConnectionMetrics(active: number, queued: number): void; getMetrics(): PerformanceMetrics; getDetailedStats(): { cacheHitRate: number; executionTimeSamples: number; medianExecutionTime: number; p95ExecutionTime: number; cacheHits: number; cacheMisses: number; averageExecutionTime: number; activeConnections: number; queuedRequests: number; }; private calculateMedian; private calculatePercentile; } export declare function debounce<T extends (...args: any[]) => any>(func: T, delay: number): (...args: Parameters<T>) => Promise<ReturnType<T>>; export declare function throttle<T extends (...args: any[]) => any>(func: T, delay: number): (...args: Parameters<T>) => Promise<ReturnType<T> | null>; export declare const REQUIRED_DEPENDENCIES: { 'lru-cache': string; };