@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,317 +0,0 @@
1
- // Database MongoDB Adapter
2
- import { DatabaseAdapter, DatabaseTransaction } from '../../../types/database.js';
3
- import { createFrameworkLogger } from '../../logger/index.js';
4
- import { resolveUserPackage } from '../../utilities/package-utils.js';
5
-
6
- interface MongoDBConfig {
7
- url?: string;
8
- host?: string;
9
- port?: number;
10
- username?: string;
11
- password?: string;
12
- database?: string;
13
- authSource?: string;
14
- ssl?: boolean;
15
- tls?: {
16
- ca?: string;
17
- cert?: string;
18
- key?: string;
19
- passphrase?: string;
20
- insecure?: boolean;
21
- allowInvalidCertificates?: boolean;
22
- allowInvalidHostnames?: boolean;
23
- checkServerIdentity?: boolean;
24
- };
25
- replicaSet?: string;
26
- maxPoolSize?: number;
27
- minPoolSize?: number;
28
- }
29
-
30
- interface MongoDocument {
31
- _id?: any;
32
- [key: string]: any;
33
- }
34
-
35
- export class MongoDBAdapter implements DatabaseAdapter {
36
- private client: any;
37
- private db: any;
38
- private logger = createFrameworkLogger('MongoDB');
39
- private initPromise: Promise<void>;
40
-
41
- constructor(config: MongoDBConfig) {
42
- this.initPromise = this.initialize(config);
43
- }
44
-
45
- private async initialize(config: MongoDBConfig): Promise<void> {
46
- try {
47
- const mongodbPath = resolveUserPackage('mongodb');
48
- const mongodb = await import(mongodbPath);
49
- const { MongoClient } = mongodb;
50
-
51
- const url = config.url || this.buildConnectionString(config);
52
-
53
- const clientOptions: any = {
54
- maxPoolSize: config.maxPoolSize || 10,
55
- minPoolSize: config.minPoolSize || 0,
56
- ssl: config.ssl || false,
57
- };
58
-
59
- // Add TLS options if provided
60
- if (config.tls) {
61
- clientOptions.tls = true;
62
- if (config.tls.ca) clientOptions.tlsCAFile = config.tls.ca;
63
- if (config.tls.cert) clientOptions.tlsCertificateFile = config.tls.cert;
64
- if (config.tls.key) clientOptions.tlsCertificateKeyFile = config.tls.key;
65
- if (config.tls.passphrase)
66
- clientOptions.tlsCertificateKeyFilePassword = config.tls.passphrase;
67
- if (config.tls.insecure) clientOptions.tlsInsecure = config.tls.insecure;
68
- if (config.tls.allowInvalidCertificates)
69
- clientOptions.tlsAllowInvalidCertificates = config.tls.allowInvalidCertificates;
70
- if (config.tls.allowInvalidHostnames)
71
- clientOptions.tlsAllowInvalidHostnames = config.tls.allowInvalidHostnames;
72
- if (config.tls.checkServerIdentity === false) clientOptions.checkServerIdentity = false;
73
- }
74
-
75
- this.client = new MongoClient(url, clientOptions);
76
-
77
- this.db = this.client.db(config.database || 'moro_app');
78
-
79
- this.logger.info('MongoDB adapter initialized', 'MongoDB');
80
- } catch (error) {
81
- throw new Error(
82
- 'mongodb package is required for MongoDB adapter. Install it with: npm install mongodb'
83
- );
84
- }
85
- }
86
-
87
- private buildConnectionString(config: MongoDBConfig): string {
88
- const host = config.host || 'localhost';
89
- const port = config.port || 27017;
90
- const auth = config.username && config.password ? `${config.username}:${config.password}@` : '';
91
- const authSource = config.authSource ? `?authSource=${config.authSource}` : '';
92
-
93
- return `mongodb://${auth}${host}:${port}/${config.database || 'moro_app'}${authSource}`;
94
- }
95
-
96
- async connect(): Promise<void> {
97
- await this.initPromise;
98
- try {
99
- await this.client.connect();
100
- await this.client.db('admin').command({ ping: 1 });
101
- this.logger.info('MongoDB connection established', 'Connection');
102
- } catch (error) {
103
- this.logger.error('MongoDB connection failed', 'Connection', {
104
- error: error instanceof Error ? error.message : String(error),
105
- });
106
- throw error;
107
- }
108
- }
109
-
110
- async disconnect(): Promise<void> {
111
- await this.initPromise;
112
- await this.client.close();
113
- }
114
-
115
- // For MongoDB, we'll treat "sql" as collection name and "params" as query/pipeline
116
- async query<T = any>(collection: string, pipeline?: any[]): Promise<T[]> {
117
- await this.initPromise;
118
- try {
119
- const coll = this.db.collection(collection);
120
-
121
- if (pipeline && Array.isArray(pipeline)) {
122
- // Aggregation pipeline
123
- const cursor = coll.aggregate(pipeline);
124
- return await cursor.toArray();
125
- } else if (pipeline) {
126
- // Find query
127
- const cursor = coll.find(pipeline);
128
- return await cursor.toArray();
129
- } else {
130
- // Find all
131
- const cursor = coll.find({});
132
- return await cursor.toArray();
133
- }
134
- } catch (error) {
135
- this.logger.error('MongoDB query failed', 'Query', {
136
- collection,
137
- error: error instanceof Error ? error.message : String(error),
138
- });
139
- throw error;
140
- }
141
- }
142
-
143
- async queryOne<T = any>(collection: string, query?: any): Promise<T | null> {
144
- await this.initPromise;
145
- try {
146
- const coll = this.db.collection(collection);
147
- return await coll.findOne(query || {});
148
- } catch (error) {
149
- this.logger.error('MongoDB queryOne failed', 'Query', {
150
- collection,
151
- error: error instanceof Error ? error.message : String(error),
152
- });
153
- throw error;
154
- }
155
- }
156
-
157
- async insert<T = any>(collection: string, data: Record<string, any>): Promise<T> {
158
- await this.initPromise;
159
- try {
160
- const coll = this.db.collection(collection);
161
- const result = await coll.insertOne(data);
162
-
163
- // Return the inserted document with _id
164
- return { ...data, _id: result.insertedId } as T;
165
- } catch (error) {
166
- this.logger.error('MongoDB insert failed', 'Insert', {
167
- collection,
168
- error: error instanceof Error ? error.message : String(error),
169
- });
170
- throw error;
171
- }
172
- }
173
-
174
- async update<T = any>(
175
- collection: string,
176
- data: Record<string, any>,
177
- where: Record<string, any>
178
- ): Promise<T> {
179
- await this.initPromise;
180
- try {
181
- const coll = this.db.collection(collection);
182
- const result = await coll.findOneAndUpdate(
183
- where,
184
- { $set: data },
185
- { returnDocument: 'after' }
186
- );
187
-
188
- return result.value as T;
189
- } catch (error) {
190
- this.logger.error('MongoDB update failed', 'Update', {
191
- collection,
192
- error: error instanceof Error ? error.message : String(error),
193
- });
194
- throw error;
195
- }
196
- }
197
-
198
- async delete(collection: string, where: Record<string, any>): Promise<number> {
199
- await this.initPromise;
200
- try {
201
- const coll = this.db.collection(collection);
202
- const result = await coll.deleteMany(where);
203
- return result.deletedCount || 0;
204
- } catch (error) {
205
- this.logger.error('MongoDB delete failed', 'Delete', {
206
- collection,
207
- error: error instanceof Error ? error.message : String(error),
208
- });
209
- throw error;
210
- }
211
- }
212
-
213
- async transaction<T>(callback: (tx: DatabaseTransaction) => Promise<T>): Promise<T> {
214
- await this.initPromise;
215
- const session = this.client.startSession();
216
-
217
- try {
218
- return await session.withTransaction(async () => {
219
- const transaction = new MongoDBTransaction(this.db, session);
220
- return await callback(transaction);
221
- });
222
- } finally {
223
- await session.endSession();
224
- }
225
- }
226
-
227
- // MongoDB-specific methods
228
- async aggregate<T = any>(collection: string, pipeline: any[]): Promise<T[]> {
229
- await this.initPromise;
230
- const coll = this.db.collection(collection);
231
- const cursor = coll.aggregate(pipeline);
232
- return await cursor.toArray();
233
- }
234
-
235
- async createIndex(collection: string, index: any, options?: any): Promise<string> {
236
- await this.initPromise;
237
- const coll = this.db.collection(collection);
238
- return await coll.createIndex(index, options);
239
- }
240
-
241
- async dropIndex(collection: string, indexName: string): Promise<any> {
242
- await this.initPromise;
243
- const coll = this.db.collection(collection);
244
- return await coll.dropIndex(indexName);
245
- }
246
-
247
- async count(collection: string, query?: any): Promise<number> {
248
- await this.initPromise;
249
- const coll = this.db.collection(collection);
250
- return await coll.countDocuments(query || {});
251
- }
252
-
253
- getCollection(name: string) {
254
- return this.db.collection(name);
255
- }
256
- }
257
-
258
- class MongoDBTransaction implements DatabaseTransaction {
259
- constructor(
260
- private db: any,
261
- private session: any
262
- ) {}
263
-
264
- async query<T = any>(collection: string, pipeline?: any[]): Promise<T[]> {
265
- const coll = this.db.collection(collection);
266
-
267
- if (pipeline && Array.isArray(pipeline)) {
268
- const cursor = coll.aggregate(pipeline, { session: this.session });
269
- return await cursor.toArray();
270
- } else if (pipeline) {
271
- const cursor = coll.find(pipeline, { session: this.session });
272
- return await cursor.toArray();
273
- } else {
274
- const cursor = coll.find({}, { session: this.session });
275
- return await cursor.toArray();
276
- }
277
- }
278
-
279
- async queryOne<T = any>(collection: string, query?: any): Promise<T | null> {
280
- const coll = this.db.collection(collection);
281
- return await coll.findOne(query || {}, { session: this.session });
282
- }
283
-
284
- async insert<T = any>(collection: string, data: Record<string, any>): Promise<T> {
285
- const coll = this.db.collection(collection);
286
- const result = await coll.insertOne(data, { session: this.session });
287
- return { ...data, _id: result.insertedId } as T;
288
- }
289
-
290
- async update<T = any>(
291
- collection: string,
292
- data: Record<string, any>,
293
- where: Record<string, any>
294
- ): Promise<T> {
295
- const coll = this.db.collection(collection);
296
- const result = await coll.findOneAndUpdate(
297
- where,
298
- { $set: data },
299
- { returnDocument: 'after', session: this.session }
300
- );
301
- return result.value as T;
302
- }
303
-
304
- async delete(collection: string, where: Record<string, any>): Promise<number> {
305
- const coll = this.db.collection(collection);
306
- const result = await coll.deleteMany(where, { session: this.session });
307
- return result.deletedCount || 0;
308
- }
309
-
310
- async commit(): Promise<void> {
311
- await this.session.commitTransaction();
312
- }
313
-
314
- async rollback(): Promise<void> {
315
- await this.session.abortTransaction();
316
- }
317
- }
@@ -1,235 +0,0 @@
1
- // Database MySQL Adapter
2
- import { DatabaseAdapter, DatabaseTransaction } from '../../../types/database.js';
3
- import { createFrameworkLogger } from '../../logger/index.js';
4
- import { resolveUserPackage } from '../../utilities/package-utils.js';
5
-
6
- interface MySQLConfig {
7
- host?: string;
8
- port?: number;
9
- user?: string;
10
- password?: string;
11
- database?: string;
12
- connectionLimit?: number;
13
- ssl?:
14
- | {
15
- rejectUnauthorized?: boolean;
16
- ca?: string;
17
- cert?: string;
18
- key?: string;
19
- passphrase?: string;
20
- servername?: string;
21
- checkServerIdentity?: boolean;
22
- ciphers?: string;
23
- secureProtocol?: string;
24
- }
25
- | boolean;
26
- }
27
-
28
- export class MySQLAdapter implements DatabaseAdapter {
29
- private pool: any;
30
- private logger = createFrameworkLogger('MySQL');
31
- private initPromise: Promise<void>;
32
-
33
- constructor(config: MySQLConfig) {
34
- this.initPromise = this.initialize(config);
35
- }
36
-
37
- private async initialize(config: MySQLConfig): Promise<void> {
38
- try {
39
- const mysqlPath = resolveUserPackage('mysql2/promise');
40
- const mysql = await import(mysqlPath);
41
- this.pool = mysql.default.createPool({
42
- host: config.host || 'localhost',
43
- port: config.port || 3306,
44
- user: config.user || 'root',
45
- password: config.password || '',
46
- database: config.database || 'moro_app',
47
- waitForConnections: true,
48
- connectionLimit: config.connectionLimit || 10,
49
- queueLimit: 0,
50
- ssl: typeof config.ssl === 'object' ? { ...config.ssl } : config.ssl || false,
51
- });
52
- } catch (error) {
53
- throw new Error(
54
- 'mysql2 package is required for MySQL adapter. Install it with: npm install mysql2'
55
- );
56
- }
57
- }
58
-
59
- async connect(): Promise<void> {
60
- await this.initPromise;
61
- try {
62
- const connection = await this.pool.getConnection();
63
- connection.release();
64
- this.logger.info('MySQL connection established', 'Connection');
65
- } catch (error) {
66
- this.logger.error('MySQL connection failed', 'Connection', {
67
- error: error instanceof Error ? error.message : String(error),
68
- });
69
- throw error;
70
- }
71
- }
72
-
73
- async disconnect(): Promise<void> {
74
- await this.initPromise;
75
- await this.pool.end();
76
- }
77
-
78
- async query<T = any>(sql: string, params?: any[]): Promise<T[]> {
79
- await this.initPromise;
80
- const [rows] = await this.pool.execute(sql, params);
81
- return rows as T[];
82
- }
83
-
84
- async queryOne<T = any>(sql: string, params?: any[]): Promise<T | null> {
85
- const results = await this.query<T>(sql, params);
86
- return results.length > 0 ? results[0] : null;
87
- }
88
-
89
- async insert<T = any>(table: string, data: Record<string, any>): Promise<T> {
90
- await this.initPromise;
91
- const keys = Object.keys(data);
92
- const values = Object.values(data);
93
- const placeholders = keys.map(() => '?').join(', ');
94
-
95
- const sql = `INSERT INTO ${table} (${keys.join(', ')}) VALUES (${placeholders})`;
96
- const [result] = (await this.pool.execute(sql, values)) as any;
97
-
98
- // Return the inserted record
99
- const insertedRecord = await this.queryOne<T>(`SELECT * FROM ${table} WHERE id = ?`, [
100
- result.insertId,
101
- ]);
102
-
103
- return insertedRecord!;
104
- }
105
-
106
- async update<T = any>(
107
- table: string,
108
- data: Record<string, any>,
109
- where: Record<string, any>
110
- ): Promise<T> {
111
- await this.initPromise;
112
- const setClause = Object.keys(data)
113
- .map(key => `${key} = ?`)
114
- .join(', ');
115
- const whereClause = Object.keys(where)
116
- .map(key => `${key} = ?`)
117
- .join(' AND ');
118
-
119
- const sql = `UPDATE ${table} SET ${setClause} WHERE ${whereClause}`;
120
- const params = [...Object.values(data), ...Object.values(where)];
121
-
122
- await this.pool.execute(sql, params);
123
-
124
- // Return the updated record
125
- const updatedRecord = await this.queryOne<T>(
126
- `SELECT * FROM ${table} WHERE ${whereClause}`,
127
- Object.values(where)
128
- );
129
-
130
- return updatedRecord!;
131
- }
132
-
133
- async delete(table: string, where: Record<string, any>): Promise<number> {
134
- await this.initPromise;
135
- const whereClause = Object.keys(where)
136
- .map(key => `${key} = ?`)
137
- .join(' AND ');
138
- const sql = `DELETE FROM ${table} WHERE ${whereClause}`;
139
-
140
- const [result] = (await this.pool.execute(sql, Object.values(where))) as any;
141
- return result.affectedRows;
142
- }
143
-
144
- async transaction<T>(callback: (tx: DatabaseTransaction) => Promise<T>): Promise<T> {
145
- await this.initPromise;
146
- const connection = await this.pool.getConnection();
147
-
148
- try {
149
- await connection.beginTransaction();
150
-
151
- const transaction = new MySQLTransaction(connection);
152
- const result = await callback(transaction);
153
-
154
- await connection.commit();
155
- return result;
156
- } catch (error) {
157
- await connection.rollback();
158
- throw error;
159
- } finally {
160
- connection.release();
161
- }
162
- }
163
- }
164
-
165
- class MySQLTransaction implements DatabaseTransaction {
166
- constructor(private connection: any) {}
167
-
168
- async query<T = any>(sql: string, params?: any[]): Promise<T[]> {
169
- const [rows] = await this.connection.execute(sql, params);
170
- return rows as T[];
171
- }
172
-
173
- async queryOne<T = any>(sql: string, params?: any[]): Promise<T | null> {
174
- const results = await this.query<T>(sql, params);
175
- return results.length > 0 ? results[0] : null;
176
- }
177
-
178
- async insert<T = any>(table: string, data: Record<string, any>): Promise<T> {
179
- const keys = Object.keys(data);
180
- const values = Object.values(data);
181
- const placeholders = keys.map(() => '?').join(', ');
182
-
183
- const sql = `INSERT INTO ${table} (${keys.join(', ')}) VALUES (${placeholders})`;
184
- const [result] = (await this.connection.execute(sql, values)) as any;
185
-
186
- const insertedRecord = await this.queryOne<T>(`SELECT * FROM ${table} WHERE id = ?`, [
187
- result.insertId,
188
- ]);
189
-
190
- return insertedRecord!;
191
- }
192
-
193
- async update<T = any>(
194
- table: string,
195
- data: Record<string, any>,
196
- where: Record<string, any>
197
- ): Promise<T> {
198
- const setClause = Object.keys(data)
199
- .map(key => `${key} = ?`)
200
- .join(', ');
201
- const whereClause = Object.keys(where)
202
- .map(key => `${key} = ?`)
203
- .join(' AND ');
204
-
205
- const sql = `UPDATE ${table} SET ${setClause} WHERE ${whereClause}`;
206
- const params = [...Object.values(data), ...Object.values(where)];
207
-
208
- await this.connection.execute(sql, params);
209
-
210
- const updatedRecord = await this.queryOne<T>(
211
- `SELECT * FROM ${table} WHERE ${whereClause}`,
212
- Object.values(where)
213
- );
214
-
215
- return updatedRecord!;
216
- }
217
-
218
- async delete(table: string, where: Record<string, any>): Promise<number> {
219
- const whereClause = Object.keys(where)
220
- .map(key => `${key} = ?`)
221
- .join(' AND ');
222
- const sql = `DELETE FROM ${table} WHERE ${whereClause}`;
223
-
224
- const [result] = (await this.connection.execute(sql, Object.values(where))) as any;
225
- return result.affectedRows;
226
- }
227
-
228
- async commit(): Promise<void> {
229
- await this.connection.commit();
230
- }
231
-
232
- async rollback(): Promise<void> {
233
- await this.connection.rollback();
234
- }
235
- }