xypriss 1.3.8 → 2.0.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 (84) hide show
  1. package/README.md +219 -31
  2. package/dist/cjs/mods/security/src/components/cache/index.js +0 -72
  3. package/dist/cjs/mods/security/src/components/cache/index.js.map +1 -1
  4. package/dist/cjs/mods/security/src/index.js +0 -3
  5. package/dist/cjs/mods/security/src/index.js.map +1 -1
  6. package/dist/cjs/shared/logger/Logger.js +2 -0
  7. package/dist/cjs/shared/logger/Logger.js.map +1 -1
  8. package/dist/cjs/src/index.js +55 -61
  9. package/dist/cjs/src/index.js.map +1 -1
  10. package/dist/cjs/src/middleware/XyPrissMiddlewareAPI.js +281 -0
  11. package/dist/cjs/src/middleware/XyPrissMiddlewareAPI.js.map +1 -0
  12. package/dist/cjs/src/middleware/built-in/index.js +325 -0
  13. package/dist/cjs/src/middleware/built-in/index.js.map +1 -0
  14. package/dist/cjs/src/plugins/modules/builtin/ResponseTimePlugin.js +1 -1
  15. package/dist/cjs/src/plugins/modules/builtin/ResponseTimePlugin.js.map +1 -1
  16. package/dist/cjs/src/quick-start.js +0 -4
  17. package/dist/cjs/src/quick-start.js.map +1 -1
  18. package/dist/cjs/src/server/FastServer.js +53 -411
  19. package/dist/cjs/src/server/FastServer.js.map +1 -1
  20. package/dist/cjs/src/server/ServerFactory.js +7 -62
  21. package/dist/cjs/src/server/ServerFactory.js.map +1 -1
  22. package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js +1 -1
  23. package/dist/cjs/src/server/components/fastapi/PerformanceManager.js +1 -1
  24. package/dist/cjs/src/server/components/fastapi/PerformanceManager.js.map +1 -1
  25. package/dist/cjs/src/server/components/fastapi/RouteManager.js +0 -82
  26. package/dist/cjs/src/server/components/fastapi/RouteManager.js.map +1 -1
  27. package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js +384 -0
  28. package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -0
  29. package/dist/cjs/src/server/const/default.js +0 -8
  30. package/dist/cjs/src/server/const/default.js.map +1 -1
  31. package/dist/cjs/src/server/core/HttpServer.js +500 -0
  32. package/dist/cjs/src/server/core/HttpServer.js.map +1 -0
  33. package/dist/cjs/src/server/core/XyprissApp.js +412 -0
  34. package/dist/cjs/src/server/core/XyprissApp.js.map +1 -0
  35. package/dist/cjs/src/server/middleware/MiddlewareManager.js +146 -0
  36. package/dist/cjs/src/server/middleware/MiddlewareManager.js.map +1 -0
  37. package/dist/cjs/src/server/routing/Router.js +341 -0
  38. package/dist/cjs/src/server/routing/Router.js.map +1 -0
  39. package/dist/cjs/src/server/utils/PortManager.js +1 -0
  40. package/dist/cjs/src/server/utils/PortManager.js.map +1 -1
  41. package/dist/cjs/src/server/utils/forceClosePort.js +294 -88
  42. package/dist/cjs/src/server/utils/forceClosePort.js.map +1 -1
  43. package/dist/esm/mods/security/src/components/cache/index.js +1 -70
  44. package/dist/esm/mods/security/src/components/cache/index.js.map +1 -1
  45. package/dist/esm/mods/security/src/index.js +1 -1
  46. package/dist/esm/shared/logger/Logger.js +2 -0
  47. package/dist/esm/shared/logger/Logger.js.map +1 -1
  48. package/dist/esm/src/index.js +41 -11
  49. package/dist/esm/src/index.js.map +1 -1
  50. package/dist/esm/src/middleware/XyPrissMiddlewareAPI.js +279 -0
  51. package/dist/esm/src/middleware/XyPrissMiddlewareAPI.js.map +1 -0
  52. package/dist/esm/src/middleware/built-in/index.js +323 -0
  53. package/dist/esm/src/middleware/built-in/index.js.map +1 -0
  54. package/dist/esm/src/plugins/modules/builtin/ResponseTimePlugin.js +1 -1
  55. package/dist/esm/src/plugins/modules/builtin/ResponseTimePlugin.js.map +1 -1
  56. package/dist/esm/src/quick-start.js +0 -4
  57. package/dist/esm/src/quick-start.js.map +1 -1
  58. package/dist/esm/src/server/FastServer.js +53 -411
  59. package/dist/esm/src/server/FastServer.js.map +1 -1
  60. package/dist/esm/src/server/ServerFactory.js +8 -59
  61. package/dist/esm/src/server/ServerFactory.js.map +1 -1
  62. package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js +1 -1
  63. package/dist/esm/src/server/components/fastapi/PerformanceManager.js +1 -1
  64. package/dist/esm/src/server/components/fastapi/PerformanceManager.js.map +1 -1
  65. package/dist/esm/src/server/components/fastapi/RouteManager.js +0 -82
  66. package/dist/esm/src/server/components/fastapi/RouteManager.js.map +1 -1
  67. package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js +382 -0
  68. package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -0
  69. package/dist/esm/src/server/const/default.js +0 -8
  70. package/dist/esm/src/server/const/default.js.map +1 -1
  71. package/dist/esm/src/server/core/HttpServer.js +498 -0
  72. package/dist/esm/src/server/core/HttpServer.js.map +1 -0
  73. package/dist/esm/src/server/core/XyprissApp.js +410 -0
  74. package/dist/esm/src/server/core/XyprissApp.js.map +1 -0
  75. package/dist/esm/src/server/middleware/MiddlewareManager.js +144 -0
  76. package/dist/esm/src/server/middleware/MiddlewareManager.js.map +1 -0
  77. package/dist/esm/src/server/routing/Router.js +339 -0
  78. package/dist/esm/src/server/routing/Router.js.map +1 -0
  79. package/dist/esm/src/server/utils/PortManager.js +1 -0
  80. package/dist/esm/src/server/utils/PortManager.js.map +1 -1
  81. package/dist/esm/src/server/utils/forceClosePort.js +294 -88
  82. package/dist/esm/src/server/utils/forceClosePort.js.map +1 -1
  83. package/dist/index.d.ts +2166 -4273
  84. package/package.json +31 -19
@@ -1,125 +1,331 @@
1
1
  'use strict';
2
2
 
3
3
  var Logger = require('../../../shared/logger/Logger.js');
4
+ var childProcess = require('child_process');
5
+ var util = require('util');
4
6
 
5
7
  class Port {
6
8
  constructor(port) {
7
- this.port = port;
9
+ this.MAX_RETRIES = 3;
10
+ this.RETRY_DELAY = 500;
11
+ this.PORT_FREE_WAIT = 1000;
12
+ this.port = this._validatePort(port);
8
13
  this.logger = Logger.Logger.getInstance();
14
+ this.execAsync = util.promisify(childProcess.exec);
9
15
  }
10
16
  /**
11
17
  * Attempt to forcefully close/free up the specified port
12
- * @param port - The port number to force close
13
18
  * @returns Promise<boolean> - true if successful, false if failed
14
19
  */
15
20
  async forceClosePort() {
16
21
  try {
17
22
  this.logger.debug("server", `Attempting to force close port ${this.port}...`);
18
- // Import required modules
19
- const { exec } = require("child_process");
20
- const { promisify } = require("util");
21
- const execAsync = promisify(exec);
22
- // Platform-specific port closing logic
23
- if (process.platform === "win32") {
24
- // Windows: Find and kill process using the port
25
- try {
26
- const { stdout } = await execAsync(`netstat -ano | findstr :${this.port}`);
27
- const lines = stdout
28
- .split("\n")
29
- .filter((line) => line.trim());
30
- for (const line of lines) {
31
- const parts = line.trim().split(/\s+/);
32
- if (parts.length >= 5) {
33
- const pid = parts[4];
34
- if (pid && pid !== "0") {
35
- try {
36
- await execAsync(`taskkill /F /PID ${pid}`);
37
- this.logger.info("server", `Forcefully closed process ${pid} using port ${this.port}`);
38
- }
39
- catch (killError) {
40
- // Handle race condition - process may have already exited
41
- if (killError.message.includes("n'a pas pu être arrêté") ||
42
- killError.message.includes("could not be terminated") ||
43
- killError.message.includes("No such process")) {
44
- this.logger.info("server", `Process ${pid} using port ${this.port} had already exited`);
45
- }
46
- else {
47
- this.logger.warn("server", `Failed to kill process ${pid}: ${killError.message}`);
48
- }
49
- }
50
- }
51
- }
23
+ // Check if port is actually in use
24
+ const portCheck = await this._checkPortStatus();
25
+ if (!portCheck.isInUse) {
26
+ this.logger.info("server", `Port ${this.port} is already free`);
27
+ return true;
28
+ }
29
+ // Kill processes using the port
30
+ const success = await this._killPortProcesses(portCheck.processes);
31
+ if (!success) {
32
+ return false;
33
+ }
34
+ // Wait for port to be freed
35
+ await this._waitForPortFree();
36
+ // Final verification
37
+ const finalCheck = await this._verifyPortIsFree();
38
+ if (finalCheck) {
39
+ this.logger.info("server", `Port ${this.port} is now free`);
40
+ return true;
41
+ }
42
+ else {
43
+ this.logger.warn("server", `Port ${this.port} may still be in use after cleanup attempt`);
44
+ return false;
45
+ }
46
+ }
47
+ catch (error) {
48
+ this.logger.error("server", `Error force closing port ${this.port}:`, error.message);
49
+ return false;
50
+ }
51
+ }
52
+ /**
53
+ * Validates that the port number is within valid range
54
+ * @param port - The port number to validate
55
+ * @returns The validated port number
56
+ * @throws Error if port is invalid
57
+ */
58
+ _validatePort(port) {
59
+ if (!Number.isInteger(port) || port < 1 || port > 65535) {
60
+ throw new Error(`Invalid port number: ${port}. Port must be between 1 and 65535.`);
61
+ }
62
+ return port;
63
+ }
64
+ /**
65
+ * Checks the current status of the port
66
+ * @returns Promise<PortCheckResult> - Information about port usage
67
+ */
68
+ async _checkPortStatus() {
69
+ try {
70
+ const processes = await this._getPortProcesses();
71
+ return {
72
+ isInUse: processes.length > 0,
73
+ processes,
74
+ };
75
+ }
76
+ catch (error) {
77
+ this.logger.debug("server", `Error checking port status: ${error.message}`);
78
+ return { isInUse: false, processes: [] };
79
+ }
80
+ }
81
+ /**
82
+ * Gets list of processes using the port
83
+ * @returns Promise<PortProcess[]> - Array of processes using the port
84
+ */
85
+ async _getPortProcesses() {
86
+ if (process.platform === "win32") {
87
+ return this._getWindowsPortProcesses();
88
+ }
89
+ else {
90
+ return this._getUnixPortProcesses();
91
+ }
92
+ }
93
+ /**
94
+ * Gets processes using the port on Windows
95
+ * @returns Promise<PortProcess[]> - Array of Windows processes
96
+ */
97
+ async _getWindowsPortProcesses() {
98
+ const processes = [];
99
+ try {
100
+ const { stdout } = await this._executeWithRetry(`netstat -ano | findstr :${this.port}`);
101
+ const lines = stdout.split("\n").filter((line) => line.trim());
102
+ for (const line of lines) {
103
+ const parts = line.trim().split(/\s+/);
104
+ if (parts.length >= 5) {
105
+ const localAddress = parts[1];
106
+ const protocol = parts[0];
107
+ const state = parts[3];
108
+ const pid = parts[4];
109
+ // Ensure this is exactly our port (not a port that contains our port number)
110
+ if (this._isExactPortMatch(localAddress, this.port) &&
111
+ pid &&
112
+ pid !== "0") {
113
+ processes.push({ pid, protocol, state });
52
114
  }
53
115
  }
54
- catch (error) {
55
- this.logger.warn("server", `Failed to close port ${this.port} on Windows: ${error.message}`);
56
- return false;
116
+ }
117
+ }
118
+ catch (error) {
119
+ this.logger.debug("server", `Windows netstat command failed: ${error.message}`);
120
+ }
121
+ return processes;
122
+ }
123
+ /**
124
+ * Gets processes using the port on Unix-like systems
125
+ * @returns Promise<PortProcess[]> - Array of Unix processes
126
+ */
127
+ async _getUnixPortProcesses() {
128
+ const processes = [];
129
+ try {
130
+ const { stdout } = await this._executeWithRetry(`lsof -ti:${this.port}`);
131
+ const pids = stdout
132
+ .trim()
133
+ .split("\n")
134
+ .filter((pid) => pid && pid.trim());
135
+ for (const pid of pids) {
136
+ if (pid.trim()) {
137
+ // Get additional process info
138
+ try {
139
+ const { stdout: processInfo } = await this.execAsync(`lsof -p ${pid.trim()} | grep :${this.port}`);
140
+ const protocol = this._extractProtocolFromLsof(processInfo);
141
+ processes.push({ pid: pid.trim(), protocol });
142
+ }
143
+ catch {
144
+ // Fallback if detailed info fails
145
+ processes.push({
146
+ pid: pid.trim(),
147
+ protocol: "unknown",
148
+ });
149
+ }
57
150
  }
58
151
  }
152
+ }
153
+ catch (error) {
154
+ this.logger.debug("server", `Unix lsof command failed: ${error.message}`);
155
+ }
156
+ return processes;
157
+ }
158
+ /**
159
+ * Kills all processes using the port
160
+ * @param processes - Array of processes to kill
161
+ * @returns Promise<boolean> - true if all processes were handled successfully
162
+ */
163
+ async _killPortProcesses(processes) {
164
+ let allSuccessful = true;
165
+ for (const process of processes) {
166
+ const success = await this._killSingleProcess(process);
167
+ if (!success) {
168
+ allSuccessful = false;
169
+ }
170
+ }
171
+ return allSuccessful;
172
+ }
173
+ /**
174
+ * Kills a single process
175
+ * @param process - The process to kill
176
+ * @returns Promise<boolean> - true if successful or process no longer exists
177
+ */
178
+ async _killSingleProcess(process) {
179
+ try {
180
+ this.logger.debug("server", `Attempting to kill process ${process.pid} (${process.protocol}) using port ${this.port}`);
181
+ if (globalThis.process.platform === "win32") {
182
+ await this._executeWithRetry(`taskkill /F /PID ${process.pid}`);
183
+ }
59
184
  else {
60
- // Unix/Linux/macOS: Find and kill process using the port
185
+ // Try graceful kill first, then force kill
61
186
  try {
62
- const { stdout } = await execAsync(`lsof -ti:${this.port}`);
63
- const pids = stdout
64
- .trim()
65
- .split("\n")
66
- .filter((pid) => pid);
67
- for (const pid of pids) {
68
- if (pid) {
69
- try {
70
- await execAsync(`kill -9 ${pid}`);
71
- this.logger.info("server", `Forcefully closed process ${pid} using port ${this.port}`);
72
- }
73
- catch (killError) {
74
- // Handle race condition - process may have already exited
75
- if (killError.message.includes("No such process") ||
76
- killError.message.includes("Operation not permitted")) {
77
- this.logger.info("server", `Process ${pid} using port ${this.port} had already exited or is protected`);
78
- }
79
- else {
80
- this.logger.warn("server", `Failed to kill process ${pid}: ${killError.message}`);
81
- }
82
- }
83
- }
187
+ await this._executeWithRetry(`kill ${process.pid}`);
188
+ await new Promise((resolve) => setTimeout(resolve, 500));
189
+ // Check if process still exists
190
+ const stillExists = await this._processExists(process.pid);
191
+ if (stillExists) {
192
+ await this._executeWithRetry(`kill -9 ${process.pid}`);
84
193
  }
85
194
  }
86
- catch (error) {
87
- this.logger.warn("server", `Failed to close port ${this.port} on Unix: ${error.message}`);
88
- return false;
195
+ catch {
196
+ // Fallback to force kill
197
+ await this._executeWithRetry(`kill -9 ${process.pid}`);
89
198
  }
90
199
  }
91
- // Wait a moment for the port to be freed
92
- await new Promise((resolve) => setTimeout(resolve, 1000));
93
- // Verify the port is now free
200
+ this.logger.info("server", `Successfully killed process ${process.pid} using port ${this.port}`);
201
+ return true;
202
+ }
203
+ catch (error) {
204
+ // Handle common scenarios where process is already gone or protected
205
+ if (this._isProcessAlreadyGoneError(error.message)) {
206
+ this.logger.info("server", `Process ${process.pid} using port ${this.port} had already exited`);
207
+ return true;
208
+ }
209
+ else if (this._isProcessProtectedError(error.message)) {
210
+ this.logger.warn("server", `Process ${process.pid} is protected and cannot be killed`);
211
+ return false;
212
+ }
213
+ else {
214
+ this.logger.warn("server", `Failed to kill process ${process.pid}: ${error.message}`);
215
+ return false;
216
+ }
217
+ }
218
+ }
219
+ /**
220
+ * Executes a command with retry logic
221
+ * @param command - Command to execute
222
+ * @returns Promise with command result
223
+ */
224
+ async _executeWithRetry(command) {
225
+ let lastError;
226
+ for (let attempt = 1; attempt <= this.MAX_RETRIES; attempt++) {
94
227
  try {
95
- if (process.platform === "win32") {
96
- const { stdout } = await execAsync(`netstat -ano | findstr :${this.port}`);
97
- if (!stdout.trim()) {
98
- this.logger.info("server", `Port ${this.port} is now free`);
99
- return true;
100
- }
101
- }
102
- else {
103
- const { stdout } = await execAsync(`lsof -ti:${this.port}`);
104
- if (!stdout.trim()) {
105
- this.logger.info("server", `Port ${this.port} is now free`);
106
- return true;
107
- }
228
+ return await this.execAsync(command);
229
+ }
230
+ catch (error) {
231
+ lastError = error;
232
+ if (attempt < this.MAX_RETRIES) {
233
+ this.logger.debug("server", `Command failed (attempt ${attempt}/${this.MAX_RETRIES}), retrying: ${command}`);
234
+ await new Promise((resolve) => setTimeout(resolve, this.RETRY_DELAY));
108
235
  }
109
236
  }
110
- catch (verifyError) {
111
- // If the command fails, it likely means no process is using the port
112
- this.logger.info("server", `Port ${this.port} appears to be free`);
113
- return true;
237
+ }
238
+ throw lastError;
239
+ }
240
+ /**
241
+ * Waits for the port to be freed
242
+ */
243
+ async _waitForPortFree() {
244
+ await new Promise((resolve) => setTimeout(resolve, this.PORT_FREE_WAIT));
245
+ }
246
+ /**
247
+ * Verifies that the port is now free
248
+ * @returns Promise<boolean> - true if port is free
249
+ */
250
+ async _verifyPortIsFree() {
251
+ try {
252
+ const portCheck = await this._checkPortStatus();
253
+ return !portCheck.isInUse;
254
+ }
255
+ catch (error) {
256
+ // If check fails, assume port is free (commands typically fail when nothing is using the port)
257
+ return true;
258
+ }
259
+ }
260
+ /**
261
+ * Checks if a process still exists
262
+ * @param pid - Process ID to check
263
+ * @returns Promise<boolean> - true if process exists
264
+ */
265
+ async _processExists(pid) {
266
+ try {
267
+ if (process.platform === "win32") {
268
+ await this.execAsync(`tasklist /FI "PID eq ${pid}" | findstr ${pid}`);
269
+ }
270
+ else {
271
+ await this.execAsync(`kill -0 ${pid}`);
114
272
  }
115
- this.logger.info("server", `Successfully processed port ${this.port} closure request`);
116
273
  return true;
117
274
  }
118
- catch (error) {
119
- this.logger.error("server", `Error force closing port ${this.port}:`, error.message);
275
+ catch {
120
276
  return false;
121
277
  }
122
278
  }
279
+ /**
280
+ * Checks if the address exactly matches our port
281
+ * @param address - Network address string (e.g., "0.0.0.0:3000")
282
+ * @param port - Port number to match
283
+ * @returns boolean - true if exact match
284
+ */
285
+ _isExactPortMatch(address, port) {
286
+ const portPattern = new RegExp(`:${port}$`);
287
+ return portPattern.test(address);
288
+ }
289
+ /**
290
+ * Extracts protocol information from lsof output
291
+ * @param lsofOutput - Output from lsof command
292
+ * @returns string - Protocol type
293
+ */
294
+ _extractProtocolFromLsof(lsofOutput) {
295
+ if (lsofOutput.includes("TCP"))
296
+ return "TCP";
297
+ if (lsofOutput.includes("UDP"))
298
+ return "UDP";
299
+ return "unknown";
300
+ }
301
+ /**
302
+ * Determines if error indicates process is already gone
303
+ * @param errorMessage - Error message to check
304
+ * @returns boolean - true if process no longer exists
305
+ */
306
+ _isProcessAlreadyGoneError(errorMessage) {
307
+ const goneIndicators = [
308
+ "n'a pas pu être arrêté",
309
+ "could not be terminated",
310
+ "No such process",
311
+ "not found",
312
+ "ERROR: The process",
313
+ ];
314
+ return goneIndicators.some((indicator) => errorMessage.toLowerCase().includes(indicator.toLowerCase()));
315
+ }
316
+ /**
317
+ * Determines if error indicates process is protected
318
+ * @param errorMessage - Error message to check
319
+ * @returns boolean - true if process is protected
320
+ */
321
+ _isProcessProtectedError(errorMessage) {
322
+ const protectedIndicators = [
323
+ "Operation not permitted",
324
+ "Access denied",
325
+ "insufficient privilege",
326
+ ];
327
+ return protectedIndicators.some((indicator) => errorMessage.toLowerCase().includes(indicator.toLowerCase()));
328
+ }
123
329
  }
124
330
 
125
331
  exports.Port = Port;
@@ -1 +1 @@
1
- {"version":3,"file":"forceClosePort.js","sources":["../../../../../src/server/utils/forceClosePort.ts"],"sourcesContent":[null],"names":["Logger"],"mappings":"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"}
1
+ {"version":3,"file":"forceClosePort.js","sources":["../../../../../src/server/utils/forceClosePort.ts"],"sourcesContent":[null],"names":["Logger","promisify","exec"],"mappings":"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"}
@@ -285,75 +285,6 @@ new Proxy({}, {
285
285
  },
286
286
  });
287
287
  // ========================================
288
- // MEMORY CACHE API
289
- // ========================================
290
- /**
291
- * Read data from memory cache with fallback
292
- *
293
- * Retrieves data from the default memory cache instance.
294
- * Returns empty object if key is not found (legacy behavior).
295
- *
296
- * @param args - Arguments passed to Cache.get()
297
- * @returns Promise resolving to cached data or empty object
298
- *
299
- * @example
300
- * ```typescript
301
- * import { readCache } from "xypriss-security";
302
- *
303
- * const sessionData = await readCache('session:user123');
304
- * console.log('User ID:', sessionData.userId || 'Not found');
305
- * ```
306
- *
307
- * @since 4.2.2
308
- */
309
- const readCache = async (...args) => {
310
- const result = await Cache.get(...args);
311
- return result || {};
312
- };
313
- /**
314
- * Write data to memory cache
315
- *
316
- * Stores data in the default memory cache instance with encryption
317
- * and automatic compression for large values.
318
- *
319
- * @param args - Arguments passed to Cache.set()
320
- * @returns Promise resolving to true if successful
321
- *
322
- * @example
323
- * ```typescript
324
- * import { writeCache } from "xypriss-security";
325
- *
326
- * await writeCache('user:profile', userData, { ttl: 1800000 }); // 30 min
327
- * ```
328
- *
329
- * @since 4.2.2
330
- */
331
- const writeCache = async (...args) => {
332
- return Cache.set(...args);
333
- };
334
- /**
335
- * Get memory cache performance statistics
336
- *
337
- * Returns comprehensive statistics including hit rates, memory usage,
338
- * and performance metrics for the default cache instance.
339
- *
340
- * @returns Current cache statistics
341
- *
342
- * @example
343
- * ```typescript
344
- * import { getCacheStats } from "xypriss-security";
345
- *
346
- * const stats = getCacheStats();
347
- * console.log(`Hit rate: ${stats.hitRate}%`);
348
- * console.log(`Memory usage: ${stats.memoryUsage} bytes`);
349
- * ```
350
- *
351
- * @since 4.2.2
352
- */
353
- const getCacheStats = () => {
354
- return Cache.getStats;
355
- };
356
- // ========================================
357
288
  // UTILITY FUNCTIONS
358
289
  // ========================================
359
290
  /**
@@ -456,5 +387,5 @@ const handleGracefulShutdown = () => {
456
387
  process.on("SIGTERM", handleGracefulShutdown);
457
388
  process.on("SIGINT", handleGracefulShutdown);
458
389
 
459
- export { Cache, DEFAULT_FILE_CACHE_CONFIG, FileCache, SIMC as SecureInMemoryCache, createOptimalCache, generateFilePath, getCacheStats, readCache, writeCache };
390
+ export { Cache, DEFAULT_FILE_CACHE_CONFIG, FileCache, SIMC as SecureInMemoryCache, createOptimalCache, generateFilePath };
460
391
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../mods/security/src/components/cache/index.ts"],"sourcesContent":[null],"names":["SecureInMemoryCache","path"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../mods/security/src/components/cache/index.ts"],"sourcesContent":[null],"names":["SecureInMemoryCache","path"],"mappings":"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"}
@@ -35,7 +35,7 @@ import './components/fortified-function/serializer/safe-serializer.js';
35
35
  import 'nehoid';
36
36
  import '../../../shared/logger/Logger.js';
37
37
  import './components/fortified-function/UFA/ultra-fast-allocator.js';
38
- export { Cache, createOptimalCache, generateFilePath, getCacheStats, readCache, writeCache } from './components/cache/index.js';
38
+ export { Cache, createOptimalCache, generateFilePath } from './components/cache/index.js';
39
39
  import { PasswordManager } from './core/password/password-core.js';
40
40
 
41
41
  /***************************************************************************
@@ -17,6 +17,8 @@ class Logger {
17
17
  console: false, // Console interception system logs (can be verbose)
18
18
  ipc: true, // Inter-process communication logs
19
19
  memory: true, // Memory monitoring and detection logs
20
+ lifecycle: true, // Server lifecycle management logs
21
+ routing: true, // Fast routing system logs
20
22
  },
21
23
  types: {
22
24
  startup: true,
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.js","sources":["../../../../shared/logger/Logger.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Logger.js","sources":["../../../../shared/logger/Logger.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}