polyv-live-cli 1.1.2 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/dist/commands/index.d.ts +1 -0
  2. package/dist/commands/index.d.ts.map +1 -1
  3. package/dist/commands/index.js +3 -1
  4. package/dist/commands/index.js.map +1 -1
  5. package/dist/commands/monitor.commands.d.ts +12 -0
  6. package/dist/commands/monitor.commands.d.ts.map +1 -0
  7. package/dist/commands/monitor.commands.js +75 -0
  8. package/dist/commands/monitor.commands.js.map +1 -0
  9. package/dist/components/alert.panel.d.ts +98 -0
  10. package/dist/components/alert.panel.d.ts.map +1 -0
  11. package/dist/components/alert.panel.js +1000 -0
  12. package/dist/components/alert.panel.js.map +1 -0
  13. package/dist/components/base.component.d.ts +61 -0
  14. package/dist/components/base.component.d.ts.map +1 -0
  15. package/dist/components/base.component.js +346 -0
  16. package/dist/components/base.component.js.map +1 -0
  17. package/dist/components/batch-operations.dialog.d.ts +58 -0
  18. package/dist/components/batch-operations.dialog.d.ts.map +1 -0
  19. package/dist/components/batch-operations.dialog.js +340 -0
  20. package/dist/components/batch-operations.dialog.js.map +1 -0
  21. package/dist/components/channel-details.popup.d.ts +55 -0
  22. package/dist/components/channel-details.popup.d.ts.map +1 -0
  23. package/dist/components/channel-details.popup.js +416 -0
  24. package/dist/components/channel-details.popup.js.map +1 -0
  25. package/dist/components/channel-status.panel.d.ts +129 -0
  26. package/dist/components/channel-status.panel.d.ts.map +1 -0
  27. package/dist/components/channel-status.panel.js +858 -0
  28. package/dist/components/channel-status.panel.js.map +1 -0
  29. package/dist/components/component-registry.d.ts +36 -0
  30. package/dist/components/component-registry.d.ts.map +1 -0
  31. package/dist/components/component-registry.js +119 -0
  32. package/dist/components/component-registry.js.map +1 -0
  33. package/dist/components/context-menu-factory.d.ts +13 -0
  34. package/dist/components/context-menu-factory.d.ts.map +1 -0
  35. package/dist/components/context-menu-factory.js +341 -0
  36. package/dist/components/context-menu-factory.js.map +1 -0
  37. package/dist/components/context-menu.d.ts +54 -0
  38. package/dist/components/context-menu.d.ts.map +1 -0
  39. package/dist/components/context-menu.js +235 -0
  40. package/dist/components/context-menu.js.map +1 -0
  41. package/dist/components/grid-manager.d.ts +52 -0
  42. package/dist/components/grid-manager.d.ts.map +1 -0
  43. package/dist/components/grid-manager.js +404 -0
  44. package/dist/components/grid-manager.js.map +1 -0
  45. package/dist/components/help-panel.d.ts +34 -0
  46. package/dist/components/help-panel.d.ts.map +1 -0
  47. package/dist/components/help-panel.js +249 -0
  48. package/dist/components/help-panel.js.map +1 -0
  49. package/dist/components/index.d.ts +20 -0
  50. package/dist/components/index.d.ts.map +1 -0
  51. package/dist/components/index.js +43 -0
  52. package/dist/components/index.js.map +1 -0
  53. package/dist/components/interaction-manager.d.ts +47 -0
  54. package/dist/components/interaction-manager.d.ts.map +1 -0
  55. package/dist/components/interaction-manager.js +597 -0
  56. package/dist/components/interaction-manager.js.map +1 -0
  57. package/dist/components/layout-manager.d.ts +76 -0
  58. package/dist/components/layout-manager.d.ts.map +1 -0
  59. package/dist/components/layout-manager.js +538 -0
  60. package/dist/components/layout-manager.js.map +1 -0
  61. package/dist/components/monitoring-dashboard.d.ts +85 -0
  62. package/dist/components/monitoring-dashboard.d.ts.map +1 -0
  63. package/dist/components/monitoring-dashboard.js +908 -0
  64. package/dist/components/monitoring-dashboard.js.map +1 -0
  65. package/dist/components/search-panel.d.ts +80 -0
  66. package/dist/components/search-panel.d.ts.map +1 -0
  67. package/dist/components/search-panel.js +585 -0
  68. package/dist/components/search-panel.js.map +1 -0
  69. package/dist/components/status-bar.d.ts +77 -0
  70. package/dist/components/status-bar.d.ts.map +1 -0
  71. package/dist/components/status-bar.js +482 -0
  72. package/dist/components/status-bar.js.map +1 -0
  73. package/dist/components/status.component.d.ts +16 -0
  74. package/dist/components/status.component.d.ts.map +1 -0
  75. package/dist/components/status.component.js +79 -0
  76. package/dist/components/status.component.js.map +1 -0
  77. package/dist/components/stream-metrics.panel.d.ts +86 -0
  78. package/dist/components/stream-metrics.panel.d.ts.map +1 -0
  79. package/dist/components/stream-metrics.panel.js +395 -0
  80. package/dist/components/stream-metrics.panel.js.map +1 -0
  81. package/dist/components/system-resource.panel.d.ts +78 -0
  82. package/dist/components/system-resource.panel.d.ts.map +1 -0
  83. package/dist/components/system-resource.panel.js +642 -0
  84. package/dist/components/system-resource.panel.js.map +1 -0
  85. package/dist/components/tooltip.d.ts +35 -0
  86. package/dist/components/tooltip.d.ts.map +1 -0
  87. package/dist/components/tooltip.js +156 -0
  88. package/dist/components/tooltip.js.map +1 -0
  89. package/dist/config/config-io.d.ts +63 -0
  90. package/dist/config/config-io.d.ts.map +1 -0
  91. package/dist/config/config-io.js +352 -0
  92. package/dist/config/config-io.js.map +1 -0
  93. package/dist/config/config-manager.d.ts +51 -0
  94. package/dist/config/config-manager.d.ts.map +1 -0
  95. package/dist/config/config-manager.js +404 -0
  96. package/dist/config/config-manager.js.map +1 -0
  97. package/dist/config/config-validator.d.ts +27 -0
  98. package/dist/config/config-validator.d.ts.map +1 -0
  99. package/dist/config/config-validator.js +421 -0
  100. package/dist/config/config-validator.js.map +1 -0
  101. package/dist/config/custom-theme-builder.d.ts +88 -0
  102. package/dist/config/custom-theme-builder.d.ts.map +1 -0
  103. package/dist/config/custom-theme-builder.js +458 -0
  104. package/dist/config/custom-theme-builder.js.map +1 -0
  105. package/dist/config/layout-manager.d.ts +60 -0
  106. package/dist/config/layout-manager.d.ts.map +1 -0
  107. package/dist/config/layout-manager.js +595 -0
  108. package/dist/config/layout-manager.js.map +1 -0
  109. package/dist/config/monitoring.d.ts +27 -0
  110. package/dist/config/monitoring.d.ts.map +1 -0
  111. package/dist/config/monitoring.js +276 -0
  112. package/dist/config/monitoring.js.map +1 -0
  113. package/dist/config/theme-manager.d.ts +53 -0
  114. package/dist/config/theme-manager.d.ts.map +1 -0
  115. package/dist/config/theme-manager.js +490 -0
  116. package/dist/config/theme-manager.js.map +1 -0
  117. package/dist/handlers/monitor.handler.d.ts +28 -0
  118. package/dist/handlers/monitor.handler.d.ts.map +1 -0
  119. package/dist/handlers/monitor.handler.js +457 -0
  120. package/dist/handlers/monitor.handler.js.map +1 -0
  121. package/dist/index.d.ts +9 -1
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js +24 -3
  124. package/dist/index.js.map +1 -1
  125. package/dist/performance/adaptive-polling.d.ts +69 -0
  126. package/dist/performance/adaptive-polling.d.ts.map +1 -0
  127. package/dist/performance/adaptive-polling.js +313 -0
  128. package/dist/performance/adaptive-polling.js.map +1 -0
  129. package/dist/performance/api-analytics.d.ts +137 -0
  130. package/dist/performance/api-analytics.d.ts.map +1 -0
  131. package/dist/performance/api-analytics.js +351 -0
  132. package/dist/performance/api-analytics.js.map +1 -0
  133. package/dist/performance/api-optimizer.d.ts +66 -0
  134. package/dist/performance/api-optimizer.d.ts.map +1 -0
  135. package/dist/performance/api-optimizer.js +368 -0
  136. package/dist/performance/api-optimizer.js.map +1 -0
  137. package/dist/performance/batch-request-manager.d.ts +89 -0
  138. package/dist/performance/batch-request-manager.d.ts.map +1 -0
  139. package/dist/performance/batch-request-manager.js +351 -0
  140. package/dist/performance/batch-request-manager.js.map +1 -0
  141. package/dist/performance/change-detector.d.ts +75 -0
  142. package/dist/performance/change-detector.d.ts.map +1 -0
  143. package/dist/performance/change-detector.js +392 -0
  144. package/dist/performance/change-detector.js.map +1 -0
  145. package/dist/performance/connection-pool-manager.d.ts +99 -0
  146. package/dist/performance/connection-pool-manager.d.ts.map +1 -0
  147. package/dist/performance/connection-pool-manager.js +474 -0
  148. package/dist/performance/connection-pool-manager.js.map +1 -0
  149. package/dist/performance/error-recovery-manager.d.ts +134 -0
  150. package/dist/performance/error-recovery-manager.d.ts.map +1 -0
  151. package/dist/performance/error-recovery-manager.js +673 -0
  152. package/dist/performance/error-recovery-manager.js.map +1 -0
  153. package/dist/performance/fallback-manager.d.ts +123 -0
  154. package/dist/performance/fallback-manager.d.ts.map +1 -0
  155. package/dist/performance/fallback-manager.js +524 -0
  156. package/dist/performance/fallback-manager.js.map +1 -0
  157. package/dist/performance/index.d.ts +13 -0
  158. package/dist/performance/index.d.ts.map +1 -0
  159. package/dist/performance/index.js +28 -0
  160. package/dist/performance/index.js.map +1 -0
  161. package/dist/performance/memory-manager.d.ts +97 -0
  162. package/dist/performance/memory-manager.d.ts.map +1 -0
  163. package/dist/performance/memory-manager.js +417 -0
  164. package/dist/performance/memory-manager.js.map +1 -0
  165. package/dist/performance/performance-monitor.d.ts +149 -0
  166. package/dist/performance/performance-monitor.d.ts.map +1 -0
  167. package/dist/performance/performance-monitor.js +513 -0
  168. package/dist/performance/performance-monitor.js.map +1 -0
  169. package/dist/performance/performance-optimizer.d.ts +110 -0
  170. package/dist/performance/performance-optimizer.d.ts.map +1 -0
  171. package/dist/performance/performance-optimizer.js +476 -0
  172. package/dist/performance/performance-optimizer.js.map +1 -0
  173. package/dist/performance/render-optimizer.d.ts +95 -0
  174. package/dist/performance/render-optimizer.d.ts.map +1 -0
  175. package/dist/performance/render-optimizer.js +408 -0
  176. package/dist/performance/render-optimizer.js.map +1 -0
  177. package/dist/services/index.d.ts +1 -0
  178. package/dist/services/index.d.ts.map +1 -1
  179. package/dist/services/index.js +3 -1
  180. package/dist/services/index.js.map +1 -1
  181. package/dist/services/system-resource.service.d.ts +168 -0
  182. package/dist/services/system-resource.service.d.ts.map +1 -0
  183. package/dist/services/system-resource.service.js +544 -0
  184. package/dist/services/system-resource.service.js.map +1 -0
  185. package/dist/types/alert.d.ts +147 -0
  186. package/dist/types/alert.d.ts.map +1 -0
  187. package/dist/types/alert.js +3 -0
  188. package/dist/types/alert.js.map +1 -0
  189. package/dist/types/index.d.ts +3 -0
  190. package/dist/types/index.d.ts.map +1 -1
  191. package/dist/types/index.js +2 -0
  192. package/dist/types/index.js.map +1 -1
  193. package/dist/types/interaction.d.ts +147 -0
  194. package/dist/types/interaction.d.ts.map +1 -0
  195. package/dist/types/interaction.js +3 -0
  196. package/dist/types/interaction.js.map +1 -0
  197. package/dist/types/monitoring.d.ts +233 -0
  198. package/dist/types/monitoring.d.ts.map +1 -0
  199. package/dist/types/monitoring.js +35 -0
  200. package/dist/types/monitoring.js.map +1 -0
  201. package/dist/utils/alert-history-manager.d.ts +72 -0
  202. package/dist/utils/alert-history-manager.d.ts.map +1 -0
  203. package/dist/utils/alert-history-manager.js +492 -0
  204. package/dist/utils/alert-history-manager.js.map +1 -0
  205. package/dist/utils/alert-manager.d.ts +75 -0
  206. package/dist/utils/alert-manager.d.ts.map +1 -0
  207. package/dist/utils/alert-manager.js +348 -0
  208. package/dist/utils/alert-manager.js.map +1 -0
  209. package/dist/utils/alert-rule-manager.d.ts +51 -0
  210. package/dist/utils/alert-rule-manager.d.ts.map +1 -0
  211. package/dist/utils/alert-rule-manager.js +515 -0
  212. package/dist/utils/alert-rule-manager.js.map +1 -0
  213. package/dist/utils/data-manager.d.ts +53 -0
  214. package/dist/utils/data-manager.d.ts.map +1 -0
  215. package/dist/utils/data-manager.js +228 -0
  216. package/dist/utils/data-manager.js.map +1 -0
  217. package/dist/utils/formatter.d.ts +5 -0
  218. package/dist/utils/formatter.d.ts.map +1 -1
  219. package/dist/utils/formatter.js +19 -0
  220. package/dist/utils/formatter.js.map +1 -1
  221. package/dist/utils/index.d.ts +6 -0
  222. package/dist/utils/index.d.ts.map +1 -1
  223. package/dist/utils/index.js +6 -0
  224. package/dist/utils/index.js.map +1 -1
  225. package/dist/utils/keyboard-handler.d.ts +32 -0
  226. package/dist/utils/keyboard-handler.d.ts.map +1 -0
  227. package/dist/utils/keyboard-handler.js +193 -0
  228. package/dist/utils/keyboard-handler.js.map +1 -0
  229. package/dist/utils/mouse-handler.d.ts +61 -0
  230. package/dist/utils/mouse-handler.d.ts.map +1 -0
  231. package/dist/utils/mouse-handler.js +192 -0
  232. package/dist/utils/mouse-handler.js.map +1 -0
  233. package/dist/utils/stream-verification.d.ts.map +1 -1
  234. package/dist/utils/stream-verification.js +2 -13
  235. package/dist/utils/stream-verification.js.map +1 -1
  236. package/dist/utils/terminal.d.ts +24 -0
  237. package/dist/utils/terminal.d.ts.map +1 -0
  238. package/dist/utils/terminal.js +148 -0
  239. package/dist/utils/terminal.js.map +1 -0
  240. package/dist/utils/time-series.processor.d.ts +65 -0
  241. package/dist/utils/time-series.processor.d.ts.map +1 -0
  242. package/dist/utils/time-series.processor.js +263 -0
  243. package/dist/utils/time-series.processor.js.map +1 -0
  244. package/package.json +28 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance-monitor.js","sourceRoot":"","sources":["../../src/performance/performance-monitor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ import { EventEmitter } from 'events';
2
+ import { AdaptivePollingConfig } from './adaptive-polling';
3
+ import { RenderOptimizerConfig } from './render-optimizer';
4
+ import { MemoryManagerConfig } from './memory-manager';
5
+ import { ApiOptimizerConfig } from './api-optimizer';
6
+ import { BatchRequestConfig } from './batch-request-manager';
7
+ import { ApiAnalyticsConfig } from './api-analytics';
8
+ import { ChangeDetectionConfig } from './change-detector';
9
+ import { ConnectionPoolConfig } from './connection-pool-manager';
10
+ import { FallbackManagerConfig } from './fallback-manager';
11
+ import { PerformanceMonitorConfig } from './performance-monitor';
12
+ import { ErrorRecoveryConfig } from './error-recovery-manager';
13
+ export interface PerformanceOptimizerConfig {
14
+ enableAdaptivePolling: boolean;
15
+ enableRenderOptimization: boolean;
16
+ enableMemoryManagement: boolean;
17
+ enableApiOptimization: boolean;
18
+ enableBatchRequests: boolean;
19
+ enableApiAnalytics: boolean;
20
+ enableChangeDetection: boolean;
21
+ enableConnectionPooling: boolean;
22
+ enableFallbackManagement: boolean;
23
+ enablePerformanceMonitoring: boolean;
24
+ enableErrorRecovery: boolean;
25
+ monitoringInterval: number;
26
+ autoOptimizationThreshold: number;
27
+ adaptivePolling?: Partial<AdaptivePollingConfig>;
28
+ renderOptimizer?: Partial<RenderOptimizerConfig>;
29
+ memoryManager?: Partial<MemoryManagerConfig>;
30
+ apiOptimizer?: Partial<ApiOptimizerConfig>;
31
+ batchRequests?: Partial<BatchRequestConfig>;
32
+ apiAnalytics?: Partial<ApiAnalyticsConfig>;
33
+ changeDetection?: Partial<ChangeDetectionConfig>;
34
+ connectionPooling?: Partial<ConnectionPoolConfig>;
35
+ fallbackManagement?: Partial<FallbackManagerConfig>;
36
+ performanceMonitoring?: Partial<PerformanceMonitorConfig>;
37
+ errorRecovery?: Partial<ErrorRecoveryConfig>;
38
+ }
39
+ export interface PerformanceMetrics {
40
+ overallScore: number;
41
+ components: {
42
+ adaptivePolling?: any;
43
+ renderOptimizer?: any;
44
+ memoryManager?: any;
45
+ apiOptimizer?: any;
46
+ batchRequests?: any;
47
+ apiAnalytics?: any;
48
+ changeDetection?: any;
49
+ connectionPooling?: any;
50
+ fallbackManagement?: any;
51
+ performanceMonitoring?: any;
52
+ errorRecovery?: any;
53
+ };
54
+ recommendations: string[];
55
+ systemResources: {
56
+ cpu: number;
57
+ memory: number;
58
+ networkRequests: number;
59
+ renderFrameRate: number;
60
+ };
61
+ optimizationImpact: {
62
+ apiCallsReduced: number;
63
+ memoryFreed: number;
64
+ renderTimeImproved: number;
65
+ networkBandwidthSaved: number;
66
+ };
67
+ }
68
+ export declare class PerformanceOptimizer extends EventEmitter {
69
+ private config;
70
+ private adaptivePollingManager?;
71
+ private renderOptimizer?;
72
+ private memoryManager?;
73
+ private apiOptimizer?;
74
+ private batchRequestManager?;
75
+ private apiAnalytics?;
76
+ private changeDetector?;
77
+ private connectionPoolManager?;
78
+ private fallbackManager?;
79
+ private performanceMonitor?;
80
+ private errorRecoveryManager?;
81
+ private monitoringTimer?;
82
+ private isRunning;
83
+ private startTime;
84
+ constructor(config?: Partial<PerformanceOptimizerConfig>);
85
+ start(): void;
86
+ stop(): void;
87
+ getPerformanceMetrics(): PerformanceMetrics;
88
+ registerComponent(componentId: string, componentType: string, options?: any): void;
89
+ registerDataSource(dataSourceId: string, initialInterval?: number): void;
90
+ optimizeApiRequest(method: string, url: string, params?: Record<string, any>, body?: any, options?: any): Promise<any>;
91
+ reportDataChange(dataSourceId: string, changeData?: any): void;
92
+ markComponentDirty(componentId: string, force?: boolean): void;
93
+ registerResource(resource: any): void;
94
+ forceOptimization(): Promise<void>;
95
+ updateConfig(newConfig: Partial<PerformanceOptimizerConfig>): void;
96
+ getRecommendations(): string[];
97
+ private initializeComponents;
98
+ private setupEventHandlers;
99
+ private handleCriticalMemoryPressure;
100
+ private handleRenderQueueFull;
101
+ private handleRateLimitWarning;
102
+ private startPerformanceMonitoring;
103
+ private performPerformanceCheck;
104
+ private calculatePerformanceScore;
105
+ private generateRecommendations;
106
+ private calculateSystemResources;
107
+ private calculateOptimizationImpact;
108
+ private estimateSize;
109
+ }
110
+ //# sourceMappingURL=performance-optimizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance-optimizer.d.ts","sourceRoot":"","sources":["../../src/performance/performance-optimizer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,476 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PerformanceOptimizer = void 0;
4
+ const events_1 = require("events");
5
+ const adaptive_polling_1 = require("./adaptive-polling");
6
+ const render_optimizer_1 = require("./render-optimizer");
7
+ const memory_manager_1 = require("./memory-manager");
8
+ const api_optimizer_1 = require("./api-optimizer");
9
+ const batch_request_manager_1 = require("./batch-request-manager");
10
+ const api_analytics_1 = require("./api-analytics");
11
+ const change_detector_1 = require("./change-detector");
12
+ const connection_pool_manager_1 = require("./connection-pool-manager");
13
+ const fallback_manager_1 = require("./fallback-manager");
14
+ const performance_monitor_1 = require("./performance-monitor");
15
+ const error_recovery_manager_1 = require("./error-recovery-manager");
16
+ class PerformanceOptimizer extends events_1.EventEmitter {
17
+ constructor(config = {}) {
18
+ super();
19
+ this.isRunning = false;
20
+ this.startTime = Date.now();
21
+ this.config = {
22
+ enableAdaptivePolling: true,
23
+ enableRenderOptimization: true,
24
+ enableMemoryManagement: true,
25
+ enableApiOptimization: true,
26
+ enableBatchRequests: true,
27
+ enableApiAnalytics: true,
28
+ enableChangeDetection: true,
29
+ enableConnectionPooling: true,
30
+ enableFallbackManagement: true,
31
+ enablePerformanceMonitoring: true,
32
+ enableErrorRecovery: true,
33
+ monitoringInterval: 10000,
34
+ autoOptimizationThreshold: 70,
35
+ ...config,
36
+ };
37
+ this.initializeComponents();
38
+ this.setupEventHandlers();
39
+ }
40
+ start() {
41
+ if (this.isRunning) {
42
+ return;
43
+ }
44
+ this.isRunning = true;
45
+ this.startTime = Date.now();
46
+ if (this.config.enableAdaptivePolling && this.adaptivePollingManager) {
47
+ this.adaptivePollingManager.start();
48
+ }
49
+ if (this.config.enableRenderOptimization && this.renderOptimizer) {
50
+ this.renderOptimizer.start();
51
+ }
52
+ if (this.config.enableMemoryManagement && this.memoryManager) {
53
+ this.memoryManager.start();
54
+ }
55
+ if (this.config.enableApiAnalytics && this.apiAnalytics) {
56
+ this.apiAnalytics.start();
57
+ }
58
+ if (this.config.enableBatchRequests && this.batchRequestManager) {
59
+ this.batchRequestManager.start();
60
+ }
61
+ if (this.config.enableConnectionPooling && this.connectionPoolManager) {
62
+ this.connectionPoolManager.start();
63
+ }
64
+ if (this.config.enableFallbackManagement && this.fallbackManager) {
65
+ this.fallbackManager.start();
66
+ }
67
+ if (this.config.enablePerformanceMonitoring && this.performanceMonitor) {
68
+ this.performanceMonitor.start();
69
+ }
70
+ if (this.config.enableErrorRecovery && this.errorRecoveryManager) {
71
+ this.errorRecoveryManager.start();
72
+ }
73
+ this.startPerformanceMonitoring();
74
+ this.emit('optimizerStarted', {
75
+ timestamp: Date.now(),
76
+ config: this.config,
77
+ });
78
+ }
79
+ stop() {
80
+ if (!this.isRunning) {
81
+ return;
82
+ }
83
+ this.isRunning = false;
84
+ if (this.monitoringTimer) {
85
+ clearInterval(this.monitoringTimer);
86
+ this.monitoringTimer = undefined;
87
+ }
88
+ if (this.adaptivePollingManager) {
89
+ this.adaptivePollingManager.stop();
90
+ }
91
+ if (this.renderOptimizer) {
92
+ this.renderOptimizer.stop();
93
+ }
94
+ if (this.memoryManager) {
95
+ this.memoryManager.stop();
96
+ }
97
+ if (this.apiAnalytics) {
98
+ this.apiAnalytics.stop();
99
+ }
100
+ if (this.batchRequestManager) {
101
+ this.batchRequestManager.stop();
102
+ }
103
+ if (this.connectionPoolManager) {
104
+ this.connectionPoolManager.stop();
105
+ }
106
+ if (this.fallbackManager) {
107
+ this.fallbackManager.stop();
108
+ }
109
+ if (this.performanceMonitor) {
110
+ this.performanceMonitor.stop();
111
+ }
112
+ if (this.errorRecoveryManager) {
113
+ this.errorRecoveryManager.stop();
114
+ }
115
+ const finalMetrics = this.getPerformanceMetrics();
116
+ const uptime = Date.now() - this.startTime;
117
+ this.emit('optimizerStopped', {
118
+ timestamp: Date.now(),
119
+ uptime,
120
+ finalMetrics,
121
+ });
122
+ }
123
+ getPerformanceMetrics() {
124
+ const components = {};
125
+ if (this.adaptivePollingManager) {
126
+ components.adaptivePolling = this.adaptivePollingManager.getStats();
127
+ }
128
+ if (this.renderOptimizer) {
129
+ components.renderOptimizer = this.renderOptimizer.getMetrics();
130
+ }
131
+ if (this.memoryManager) {
132
+ components.memoryManager = this.memoryManager.getStats();
133
+ }
134
+ if (this.apiOptimizer) {
135
+ components.apiOptimizer = this.apiOptimizer.getStats();
136
+ }
137
+ if (this.batchRequestManager) {
138
+ components.batchRequests = this.batchRequestManager.getStats();
139
+ }
140
+ if (this.apiAnalytics) {
141
+ components.apiAnalytics = this.apiAnalytics.getPerformanceMetrics();
142
+ }
143
+ if (this.changeDetector) {
144
+ components.changeDetection = this.changeDetector.getStatistics();
145
+ }
146
+ if (this.connectionPoolManager) {
147
+ components.connectionPooling = this.connectionPoolManager.getStats();
148
+ }
149
+ if (this.fallbackManager) {
150
+ components.fallbackManagement = this.fallbackManager.getStats();
151
+ }
152
+ if (this.performanceMonitor) {
153
+ components.performanceMonitoring = this.performanceMonitor.getMetrics();
154
+ }
155
+ if (this.errorRecoveryManager) {
156
+ components.errorRecovery = this.errorRecoveryManager.getStatistics();
157
+ }
158
+ const overallScore = this.calculatePerformanceScore(components);
159
+ const recommendations = this.generateRecommendations(components, overallScore);
160
+ const systemResources = this.calculateSystemResources(components);
161
+ const optimizationImpact = this.calculateOptimizationImpact(components);
162
+ return {
163
+ overallScore,
164
+ components,
165
+ recommendations,
166
+ systemResources,
167
+ optimizationImpact,
168
+ };
169
+ }
170
+ registerComponent(componentId, componentType, options) {
171
+ if (this.renderOptimizer) {
172
+ this.renderOptimizer.registerComponent(componentId, componentType, options);
173
+ }
174
+ }
175
+ registerDataSource(dataSourceId, initialInterval) {
176
+ if (this.adaptivePollingManager) {
177
+ this.adaptivePollingManager.registerDataSource(dataSourceId, initialInterval);
178
+ }
179
+ }
180
+ async optimizeApiRequest(method, url, params, body, options) {
181
+ const requestId = `req_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
182
+ const startTime = performance.now();
183
+ try {
184
+ let result;
185
+ if (this.config.enableBatchRequests && this.batchRequestManager) {
186
+ result = await this.batchRequestManager.addRequest(method, url, params, body, options);
187
+ }
188
+ else if (this.config.enableApiOptimization && this.apiOptimizer) {
189
+ result = await this.apiOptimizer.optimizeRequest(method, url, params, body, options);
190
+ }
191
+ else {
192
+ result = { method, url, params, body, timestamp: Date.now() };
193
+ }
194
+ const responseTime = performance.now() - startTime;
195
+ if (this.apiAnalytics) {
196
+ this.apiAnalytics.recordRequest(requestId, method, url, responseTime, {
197
+ success: true,
198
+ requestSize: this.estimateSize(params, body),
199
+ responseSize: this.estimateSize(result),
200
+ });
201
+ }
202
+ return result;
203
+ }
204
+ catch (error) {
205
+ const responseTime = performance.now() - startTime;
206
+ if (this.apiAnalytics) {
207
+ this.apiAnalytics.recordRequest(requestId, method, url, responseTime, {
208
+ success: false,
209
+ error: error instanceof Error ? error.message : 'Unknown error',
210
+ requestSize: this.estimateSize(params, body),
211
+ });
212
+ }
213
+ throw error;
214
+ }
215
+ }
216
+ reportDataChange(dataSourceId, changeData) {
217
+ if (this.adaptivePollingManager) {
218
+ this.adaptivePollingManager.reportDataChange(dataSourceId, changeData);
219
+ }
220
+ if (this.changeDetector) {
221
+ this.changeDetector.detectChange(dataSourceId, changeData);
222
+ }
223
+ }
224
+ markComponentDirty(componentId, force = false) {
225
+ if (this.renderOptimizer) {
226
+ this.renderOptimizer.markDirty(componentId, force);
227
+ }
228
+ }
229
+ registerResource(resource) {
230
+ if (this.memoryManager) {
231
+ this.memoryManager.registerResource(resource);
232
+ }
233
+ }
234
+ async forceOptimization() {
235
+ this.emit('optimizationStarted', {
236
+ timestamp: Date.now(),
237
+ });
238
+ if (this.memoryManager) {
239
+ await this.memoryManager.forceCleanup();
240
+ }
241
+ if (this.renderOptimizer) {
242
+ await this.renderOptimizer.flushRenders();
243
+ }
244
+ if (this.batchRequestManager) {
245
+ await this.batchRequestManager.flushPendingRequests();
246
+ }
247
+ if (this.apiOptimizer) {
248
+ this.apiOptimizer.invalidateCache();
249
+ }
250
+ this.emit('optimizationCompleted', {
251
+ timestamp: Date.now(),
252
+ metrics: this.getPerformanceMetrics(),
253
+ });
254
+ }
255
+ updateConfig(newConfig) {
256
+ this.config = { ...this.config, ...newConfig };
257
+ if (newConfig.adaptivePolling && this.adaptivePollingManager) {
258
+ }
259
+ if (newConfig.renderOptimizer && this.renderOptimizer) {
260
+ this.renderOptimizer.updateConfig(newConfig.renderOptimizer);
261
+ }
262
+ if (newConfig.memoryManager && this.memoryManager) {
263
+ this.memoryManager.updateConfig(newConfig.memoryManager);
264
+ }
265
+ if (newConfig.apiOptimizer && this.apiOptimizer) {
266
+ this.apiOptimizer.updateConfig(newConfig.apiOptimizer);
267
+ }
268
+ if (newConfig.batchRequests && this.batchRequestManager) {
269
+ this.batchRequestManager.updateConfig(newConfig.batchRequests);
270
+ }
271
+ if (newConfig.apiAnalytics && this.apiAnalytics) {
272
+ this.apiAnalytics.updateConfig(newConfig.apiAnalytics);
273
+ }
274
+ this.emit('configUpdated', {
275
+ config: this.config,
276
+ timestamp: Date.now(),
277
+ });
278
+ }
279
+ getRecommendations() {
280
+ const metrics = this.getPerformanceMetrics();
281
+ return metrics.recommendations;
282
+ }
283
+ initializeComponents() {
284
+ if (this.config.enableAdaptivePolling) {
285
+ this.adaptivePollingManager = new adaptive_polling_1.AdaptivePollingManager(this.config.adaptivePolling);
286
+ }
287
+ if (this.config.enableRenderOptimization) {
288
+ this.renderOptimizer = new render_optimizer_1.RenderOptimizer(this.config.renderOptimizer);
289
+ }
290
+ if (this.config.enableMemoryManagement) {
291
+ this.memoryManager = new memory_manager_1.MemoryManager(this.config.memoryManager);
292
+ }
293
+ if (this.config.enableApiOptimization) {
294
+ this.apiOptimizer = new api_optimizer_1.ApiOptimizer(this.config.apiOptimizer);
295
+ }
296
+ if (this.config.enableBatchRequests) {
297
+ this.batchRequestManager = new batch_request_manager_1.BatchRequestManager(this.config.batchRequests);
298
+ }
299
+ if (this.config.enableApiAnalytics) {
300
+ this.apiAnalytics = new api_analytics_1.ApiAnalytics(this.config.apiAnalytics);
301
+ }
302
+ if (this.config.enableChangeDetection) {
303
+ this.changeDetector = new change_detector_1.ChangeDetector(this.config.changeDetection);
304
+ }
305
+ if (this.config.enableConnectionPooling) {
306
+ this.connectionPoolManager = new connection_pool_manager_1.ConnectionPoolManager(this.config.connectionPooling);
307
+ }
308
+ if (this.config.enableFallbackManagement) {
309
+ this.fallbackManager = new fallback_manager_1.FallbackManager(this.config.fallbackManagement);
310
+ }
311
+ if (this.config.enablePerformanceMonitoring) {
312
+ this.performanceMonitor = new performance_monitor_1.PerformanceMonitor(this.config.performanceMonitoring);
313
+ }
314
+ if (this.config.enableErrorRecovery) {
315
+ this.errorRecoveryManager = new error_recovery_manager_1.ErrorRecoveryManager(this.config.errorRecovery);
316
+ }
317
+ }
318
+ setupEventHandlers() {
319
+ if (this.memoryManager) {
320
+ this.memoryManager.on('criticalMemoryPressure', () => {
321
+ this.handleCriticalMemoryPressure();
322
+ });
323
+ }
324
+ if (this.renderOptimizer) {
325
+ this.renderOptimizer.on('renderQueueFull', () => {
326
+ this.handleRenderQueueFull();
327
+ });
328
+ }
329
+ if (this.adaptivePollingManager) {
330
+ this.adaptivePollingManager.on('rateLimitWarning', () => {
331
+ this.handleRateLimitWarning();
332
+ });
333
+ }
334
+ }
335
+ async handleCriticalMemoryPressure() {
336
+ this.emit('criticalMemoryPressure', {
337
+ timestamp: Date.now(),
338
+ });
339
+ await this.forceOptimization();
340
+ if (this.renderOptimizer) {
341
+ this.renderOptimizer.updateConfig({
342
+ enableVirtualDom: false,
343
+ maxPendingRenders: 5,
344
+ });
345
+ }
346
+ if (this.apiOptimizer) {
347
+ this.apiOptimizer.updateConfig({
348
+ maxCacheSize: 100,
349
+ cacheTtl: 10000,
350
+ });
351
+ }
352
+ }
353
+ handleRenderQueueFull() {
354
+ this.emit('renderQueueFull', {
355
+ timestamp: Date.now(),
356
+ });
357
+ if (this.renderOptimizer) {
358
+ this.renderOptimizer.clearPendingRenders();
359
+ }
360
+ }
361
+ handleRateLimitWarning() {
362
+ this.emit('rateLimitWarning', {
363
+ timestamp: Date.now(),
364
+ });
365
+ if (this.adaptivePollingManager) {
366
+ }
367
+ }
368
+ startPerformanceMonitoring() {
369
+ this.monitoringTimer = setInterval(() => {
370
+ if (this.isRunning) {
371
+ this.performPerformanceCheck();
372
+ }
373
+ }, this.config.monitoringInterval);
374
+ }
375
+ performPerformanceCheck() {
376
+ const metrics = this.getPerformanceMetrics();
377
+ this.emit('performanceCheck', {
378
+ metrics,
379
+ timestamp: Date.now(),
380
+ });
381
+ if (metrics.overallScore < this.config.autoOptimizationThreshold) {
382
+ this.emit('autoOptimizationTriggered', {
383
+ score: metrics.overallScore,
384
+ threshold: this.config.autoOptimizationThreshold,
385
+ timestamp: Date.now(),
386
+ });
387
+ this.forceOptimization();
388
+ }
389
+ }
390
+ calculatePerformanceScore(components) {
391
+ let totalScore = 0;
392
+ let componentCount = 0;
393
+ if (components.renderOptimizer) {
394
+ const renderScore = Math.min(30, Math.max(0, 30 - (components.renderOptimizer.averageRenderTime / 10)));
395
+ totalScore += renderScore;
396
+ componentCount++;
397
+ }
398
+ if (components.memoryManager) {
399
+ const memoryScore = components.memoryManager.pressureLevel === 'normal' ? 25 :
400
+ components.memoryManager.pressureLevel === 'warning' ? 15 : 5;
401
+ totalScore += memoryScore;
402
+ componentCount++;
403
+ }
404
+ if (components.apiOptimizer) {
405
+ const apiScore = Math.min(25, components.apiOptimizer.cacheHitRatio * 25);
406
+ totalScore += apiScore;
407
+ componentCount++;
408
+ }
409
+ if (components.adaptivePolling) {
410
+ const pollingScore = Math.min(20, (components.adaptivePolling.dataSourceCount * 4));
411
+ totalScore += pollingScore;
412
+ componentCount++;
413
+ }
414
+ return componentCount > 0 ? Math.round(totalScore * (4 / componentCount)) : 0;
415
+ }
416
+ generateRecommendations(components, overallScore) {
417
+ const recommendations = [];
418
+ if (overallScore < 50) {
419
+ recommendations.push('Overall performance is poor. Consider immediate optimization.');
420
+ }
421
+ else if (overallScore < 70) {
422
+ recommendations.push('Performance could be improved. Review recommendations below.');
423
+ }
424
+ if (components.memoryManager) {
425
+ if (components.memoryManager.pressureLevel === 'critical') {
426
+ recommendations.push('Critical memory pressure detected. Force cleanup immediately.');
427
+ }
428
+ else if (components.memoryManager.pressureLevel === 'warning') {
429
+ recommendations.push('Memory usage is high. Consider enabling aggressive cleanup.');
430
+ }
431
+ if (components.memoryManager.leakAlerts > 0) {
432
+ recommendations.push('Memory leaks detected. Review resource management.');
433
+ }
434
+ }
435
+ if (components.renderOptimizer) {
436
+ if (components.renderOptimizer.averageRenderTime > 50) {
437
+ recommendations.push('Render times are slow. Enable render batching and throttling.');
438
+ }
439
+ if (components.renderOptimizer.skippedRenders > components.renderOptimizer.totalRenders * 0.3) {
440
+ recommendations.push('Many renders are being skipped. Optimize component updating.');
441
+ }
442
+ }
443
+ if (components.apiOptimizer && components.apiOptimizer.cacheHitRatio < 0.3) {
444
+ recommendations.push('Low cache hit ratio. Increase cache TTL or review caching strategy.');
445
+ }
446
+ return recommendations;
447
+ }
448
+ calculateSystemResources(components) {
449
+ const memUsage = process.memoryUsage();
450
+ const cpuUsage = process.cpuUsage();
451
+ return {
452
+ cpu: (cpuUsage.user + cpuUsage.system) / 1000000,
453
+ memory: memUsage.heapUsed / 1024 / 1024,
454
+ networkRequests: components.apiAnalytics?.requestsPerSecond || 0,
455
+ renderFrameRate: components.renderOptimizer?.currentFps || 0,
456
+ };
457
+ }
458
+ calculateOptimizationImpact(components) {
459
+ return {
460
+ apiCallsReduced: components.apiOptimizer?.cachedRequests || 0,
461
+ memoryFreed: components.memoryManager?.cleanupCount || 0,
462
+ renderTimeImproved: components.renderOptimizer?.skippedRenders || 0,
463
+ networkBandwidthSaved: components.apiOptimizer?.bytesSaved || 0,
464
+ };
465
+ }
466
+ estimateSize(...data) {
467
+ return data.reduce((total, item) => {
468
+ if (item) {
469
+ return total + JSON.stringify(item).length;
470
+ }
471
+ return total;
472
+ }, 0);
473
+ }
474
+ }
475
+ exports.PerformanceOptimizer = PerformanceOptimizer;
476
+ //# sourceMappingURL=performance-optimizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance-optimizer.js","sourceRoot":"","sources":["../../src/performance/performance-optimizer.ts"],"names":[],"mappings":"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"}