@morojs/moro 1.6.2 → 1.6.3

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,303 +0,0 @@
1
- // Service Discovery Client for Microservices
2
- // Supports Consul, Kubernetes, and in-memory registry
3
- import { createFrameworkLogger } from '../logger/index.js';
4
-
5
- export interface ServiceInfo {
6
- name: string;
7
- host: string;
8
- port: number;
9
- health?: string;
10
- version?: string;
11
- tags?: string[];
12
- metadata?: Record<string, any>;
13
- }
14
-
15
- export interface ServiceDiscoveryOptions {
16
- type: 'consul' | 'kubernetes' | 'memory';
17
- consulUrl?: string;
18
- kubernetesNamespace?: string;
19
- healthCheckInterval?: number;
20
- tags?: string[];
21
- }
22
-
23
- export class ServiceRegistry {
24
- private services = new Map<string, ServiceInfo[]>();
25
- private options: ServiceDiscoveryOptions;
26
- private healthCheckInterval?: NodeJS.Timeout;
27
- private serviceLogger = createFrameworkLogger('SERVICE_DISCOVERY');
28
-
29
- constructor(options: ServiceDiscoveryOptions) {
30
- this.options = options;
31
- this.startHealthChecks();
32
- }
33
-
34
- async register(service: ServiceInfo): Promise<void> {
35
- const { name } = service;
36
-
37
- switch (this.options.type) {
38
- case 'consul':
39
- await this.registerWithConsul(service);
40
- break;
41
- case 'kubernetes':
42
- await this.registerWithKubernetes(service);
43
- break;
44
- case 'memory':
45
- this.registerInMemory(service);
46
- break;
47
- }
48
-
49
- this.serviceLogger.info(`Service registered: ${name}@${service.host}:${service.port}`);
50
- }
51
-
52
- async discover(serviceName: string): Promise<ServiceInfo[]> {
53
- switch (this.options.type) {
54
- case 'consul':
55
- return this.discoverFromConsul(serviceName);
56
- case 'kubernetes':
57
- return this.discoverFromKubernetes(serviceName);
58
- case 'memory':
59
- return this.discoverFromMemory(serviceName);
60
- default:
61
- return [];
62
- }
63
- }
64
-
65
- async deregister(serviceName: string): Promise<void> {
66
- switch (this.options.type) {
67
- case 'consul':
68
- await this.deregisterFromConsul(serviceName);
69
- break;
70
- case 'kubernetes':
71
- // K8s handles this automatically
72
- break;
73
- case 'memory':
74
- this.services.delete(serviceName);
75
- break;
76
- }
77
-
78
- this.serviceLogger.info(`Service deregistered: ${serviceName}`);
79
- }
80
-
81
- // In-memory registry methods
82
- private registerInMemory(service: ServiceInfo): void {
83
- const existing = this.services.get(service.name) || [];
84
- const updated = existing.filter(s => s.host !== service.host || s.port !== service.port);
85
- updated.push(service);
86
- this.services.set(service.name, updated);
87
- }
88
-
89
- private discoverFromMemory(serviceName: string): ServiceInfo[] {
90
- return this.services.get(serviceName) || [];
91
- }
92
-
93
- // Consul integration
94
- private async registerWithConsul(service: ServiceInfo): Promise<void> {
95
- if (!this.options.consulUrl) {
96
- throw new Error('Consul URL required for consul service discovery');
97
- }
98
-
99
- const consulService = {
100
- ID: `${service.name}-${service.host}-${service.port}`,
101
- Name: service.name,
102
- Tags: service.tags || [],
103
- Address: service.host,
104
- Port: service.port,
105
- Check: service.health
106
- ? {
107
- HTTP: `http://${service.host}:${service.port}${service.health}`,
108
- Interval: '30s',
109
- Timeout: '10s',
110
- }
111
- : undefined,
112
- Meta: service.metadata || {},
113
- };
114
-
115
- try {
116
- const response = await fetch(`${this.options.consulUrl}/v1/agent/service/register`, {
117
- method: 'PUT',
118
- headers: { 'Content-Type': 'application/json' },
119
- body: JSON.stringify(consulService),
120
- });
121
-
122
- if (!response.ok) {
123
- throw new Error(`Consul registration failed: ${response.statusText}`);
124
- }
125
- } catch (error) {
126
- this.serviceLogger.error('Failed to register with Consul', 'SERVICE_DISCOVERY', {
127
- error: error instanceof Error ? error.message : String(error),
128
- });
129
- // Fallback to in-memory
130
- this.registerInMemory(service);
131
- }
132
- }
133
-
134
- private async discoverFromConsul(serviceName: string): Promise<ServiceInfo[]> {
135
- if (!this.options.consulUrl) {
136
- return this.discoverFromMemory(serviceName);
137
- }
138
-
139
- try {
140
- const response = await fetch(
141
- `${this.options.consulUrl}/v1/health/service/${serviceName}?passing=true`
142
- );
143
-
144
- if (!response.ok) {
145
- throw new Error(`Consul discovery failed: ${response.statusText}`);
146
- }
147
-
148
- const services = (await response.json()) as any[];
149
- return services.map((entry: any) => ({
150
- name: entry.Service.Service,
151
- host: entry.Service.Address,
152
- port: entry.Service.Port,
153
- tags: entry.Service.Tags,
154
- metadata: entry.Service.Meta,
155
- }));
156
- } catch (error) {
157
- this.serviceLogger.error('Failed to discover from Consul', 'SERVICE_DISCOVERY', {
158
- error: error instanceof Error ? error.message : String(error),
159
- });
160
- return this.discoverFromMemory(serviceName);
161
- }
162
- }
163
-
164
- private async deregisterFromConsul(serviceName: string): Promise<void> {
165
- if (!this.options.consulUrl) return;
166
-
167
- try {
168
- await fetch(`${this.options.consulUrl}/v1/agent/service/deregister/${serviceName}`, {
169
- method: 'PUT',
170
- });
171
- } catch (error) {
172
- this.serviceLogger.error('Failed to deregister from Consul', 'SERVICE_DISCOVERY', {
173
- error: error instanceof Error ? error.message : String(error),
174
- });
175
- }
176
- }
177
-
178
- // Kubernetes integration
179
- private async registerWithKubernetes(service: ServiceInfo): Promise<void> {
180
- // In Kubernetes, services are registered via Service/Endpoints resources
181
- // This would typically be handled by the K8s API, not application code
182
- this.serviceLogger.info(`K8s service registration: ${service.name} (handled by Kubernetes)`);
183
-
184
- // Fallback to in-memory for local development
185
- this.registerInMemory(service);
186
- }
187
-
188
- private async discoverFromKubernetes(serviceName: string): Promise<ServiceInfo[]> {
189
- // In K8s, we can discover services via DNS or the K8s API
190
- const namespace = this.options.kubernetesNamespace || 'default';
191
-
192
- try {
193
- // Try K8s service DNS resolution
194
- const host = `${serviceName}.${namespace}.svc.cluster.local`;
195
-
196
- // For demo purposes, return the service info
197
- // In production, you'd query the K8s API or use DNS
198
- return [
199
- {
200
- name: serviceName,
201
- host,
202
- port: 80, // Default port, should be discovered from service definition
203
- metadata: { discovered: 'kubernetes' },
204
- },
205
- ];
206
- } catch (error) {
207
- this.serviceLogger.error('Failed to discover from Kubernetes', 'SERVICE_DISCOVERY', {
208
- error: error instanceof Error ? error.message : String(error),
209
- });
210
- return this.discoverFromMemory(serviceName);
211
- }
212
- }
213
-
214
- // Health checking
215
- private startHealthChecks(): void {
216
- if (this.options.healthCheckInterval) {
217
- this.healthCheckInterval = setInterval(
218
- () => this.performHealthChecks(),
219
- this.options.healthCheckInterval
220
- );
221
- }
222
- }
223
-
224
- private async performHealthChecks(): Promise<void> {
225
- for (const [serviceName, services] of this.services.entries()) {
226
- for (const service of services) {
227
- if (service.health) {
228
- try {
229
- const response = await fetch(
230
- `http://${service.host}:${service.port}${service.health}`,
231
- {
232
- timeout: 5000,
233
- } as any
234
- );
235
-
236
- if (!response.ok) {
237
- this.serviceLogger.warn(
238
- `Health check failed for ${serviceName}: ${response.statusText}`
239
- );
240
- // Remove unhealthy service
241
- this.removeUnhealthyService(serviceName, service);
242
- }
243
- } catch (error) {
244
- this.serviceLogger.warn(`Health check failed for ${serviceName}`, 'SERVICE_DISCOVERY', {
245
- error: error instanceof Error ? error.message : String(error),
246
- });
247
- this.removeUnhealthyService(serviceName, service);
248
- }
249
- }
250
- }
251
- }
252
- }
253
-
254
- private removeUnhealthyService(serviceName: string, unhealthyService: ServiceInfo): void {
255
- const services = this.services.get(serviceName) || [];
256
- const filtered = services.filter(
257
- s => s.host !== unhealthyService.host || s.port !== unhealthyService.port
258
- );
259
-
260
- if (filtered.length === 0) {
261
- this.services.delete(serviceName);
262
- } else {
263
- this.services.set(serviceName, filtered);
264
- }
265
- }
266
-
267
- // Load balancing
268
- selectService(
269
- serviceName: string,
270
- strategy: 'round-robin' | 'random' | 'least-connections' = 'round-robin'
271
- ): ServiceInfo | null {
272
- const services = this.services.get(serviceName) || [];
273
-
274
- if (services.length === 0) {
275
- return null;
276
- }
277
-
278
- switch (strategy) {
279
- case 'random':
280
- return services[Math.floor(Math.random() * services.length)];
281
- case 'round-robin':
282
- // Simple round-robin (in production, maintain state)
283
- return services[Date.now() % services.length];
284
- case 'least-connections':
285
- // For demo, just return the first (in production, track connections)
286
- return services[0];
287
- default:
288
- return services[0];
289
- }
290
- }
291
-
292
- // Cleanup
293
- destroy(): void {
294
- if (this.healthCheckInterval) {
295
- clearInterval(this.healthCheckInterval);
296
- }
297
- }
298
-
299
- // Get all registered services
300
- getAllServices(): Record<string, ServiceInfo[]> {
301
- return Object.fromEntries(this.services.entries());
302
- }
303
- }
@@ -1,217 +0,0 @@
1
- // WebSocket Adapter Interface for Moro Framework
2
- // Provides a common interface for different WebSocket implementations
3
-
4
- export interface WebSocketAdapterOptions {
5
- compression?: boolean;
6
- cors?: {
7
- origin?: string | string[] | boolean;
8
- methods?: string[];
9
- credentials?: boolean;
10
- };
11
- path?: string;
12
- maxPayloadLength?: number;
13
- idleTimeout?: number;
14
- [key: string]: any; // Allow adapter-specific options
15
- }
16
-
17
- /**
18
- * Abstract WebSocket adapter interface
19
- * Allows the framework to work with different WebSocket implementations
20
- */
21
- export interface WebSocketAdapter {
22
- /**
23
- * Initialize the WebSocket server with the given HTTP server
24
- */
25
- initialize(httpServer: any, options?: WebSocketAdapterOptions): Promise<void>;
26
-
27
- /**
28
- * Create a namespace for organizing WebSocket connections
29
- */
30
- createNamespace(namespace: string): WebSocketNamespace;
31
-
32
- /**
33
- * Get the default namespace (usually '/')
34
- */
35
- getDefaultNamespace(): WebSocketNamespace;
36
-
37
- /**
38
- * Close the WebSocket server and all connections
39
- */
40
- close(): Promise<void>;
41
-
42
- /**
43
- * Set compression configuration
44
- */
45
- setCompression(enabled: boolean, options?: any): void;
46
-
47
- /**
48
- * Set custom ID generator for connections
49
- */
50
- setCustomIdGenerator(generator: () => string): void;
51
-
52
- /**
53
- * Get adapter name/type
54
- */
55
- getAdapterName(): string;
56
-
57
- /**
58
- * Get connection count across all namespaces
59
- */
60
- getConnectionCount(): number;
61
- }
62
-
63
- /**
64
- * WebSocket namespace interface
65
- * Represents a logical grouping of WebSocket connections
66
- */
67
- export interface WebSocketNamespace {
68
- /**
69
- * Listen for connection events
70
- */
71
- on(event: 'connection', handler: (socket: WebSocketConnection) => void): void;
72
-
73
- /**
74
- * Emit event to all connected sockets in this namespace
75
- */
76
- emit(event: string, data: any): void;
77
-
78
- /**
79
- * Emit to specific room(s)
80
- */
81
- to(room: string | string[]): WebSocketEmitter;
82
-
83
- /**
84
- * Emit to sockets except those in specified room(s)
85
- */
86
- except(room: string | string[]): WebSocketEmitter;
87
-
88
- /**
89
- * Get all connected sockets
90
- */
91
- getSockets(): WebSocketConnection[];
92
-
93
- /**
94
- * Get connection count for this namespace
95
- */
96
- getConnectionCount(): number;
97
-
98
- /**
99
- * Use middleware for this namespace
100
- */
101
- use(middleware: (socket: WebSocketConnection, next: (err?: Error) => void) => void): void;
102
- }
103
-
104
- /**
105
- * WebSocket connection interface
106
- * Represents an individual client connection
107
- */
108
- export interface WebSocketConnection {
109
- /** Unique connection ID */
110
- id: string;
111
-
112
- /** Client IP address */
113
- ip?: string;
114
-
115
- /** Connection headers */
116
- headers?: Record<string, string>;
117
-
118
- /** Custom data storage */
119
- data: Record<string, any>;
120
-
121
- /**
122
- * Listen for events from this socket
123
- */
124
- on(event: string, handler: (data: any, callback?: (response?: any) => void) => void): void;
125
-
126
- /**
127
- * Listen for any event from this socket
128
- */
129
- onAny(handler: (event: string, ...args: any[]) => void): void;
130
-
131
- /**
132
- * Emit event to this socket
133
- */
134
- emit(event: string, data: any): void;
135
-
136
- /**
137
- * Emit with compression
138
- */
139
- compressedEmit?(event: string, data: any): void;
140
-
141
- /**
142
- * Join a room
143
- */
144
- join(room: string | string[]): void;
145
-
146
- /**
147
- * Leave a room
148
- */
149
- leave(room: string | string[]): void;
150
-
151
- /**
152
- * Emit to specific room(s)
153
- */
154
- to(room: string | string[]): WebSocketEmitter;
155
-
156
- /**
157
- * Emit to all sockets except this one
158
- */
159
- broadcast: WebSocketEmitter;
160
-
161
- /**
162
- * Get rooms this socket has joined
163
- */
164
- getRooms(): Set<string>;
165
-
166
- /**
167
- * Disconnect this socket
168
- */
169
- disconnect(close?: boolean): void;
170
-
171
- /**
172
- * Check if socket is connected
173
- */
174
- connected: boolean;
175
- }
176
-
177
- /**
178
- * WebSocket emitter interface for chaining operations
179
- */
180
- export interface WebSocketEmitter {
181
- /**
182
- * Emit to target sockets
183
- */
184
- emit(event: string, data: any): void;
185
-
186
- /**
187
- * Target specific room(s)
188
- */
189
- to(room: string | string[]): WebSocketEmitter;
190
-
191
- /**
192
- * Exclude specific room(s)
193
- */
194
- except(room: string | string[]): WebSocketEmitter;
195
-
196
- /**
197
- * Use compression for this emit
198
- */
199
- compress(compress: boolean): WebSocketEmitter;
200
- }
201
-
202
- /**
203
- * WebSocket middleware function type
204
- */
205
- export type WebSocketMiddleware = (
206
- socket: WebSocketConnection,
207
- next: (err?: Error) => void
208
- ) => void;
209
-
210
- /**
211
- * WebSocket event handler type
212
- */
213
- export type WebSocketEventHandler = (
214
- socket: WebSocketConnection,
215
- data: any,
216
- callback?: (response?: any) => void
217
- ) => void | Promise<void>;