@morojs/moro 1.6.2 → 1.6.4

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 (366) hide show
  1. package/dist/core/http/http-server.js +12 -9
  2. package/dist/core/http/http-server.js.map +1 -1
  3. package/dist/core/http/uws-http-server.js +1 -1
  4. package/dist/core/http/uws-http-server.js.map +1 -1
  5. package/dist/core/middleware/built-in/auth/core.d.ts +78 -0
  6. package/dist/core/middleware/built-in/auth/core.js +358 -0
  7. package/dist/core/middleware/built-in/auth/core.js.map +1 -0
  8. package/dist/core/middleware/built-in/{auth-helpers.js → auth/helpers.js} +1 -1
  9. package/dist/core/middleware/built-in/auth/helpers.js.map +1 -0
  10. package/dist/core/middleware/built-in/auth/hook.d.ts +30 -0
  11. package/dist/core/middleware/built-in/auth/hook.js +99 -0
  12. package/dist/core/middleware/built-in/auth/hook.js.map +1 -0
  13. package/dist/core/middleware/built-in/auth/index.d.ts +7 -0
  14. package/dist/core/middleware/built-in/auth/index.js +15 -0
  15. package/dist/core/middleware/built-in/auth/index.js.map +1 -0
  16. package/dist/core/middleware/built-in/{jwt-helpers.js → auth/jwt-helpers.js} +1 -1
  17. package/dist/core/middleware/built-in/auth/jwt-helpers.js.map +1 -0
  18. package/dist/core/middleware/built-in/auth/middleware.d.ts +23 -0
  19. package/dist/core/middleware/built-in/auth/middleware.js +71 -0
  20. package/dist/core/middleware/built-in/auth/middleware.js.map +1 -0
  21. package/dist/core/middleware/built-in/{auth-providers.d.ts → auth/providers.d.ts} +1 -1
  22. package/dist/core/middleware/built-in/{auth-providers.js → auth/providers.js} +1 -1
  23. package/dist/core/middleware/built-in/auth/providers.js.map +1 -0
  24. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/file.d.ts +1 -1
  25. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/file.js +1 -1
  26. package/dist/core/middleware/built-in/cache/adapters/cache/file.js.map +1 -0
  27. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/index.d.ts +1 -1
  28. package/dist/core/middleware/built-in/cache/adapters/cache/index.js.map +1 -0
  29. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/memory.d.ts +1 -1
  30. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/memory.js +1 -1
  31. package/dist/core/middleware/built-in/cache/adapters/cache/memory.js.map +1 -0
  32. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/redis.d.ts +1 -1
  33. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/redis.js +2 -2
  34. package/dist/core/middleware/built-in/cache/adapters/cache/redis.js.map +1 -0
  35. package/dist/core/middleware/built-in/{adapters → cache/adapters}/index.d.ts +0 -2
  36. package/{src/core/middleware/built-in/adapters/index.ts → dist/core/middleware/built-in/cache/adapters/index.js} +1 -3
  37. package/dist/core/middleware/built-in/cache/adapters/index.js.map +1 -0
  38. package/dist/core/middleware/built-in/cache/core.d.ts +37 -0
  39. package/dist/core/middleware/built-in/cache/core.js +87 -0
  40. package/dist/core/middleware/built-in/cache/core.js.map +1 -0
  41. package/dist/core/middleware/built-in/cache/hook.d.ts +20 -0
  42. package/dist/core/middleware/built-in/{cache.js → cache/hook.js} +22 -5
  43. package/dist/core/middleware/built-in/cache/hook.js.map +1 -0
  44. package/dist/core/middleware/built-in/cache/index.d.ts +3 -0
  45. package/dist/core/middleware/built-in/cache/index.js +9 -0
  46. package/dist/core/middleware/built-in/cache/index.js.map +1 -0
  47. package/dist/core/middleware/built-in/cache/middleware.d.ts +17 -0
  48. package/dist/core/middleware/built-in/cache/middleware.js +44 -0
  49. package/dist/core/middleware/built-in/cache/middleware.js.map +1 -0
  50. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/azure.d.ts +1 -1
  51. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/azure.js +1 -1
  52. package/dist/core/middleware/built-in/cdn/adapters/cdn/azure.js.map +1 -0
  53. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/cloudflare.d.ts +1 -1
  54. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/cloudflare.js +1 -1
  55. package/dist/core/middleware/built-in/cdn/adapters/cdn/cloudflare.js.map +1 -0
  56. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/cloudfront.d.ts +1 -1
  57. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/cloudfront.js +2 -2
  58. package/dist/core/middleware/built-in/cdn/adapters/cdn/cloudfront.js.map +1 -0
  59. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/index.d.ts +1 -1
  60. package/dist/core/middleware/built-in/cdn/adapters/cdn/index.js.map +1 -0
  61. package/dist/core/middleware/built-in/cdn/adapters/index.d.ts +2 -0
  62. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/index.js +0 -2
  63. package/dist/core/middleware/built-in/cdn/adapters/index.js.map +1 -0
  64. package/dist/core/middleware/built-in/cdn/core.d.ts +43 -0
  65. package/dist/core/middleware/built-in/cdn/core.js +144 -0
  66. package/dist/core/middleware/built-in/cdn/core.js.map +1 -0
  67. package/dist/core/middleware/built-in/cdn/hook.d.ts +22 -0
  68. package/dist/core/middleware/built-in/cdn/hook.js +70 -0
  69. package/dist/core/middleware/built-in/cdn/hook.js.map +1 -0
  70. package/dist/core/middleware/built-in/cdn/index.d.ts +5 -0
  71. package/dist/core/middleware/built-in/cdn/index.js +11 -0
  72. package/dist/core/middleware/built-in/cdn/index.js.map +1 -0
  73. package/dist/core/middleware/built-in/cdn/middleware.d.ts +21 -0
  74. package/dist/core/middleware/built-in/cdn/middleware.js +52 -0
  75. package/dist/core/middleware/built-in/cdn/middleware.js.map +1 -0
  76. package/dist/core/middleware/built-in/cookie/core.d.ts +37 -0
  77. package/dist/core/middleware/built-in/cookie/core.js +83 -0
  78. package/dist/core/middleware/built-in/cookie/core.js.map +1 -0
  79. package/dist/core/middleware/built-in/cookie/hook.d.ts +20 -0
  80. package/dist/core/middleware/built-in/cookie/hook.js +47 -0
  81. package/dist/core/middleware/built-in/cookie/hook.js.map +1 -0
  82. package/dist/core/middleware/built-in/cookie/index.d.ts +3 -0
  83. package/dist/core/middleware/built-in/cookie/index.js +9 -0
  84. package/dist/core/middleware/built-in/cookie/index.js.map +1 -0
  85. package/dist/core/middleware/built-in/cookie/middleware.d.ts +17 -0
  86. package/dist/core/middleware/built-in/cookie/middleware.js +36 -0
  87. package/dist/core/middleware/built-in/cookie/middleware.js.map +1 -0
  88. package/dist/core/middleware/built-in/cors/core.d.ts +23 -0
  89. package/dist/core/middleware/built-in/cors/core.js +51 -0
  90. package/dist/core/middleware/built-in/cors/core.js.map +1 -0
  91. package/dist/core/middleware/built-in/cors/hook.d.ts +17 -0
  92. package/dist/core/middleware/built-in/cors/hook.js +37 -0
  93. package/dist/core/middleware/built-in/cors/hook.js.map +1 -0
  94. package/dist/core/middleware/built-in/cors/index.d.ts +3 -0
  95. package/dist/core/middleware/built-in/cors/index.js +9 -0
  96. package/dist/core/middleware/built-in/cors/index.js.map +1 -0
  97. package/dist/core/middleware/built-in/cors/middleware.d.ts +16 -0
  98. package/dist/core/middleware/built-in/cors/middleware.js +22 -0
  99. package/dist/core/middleware/built-in/cors/middleware.js.map +1 -0
  100. package/dist/core/middleware/built-in/csp/core.d.ts +45 -0
  101. package/dist/core/middleware/built-in/csp/core.js +88 -0
  102. package/dist/core/middleware/built-in/csp/core.js.map +1 -0
  103. package/dist/core/middleware/built-in/csp/hook.d.ts +22 -0
  104. package/dist/core/middleware/built-in/csp/hook.js +47 -0
  105. package/dist/core/middleware/built-in/csp/hook.js.map +1 -0
  106. package/dist/core/middleware/built-in/csp/index.d.ts +3 -0
  107. package/dist/core/middleware/built-in/csp/index.js +9 -0
  108. package/dist/core/middleware/built-in/csp/index.js.map +1 -0
  109. package/dist/core/middleware/built-in/csp/middleware.d.ts +19 -0
  110. package/dist/core/middleware/built-in/csp/middleware.js +29 -0
  111. package/dist/core/middleware/built-in/csp/middleware.js.map +1 -0
  112. package/dist/core/middleware/built-in/csrf/core.d.ts +28 -0
  113. package/dist/core/middleware/built-in/csrf/core.js +69 -0
  114. package/dist/core/middleware/built-in/csrf/core.js.map +1 -0
  115. package/dist/core/middleware/built-in/csrf/hook.d.ts +17 -0
  116. package/dist/core/middleware/built-in/csrf/hook.js +45 -0
  117. package/dist/core/middleware/built-in/csrf/hook.js.map +1 -0
  118. package/dist/core/middleware/built-in/csrf/index.d.ts +3 -0
  119. package/dist/core/middleware/built-in/csrf/index.js +9 -0
  120. package/dist/core/middleware/built-in/csrf/index.js.map +1 -0
  121. package/dist/core/middleware/built-in/csrf/middleware.d.ts +16 -0
  122. package/dist/core/middleware/built-in/csrf/middleware.js +34 -0
  123. package/dist/core/middleware/built-in/csrf/middleware.js.map +1 -0
  124. package/dist/core/middleware/built-in/error-tracker/index.d.ts +1 -0
  125. package/dist/core/middleware/built-in/error-tracker/index.js +4 -0
  126. package/dist/core/middleware/built-in/error-tracker/index.js.map +1 -0
  127. package/dist/core/middleware/built-in/error-tracker/middleware.d.ts +12 -0
  128. package/dist/core/middleware/built-in/{error-tracker.js → error-tracker/middleware.js} +14 -3
  129. package/dist/core/middleware/built-in/error-tracker/middleware.js.map +1 -0
  130. package/dist/core/middleware/built-in/index.d.ts +25 -59
  131. package/dist/core/middleware/built-in/index.js +31 -31
  132. package/dist/core/middleware/built-in/index.js.map +1 -1
  133. package/dist/core/middleware/built-in/performance-monitor/index.d.ts +1 -0
  134. package/dist/core/middleware/built-in/performance-monitor/index.js +4 -0
  135. package/dist/core/middleware/built-in/performance-monitor/index.js.map +1 -0
  136. package/dist/core/middleware/built-in/performance-monitor/middleware.d.ts +12 -0
  137. package/dist/core/middleware/built-in/{performance-monitor.js → performance-monitor/middleware.js} +14 -3
  138. package/dist/core/middleware/built-in/performance-monitor/middleware.js.map +1 -0
  139. package/dist/core/middleware/built-in/rate-limit/core.d.ts +33 -0
  140. package/dist/core/middleware/built-in/rate-limit/core.js +86 -0
  141. package/dist/core/middleware/built-in/rate-limit/core.js.map +1 -0
  142. package/dist/core/middleware/built-in/rate-limit/hook.d.ts +20 -0
  143. package/dist/core/middleware/built-in/{rate-limit.js → rate-limit/hook.js} +22 -16
  144. package/dist/core/middleware/built-in/rate-limit/hook.js.map +1 -0
  145. package/dist/core/middleware/built-in/rate-limit/index.d.ts +3 -0
  146. package/dist/core/middleware/built-in/rate-limit/index.js +9 -0
  147. package/dist/core/middleware/built-in/rate-limit/index.js.map +1 -0
  148. package/dist/core/middleware/built-in/rate-limit/middleware.d.ts +16 -0
  149. package/dist/core/middleware/built-in/rate-limit/middleware.js +35 -0
  150. package/dist/core/middleware/built-in/rate-limit/middleware.js.map +1 -0
  151. package/dist/core/middleware/built-in/request-logger/index.d.ts +1 -0
  152. package/dist/core/middleware/built-in/request-logger/index.js +4 -0
  153. package/dist/core/middleware/built-in/request-logger/index.js.map +1 -0
  154. package/dist/core/middleware/built-in/request-logger/middleware.d.ts +12 -0
  155. package/dist/core/middleware/built-in/{request-logger.js → request-logger/middleware.js} +14 -3
  156. package/dist/core/middleware/built-in/request-logger/middleware.js.map +1 -0
  157. package/dist/core/middleware/built-in/session/core.d.ts +73 -0
  158. package/dist/core/middleware/built-in/session/core.js +227 -0
  159. package/dist/core/middleware/built-in/session/core.js.map +1 -0
  160. package/dist/core/middleware/built-in/session/hook.d.ts +17 -0
  161. package/dist/core/middleware/built-in/session/hook.js +53 -0
  162. package/dist/core/middleware/built-in/session/hook.js.map +1 -0
  163. package/dist/core/middleware/built-in/session/index.d.ts +3 -0
  164. package/dist/core/middleware/built-in/session/index.js +9 -0
  165. package/dist/core/middleware/built-in/session/index.js.map +1 -0
  166. package/dist/core/middleware/built-in/session/middleware.d.ts +17 -0
  167. package/dist/core/middleware/built-in/session/middleware.js +38 -0
  168. package/dist/core/middleware/built-in/session/middleware.js.map +1 -0
  169. package/dist/core/middleware/built-in/sse/core.d.ts +44 -0
  170. package/dist/core/middleware/built-in/sse/core.js +117 -0
  171. package/dist/core/middleware/built-in/sse/core.js.map +1 -0
  172. package/dist/core/middleware/built-in/sse/hook.d.ts +18 -0
  173. package/dist/core/middleware/built-in/sse/hook.js +60 -0
  174. package/dist/core/middleware/built-in/sse/hook.js.map +1 -0
  175. package/dist/core/middleware/built-in/sse/index.d.ts +3 -0
  176. package/dist/core/middleware/built-in/sse/index.js +9 -0
  177. package/dist/core/middleware/built-in/sse/index.js.map +1 -0
  178. package/dist/core/middleware/built-in/sse/middleware.d.ts +18 -0
  179. package/dist/core/middleware/built-in/sse/middleware.js +43 -0
  180. package/dist/core/middleware/built-in/sse/middleware.js.map +1 -0
  181. package/dist/core/middleware/built-in/validation/core.d.ts +23 -0
  182. package/dist/core/middleware/built-in/validation/core.js +93 -0
  183. package/dist/core/middleware/built-in/validation/core.js.map +1 -0
  184. package/dist/core/middleware/built-in/validation/hook.d.ts +13 -0
  185. package/dist/core/middleware/built-in/{validation.js → validation/hook.js} +14 -3
  186. package/dist/core/middleware/built-in/validation/hook.js.map +1 -0
  187. package/dist/core/middleware/built-in/validation/index.d.ts +3 -0
  188. package/dist/core/middleware/built-in/validation/index.js +9 -0
  189. package/dist/core/middleware/built-in/validation/index.js.map +1 -0
  190. package/dist/core/middleware/built-in/validation/middleware.d.ts +16 -0
  191. package/dist/core/middleware/built-in/validation/middleware.js +27 -0
  192. package/dist/core/middleware/built-in/validation/middleware.js.map +1 -0
  193. package/dist/core/middleware/index.js +6 -0
  194. package/dist/core/middleware/index.js.map +1 -1
  195. package/dist/core/routing/unified-router.d.ts +4 -20
  196. package/dist/core/routing/unified-router.js +61 -106
  197. package/dist/core/routing/unified-router.js.map +1 -1
  198. package/dist/index.d.ts +3 -2
  199. package/dist/index.js +3 -2
  200. package/dist/index.js.map +1 -1
  201. package/dist/moro.js +12 -18
  202. package/dist/moro.js.map +1 -1
  203. package/dist/types/hooks.d.ts +3 -0
  204. package/package.json +2 -6
  205. package/dist/core/middleware/built-in/adapters/cache/file.js.map +0 -1
  206. package/dist/core/middleware/built-in/adapters/cache/index.js.map +0 -1
  207. package/dist/core/middleware/built-in/adapters/cache/memory.js.map +0 -1
  208. package/dist/core/middleware/built-in/adapters/cache/redis.js.map +0 -1
  209. package/dist/core/middleware/built-in/adapters/cdn/azure.js.map +0 -1
  210. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js.map +0 -1
  211. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js.map +0 -1
  212. package/dist/core/middleware/built-in/adapters/cdn/index.js.map +0 -1
  213. package/dist/core/middleware/built-in/adapters/index.js.map +0 -1
  214. package/dist/core/middleware/built-in/auth-helpers.js.map +0 -1
  215. package/dist/core/middleware/built-in/auth-providers.js.map +0 -1
  216. package/dist/core/middleware/built-in/auth.d.ts +0 -30
  217. package/dist/core/middleware/built-in/auth.js +0 -348
  218. package/dist/core/middleware/built-in/auth.js.map +0 -1
  219. package/dist/core/middleware/built-in/cache.d.ts +0 -3
  220. package/dist/core/middleware/built-in/cache.js.map +0 -1
  221. package/dist/core/middleware/built-in/cdn.d.ts +0 -3
  222. package/dist/core/middleware/built-in/cdn.js +0 -109
  223. package/dist/core/middleware/built-in/cdn.js.map +0 -1
  224. package/dist/core/middleware/built-in/cookie.d.ts +0 -14
  225. package/dist/core/middleware/built-in/cookie.js +0 -64
  226. package/dist/core/middleware/built-in/cookie.js.map +0 -1
  227. package/dist/core/middleware/built-in/cors.d.ts +0 -2
  228. package/dist/core/middleware/built-in/cors.js +0 -25
  229. package/dist/core/middleware/built-in/cors.js.map +0 -1
  230. package/dist/core/middleware/built-in/csp.d.ts +0 -22
  231. package/dist/core/middleware/built-in/csp.js +0 -68
  232. package/dist/core/middleware/built-in/csp.js.map +0 -1
  233. package/dist/core/middleware/built-in/csrf.d.ts +0 -9
  234. package/dist/core/middleware/built-in/csrf.js +0 -60
  235. package/dist/core/middleware/built-in/csrf.js.map +0 -1
  236. package/dist/core/middleware/built-in/error-tracker.d.ts +0 -1
  237. package/dist/core/middleware/built-in/error-tracker.js.map +0 -1
  238. package/dist/core/middleware/built-in/jwt-helpers.js.map +0 -1
  239. package/dist/core/middleware/built-in/performance-monitor.d.ts +0 -1
  240. package/dist/core/middleware/built-in/performance-monitor.js.map +0 -1
  241. package/dist/core/middleware/built-in/rate-limit.d.ts +0 -6
  242. package/dist/core/middleware/built-in/rate-limit.js.map +0 -1
  243. package/dist/core/middleware/built-in/request-logger.d.ts +0 -1
  244. package/dist/core/middleware/built-in/request-logger.js.map +0 -1
  245. package/dist/core/middleware/built-in/session.d.ts +0 -41
  246. package/dist/core/middleware/built-in/session.js +0 -205
  247. package/dist/core/middleware/built-in/session.js.map +0 -1
  248. package/dist/core/middleware/built-in/sse.d.ts +0 -6
  249. package/dist/core/middleware/built-in/sse.js +0 -69
  250. package/dist/core/middleware/built-in/sse.js.map +0 -1
  251. package/dist/core/middleware/built-in/validation.d.ts +0 -2
  252. package/dist/core/middleware/built-in/validation.js.map +0 -1
  253. package/jest.config.mjs +0 -41
  254. package/src/core/auth/README.md +0 -339
  255. package/src/core/auth/morojs-adapter.ts +0 -415
  256. package/src/core/config/config-manager.ts +0 -133
  257. package/src/core/config/config-sources.ts +0 -600
  258. package/src/core/config/config-validator.ts +0 -1116
  259. package/src/core/config/file-loader.ts +0 -150
  260. package/src/core/config/index.ts +0 -109
  261. package/src/core/config/schema.ts +0 -164
  262. package/src/core/config/utils.ts +0 -244
  263. package/src/core/database/README.md +0 -238
  264. package/src/core/database/adapters/drizzle.ts +0 -415
  265. package/src/core/database/adapters/index.ts +0 -42
  266. package/src/core/database/adapters/mongodb.ts +0 -317
  267. package/src/core/database/adapters/mysql.ts +0 -235
  268. package/src/core/database/adapters/postgresql.ts +0 -226
  269. package/src/core/database/adapters/redis.ts +0 -379
  270. package/src/core/database/adapters/sqlite.ts +0 -263
  271. package/src/core/database/index.ts +0 -3
  272. package/src/core/docs/index.ts +0 -231
  273. package/src/core/docs/openapi-generator.ts +0 -576
  274. package/src/core/docs/schema-to-openapi.ts +0 -145
  275. package/src/core/docs/simple-docs.ts +0 -295
  276. package/src/core/docs/swagger-ui.ts +0 -354
  277. package/src/core/docs/zod-to-openapi.ts +0 -532
  278. package/src/core/events/event-bus.ts +0 -231
  279. package/src/core/events/index.ts +0 -12
  280. package/src/core/framework.ts +0 -885
  281. package/src/core/http/http-server.ts +0 -1847
  282. package/src/core/http/index.ts +0 -7
  283. package/src/core/http/uws-http-server.ts +0 -591
  284. package/src/core/logger/filters.ts +0 -153
  285. package/src/core/logger/index.ts +0 -21
  286. package/src/core/logger/logger.ts +0 -1033
  287. package/src/core/logger/outputs.ts +0 -132
  288. package/src/core/middleware/built-in/adapters/cache/file.ts +0 -104
  289. package/src/core/middleware/built-in/adapters/cache/index.ts +0 -23
  290. package/src/core/middleware/built-in/adapters/cache/memory.ts +0 -73
  291. package/src/core/middleware/built-in/adapters/cache/redis.ts +0 -114
  292. package/src/core/middleware/built-in/adapters/cdn/azure.ts +0 -60
  293. package/src/core/middleware/built-in/adapters/cdn/cloudflare.ts +0 -83
  294. package/src/core/middleware/built-in/adapters/cdn/cloudfront.ts +0 -94
  295. package/src/core/middleware/built-in/adapters/cdn/index.ts +0 -23
  296. package/src/core/middleware/built-in/auth-helpers.ts +0 -401
  297. package/src/core/middleware/built-in/auth-providers.ts +0 -480
  298. package/src/core/middleware/built-in/auth.ts +0 -410
  299. package/src/core/middleware/built-in/cache.ts +0 -213
  300. package/src/core/middleware/built-in/cdn.ts +0 -124
  301. package/src/core/middleware/built-in/cookie.ts +0 -85
  302. package/src/core/middleware/built-in/cors.ts +0 -38
  303. package/src/core/middleware/built-in/csp.ts +0 -101
  304. package/src/core/middleware/built-in/csrf.ts +0 -82
  305. package/src/core/middleware/built-in/error-tracker.ts +0 -16
  306. package/src/core/middleware/built-in/index.ts +0 -87
  307. package/src/core/middleware/built-in/jwt-helpers.ts +0 -243
  308. package/src/core/middleware/built-in/performance-monitor.ts +0 -25
  309. package/src/core/middleware/built-in/rate-limit.ts +0 -60
  310. package/src/core/middleware/built-in/request-logger.ts +0 -16
  311. package/src/core/middleware/built-in/session.ts +0 -287
  312. package/src/core/middleware/built-in/sse.ts +0 -88
  313. package/src/core/middleware/built-in/validation.ts +0 -33
  314. package/src/core/middleware/index.ts +0 -177
  315. package/src/core/modules/auto-discovery.ts +0 -726
  316. package/src/core/modules/index.ts +0 -3
  317. package/src/core/modules/modules.ts +0 -135
  318. package/src/core/networking/adapters/index.ts +0 -17
  319. package/src/core/networking/adapters/socketio-adapter.ts +0 -254
  320. package/src/core/networking/adapters/uws-adapter.ts +0 -619
  321. package/src/core/networking/adapters/ws-adapter.ts +0 -429
  322. package/src/core/networking/index.ts +0 -4
  323. package/src/core/networking/service-discovery.ts +0 -303
  324. package/src/core/networking/websocket-adapter.ts +0 -217
  325. package/src/core/networking/websocket-manager.ts +0 -308
  326. package/src/core/pooling/object-pool-manager.ts +0 -630
  327. package/src/core/routing/app-integration.ts +0 -164
  328. package/src/core/routing/index.ts +0 -261
  329. package/src/core/routing/path-matcher.ts +0 -222
  330. package/src/core/routing/router.ts +0 -97
  331. package/src/core/routing/unified-router.ts +0 -870
  332. package/src/core/runtime/aws-lambda-adapter.ts +0 -147
  333. package/src/core/runtime/base-adapter.ts +0 -130
  334. package/src/core/runtime/cloudflare-workers-adapter.ts +0 -152
  335. package/src/core/runtime/index.ts +0 -62
  336. package/src/core/runtime/node-adapter.ts +0 -202
  337. package/src/core/runtime/vercel-edge-adapter.ts +0 -114
  338. package/src/core/utilities/circuit-breaker.ts +0 -46
  339. package/src/core/utilities/container.ts +0 -736
  340. package/src/core/utilities/hooks.ts +0 -142
  341. package/src/core/utilities/index.ts +0 -17
  342. package/src/core/utilities/package-utils.ts +0 -59
  343. package/src/core/validation/adapters.ts +0 -147
  344. package/src/core/validation/index.ts +0 -258
  345. package/src/core/validation/schema-interface.ts +0 -100
  346. package/src/index.ts +0 -233
  347. package/src/moro.ts +0 -1728
  348. package/src/types/auth.ts +0 -440
  349. package/src/types/cache.ts +0 -38
  350. package/src/types/cdn.ts +0 -22
  351. package/src/types/config.ts +0 -229
  352. package/src/types/core.ts +0 -58
  353. package/src/types/database.ts +0 -32
  354. package/src/types/discovery.ts +0 -7
  355. package/src/types/events.ts +0 -82
  356. package/src/types/hooks.ts +0 -47
  357. package/src/types/http.ts +0 -89
  358. package/src/types/logger.ts +0 -102
  359. package/src/types/module.ts +0 -99
  360. package/src/types/runtime.ts +0 -76
  361. package/src/types/session.ts +0 -89
  362. package/tsconfig.json +0 -23
  363. /package/dist/core/middleware/built-in/{auth-helpers.d.ts → auth/helpers.d.ts} +0 -0
  364. /package/dist/core/middleware/built-in/{jwt-helpers.d.ts → auth/jwt-helpers.d.ts} +0 -0
  365. /package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/index.js +0 -0
  366. /package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/index.js +0 -0
@@ -1,429 +0,0 @@
1
- // Native WebSocket Adapter for Moro Framework
2
- // Implements the WebSocket adapter interface using the 'ws' library
3
-
4
- import { resolveUserPackage } from '../../utilities/package-utils.js';
5
- import {
6
- WebSocketAdapter,
7
- WebSocketAdapterOptions,
8
- WebSocketNamespace,
9
- WebSocketConnection,
10
- WebSocketEmitter,
11
- WebSocketMiddleware,
12
- } from '../websocket-adapter.js';
13
- import { createFrameworkLogger } from '../../logger/index.js';
14
-
15
- /**
16
- * Native WebSocket adapter using the 'ws' library
17
- * Provides a lightweight, standards-compliant WebSocket implementation
18
- */
19
- export class WSAdapter implements WebSocketAdapter {
20
- private wss: any; // WebSocket server instance
21
- private namespaces = new Map<string, WSNamespaceWrapper>();
22
- private connections = new Map<string, WSConnectionWrapper>();
23
- private wsLogger = createFrameworkLogger('WEBSOCKET_ADAPTER');
24
- private customIdGenerator?: () => string;
25
- private connectionCounter = 0;
26
-
27
- async initialize(httpServer: any, options: WebSocketAdapterOptions = {}): Promise<void> {
28
- try {
29
- // Dynamic import from user's context to find their installed ws library
30
- const wsPath = resolveUserPackage('ws');
31
- const { WebSocketServer } = await import(wsPath);
32
-
33
- this.wss = new WebSocketServer({
34
- server: httpServer,
35
- path: options.path || '/ws',
36
- maxPayload: options.maxPayloadLength || 100 * 1024 * 1024, // 100MB default
37
- // Note: ws doesn't have built-in compression like socket.io
38
- // but browsers handle compression at the transport level
39
- });
40
-
41
- // Setup connection handling
42
- this.wss.on('connection', (ws: any, request: any) => {
43
- this.handleConnection(ws, request);
44
- });
45
-
46
- // Setup default namespace
47
- this.createNamespace('/');
48
- } catch (error) {
49
- throw new Error(
50
- 'ws library not found. Install it with: npm install ws @types/ws\n' +
51
- 'Or use a different WebSocket adapter.'
52
- );
53
- }
54
- }
55
-
56
- private handleConnection(ws: any, request: any): void {
57
- const id = this.generateId();
58
- const connection = new WSConnectionWrapper(id, ws, request);
59
-
60
- this.connections.set(id, connection);
61
-
62
- // Parse namespace from URL path or default to '/'
63
- const url = new URL(request.url || '/', `http://${request.headers.host}`);
64
- const namespacePath = url.pathname === '/ws' ? '/' : url.pathname.replace('/ws', '') || '/';
65
-
66
- const namespace = this.namespaces.get(namespacePath);
67
- if (namespace) {
68
- namespace.handleConnection(connection);
69
- }
70
-
71
- // Clean up on disconnect
72
- ws.on('close', () => {
73
- this.connections.delete(id);
74
- });
75
- }
76
-
77
- createNamespace(namespace: string): WebSocketNamespace {
78
- if (!this.namespaces.has(namespace)) {
79
- const ns = new WSNamespaceWrapper(namespace, this);
80
- this.namespaces.set(namespace, ns);
81
- }
82
- return this.namespaces.get(namespace)!;
83
- }
84
-
85
- getDefaultNamespace(): WebSocketNamespace {
86
- return this.createNamespace('/');
87
- }
88
-
89
- async close(): Promise<void> {
90
- if (this.wss) {
91
- return new Promise(resolve => {
92
- this.wss.close(() => {
93
- this.connections.clear();
94
- this.namespaces.clear();
95
- resolve();
96
- });
97
- });
98
- }
99
- }
100
-
101
- setCompression(enabled: boolean, _options: any = {}): void {
102
- // ws library handles compression at the browser level
103
- // This is a no-op but kept for interface compatibility
104
- if (enabled) {
105
- this.wsLogger.warn('Compression is handled automatically by the ws library and browsers');
106
- }
107
- }
108
-
109
- setCustomIdGenerator(generator: () => string): void {
110
- this.customIdGenerator = generator;
111
- }
112
-
113
- getAdapterName(): string {
114
- return 'ws';
115
- }
116
-
117
- getConnectionCount(): number {
118
- return this.connections.size;
119
- }
120
-
121
- generateId(): string {
122
- if (this.customIdGenerator) {
123
- return this.customIdGenerator();
124
- }
125
- return `ws_${++this.connectionCounter}_${Date.now()}`;
126
- }
127
-
128
- addConnection(id: string, connection: WSConnectionWrapper): void {
129
- this.connections.set(id, connection);
130
- }
131
-
132
- removeConnection(id: string): void {
133
- this.connections.delete(id);
134
- }
135
-
136
- getAllConnections(): Map<string, WSConnectionWrapper> {
137
- return this.connections;
138
- }
139
- }
140
-
141
- /**
142
- * WebSocket namespace wrapper
143
- */
144
- class WSNamespaceWrapper implements WebSocketNamespace {
145
- private connectionHandlers: ((socket: WebSocketConnection) => void)[] = [];
146
- private middlewares: WebSocketMiddleware[] = [];
147
- private connections = new Map<string, WSConnectionWrapper>();
148
-
149
- constructor(
150
- private namespacePath: string,
151
- private adapter: WSAdapter
152
- ) {}
153
-
154
- handleConnection(connection: WSConnectionWrapper): void {
155
- this.connections.set(connection.id, connection);
156
-
157
- // Run middlewares
158
- this.runMiddlewares(connection, () => {
159
- // Notify connection handlers
160
- this.connectionHandlers.forEach(handler => handler(connection));
161
- });
162
-
163
- // Clean up on disconnect
164
- connection.on('close', () => {
165
- this.connections.delete(connection.id);
166
- });
167
- }
168
-
169
- private runMiddlewares(connection: WSConnectionWrapper, callback: () => void): void {
170
- let index = 0;
171
-
172
- const next = (err?: Error) => {
173
- if (err || index >= this.middlewares.length) {
174
- if (!err) callback();
175
- return;
176
- }
177
-
178
- const middleware = this.middlewares[index++];
179
- middleware(connection, next);
180
- };
181
-
182
- next();
183
- }
184
-
185
- on(event: 'connection', handler: (socket: WebSocketConnection) => void): void {
186
- this.connectionHandlers.push(handler);
187
- }
188
-
189
- emit(event: string, data: any): void {
190
- const message = JSON.stringify({ event, data });
191
- for (const connection of this.connections.values()) {
192
- if (connection.connected) {
193
- connection.ws.send(message);
194
- }
195
- }
196
- }
197
-
198
- to(room: string | string[]): WebSocketEmitter {
199
- return new WSEmitterWrapper(this.connections, room);
200
- }
201
-
202
- except(room: string | string[]): WebSocketEmitter {
203
- return new WSEmitterWrapper(this.connections, undefined, room);
204
- }
205
-
206
- getSockets(): WebSocketConnection[] {
207
- return Array.from(this.connections.values());
208
- }
209
-
210
- getConnectionCount(): number {
211
- return this.connections.size;
212
- }
213
-
214
- use(middleware: WebSocketMiddleware): void {
215
- this.middlewares.push(middleware);
216
- }
217
- }
218
-
219
- /**
220
- * WebSocket connection wrapper
221
- */
222
- class WSConnectionWrapper implements WebSocketConnection {
223
- public data: Record<string, any> = {};
224
- private eventHandlers = new Map<string, Function[]>();
225
- private anyHandlers: Function[] = [];
226
- private rooms = new Set<string>();
227
- private _connected = true;
228
-
229
- constructor(
230
- public readonly id: string,
231
- public readonly ws: any,
232
- private request: any
233
- ) {
234
- // Setup message handling
235
- this.ws.on('message', (data: Buffer) => {
236
- this.handleMessage(data);
237
- });
238
-
239
- this.ws.on('close', () => {
240
- this._connected = false;
241
- this.emit('close');
242
- });
243
-
244
- this.ws.on('error', (error: Error) => {
245
- this.emit('error', error);
246
- });
247
- }
248
-
249
- get ip(): string | undefined {
250
- return (
251
- this.request.socket?.remoteAddress || this.request.headers['x-forwarded-for']?.split(',')[0]
252
- );
253
- }
254
-
255
- get headers(): Record<string, string> | undefined {
256
- return this.request.headers;
257
- }
258
-
259
- get connected(): boolean {
260
- return this._connected && this.ws.readyState === 1; // WebSocket.OPEN
261
- }
262
-
263
- get broadcast(): WebSocketEmitter {
264
- // Get all connections except this one
265
- const allConnections = new Map();
266
- // This would need access to adapter's connections
267
- return new WSEmitterWrapper(allConnections, undefined, undefined, this.id);
268
- }
269
-
270
- on(event: string, handler: (data: any, callback?: (response?: any) => void) => void): void {
271
- if (event === 'close' || event === 'error') {
272
- // Special internal events
273
- if (!this.eventHandlers.has(event)) {
274
- this.eventHandlers.set(event, []);
275
- }
276
- this.eventHandlers.get(event)!.push(handler);
277
- return;
278
- }
279
-
280
- if (!this.eventHandlers.has(event)) {
281
- this.eventHandlers.set(event, []);
282
- }
283
- this.eventHandlers.get(event)!.push(handler);
284
- }
285
-
286
- onAny(handler: (event: string, ...args: any[]) => void): void {
287
- this.anyHandlers.push(handler);
288
- }
289
-
290
- emit(event: string, data?: any): void {
291
- if (event === 'close' || event === 'error') {
292
- // Internal events
293
- const handlers = this.eventHandlers.get(event);
294
- if (handlers) {
295
- handlers.forEach(handler => handler(data));
296
- }
297
- return;
298
- }
299
-
300
- if (this.connected) {
301
- const message = JSON.stringify({ event, data });
302
- this.ws.send(message);
303
- }
304
- }
305
-
306
- compressedEmit(event: string, data: any): void {
307
- // ws library handles compression automatically
308
- this.emit(event, data);
309
- }
310
-
311
- join(room: string | string[]): void {
312
- if (Array.isArray(room)) {
313
- room.forEach(r => this.rooms.add(r));
314
- } else {
315
- this.rooms.add(room);
316
- }
317
- }
318
-
319
- leave(room: string | string[]): void {
320
- if (Array.isArray(room)) {
321
- room.forEach(r => this.rooms.delete(r));
322
- } else {
323
- this.rooms.delete(room);
324
- }
325
- }
326
-
327
- to(room: string | string[]): WebSocketEmitter {
328
- const connections = new Map([[this.id, this]]);
329
- return new WSEmitterWrapper(connections, room);
330
- }
331
-
332
- getRooms(): Set<string> {
333
- return new Set(this.rooms);
334
- }
335
-
336
- disconnect(close?: boolean): void {
337
- if (close !== false && this.ws.readyState === 1) {
338
- this.ws.close();
339
- }
340
- this._connected = false;
341
- }
342
-
343
- private handleMessage(data: Buffer): void {
344
- try {
345
- const text = data.toString();
346
- const parsed = JSON.parse(text);
347
- const { event, data: messageData, callback: callbackId } = parsed;
348
-
349
- // Create callback function if callback ID is provided
350
- const callback = callbackId
351
- ? (response: any) => {
352
- this.emit('callback', { id: callbackId, data: response });
353
- }
354
- : undefined;
355
-
356
- // Call any handlers
357
- this.anyHandlers.forEach(handler => handler(event, messageData));
358
-
359
- // Call specific event handlers
360
- const handlers = this.eventHandlers.get(event);
361
- if (handlers) {
362
- handlers.forEach(handler => handler(messageData, callback));
363
- }
364
- } catch (error) {
365
- // Invalid message format - ignore
366
- }
367
- }
368
- }
369
-
370
- /**
371
- * WebSocket emitter wrapper
372
- */
373
- class WSEmitterWrapper implements WebSocketEmitter {
374
- constructor(
375
- private connections: Map<string, WSConnectionWrapper>,
376
- private targetRooms?: string | string[],
377
- private excludeRooms?: string | string[],
378
- private excludeId?: string
379
- ) {}
380
-
381
- emit(event: string, data: any): void {
382
- const message = JSON.stringify({ event, data });
383
-
384
- for (const connection of this.connections.values()) {
385
- if (this.excludeId && connection.id === this.excludeId) {
386
- continue;
387
- }
388
-
389
- if (this.shouldIncludeConnection(connection) && connection.connected) {
390
- connection.ws.send(message);
391
- }
392
- }
393
- }
394
-
395
- to(room: string | string[]): WebSocketEmitter {
396
- return new WSEmitterWrapper(this.connections, room, this.excludeRooms, this.excludeId);
397
- }
398
-
399
- except(room: string | string[]): WebSocketEmitter {
400
- return new WSEmitterWrapper(this.connections, this.targetRooms, room, this.excludeId);
401
- }
402
-
403
- compress(_compress: boolean): WebSocketEmitter {
404
- // ws library handles compression automatically
405
- return this;
406
- }
407
-
408
- private shouldIncludeConnection(connection: WSConnectionWrapper): boolean {
409
- const rooms = connection.getRooms();
410
-
411
- // Check target rooms
412
- if (this.targetRooms) {
413
- const targets = Array.isArray(this.targetRooms) ? this.targetRooms : [this.targetRooms];
414
- if (!targets.some(room => rooms.has(room))) {
415
- return false;
416
- }
417
- }
418
-
419
- // Check exclude rooms
420
- if (this.excludeRooms) {
421
- const excludes = Array.isArray(this.excludeRooms) ? this.excludeRooms : [this.excludeRooms];
422
- if (excludes.some(room => rooms.has(room))) {
423
- return false;
424
- }
425
- }
426
-
427
- return true;
428
- }
429
- }
@@ -1,4 +0,0 @@
1
- // Networking System - Centralized Exports
2
- export { WebSocketManager } from './websocket-manager.js';
3
- export { ServiceRegistry } from './service-discovery.js';
4
- export type { ServiceInfo, ServiceDiscoveryOptions } from './service-discovery.js';