xypriss 2.0.0 → 2.1.1

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 (185) hide show
  1. package/README.md +171 -381
  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 -2
  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 -1
  15. package/dist/cjs/mods/security/src/index.js.map +1 -1
  16. package/dist/cjs/shared/logger/Logger.js +372 -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/middleware/built-in/sqlInjection.js +335 -0
  41. package/dist/cjs/src/middleware/built-in/sqlInjection.js.map +1 -0
  42. package/dist/cjs/src/middleware/safe-json-middleware.js +1 -1
  43. package/dist/cjs/src/middleware/safe-json-middleware.js.map +1 -1
  44. package/dist/cjs/src/middleware/security-middleware.js +447 -332
  45. package/dist/cjs/src/middleware/security-middleware.js.map +1 -1
  46. package/dist/cjs/src/plugins/modules/index.js +9 -3
  47. package/dist/cjs/src/plugins/modules/index.js.map +1 -1
  48. package/dist/cjs/src/server/FastServer.js +41 -1
  49. package/dist/cjs/src/server/FastServer.js.map +1 -1
  50. package/dist/cjs/src/server/ServerFactory.js +62 -2
  51. package/dist/cjs/src/server/ServerFactory.js.map +1 -1
  52. package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js +32 -6
  53. package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
  54. package/dist/cjs/src/server/components/fastapi/WorkerPoolComponent.js +206 -0
  55. package/dist/cjs/src/server/components/fastapi/WorkerPoolComponent.js.map +1 -0
  56. package/dist/cjs/src/server/components/fastapi/console/ConsoleInterceptor.js +3 -28
  57. package/dist/cjs/src/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -1
  58. package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js +265 -0
  59. package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js.map +1 -0
  60. package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/Logger.js +236 -0
  61. package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/cpu-tasks.js +294 -0
  62. package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/enhanced-cpu-worker.js +433 -0
  63. package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/io-worker.js +1615 -0
  64. package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js +143 -24
  65. package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -1
  66. package/dist/cjs/src/server/const/default.js +23 -9
  67. package/dist/cjs/src/server/const/default.js.map +1 -1
  68. package/dist/cjs/src/server/core/HttpServer.js +8 -8
  69. package/dist/cjs/src/server/core/HttpServer.js.map +1 -1
  70. package/dist/cjs/src/server/core/XyprissApp.js +284 -17
  71. package/dist/cjs/src/server/core/XyprissApp.js.map +1 -1
  72. package/dist/cjs/src/server/handlers/NotFoundHandler.js +1 -1
  73. package/dist/cjs/src/server/handlers/NotFoundHandler.js.map +1 -1
  74. package/dist/cjs/src/server/middleware/MiddlewareManager.js +57 -12
  75. package/dist/cjs/src/server/middleware/MiddlewareManager.js.map +1 -1
  76. package/dist/cjs/src/server/utils/forceClosePort.js +1 -1
  77. package/dist/cjs/src/server/utils/forceClosePort.js.map +1 -1
  78. package/dist/esm/mods/security/src/algorithms/hash-algorithms.js +10 -0
  79. package/dist/esm/mods/security/src/algorithms/hash-algorithms.js.map +1 -1
  80. package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js +10 -0
  81. package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js.map +1 -1
  82. package/dist/esm/mods/security/src/components/cache/index.js +10 -2
  83. package/dist/esm/mods/security/src/components/cache/index.js.map +1 -1
  84. package/dist/esm/mods/security/src/components/fortified-function/index.js +9 -0
  85. package/dist/esm/mods/security/src/components/fortified-function/index.js.map +1 -1
  86. package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js +10 -0
  87. package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -1
  88. package/dist/esm/mods/security/src/core/crypto.js +14 -0
  89. package/dist/esm/mods/security/src/core/crypto.js.map +1 -1
  90. package/dist/esm/mods/security/src/index.js +10 -1
  91. package/dist/esm/mods/security/src/index.js.map +1 -1
  92. package/dist/esm/shared/logger/Logger.js +372 -29
  93. package/dist/esm/shared/logger/Logger.js.map +1 -1
  94. package/dist/esm/src/cluster/bun-cluster-manager.js +91 -1
  95. package/dist/esm/src/cluster/bun-cluster-manager.js.map +1 -1
  96. package/dist/esm/src/cluster/cluster-manager.js +15 -3
  97. package/dist/esm/src/cluster/cluster-manager.js.map +1 -1
  98. package/dist/esm/src/cluster/modules/AutoScaler.js +4 -4
  99. package/dist/esm/src/cluster/modules/AutoScaler.js.map +1 -1
  100. package/dist/esm/src/cluster/modules/CrossPlatformMemory.js +2 -2
  101. package/dist/esm/src/cluster/modules/CrossPlatformMemory.js.map +1 -1
  102. package/dist/esm/src/cluster/modules/EventLoopMonitor.js +268 -0
  103. package/dist/esm/src/cluster/modules/EventLoopMonitor.js.map +1 -0
  104. package/dist/esm/src/cluster/modules/GCStatsTracker.js +198 -0
  105. package/dist/esm/src/cluster/modules/GCStatsTracker.js.map +1 -0
  106. package/dist/esm/src/cluster/modules/HeapStatsCollector.js +109 -0
  107. package/dist/esm/src/cluster/modules/HeapStatsCollector.js.map +1 -0
  108. package/dist/esm/src/cluster/modules/NetworkTracker.js +160 -0
  109. package/dist/esm/src/cluster/modules/NetworkTracker.js.map +1 -0
  110. package/dist/esm/src/cluster/modules/ThroughputCalculator.js +184 -0
  111. package/dist/esm/src/cluster/modules/ThroughputCalculator.js.map +1 -0
  112. package/dist/esm/src/cluster/modules/WorkerManager.js +14 -14
  113. package/dist/esm/src/cluster/modules/WorkerManager.js.map +1 -1
  114. package/dist/esm/src/cluster/modules/{LoadBalancer.js → strategy/LoadBalancer.js} +1 -1
  115. package/dist/esm/src/cluster/modules/strategy/LoadBalancer.js.map +1 -0
  116. package/dist/esm/src/middleware/built-in/sqlInjection.js +333 -0
  117. package/dist/esm/src/middleware/built-in/sqlInjection.js.map +1 -0
  118. package/dist/esm/src/middleware/safe-json-middleware.js +1 -1
  119. package/dist/esm/src/middleware/safe-json-middleware.js.map +1 -1
  120. package/dist/esm/src/middleware/security-middleware.js +447 -332
  121. package/dist/esm/src/middleware/security-middleware.js.map +1 -1
  122. package/dist/esm/src/plugins/modules/index.js +9 -3
  123. package/dist/esm/src/plugins/modules/index.js.map +1 -1
  124. package/dist/esm/src/server/FastServer.js +41 -1
  125. package/dist/esm/src/server/FastServer.js.map +1 -1
  126. package/dist/esm/src/server/ServerFactory.js +62 -2
  127. package/dist/esm/src/server/ServerFactory.js.map +1 -1
  128. package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js +32 -6
  129. package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
  130. package/dist/esm/src/server/components/fastapi/WorkerPoolComponent.js +204 -0
  131. package/dist/esm/src/server/components/fastapi/WorkerPoolComponent.js.map +1 -0
  132. package/dist/esm/src/server/components/fastapi/console/ConsoleInterceptor.js +2 -27
  133. package/dist/esm/src/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -1
  134. package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js +263 -0
  135. package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js.map +1 -0
  136. package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/Logger.js +236 -0
  137. package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/cpu-tasks.js +294 -0
  138. package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/enhanced-cpu-worker.js +433 -0
  139. package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/io-worker.js +1615 -0
  140. package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js +143 -24
  141. package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -1
  142. package/dist/esm/src/server/const/default.js +23 -9
  143. package/dist/esm/src/server/const/default.js.map +1 -1
  144. package/dist/esm/src/server/core/HttpServer.js +8 -8
  145. package/dist/esm/src/server/core/HttpServer.js.map +1 -1
  146. package/dist/esm/src/server/core/XyprissApp.js +284 -17
  147. package/dist/esm/src/server/core/XyprissApp.js.map +1 -1
  148. package/dist/esm/src/server/handlers/NotFoundHandler.js +1 -1
  149. package/dist/esm/src/server/handlers/NotFoundHandler.js.map +1 -1
  150. package/dist/esm/src/server/middleware/MiddlewareManager.js +57 -12
  151. package/dist/esm/src/server/middleware/MiddlewareManager.js.map +1 -1
  152. package/dist/esm/src/server/utils/forceClosePort.js +1 -1
  153. package/dist/esm/src/server/utils/forceClosePort.js.map +1 -1
  154. package/dist/index.d.ts +675 -516
  155. package/package.json +9 -9
  156. package/dist/cjs/src/cluster/index.js +0 -361
  157. package/dist/cjs/src/cluster/index.js.map +0 -1
  158. package/dist/cjs/src/cluster/modules/ClusterFactory.js +0 -539
  159. package/dist/cjs/src/cluster/modules/ClusterFactory.js.map +0 -1
  160. package/dist/cjs/src/cluster/modules/LoadBalancer.js.map +0 -1
  161. package/dist/cjs/src/server/components/fastapi/UltraFastRequestProcessor.js +0 -668
  162. package/dist/cjs/src/server/components/fastapi/UltraFastRequestProcessor.js.map +0 -1
  163. package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareAPI.js +0 -347
  164. package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareAPI.js.map +0 -1
  165. package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js +0 -204
  166. package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js.map +0 -1
  167. package/dist/cjs/src/server/components/fastapi/middlewares/middlewareManager.js +0 -953
  168. package/dist/cjs/src/server/components/fastapi/middlewares/middlewareManager.js.map +0 -1
  169. package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPool.js +0 -56
  170. package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPool.js.map +0 -1
  171. package/dist/esm/src/cluster/index.js +0 -339
  172. package/dist/esm/src/cluster/index.js.map +0 -1
  173. package/dist/esm/src/cluster/modules/ClusterFactory.js +0 -511
  174. package/dist/esm/src/cluster/modules/ClusterFactory.js.map +0 -1
  175. package/dist/esm/src/cluster/modules/LoadBalancer.js.map +0 -1
  176. package/dist/esm/src/server/components/fastapi/UltraFastRequestProcessor.js +0 -647
  177. package/dist/esm/src/server/components/fastapi/UltraFastRequestProcessor.js.map +0 -1
  178. package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareAPI.js +0 -345
  179. package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareAPI.js.map +0 -1
  180. package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js +0 -202
  181. package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js.map +0 -1
  182. package/dist/esm/src/server/components/fastapi/middlewares/middlewareManager.js +0 -951
  183. package/dist/esm/src/server/components/fastapi/middlewares/middlewareManager.js.map +0 -1
  184. package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPool.js +0 -54
  185. package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPool.js.map +0 -1
@@ -0,0 +1,206 @@
1
+ 'use strict';
2
+
3
+ var WorkerPoolManager = require('./modules/UFRP/WorkerPoolManager.js');
4
+ var Logger = require('../../../../shared/logger/Logger.js');
5
+ var nehoid = require('nehoid');
6
+
7
+ /**
8
+ * WorkerPoolComponent - Integrates WorkerPoolManager with XyPriss server
9
+ * Manages worker threads for CPU and I/O intensive tasks
10
+ */
11
+ /**
12
+ * WorkerPoolComponent - Handles worker thread management for the server
13
+ */
14
+ class WorkerPoolComponent {
15
+ constructor(options, dependencies) {
16
+ this.isEnabled = false;
17
+ this.options = options;
18
+ this.dependencies = dependencies;
19
+ if (this.options.workerPool?.enabled) {
20
+ this.initializeWorkerPool();
21
+ }
22
+ }
23
+ /**
24
+ * Initialize worker pool manager
25
+ */
26
+ initializeWorkerPool() {
27
+ try {
28
+ Logger.logger.debug("other", "Initializing WorkerPoolManager...");
29
+ // Check if worker threads are supported
30
+ if (!this.isWorkerThreadsSupported()) {
31
+ Logger.logger.warn("other", "Worker threads not supported in current runtime. Disabling worker pool functionality.");
32
+ return;
33
+ }
34
+ // Create worker pool with configuration
35
+ this.workerPool = new WorkerPoolManager.WorkerPoolManager(this.options.workerPool?.config || {});
36
+ this.isEnabled = true;
37
+ // Add worker pool methods to app
38
+ this.addWorkerPoolMethods();
39
+ Logger.logger.debug("other", "WorkerPoolManager initialized successfully");
40
+ }
41
+ catch (error) {
42
+ Logger.logger.error("other", `Failed to initialize WorkerPoolManager: ${error.message}`);
43
+ this.isEnabled = false;
44
+ }
45
+ }
46
+ /**
47
+ * Check if worker threads are supported
48
+ */
49
+ isWorkerThreadsSupported() {
50
+ try {
51
+ // Try to require worker_threads
52
+ require("worker_threads");
53
+ return true;
54
+ }
55
+ catch (error) {
56
+ return false;
57
+ }
58
+ }
59
+ /**
60
+ * Add worker pool methods to the app
61
+ */
62
+ addWorkerPoolMethods() {
63
+ if (!this.workerPool || !this.dependencies.app) {
64
+ return;
65
+ }
66
+ const app = this.dependencies.app;
67
+ // Add worker pool execution method
68
+ app.executeTask = (task) => {
69
+ if (this.workerPool) {
70
+ this.workerPool.executeTask(task);
71
+ }
72
+ else {
73
+ throw new Error("Worker pool not available");
74
+ }
75
+ };
76
+ // Add worker pool stats method
77
+ app.getWorkerPoolStats = () => {
78
+ return this.workerPool ? this.workerPool.getStats() : null;
79
+ };
80
+ // Add worker pool configuration update method
81
+ app.updateWorkerPoolConfig = (config) => {
82
+ if (this.workerPool) {
83
+ this.workerPool.updateConfig(config);
84
+ }
85
+ };
86
+ // Add worker pool shutdown method
87
+ app.shutdownWorkerPool = () => {
88
+ if (this.workerPool) {
89
+ this.workerPool.shutdown();
90
+ this.isEnabled = false;
91
+ }
92
+ };
93
+ // Add convenience methods for common task types
94
+ app.executeCPUTask = (taskData, priority = 1) => {
95
+ if (this.workerPool) {
96
+ // Determine task type based on the data structure
97
+ let taskType = "process";
98
+ if (taskData.body?.operation) {
99
+ const operation = taskData.body.operation;
100
+ // Map operation to valid task types
101
+ if ([
102
+ "calculate",
103
+ "analyze",
104
+ "crypto",
105
+ "transform",
106
+ ].includes(operation)) {
107
+ taskType = operation;
108
+ }
109
+ }
110
+ const task = {
111
+ id: nehoid.NehoID.generate({ prefix: "cpu" }),
112
+ type: taskType,
113
+ priority,
114
+ workerType: "cpu",
115
+ createdAt: Date.now(),
116
+ data: taskData.body?.data || taskData,
117
+ };
118
+ this.workerPool.executeTask(task);
119
+ }
120
+ };
121
+ app.executeIOTask = (taskData, priority = 1) => {
122
+ if (this.workerPool) {
123
+ const task = {
124
+ id: `io-${Date.now()}-${Math.random()
125
+ .toString(36)
126
+ .substring(2, 11)}`,
127
+ type: "read",
128
+ priority,
129
+ workerType: "io",
130
+ createdAt: Date.now(),
131
+ data: taskData,
132
+ };
133
+ this.workerPool.executeTask(task);
134
+ }
135
+ };
136
+ // Add worker pool status check
137
+ app.isWorkerPoolEnabled = () => {
138
+ return this.isEnabled && !!this.workerPool;
139
+ };
140
+ Logger.logger.debug("other", "Worker pool methods added to app");
141
+ }
142
+ /**
143
+ * Get worker pool manager instance
144
+ */
145
+ getWorkerPool() {
146
+ return this.workerPool;
147
+ }
148
+ /**
149
+ * Get worker pool statistics
150
+ */
151
+ getStats() {
152
+ return this.workerPool ? this.workerPool.getStats() : null;
153
+ }
154
+ /**
155
+ * Check if worker pool is enabled and available
156
+ */
157
+ isAvailable() {
158
+ return this.isEnabled && !!this.workerPool;
159
+ }
160
+ /**
161
+ * Execute a task using the worker pool
162
+ */
163
+ executeTask(task) {
164
+ if (!this.workerPool) {
165
+ throw new Error("Worker pool not available");
166
+ }
167
+ this.workerPool.executeTask(task);
168
+ }
169
+ /**
170
+ * Update worker pool configuration
171
+ */
172
+ updateConfig(config) {
173
+ if (this.workerPool) {
174
+ this.workerPool.updateConfig(config);
175
+ }
176
+ }
177
+ /**
178
+ * Shutdown worker pool
179
+ */
180
+ shutdown() {
181
+ if (this.workerPool) {
182
+ Logger.logger.debug("other", "Shutting down WorkerPoolManager...");
183
+ this.workerPool.shutdown();
184
+ this.workerPool = undefined;
185
+ this.isEnabled = false;
186
+ Logger.logger.debug("other", "WorkerPoolManager shut down successfully");
187
+ }
188
+ }
189
+ /**
190
+ * Start worker pool (if not already started)
191
+ */
192
+ start() {
193
+ if (!this.isEnabled && this.options.workerPool?.enabled) {
194
+ this.initializeWorkerPool();
195
+ }
196
+ }
197
+ /**
198
+ * Get worker pool configuration
199
+ */
200
+ getConfig() {
201
+ return this.workerPool ? this.workerPool.config : null;
202
+ }
203
+ }
204
+
205
+ exports.WorkerPoolComponent = WorkerPoolComponent;
206
+ //# sourceMappingURL=WorkerPoolComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkerPoolComponent.js","sources":["../../../../../../src/server/components/fastapi/WorkerPoolComponent.ts"],"sourcesContent":[null],"names":["logger","WorkerPoolManager","NehoID"],"mappings":"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"}
@@ -3,34 +3,9 @@
3
3
  var types = require('./types.js');
4
4
  var ConsoleEncryption = require('./encryption/ConsoleEncryption.js');
5
5
  require('../../../../../mods/security/src/index.js');
6
- require('../../../../../mods/security/src/types.js');
7
- var hashCore = require('../../../../../mods/security/src/core/hash/hash-core.js');
8
- require('../../../../../mods/security/src/core/hash/hash-types.js');
9
- require('crypto');
10
- require('../../../../../mods/security/src/core/hash/hash-security.js');
11
- require('../../../../../mods/security/src/core/hash/hash-advanced.js');
12
- require('../../../../../mods/security/src/algorithms/hash-algorithms.js');
13
- require('../../../../../mods/security/src/core/keys/keys-types.js');
14
- require('../../../../../mods/security/src/core/keys/keys-logger.js');
15
- require('../../../../../mods/security/src/core/keys/keys-utils.js');
16
- require('../../../../../mods/security/src/core/keys/algorithms/mods/PBKDF2Algo.js');
17
- var randomCore = require('../../../../../mods/security/src/core/random/random-core.js');
18
- require('../../../../../mods/security/src/core/random/random-types.js');
19
- require('../../../../../mods/security/src/core/random/random-sources.js');
20
- require('nehonix-uri-processor');
21
- require('../../../../../mods/security/src/utils/memory/index.js');
22
- require('argon2');
23
- require('child_process');
24
- require('../../../../../mods/security/src/types/secure-memory.js');
25
- require('https');
26
- require('../../../../../mods/security/src/components/runtime-verification.js');
27
- require('../../../../../mods/security/src/components/tamper-evident-logging.js');
28
- require('../../../../../mods/security/src/components/secure-string/advanced/entropy-analyzer.js');
29
- require('../../../../../mods/security/src/components/secure-string/advanced/quantum-safe.js');
30
- require('../../../../../mods/security/src/components/secure-string/advanced/performance-monitor.js');
31
- require('nehoid');
32
- require('../../../../../mods/security/src/core/password/index.js');
6
+ var xyprissSecurity = require('xypriss-security');
33
7
  var index = require('../../../../../mods/security/src/components/fortified-function/index.js');
8
+ var hashCore = require('../../../../../mods/security/src/core/hash/hash-core.js');
34
9
 
35
10
  /***************************************************************************
36
11
  * XyPrissJS - Secure Array Types
@@ -757,7 +732,7 @@ class ConsoleInterceptor {
757
732
  const encoding = this.config.encryption?.encoding || "base64";
758
733
  // Extract just the encrypted data field and encode it properly
759
734
  const encrypt = index.func(async (out) => {
760
- const encr = await hashCore.Hash.createSecureHash(encryptedObj.data, randomCore.SecureRandom.generateSalt(), {
735
+ const encr = await hashCore.Hash.createSecureHash(encryptedObj.data, xyprissSecurity.SecureRandom.generateSalt(), {
761
736
  outputFormat: out,
762
737
  });
763
738
  return encr;
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleInterceptor.js","sources":["../../../../../../../src/server/components/fastapi/console/ConsoleInterceptor.ts"],"sourcesContent":[null],"names":["DEFAULT_CONSOLE_CONFIG","PRESERVE_PRESETS","ConsoleEncryption","func","Hash","SecureRandom"],"mappings":"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"}
1
+ {"version":3,"file":"ConsoleInterceptor.js","sources":["../../../../../../../src/server/components/fastapi/console/ConsoleInterceptor.ts"],"sourcesContent":[null],"names":["DEFAULT_CONSOLE_CONFIG","PRESERVE_PRESETS","ConsoleEncryption","func","Hash","SecureRandom"],"mappings":"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"}
@@ -0,0 +1,265 @@
1
+ 'use strict';
2
+
3
+ var worker_threads = require('worker_threads');
4
+ var os = require('os');
5
+ var path = require('path');
6
+
7
+ /**
8
+ * XyPrissJS - Worker Pool Manager Module
9
+ * Manages worker threads for CPU and I/O intensive tasks
10
+ */
11
+ class WorkerPoolManager {
12
+ constructor(config = {}) {
13
+ this.config = {
14
+ cpu: {
15
+ min: 1,
16
+ max: Math.max(1, os.cpus().length - 1),
17
+ },
18
+ io: {
19
+ min: 2,
20
+ max: 4,
21
+ },
22
+ maxConcurrentTasks: 100,
23
+ ...config,
24
+ };
25
+ this.cpuWorkers = [];
26
+ this.ioWorkers = [];
27
+ this.taskQueue = new Map();
28
+ this.workerLoads = new Map();
29
+ this.workerLastUsed = new Map();
30
+ this.stats = {
31
+ cpuWorkers: 0,
32
+ ioWorkers: 0,
33
+ activeTasks: 0,
34
+ queuedTasks: 0,
35
+ maxTasks: this.config.maxConcurrentTasks,
36
+ totalExecuted: 0,
37
+ avgExecutionTime: 0,
38
+ };
39
+ this.initializeWorkers();
40
+ }
41
+ initializeWorkers() {
42
+ // Initialize CPU workers
43
+ for (let i = 0; i < this.config.cpu.min; i++) {
44
+ this.createWorker("cpu");
45
+ }
46
+ // Initialize I/O workers
47
+ for (let i = 0; i < this.config.io.min; i++) {
48
+ this.createWorker("io");
49
+ }
50
+ }
51
+ createWorker(type) {
52
+ try {
53
+ const workerPath = type === "cpu"
54
+ ? path.join(__dirname, "workers", "enhanced-cpu-worker.js")
55
+ : path.join(__dirname, "workers", "io-worker.js");
56
+ const worker = new worker_threads.Worker(workerPath, {
57
+ workerData: { type },
58
+ });
59
+ worker.on("message", (result) => {
60
+ this.handleWorkerResult(result);
61
+ });
62
+ worker.on("error", (error) => {
63
+ console.error(`Worker error: ${error.message}`);
64
+ this.handleWorkerError(worker, type);
65
+ });
66
+ worker.on("exit", (code) => {
67
+ if (code !== 0) {
68
+ console.error(`Worker exited with code ${code}`);
69
+ this.handleWorkerExit(worker, type);
70
+ }
71
+ });
72
+ if (type === "cpu") {
73
+ this.cpuWorkers.push(worker);
74
+ this.stats.cpuWorkers++;
75
+ }
76
+ else {
77
+ this.ioWorkers.push(worker);
78
+ this.stats.ioWorkers++;
79
+ }
80
+ // Initialize worker load tracking
81
+ this.workerLoads.set(worker, 0);
82
+ this.workerLastUsed.set(worker, 0);
83
+ }
84
+ catch (error) {
85
+ console.error(`Failed to create ${type} worker:`, error);
86
+ // Don't throw error, just log it to prevent breaking the entire system
87
+ }
88
+ }
89
+ handleWorkerResult(result) {
90
+ this.stats.activeTasks--;
91
+ this.stats.totalExecuted++;
92
+ // Update average execution time
93
+ this.stats.avgExecutionTime =
94
+ (this.stats.avgExecutionTime * (this.stats.totalExecuted - 1) +
95
+ result.executionTime) /
96
+ this.stats.totalExecuted;
97
+ // Update worker load tracking if worker ID is provided
98
+ if (result.workerId !== undefined) {
99
+ const worker = [...this.cpuWorkers, ...this.ioWorkers].find((w) => w.threadId === result.workerId);
100
+ if (worker) {
101
+ const currentLoad = this.workerLoads.get(worker) || 0;
102
+ this.workerLoads.set(worker, Math.max(0, currentLoad - 1));
103
+ }
104
+ }
105
+ else {
106
+ // Fallback: Decrease load for all workers with active tasks
107
+ for (const [worker, load] of this.workerLoads.entries()) {
108
+ if (load > 0) {
109
+ this.workerLoads.set(worker, load - 1);
110
+ break; // Only decrease one worker's load
111
+ }
112
+ }
113
+ }
114
+ // Process next task in queue
115
+ this.processNextTask();
116
+ }
117
+ handleWorkerError(worker, type) {
118
+ const workers = type === "cpu" ? this.cpuWorkers : this.ioWorkers;
119
+ const index = workers.indexOf(worker);
120
+ if (index !== -1) {
121
+ workers.splice(index, 1);
122
+ this.stats[type === "cpu" ? "cpuWorkers" : "ioWorkers"]--;
123
+ // Clean up worker tracking
124
+ this.workerLoads.delete(worker);
125
+ this.workerLastUsed.delete(worker);
126
+ // Create new worker if below minimum
127
+ if (workers.length < this.config[type].min) {
128
+ this.createWorker(type);
129
+ }
130
+ }
131
+ }
132
+ handleWorkerExit(worker, type) {
133
+ this.handleWorkerError(worker, type);
134
+ }
135
+ /**
136
+ * Find the least busy worker from the given worker pool
137
+ * Uses intelligent load balancing considering:
138
+ * - Current active task count per worker
139
+ * - Last usage time for round-robin fallback
140
+ * - Worker availability and health
141
+ */
142
+ findLeastBusyWorker(workers) {
143
+ if (workers.length === 0) {
144
+ throw new Error("No workers available");
145
+ }
146
+ if (workers.length === 1) {
147
+ return workers[0];
148
+ }
149
+ // Find worker with minimum load
150
+ let leastBusyWorker = workers[0];
151
+ let minLoad = this.workerLoads.get(leastBusyWorker) || 0;
152
+ for (const worker of workers) {
153
+ const currentLoad = this.workerLoads.get(worker) || 0;
154
+ if (currentLoad < minLoad) {
155
+ minLoad = currentLoad;
156
+ leastBusyWorker = worker;
157
+ }
158
+ else if (currentLoad === minLoad) {
159
+ // If loads are equal, use the worker that was used least recently
160
+ const currentWorkerLastUsed = this.workerLastUsed.get(worker) || 0;
161
+ const leastBusyWorkerLastUsed = this.workerLastUsed.get(leastBusyWorker) || 0;
162
+ if (currentWorkerLastUsed < leastBusyWorkerLastUsed) {
163
+ leastBusyWorker = worker;
164
+ }
165
+ }
166
+ }
167
+ // Update last used time
168
+ this.workerLastUsed.set(leastBusyWorker, Date.now());
169
+ return leastBusyWorker;
170
+ }
171
+ executeTask(task) {
172
+ if (this.stats.activeTasks >= this.config.maxConcurrentTasks) {
173
+ // Queue task if at capacity
174
+ const queue = this.taskQueue.get(task.workerType) || [];
175
+ queue.push(task);
176
+ this.taskQueue.set(task.workerType, queue);
177
+ this.stats.queuedTasks++;
178
+ return;
179
+ }
180
+ const workers = task.workerType === "cpu" ? this.cpuWorkers : this.ioWorkers;
181
+ if (workers.length === 0) {
182
+ throw new Error(`No ${task.workerType} workers available`);
183
+ }
184
+ // Find least busy worker using intelligent load balancing
185
+ const worker = this.findLeastBusyWorker(workers);
186
+ // Update worker load tracking
187
+ const currentLoad = this.workerLoads.get(worker) || 0;
188
+ this.workerLoads.set(worker, currentLoad + 1);
189
+ // Send task to the selected worker
190
+ worker.postMessage(task);
191
+ this.stats.activeTasks++;
192
+ }
193
+ processNextTask() {
194
+ if (this.stats.queuedTasks === 0)
195
+ return;
196
+ // Process tasks from both queues
197
+ ["cpu", "io"].forEach((type) => {
198
+ const queue = this.taskQueue.get(type) || [];
199
+ if (queue.length > 0 &&
200
+ this.stats.activeTasks < this.config.maxConcurrentTasks) {
201
+ const task = queue.shift();
202
+ this.taskQueue.set(type, queue);
203
+ this.stats.queuedTasks--;
204
+ this.executeTask(task);
205
+ }
206
+ });
207
+ }
208
+ getStats() {
209
+ return { ...this.stats };
210
+ }
211
+ updateConfig(config) {
212
+ this.config = { ...this.config, ...config };
213
+ this.stats.maxTasks = this.config.maxConcurrentTasks;
214
+ // Adjust worker pools if needed
215
+ this.adjustWorkerPools();
216
+ }
217
+ adjustWorkerPools() {
218
+ // Adjust CPU workers
219
+ while (this.cpuWorkers.length < this.config.cpu.min) {
220
+ this.createWorker("cpu");
221
+ }
222
+ while (this.cpuWorkers.length > this.config.cpu.max) {
223
+ const worker = this.cpuWorkers.pop();
224
+ this.workerLoads.delete(worker);
225
+ this.workerLastUsed.delete(worker);
226
+ worker.terminate();
227
+ this.stats.cpuWorkers--;
228
+ }
229
+ // Adjust I/O workers
230
+ while (this.ioWorkers.length < this.config.io.min) {
231
+ this.createWorker("io");
232
+ }
233
+ while (this.ioWorkers.length > this.config.io.max) {
234
+ const worker = this.ioWorkers.pop();
235
+ this.workerLoads.delete(worker);
236
+ this.workerLastUsed.delete(worker);
237
+ worker.terminate();
238
+ this.stats.ioWorkers--;
239
+ }
240
+ }
241
+ shutdown() {
242
+ // Terminate all workers
243
+ [...this.cpuWorkers, ...this.ioWorkers].forEach((worker) => {
244
+ worker.terminate();
245
+ });
246
+ // Clear all tracking data
247
+ this.cpuWorkers = [];
248
+ this.ioWorkers = [];
249
+ this.taskQueue.clear();
250
+ this.workerLoads.clear();
251
+ this.workerLastUsed.clear();
252
+ this.stats = {
253
+ cpuWorkers: 0,
254
+ ioWorkers: 0,
255
+ activeTasks: 0,
256
+ queuedTasks: 0,
257
+ maxTasks: this.config.maxConcurrentTasks,
258
+ totalExecuted: 0,
259
+ avgExecutionTime: 0,
260
+ };
261
+ }
262
+ }
263
+
264
+ exports.WorkerPoolManager = WorkerPoolManager;
265
+ //# sourceMappingURL=WorkerPoolManager.js.map
@@ -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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"}