@scpxl/nodejs-framework 1.0.13

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 (411) hide show
  1. package/README.md +195 -0
  2. package/dist/api-requester/api-requester.d.ts +11 -0
  3. package/dist/api-requester/api-requester.d.ts.map +1 -0
  4. package/dist/api-requester/api-requester.js +59 -0
  5. package/dist/api-requester/api-requester.js.map +7 -0
  6. package/dist/api-requester/index.d.ts +2 -0
  7. package/dist/api-requester/index.d.ts.map +1 -0
  8. package/dist/api-requester/index.js +5 -0
  9. package/dist/api-requester/index.js.map +7 -0
  10. package/dist/application/base-application.d.ts +110 -0
  11. package/dist/application/base-application.d.ts.map +1 -0
  12. package/dist/application/base-application.interface.d.ts +161 -0
  13. package/dist/application/base-application.interface.d.ts.map +1 -0
  14. package/dist/application/base-application.interface.js +1 -0
  15. package/dist/application/base-application.interface.js.map +7 -0
  16. package/dist/application/base-application.js +350 -0
  17. package/dist/application/base-application.js.map +7 -0
  18. package/dist/application/command-application.d.ts +18 -0
  19. package/dist/application/command-application.d.ts.map +1 -0
  20. package/dist/application/command-application.interface.d.ts +26 -0
  21. package/dist/application/command-application.interface.d.ts.map +1 -0
  22. package/dist/application/command-application.interface.js +1 -0
  23. package/dist/application/command-application.interface.js.map +7 -0
  24. package/dist/application/command-application.js +110 -0
  25. package/dist/application/command-application.js.map +7 -0
  26. package/dist/application/index.d.ts +5 -0
  27. package/dist/application/index.d.ts.map +1 -0
  28. package/dist/application/index.js +7 -0
  29. package/dist/application/index.js.map +7 -0
  30. package/dist/application/web-application.d.ts +43 -0
  31. package/dist/application/web-application.d.ts.map +1 -0
  32. package/dist/application/web-application.interface.d.ts +21 -0
  33. package/dist/application/web-application.interface.d.ts.map +1 -0
  34. package/dist/application/web-application.interface.js +1 -0
  35. package/dist/application/web-application.interface.js.map +7 -0
  36. package/dist/application/web-application.js +176 -0
  37. package/dist/application/web-application.js.map +7 -0
  38. package/dist/auth/index.d.ts +2 -0
  39. package/dist/auth/index.d.ts.map +1 -0
  40. package/dist/auth/index.js +5 -0
  41. package/dist/auth/index.js.map +7 -0
  42. package/dist/auth/jwt.d.ts +25 -0
  43. package/dist/auth/jwt.d.ts.map +1 -0
  44. package/dist/auth/jwt.js +51 -0
  45. package/dist/auth/jwt.js.map +7 -0
  46. package/dist/cache/index.d.ts +2 -0
  47. package/dist/cache/index.d.ts.map +1 -0
  48. package/dist/cache/index.js +5 -0
  49. package/dist/cache/index.js.map +7 -0
  50. package/dist/cache/manager.d.ts +26 -0
  51. package/dist/cache/manager.d.ts.map +1 -0
  52. package/dist/cache/manager.js +54 -0
  53. package/dist/cache/manager.js.map +7 -0
  54. package/dist/cluster/cluster-manager.d.ts +15 -0
  55. package/dist/cluster/cluster-manager.d.ts.map +1 -0
  56. package/dist/cluster/cluster-manager.interface.d.ts +23 -0
  57. package/dist/cluster/cluster-manager.interface.d.ts.map +1 -0
  58. package/dist/cluster/cluster-manager.interface.js +1 -0
  59. package/dist/cluster/cluster-manager.interface.js.map +7 -0
  60. package/dist/cluster/cluster-manager.js +106 -0
  61. package/dist/cluster/cluster-manager.js.map +7 -0
  62. package/dist/cluster/index.d.ts +2 -0
  63. package/dist/cluster/index.d.ts.map +1 -0
  64. package/dist/cluster/index.js +13 -0
  65. package/dist/cluster/index.js.map +7 -0
  66. package/dist/command/command-manager.d.ts +19 -0
  67. package/dist/command/command-manager.d.ts.map +1 -0
  68. package/dist/command/command-manager.js +42 -0
  69. package/dist/command/command-manager.js.map +7 -0
  70. package/dist/command/command.d.ts +27 -0
  71. package/dist/command/command.d.ts.map +1 -0
  72. package/dist/command/command.interface.d.ts +11 -0
  73. package/dist/command/command.interface.d.ts.map +1 -0
  74. package/dist/command/command.interface.js +1 -0
  75. package/dist/command/command.interface.js.map +7 -0
  76. package/dist/command/command.js +37 -0
  77. package/dist/command/command.js.map +7 -0
  78. package/dist/command/index.d.ts +3 -0
  79. package/dist/command/index.d.ts.map +1 -0
  80. package/dist/command/index.js +7 -0
  81. package/dist/command/index.js.map +7 -0
  82. package/dist/database/dynamic-entity-form-decorators.d.ts +31 -0
  83. package/dist/database/dynamic-entity-form-decorators.d.ts.map +1 -0
  84. package/dist/database/dynamic-entity-form-decorators.js +62 -0
  85. package/dist/database/dynamic-entity-form-decorators.js.map +7 -0
  86. package/dist/database/dynamic-entity.d.ts +15 -0
  87. package/dist/database/dynamic-entity.d.ts.map +1 -0
  88. package/dist/database/dynamic-entity.js +42 -0
  89. package/dist/database/dynamic-entity.js.map +7 -0
  90. package/dist/database/index.d.ts +5 -0
  91. package/dist/database/index.d.ts.map +1 -0
  92. package/dist/database/index.js +12 -0
  93. package/dist/database/index.js.map +7 -0
  94. package/dist/database/instance.d.ts +36 -0
  95. package/dist/database/instance.d.ts.map +1 -0
  96. package/dist/database/instance.interface.d.ts +5 -0
  97. package/dist/database/instance.interface.d.ts.map +1 -0
  98. package/dist/database/instance.interface.js +1 -0
  99. package/dist/database/instance.interface.js.map +7 -0
  100. package/dist/database/instance.js +57 -0
  101. package/dist/database/instance.js.map +7 -0
  102. package/dist/database/manager.d.ts +27 -0
  103. package/dist/database/manager.d.ts.map +1 -0
  104. package/dist/database/manager.interface.d.ts +18 -0
  105. package/dist/database/manager.interface.d.ts.map +1 -0
  106. package/dist/database/manager.interface.js +1 -0
  107. package/dist/database/manager.interface.js.map +7 -0
  108. package/dist/database/manager.js +49 -0
  109. package/dist/database/manager.js.map +7 -0
  110. package/dist/event/controller/base.d.ts +23 -0
  111. package/dist/event/controller/base.d.ts.map +1 -0
  112. package/dist/event/controller/base.interface.d.ts +11 -0
  113. package/dist/event/controller/base.interface.d.ts.map +1 -0
  114. package/dist/event/controller/base.interface.js +1 -0
  115. package/dist/event/controller/base.interface.js.map +7 -0
  116. package/dist/event/controller/base.js +51 -0
  117. package/dist/event/controller/base.js.map +7 -0
  118. package/dist/event/index.d.ts +5 -0
  119. package/dist/event/index.d.ts.map +1 -0
  120. package/dist/event/index.js +9 -0
  121. package/dist/event/index.js.map +7 -0
  122. package/dist/event/manager.d.ts +21 -0
  123. package/dist/event/manager.d.ts.map +1 -0
  124. package/dist/event/manager.interface.d.ts +134 -0
  125. package/dist/event/manager.interface.d.ts.map +1 -0
  126. package/dist/event/manager.interface.js +1 -0
  127. package/dist/event/manager.interface.js.map +7 -0
  128. package/dist/event/manager.js +134 -0
  129. package/dist/event/manager.js.map +7 -0
  130. package/dist/index.d.ts +18 -0
  131. package/dist/index.d.ts.map +1 -0
  132. package/dist/index.js +23 -0
  133. package/dist/index.js.map +7 -0
  134. package/dist/logger/index.d.ts +2 -0
  135. package/dist/logger/index.d.ts.map +1 -0
  136. package/dist/logger/index.js +5 -0
  137. package/dist/logger/index.js.map +7 -0
  138. package/dist/logger/logger.d.ts +51 -0
  139. package/dist/logger/logger.d.ts.map +1 -0
  140. package/dist/logger/logger.interface.d.ts +2 -0
  141. package/dist/logger/logger.interface.d.ts.map +1 -0
  142. package/dist/logger/logger.interface.js +1 -0
  143. package/dist/logger/logger.interface.js.map +7 -0
  144. package/dist/logger/logger.js +168 -0
  145. package/dist/logger/logger.js.map +7 -0
  146. package/dist/performance/cache-performance.d.ts +58 -0
  147. package/dist/performance/cache-performance.d.ts.map +1 -0
  148. package/dist/performance/cache-performance.js +199 -0
  149. package/dist/performance/cache-performance.js.map +7 -0
  150. package/dist/performance/database-performance.d.ts +40 -0
  151. package/dist/performance/database-performance.d.ts.map +1 -0
  152. package/dist/performance/database-performance.js +132 -0
  153. package/dist/performance/database-performance.js.map +7 -0
  154. package/dist/performance/index.d.ts +7 -0
  155. package/dist/performance/index.d.ts.map +1 -0
  156. package/dist/performance/index.js +7 -0
  157. package/dist/performance/index.js.map +7 -0
  158. package/dist/performance/performance-monitor.d.ts +68 -0
  159. package/dist/performance/performance-monitor.d.ts.map +1 -0
  160. package/dist/performance/performance-monitor.js +270 -0
  161. package/dist/performance/performance-monitor.js.map +7 -0
  162. package/dist/performance/queue-performance.d.ts +46 -0
  163. package/dist/performance/queue-performance.d.ts.map +1 -0
  164. package/dist/performance/queue-performance.js +144 -0
  165. package/dist/performance/queue-performance.js.map +7 -0
  166. package/dist/performance/webserver-performance.d.ts +69 -0
  167. package/dist/performance/webserver-performance.d.ts.map +1 -0
  168. package/dist/performance/webserver-performance.js +164 -0
  169. package/dist/performance/webserver-performance.js.map +7 -0
  170. package/dist/performance/websocket-performance.d.ts +44 -0
  171. package/dist/performance/websocket-performance.d.ts.map +1 -0
  172. package/dist/performance/websocket-performance.js +139 -0
  173. package/dist/performance/websocket-performance.js.map +7 -0
  174. package/dist/queue/index.d.ts +6 -0
  175. package/dist/queue/index.d.ts.map +1 -0
  176. package/dist/queue/index.interface.d.ts +10 -0
  177. package/dist/queue/index.interface.d.ts.map +1 -0
  178. package/dist/queue/index.interface.js +1 -0
  179. package/dist/queue/index.interface.js.map +7 -0
  180. package/dist/queue/index.js +7 -0
  181. package/dist/queue/index.js.map +7 -0
  182. package/dist/queue/job.interface.d.ts +42 -0
  183. package/dist/queue/job.interface.d.ts.map +1 -0
  184. package/dist/queue/job.interface.js +1 -0
  185. package/dist/queue/job.interface.js.map +7 -0
  186. package/dist/queue/manager.d.ts +36 -0
  187. package/dist/queue/manager.d.ts.map +1 -0
  188. package/dist/queue/manager.interface.d.ts +18 -0
  189. package/dist/queue/manager.interface.d.ts.map +1 -0
  190. package/dist/queue/manager.interface.js +1 -0
  191. package/dist/queue/manager.interface.js.map +7 -0
  192. package/dist/queue/manager.js +244 -0
  193. package/dist/queue/manager.js.map +7 -0
  194. package/dist/queue/processor/base.d.ts +28 -0
  195. package/dist/queue/processor/base.d.ts.map +1 -0
  196. package/dist/queue/processor/base.js +46 -0
  197. package/dist/queue/processor/base.js.map +7 -0
  198. package/dist/queue/processor/processor.interface.d.ts +15 -0
  199. package/dist/queue/processor/processor.interface.d.ts.map +1 -0
  200. package/dist/queue/processor/processor.interface.js +1 -0
  201. package/dist/queue/processor/processor.interface.js.map +7 -0
  202. package/dist/queue/worker.d.ts +14 -0
  203. package/dist/queue/worker.d.ts.map +1 -0
  204. package/dist/queue/worker.interface.d.ts +13 -0
  205. package/dist/queue/worker.interface.d.ts.map +1 -0
  206. package/dist/queue/worker.interface.js +1 -0
  207. package/dist/queue/worker.interface.js.map +7 -0
  208. package/dist/queue/worker.js +72 -0
  209. package/dist/queue/worker.js.map +7 -0
  210. package/dist/redis/index.d.ts +3 -0
  211. package/dist/redis/index.d.ts.map +1 -0
  212. package/dist/redis/index.js +7 -0
  213. package/dist/redis/index.js.map +7 -0
  214. package/dist/redis/instance.d.ts +32 -0
  215. package/dist/redis/instance.d.ts.map +1 -0
  216. package/dist/redis/instance.interface.d.ts +9 -0
  217. package/dist/redis/instance.interface.d.ts.map +1 -0
  218. package/dist/redis/instance.interface.js +1 -0
  219. package/dist/redis/instance.interface.js.map +7 -0
  220. package/dist/redis/instance.js +92 -0
  221. package/dist/redis/instance.js.map +7 -0
  222. package/dist/redis/manager.d.ts +15 -0
  223. package/dist/redis/manager.d.ts.map +1 -0
  224. package/dist/redis/manager.interface.d.ts +8 -0
  225. package/dist/redis/manager.interface.d.ts.map +1 -0
  226. package/dist/redis/manager.interface.js +1 -0
  227. package/dist/redis/manager.interface.js.map +7 -0
  228. package/dist/redis/manager.js +65 -0
  229. package/dist/redis/manager.js.map +7 -0
  230. package/dist/services/aws/index.d.ts +2 -0
  231. package/dist/services/aws/index.d.ts.map +1 -0
  232. package/dist/services/aws/index.js +5 -0
  233. package/dist/services/aws/index.js.map +7 -0
  234. package/dist/services/aws/s3.d.ts +54 -0
  235. package/dist/services/aws/s3.d.ts.map +1 -0
  236. package/dist/services/aws/s3.interface.d.ts +14 -0
  237. package/dist/services/aws/s3.interface.d.ts.map +1 -0
  238. package/dist/services/aws/s3.interface.js +1 -0
  239. package/dist/services/aws/s3.interface.js.map +7 -0
  240. package/dist/services/aws/s3.js +236 -0
  241. package/dist/services/aws/s3.js.map +7 -0
  242. package/dist/services/index.d.ts +2 -0
  243. package/dist/services/index.d.ts.map +1 -0
  244. package/dist/services/index.js +2 -0
  245. package/dist/services/index.js.map +7 -0
  246. package/dist/util/file.d.ts +45 -0
  247. package/dist/util/file.d.ts.map +1 -0
  248. package/dist/util/file.js +105 -0
  249. package/dist/util/file.js.map +7 -0
  250. package/dist/util/helper.d.ts +37 -0
  251. package/dist/util/helper.d.ts.map +1 -0
  252. package/dist/util/helper.js +73 -0
  253. package/dist/util/helper.js.map +7 -0
  254. package/dist/util/image.d.ts +12 -0
  255. package/dist/util/image.d.ts.map +1 -0
  256. package/dist/util/image.js +35 -0
  257. package/dist/util/image.js.map +7 -0
  258. package/dist/util/index.d.ts +10 -0
  259. package/dist/util/index.d.ts.map +1 -0
  260. package/dist/util/index.js +21 -0
  261. package/dist/util/index.js.map +7 -0
  262. package/dist/util/loader.d.ts +19 -0
  263. package/dist/util/loader.d.ts.map +1 -0
  264. package/dist/util/loader.js +84 -0
  265. package/dist/util/loader.js.map +7 -0
  266. package/dist/util/num.d.ts +13 -0
  267. package/dist/util/num.d.ts.map +1 -0
  268. package/dist/util/num.js +16 -0
  269. package/dist/util/num.js.map +7 -0
  270. package/dist/util/os.d.ts +6 -0
  271. package/dist/util/os.d.ts.map +1 -0
  272. package/dist/util/os.js +32 -0
  273. package/dist/util/os.js.map +7 -0
  274. package/dist/util/str.d.ts +39 -0
  275. package/dist/util/str.d.ts.map +1 -0
  276. package/dist/util/str.js +34 -0
  277. package/dist/util/str.js.map +7 -0
  278. package/dist/util/time.d.ts +13 -0
  279. package/dist/util/time.d.ts.map +1 -0
  280. package/dist/util/time.interface.d.ts +12 -0
  281. package/dist/util/time.interface.d.ts.map +1 -0
  282. package/dist/util/time.interface.js +1 -0
  283. package/dist/util/time.interface.js.map +7 -0
  284. package/dist/util/time.js +90 -0
  285. package/dist/util/time.js.map +7 -0
  286. package/dist/util/url.d.ts +7 -0
  287. package/dist/util/url.d.ts.map +1 -0
  288. package/dist/util/url.js +12 -0
  289. package/dist/util/url.js.map +7 -0
  290. package/dist/webserver/controller/auth-middleware.d.ts +21 -0
  291. package/dist/webserver/controller/auth-middleware.d.ts.map +1 -0
  292. package/dist/webserver/controller/auth-middleware.js +33 -0
  293. package/dist/webserver/controller/auth-middleware.js.map +7 -0
  294. package/dist/webserver/controller/base.d.ts +39 -0
  295. package/dist/webserver/controller/base.d.ts.map +1 -0
  296. package/dist/webserver/controller/base.interface.d.ts +45 -0
  297. package/dist/webserver/controller/base.interface.d.ts.map +1 -0
  298. package/dist/webserver/controller/base.interface.js +1 -0
  299. package/dist/webserver/controller/base.interface.js.map +7 -0
  300. package/dist/webserver/controller/base.js +188 -0
  301. package/dist/webserver/controller/base.js.map +7 -0
  302. package/dist/webserver/controller/entity.d.ts +94 -0
  303. package/dist/webserver/controller/entity.d.ts.map +1 -0
  304. package/dist/webserver/controller/entity.js +361 -0
  305. package/dist/webserver/controller/entity.js.map +7 -0
  306. package/dist/webserver/controller/example-auth.d.ts +12 -0
  307. package/dist/webserver/controller/example-auth.d.ts.map +1 -0
  308. package/dist/webserver/controller/example-auth.js +53 -0
  309. package/dist/webserver/controller/example-auth.js.map +7 -0
  310. package/dist/webserver/controller/health.d.ts +8 -0
  311. package/dist/webserver/controller/health.d.ts.map +1 -0
  312. package/dist/webserver/controller/health.js +50 -0
  313. package/dist/webserver/controller/health.js.map +7 -0
  314. package/dist/webserver/index.d.ts +12 -0
  315. package/dist/webserver/index.d.ts.map +1 -0
  316. package/dist/webserver/index.js +19 -0
  317. package/dist/webserver/index.js.map +7 -0
  318. package/dist/webserver/util.d.ts +10 -0
  319. package/dist/webserver/util.d.ts.map +1 -0
  320. package/dist/webserver/util.js +63 -0
  321. package/dist/webserver/util.js.map +7 -0
  322. package/dist/webserver/webserver.d.ts +65 -0
  323. package/dist/webserver/webserver.d.ts.map +1 -0
  324. package/dist/webserver/webserver.interface.d.ts +118 -0
  325. package/dist/webserver/webserver.interface.d.ts.map +1 -0
  326. package/dist/webserver/webserver.interface.js +9 -0
  327. package/dist/webserver/webserver.interface.js.map +7 -0
  328. package/dist/webserver/webserver.js +347 -0
  329. package/dist/webserver/webserver.js.map +7 -0
  330. package/dist/websocket/controller/client/base.d.ts +12 -0
  331. package/dist/websocket/controller/client/base.d.ts.map +1 -0
  332. package/dist/websocket/controller/client/base.interface.d.ts +12 -0
  333. package/dist/websocket/controller/client/base.interface.d.ts.map +1 -0
  334. package/dist/websocket/controller/client/base.interface.js +1 -0
  335. package/dist/websocket/controller/client/base.interface.js.map +7 -0
  336. package/dist/websocket/controller/client/base.js +26 -0
  337. package/dist/websocket/controller/client/base.js.map +7 -0
  338. package/dist/websocket/controller/server/base.d.ts +13 -0
  339. package/dist/websocket/controller/server/base.d.ts.map +1 -0
  340. package/dist/websocket/controller/server/base.interface.d.ts +13 -0
  341. package/dist/websocket/controller/server/base.interface.d.ts.map +1 -0
  342. package/dist/websocket/controller/server/base.interface.js +1 -0
  343. package/dist/websocket/controller/server/base.interface.js.map +7 -0
  344. package/dist/websocket/controller/server/base.js +26 -0
  345. package/dist/websocket/controller/server/base.js.map +7 -0
  346. package/dist/websocket/controllers/client/system.d.ts +6 -0
  347. package/dist/websocket/controllers/client/system.d.ts.map +1 -0
  348. package/dist/websocket/controllers/client/system.js +14 -0
  349. package/dist/websocket/controllers/client/system.js.map +7 -0
  350. package/dist/websocket/controllers/server/system.d.ts +7 -0
  351. package/dist/websocket/controllers/server/system.d.ts.map +1 -0
  352. package/dist/websocket/controllers/server/system.js +87 -0
  353. package/dist/websocket/controllers/server/system.js.map +7 -0
  354. package/dist/websocket/index.d.ts +7 -0
  355. package/dist/websocket/index.d.ts.map +1 -0
  356. package/dist/websocket/index.js +11 -0
  357. package/dist/websocket/index.js.map +7 -0
  358. package/dist/websocket/routes/client/system.d.ts +3 -0
  359. package/dist/websocket/routes/client/system.d.ts.map +1 -0
  360. package/dist/websocket/routes/client/system.js +11 -0
  361. package/dist/websocket/routes/client/system.js.map +7 -0
  362. package/dist/websocket/routes/server/system.d.ts +3 -0
  363. package/dist/websocket/routes/server/system.d.ts.map +1 -0
  364. package/dist/websocket/routes/server/system.js +16 -0
  365. package/dist/websocket/routes/server/system.js.map +7 -0
  366. package/dist/websocket/utils.d.ts +9 -0
  367. package/dist/websocket/utils.d.ts.map +1 -0
  368. package/dist/websocket/utils.js +39 -0
  369. package/dist/websocket/utils.js.map +7 -0
  370. package/dist/websocket/websocket-base.d.ts +15 -0
  371. package/dist/websocket/websocket-base.d.ts.map +1 -0
  372. package/dist/websocket/websocket-base.js +104 -0
  373. package/dist/websocket/websocket-base.js.map +7 -0
  374. package/dist/websocket/websocket-client-manager.d.ts +53 -0
  375. package/dist/websocket/websocket-client-manager.d.ts.map +1 -0
  376. package/dist/websocket/websocket-client-manager.interface.d.ts +8 -0
  377. package/dist/websocket/websocket-client-manager.interface.d.ts.map +1 -0
  378. package/dist/websocket/websocket-client-manager.interface.js +1 -0
  379. package/dist/websocket/websocket-client-manager.interface.js.map +7 -0
  380. package/dist/websocket/websocket-client-manager.js +225 -0
  381. package/dist/websocket/websocket-client-manager.js.map +7 -0
  382. package/dist/websocket/websocket-client.d.ts +35 -0
  383. package/dist/websocket/websocket-client.d.ts.map +1 -0
  384. package/dist/websocket/websocket-client.interface.d.ts +14 -0
  385. package/dist/websocket/websocket-client.interface.d.ts.map +1 -0
  386. package/dist/websocket/websocket-client.interface.js +1 -0
  387. package/dist/websocket/websocket-client.interface.js.map +7 -0
  388. package/dist/websocket/websocket-client.js +158 -0
  389. package/dist/websocket/websocket-client.js.map +7 -0
  390. package/dist/websocket/websocket-room-manager.d.ts +32 -0
  391. package/dist/websocket/websocket-room-manager.d.ts.map +1 -0
  392. package/dist/websocket/websocket-room-manager.js +130 -0
  393. package/dist/websocket/websocket-room-manager.js.map +7 -0
  394. package/dist/websocket/websocket-server.d.ts +92 -0
  395. package/dist/websocket/websocket-server.d.ts.map +1 -0
  396. package/dist/websocket/websocket-server.interface.d.ts +16 -0
  397. package/dist/websocket/websocket-server.interface.d.ts.map +1 -0
  398. package/dist/websocket/websocket-server.interface.js +1 -0
  399. package/dist/websocket/websocket-server.interface.js.map +7 -0
  400. package/dist/websocket/websocket-server.js +686 -0
  401. package/dist/websocket/websocket-server.js.map +7 -0
  402. package/dist/websocket/websocket-service.d.ts +44 -0
  403. package/dist/websocket/websocket-service.d.ts.map +1 -0
  404. package/dist/websocket/websocket-service.js +99 -0
  405. package/dist/websocket/websocket-service.js.map +7 -0
  406. package/dist/websocket/websocket.interface.d.ts +119 -0
  407. package/dist/websocket/websocket.interface.d.ts.map +1 -0
  408. package/dist/websocket/websocket.interface.js +18 -0
  409. package/dist/websocket/websocket.interface.js.map +7 -0
  410. package/package.json +159 -0
  411. package/pxl.js +4 -0
@@ -0,0 +1,164 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { PerformanceMonitor } from "./performance-monitor.js";
4
+ class WebServerPerformanceWrapper {
5
+ static {
6
+ __name(this, "WebServerPerformanceWrapper");
7
+ }
8
+ static performanceMonitor;
9
+ static setPerformanceMonitor(monitor) {
10
+ WebServerPerformanceWrapper.performanceMonitor = monitor;
11
+ }
12
+ static getPerformanceMonitor() {
13
+ if (!WebServerPerformanceWrapper.performanceMonitor) {
14
+ WebServerPerformanceWrapper.performanceMonitor = PerformanceMonitor.getInstance();
15
+ }
16
+ return WebServerPerformanceWrapper.performanceMonitor;
17
+ }
18
+ /**
19
+ * Create performance middleware for Fastify
20
+ */
21
+ static createPerformanceMiddleware(options = {}) {
22
+ const defaultOptions = {
23
+ logSlowRequests: true,
24
+ slowRequestThreshold: 1e3,
25
+ // 1 second
26
+ includeHeaders: false,
27
+ includeUserAgent: true,
28
+ skipRoutes: ["/health", "/metrics"],
29
+ skipMethods: []
30
+ };
31
+ const config = { ...defaultOptions, ...options };
32
+ const monitor = WebServerPerformanceWrapper.getPerformanceMonitor();
33
+ return async (request, _reply) => {
34
+ const { method, url, headers, ip } = request;
35
+ const routeKey = `${method} ${url}`;
36
+ if (config.skipRoutes?.includes(url) || config.skipMethods?.includes(method)) {
37
+ return;
38
+ }
39
+ const startMark = monitor.startMeasure(routeKey, "http");
40
+ const metadata = {
41
+ method,
42
+ url,
43
+ ip,
44
+ userAgent: config.includeUserAgent ? headers["user-agent"] : void 0,
45
+ headers: config.includeHeaders ? headers : void 0
46
+ };
47
+ request.performanceMetadata = metadata;
48
+ request.performanceStartMark = startMark;
49
+ };
50
+ }
51
+ /**
52
+ * Create Fastify hooks for performance monitoring
53
+ */
54
+ static createPerformanceHooks(_options = {}) {
55
+ const monitor = WebServerPerformanceWrapper.getPerformanceMonitor();
56
+ return {
57
+ onSend: /* @__PURE__ */ __name(async (request, reply, payload) => {
58
+ const startMark = request.performanceStartMark;
59
+ const metadata = request.performanceMetadata;
60
+ if (startMark && metadata) {
61
+ const responseMetadata = {
62
+ ...metadata,
63
+ statusCode: reply.statusCode,
64
+ contentLength: payload ? String(payload).length : 0
65
+ };
66
+ monitor.endMeasure(startMark, responseMetadata);
67
+ }
68
+ return payload;
69
+ }, "onSend"),
70
+ onError: /* @__PURE__ */ __name(async (request, reply, error) => {
71
+ const startMark = request.performanceStartMark;
72
+ const metadata = request.performanceMetadata;
73
+ if (startMark && metadata) {
74
+ const errorMetadata = {
75
+ ...metadata,
76
+ statusCode: reply.statusCode,
77
+ error: error.message,
78
+ errorName: error.name
79
+ };
80
+ monitor.endMeasure(startMark, errorMetadata);
81
+ }
82
+ }, "onError")
83
+ };
84
+ }
85
+ /**
86
+ * Monitor controller method execution
87
+ */
88
+ static async monitorControllerMethod({
89
+ controllerName,
90
+ methodName,
91
+ operation,
92
+ metadata
93
+ }) {
94
+ const monitor = WebServerPerformanceWrapper.getPerformanceMonitor();
95
+ return monitor.measureAsync({
96
+ name: `${controllerName}.${methodName}`,
97
+ type: "http",
98
+ fn: operation,
99
+ metadata: {
100
+ controller: controllerName,
101
+ method: methodName,
102
+ ...metadata
103
+ }
104
+ });
105
+ }
106
+ /**
107
+ * Monitor route handler execution
108
+ */
109
+ static async monitorRouteHandler({
110
+ route,
111
+ method,
112
+ operation,
113
+ metadata
114
+ }) {
115
+ const monitor = WebServerPerformanceWrapper.getPerformanceMonitor();
116
+ return monitor.measureAsync({
117
+ name: `${method} ${route}`,
118
+ type: "http",
119
+ fn: operation,
120
+ metadata: { route, method, ...metadata }
121
+ });
122
+ }
123
+ /**
124
+ * Monitor middleware execution
125
+ */
126
+ static async monitorMiddleware({
127
+ middlewareName,
128
+ operation,
129
+ metadata
130
+ }) {
131
+ const monitor = WebServerPerformanceWrapper.getPerformanceMonitor();
132
+ return monitor.measureAsync({
133
+ name: `middleware.${middlewareName}`,
134
+ type: "http",
135
+ fn: operation,
136
+ metadata: {
137
+ middleware: middlewareName,
138
+ ...metadata
139
+ }
140
+ });
141
+ }
142
+ }
143
+ function MonitorControllerMethod(methodName) {
144
+ return function(target, propertyKey, descriptor) {
145
+ const originalMethod = descriptor.value;
146
+ const controllerName = target.constructor.name;
147
+ const operation = methodName ?? propertyKey;
148
+ descriptor.value = async function(...args) {
149
+ return WebServerPerformanceWrapper.monitorControllerMethod({
150
+ controllerName,
151
+ methodName: operation,
152
+ operation: /* @__PURE__ */ __name(() => originalMethod.apply(this, args), "operation"),
153
+ metadata: { argumentCount: args.length }
154
+ });
155
+ };
156
+ return descriptor;
157
+ };
158
+ }
159
+ __name(MonitorControllerMethod, "MonitorControllerMethod");
160
+ export {
161
+ MonitorControllerMethod,
162
+ WebServerPerformanceWrapper
163
+ };
164
+ //# sourceMappingURL=webserver-performance.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/performance/webserver-performance.ts"],
4
+ "sourcesContent": ["import type { FastifyReply, FastifyRequest } from 'fastify';\nimport { PerformanceMonitor } from './performance-monitor.js';\n\nexport interface WebServerPerformanceOptions {\n logSlowRequests?: boolean;\n slowRequestThreshold?: number;\n includeHeaders?: boolean;\n includeUserAgent?: boolean;\n skipRoutes?: string[];\n skipMethods?: string[];\n}\n\nexport interface HttpRequestMetadata {\n method: string;\n url: string;\n ip?: string;\n userAgent?: string;\n headers?: Record<string, string | string[] | undefined>;\n statusCode?: number;\n contentLength?: number;\n error?: string;\n errorName?: string;\n argumentCount?: number;\n}\n\nexport class WebServerPerformanceWrapper {\n private static performanceMonitor: PerformanceMonitor;\n\n public static setPerformanceMonitor(monitor: PerformanceMonitor): void {\n WebServerPerformanceWrapper.performanceMonitor = monitor;\n }\n\n private static getPerformanceMonitor(): PerformanceMonitor {\n if (!WebServerPerformanceWrapper.performanceMonitor) {\n WebServerPerformanceWrapper.performanceMonitor = PerformanceMonitor.getInstance();\n }\n return WebServerPerformanceWrapper.performanceMonitor;\n }\n\n /**\n * Create performance middleware for Fastify\n */\n public static createPerformanceMiddleware(options: WebServerPerformanceOptions = {}) {\n const defaultOptions: WebServerPerformanceOptions = {\n logSlowRequests: true,\n slowRequestThreshold: 1000, // 1 second\n includeHeaders: false,\n includeUserAgent: true,\n skipRoutes: ['/health', '/metrics'],\n skipMethods: [],\n };\n\n const config = { ...defaultOptions, ...options };\n const monitor = WebServerPerformanceWrapper.getPerformanceMonitor();\n\n return async (request: FastifyRequest, _reply: FastifyReply) => {\n const { method, url, headers, ip } = request;\n const routeKey = `${method} ${url}`;\n\n // Skip monitoring for specified routes or methods\n if (config.skipRoutes?.includes(url) || config.skipMethods?.includes(method)) {\n return;\n }\n\n const startMark = monitor.startMeasure(routeKey, 'http');\n\n // Add request metadata\n const metadata: HttpRequestMetadata = {\n method,\n url,\n ip,\n userAgent: config.includeUserAgent ? (headers['user-agent'] as string) : undefined,\n headers: config.includeHeaders ? headers : undefined,\n };\n\n // Store metadata on request for later use\n (request as any).performanceMetadata = metadata;\n (request as any).performanceStartMark = startMark;\n };\n }\n\n /**\n * Create Fastify hooks for performance monitoring\n */\n public static createPerformanceHooks(_options: WebServerPerformanceOptions = {}) {\n const monitor = WebServerPerformanceWrapper.getPerformanceMonitor();\n\n return {\n onSend: async (request: FastifyRequest, reply: FastifyReply, payload: any) => {\n const startMark = (request as any).performanceStartMark;\n const metadata = (request as any).performanceMetadata;\n\n if (startMark && metadata) {\n const responseMetadata: HttpRequestMetadata = {\n ...metadata,\n statusCode: reply.statusCode,\n contentLength: payload ? String(payload).length : 0,\n };\n\n monitor.endMeasure(startMark, responseMetadata);\n }\n\n return payload;\n },\n onError: async (request: FastifyRequest, reply: FastifyReply, error: Error) => {\n const startMark = (request as any).performanceStartMark;\n const metadata = (request as any).performanceMetadata;\n\n if (startMark && metadata) {\n const errorMetadata: HttpRequestMetadata = {\n ...metadata,\n statusCode: reply.statusCode,\n error: error.message,\n errorName: error.name,\n };\n\n monitor.endMeasure(startMark, errorMetadata);\n }\n },\n };\n }\n\n /**\n * Monitor controller method execution\n */\n public static async monitorControllerMethod<T>({\n controllerName,\n methodName,\n operation,\n metadata,\n }: {\n controllerName: string;\n methodName: string;\n operation: () => Promise<T>;\n metadata?: Record<string, any>;\n }): Promise<T> {\n const monitor = WebServerPerformanceWrapper.getPerformanceMonitor();\n\n return monitor.measureAsync({\n name: `${controllerName}.${methodName}`,\n type: 'http',\n fn: operation,\n metadata: {\n controller: controllerName,\n method: methodName,\n ...metadata,\n },\n });\n }\n\n /**\n * Monitor route handler execution\n */\n public static async monitorRouteHandler<T>({\n route,\n method,\n operation,\n metadata,\n }: {\n route: string;\n method: string;\n operation: () => Promise<T>;\n metadata?: Record<string, any>;\n }): Promise<T> {\n const monitor = WebServerPerformanceWrapper.getPerformanceMonitor();\n\n return monitor.measureAsync({\n name: `${method} ${route}`,\n type: 'http',\n fn: operation,\n metadata: { route, method, ...metadata },\n });\n }\n\n /**\n * Monitor middleware execution\n */\n public static async monitorMiddleware<T>({\n middlewareName,\n operation,\n metadata,\n }: {\n middlewareName: string;\n operation: () => Promise<T>;\n metadata?: Record<string, any>;\n }): Promise<T> {\n const monitor = WebServerPerformanceWrapper.getPerformanceMonitor();\n\n return monitor.measureAsync({\n name: `middleware.${middlewareName}`,\n type: 'http',\n fn: operation,\n metadata: {\n middleware: middlewareName,\n ...metadata,\n },\n });\n }\n}\n\n/**\n * Decorator for monitoring controller methods\n */\nexport function MonitorControllerMethod(methodName?: string) {\n return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {\n const originalMethod = descriptor.value;\n const controllerName = target.constructor.name;\n const operation = methodName ?? propertyKey;\n\n descriptor.value = async function (...args: any[]) {\n return WebServerPerformanceWrapper.monitorControllerMethod({\n controllerName,\n methodName: operation,\n operation: () => originalMethod.apply(this, args),\n metadata: { argumentCount: args.length },\n });\n };\n\n return descriptor;\n };\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,44 @@
1
+ import { PerformanceMonitor } from './performance-monitor.js';
2
+ export interface WebSocketOperationMetadata {
3
+ operation: string;
4
+ messageType?: string;
5
+ messageSize?: number;
6
+ clientId?: string;
7
+ room?: string;
8
+ error?: string;
9
+ argumentCount?: number;
10
+ }
11
+ export declare class WebSocketPerformanceWrapper {
12
+ private static performanceMonitor;
13
+ static setPerformanceMonitor(monitor: PerformanceMonitor): void;
14
+ private static getPerformanceMonitor;
15
+ /**
16
+ * Monitor WebSocket message handling
17
+ */
18
+ static monitorMessageHandling<T>(messageType: string, operation: () => Promise<T>, metadata?: Partial<WebSocketOperationMetadata>): Promise<T>;
19
+ /**
20
+ * Monitor WebSocket connection operations
21
+ */
22
+ static monitorConnection<T>(connectionOperation: string, operation: () => Promise<T>, metadata?: Partial<WebSocketOperationMetadata>): Promise<T>;
23
+ /**
24
+ * Monitor WebSocket room operations
25
+ */
26
+ static monitorRoomOperation<T>(roomOperation: string, room: string, operation: () => Promise<T>, metadata?: Partial<WebSocketOperationMetadata>): Promise<T>;
27
+ /**
28
+ * Monitor WebSocket broadcast operations
29
+ */
30
+ static monitorBroadcast<T>(broadcastType: string, operation: () => Promise<T>, metadata?: Partial<WebSocketOperationMetadata>): Promise<T>;
31
+ /**
32
+ * Monitor WebSocket authentication
33
+ */
34
+ static monitorAuthentication<T>(operation: () => Promise<T>, metadata?: Partial<WebSocketOperationMetadata>): Promise<T>;
35
+ /**
36
+ * Monitor controller method execution
37
+ */
38
+ static monitorControllerMethod<T>(controllerName: string, methodName: string, operation: () => Promise<T>, metadata?: Partial<WebSocketOperationMetadata>): Promise<T>;
39
+ }
40
+ /**
41
+ * Decorator for monitoring WebSocket controller methods
42
+ */
43
+ export declare function MonitorWebSocketOperation(operationName?: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
44
+ //# sourceMappingURL=websocket-performance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-performance.d.ts","sourceRoot":"","sources":["../../src/performance/websocket-performance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,2BAA2B;IACtC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAqB;WAExC,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAItE,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAOpC;;OAEG;WACiB,sBAAsB,CAAC,CAAC,EAC1C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,GAC7C,OAAO,CAAC,CAAC,CAAC;IAiBb;;OAEG;WACiB,iBAAiB,CAAC,CAAC,EACrC,mBAAmB,EAAE,MAAM,EAC3B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,GAC7C,OAAO,CAAC,CAAC,CAAC;IAgBb;;OAEG;WACiB,oBAAoB,CAAC,CAAC,EACxC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,GAC7C,OAAO,CAAC,CAAC,CAAC;IAiBb;;OAEG;WACiB,gBAAgB,CAAC,CAAC,EACpC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,GAC7C,OAAO,CAAC,CAAC,CAAC;IAiBb;;OAEG;WACiB,qBAAqB,CAAC,CAAC,EACzC,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,GAC7C,OAAO,CAAC,CAAC,CAAC;IAgBb;;OAEG;WACiB,uBAAuB,CAAC,CAAC,EAC3C,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,GAC7C,OAAO,CAAC,CAAC,CAAC;CAed;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,aAAa,CAAC,EAAE,MAAM,IAC7C,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,wBAgBlF"}
@@ -0,0 +1,139 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { PerformanceMonitor } from "./performance-monitor.js";
4
+ class WebSocketPerformanceWrapper {
5
+ static {
6
+ __name(this, "WebSocketPerformanceWrapper");
7
+ }
8
+ static performanceMonitor;
9
+ static setPerformanceMonitor(monitor) {
10
+ WebSocketPerformanceWrapper.performanceMonitor = monitor;
11
+ }
12
+ static getPerformanceMonitor() {
13
+ if (!WebSocketPerformanceWrapper.performanceMonitor) {
14
+ WebSocketPerformanceWrapper.performanceMonitor = PerformanceMonitor.getInstance();
15
+ }
16
+ return WebSocketPerformanceWrapper.performanceMonitor;
17
+ }
18
+ /**
19
+ * Monitor WebSocket message handling
20
+ */
21
+ static async monitorMessageHandling(messageType, operation, metadata) {
22
+ const monitor = WebSocketPerformanceWrapper.getPerformanceMonitor();
23
+ const operationMetadata = {
24
+ operation: "message_handling",
25
+ messageType,
26
+ ...metadata
27
+ };
28
+ return monitor.measureAsync({
29
+ name: `message.${messageType}`,
30
+ type: "websocket",
31
+ fn: operation,
32
+ metadata: operationMetadata
33
+ });
34
+ }
35
+ /**
36
+ * Monitor WebSocket connection operations
37
+ */
38
+ static async monitorConnection(connectionOperation, operation, metadata) {
39
+ const monitor = WebSocketPerformanceWrapper.getPerformanceMonitor();
40
+ const operationMetadata = {
41
+ operation: connectionOperation,
42
+ ...metadata
43
+ };
44
+ return monitor.measureAsync({
45
+ name: `connection.${connectionOperation}`,
46
+ type: "websocket",
47
+ fn: operation,
48
+ metadata: operationMetadata
49
+ });
50
+ }
51
+ /**
52
+ * Monitor WebSocket room operations
53
+ */
54
+ static async monitorRoomOperation(roomOperation, room, operation, metadata) {
55
+ const monitor = WebSocketPerformanceWrapper.getPerformanceMonitor();
56
+ const operationMetadata = {
57
+ operation: roomOperation,
58
+ room,
59
+ ...metadata
60
+ };
61
+ return monitor.measureAsync({
62
+ name: `room.${roomOperation}`,
63
+ type: "websocket",
64
+ fn: operation,
65
+ metadata: operationMetadata
66
+ });
67
+ }
68
+ /**
69
+ * Monitor WebSocket broadcast operations
70
+ */
71
+ static async monitorBroadcast(broadcastType, operation, metadata) {
72
+ const monitor = WebSocketPerformanceWrapper.getPerformanceMonitor();
73
+ const operationMetadata = {
74
+ operation: "broadcast",
75
+ messageType: broadcastType,
76
+ ...metadata
77
+ };
78
+ return monitor.measureAsync({
79
+ name: `broadcast.${broadcastType}`,
80
+ type: "websocket",
81
+ fn: operation,
82
+ metadata: operationMetadata
83
+ });
84
+ }
85
+ /**
86
+ * Monitor WebSocket authentication
87
+ */
88
+ static async monitorAuthentication(operation, metadata) {
89
+ const monitor = WebSocketPerformanceWrapper.getPerformanceMonitor();
90
+ const operationMetadata = {
91
+ operation: "authentication",
92
+ ...metadata
93
+ };
94
+ return monitor.measureAsync({
95
+ name: "authentication",
96
+ type: "websocket",
97
+ fn: operation,
98
+ metadata: operationMetadata
99
+ });
100
+ }
101
+ /**
102
+ * Monitor controller method execution
103
+ */
104
+ static async monitorControllerMethod(controllerName, methodName, operation, metadata) {
105
+ const monitor = WebSocketPerformanceWrapper.getPerformanceMonitor();
106
+ const operationMetadata = {
107
+ operation: "controller_method",
108
+ ...metadata
109
+ };
110
+ return monitor.measureAsync({
111
+ name: `${controllerName}.${methodName}`,
112
+ type: "websocket",
113
+ fn: operation,
114
+ metadata: operationMetadata
115
+ });
116
+ }
117
+ }
118
+ function MonitorWebSocketOperation(operationName) {
119
+ return function(target, propertyKey, descriptor) {
120
+ const originalMethod = descriptor.value;
121
+ const controllerName = target.constructor.name;
122
+ const operation = operationName ?? propertyKey;
123
+ descriptor.value = async function(...args) {
124
+ return WebSocketPerformanceWrapper.monitorControllerMethod(
125
+ controllerName,
126
+ operation,
127
+ () => originalMethod.apply(this, args),
128
+ { argumentCount: args.length }
129
+ );
130
+ };
131
+ return descriptor;
132
+ };
133
+ }
134
+ __name(MonitorWebSocketOperation, "MonitorWebSocketOperation");
135
+ export {
136
+ MonitorWebSocketOperation,
137
+ WebSocketPerformanceWrapper
138
+ };
139
+ //# sourceMappingURL=websocket-performance.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/performance/websocket-performance.ts"],
4
+ "sourcesContent": ["import { PerformanceMonitor } from './performance-monitor.js';\n\nexport interface WebSocketOperationMetadata {\n operation: string;\n messageType?: string;\n messageSize?: number;\n clientId?: string;\n room?: string;\n error?: string;\n argumentCount?: number;\n}\n\nexport class WebSocketPerformanceWrapper {\n private static performanceMonitor: PerformanceMonitor;\n\n public static setPerformanceMonitor(monitor: PerformanceMonitor): void {\n WebSocketPerformanceWrapper.performanceMonitor = monitor;\n }\n\n private static getPerformanceMonitor(): PerformanceMonitor {\n if (!WebSocketPerformanceWrapper.performanceMonitor) {\n WebSocketPerformanceWrapper.performanceMonitor = PerformanceMonitor.getInstance();\n }\n return WebSocketPerformanceWrapper.performanceMonitor;\n }\n\n /**\n * Monitor WebSocket message handling\n */\n public static async monitorMessageHandling<T>(\n messageType: string,\n operation: () => Promise<T>,\n metadata?: Partial<WebSocketOperationMetadata>,\n ): Promise<T> {\n const monitor = WebSocketPerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: WebSocketOperationMetadata = {\n operation: 'message_handling',\n messageType,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `message.${messageType}`,\n type: 'websocket',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n\n /**\n * Monitor WebSocket connection operations\n */\n public static async monitorConnection<T>(\n connectionOperation: string,\n operation: () => Promise<T>,\n metadata?: Partial<WebSocketOperationMetadata>,\n ): Promise<T> {\n const monitor = WebSocketPerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: WebSocketOperationMetadata = {\n operation: connectionOperation,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `connection.${connectionOperation}`,\n type: 'websocket',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n\n /**\n * Monitor WebSocket room operations\n */\n public static async monitorRoomOperation<T>(\n roomOperation: string,\n room: string,\n operation: () => Promise<T>,\n metadata?: Partial<WebSocketOperationMetadata>,\n ): Promise<T> {\n const monitor = WebSocketPerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: WebSocketOperationMetadata = {\n operation: roomOperation,\n room,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `room.${roomOperation}`,\n type: 'websocket',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n\n /**\n * Monitor WebSocket broadcast operations\n */\n public static async monitorBroadcast<T>(\n broadcastType: string,\n operation: () => Promise<T>,\n metadata?: Partial<WebSocketOperationMetadata>,\n ): Promise<T> {\n const monitor = WebSocketPerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: WebSocketOperationMetadata = {\n operation: 'broadcast',\n messageType: broadcastType,\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `broadcast.${broadcastType}`,\n type: 'websocket',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n\n /**\n * Monitor WebSocket authentication\n */\n public static async monitorAuthentication<T>(\n operation: () => Promise<T>,\n metadata?: Partial<WebSocketOperationMetadata>,\n ): Promise<T> {\n const monitor = WebSocketPerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: WebSocketOperationMetadata = {\n operation: 'authentication',\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: 'authentication',\n type: 'websocket',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n\n /**\n * Monitor controller method execution\n */\n public static async monitorControllerMethod<T>(\n controllerName: string,\n methodName: string,\n operation: () => Promise<T>,\n metadata?: Partial<WebSocketOperationMetadata>,\n ): Promise<T> {\n const monitor = WebSocketPerformanceWrapper.getPerformanceMonitor();\n\n const operationMetadata: WebSocketOperationMetadata = {\n operation: 'controller_method',\n ...metadata,\n };\n\n return monitor.measureAsync({\n name: `${controllerName}.${methodName}`,\n type: 'websocket',\n fn: operation,\n metadata: operationMetadata,\n });\n }\n}\n\n/**\n * Decorator for monitoring WebSocket controller methods\n */\nexport function MonitorWebSocketOperation(operationName?: string) {\n return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {\n const originalMethod = descriptor.value;\n const controllerName = target.constructor.name;\n const operation = operationName ?? propertyKey;\n\n descriptor.value = async function (...args: any[]) {\n return WebSocketPerformanceWrapper.monitorControllerMethod(\n controllerName,\n operation,\n () => originalMethod.apply(this, args),\n { argumentCount: args.length },\n );\n };\n\n return descriptor;\n };\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,6 @@
1
+ export { default as QueueManager } from './manager.js';
2
+ export type { QueueItem } from './index.interface.js';
3
+ export type { QueueJob, QueueJobData } from './job.interface.js';
4
+ export { default as BaseProcessor } from './processor/base.js';
5
+ export type { ProcessorConstructorParams, ProcessorConstructor } from './processor/processor.interface.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/queue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,cAAc,CAAC;AACvD,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/D,YAAY,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { QueueJob } from './job.interface.js';
2
+ export interface QueueItem {
3
+ /** Queue name */
4
+ name: string;
5
+ /** Whether queue is external */
6
+ isExternal?: boolean;
7
+ /** Queue jobs */
8
+ jobs: QueueJob[];
9
+ }
10
+ //# sourceMappingURL=index.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.interface.d.ts","sourceRoot":"","sources":["../../src/queue/index.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,WAAW,SAAS;IACxB,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IAEb,gCAAgC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,iBAAiB;IACjB,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.interface.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,7 @@
1
+ import { default as default2 } from "./manager.js";
2
+ import { default as default3 } from "./processor/base.js";
3
+ export {
4
+ default3 as BaseProcessor,
5
+ default2 as QueueManager
6
+ };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/queue/index.ts"],
4
+ "sourcesContent": ["export { default as QueueManager } from './manager.js';\nexport type { QueueItem } from './index.interface.js';\nexport type { QueueJob, QueueJobData } from './job.interface.js';\nexport { default as BaseProcessor } from './processor/base.js';\nexport type { ProcessorConstructorParams, ProcessorConstructor } from './processor/processor.interface.js';\n"],
5
+ "mappings": "AAAA,SAAoB,WAAXA,gBAA+B;AAGxC,SAAoB,WAAXA,gBAAgC;",
6
+ "names": ["default"]
7
+ }
@@ -0,0 +1,42 @@
1
+ export interface QueueJob {
2
+ /** Job ID */
3
+ id: string;
4
+ /** The maximum number of concurrent jobs in queue */
5
+ maxConcurrency?: number;
6
+ }
7
+ export interface QueueJobData {
8
+ /** Unique identifier for the job */
9
+ jobId?: string;
10
+ /** Timestamp when job was created */
11
+ createdAt?: Date;
12
+ /** Timestamp when job processing started */
13
+ startTime?: [number, number];
14
+ /** Priority of the job (higher number = higher priority) */
15
+ priority?: number;
16
+ /** Maximum number of retry attempts */
17
+ maxRetries?: number;
18
+ /** Current retry attempt number */
19
+ attemptsMade?: number;
20
+ /** Delay before processing (in milliseconds) */
21
+ delay?: number;
22
+ /** WebSocket client ID for real-time updates */
23
+ webSocketClientId?: string;
24
+ /** User ID associated with the job */
25
+ userId?: string;
26
+ /** Custom metadata for the job */
27
+ metadata?: Record<string, unknown>;
28
+ /** The actual job payload data */
29
+ payload: Record<string, unknown>;
30
+ /** Job configuration options */
31
+ options?: {
32
+ /** Remove job from queue after completion */
33
+ removeOnComplete?: boolean;
34
+ /** Remove job from queue after failure */
35
+ removeOnFail?: boolean;
36
+ /** Exponential backoff multiplier */
37
+ backoffMultiplier?: number;
38
+ /** Exponential backoff delay */
39
+ backoffDelay?: number;
40
+ };
41
+ }
42
+ //# sourceMappingURL=job.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job.interface.d.ts","sourceRoot":"","sources":["../../src/queue/job.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,aAAa;IACb,EAAE,EAAE,MAAM,CAAC;IAEX,qDAAqD;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qCAAqC;IACrC,SAAS,CAAC,EAAE,IAAI,CAAC;IAEjB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjC,gCAAgC;IAChC,OAAO,CAAC,EAAE;QACR,6CAA6C;QAC7C,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,0CAA0C;QAC1C,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,qCAAqC;QACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,gCAAgC;QAChC,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=job.interface.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,36 @@
1
+ import { type Job } from 'bullmq';
2
+ import type { QueueManagerConstructorParams } from './manager.interface.js';
3
+ import type { QueueJobData } from './job.interface.js';
4
+ import type { QueueItem } from './index.interface.js';
5
+ export default class QueueManager {
6
+ private logger;
7
+ private applicationConfig;
8
+ private options;
9
+ private redisInstance;
10
+ private databaseInstance;
11
+ private eventManager?;
12
+ private queues;
13
+ private jobProcessors;
14
+ constructor({ applicationConfig, options, queues: _queues, redisInstance, databaseInstance, eventManager, }: QueueManagerConstructorParams);
15
+ registerQueues({ queues }: {
16
+ queues: QueueItem[];
17
+ }): Promise<void>;
18
+ private registerQueue;
19
+ private registerJobProcessors;
20
+ private onQueueError;
21
+ private onQueueWaiting;
22
+ private onQueueProgress;
23
+ private onQueueRemoved;
24
+ addJobToQueue: ({ queueId, jobId, data }: {
25
+ queueId: string;
26
+ jobId: string;
27
+ data: QueueJobData;
28
+ }) => Promise<Job<any, any, string> | undefined>;
29
+ private workerProcessor;
30
+ listAllJobsWithStatus(): Promise<any[]>;
31
+ /**
32
+ * Log queue message
33
+ */
34
+ log(message: string, meta?: Record<string, unknown>): void;
35
+ }
36
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/queue/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAgE,MAAM,QAAQ,CAAC;AAEhG,OAAO,KAAK,EAAE,6BAA6B,EAAuB,MAAM,wBAAwB,CAAC;AAOjG,OAAO,KAAK,EAAY,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKtD,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,OAAO,CAAC,MAAM,CAAyB;IAEvC,OAAO,CAAC,iBAAiB,CAAoB;IAE7C,OAAO,CAAC,OAAO,CAAsB;IAErC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,YAAY,CAAC,CAAe;IAEpC,OAAO,CAAC,MAAM,CAAiC;IAE/C,OAAO,CAAC,aAAa,CAAyC;gBAElD,EACV,iBAAiB,EACjB,OAAO,EACP,MAAM,EAAE,OAAO,EACf,aAAa,EACb,gBAAgB,EAChB,YAAY,GACb,EAAE,6BAA6B;IAcnB,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,SAAS,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC/E,OAAO,CAAC,aAAa;IAyDrB,OAAO,CAAC,qBAAqB;IA0C7B,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,cAAc,CAIpB;IAEF,OAAO,CAAC,eAAe,CAOrB;IAEF,OAAO,CAAC,cAAc,CAEpB;IAEK,aAAa,GAAU,0BAA0B;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,YAAY,CAAA;KAAE,gDA0B5G;IAEF,OAAO,CAAC,eAAe,CAuCrB;IAEW,qBAAqB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IA2BpD;;OAEG;IACI,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAGlE"}
@@ -0,0 +1,18 @@
1
+ import type { ApplicationConfig } from '../application/base-application.interface.js';
2
+ import type DatabaseInstance from '../database/instance.js';
3
+ import type EventManager from '../event/manager.js';
4
+ import type { RedisInstance } from '../redis/index.js';
5
+ import type { QueueItem } from './index.interface.js';
6
+ export interface QueueManagerOptions {
7
+ /** Queue processors directory */
8
+ processorsDirectory: string;
9
+ }
10
+ export interface QueueManagerConstructorParams {
11
+ applicationConfig: ApplicationConfig;
12
+ options?: QueueManagerOptions;
13
+ queues: QueueItem[];
14
+ redisInstance: RedisInstance;
15
+ databaseInstance: DatabaseInstance | null;
16
+ eventManager?: EventManager;
17
+ }
18
+ //# sourceMappingURL=manager.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.interface.d.ts","sourceRoot":"","sources":["../../src/queue/manager.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,YAAY,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,iCAAiC;IACjC,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,6BAA6B;IAC5C,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC1C,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=manager.interface.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }