UNPKG

polyv-live-cli

Version:

CLI tool for managing PolyV live streaming services.

75 lines 2.38 kB
import { EventEmitter } from 'events'; export interface ChangeDetectionConfig { sampleSize: number; minSampleInterval: number; changeThreshold: number; deepComparison: boolean; patternRecognition: boolean; } export interface ChangeDetectionResult { hasChanged: boolean; changeType: 'none' | 'minor' | 'major' | 'structural'; confidence: number; currentHash: string; previousHash?: string; changeDetails?: { addedFields: string[]; removedFields: string[]; modifiedFields: string[]; sizeChange: number; }; } export interface PatternAnalysis { patternType: 'stable' | 'periodic' | 'volatile' | 'trending'; strength: number; nextChangeTime?: number; changeFrequency: number; volatility: number; } interface DataSample { timestamp: number; dataHash: string; changeType: string; confidence: number; size: number; } export interface DataSourceActivity { dataSourceId: string; activityLevel: 'static' | 'low' | 'medium' | 'high' | 'volatile'; pattern: PatternAnalysis; recommendedInterval: number; confidence: number; } export declare class ChangeDetector extends EventEmitter { private config; private dataSamples; private lastKnownHashes; private patternCache; private cacheExpiry; constructor(config?: Partial<ChangeDetectionConfig>); detectChange(dataSourceId: string, currentData: any, previousData?: any): ChangeDetectionResult; analyzePattern(dataSourceId: string): PatternAnalysis; classifyActivity(dataSourceId: string): DataSourceActivity; getSamples(dataSourceId: string): DataSample[]; clearSamples(dataSourceId: string): void; getStatistics(): { totalDataSources: number; totalSamples: number; activityDistribution: Record<string, number>; patternDistribution: Record<string, number>; }; private generateDataHash; private performDeepComparison; private performPatternAnalysis; private calculateVolatility; private detectPatternType; private isPeriodicPattern; private isTrendingPattern; private calculatePatternStrength; private predictNextChangeTime; private calculateClassificationConfidence; private estimateDataSize; private recordSample; } export {}; //# sourceMappingURL=change-detector.d.ts.map