xypriss 1.2.4 → 1.3.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 (109) hide show
  1. package/README.md +51 -3
  2. package/dist/cjs/mods/security/src/components/cache/index.js +1 -1
  3. package/dist/cjs/shared/logger/Logger.js +2 -0
  4. package/dist/cjs/shared/logger/Logger.js.map +1 -1
  5. package/dist/cjs/src/cluster/bun-cluster-manager.js +1567 -0
  6. package/dist/cjs/src/cluster/bun-cluster-manager.js.map +1 -0
  7. package/dist/cjs/src/cluster/cluster-manager.js +1 -1
  8. package/dist/cjs/src/cluster/cluster-manager.js.map +1 -1
  9. package/dist/cjs/src/cluster/index.js +25 -6
  10. package/dist/cjs/src/cluster/index.js.map +1 -1
  11. package/dist/cjs/src/cluster/memory-manager.js +486 -0
  12. package/dist/cjs/src/cluster/memory-manager.js.map +1 -0
  13. package/dist/cjs/src/cluster/modules/BunIPCManager.js +603 -0
  14. package/dist/cjs/src/cluster/modules/BunIPCManager.js.map +1 -0
  15. package/dist/cjs/src/cluster/modules/ClusterFactory.js +22 -1
  16. package/dist/cjs/src/cluster/modules/ClusterFactory.js.map +1 -1
  17. package/dist/cjs/src/cluster/modules/CpuMonitor.js +658 -0
  18. package/dist/cjs/src/cluster/modules/CpuMonitor.js.map +1 -0
  19. package/dist/cjs/src/cluster/modules/CrossPlatformMemory.js +257 -0
  20. package/dist/cjs/src/cluster/modules/CrossPlatformMemory.js.map +1 -0
  21. package/dist/cjs/src/cluster/modules/ProcessMonitor.js +513 -0
  22. package/dist/cjs/src/cluster/modules/ProcessMonitor.js.map +1 -0
  23. package/dist/cjs/src/plugins/server-maintenance-plugin.js +79 -14
  24. package/dist/cjs/src/plugins/server-maintenance-plugin.js.map +1 -1
  25. package/dist/cjs/src/server/FastServer.js +64 -43
  26. package/dist/cjs/src/server/FastServer.js.map +1 -1
  27. package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js +226 -10
  28. package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
  29. package/dist/cjs/src/server/const/Cluster.config.js +174 -31
  30. package/dist/cjs/src/server/const/Cluster.config.js.map +1 -1
  31. package/dist/cjs/src/server/const/default.js +11 -2
  32. package/dist/cjs/src/server/const/default.js.map +1 -1
  33. package/dist/cjs/src/server/utils/PortManager.js +26 -15
  34. package/dist/cjs/src/server/utils/PortManager.js.map +1 -1
  35. package/dist/esm/mods/security/src/components/cache/index.js +1 -1
  36. package/dist/esm/shared/logger/Logger.js +2 -0
  37. package/dist/esm/shared/logger/Logger.js.map +1 -1
  38. package/dist/esm/src/cluster/bun-cluster-manager.js +1565 -0
  39. package/dist/esm/src/cluster/bun-cluster-manager.js.map +1 -0
  40. package/dist/esm/src/cluster/cluster-manager.js +1 -1
  41. package/dist/esm/src/cluster/cluster-manager.js.map +1 -1
  42. package/dist/esm/src/cluster/index.js +25 -6
  43. package/dist/esm/src/cluster/index.js.map +1 -1
  44. package/dist/esm/src/cluster/memory-manager.js +484 -0
  45. package/dist/esm/src/cluster/memory-manager.js.map +1 -0
  46. package/dist/esm/src/cluster/modules/BunIPCManager.js +601 -0
  47. package/dist/esm/src/cluster/modules/BunIPCManager.js.map +1 -0
  48. package/dist/esm/src/cluster/modules/ClusterFactory.js +22 -1
  49. package/dist/esm/src/cluster/modules/ClusterFactory.js.map +1 -1
  50. package/dist/esm/src/cluster/modules/CpuMonitor.js +656 -0
  51. package/dist/esm/src/cluster/modules/CpuMonitor.js.map +1 -0
  52. package/dist/esm/src/cluster/modules/CrossPlatformMemory.js +255 -0
  53. package/dist/esm/src/cluster/modules/CrossPlatformMemory.js.map +1 -0
  54. package/dist/esm/src/cluster/modules/ProcessMonitor.js +511 -0
  55. package/dist/esm/src/cluster/modules/ProcessMonitor.js.map +1 -0
  56. package/dist/esm/src/plugins/server-maintenance-plugin.js +79 -14
  57. package/dist/esm/src/plugins/server-maintenance-plugin.js.map +1 -1
  58. package/dist/esm/src/server/FastServer.js +64 -43
  59. package/dist/esm/src/server/FastServer.js.map +1 -1
  60. package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js +226 -10
  61. package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
  62. package/dist/esm/src/server/const/Cluster.config.js +174 -31
  63. package/dist/esm/src/server/const/Cluster.config.js.map +1 -1
  64. package/dist/esm/src/server/const/default.js +11 -2
  65. package/dist/esm/src/server/const/default.js.map +1 -1
  66. package/dist/esm/src/server/utils/PortManager.js +26 -15
  67. package/dist/esm/src/server/utils/PortManager.js.map +1 -1
  68. package/dist/index.d.ts +90 -2
  69. package/package.json +6 -1
  70. package/dist/cjs/src/plugins/modules/network/index.js +0 -120
  71. package/dist/cjs/src/plugins/modules/network/index.js.map +0 -1
  72. package/dist/cjs/src/server/plugins/PluginEngine.js +0 -378
  73. package/dist/cjs/src/server/plugins/PluginEngine.js.map +0 -1
  74. package/dist/cjs/src/server/plugins/PluginRegistry.js +0 -339
  75. package/dist/cjs/src/server/plugins/PluginRegistry.js.map +0 -1
  76. package/dist/cjs/src/server/plugins/builtin/JWTAuthPlugin.js +0 -591
  77. package/dist/cjs/src/server/plugins/builtin/JWTAuthPlugin.js.map +0 -1
  78. package/dist/cjs/src/server/plugins/builtin/ResponseTimePlugin.js +0 -413
  79. package/dist/cjs/src/server/plugins/builtin/ResponseTimePlugin.js.map +0 -1
  80. package/dist/cjs/src/server/plugins/builtin/SmartCachePlugin.js +0 -843
  81. package/dist/cjs/src/server/plugins/builtin/SmartCachePlugin.js.map +0 -1
  82. package/dist/cjs/src/server/plugins/core/CachePlugin.js +0 -1975
  83. package/dist/cjs/src/server/plugins/core/CachePlugin.js.map +0 -1
  84. package/dist/cjs/src/server/plugins/core/PerformancePlugin.js +0 -894
  85. package/dist/cjs/src/server/plugins/core/PerformancePlugin.js.map +0 -1
  86. package/dist/cjs/src/server/plugins/core/SecurityPlugin.js +0 -799
  87. package/dist/cjs/src/server/plugins/core/SecurityPlugin.js.map +0 -1
  88. package/dist/cjs/src/server/plugins/types/PluginTypes.js +0 -47
  89. package/dist/cjs/src/server/plugins/types/PluginTypes.js.map +0 -1
  90. package/dist/esm/src/plugins/modules/network/index.js +0 -109
  91. package/dist/esm/src/plugins/modules/network/index.js.map +0 -1
  92. package/dist/esm/src/server/plugins/PluginEngine.js +0 -376
  93. package/dist/esm/src/server/plugins/PluginEngine.js.map +0 -1
  94. package/dist/esm/src/server/plugins/PluginRegistry.js +0 -337
  95. package/dist/esm/src/server/plugins/PluginRegistry.js.map +0 -1
  96. package/dist/esm/src/server/plugins/builtin/JWTAuthPlugin.js +0 -589
  97. package/dist/esm/src/server/plugins/builtin/JWTAuthPlugin.js.map +0 -1
  98. package/dist/esm/src/server/plugins/builtin/ResponseTimePlugin.js +0 -411
  99. package/dist/esm/src/server/plugins/builtin/ResponseTimePlugin.js.map +0 -1
  100. package/dist/esm/src/server/plugins/builtin/SmartCachePlugin.js +0 -841
  101. package/dist/esm/src/server/plugins/builtin/SmartCachePlugin.js.map +0 -1
  102. package/dist/esm/src/server/plugins/core/CachePlugin.js +0 -1973
  103. package/dist/esm/src/server/plugins/core/CachePlugin.js.map +0 -1
  104. package/dist/esm/src/server/plugins/core/PerformancePlugin.js +0 -872
  105. package/dist/esm/src/server/plugins/core/PerformancePlugin.js.map +0 -1
  106. package/dist/esm/src/server/plugins/core/SecurityPlugin.js +0 -797
  107. package/dist/esm/src/server/plugins/core/SecurityPlugin.js.map +0 -1
  108. package/dist/esm/src/server/plugins/types/PluginTypes.js +0 -47
  109. package/dist/esm/src/server/plugins/types/PluginTypes.js.map +0 -1
@@ -1,6 +1,12 @@
1
1
  import { DEFAULT_FW_CONFIG } from './FileWatcher.config.js';
2
2
  import { DEFAULT_CONSOLE_CONFIG } from '../components/fastapi/console/types.js';
3
+ import { DEFAULT_CLUSTER_CONFIGS } from './Cluster.config.js';
3
4
 
5
+ /**
6
+ * Default configuration for XyPriss server.
7
+ * This configuration is used when no custom configuration is provided.
8
+ *
9
+ */
4
10
  // Default configuration
5
11
  const DEFAULT_OPTIONS = {
6
12
  cache: {
@@ -62,7 +68,6 @@ const DEFAULT_OPTIONS = {
62
68
  server: {
63
69
  enableMiddleware: true,
64
70
  port: 8085, // Default port for a UF Server
65
- host: "localhost",
66
71
  trustProxy: false,
67
72
  jsonLimit: "10mb",
68
73
  urlEncodedLimit: "10mb",
@@ -118,7 +123,11 @@ const DEFAULT_OPTIONS = {
118
123
  theme: "auto",
119
124
  enabled: true,
120
125
  showBackButton: false,
121
- showSuggestions: false
126
+ showSuggestions: false,
127
+ },
128
+ cluster: {
129
+ enabled: false, // Disabled by default for single-process mode
130
+ config: DEFAULT_CLUSTER_CONFIGS,
122
131
  },
123
132
  };
124
133
 
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sources":["../../../../../src/server/const/default.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default.js","sources":["../../../../../src/server/const/default.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,8 +1,3 @@
1
- import { createServer } from 'http';
2
-
3
- /**
4
- * Port Manager - Handles automatic port switching when ports are in use
5
- */
6
1
  class PortManager {
7
2
  constructor(originalPort, config) {
8
3
  this.originalPort = originalPort;
@@ -19,13 +14,15 @@ class PortManager {
19
14
  */
20
15
  async isPortAvailable(port, host = "localhost") {
21
16
  return new Promise((resolve) => {
22
- const server = createServer();
17
+ // Use net.connect to test port availability more reliably
18
+ const net = require("net");
19
+ const socket = new net.Socket();
23
20
  let resolved = false;
24
21
  const cleanup = () => {
25
22
  if (!resolved) {
26
23
  resolved = true;
27
24
  try {
28
- server.close();
25
+ socket.destroy();
29
26
  }
30
27
  catch (e) {
31
28
  // Ignore cleanup errors
@@ -35,22 +32,36 @@ class PortManager {
35
32
  // Set a timeout to avoid hanging
36
33
  const timeout = setTimeout(() => {
37
34
  cleanup();
38
- resolve(false);
35
+ resolve(true); // If connection times out, assume port is available
39
36
  }, 1000);
40
- // Use 127.0.0.1 for port availability check to ensure proper conflict detection
41
- // This works around a Bun issue where multiple servers can bind to "localhost"
42
- const checkHost = host === "localhost" ? "127.0.0.1" : host;
43
- server.listen(port, checkHost, () => {
37
+ // Use the same host for port availability check to ensure proper conflict detection
38
+ const checkHost = host;
39
+ socket.setTimeout(1000);
40
+ socket.on("connect", () => {
41
+ // If we can connect, the port is in use
42
+ clearTimeout(timeout);
43
+ cleanup();
44
+ resolve(false);
45
+ });
46
+ socket.on("error", (err) => {
44
47
  clearTimeout(timeout);
45
48
  cleanup();
49
+ // If connection fails, the port is likely available
46
50
  resolve(true);
47
51
  });
48
- server.on("error", (err) => {
52
+ socket.on("timeout", () => {
49
53
  clearTimeout(timeout);
50
54
  cleanup();
51
- // EADDRINUSE means port is in use
52
- resolve(err.code !== "EADDRINUSE");
55
+ resolve(true);
53
56
  });
57
+ try {
58
+ socket.connect(port, checkHost);
59
+ }
60
+ catch (error) {
61
+ clearTimeout(timeout);
62
+ cleanup();
63
+ resolve(true);
64
+ }
54
65
  });
55
66
  }
56
67
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"PortManager.js","sources":["../../../../../src/server/utils/PortManager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PortManager.js","sources":["../../../../../src/server/utils/PortManager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -468,6 +468,18 @@ interface ClusterConfig {
468
468
  memoryThreshold?: string;
469
469
  cpuThreshold?: number;
470
470
  };
471
+ memoryManagement?: {
472
+ enabled?: boolean;
473
+ maxWorkerMemory?: string;
474
+ maxTotalMemory?: string;
475
+ memoryCheckInterval?: number;
476
+ memoryWarningThreshold?: number;
477
+ memoryCriticalThreshold?: number;
478
+ autoScaleOnMemory?: boolean;
479
+ memoryLeakDetection?: boolean;
480
+ garbageCollectionHint?: boolean;
481
+ lowMemoryMode?: boolean;
482
+ };
471
483
  healthCheck?: {
472
484
  enabled?: boolean;
473
485
  interval?: number;
@@ -523,6 +535,39 @@ interface ClusterConfig {
523
535
  max?: number;
524
536
  timeout?: number;
525
537
  };
538
+ memoryManagement?: {
539
+ enabled?: boolean;
540
+ maxTotalMemory?: string;
541
+ memoryCheckInterval?: number;
542
+ memoryWarningThreshold?: number;
543
+ memoryCriticalThreshold?: number;
544
+ autoScaleOnMemory?: boolean;
545
+ memoryLeakDetection?: boolean;
546
+ garbageCollectionHint?: boolean;
547
+ lowMemoryMode?: boolean;
548
+ memoryReservation?: string;
549
+ swapUsageLimit?: number;
550
+ };
551
+ performanceOptimization?: {
552
+ enabled?: boolean;
553
+ lowMemoryMode?: boolean;
554
+ reducedLogging?: boolean;
555
+ compactMetrics?: boolean;
556
+ lazyWorkerInit?: boolean;
557
+ workerPooling?: boolean;
558
+ memoryPooling?: boolean;
559
+ disableDebugFeatures?: boolean;
560
+ minimalFootprint?: boolean;
561
+ efficientDataStructures?: boolean;
562
+ };
563
+ enforcement?: {
564
+ enabled?: boolean;
565
+ enforceHardLimits?: boolean;
566
+ softLimitWarnings?: boolean;
567
+ gracefulDegradation?: boolean;
568
+ resourceThrottling?: boolean;
569
+ alertOnLimitReached?: boolean;
570
+ };
526
571
  };
527
572
  monitoring?: {
528
573
  enabled?: boolean;
@@ -1147,7 +1192,7 @@ interface OptimizedRoute {
1147
1192
 
1148
1193
  declare const LOG_LEVELS: readonly ["silent", "error", "warn", "info", "debug", "verbose"];
1149
1194
  type LogLevel = (typeof LOG_LEVELS)[number];
1150
- declare const LOG_COMPONENTS: readonly ["middleware", "server", "cache", "cluster", "performance", "fileWatcher", "plugins", "security", "monitoring", "routes", "userApp", "typescript", "console", "other", "router"];
1195
+ declare const LOG_COMPONENTS: readonly ["middleware", "server", "cache", "cluster", "performance", "fileWatcher", "plugins", "security", "monitoring", "routes", "userApp", "typescript", "console", "other", "router", "acpes", "ipc", "memory"];
1151
1196
  type LogComponent = (typeof LOG_COMPONENTS)[number];
1152
1197
  declare const LOG_TYPES: readonly ["startup", "warnings", "errors", "performance", "debug", "hotReload", "portSwitching"];
1153
1198
  type LogType = (typeof LOG_TYPES)[number];
@@ -3791,6 +3836,8 @@ interface ServerOptions {
3791
3836
  middleware?: boolean;
3792
3837
  router?: boolean;
3793
3838
  typescript?: boolean;
3839
+ acpes?: boolean;
3840
+ ipc?: boolean;
3794
3841
  };
3795
3842
  types?: {
3796
3843
  startup?: boolean;
@@ -5697,6 +5744,9 @@ declare class ServerMaintenancePlugin extends EventEmitter {
5697
5744
  private errorCount;
5698
5745
  private requestCount;
5699
5746
  private responseTimes;
5747
+ private crossPlatformMemory;
5748
+ private activeConnections;
5749
+ private server;
5700
5750
  constructor(config?: MaintenanceConfig);
5701
5751
  /**
5702
5752
  * Initialize the plugin
@@ -5706,6 +5756,14 @@ declare class ServerMaintenancePlugin extends EventEmitter {
5706
5756
  * Install middleware to monitor requests
5707
5757
  */
5708
5758
  private installMonitoringMiddleware;
5759
+ /**
5760
+ * Setup connection tracking
5761
+ */
5762
+ private setupConnectionTracking;
5763
+ /**
5764
+ * Setup server connection event tracking
5765
+ */
5766
+ private setupServerConnectionTracking;
5709
5767
  /**
5710
5768
  * Setup error handlers
5711
5769
  */
@@ -5719,7 +5777,7 @@ declare class ServerMaintenancePlugin extends EventEmitter {
5719
5777
  */
5720
5778
  private performMaintenanceCheck;
5721
5779
  /**
5722
- * Collect current health metrics
5780
+ * Collect current health metrics using CrossPlatformMemory CLI
5723
5781
  */
5724
5782
  private collectHealthMetrics;
5725
5783
  /**
@@ -7514,6 +7572,10 @@ declare class ClusterFactory implements ClusterFactory$1 {
7514
7572
  * Get intelligent defaults based on system resources
7515
7573
  */
7516
7574
  private getIntelligentDefaults;
7575
+ /**
7576
+ * Get conservative memory per worker based on system resources
7577
+ */
7578
+ private _getConservativeMemoryPerWorker;
7517
7579
  /**
7518
7580
  * Get environment-specific configuration
7519
7581
  */
@@ -7558,6 +7620,32 @@ declare function createCluster(config?: ClusterConfig): RobustClusterManager;
7558
7620
  declare function createClusterForEnvironment(env: "development" | "production" | "test"): RobustClusterManager;
7559
7621
  declare function buildCluster(): ClusterBuilder;
7560
7622
 
7623
+ /***************************************************************************
7624
+ * XyPrissJS - Advanced JavaScript Security Library
7625
+ *
7626
+ * @author Nehonix
7627
+ * @license MIT
7628
+ *
7629
+ * Copyright (c) 2025 Nehonix. All rights reserved.
7630
+ *
7631
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7632
+ * of this software and associated documentation files (the "Software"), to deal
7633
+ * in the Software without restriction, including without limitation the rights
7634
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7635
+ * copies of the Software, and to permit persons to whom the Software is
7636
+ * furnished to do so, subject to the following conditions:
7637
+ *
7638
+ * The above copyright notice and this permission notice shall be included in all
7639
+ * copies or substantial portions of the Software.
7640
+ *
7641
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
7642
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
7643
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
7644
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
7645
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
7646
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
7647
+ * SOFTWARE.
7648
+ ***************************************************************************** */
7561
7649
  /**
7562
7650
  * XyPrissJS Express Cluster Module
7563
7651
  * cluster management system with advanced monitoring and auto-scaling
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xypriss",
3
- "version": "1.2.4",
3
+ "version": "1.3.1",
4
4
  "description": "XyPriss is a Node.js framework that extends Express.js with additional performance, security, and scalability features. Built with TypeScript, it maintains full Express.js compatibility while adding enterprise-level capabilities for production applications.",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -15,6 +15,8 @@
15
15
  "LICENSE"
16
16
  ],
17
17
  "scripts": {
18
+ "postinstall": "node scripts/postinstall.js",
19
+ "install-memory-cli": "node scripts/install-memory-cli.js",
18
20
  "build": "NODE_OPTIONS='--max-old-space-size=4096' npx rollup -c rollup.config.js",
19
21
  "build:memory": "NODE_OPTIONS='--max-old-space-size=6144' npx rollup -c rollup.config.js",
20
22
  "test": "jest",
@@ -199,6 +201,7 @@
199
201
  "@noble/curves": "^1.9.1",
200
202
  "@noble/hashes": "^1.8.0",
201
203
  "@noble/secp256k1": "^2.2.3",
204
+ "@types/express": "^5.0.2",
202
205
  "@types/fast-json-stable-stringify": "^2.0.0",
203
206
  "@types/ioredis": "^4.28.10",
204
207
  "@types/msgpack-lite": "^0.1.11",
@@ -213,6 +216,7 @@
213
216
  "axios": "^1.6.0",
214
217
  "bcrypt": "^6.0.0",
215
218
  "bcryptjs": "^2.4.3",
219
+ "bun": "^1.2.19",
216
220
  "check-disk-space": "^3.4.0",
217
221
  "compression": "^1.8.1",
218
222
  "concurrently": "^8.2.2",
@@ -252,3 +256,4 @@
252
256
  "xypriss-security": "^1.0.9"
253
257
  }
254
258
  }
259
+
@@ -1,120 +0,0 @@
1
- 'use strict';
2
-
3
- require('perf_hooks');
4
- require('../types/PluginTypes.js');
5
- var NetworkTypes = require('./types/NetworkTypes.js');
6
- var ConnectionPlugin = require('./builtin/ConnectionPlugin.js');
7
- var CompressionPlugin = require('./builtin/CompressionPlugin.js');
8
-
9
- /**
10
- * XyPriss Network Plugin System
11
- *
12
- * Comprehensive network plugin system for advanced networking capabilities
13
- * including connection management, proxying, compression, rate limiting, and more
14
- */
15
- // Core network plugin system
16
- /**
17
- * Network plugin system metadata
18
- */
19
- const NETWORK_PLUGIN_SYSTEM_VERSION = "1.0.0";
20
- const NETWORK_PLUGIN_SYSTEM_NAME = "XyPriss Network Plugin System";
21
- /**
22
- * Network plugin factory functions
23
- */
24
- const NetworkPluginFactory = {
25
- /**
26
- * Create a connection management plugin
27
- */
28
- createConnectionPlugin: (config) => new ConnectionPlugin.ConnectionPlugin(config),
29
- /**
30
- * Create a compression plugin
31
- */
32
- createCompressionPlugin: (config) => new CompressionPlugin.CompressionPlugin(config),
33
- /**
34
- * Get all available network plugin types
35
- */
36
- getAvailablePlugins: () => [
37
- {
38
- id: "xypriss.network.connection",
39
- name: "Connection Management Plugin",
40
- category: NetworkTypes.NetworkCategory.CONNECTION,
41
- description: "HTTP/2, connection pooling, keep-alive management",
42
- },
43
- {
44
- id: "xypriss.network.compression",
45
- name: "Response Compression Plugin",
46
- category: NetworkTypes.NetworkCategory.COMPRESSION,
47
- description: "Gzip, Brotli, Deflate compression with smart optimization",
48
- },
49
- // More plugins will be added here as they're implemented
50
- ],
51
- };
52
- /**
53
- * Network plugin utilities
54
- */
55
- const NetworkPluginUtils = {
56
- /**
57
- * Validate network plugin configuration
58
- */
59
- validateConfig: (pluginType, config) => {
60
- switch (pluginType) {
61
- case NetworkTypes.NetworkCategory.CONNECTION:
62
- return (new ConnectionPlugin.ConnectionPlugin().validateNetworkConfig?.(config) ??
63
- true);
64
- case NetworkTypes.NetworkCategory.COMPRESSION:
65
- return (new CompressionPlugin.CompressionPlugin().validateNetworkConfig?.(config) ??
66
- true);
67
- default:
68
- return true;
69
- }
70
- },
71
- /**
72
- * Get default configuration for a plugin type
73
- */
74
- getDefaultConfig: (pluginType) => {
75
- switch (pluginType) {
76
- case NetworkTypes.NetworkCategory.CONNECTION:
77
- return {
78
- http2: { enabled: false, maxConcurrentStreams: 100 },
79
- keepAlive: {
80
- enabled: true,
81
- timeout: 30000,
82
- maxRequests: 1000,
83
- },
84
- connectionPool: { maxConnections: 1000, timeout: 5000 },
85
- timeouts: {
86
- connection: 10000,
87
- request: 30000,
88
- response: 30000,
89
- },
90
- };
91
- case NetworkTypes.NetworkCategory.COMPRESSION:
92
- return {
93
- enabled: true,
94
- algorithms: ["gzip", "deflate"],
95
- level: 6,
96
- threshold: 1024,
97
- contentTypes: [
98
- "text/*",
99
- "application/json",
100
- "application/javascript",
101
- "application/xml",
102
- ],
103
- };
104
- default:
105
- return {};
106
- }
107
- },
108
- };
109
-
110
- Object.defineProperty(exports, 'NetworkCategory', {
111
- enumerable: true,
112
- get: function () { return NetworkTypes.NetworkCategory; }
113
- });
114
- exports.ConnectionPlugin = ConnectionPlugin.ConnectionPlugin;
115
- exports.CompressionPlugin = CompressionPlugin.CompressionPlugin;
116
- exports.NETWORK_PLUGIN_SYSTEM_NAME = NETWORK_PLUGIN_SYSTEM_NAME;
117
- exports.NETWORK_PLUGIN_SYSTEM_VERSION = NETWORK_PLUGIN_SYSTEM_VERSION;
118
- exports.NetworkPluginFactory = NetworkPluginFactory;
119
- exports.NetworkPluginUtils = NetworkPluginUtils;
120
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/plugins/modules/network/index.ts"],"sourcesContent":[null],"names":["ConnectionPlugin","CompressionPlugin","NetworkCategory"],"mappings":";;;;;;;;AAAA;;;;;AAKG;AAEH;AAoBA;;AAEG;AACI,MAAM,6BAA6B,GAAG,QAAQ;AAC9C,MAAM,0BAA0B,GAAG,gCAAgC;AAE1E;;AAEG;AACU,MAAA,oBAAoB,GAAG;AAChC;;AAEG;IACH,sBAAsB,EAAE,CAAC,MAAyB,KAC9C,IAAIA,iCAAgB,CAAC,MAAM,CAAC;AAEhC;;AAEG;IACH,uBAAuB,EAAE,CAAC,MAA0B,KAChD,IAAIC,mCAAiB,CAAC,MAAM,CAAC;AAEjC;;AAEG;IACH,mBAAmB,EAAE,MAAM;AACvB,QAAA;AACI,YAAA,EAAE,EAAE,4BAA4B;AAChC,YAAA,IAAI,EAAE,8BAA8B;YACpC,QAAQ,EAAEC,4BAAe,CAAC,UAAU;AACpC,YAAA,WAAW,EAAE,mDAAmD;AACnE,SAAA;AACD,QAAA;AACI,YAAA,EAAE,EAAE,6BAA6B;AACjC,YAAA,IAAI,EAAE,6BAA6B;YACnC,QAAQ,EAAEA,4BAAe,CAAC,WAAW;AACrC,YAAA,WAAW,EACP,2DAA2D;AAClE,SAAA;;AAEJ,KAAA;EACH;AAEF;;AAEG;AACU,MAAA,kBAAkB,GAAG;AAC9B;;AAEG;AACH,IAAA,cAAc,EAAE,CAAC,UAA2B,EAAE,MAAW,KAAa;QAClE,QAAQ,UAAU;YACd,KAAKA,4BAAe,CAAC,UAAU;gBAC3B,QACI,IAAIF,iCAAgB,EAAE,CAAC,qBAAqB,GAAG,MAAM,CAAC;AACtD,oBAAA,IAAI,EACN;YACN,KAAKE,4BAAe,CAAC,WAAW;gBAC5B,QACI,IAAID,mCAAiB,EAAE,CAAC,qBAAqB,GAAG,MAAM,CAAC;AACvD,oBAAA,IAAI,EACN;AACN,YAAA;AACI,gBAAA,OAAO,IAAI,CAAC;SACnB;KACJ;AAED;;AAEG;AACH,IAAA,gBAAgB,EAAE,CAAC,UAA2B,KAAyB;QACnE,QAAQ,UAAU;YACd,KAAKC,4BAAe,CAAC,UAAU;gBAC3B,OAAO;oBACH,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,GAAG,EAAE;AACpD,oBAAA,SAAS,EAAE;AACP,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,WAAW,EAAE,IAAI;AACpB,qBAAA;oBACD,cAAc,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;AACvD,oBAAA,QAAQ,EAAE;AACN,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,QAAQ,EAAE,KAAK;AAClB,qBAAA;iBACgB,CAAC;YAC1B,KAAKA,4BAAe,CAAC,WAAW;gBAC5B,OAAO;AACH,oBAAA,OAAO,EAAE,IAAI;AACb,oBAAA,UAAU,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/B,oBAAA,KAAK,EAAE,CAAC;AACR,oBAAA,SAAS,EAAE,IAAI;AACf,oBAAA,YAAY,EAAE;wBACV,QAAQ;wBACR,kBAAkB;wBAClB,wBAAwB;wBACxB,iBAAiB;AACpB,qBAAA;iBACiB,CAAC;AAC3B,YAAA;AACI,gBAAA,OAAO,EAAyB,CAAC;SACxC;KACJ;;;;;;;;;;;;;;"}