xypriss 1.3.8 → 2.1.0

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 (221) hide show
  1. package/README.md +232 -254
  2. package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js +10 -0
  3. package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js.map +1 -1
  4. package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js +10 -0
  5. package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js.map +1 -1
  6. package/dist/cjs/mods/security/src/components/cache/index.js +10 -74
  7. package/dist/cjs/mods/security/src/components/cache/index.js.map +1 -1
  8. package/dist/cjs/mods/security/src/components/fortified-function/index.js +9 -0
  9. package/dist/cjs/mods/security/src/components/fortified-function/index.js.map +1 -1
  10. package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js +10 -0
  11. package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -1
  12. package/dist/cjs/mods/security/src/core/crypto.js +14 -0
  13. package/dist/cjs/mods/security/src/core/crypto.js.map +1 -1
  14. package/dist/cjs/mods/security/src/index.js +10 -4
  15. package/dist/cjs/mods/security/src/index.js.map +1 -1
  16. package/dist/cjs/shared/logger/Logger.js +374 -29
  17. package/dist/cjs/shared/logger/Logger.js.map +1 -1
  18. package/dist/cjs/src/cluster/bun-cluster-manager.js +91 -1
  19. package/dist/cjs/src/cluster/bun-cluster-manager.js.map +1 -1
  20. package/dist/cjs/src/cluster/cluster-manager.js +15 -3
  21. package/dist/cjs/src/cluster/cluster-manager.js.map +1 -1
  22. package/dist/cjs/src/cluster/modules/AutoScaler.js +4 -4
  23. package/dist/cjs/src/cluster/modules/AutoScaler.js.map +1 -1
  24. package/dist/cjs/src/cluster/modules/CrossPlatformMemory.js +2 -2
  25. package/dist/cjs/src/cluster/modules/CrossPlatformMemory.js.map +1 -1
  26. package/dist/cjs/src/cluster/modules/EventLoopMonitor.js +270 -0
  27. package/dist/cjs/src/cluster/modules/EventLoopMonitor.js.map +1 -0
  28. package/dist/cjs/src/cluster/modules/GCStatsTracker.js +200 -0
  29. package/dist/cjs/src/cluster/modules/GCStatsTracker.js.map +1 -0
  30. package/dist/cjs/src/cluster/modules/HeapStatsCollector.js +111 -0
  31. package/dist/cjs/src/cluster/modules/HeapStatsCollector.js.map +1 -0
  32. package/dist/cjs/src/cluster/modules/NetworkTracker.js +162 -0
  33. package/dist/cjs/src/cluster/modules/NetworkTracker.js.map +1 -0
  34. package/dist/cjs/src/cluster/modules/ThroughputCalculator.js +186 -0
  35. package/dist/cjs/src/cluster/modules/ThroughputCalculator.js.map +1 -0
  36. package/dist/cjs/src/cluster/modules/WorkerManager.js +14 -15
  37. package/dist/cjs/src/cluster/modules/WorkerManager.js.map +1 -1
  38. package/dist/cjs/src/cluster/modules/{LoadBalancer.js → strategy/LoadBalancer.js} +1 -1
  39. package/dist/cjs/src/cluster/modules/strategy/LoadBalancer.js.map +1 -0
  40. package/dist/cjs/src/index.js +55 -61
  41. package/dist/cjs/src/index.js.map +1 -1
  42. package/dist/cjs/src/middleware/XyPrissMiddlewareAPI.js +281 -0
  43. package/dist/cjs/src/middleware/XyPrissMiddlewareAPI.js.map +1 -0
  44. package/dist/cjs/src/middleware/built-in/index.js +325 -0
  45. package/dist/cjs/src/middleware/built-in/index.js.map +1 -0
  46. package/dist/cjs/src/middleware/built-in/sqlInjection.js +335 -0
  47. package/dist/cjs/src/middleware/built-in/sqlInjection.js.map +1 -0
  48. package/dist/cjs/src/middleware/safe-json-middleware.js +1 -1
  49. package/dist/cjs/src/middleware/safe-json-middleware.js.map +1 -1
  50. package/dist/cjs/src/middleware/security-middleware.js +447 -332
  51. package/dist/cjs/src/middleware/security-middleware.js.map +1 -1
  52. package/dist/cjs/src/plugins/modules/builtin/ResponseTimePlugin.js +1 -1
  53. package/dist/cjs/src/plugins/modules/builtin/ResponseTimePlugin.js.map +1 -1
  54. package/dist/cjs/src/plugins/modules/index.js +9 -3
  55. package/dist/cjs/src/plugins/modules/index.js.map +1 -1
  56. package/dist/cjs/src/quick-start.js +0 -4
  57. package/dist/cjs/src/quick-start.js.map +1 -1
  58. package/dist/cjs/src/server/FastServer.js +94 -412
  59. package/dist/cjs/src/server/FastServer.js.map +1 -1
  60. package/dist/cjs/src/server/ServerFactory.js +69 -64
  61. package/dist/cjs/src/server/ServerFactory.js.map +1 -1
  62. package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js +31 -5
  63. package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
  64. package/dist/cjs/src/server/components/fastapi/PerformanceManager.js +1 -1
  65. package/dist/cjs/src/server/components/fastapi/PerformanceManager.js.map +1 -1
  66. package/dist/cjs/src/server/components/fastapi/RouteManager.js +0 -82
  67. package/dist/cjs/src/server/components/fastapi/RouteManager.js.map +1 -1
  68. package/dist/cjs/src/server/components/fastapi/WorkerPoolComponent.js +206 -0
  69. package/dist/cjs/src/server/components/fastapi/WorkerPoolComponent.js.map +1 -0
  70. package/dist/cjs/src/server/components/fastapi/console/ConsoleInterceptor.js +3 -28
  71. package/dist/cjs/src/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -1
  72. package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js +265 -0
  73. package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js.map +1 -0
  74. package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/Logger.js +236 -0
  75. package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/cpu-tasks.js +294 -0
  76. package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/enhanced-cpu-worker.js +433 -0
  77. package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/io-worker.js +1615 -0
  78. package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js +503 -0
  79. package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -0
  80. package/dist/cjs/src/server/const/default.js +23 -17
  81. package/dist/cjs/src/server/const/default.js.map +1 -1
  82. package/dist/cjs/src/server/core/HttpServer.js +500 -0
  83. package/dist/cjs/src/server/core/HttpServer.js.map +1 -0
  84. package/dist/cjs/src/server/core/XyprissApp.js +679 -0
  85. package/dist/cjs/src/server/core/XyprissApp.js.map +1 -0
  86. package/dist/cjs/src/server/handlers/NotFoundHandler.js +1 -1
  87. package/dist/cjs/src/server/handlers/NotFoundHandler.js.map +1 -1
  88. package/dist/cjs/src/server/middleware/MiddlewareManager.js +191 -0
  89. package/dist/cjs/src/server/middleware/MiddlewareManager.js.map +1 -0
  90. package/dist/cjs/src/server/routing/Router.js +341 -0
  91. package/dist/cjs/src/server/routing/Router.js.map +1 -0
  92. package/dist/cjs/src/server/utils/PortManager.js +1 -0
  93. package/dist/cjs/src/server/utils/PortManager.js.map +1 -1
  94. package/dist/cjs/src/server/utils/forceClosePort.js +294 -88
  95. package/dist/cjs/src/server/utils/forceClosePort.js.map +1 -1
  96. package/dist/esm/mods/security/src/algorithms/hash-algorithms.js +10 -0
  97. package/dist/esm/mods/security/src/algorithms/hash-algorithms.js.map +1 -1
  98. package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js +10 -0
  99. package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js.map +1 -1
  100. package/dist/esm/mods/security/src/components/cache/index.js +11 -72
  101. package/dist/esm/mods/security/src/components/cache/index.js.map +1 -1
  102. package/dist/esm/mods/security/src/components/fortified-function/index.js +9 -0
  103. package/dist/esm/mods/security/src/components/fortified-function/index.js.map +1 -1
  104. package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js +10 -0
  105. package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -1
  106. package/dist/esm/mods/security/src/core/crypto.js +14 -0
  107. package/dist/esm/mods/security/src/core/crypto.js.map +1 -1
  108. package/dist/esm/mods/security/src/index.js +11 -2
  109. package/dist/esm/mods/security/src/index.js.map +1 -1
  110. package/dist/esm/shared/logger/Logger.js +374 -29
  111. package/dist/esm/shared/logger/Logger.js.map +1 -1
  112. package/dist/esm/src/cluster/bun-cluster-manager.js +91 -1
  113. package/dist/esm/src/cluster/bun-cluster-manager.js.map +1 -1
  114. package/dist/esm/src/cluster/cluster-manager.js +15 -3
  115. package/dist/esm/src/cluster/cluster-manager.js.map +1 -1
  116. package/dist/esm/src/cluster/modules/AutoScaler.js +4 -4
  117. package/dist/esm/src/cluster/modules/AutoScaler.js.map +1 -1
  118. package/dist/esm/src/cluster/modules/CrossPlatformMemory.js +2 -2
  119. package/dist/esm/src/cluster/modules/CrossPlatformMemory.js.map +1 -1
  120. package/dist/esm/src/cluster/modules/EventLoopMonitor.js +268 -0
  121. package/dist/esm/src/cluster/modules/EventLoopMonitor.js.map +1 -0
  122. package/dist/esm/src/cluster/modules/GCStatsTracker.js +198 -0
  123. package/dist/esm/src/cluster/modules/GCStatsTracker.js.map +1 -0
  124. package/dist/esm/src/cluster/modules/HeapStatsCollector.js +109 -0
  125. package/dist/esm/src/cluster/modules/HeapStatsCollector.js.map +1 -0
  126. package/dist/esm/src/cluster/modules/NetworkTracker.js +160 -0
  127. package/dist/esm/src/cluster/modules/NetworkTracker.js.map +1 -0
  128. package/dist/esm/src/cluster/modules/ThroughputCalculator.js +184 -0
  129. package/dist/esm/src/cluster/modules/ThroughputCalculator.js.map +1 -0
  130. package/dist/esm/src/cluster/modules/WorkerManager.js +14 -14
  131. package/dist/esm/src/cluster/modules/WorkerManager.js.map +1 -1
  132. package/dist/esm/src/cluster/modules/{LoadBalancer.js → strategy/LoadBalancer.js} +1 -1
  133. package/dist/esm/src/cluster/modules/strategy/LoadBalancer.js.map +1 -0
  134. package/dist/esm/src/index.js +41 -11
  135. package/dist/esm/src/index.js.map +1 -1
  136. package/dist/esm/src/middleware/XyPrissMiddlewareAPI.js +279 -0
  137. package/dist/esm/src/middleware/XyPrissMiddlewareAPI.js.map +1 -0
  138. package/dist/esm/src/middleware/built-in/index.js +323 -0
  139. package/dist/esm/src/middleware/built-in/index.js.map +1 -0
  140. package/dist/esm/src/middleware/built-in/sqlInjection.js +333 -0
  141. package/dist/esm/src/middleware/built-in/sqlInjection.js.map +1 -0
  142. package/dist/esm/src/middleware/safe-json-middleware.js +1 -1
  143. package/dist/esm/src/middleware/safe-json-middleware.js.map +1 -1
  144. package/dist/esm/src/middleware/security-middleware.js +447 -332
  145. package/dist/esm/src/middleware/security-middleware.js.map +1 -1
  146. package/dist/esm/src/plugins/modules/builtin/ResponseTimePlugin.js +1 -1
  147. package/dist/esm/src/plugins/modules/builtin/ResponseTimePlugin.js.map +1 -1
  148. package/dist/esm/src/plugins/modules/index.js +9 -3
  149. package/dist/esm/src/plugins/modules/index.js.map +1 -1
  150. package/dist/esm/src/quick-start.js +0 -4
  151. package/dist/esm/src/quick-start.js.map +1 -1
  152. package/dist/esm/src/server/FastServer.js +94 -412
  153. package/dist/esm/src/server/FastServer.js.map +1 -1
  154. package/dist/esm/src/server/ServerFactory.js +70 -61
  155. package/dist/esm/src/server/ServerFactory.js.map +1 -1
  156. package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js +31 -5
  157. package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
  158. package/dist/esm/src/server/components/fastapi/PerformanceManager.js +1 -1
  159. package/dist/esm/src/server/components/fastapi/PerformanceManager.js.map +1 -1
  160. package/dist/esm/src/server/components/fastapi/RouteManager.js +0 -82
  161. package/dist/esm/src/server/components/fastapi/RouteManager.js.map +1 -1
  162. package/dist/esm/src/server/components/fastapi/WorkerPoolComponent.js +204 -0
  163. package/dist/esm/src/server/components/fastapi/WorkerPoolComponent.js.map +1 -0
  164. package/dist/esm/src/server/components/fastapi/console/ConsoleInterceptor.js +2 -27
  165. package/dist/esm/src/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -1
  166. package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js +263 -0
  167. package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js.map +1 -0
  168. package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/Logger.js +236 -0
  169. package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/cpu-tasks.js +294 -0
  170. package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/enhanced-cpu-worker.js +433 -0
  171. package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/io-worker.js +1615 -0
  172. package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js +501 -0
  173. package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -0
  174. package/dist/esm/src/server/const/default.js +23 -17
  175. package/dist/esm/src/server/const/default.js.map +1 -1
  176. package/dist/esm/src/server/core/HttpServer.js +498 -0
  177. package/dist/esm/src/server/core/HttpServer.js.map +1 -0
  178. package/dist/esm/src/server/core/XyprissApp.js +677 -0
  179. package/dist/esm/src/server/core/XyprissApp.js.map +1 -0
  180. package/dist/esm/src/server/handlers/NotFoundHandler.js +1 -1
  181. package/dist/esm/src/server/handlers/NotFoundHandler.js.map +1 -1
  182. package/dist/esm/src/server/middleware/MiddlewareManager.js +189 -0
  183. package/dist/esm/src/server/middleware/MiddlewareManager.js.map +1 -0
  184. package/dist/esm/src/server/routing/Router.js +339 -0
  185. package/dist/esm/src/server/routing/Router.js.map +1 -0
  186. package/dist/esm/src/server/utils/PortManager.js +1 -0
  187. package/dist/esm/src/server/utils/PortManager.js.map +1 -1
  188. package/dist/esm/src/server/utils/forceClosePort.js +294 -88
  189. package/dist/esm/src/server/utils/forceClosePort.js.map +1 -1
  190. package/dist/index.d.ts +3363 -5311
  191. package/package.json +39 -28
  192. package/dist/cjs/src/cluster/index.js +0 -361
  193. package/dist/cjs/src/cluster/index.js.map +0 -1
  194. package/dist/cjs/src/cluster/modules/ClusterFactory.js +0 -539
  195. package/dist/cjs/src/cluster/modules/ClusterFactory.js.map +0 -1
  196. package/dist/cjs/src/cluster/modules/LoadBalancer.js.map +0 -1
  197. package/dist/cjs/src/server/components/fastapi/UltraFastRequestProcessor.js +0 -668
  198. package/dist/cjs/src/server/components/fastapi/UltraFastRequestProcessor.js.map +0 -1
  199. package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareAPI.js +0 -347
  200. package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareAPI.js.map +0 -1
  201. package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js +0 -204
  202. package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js.map +0 -1
  203. package/dist/cjs/src/server/components/fastapi/middlewares/middlewareManager.js +0 -953
  204. package/dist/cjs/src/server/components/fastapi/middlewares/middlewareManager.js.map +0 -1
  205. package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPool.js +0 -56
  206. package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPool.js.map +0 -1
  207. package/dist/esm/src/cluster/index.js +0 -339
  208. package/dist/esm/src/cluster/index.js.map +0 -1
  209. package/dist/esm/src/cluster/modules/ClusterFactory.js +0 -511
  210. package/dist/esm/src/cluster/modules/ClusterFactory.js.map +0 -1
  211. package/dist/esm/src/cluster/modules/LoadBalancer.js.map +0 -1
  212. package/dist/esm/src/server/components/fastapi/UltraFastRequestProcessor.js +0 -647
  213. package/dist/esm/src/server/components/fastapi/UltraFastRequestProcessor.js.map +0 -1
  214. package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareAPI.js +0 -345
  215. package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareAPI.js.map +0 -1
  216. package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js +0 -202
  217. package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js.map +0 -1
  218. package/dist/esm/src/server/components/fastapi/middlewares/middlewareManager.js +0 -951
  219. package/dist/esm/src/server/components/fastapi/middlewares/middlewareManager.js.map +0 -1
  220. package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPool.js +0 -54
  221. package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPool.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkerPoolManager.js","sources":["../../../../../../../../src/server/components/fastapi/modules/UFRP/WorkerPoolManager.ts"],"sourcesContent":[null],"names":["cpus","join","Worker"],"mappings":"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"}
@@ -0,0 +1,236 @@
1
+ export class Logger {
2
+ constructor(config) {
3
+ const defaultConfig = {
4
+ enabled: true,
5
+ level: "info",
6
+ components: {
7
+ server: true,
8
+ cache: true,
9
+ cluster: true,
10
+ performance: true,
11
+ fileWatcher: true,
12
+ plugins: true,
13
+ security: true,
14
+ monitoring: true,
15
+ routes: true,
16
+ userApp: true,
17
+ console: false, // Console interception system logs (can be verbose)
18
+ ipc: true, // Inter-process communication logs
19
+ memory: true, // Memory monitoring and detection logs
20
+ lifecycle: true, // Server lifecycle management logs
21
+ routing: true, // Fast routing system logs
22
+ },
23
+ types: {
24
+ startup: true,
25
+ warnings: true,
26
+ errors: true,
27
+ performance: true,
28
+ debug: false,
29
+ hotReload: true,
30
+ portSwitching: true,
31
+ },
32
+ format: {
33
+ timestamps: false,
34
+ colors: true,
35
+ prefix: true,
36
+ compact: false,
37
+ },
38
+ };
39
+ this.config = this.deepMerge(defaultConfig, config || {});
40
+ }
41
+ /**
42
+ * Get or create singleton instance
43
+ */
44
+ static getInstance(config) {
45
+ if (!Logger.instance) {
46
+ Logger.instance = new Logger(config);
47
+ }
48
+ else if (config) {
49
+ Logger.instance.updateConfig(config);
50
+ }
51
+ return Logger.instance;
52
+ }
53
+ /**
54
+ * Deep merge two objects
55
+ */
56
+ deepMerge(target, source) {
57
+ const result = { ...target };
58
+ for (const key in source) {
59
+ if (source[key] &&
60
+ typeof source[key] === "object" &&
61
+ !Array.isArray(source[key])) {
62
+ result[key] = this.deepMerge(target[key] || {}, source[key]);
63
+ }
64
+ else {
65
+ result[key] = source[key];
66
+ }
67
+ }
68
+ return result;
69
+ }
70
+ /**
71
+ * Update logger configuration
72
+ */
73
+ updateConfig(config) {
74
+ this.config = this.deepMerge(this.config, config || {});
75
+ }
76
+ /**
77
+ * Get current logger configuration (for debugging)
78
+ */
79
+ getConfig() {
80
+ return this.config;
81
+ }
82
+ /**
83
+ * Check if logging is enabled for a specific component and type
84
+ */
85
+ shouldLog(level, component, type) {
86
+ // Master switch
87
+ if (!this.config?.enabled)
88
+ return false;
89
+ // Silent mode
90
+ // if (this.config?.level === "silent") return false;
91
+ // Always show errors unless silent
92
+ if (level === "error" &&
93
+ this.config?.level &&
94
+ this.config?.level !== "silent")
95
+ return true;
96
+ // Check log level hierarchy
97
+ const levels = [
98
+ "error",
99
+ "warn",
100
+ "info",
101
+ "debug",
102
+ "verbose",
103
+ ];
104
+ const currentLevelIndex = levels.indexOf(this.config?.level);
105
+ const messageLevelIndex = levels.indexOf(level);
106
+ if (messageLevelIndex > currentLevelIndex)
107
+ return false;
108
+ // Check component-specific settings
109
+ if (this.config?.components &&
110
+ this.config?.components[component] === false)
111
+ return false;
112
+ // Check type-specific settings
113
+ if (type && this.config?.types && this.config?.types[type] === false)
114
+ return false;
115
+ return true;
116
+ }
117
+ /**
118
+ * Format log message
119
+ */
120
+ formatMessage(level, component, message) {
121
+ const colors = {
122
+ error: "\x1b[31m", // Red
123
+ warn: "\x1b[33m", // Yellow
124
+ info: "\x1b[36m", // Cyan
125
+ debug: "\x1b[35m", // Magenta
126
+ verbose: "\x1b[37m", // White
127
+ reset: "\x1b[0m", // Reset
128
+ sys: "\x1b[32m",
129
+ };
130
+ let formatted = message;
131
+ if (this.config?.format?.prefix && !this.config?.format?.compact) {
132
+ const prefix = `[${component === "server"
133
+ ? "SYSTEM".toUpperCase()
134
+ : component.toUpperCase()}]`;
135
+ if (level === "silent") {
136
+ formatted = `${prefix} ${message}`;
137
+ }
138
+ else {
139
+ if (component === "server") {
140
+ const color = colors[level] || colors.info;
141
+ formatted = `${colors.sys}${prefix}${colors.reset} ${color}${message}${colors.reset}`;
142
+ }
143
+ else {
144
+ formatted = `${prefix} ${message}`;
145
+ }
146
+ }
147
+ }
148
+ if (this.config?.format?.timestamps) {
149
+ const timestamp = new Date().toISOString();
150
+ formatted = `${timestamp} ${formatted}`;
151
+ }
152
+ if (this.config?.format?.colors &&
153
+ level !== "silent" &&
154
+ typeof process !== "undefined" &&
155
+ process.stdout?.isTTY) {
156
+ const color = colors[level] || colors.info;
157
+ formatted = `${color}${formatted}${colors.reset}`;
158
+ }
159
+ return formatted;
160
+ }
161
+ /**
162
+ * Log a message
163
+ */
164
+ log(level, component, type, message, ...args) {
165
+ if (!this.shouldLog(level, component, type))
166
+ return;
167
+ if (this.config?.customLogger) {
168
+ this.config?.customLogger(level, component, message, ...args);
169
+ return;
170
+ }
171
+ const formatted = this.formatMessage(level, component, message);
172
+ switch (level) {
173
+ case "error":
174
+ console.error(formatted, ...args);
175
+ break;
176
+ case "warn":
177
+ console.warn(formatted, ...args);
178
+ break;
179
+ default:
180
+ console.log(formatted, ...args);
181
+ break;
182
+ }
183
+ }
184
+ // Public logging methods
185
+ error(component, message, ...args) {
186
+ this.log("error", component, "errors", message, ...args);
187
+ }
188
+ warn(component, message, ...args) {
189
+ this.log("warn", component, "warnings", message, ...args);
190
+ }
191
+ info(component, message, ...args) {
192
+ this.log("info", component, undefined, message, ...args);
193
+ }
194
+ debug(component, message, ...args) {
195
+ this.log("debug", component, "debug", message, ...args);
196
+ }
197
+ startup(component, message, ...args) {
198
+ this.log("info", component, "startup", message, ...args);
199
+ }
200
+ performance(component, message, ...args) {
201
+ this.log("info", component, "performance", message, ...args);
202
+ }
203
+ hotReload(component, message, ...args) {
204
+ this.log("info", component, "hotReload", message, ...args);
205
+ }
206
+ portSwitching(component, message, ...args) {
207
+ this.log("info", component, "portSwitching", message, ...args);
208
+ }
209
+ securityWarning(message, ...args) {
210
+ this.log("warn", "security", "warnings", message, ...args);
211
+ }
212
+ // Utility methods
213
+ isEnabled() {
214
+ return this.config?.enabled || false;
215
+ }
216
+ getLevel() {
217
+ return this.config?.level || "info";
218
+ }
219
+ isComponentEnabled(component) {
220
+ return this.config?.components?.[component] !== false;
221
+ }
222
+ isTypeEnabled(type) {
223
+ return this.config?.types?.[type] !== false;
224
+ }
225
+ }
226
+ /**
227
+ * Global logger instance
228
+ */
229
+ export const logger = Logger.getInstance();
230
+ /**
231
+ * Initialize logger with configuration
232
+ */
233
+ export function initializeLogger(config) {
234
+ return Logger.getInstance(config);
235
+ }
236
+ //# sourceMappingURL=Logger.js.map
@@ -0,0 +1,294 @@
1
+ /**
2
+ * Real CPU-Intensive Task Implementations
3
+ * These replace the mock implementations with actual CPU-intensive operations
4
+ */
5
+
6
+ const crypto = require("crypto");
7
+
8
+ /**
9
+ * Real CPU-intensive data processing tasks
10
+ */
11
+
12
+ /**
13
+ * Prime number calculation - CPU intensive
14
+ */
15
+ function calculatePrimes(limit) {
16
+ const primes = [];
17
+ const sieve = new Array(limit + 1).fill(true);
18
+ sieve[0] = sieve[1] = false;
19
+
20
+ for (let i = 2; i * i <= limit; i++) {
21
+ if (sieve[i]) {
22
+ for (let j = i * i; j <= limit; j += i) {
23
+ sieve[j] = false;
24
+ }
25
+ }
26
+ }
27
+
28
+ for (let i = 2; i <= limit; i++) {
29
+ if (sieve[i]) primes.push(i);
30
+ }
31
+
32
+ return primes;
33
+ }
34
+
35
+ /**
36
+ * Fibonacci sequence calculation - CPU intensive
37
+ */
38
+ function calculateFibonacci(n) {
39
+ if (n <= 1) return n;
40
+
41
+ let a = 0,
42
+ b = 1;
43
+ const sequence = [a, b];
44
+
45
+ for (let i = 2; i < n; i++) {
46
+ const next = a + b;
47
+ sequence.push(next);
48
+ a = b;
49
+ b = next;
50
+ }
51
+
52
+ return sequence;
53
+ }
54
+
55
+ /**
56
+ * Matrix multiplication - CPU intensive
57
+ */
58
+ function multiplyMatrices(matrixA, matrixB) {
59
+ const rowsA = matrixA.length;
60
+ const colsA = matrixA[0].length;
61
+ const rowsB = matrixB.length;
62
+ const colsB = matrixB[0].length;
63
+
64
+ if (colsA !== rowsB) {
65
+ throw new Error("Matrix dimensions don't match for multiplication");
66
+ }
67
+
68
+ const result = Array(rowsA)
69
+ .fill()
70
+ .map(() => Array(colsB).fill(0));
71
+
72
+ for (let i = 0; i < rowsA; i++) {
73
+ for (let j = 0; j < colsB; j++) {
74
+ for (let k = 0; k < colsA; k++) {
75
+ result[i][j] += matrixA[i][k] * matrixB[k][j];
76
+ }
77
+ }
78
+ }
79
+
80
+ return result;
81
+ }
82
+
83
+ /**
84
+ * Hash computation - CPU intensive
85
+ */
86
+ function computeHashes(data, iterations = 10000) {
87
+ let hash = crypto
88
+ .createHash("sha256")
89
+ .update(JSON.stringify(data))
90
+ .digest("hex");
91
+
92
+ for (let i = 0; i < iterations; i++) {
93
+ hash = crypto.createHash("sha256").update(hash).digest("hex");
94
+ }
95
+
96
+ return hash;
97
+ }
98
+
99
+ /**
100
+ * Data sorting and analysis - CPU intensive
101
+ */
102
+ function analyzeDataset(dataset) {
103
+ if (!Array.isArray(dataset) || dataset.length === 0) {
104
+ return { error: "Invalid dataset" };
105
+ }
106
+
107
+ // Sort the dataset
108
+ const sorted = [...dataset].sort((a, b) => a - b);
109
+
110
+ // Calculate statistics
111
+ const sum = dataset.reduce((acc, val) => acc + val, 0);
112
+ const mean = sum / dataset.length;
113
+ const median =
114
+ sorted.length % 2 === 0
115
+ ? (sorted[sorted.length / 2 - 1] + sorted[sorted.length / 2]) / 2
116
+ : sorted[Math.floor(sorted.length / 2)];
117
+
118
+ // Calculate standard deviation
119
+ const variance =
120
+ dataset.reduce((acc, val) => acc + Math.pow(val - mean, 2), 0) /
121
+ dataset.length;
122
+ const stdDev = Math.sqrt(variance);
123
+
124
+ return {
125
+ count: dataset.length,
126
+ sum,
127
+ mean,
128
+ median,
129
+ min: sorted[0],
130
+ max: sorted[sorted.length - 1],
131
+ standardDeviation: stdDev,
132
+ variance,
133
+ sorted: sorted.slice(0, 100), // Return first 100 sorted values
134
+ };
135
+ }
136
+
137
+ /**
138
+ * Text processing and analysis - CPU intensive
139
+ */
140
+ function analyzeText(text) {
141
+ if (typeof text !== "string") {
142
+ return { error: "Invalid text input" };
143
+ }
144
+
145
+ const words = text.toLowerCase().match(/\b\w+\b/g) || [];
146
+ const wordCount = {};
147
+ const charCount = {};
148
+
149
+ // Count words
150
+ words.forEach((word) => {
151
+ wordCount[word] = (wordCount[word] || 0) + 1;
152
+ });
153
+
154
+ // Count characters
155
+ for (const char of text.toLowerCase()) {
156
+ if (char.match(/[a-z]/)) {
157
+ charCount[char] = (charCount[char] || 0) + 1;
158
+ }
159
+ }
160
+
161
+ // Find most common words
162
+ const sortedWords = Object.entries(wordCount)
163
+ .sort(([, a], [, b]) => b - a)
164
+ .slice(0, 10);
165
+
166
+ return {
167
+ totalWords: words.length,
168
+ uniqueWords: Object.keys(wordCount).length,
169
+ totalCharacters: text.length,
170
+ alphabeticCharacters: Object.values(charCount).reduce(
171
+ (a, b) => a + b,
172
+ 0
173
+ ),
174
+ mostCommonWords: sortedWords,
175
+ averageWordLength:
176
+ words.reduce((acc, word) => acc + word.length, 0) / words.length,
177
+ wordFrequency: wordCount,
178
+ };
179
+ }
180
+
181
+ /**
182
+ * Image processing simulation - CPU intensive
183
+ */
184
+ function processImageData(imageData) {
185
+ if (
186
+ !imageData ||
187
+ !imageData.width ||
188
+ !imageData.height ||
189
+ !imageData.pixels
190
+ ) {
191
+ return { error: "Invalid image data" };
192
+ }
193
+
194
+ const { width, height, pixels } = imageData;
195
+ const processedPixels = [];
196
+
197
+ // Apply a simple blur filter (CPU intensive)
198
+ for (let y = 1; y < height - 1; y++) {
199
+ for (let x = 1; x < width - 1; x++) {
200
+ const index = y * width + x;
201
+
202
+ // Get surrounding pixels
203
+ const surrounding = [
204
+ pixels[index - width - 1],
205
+ pixels[index - width],
206
+ pixels[index - width + 1],
207
+ pixels[index - 1],
208
+ pixels[index],
209
+ pixels[index + 1],
210
+ pixels[index + width - 1],
211
+ pixels[index + width],
212
+ pixels[index + width + 1],
213
+ ];
214
+
215
+ // Calculate average (blur effect)
216
+ const average =
217
+ surrounding.reduce((sum, pixel) => sum + pixel, 0) / 9;
218
+ processedPixels[index] = Math.round(average);
219
+ }
220
+ }
221
+
222
+ return {
223
+ width,
224
+ height,
225
+ originalPixelCount: pixels.length,
226
+ processedPixelCount: processedPixels.length,
227
+ processingType: "blur_filter",
228
+ checksum: crypto
229
+ .createHash("md5")
230
+ .update(processedPixels.join(","))
231
+ .digest("hex"),
232
+ };
233
+ }
234
+
235
+ /**
236
+ * Cryptographic operations - CPU intensive
237
+ */
238
+ function performCryptographicOperations(data, operations = 1000) {
239
+ const results = {
240
+ hashes: [],
241
+ encryptions: [],
242
+ signatures: [],
243
+ };
244
+
245
+ const dataString = JSON.stringify(data);
246
+
247
+ // Generate multiple hashes
248
+ for (let i = 0; i < operations; i++) {
249
+ const hash = crypto
250
+ .createHash("sha256")
251
+ .update(dataString + i)
252
+ .digest("hex");
253
+ results.hashes.push(hash);
254
+ }
255
+
256
+ // Perform encryption operations
257
+ for (let i = 0; i < Math.min(operations, 100); i++) {
258
+ const key = crypto.randomBytes(32);
259
+ const iv = crypto.randomBytes(16);
260
+ const cipher = crypto.createCipheriv("aes-256-cbc", key, iv);
261
+
262
+ let encrypted = cipher.update(dataString, "utf8", "hex");
263
+ encrypted += cipher.final("hex");
264
+
265
+ results.encryptions.push({
266
+ encrypted: encrypted.substring(0, 32), // Store only first 32 chars
267
+ keyHash: crypto
268
+ .createHash("sha256")
269
+ .update(key)
270
+ .digest("hex")
271
+ .substring(0, 16),
272
+ });
273
+ }
274
+
275
+ return {
276
+ operationsPerformed: operations,
277
+ hashCount: results.hashes.length,
278
+ encryptionCount: results.encryptions.length,
279
+ totalProcessingTime: Date.now(),
280
+ finalHash: results.hashes[results.hashes.length - 1],
281
+ };
282
+ }
283
+
284
+ module.exports = {
285
+ calculatePrimes,
286
+ calculateFibonacci,
287
+ multiplyMatrices,
288
+ computeHashes,
289
+ analyzeDataset,
290
+ analyzeText,
291
+ processImageData,
292
+ performCryptographicOperations,
293
+ };
294
+