xypriss 1.2.3 → 1.3.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 (103) hide show
  1. package/README.md +138 -3
  2. package/dist/cjs/mods/security/src/components/cache/index.js +1 -1
  3. package/dist/cjs/shared/logger/Logger.js +1 -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 +463 -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/ProcessMonitor.js +513 -0
  20. package/dist/cjs/src/cluster/modules/ProcessMonitor.js.map +1 -0
  21. package/dist/cjs/src/plugins/server-maintenance-plugin.js +1 -1
  22. package/dist/cjs/src/server/FastServer.js +64 -43
  23. package/dist/cjs/src/server/FastServer.js.map +1 -1
  24. package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js +226 -10
  25. package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
  26. package/dist/cjs/src/server/const/Cluster.config.js +174 -31
  27. package/dist/cjs/src/server/const/Cluster.config.js.map +1 -1
  28. package/dist/cjs/src/server/const/default.js +11 -2
  29. package/dist/cjs/src/server/const/default.js.map +1 -1
  30. package/dist/cjs/src/server/utils/PortManager.js +26 -15
  31. package/dist/cjs/src/server/utils/PortManager.js.map +1 -1
  32. package/dist/esm/mods/security/src/components/cache/index.js +1 -1
  33. package/dist/esm/shared/logger/Logger.js +1 -0
  34. package/dist/esm/shared/logger/Logger.js.map +1 -1
  35. package/dist/esm/src/cluster/bun-cluster-manager.js +1565 -0
  36. package/dist/esm/src/cluster/bun-cluster-manager.js.map +1 -0
  37. package/dist/esm/src/cluster/cluster-manager.js +1 -1
  38. package/dist/esm/src/cluster/cluster-manager.js.map +1 -1
  39. package/dist/esm/src/cluster/index.js +25 -6
  40. package/dist/esm/src/cluster/index.js.map +1 -1
  41. package/dist/esm/src/cluster/memory-manager.js +461 -0
  42. package/dist/esm/src/cluster/memory-manager.js.map +1 -0
  43. package/dist/esm/src/cluster/modules/BunIPCManager.js +601 -0
  44. package/dist/esm/src/cluster/modules/BunIPCManager.js.map +1 -0
  45. package/dist/esm/src/cluster/modules/ClusterFactory.js +22 -1
  46. package/dist/esm/src/cluster/modules/ClusterFactory.js.map +1 -1
  47. package/dist/esm/src/cluster/modules/CpuMonitor.js +656 -0
  48. package/dist/esm/src/cluster/modules/CpuMonitor.js.map +1 -0
  49. package/dist/esm/src/cluster/modules/ProcessMonitor.js +511 -0
  50. package/dist/esm/src/cluster/modules/ProcessMonitor.js.map +1 -0
  51. package/dist/esm/src/plugins/server-maintenance-plugin.js +1 -1
  52. package/dist/esm/src/server/FastServer.js +64 -43
  53. package/dist/esm/src/server/FastServer.js.map +1 -1
  54. package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js +226 -10
  55. package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
  56. package/dist/esm/src/server/const/Cluster.config.js +174 -31
  57. package/dist/esm/src/server/const/Cluster.config.js.map +1 -1
  58. package/dist/esm/src/server/const/default.js +11 -2
  59. package/dist/esm/src/server/const/default.js.map +1 -1
  60. package/dist/esm/src/server/utils/PortManager.js +26 -15
  61. package/dist/esm/src/server/utils/PortManager.js.map +1 -1
  62. package/dist/index.d.ts +78 -1
  63. package/package.json +3 -1
  64. package/dist/cjs/src/plugins/modules/network/index.js +0 -120
  65. package/dist/cjs/src/plugins/modules/network/index.js.map +0 -1
  66. package/dist/cjs/src/server/plugins/PluginEngine.js +0 -378
  67. package/dist/cjs/src/server/plugins/PluginEngine.js.map +0 -1
  68. package/dist/cjs/src/server/plugins/PluginRegistry.js +0 -339
  69. package/dist/cjs/src/server/plugins/PluginRegistry.js.map +0 -1
  70. package/dist/cjs/src/server/plugins/builtin/JWTAuthPlugin.js +0 -591
  71. package/dist/cjs/src/server/plugins/builtin/JWTAuthPlugin.js.map +0 -1
  72. package/dist/cjs/src/server/plugins/builtin/ResponseTimePlugin.js +0 -413
  73. package/dist/cjs/src/server/plugins/builtin/ResponseTimePlugin.js.map +0 -1
  74. package/dist/cjs/src/server/plugins/builtin/SmartCachePlugin.js +0 -843
  75. package/dist/cjs/src/server/plugins/builtin/SmartCachePlugin.js.map +0 -1
  76. package/dist/cjs/src/server/plugins/core/CachePlugin.js +0 -1975
  77. package/dist/cjs/src/server/plugins/core/CachePlugin.js.map +0 -1
  78. package/dist/cjs/src/server/plugins/core/PerformancePlugin.js +0 -894
  79. package/dist/cjs/src/server/plugins/core/PerformancePlugin.js.map +0 -1
  80. package/dist/cjs/src/server/plugins/core/SecurityPlugin.js +0 -799
  81. package/dist/cjs/src/server/plugins/core/SecurityPlugin.js.map +0 -1
  82. package/dist/cjs/src/server/plugins/types/PluginTypes.js +0 -47
  83. package/dist/cjs/src/server/plugins/types/PluginTypes.js.map +0 -1
  84. package/dist/esm/src/plugins/modules/network/index.js +0 -109
  85. package/dist/esm/src/plugins/modules/network/index.js.map +0 -1
  86. package/dist/esm/src/server/plugins/PluginEngine.js +0 -376
  87. package/dist/esm/src/server/plugins/PluginEngine.js.map +0 -1
  88. package/dist/esm/src/server/plugins/PluginRegistry.js +0 -337
  89. package/dist/esm/src/server/plugins/PluginRegistry.js.map +0 -1
  90. package/dist/esm/src/server/plugins/builtin/JWTAuthPlugin.js +0 -589
  91. package/dist/esm/src/server/plugins/builtin/JWTAuthPlugin.js.map +0 -1
  92. package/dist/esm/src/server/plugins/builtin/ResponseTimePlugin.js +0 -411
  93. package/dist/esm/src/server/plugins/builtin/ResponseTimePlugin.js.map +0 -1
  94. package/dist/esm/src/server/plugins/builtin/SmartCachePlugin.js +0 -841
  95. package/dist/esm/src/server/plugins/builtin/SmartCachePlugin.js.map +0 -1
  96. package/dist/esm/src/server/plugins/core/CachePlugin.js +0 -1973
  97. package/dist/esm/src/server/plugins/core/CachePlugin.js.map +0 -1
  98. package/dist/esm/src/server/plugins/core/PerformancePlugin.js +0 -872
  99. package/dist/esm/src/server/plugins/core/PerformancePlugin.js.map +0 -1
  100. package/dist/esm/src/server/plugins/core/SecurityPlugin.js +0 -797
  101. package/dist/esm/src/server/plugins/core/SecurityPlugin.js.map +0 -1
  102. package/dist/esm/src/server/plugins/types/PluginTypes.js +0 -47
  103. package/dist/esm/src/server/plugins/types/PluginTypes.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"SecurityPlugin.js","sources":["../../../../../../src/server/plugins/core/SecurityPlugin.ts"],"sourcesContent":[null],"names":["PluginType","PluginPriority","Hash","fObject","func"],"mappings":"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"}
@@ -1,47 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * Ultra-Fast Plugin System Types
5
- *
6
- * Comprehensive type definitions for the XyPrissJS plugin architecture
7
- * designed to achieve <1ms execution overhead while maintaining security.
8
- */
9
- // ===== CORE PLUGIN TYPES =====
10
- /**
11
- * Plugin execution phases for optimal performance routing
12
- */
13
- exports.PluginType = void 0;
14
- (function (PluginType) {
15
- PluginType["PRE_REQUEST"] = "pre-request";
16
- PluginType["SECURITY"] = "security";
17
- PluginType["CACHE"] = "cache";
18
- PluginType["PERFORMANCE"] = "performance";
19
- PluginType["POST_RESPONSE"] = "post-response";
20
- PluginType["MIDDLEWARE"] = "middleware";
21
- PluginType["NATIVE"] = "native";
22
- })(exports.PluginType || (exports.PluginType = {}));
23
- /**
24
- * Plugin execution priority for performance optimization
25
- */
26
- exports.PluginPriority = void 0;
27
- (function (PluginPriority) {
28
- PluginPriority[PluginPriority["CRITICAL"] = 0] = "CRITICAL";
29
- PluginPriority[PluginPriority["HIGH"] = 1] = "HIGH";
30
- PluginPriority[PluginPriority["NORMAL"] = 2] = "NORMAL";
31
- PluginPriority[PluginPriority["LOW"] = 3] = "LOW";
32
- PluginPriority[PluginPriority["BACKGROUND"] = 4] = "BACKGROUND";
33
- })(exports.PluginPriority || (exports.PluginPriority = {}));
34
- // ===== PLUGIN EVENTS =====
35
- /**
36
- * Plugin event types for monitoring and debugging
37
- */
38
- exports.PluginEventType = void 0;
39
- (function (PluginEventType) {
40
- PluginEventType["PLUGIN_REGISTERED"] = "plugin:registered";
41
- PluginEventType["PLUGIN_UNREGISTERED"] = "plugin:unregistered";
42
- PluginEventType["PLUGIN_EXECUTED"] = "plugin:executed";
43
- PluginEventType["PLUGIN_ERROR"] = "plugin:error";
44
- PluginEventType["PLUGIN_TIMEOUT"] = "plugin:timeout";
45
- PluginEventType["PERFORMANCE_THRESHOLD_EXCEEDED"] = "performance:threshold:exceeded";
46
- })(exports.PluginEventType || (exports.PluginEventType = {}));
47
- //# sourceMappingURL=PluginTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PluginTypes.js","sources":["../../../../../../src/server/plugins/types/PluginTypes.ts"],"sourcesContent":[null],"names":["PluginType","PluginPriority","PluginEventType"],"mappings":";;AAAA;;;;;AAKG;AAMH;AAEA;;AAEG;AACSA,4BAQX;AARD,CAAA,UAAY,UAAU,EAAA;AAClB,IAAA,UAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,UAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,UAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,UAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,UAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/B,IAAA,UAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACrB,CAAC,EARWA,kBAAU,KAAVA,kBAAU,GAQrB,EAAA,CAAA,CAAA,CAAA;AAED;;AAEG;AACSC,gCAMX;AAND,CAAA,UAAY,cAAc,EAAA;AACtB,IAAA,cAAA,CAAA,cAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;AACZ,IAAA,cAAA,CAAA,cAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACR,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU,CAAA;AACV,IAAA,cAAA,CAAA,cAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;AACP,IAAA,cAAA,CAAA,cAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc,CAAA;AAClB,CAAC,EANWA,sBAAc,KAAdA,sBAAc,GAMzB,EAAA,CAAA,CAAA,CAAA;AAgPD;AAEA;;AAEG;AACSC,iCAOX;AAPD,CAAA,UAAY,eAAe,EAAA;AACvB,IAAA,eAAA,CAAA,mBAAA,CAAA,GAAA,mBAAuC,CAAA;AACvC,IAAA,eAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C,CAAA;AAC3C,IAAA,eAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,IAAA,eAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7B,IAAA,eAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjC,IAAA,eAAA,CAAA,gCAAA,CAAA,GAAA,gCAAiE,CAAA;AACrE,CAAC,EAPWA,uBAAe,KAAfA,uBAAe,GAO1B,EAAA,CAAA,CAAA;;"}
@@ -1,109 +0,0 @@
1
- import 'perf_hooks';
2
- import '../types/PluginTypes.js';
3
- import { NetworkCategory } from './types/NetworkTypes.js';
4
- import { ConnectionPlugin } from './builtin/ConnectionPlugin.js';
5
- import { CompressionPlugin } from './builtin/CompressionPlugin.js';
6
-
7
- /**
8
- * XyPriss Network Plugin System
9
- *
10
- * Comprehensive network plugin system for advanced networking capabilities
11
- * including connection management, proxying, compression, rate limiting, and more
12
- */
13
- // Core network plugin system
14
- /**
15
- * Network plugin system metadata
16
- */
17
- const NETWORK_PLUGIN_SYSTEM_VERSION = "1.0.0";
18
- const NETWORK_PLUGIN_SYSTEM_NAME = "XyPriss Network Plugin System";
19
- /**
20
- * Network plugin factory functions
21
- */
22
- const NetworkPluginFactory = {
23
- /**
24
- * Create a connection management plugin
25
- */
26
- createConnectionPlugin: (config) => new ConnectionPlugin(config),
27
- /**
28
- * Create a compression plugin
29
- */
30
- createCompressionPlugin: (config) => new CompressionPlugin(config),
31
- /**
32
- * Get all available network plugin types
33
- */
34
- getAvailablePlugins: () => [
35
- {
36
- id: "xypriss.network.connection",
37
- name: "Connection Management Plugin",
38
- category: NetworkCategory.CONNECTION,
39
- description: "HTTP/2, connection pooling, keep-alive management",
40
- },
41
- {
42
- id: "xypriss.network.compression",
43
- name: "Response Compression Plugin",
44
- category: NetworkCategory.COMPRESSION,
45
- description: "Gzip, Brotli, Deflate compression with smart optimization",
46
- },
47
- // More plugins will be added here as they're implemented
48
- ],
49
- };
50
- /**
51
- * Network plugin utilities
52
- */
53
- const NetworkPluginUtils = {
54
- /**
55
- * Validate network plugin configuration
56
- */
57
- validateConfig: (pluginType, config) => {
58
- switch (pluginType) {
59
- case NetworkCategory.CONNECTION:
60
- return (new ConnectionPlugin().validateNetworkConfig?.(config) ??
61
- true);
62
- case NetworkCategory.COMPRESSION:
63
- return (new CompressionPlugin().validateNetworkConfig?.(config) ??
64
- true);
65
- default:
66
- return true;
67
- }
68
- },
69
- /**
70
- * Get default configuration for a plugin type
71
- */
72
- getDefaultConfig: (pluginType) => {
73
- switch (pluginType) {
74
- case NetworkCategory.CONNECTION:
75
- return {
76
- http2: { enabled: false, maxConcurrentStreams: 100 },
77
- keepAlive: {
78
- enabled: true,
79
- timeout: 30000,
80
- maxRequests: 1000,
81
- },
82
- connectionPool: { maxConnections: 1000, timeout: 5000 },
83
- timeouts: {
84
- connection: 10000,
85
- request: 30000,
86
- response: 30000,
87
- },
88
- };
89
- case NetworkCategory.COMPRESSION:
90
- return {
91
- enabled: true,
92
- algorithms: ["gzip", "deflate"],
93
- level: 6,
94
- threshold: 1024,
95
- contentTypes: [
96
- "text/*",
97
- "application/json",
98
- "application/javascript",
99
- "application/xml",
100
- ],
101
- };
102
- default:
103
- return {};
104
- }
105
- },
106
- };
107
-
108
- export { CompressionPlugin, ConnectionPlugin, NETWORK_PLUGIN_SYSTEM_NAME, NETWORK_PLUGIN_SYSTEM_VERSION, NetworkCategory, NetworkPluginFactory, NetworkPluginUtils };
109
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/plugins/modules/network/index.ts"],"sourcesContent":[null],"names":[],"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,IAAI,gBAAgB,CAAC,MAAM,CAAC;AAEhC;;AAEG;IACH,uBAAuB,EAAE,CAAC,MAA0B,KAChD,IAAI,iBAAiB,CAAC,MAAM,CAAC;AAEjC;;AAEG;IACH,mBAAmB,EAAE,MAAM;AACvB,QAAA;AACI,YAAA,EAAE,EAAE,4BAA4B;AAChC,YAAA,IAAI,EAAE,8BAA8B;YACpC,QAAQ,EAAE,eAAe,CAAC,UAAU;AACpC,YAAA,WAAW,EAAE,mDAAmD;AACnE,SAAA;AACD,QAAA;AACI,YAAA,EAAE,EAAE,6BAA6B;AACjC,YAAA,IAAI,EAAE,6BAA6B;YACnC,QAAQ,EAAE,eAAe,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,KAAK,eAAe,CAAC,UAAU;gBAC3B,QACI,IAAI,gBAAgB,EAAE,CAAC,qBAAqB,GAAG,MAAM,CAAC;AACtD,oBAAA,IAAI,EACN;YACN,KAAK,eAAe,CAAC,WAAW;gBAC5B,QACI,IAAI,iBAAiB,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,KAAK,eAAe,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,KAAK,eAAe,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;;;;;"}
@@ -1,376 +0,0 @@
1
- import { EventEmitter } from 'events';
2
- import { NehoID } from 'nehoid';
3
- import { PluginEventType, PluginType } from './types/PluginTypes.js';
4
-
5
- /**
6
- * Ultra-Fast Plugin Execution Engine
7
- *
8
- * High-performance plugin execution engine designed to achieve <1ms overhead
9
- * while maintaining security and comprehensive error handling.
10
- */
11
- /**
12
- * Ultra-fast plugin execution engine with intelligent optimization
13
- */
14
- class PluginEngine extends EventEmitter {
15
- constructor(registry, cache, cluster) {
16
- super();
17
- this.executionPool = new Map();
18
- this.warmupCache = new Map();
19
- // Performance optimization: Object pooling for contexts
20
- this.contextPool = [];
21
- this.MAX_POOL_SIZE = 100;
22
- // Circuit breaker for failing plugins
23
- this.circuitBreakers = new Map();
24
- this.registry = registry;
25
- this.cache = cache;
26
- this.cluster = cluster;
27
- // Listen to registry events
28
- this.setupRegistryEventHandlers();
29
- }
30
- /**
31
- * Execute plugins for a specific type with ultra-fast performance
32
- */
33
- async executePlugins(type, req, res, next) {
34
- const startTime = performance.now();
35
- const executionId = NehoID.generate({ prefix: "plug.exec", size: 8 });
36
- try {
37
- // Get plugins for this type (pre-sorted by priority)
38
- const plugins = this.registry.getPluginsByType(type);
39
- if (plugins.length === 0) {
40
- return true; // Continue execution if no plugins
41
- }
42
- // Create or reuse execution context
43
- const context = this.createExecutionContext(req, res, next, executionId, startTime);
44
- // Execute plugins based on type strategy
45
- const success = await this.executePluginChain(plugins, context);
46
- // Update performance metrics
47
- const totalExecutionTime = performance.now() - startTime;
48
- this.updatePerformanceMetrics(type, totalExecutionTime, success);
49
- // Return context to pool
50
- this.returnContextToPool(context);
51
- return success;
52
- }
53
- catch (error) {
54
- const executionTime = performance.now() - startTime;
55
- this.handleExecutionError(type, executionId, error, executionTime);
56
- return false;
57
- }
58
- }
59
- /**
60
- * Execute a single plugin with comprehensive error handling
61
- */
62
- async executePlugin(plugin, context) {
63
- const startTime = performance.now();
64
- try {
65
- // Check circuit breaker
66
- if (this.isCircuitBreakerOpen(plugin.id)) {
67
- return {
68
- success: false,
69
- executionTime: 0,
70
- error: new Error(`Circuit breaker open for plugin ${plugin.id}`),
71
- shouldContinue: true,
72
- };
73
- }
74
- // Warm up plugin if needed
75
- await this.warmupPlugin(plugin, context);
76
- // Execute plugin with timeout
77
- const result = await this.executeWithTimeout(plugin, context);
78
- const executionTime = performance.now() - startTime;
79
- result.executionTime = executionTime;
80
- // Update plugin statistics
81
- this.registry.updateStats(plugin.id, executionTime, result.success);
82
- // Reset circuit breaker on success
83
- if (result.success) {
84
- this.resetCircuitBreaker(plugin.id);
85
- }
86
- else {
87
- this.updateCircuitBreaker(plugin.id);
88
- }
89
- // Emit execution event
90
- this.emitPluginEvent(PluginEventType.PLUGIN_EXECUTED, plugin.id, {
91
- executionTime,
92
- success: result.success,
93
- type: plugin.type,
94
- });
95
- return result;
96
- }
97
- catch (error) {
98
- const executionTime = performance.now() - startTime;
99
- // Update circuit breaker
100
- this.updateCircuitBreaker(plugin.id);
101
- // Update error statistics
102
- this.registry.updateStats(plugin.id, executionTime, false);
103
- // Emit error event
104
- this.emitPluginEvent(PluginEventType.PLUGIN_ERROR, plugin.id, {
105
- error: error.message,
106
- executionTime,
107
- type: plugin.type,
108
- });
109
- return {
110
- success: false,
111
- executionTime,
112
- error,
113
- shouldContinue: true,
114
- };
115
- }
116
- }
117
- /**
118
- * Execute plugin chain with intelligent optimization
119
- */
120
- async executePluginChain(plugins, context) {
121
- // For critical performance plugins, execute in parallel
122
- if (plugins.length > 0 && plugins[0].type === PluginType.PERFORMANCE) {
123
- return await this.executePluginsParallel(plugins, context);
124
- }
125
- // For security and cache plugins, execute sequentially
126
- return await this.executePluginsSequential(plugins, context);
127
- }
128
- /**
129
- * Execute plugins sequentially (for security, cache operations)
130
- */
131
- async executePluginsSequential(plugins, context) {
132
- for (const plugin of plugins) {
133
- const result = await this.executePlugin(plugin, context);
134
- if (!result.success && plugin.type === PluginType.SECURITY) {
135
- // Security plugins must succeed
136
- return false;
137
- }
138
- if (!result.shouldContinue) {
139
- // Plugin requested to stop execution
140
- return false;
141
- }
142
- // Store plugin result data
143
- if (result.data) {
144
- context.pluginData.set(plugin.id, result.data);
145
- }
146
- // Handle cache data
147
- if (result.cacheData) {
148
- await this.cache.set(result.cacheData.key, result.cacheData.value, { ttl: result.cacheData.ttl });
149
- }
150
- }
151
- return true;
152
- }
153
- /**
154
- * Execute plugins in parallel (for performance monitoring)
155
- */
156
- async executePluginsParallel(plugins, context) {
157
- const promises = plugins.map((plugin) => this.executePlugin(plugin, context));
158
- const results = await Promise.allSettled(promises);
159
- let allSuccessful = true;
160
- results.forEach((result, index) => {
161
- if (result.status === "fulfilled") {
162
- const pluginResult = result.value;
163
- if (!pluginResult.success) {
164
- allSuccessful = false;
165
- }
166
- // Store plugin result data
167
- if (pluginResult.data) {
168
- context.pluginData.set(plugins[index].id, pluginResult.data);
169
- }
170
- }
171
- else {
172
- allSuccessful = false;
173
- }
174
- });
175
- return allSuccessful;
176
- }
177
- /**
178
- * Execute plugin with timeout protection
179
- */
180
- async executeWithTimeout(plugin, context) {
181
- const timeoutMs = plugin.maxExecutionTime;
182
- return new Promise((resolve, reject) => {
183
- const timeout = setTimeout(() => {
184
- this.emitPluginEvent(PluginEventType.PLUGIN_TIMEOUT, plugin.id, {
185
- timeout: timeoutMs,
186
- type: plugin.type,
187
- });
188
- reject(new Error(`Plugin ${plugin.id} timed out after ${timeoutMs}ms`));
189
- }, timeoutMs);
190
- // Execute plugin
191
- const execution = plugin.isAsync
192
- ? plugin.execute(context)
193
- : Promise.resolve(plugin.execute(context));
194
- execution
195
- .then((result) => {
196
- clearTimeout(timeout);
197
- resolve(result);
198
- })
199
- .catch((error) => {
200
- clearTimeout(timeout);
201
- reject(error);
202
- });
203
- });
204
- }
205
- /**
206
- * Create optimized execution context with object pooling
207
- */
208
- createExecutionContext(req, res, next, executionId, startTime) {
209
- // Try to reuse context from pool
210
- let context = this.contextPool.pop();
211
- if (!context) {
212
- context = {
213
- req,
214
- res,
215
- next,
216
- startTime,
217
- executionId,
218
- cache: this.cache,
219
- cluster: this.cluster,
220
- pluginData: new Map(),
221
- security: {
222
- isAuthenticated: false,
223
- roles: [],
224
- permissions: [],
225
- },
226
- metrics: {
227
- requestStartTime: startTime,
228
- pluginExecutionTimes: new Map(),
229
- cacheHits: 0,
230
- cacheMisses: 0,
231
- },
232
- };
233
- }
234
- else {
235
- // Reset reused context
236
- context.req = req;
237
- context.res = res;
238
- context.next = next;
239
- context.startTime = startTime;
240
- context.executionId = executionId;
241
- context.pluginData.clear();
242
- context.metrics.pluginExecutionTimes.clear();
243
- context.metrics.requestStartTime = startTime;
244
- context.metrics.cacheHits = 0;
245
- context.metrics.cacheMisses = 0;
246
- }
247
- return context;
248
- }
249
- /**
250
- * Return context to pool for reuse
251
- */
252
- returnContextToPool(context) {
253
- if (this.contextPool.length < this.MAX_POOL_SIZE) {
254
- // Clear sensitive data before returning to pool
255
- context.pluginData.clear();
256
- context.metrics.pluginExecutionTimes.clear();
257
- this.contextPool.push(context);
258
- }
259
- }
260
- /**
261
- * Warm up plugin for optimal performance
262
- */
263
- async warmupPlugin(plugin, context) {
264
- if (this.warmupCache.has(plugin.id)) {
265
- return; // Already warmed up
266
- }
267
- if (plugin.warmup) {
268
- try {
269
- await plugin.warmup(context);
270
- this.warmupCache.set(plugin.id, true);
271
- }
272
- catch (error) {
273
- // Warmup failure is not critical
274
- console.warn(`Plugin ${plugin.id} warmup failed:`, error);
275
- }
276
- }
277
- }
278
- /**
279
- * Circuit breaker management
280
- */
281
- isCircuitBreakerOpen(pluginId) {
282
- const breaker = this.circuitBreakers.get(pluginId);
283
- if (!breaker)
284
- return false;
285
- // Reset circuit breaker after 60 seconds
286
- if (breaker.isOpen && Date.now() - breaker.lastFailure > 60000) {
287
- breaker.isOpen = false;
288
- breaker.failures = 0;
289
- }
290
- return breaker.isOpen;
291
- }
292
- updateCircuitBreaker(pluginId) {
293
- const breaker = this.circuitBreakers.get(pluginId) || {
294
- failures: 0,
295
- lastFailure: 0,
296
- isOpen: false,
297
- };
298
- breaker.failures++;
299
- breaker.lastFailure = Date.now();
300
- // Open circuit breaker after 5 failures
301
- if (breaker.failures >= 5) {
302
- breaker.isOpen = true;
303
- }
304
- this.circuitBreakers.set(pluginId, breaker);
305
- }
306
- resetCircuitBreaker(pluginId) {
307
- this.circuitBreakers.delete(pluginId);
308
- }
309
- /**
310
- * Setup registry event handlers
311
- */
312
- setupRegistryEventHandlers() {
313
- this.registry.on(PluginEventType.PLUGIN_UNREGISTERED, (event) => {
314
- // Clean up plugin-specific data
315
- this.circuitBreakers.delete(event.pluginId);
316
- this.warmupCache.delete(event.pluginId);
317
- });
318
- }
319
- /**
320
- * Update performance metrics
321
- */
322
- updatePerformanceMetrics(type, executionTime, success) {
323
- // Emit performance metrics for monitoring
324
- this.emit("performance", {
325
- type,
326
- executionTime,
327
- success,
328
- timestamp: Date.now(),
329
- });
330
- }
331
- /**
332
- * Handle execution errors
333
- */
334
- handleExecutionError(type, executionId, error, executionTime) {
335
- console.error(`Plugin execution error [${type}] [${executionId}]:`, error);
336
- this.emit("error", {
337
- type,
338
- executionId,
339
- error,
340
- executionTime,
341
- timestamp: Date.now(),
342
- });
343
- }
344
- /**
345
- * Emit plugin event
346
- */
347
- emitPluginEvent(type, pluginId, data) {
348
- const event = {
349
- type,
350
- pluginId,
351
- timestamp: new Date(),
352
- data,
353
- };
354
- this.emit(type, event);
355
- }
356
- /**
357
- * Get engine statistics (ultra-fast optimized)
358
- */
359
- getEngineStats() {
360
- // Ultra-fast: Count open circuit breakers without creating arrays
361
- let circuitBreakersOpen = 0;
362
- this.circuitBreakers.forEach((breaker) => {
363
- if (breaker.isOpen)
364
- circuitBreakersOpen++;
365
- });
366
- return {
367
- contextPoolSize: this.contextPool.length,
368
- circuitBreakersOpen,
369
- warmedUpPlugins: this.warmupCache.size,
370
- activeExecutions: this.executionPool.size,
371
- };
372
- }
373
- }
374
-
375
- export { PluginEngine };
376
- //# sourceMappingURL=PluginEngine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PluginEngine.js","sources":["../../../../../src/server/plugins/PluginEngine.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}