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
@@ -1 +0,0 @@
1
- {"version":3,"file":"UltraFastRequestProcessor.js","sources":["../../../../../../src/server/components/fastapi/UltraFastRequestProcessor.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,345 +0,0 @@
1
- import { logger } from '../../../../../shared/logger/Logger.js';
2
-
3
- // import { middleware as XyPrissMiddleware } from "../../../../mods/securityhelpers/express.middleware.helper";
4
- /**
5
- * MiddlewareAPI - User-friendly middleware interface that follows the specified pattern
6
- * Returns a middleware object with register() method for custom middleware
7
- */
8
- class MiddlewareAPI {
9
- constructor(Manager, app, config = {}) {
10
- this.nameToIdMap = new Map(); // Track middleware names to IDs
11
- // Use process.stdout.write to ensure immediate output
12
- logger.debug("middleware", "MiddlewareAPI constructor called\n");
13
- logger.debug("middleware", `Config: ${JSON.stringify(config, null, 2)}\n`);
14
- this.Manager = Manager;
15
- this.app = app;
16
- this.config = config;
17
- // Apply default middleware based on configuration
18
- logger.debug("middleware", "About to call applyDefaultMiddleware\n");
19
- this.applyDefaultMiddleware();
20
- logger.debug("middleware", "applyDefaultMiddleware completed\n");
21
- }
22
- /**
23
- * Register custom middleware with options
24
- */
25
- register(middleware, options) {
26
- try {
27
- const id = this.Manager.register(middleware, options);
28
- const name = options?.name || `middleware-${id.slice(0, 8)}`;
29
- // Track the name-to-ID mapping for easier removal
30
- this.nameToIdMap.set(name, id);
31
- logger.debug("middleware", `Custom middleware registered: ${name} (${id})`);
32
- }
33
- catch (error) {
34
- logger.error("middleware", `Failed to register middleware: ${error}`);
35
- }
36
- return this;
37
- }
38
- /**
39
- * Unregister middleware by ID
40
- */
41
- unregister(id) {
42
- try {
43
- this.Manager.unregister(id);
44
- logger.debug("middleware", `Middleware unregistered: ${id}`);
45
- }
46
- catch (error) {
47
- logger.error("middleware", `Failed to unregister middleware: ${error}`);
48
- }
49
- return this;
50
- }
51
- /**
52
- * Enable middleware by ID
53
- */
54
- enable(id) {
55
- try {
56
- this.Manager.enable(id);
57
- logger.debug("middleware", `Middleware enabled: ${id}`);
58
- }
59
- catch (error) {
60
- logger.error("middleware", `Failed to enable middleware: ${error}`);
61
- }
62
- return this;
63
- }
64
- /**
65
- * Disable middleware by ID
66
- */
67
- disable(id) {
68
- try {
69
- this.Manager.disable(id);
70
- logger.debug("middleware", `Middleware disabled: ${id}`);
71
- }
72
- catch (error) {
73
- logger.error("middleware", `Failed to disable middleware: ${error}`);
74
- }
75
- return this;
76
- }
77
- /**
78
- * Remove middleware by name
79
- */
80
- removeByName(name) {
81
- try {
82
- const id = this.nameToIdMap.get(name);
83
- if (id) {
84
- const success = this.Manager.unregister(id);
85
- if (success) {
86
- this.nameToIdMap.delete(name);
87
- logger.debug("middleware", `Middleware removed: ${name} (${id})`);
88
- return true;
89
- }
90
- }
91
- logger.warn("middleware", `Middleware not found: ${name}`);
92
- return false;
93
- }
94
- catch (error) {
95
- logger.error("middleware", `Failed to remove middleware: ${error}`);
96
- return false;
97
- }
98
- }
99
- /**
100
- * Get middleware information
101
- */
102
- getInfo(id) {
103
- return this.Manager.getInfo(id);
104
- }
105
- /**
106
- * Get middleware statistics
107
- */
108
- getStats() {
109
- return this.Manager.getStats();
110
- }
111
- /**
112
- * Clear all middleware
113
- */
114
- clear() {
115
- try {
116
- // Get all tracked middleware IDs and unregister them
117
- const idsToRemove = [];
118
- // Collect all IDs from our name-to-ID mapping
119
- for (const [, id] of this.nameToIdMap.entries()) {
120
- idsToRemove.push(id);
121
- }
122
- // Also get any middleware that might not be in our mapping
123
- const allMiddleware = this.Manager.getInfo();
124
- for (const middleware of allMiddleware) {
125
- // Try to find the ID by looking up the middleware in the manager's registry
126
- // Since MiddlewareInfo doesn't include ID, we need to use the name mapping
127
- const mappedId = this.nameToIdMap.get(middleware.name);
128
- if (mappedId && !idsToRemove.includes(mappedId)) {
129
- idsToRemove.push(mappedId);
130
- }
131
- }
132
- // Unregister all found middleware
133
- let removedCount = 0;
134
- for (const id of idsToRemove) {
135
- if (this.Manager.unregister(id)) {
136
- removedCount++;
137
- // Remove from our tracking map
138
- for (const [name, mappedId] of this.nameToIdMap.entries()) {
139
- if (mappedId === id) {
140
- this.nameToIdMap.delete(name);
141
- break;
142
- }
143
- }
144
- }
145
- }
146
- logger.debug("middleware", `Cleared ${removedCount} custom middleware`);
147
- }
148
- catch (error) {
149
- logger.error("middleware", `Failed to clear middleware: ${error}`);
150
- }
151
- return this;
152
- }
153
- /**
154
- * Optimize middleware execution
155
- */
156
- async optimize() {
157
- try {
158
- await this.Manager.optimize();
159
- logger.debug("middleware", "Middleware optimization completed");
160
- }
161
- catch (error) {
162
- logger.error("middleware", `Failed to optimize middleware: ${error}`);
163
- }
164
- return this;
165
- }
166
- /**
167
- * Apply default middleware based on configuration
168
- */
169
- applyDefaultMiddleware() {
170
- logger.debug("middleware", "applyDefaultMiddleware method entered\n");
171
- logger.debug("middleware", `this.config: ${JSON.stringify(this.config, null, 2)}\n`);
172
- logger.debug("middleware", "Applying default middleware configuration...");
173
- // Apply XyPrissJS middleware if security is enabled
174
- if (this.config.security !== false) {
175
- try {
176
- const securityOptions = typeof this.config.security === "object"
177
- ? this.config.security
178
- : {};
179
- // Convert complex rateLimit config to boolean for XyPrissJS middleware
180
- const rateLimitEnabled = this.config.rateLimit !== false;
181
- const maxRequestsPerMinute = typeof this.config.rateLimit === "object"
182
- ? this.config.rateLimit.max || 100
183
- : 100;
184
- // XyPrissMiddleware is not available, using fallback
185
- const XyPrissMiddlewareHandler = (req, res, next) => {
186
- // Basic security middleware fallback
187
- res.setHeader("X-Content-Type-Options", "nosniff");
188
- next();
189
- };
190
- this.Manager.register(XyPrissMiddlewareHandler, {
191
- name: "XyPriss-security",
192
- priority: "critical",
193
- cacheable: false,
194
- });
195
- logger.debug("middleware", "XyPrissJS security middleware applied");
196
- }
197
- catch (error) {
198
- logger.warn("middleware", `Failed to apply XyPrissJS middleware: ${error}`);
199
- }
200
- }
201
- // Apply CORS if enabled
202
- if (this.config.cors !== false) {
203
- try {
204
- const corsOptions = typeof this.config.cors === "object"
205
- ? this.config.cors
206
- : {};
207
- this.Manager.enableCors(corsOptions);
208
- logger.debug("middleware", "CORS middleware applied");
209
- }
210
- catch (error) {
211
- logger.warn("middleware", `Failed to apply CORS middleware: ${error}`);
212
- }
213
- }
214
- // Apply compression if enabled
215
- if (this.config.compression !== false) {
216
- try {
217
- const compressionOptions = typeof this.config.compression === "object"
218
- ? this.config.compression
219
- : {};
220
- this.Manager.enableCompression(compressionOptions);
221
- logger.debug("middleware", "Compression middleware applied");
222
- }
223
- catch (error) {
224
- logger.warn("middleware", `Failed to apply compression middleware: ${error}`);
225
- }
226
- }
227
- // Apply rate limiting if enabled
228
- if (this.config.rateLimit !== false) {
229
- try {
230
- const rateLimitOptions = typeof this.config.rateLimit === "object"
231
- ? this.config.rateLimit
232
- : {};
233
- this.Manager.enableRateLimit(rateLimitOptions);
234
- logger.debug("middleware", "Rate limiting middleware applied");
235
- }
236
- catch (error) {
237
- logger.warn("middleware", `Failed to apply rate limiting middleware: ${error}`);
238
- }
239
- }
240
- // Apply custom headers if specified
241
- if (this.config.customHeaders) {
242
- try {
243
- const customHeadersMiddleware = (req, res, next) => {
244
- Object.entries(this.config.customHeaders).forEach(([key, value]) => {
245
- res.setHeader(key, value);
246
- });
247
- next();
248
- };
249
- this.Manager.register(customHeadersMiddleware, {
250
- name: "custom-headers",
251
- priority: "high",
252
- cacheable: true,
253
- ttl: 3600000, // 1 hour
254
- });
255
- logger.debug("middleware", "Custom headers middleware applied");
256
- }
257
- catch (error) {
258
- logger.warn("middleware", `Failed to apply custom headers middleware: ${error}`);
259
- }
260
- }
261
- logger.debug("middleware", "Default middleware configuration applied");
262
- }
263
- /**
264
- * Update configuration and reapply middleware
265
- */
266
- updateConfig(newConfig) {
267
- this.config = { ...this.config, ...newConfig };
268
- this.Manager.configure(this.config);
269
- // Reapply default middleware with new configuration
270
- this.applyDefaultMiddleware();
271
- logger.debug("middleware", "Middleware configuration updated");
272
- return this;
273
- }
274
- /**
275
- * Get current configuration
276
- */
277
- getConfig() {
278
- return { ...this.config };
279
- }
280
- /**
281
- * Enable performance tracking for all middleware
282
- */
283
- enablePerformanceTracking() {
284
- this.config.enablePerformanceTracking = true;
285
- this.Manager.configure(this.config);
286
- logger.debug("middleware", "Performance tracking enabled for all middleware");
287
- return this;
288
- }
289
- /**
290
- * Disable performance tracking for all middleware
291
- */
292
- disablePerformanceTracking() {
293
- this.config.enablePerformanceTracking = false;
294
- this.Manager.configure(this.config);
295
- logger.debug("middleware", "Performance tracking disabled for all middleware");
296
- return this;
297
- }
298
- /**
299
- * Enable caching for all middleware
300
- */
301
- enableCaching() {
302
- this.config.enableCaching = true;
303
- this.Manager.configure(this.config);
304
- logger.debug("middleware", "Caching enabled for all middleware");
305
- return this;
306
- }
307
- /**
308
- * Disable caching for all middleware
309
- */
310
- disableCaching() {
311
- this.config.enableCaching = false;
312
- this.Manager.configure(this.config);
313
- logger.debug("middleware", "Caching disabled for all middleware");
314
- return this;
315
- }
316
- /**
317
- * Warm up middleware cache
318
- */
319
- async warmCache() {
320
- try {
321
- await this.Manager.warmCache();
322
- logger.debug("middleware", "Middleware cache warmed up");
323
- }
324
- catch (error) {
325
- logger.error("middleware", `Failed to warm cache: ${error}`);
326
- }
327
- return this;
328
- }
329
- /**
330
- * Clear middleware cache
331
- */
332
- clearCache() {
333
- try {
334
- this.Manager.clearCache();
335
- logger.debug("middleware", "Middleware cache cleared");
336
- }
337
- catch (error) {
338
- logger.error("middleware", `Failed to clear cache: ${error}`);
339
- }
340
- return this;
341
- }
342
- }
343
-
344
- export { MiddlewareAPI };
345
- //# sourceMappingURL=MiddlewareAPI.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MiddlewareAPI.js","sources":["../../../../../../../src/server/components/fastapi/middlewares/MiddlewareAPI.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,202 +0,0 @@
1
- import { MiddlewareAPI } from './MiddlewareAPI.js';
2
- import { logger } from '../../../../../shared/logger/Logger.js';
3
-
4
- /**
5
- * MiddlewareMethodsManager - Adds middleware methods to the UltraFastApp
6
- * Follows the same pattern as RouteManager for adding methods to the app
7
- */
8
- class MiddlewareMethodsManager {
9
- constructor(dependencies) {
10
- this.dependencies = dependencies;
11
- }
12
- /**
13
- * Add all middleware methods to the Express app
14
- */
15
- addMiddlewareMethods() {
16
- logger.debug("middleware", "Adding middleware methods to UltraFastApp...");
17
- this.addMiddlewareMethod();
18
- this.addSecureMiddlewareMethods();
19
- this.addPerformanceMiddlewareMethods();
20
- this.addCachedMiddlewareMethods();
21
- this.addMiddlewareManagementMethods();
22
- this.addConvenienceMethods();
23
- logger.debug("middleware", "Middleware methods added successfully");
24
- logger.debug("middleware", "All middleware methods added successfully\n");
25
- }
26
- /**
27
- * Add the main middleware() method that returns MiddlewareAPI
28
- */
29
- addMiddlewareMethod() {
30
- this.dependencies.app.middleware = (config) => {
31
- const api = new MiddlewareAPI(this.dependencies.middlewareManager, this.dependencies.app, config || {});
32
- return api;
33
- };
34
- // Add a marker to identify this is the real implementation
35
- this.dependencies.app.middleware.__isRealImplementation = true;
36
- }
37
- /**
38
- * Add secure middleware methods
39
- */
40
- addSecureMiddlewareMethods() {
41
- this.dependencies.app.useSecure = (middleware) => {
42
- const middlewareArray = Array.isArray(middleware)
43
- ? middleware
44
- : [middleware];
45
- middlewareArray.forEach((mw, index) => {
46
- this.dependencies.middlewareManager.register(mw, {
47
- name: `secure-middleware-${index}`,
48
- priority: "critical",
49
- cacheable: false,
50
- });
51
- });
52
- logger.debug("middleware", `Registered ${middlewareArray.length} secure middleware`);
53
- return this.dependencies.app;
54
- };
55
- }
56
- /**
57
- * Add performance middleware methods
58
- */
59
- addPerformanceMiddlewareMethods() {
60
- this.dependencies.app.usePerformance = (middleware) => {
61
- const middlewareArray = Array.isArray(middleware)
62
- ? middleware
63
- : [middleware];
64
- middlewareArray.forEach((mw, index) => {
65
- this.dependencies.middlewareManager.register(mw, {
66
- name: `performance-middleware-${index}`,
67
- priority: "high",
68
- cacheable: true,
69
- });
70
- });
71
- logger.debug("middleware", `Registered ${middlewareArray.length} performance middleware`);
72
- return this.dependencies.app;
73
- };
74
- }
75
- /**
76
- * Add cached middleware methods
77
- */
78
- addCachedMiddlewareMethods() {
79
- this.dependencies.app.useCached = (middleware, ttl) => {
80
- const middlewareArray = Array.isArray(middleware)
81
- ? middleware
82
- : [middleware];
83
- middlewareArray.forEach((mw, index) => {
84
- this.dependencies.middlewareManager.register(mw, {
85
- name: `cached-middleware-${index}`,
86
- priority: "normal",
87
- cacheable: true,
88
- ttl: ttl || 300000, // 5 minutes default
89
- });
90
- });
91
- logger.debug("middleware", `Registered ${middlewareArray.length} cached middleware`);
92
- return this.dependencies.app;
93
- };
94
- }
95
- /**
96
- * Add middleware management methods
97
- */
98
- addMiddlewareManagementMethods() {
99
- // Get middleware information
100
- this.dependencies.app.getMiddleware = (name) => {
101
- return this.dependencies.middlewareManager.getInfo(name);
102
- };
103
- // Remove middleware
104
- this.dependencies.app.removeMiddleware = (name) => {
105
- try {
106
- // Find middleware by name and get its ID from the manager's registry
107
- const middlewareId = this.findMiddlewareIdByName(name);
108
- if (middlewareId) {
109
- const success = this.dependencies.middlewareManager.unregister(middlewareId);
110
- if (success) {
111
- logger.debug("middleware", `Middleware removed: ${name} (${middlewareId})`);
112
- return true;
113
- }
114
- }
115
- logger.warn("middleware", `Middleware not found: ${name}`);
116
- return false;
117
- }
118
- catch (error) {
119
- logger.error("middleware", `Failed to remove middleware: ${error}`);
120
- return false;
121
- }
122
- };
123
- // Get middleware statistics
124
- this.dependencies.app.getMiddlewareStats = () => {
125
- return this.dependencies.middlewareManager.getStats();
126
- };
127
- }
128
- /**
129
- * Find middleware ID by name from the manager's registry
130
- * This method accesses the internal registry to get the ID
131
- */
132
- findMiddlewareIdByName(name) {
133
- try {
134
- // Access the middleware manager's internal registry
135
- // Since we need to access private members, we'll use a workaround
136
- const manager = this.dependencies.middlewareManager;
137
- if (manager.middlewareRegistry &&
138
- manager.middlewareRegistry instanceof Map) {
139
- // Iterate through the registry to find middleware by name
140
- for (const [id, entry,] of manager.middlewareRegistry.entries()) {
141
- if (entry.name === name) {
142
- return id;
143
- }
144
- }
145
- }
146
- // Alternative approach: try to use reflection to access the registry
147
- const registryKeys = Object.getOwnPropertyNames(manager);
148
- for (const key of registryKeys) {
149
- if (key.includes("registry") || key.includes("Registry")) {
150
- const registry = manager[key];
151
- if (registry instanceof Map) {
152
- for (const [id, entry] of registry.entries()) {
153
- if (entry &&
154
- typeof entry === "object" &&
155
- entry.name === name) {
156
- return id;
157
- }
158
- }
159
- }
160
- }
161
- }
162
- logger.warn("middleware", `Could not find ID for middleware: ${name}`);
163
- return null;
164
- }
165
- catch (error) {
166
- logger.error("middleware", `Error finding middleware ID: ${error}`);
167
- return null;
168
- }
169
- }
170
- /**
171
- * Add convenience methods for common middleware types
172
- */
173
- addConvenienceMethods() {
174
- // Enable security middleware
175
- this.dependencies.app.enableSecurity = (options) => {
176
- this.dependencies.middlewareManager.enableSecurity(options);
177
- logger.debug("middleware", "Security middleware enabled via convenience method");
178
- return this.dependencies.app;
179
- };
180
- // Enable compression middleware
181
- this.dependencies.app.enableCompression = (options) => {
182
- this.dependencies.middlewareManager.enableCompression(options);
183
- logger.debug("middleware", "Compression middleware enabled via convenience method");
184
- return this.dependencies.app;
185
- };
186
- // Enable rate limiting middleware
187
- this.dependencies.app.enableRateLimit = (options) => {
188
- this.dependencies.middlewareManager.enableRateLimit(options);
189
- logger.debug("middleware", "Rate limiting middleware enabled via convenience method");
190
- return this.dependencies.app;
191
- };
192
- // Enable CORS middleware
193
- this.dependencies.app.enableCors = (options) => {
194
- this.dependencies.middlewareManager.enableCors(options);
195
- logger.debug("middleware", "CORS middleware enabled via convenience method");
196
- return this.dependencies.app;
197
- };
198
- }
199
- }
200
-
201
- export { MiddlewareMethodsManager };
202
- //# sourceMappingURL=MiddlewareMethodsManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MiddlewareMethodsManager.js","sources":["../../../../../../../src/server/components/fastapi/middlewares/MiddlewareMethodsManager.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAuBA;;;AAGG;MACU,wBAAwB,CAAA;AAGjC,IAAA,WAAA,CAAY,YAAkD,EAAA;AAC1D,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;KACpC;AAED;;AAEG;IACI,oBAAoB,GAAA;AACvB,QAAA,MAAM,CAAC,KAAK,CACR,YAAY,EACZ,8CAA8C,CACjD,CAAC;QAEF,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACvC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACtC,IAAI,CAAC,qBAAqB,EAAE,CAAC;AAE7B,QAAA,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,uCAAuC,CAAC,CAAC;AACpE,QAAA,MAAM,CAAC,KAAK,CACR,YAAY,EACZ,6CAA6C,CAChD,CAAC;KACL;AAED;;AAEG;IACK,mBAAmB,GAAA;QACvB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,GAAG,CAC/B,MAAgC,KAChC;YACA,MAAM,GAAG,GAAG,IAAI,aAAa,CACzB,IAAI,CAAC,YAAY,CAAC,iBAAiB,EACnC,IAAI,CAAC,YAAY,CAAC,GAAG,EACrB,MAAM,IAAI,EAAE,CACf,CAAC;AAEF,YAAA,OAAO,GAAG,CAAC;AACf,SAAC,CAAC;;QAGD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAkB,CAAC,sBAAsB,GAAG,IAAI,CAAC;KAC3E;AAED;;AAEG;IACK,0BAA0B,GAAA;QAC9B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,GAAG,CAC9B,UAA6C,KAC/B;AACd,YAAA,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;AAC7C,kBAAE,UAAU;AACZ,kBAAE,CAAC,UAAU,CAAC,CAAC;YAEnB,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,KAAI;gBAClC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,EAAE;oBAC7C,IAAI,EAAE,CAAqB,kBAAA,EAAA,KAAK,CAAE,CAAA;AAClC,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,SAAS,EAAE,KAAK;AACnB,iBAAA,CAAC,CAAC;AACP,aAAC,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CACR,YAAY,EACZ,CAAc,WAAA,EAAA,eAAe,CAAC,MAAM,CAAoB,kBAAA,CAAA,CAC3D,CAAC;AACF,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;AACjC,SAAC,CAAC;KACL;AAED;;AAEG;IACK,+BAA+B,GAAA;QACnC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,GAAG,CACnC,UAA6C,KAC/B;AACd,YAAA,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;AAC7C,kBAAE,UAAU;AACZ,kBAAE,CAAC,UAAU,CAAC,CAAC;YAEnB,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,KAAI;gBAClC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,EAAE;oBAC7C,IAAI,EAAE,CAA0B,uBAAA,EAAA,KAAK,CAAE,CAAA;AACvC,oBAAA,QAAQ,EAAE,MAAM;AAChB,oBAAA,SAAS,EAAE,IAAI;AAClB,iBAAA,CAAC,CAAC;AACP,aAAC,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CACR,YAAY,EACZ,CAAc,WAAA,EAAA,eAAe,CAAC,MAAM,CAAyB,uBAAA,CAAA,CAChE,CAAC;AACF,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;AACjC,SAAC,CAAC;KACL;AAED;;AAEG;IACK,0BAA0B,GAAA;AAC9B,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,GAAG,CAC9B,UAA6C,EAC7C,GAAY,KACE;AACd,YAAA,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;AAC7C,kBAAE,UAAU;AACZ,kBAAE,CAAC,UAAU,CAAC,CAAC;YAEnB,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,KAAI;gBAClC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,EAAE;oBAC7C,IAAI,EAAE,CAAqB,kBAAA,EAAA,KAAK,CAAE,CAAA;AAClC,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE,IAAI;AACf,oBAAA,GAAG,EAAE,GAAG,IAAI,MAAM;AACrB,iBAAA,CAAC,CAAC;AACP,aAAC,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CACR,YAAY,EACZ,CAAc,WAAA,EAAA,eAAe,CAAC,MAAM,CAAoB,kBAAA,CAAA,CAC3D,CAAC;AACF,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;AACjC,SAAC,CAAC;KACL;AAED;;AAEG;IACK,8BAA8B,GAAA;;QAElC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,GAAG,CAClC,IAAa,KACsB;YACnC,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7D,SAAC,CAAC;;QAGF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,IAAY,KAAa;AAC/D,YAAA,IAAI;;gBAEA,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;gBAEvD,IAAI,YAAY,EAAE;AACd,oBAAA,MAAM,OAAO,GACT,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAC1C,YAAY,CACf,CAAC;oBACN,IAAI,OAAO,EAAE;wBACT,MAAM,CAAC,KAAK,CACR,YAAY,EACZ,CAAuB,oBAAA,EAAA,IAAI,CAAK,EAAA,EAAA,YAAY,CAAG,CAAA,CAAA,CAClD,CAAC;AACF,wBAAA,OAAO,IAAI,CAAC;qBACf;iBACJ;gBAED,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAyB,sBAAA,EAAA,IAAI,CAAE,CAAA,CAAC,CAAC;AAC3D,gBAAA,OAAO,KAAK,CAAC;aAChB;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,CAAC,KAAK,CACR,YAAY,EACZ,CAAgC,6BAAA,EAAA,KAAK,CAAE,CAAA,CAC1C,CAAC;AACF,gBAAA,OAAO,KAAK,CAAC;aAChB;AACL,SAAC,CAAC;;QAGF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,GAAG,MAAsB;YAC7D,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;AAC1D,SAAC,CAAC;KACL;AAED;;;AAGG;AACK,IAAA,sBAAsB,CAAC,IAAY,EAAA;AACvC,QAAA,IAAI;;;AAGA,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAwB,CAAC;YAE3D,IACI,OAAO,CAAC,kBAAkB;AAC1B,gBAAA,OAAO,CAAC,kBAAkB,YAAY,GAAG,EAC3C;;AAEE,gBAAA,KAAK,MAAM,CACP,EAAE,EACF,KAAK,EACR,IAAI,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE;AACvC,oBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE;AACrB,wBAAA,OAAO,EAAE,CAAC;qBACb;iBACJ;aACJ;;YAGD,MAAM,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACzD,YAAA,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;AAC5B,gBAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;AACtD,oBAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAC9B,oBAAA,IAAI,QAAQ,YAAY,GAAG,EAAE;AACzB,wBAAA,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE;AAC1C,4BAAA,IACI,KAAK;gCACL,OAAO,KAAK,KAAK,QAAQ;AACzB,gCAAA,KAAK,CAAC,IAAI,KAAK,IAAI,EACrB;AACE,gCAAA,OAAO,EAAE,CAAC;6BACb;yBACJ;qBACJ;iBACJ;aACJ;YAED,MAAM,CAAC,IAAI,CACP,YAAY,EACZ,CAAqC,kCAAA,EAAA,IAAI,CAAE,CAAA,CAC9C,CAAC;AACF,YAAA,OAAO,IAAI,CAAC;SACf;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,CAAgC,6BAAA,EAAA,KAAK,CAAE,CAAA,CAAC,CAAC;AACpE,YAAA,OAAO,IAAI,CAAC;SACf;KACJ;AAED;;AAEG;IACK,qBAAqB,GAAA;;QAEzB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,GAAG,CACnC,OAAmC,KACrB;YACd,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AAC5D,YAAA,MAAM,CAAC,KAAK,CACR,YAAY,EACZ,oDAAoD,CACvD,CAAC;AACF,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;AACjC,SAAC,CAAC;;QAGF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,GAAG,CACtC,OAAsC,KACxB;YACd,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC/D,YAAA,MAAM,CAAC,KAAK,CACR,YAAY,EACZ,uDAAuD,CAC1D,CAAC;AACF,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;AACjC,SAAC,CAAC;;QAGF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,GAAG,CACpC,OAAoC,KACtB;YACd,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AAC7D,YAAA,MAAM,CAAC,KAAK,CACR,YAAY,EACZ,yDAAyD,CAC5D,CAAC;AACF,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;AACjC,SAAC,CAAC;;QAGF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,GAAG,CAC/B,OAA+B,KACjB;YACd,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACxD,YAAA,MAAM,CAAC,KAAK,CACR,YAAY,EACZ,gDAAgD,CACnD,CAAC;AACF,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;AACjC,SAAC,CAAC;KACL;AACJ;;;;"}