@morojs/moro 1.7.30 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/README.md +89 -46
  2. package/dist/core/auth/morojs-adapter.js +95 -45
  3. package/dist/core/auth/morojs-adapter.js.map +1 -1
  4. package/dist/core/config/config-manager.js.map +1 -1
  5. package/dist/core/config/config-sources.js +119 -48
  6. package/dist/core/config/config-sources.js.map +1 -1
  7. package/dist/core/config/config-validator.js +189 -8
  8. package/dist/core/config/config-validator.js.map +1 -1
  9. package/dist/core/config/file-loader.js.map +1 -1
  10. package/dist/core/config/index.js.map +1 -1
  11. package/dist/core/config/schema.js +35 -4
  12. package/dist/core/config/schema.js.map +1 -1
  13. package/dist/core/config/utils.js.map +1 -1
  14. package/dist/core/database/adapters/drizzle.js +2 -2
  15. package/dist/core/database/adapters/drizzle.js.map +1 -1
  16. package/dist/core/database/adapters/index.js.map +1 -1
  17. package/dist/core/database/adapters/mongodb.d.ts +1 -0
  18. package/dist/core/database/adapters/mongodb.js +16 -0
  19. package/dist/core/database/adapters/mongodb.js.map +1 -1
  20. package/dist/core/database/adapters/mysql.d.ts +1 -0
  21. package/dist/core/database/adapters/mysql.js +13 -2
  22. package/dist/core/database/adapters/mysql.js.map +1 -1
  23. package/dist/core/database/adapters/postgresql.js +2 -2
  24. package/dist/core/database/adapters/postgresql.js.map +1 -1
  25. package/dist/core/database/adapters/redis.js.map +1 -1
  26. package/dist/core/database/adapters/sql-safety.js +5 -4
  27. package/dist/core/database/adapters/sql-safety.js.map +1 -1
  28. package/dist/core/database/adapters/sqlite.js.map +1 -1
  29. package/dist/core/database/index.js.map +1 -1
  30. package/dist/core/docs/index.js +11 -7
  31. package/dist/core/docs/index.js.map +1 -1
  32. package/dist/core/docs/openapi-generator.js +8 -6
  33. package/dist/core/docs/openapi-generator.js.map +1 -1
  34. package/dist/core/docs/schema-to-openapi.js +3 -3
  35. package/dist/core/docs/schema-to-openapi.js.map +1 -1
  36. package/dist/core/docs/simple-docs.js.map +1 -1
  37. package/dist/core/docs/swagger-ui.js.map +1 -1
  38. package/dist/core/docs/zod-to-openapi.js +2 -2
  39. package/dist/core/docs/zod-to-openapi.js.map +1 -1
  40. package/dist/core/events/event-bus.js +14 -5
  41. package/dist/core/events/event-bus.js.map +1 -1
  42. package/dist/core/events/index.js.map +1 -1
  43. package/dist/core/framework.d.ts +41 -3
  44. package/dist/core/framework.js +342 -95
  45. package/dist/core/framework.js.map +1 -1
  46. package/dist/core/graphql/adapter.js.map +1 -1
  47. package/dist/core/graphql/adapters/graphql-js-adapter.js.map +1 -1
  48. package/dist/core/graphql/core.js.map +1 -1
  49. package/dist/core/graphql/index.js.map +1 -1
  50. package/dist/core/graphql/loader.js.map +1 -1
  51. package/dist/core/graphql/types.js.map +1 -1
  52. package/dist/core/grpc/adapters/grpc-js-adapter.js +4 -0
  53. package/dist/core/grpc/adapters/grpc-js-adapter.js.map +1 -1
  54. package/dist/core/grpc/adapters/index.js.map +1 -1
  55. package/dist/core/grpc/grpc-adapter.js.map +1 -1
  56. package/dist/core/grpc/grpc-manager.js.map +1 -1
  57. package/dist/core/grpc/index.js.map +1 -1
  58. package/dist/core/grpc/middleware/auth.js +1 -1
  59. package/dist/core/grpc/middleware/auth.js.map +1 -1
  60. package/dist/core/grpc/middleware/logging.js.map +1 -1
  61. package/dist/core/grpc/middleware/validation.js +1 -1
  62. package/dist/core/grpc/middleware/validation.js.map +1 -1
  63. package/dist/core/grpc/types.d.ts +7 -7
  64. package/dist/core/grpc/types.js.map +1 -1
  65. package/dist/core/http/http-server.d.ts +17 -23
  66. package/dist/core/http/http-server.js +109 -249
  67. package/dist/core/http/http-server.js.map +1 -1
  68. package/dist/core/http/http2-server.d.ts +6 -16
  69. package/dist/core/http/http2-server.js +40 -83
  70. package/dist/core/http/http2-server.js.map +1 -1
  71. package/dist/core/http/index.d.ts +1 -0
  72. package/dist/core/http/index.js +3 -0
  73. package/dist/core/http/index.js.map +1 -1
  74. package/dist/core/http/moro-engine-server.d.ts +263 -0
  75. package/dist/core/http/moro-engine-server.js +1962 -0
  76. package/dist/core/http/moro-engine-server.js.map +1 -0
  77. package/dist/core/http/utils/compression.d.ts +47 -0
  78. package/dist/core/http/utils/compression.js +132 -0
  79. package/dist/core/http/utils/compression.js.map +1 -0
  80. package/dist/core/http/utils/lazy-event-emitter.d.ts +11 -0
  81. package/dist/core/http/utils/lazy-event-emitter.js +69 -0
  82. package/dist/core/http/utils/lazy-event-emitter.js.map +1 -0
  83. package/dist/core/http/utils/multipart-parser.d.ts +32 -0
  84. package/dist/core/http/utils/multipart-parser.js +215 -0
  85. package/dist/core/http/utils/multipart-parser.js.map +1 -0
  86. package/dist/core/http/utils/query-parser.d.ts +1 -0
  87. package/dist/core/http/utils/query-parser.js +44 -0
  88. package/dist/core/http/utils/query-parser.js.map +1 -0
  89. package/dist/core/http/utils/size.d.ts +33 -0
  90. package/dist/core/http/utils/size.js +37 -0
  91. package/dist/core/http/utils/size.js.map +1 -0
  92. package/dist/core/http/utils/ssl-config.d.ts +69 -0
  93. package/dist/core/http/utils/ssl-config.js +116 -0
  94. package/dist/core/http/utils/ssl-config.js.map +1 -0
  95. package/dist/core/http/utils/uws-worker-clustering.js +45 -32
  96. package/dist/core/http/utils/uws-worker-clustering.js.map +1 -1
  97. package/dist/core/http/uws-http-server.d.ts +25 -3
  98. package/dist/core/http/uws-http-server.js +465 -86
  99. package/dist/core/http/uws-http-server.js.map +1 -1
  100. package/dist/core/jobs/cron-parser.js +7 -5
  101. package/dist/core/jobs/cron-parser.js.map +1 -1
  102. package/dist/core/jobs/index.js.map +1 -1
  103. package/dist/core/jobs/job-executor.d.ts +1 -1
  104. package/dist/core/jobs/job-executor.js.map +1 -1
  105. package/dist/core/jobs/job-scheduler.d.ts +3 -3
  106. package/dist/core/jobs/job-scheduler.js.map +1 -1
  107. package/dist/core/jobs/job-state-manager.d.ts +3 -3
  108. package/dist/core/jobs/job-state-manager.js +25 -4
  109. package/dist/core/jobs/job-state-manager.js.map +1 -1
  110. package/dist/core/jobs/leader-election.d.ts +15 -0
  111. package/dist/core/jobs/leader-election.js +158 -69
  112. package/dist/core/jobs/leader-election.js.map +1 -1
  113. package/dist/core/jobs/types.d.ts +4 -4
  114. package/dist/core/jobs/types.js.map +1 -1
  115. package/dist/core/jobs/utils.d.ts +1 -1
  116. package/dist/core/jobs/utils.js +7 -3
  117. package/dist/core/jobs/utils.js.map +1 -1
  118. package/dist/core/logger/filters.js +3 -2
  119. package/dist/core/logger/filters.js.map +1 -1
  120. package/dist/core/logger/index.js.map +1 -1
  121. package/dist/core/logger/logger.js +56 -25
  122. package/dist/core/logger/logger.js.map +1 -1
  123. package/dist/core/logger/outputs.js.map +1 -1
  124. package/dist/core/mail/adapters/console-adapter.js.map +1 -1
  125. package/dist/core/mail/adapters/index.js.map +1 -1
  126. package/dist/core/mail/adapters/nodemailer-adapter.js.map +1 -1
  127. package/dist/core/mail/adapters/resend-adapter.js.map +1 -1
  128. package/dist/core/mail/adapters/sendgrid-adapter.js.map +1 -1
  129. package/dist/core/mail/adapters/ses-adapter.js.map +1 -1
  130. package/dist/core/mail/index.js.map +1 -1
  131. package/dist/core/mail/mail-adapter.js.map +1 -1
  132. package/dist/core/mail/mail-manager.d.ts +10 -0
  133. package/dist/core/mail/mail-manager.js +21 -5
  134. package/dist/core/mail/mail-manager.js.map +1 -1
  135. package/dist/core/mail/template-engine.js.map +1 -1
  136. package/dist/core/mail/types.js.map +1 -1
  137. package/dist/core/middleware/built-in/auth/core.js +3 -3
  138. package/dist/core/middleware/built-in/auth/core.js.map +1 -1
  139. package/dist/core/middleware/built-in/auth/helpers.js +4 -4
  140. package/dist/core/middleware/built-in/auth/helpers.js.map +1 -1
  141. package/dist/core/middleware/built-in/auth/hook.js.map +1 -1
  142. package/dist/core/middleware/built-in/auth/index.js.map +1 -1
  143. package/dist/core/middleware/built-in/auth/jwt-helpers.d.ts +4 -4
  144. package/dist/core/middleware/built-in/auth/jwt-helpers.js.map +1 -1
  145. package/dist/core/middleware/built-in/auth/middleware.js.map +1 -1
  146. package/dist/core/middleware/built-in/auth/providers.js.map +1 -1
  147. package/dist/core/middleware/built-in/body-parsers/index.js.map +1 -1
  148. package/dist/core/middleware/built-in/body-size/core.js +2 -2
  149. package/dist/core/middleware/built-in/body-size/core.js.map +1 -1
  150. package/dist/core/middleware/built-in/body-size/hook.js.map +1 -1
  151. package/dist/core/middleware/built-in/body-size/index.js.map +1 -1
  152. package/dist/core/middleware/built-in/body-size/middleware.js.map +1 -1
  153. package/dist/core/middleware/built-in/cache/adapters/cache/file.js +3 -1
  154. package/dist/core/middleware/built-in/cache/adapters/cache/file.js.map +1 -1
  155. package/dist/core/middleware/built-in/cache/adapters/cache/index.js.map +1 -1
  156. package/dist/core/middleware/built-in/cache/adapters/cache/memory.js.map +1 -1
  157. package/dist/core/middleware/built-in/cache/adapters/cache/redis.js.map +1 -1
  158. package/dist/core/middleware/built-in/cache/adapters/index.js.map +1 -1
  159. package/dist/core/middleware/built-in/cache/core.js.map +1 -1
  160. package/dist/core/middleware/built-in/cache/hook.js +3 -3
  161. package/dist/core/middleware/built-in/cache/hook.js.map +1 -1
  162. package/dist/core/middleware/built-in/cache/index.js.map +1 -1
  163. package/dist/core/middleware/built-in/cache/middleware.js.map +1 -1
  164. package/dist/core/middleware/built-in/cdn/adapters/cdn/azure.js.map +1 -1
  165. package/dist/core/middleware/built-in/cdn/adapters/cdn/cloudflare.js.map +1 -1
  166. package/dist/core/middleware/built-in/cdn/adapters/cdn/cloudfront.js.map +1 -1
  167. package/dist/core/middleware/built-in/cdn/adapters/cdn/index.js.map +1 -1
  168. package/dist/core/middleware/built-in/cdn/adapters/index.js.map +1 -1
  169. package/dist/core/middleware/built-in/cdn/core.js.map +1 -1
  170. package/dist/core/middleware/built-in/cdn/hook.js.map +1 -1
  171. package/dist/core/middleware/built-in/cdn/index.js.map +1 -1
  172. package/dist/core/middleware/built-in/cdn/middleware.js.map +1 -1
  173. package/dist/core/middleware/built-in/compression/core.d.ts +3 -0
  174. package/dist/core/middleware/built-in/compression/core.js +28 -34
  175. package/dist/core/middleware/built-in/compression/core.js.map +1 -1
  176. package/dist/core/middleware/built-in/compression/hook.js.map +1 -1
  177. package/dist/core/middleware/built-in/compression/index.js.map +1 -1
  178. package/dist/core/middleware/built-in/compression/middleware.js.map +1 -1
  179. package/dist/core/middleware/built-in/cookie/core.js.map +1 -1
  180. package/dist/core/middleware/built-in/cookie/hook.js.map +1 -1
  181. package/dist/core/middleware/built-in/cookie/index.js.map +1 -1
  182. package/dist/core/middleware/built-in/cookie/middleware.js.map +1 -1
  183. package/dist/core/middleware/built-in/cors/core.js.map +1 -1
  184. package/dist/core/middleware/built-in/cors/hook.js.map +1 -1
  185. package/dist/core/middleware/built-in/cors/index.js.map +1 -1
  186. package/dist/core/middleware/built-in/cors/middleware.js.map +1 -1
  187. package/dist/core/middleware/built-in/csp/core.js.map +1 -1
  188. package/dist/core/middleware/built-in/csp/hook.js.map +1 -1
  189. package/dist/core/middleware/built-in/csp/index.js.map +1 -1
  190. package/dist/core/middleware/built-in/csp/middleware.js.map +1 -1
  191. package/dist/core/middleware/built-in/csrf/core.js +1 -1
  192. package/dist/core/middleware/built-in/csrf/core.js.map +1 -1
  193. package/dist/core/middleware/built-in/csrf/hook.js.map +1 -1
  194. package/dist/core/middleware/built-in/csrf/index.js.map +1 -1
  195. package/dist/core/middleware/built-in/csrf/middleware.js.map +1 -1
  196. package/dist/core/middleware/built-in/error-tracker/index.js.map +1 -1
  197. package/dist/core/middleware/built-in/error-tracker/middleware.js.map +1 -1
  198. package/dist/core/middleware/built-in/graphql/core.js.map +1 -1
  199. package/dist/core/middleware/built-in/graphql/helpers.js.map +1 -1
  200. package/dist/core/middleware/built-in/graphql/hook.js.map +1 -1
  201. package/dist/core/middleware/built-in/graphql/index.js.map +1 -1
  202. package/dist/core/middleware/built-in/graphql/middleware.js.map +1 -1
  203. package/dist/core/middleware/built-in/graphql/subscriptions.js.map +1 -1
  204. package/dist/core/middleware/built-in/helmet/core.js.map +1 -1
  205. package/dist/core/middleware/built-in/helmet/hook.js.map +1 -1
  206. package/dist/core/middleware/built-in/helmet/index.js.map +1 -1
  207. package/dist/core/middleware/built-in/helmet/middleware.js.map +1 -1
  208. package/dist/core/middleware/built-in/http2/core.js.map +1 -1
  209. package/dist/core/middleware/built-in/http2/hook.js.map +1 -1
  210. package/dist/core/middleware/built-in/http2/index.js.map +1 -1
  211. package/dist/core/middleware/built-in/http2/middleware.js.map +1 -1
  212. package/dist/core/middleware/built-in/index.js.map +1 -1
  213. package/dist/core/middleware/built-in/performance-monitor/index.js.map +1 -1
  214. package/dist/core/middleware/built-in/performance-monitor/middleware.js.map +1 -1
  215. package/dist/core/middleware/built-in/range/core.js +4 -1
  216. package/dist/core/middleware/built-in/range/core.js.map +1 -1
  217. package/dist/core/middleware/built-in/range/hook.js.map +1 -1
  218. package/dist/core/middleware/built-in/range/index.js.map +1 -1
  219. package/dist/core/middleware/built-in/range/middleware.js.map +1 -1
  220. package/dist/core/middleware/built-in/rate-limit/core.js.map +1 -1
  221. package/dist/core/middleware/built-in/rate-limit/hook.js.map +1 -1
  222. package/dist/core/middleware/built-in/rate-limit/index.js.map +1 -1
  223. package/dist/core/middleware/built-in/rate-limit/middleware.js.map +1 -1
  224. package/dist/core/middleware/built-in/request-logger/index.js.map +1 -1
  225. package/dist/core/middleware/built-in/request-logger/middleware.js.map +1 -1
  226. package/dist/core/middleware/built-in/session/core.js +4 -4
  227. package/dist/core/middleware/built-in/session/core.js.map +1 -1
  228. package/dist/core/middleware/built-in/session/hook.js.map +1 -1
  229. package/dist/core/middleware/built-in/session/index.js.map +1 -1
  230. package/dist/core/middleware/built-in/session/middleware.js.map +1 -1
  231. package/dist/core/middleware/built-in/sse/core.js.map +1 -1
  232. package/dist/core/middleware/built-in/sse/hook.js.map +1 -1
  233. package/dist/core/middleware/built-in/sse/index.js.map +1 -1
  234. package/dist/core/middleware/built-in/sse/middleware.js.map +1 -1
  235. package/dist/core/middleware/built-in/static/core.js.map +1 -1
  236. package/dist/core/middleware/built-in/static/hook.js.map +1 -1
  237. package/dist/core/middleware/built-in/static/index.js.map +1 -1
  238. package/dist/core/middleware/built-in/static/middleware.js.map +1 -1
  239. package/dist/core/middleware/built-in/template/core.js +1 -1
  240. package/dist/core/middleware/built-in/template/core.js.map +1 -1
  241. package/dist/core/middleware/built-in/template/hook.js.map +1 -1
  242. package/dist/core/middleware/built-in/template/index.js.map +1 -1
  243. package/dist/core/middleware/built-in/template/middleware.js.map +1 -1
  244. package/dist/core/middleware/built-in/upload/core.js.map +1 -1
  245. package/dist/core/middleware/built-in/upload/hook.js.map +1 -1
  246. package/dist/core/middleware/built-in/upload/index.js.map +1 -1
  247. package/dist/core/middleware/built-in/upload/middleware.js.map +1 -1
  248. package/dist/core/middleware/built-in/validation/core.js.map +1 -1
  249. package/dist/core/middleware/built-in/validation/hook.js.map +1 -1
  250. package/dist/core/middleware/built-in/validation/index.js.map +1 -1
  251. package/dist/core/middleware/built-in/validation/middleware.js.map +1 -1
  252. package/dist/core/middleware/index.js +2 -2
  253. package/dist/core/middleware/index.js.map +1 -1
  254. package/dist/core/modules/auto-discovery.js +11 -7
  255. package/dist/core/modules/auto-discovery.js.map +1 -1
  256. package/dist/core/modules/index.js.map +1 -1
  257. package/dist/core/modules/modules.js +18 -13
  258. package/dist/core/modules/modules.js.map +1 -1
  259. package/dist/core/networking/adapters/engine-adapter.d.ts +23 -0
  260. package/dist/core/networking/adapters/engine-adapter.js +365 -0
  261. package/dist/core/networking/adapters/engine-adapter.js.map +1 -0
  262. package/dist/core/networking/adapters/index.d.ts +1 -0
  263. package/dist/core/networking/adapters/index.js +1 -0
  264. package/dist/core/networking/adapters/index.js.map +1 -1
  265. package/dist/core/networking/adapters/socketio-adapter.d.ts +1 -0
  266. package/dist/core/networking/adapters/socketio-adapter.js +12 -1
  267. package/dist/core/networking/adapters/socketio-adapter.js.map +1 -1
  268. package/dist/core/networking/adapters/uws-adapter.js +27 -16
  269. package/dist/core/networking/adapters/uws-adapter.js.map +1 -1
  270. package/dist/core/networking/adapters/ws-adapter.d.ts +15 -0
  271. package/dist/core/networking/adapters/ws-adapter.js +120 -6
  272. package/dist/core/networking/adapters/ws-adapter.js.map +1 -1
  273. package/dist/core/networking/index.js.map +1 -1
  274. package/dist/core/networking/service-discovery.js +7 -5
  275. package/dist/core/networking/service-discovery.js.map +1 -1
  276. package/dist/core/networking/websocket-adapter.d.ts +22 -3
  277. package/dist/core/networking/websocket-adapter.js.map +1 -1
  278. package/dist/core/networking/websocket-manager.js +70 -67
  279. package/dist/core/networking/websocket-manager.js.map +1 -1
  280. package/dist/core/pooling/object-pool-manager.js +6 -0
  281. package/dist/core/pooling/object-pool-manager.js.map +1 -1
  282. package/dist/core/queue/adapters/bull-adapter.js.map +1 -1
  283. package/dist/core/queue/adapters/index.js.map +1 -1
  284. package/dist/core/queue/adapters/kafka-adapter.js +2 -2
  285. package/dist/core/queue/adapters/kafka-adapter.js.map +1 -1
  286. package/dist/core/queue/adapters/memory-adapter.js +6 -6
  287. package/dist/core/queue/adapters/memory-adapter.js.map +1 -1
  288. package/dist/core/queue/adapters/rabbitmq-adapter.d.ts +50 -0
  289. package/dist/core/queue/adapters/rabbitmq-adapter.js +176 -20
  290. package/dist/core/queue/adapters/rabbitmq-adapter.js.map +1 -1
  291. package/dist/core/queue/adapters/sqs-adapter.d.ts +12 -2
  292. package/dist/core/queue/adapters/sqs-adapter.js +75 -24
  293. package/dist/core/queue/adapters/sqs-adapter.js.map +1 -1
  294. package/dist/core/queue/index.js.map +1 -1
  295. package/dist/core/queue/middleware/index.js.map +1 -1
  296. package/dist/core/queue/middleware/monitoring.d.ts +1 -1
  297. package/dist/core/queue/middleware/monitoring.js.map +1 -1
  298. package/dist/core/queue/middleware/priority.js +2 -1
  299. package/dist/core/queue/middleware/priority.js.map +1 -1
  300. package/dist/core/queue/middleware/rate-limit.js.map +1 -1
  301. package/dist/core/queue/queue-adapter.js.map +1 -1
  302. package/dist/core/queue/queue-manager.js.map +1 -1
  303. package/dist/core/queue/types.d.ts +8 -8
  304. package/dist/core/queue/types.js.map +1 -1
  305. package/dist/core/routing/app-integration.js.map +1 -1
  306. package/dist/core/routing/create-router.js.map +1 -1
  307. package/dist/core/routing/index.js.map +1 -1
  308. package/dist/core/routing/path-matcher.js.map +1 -1
  309. package/dist/core/routing/radix-tree.js.map +1 -1
  310. package/dist/core/routing/router.js.map +1 -1
  311. package/dist/core/routing/unified-router.js +12 -4
  312. package/dist/core/routing/unified-router.js.map +1 -1
  313. package/dist/core/runtime/aws-lambda-adapter.js.map +1 -1
  314. package/dist/core/runtime/base-adapter.js +2 -2
  315. package/dist/core/runtime/base-adapter.js.map +1 -1
  316. package/dist/core/runtime/cloudflare-workers-adapter.js +2 -0
  317. package/dist/core/runtime/cloudflare-workers-adapter.js.map +1 -1
  318. package/dist/core/runtime/index.js.map +1 -1
  319. package/dist/core/runtime/node-adapter.js +19 -17
  320. package/dist/core/runtime/node-adapter.js.map +1 -1
  321. package/dist/core/runtime/vercel-edge-adapter.js +2 -0
  322. package/dist/core/runtime/vercel-edge-adapter.js.map +1 -1
  323. package/dist/core/utilities/circuit-breaker.d.ts +1 -0
  324. package/dist/core/utilities/circuit-breaker.js +25 -2
  325. package/dist/core/utilities/circuit-breaker.js.map +1 -1
  326. package/dist/core/utilities/container.js +9 -9
  327. package/dist/core/utilities/container.js.map +1 -1
  328. package/dist/core/utilities/hooks.js +28 -6
  329. package/dist/core/utilities/hooks.js.map +1 -1
  330. package/dist/core/utilities/index.js.map +1 -1
  331. package/dist/core/utilities/module-path.js.map +1 -1
  332. package/dist/core/utilities/package-utils.d.ts +68 -0
  333. package/dist/core/utilities/package-utils.js +198 -1
  334. package/dist/core/utilities/package-utils.js.map +1 -1
  335. package/dist/core/utilities/response-helpers.js +1 -1
  336. package/dist/core/utilities/response-helpers.js.map +1 -1
  337. package/dist/core/validation/adapters.js.map +1 -1
  338. package/dist/core/validation/error-handler.js.map +1 -1
  339. package/dist/core/validation/index.js.map +1 -1
  340. package/dist/core/validation/schema-interface.js.map +1 -1
  341. package/dist/core/workers/facade.js.map +1 -1
  342. package/dist/core/workers/index.js.map +1 -1
  343. package/dist/core/workers/worker-entry.d.ts +1 -0
  344. package/dist/core/workers/worker-entry.js +12 -0
  345. package/dist/core/workers/worker-entry.js.map +1 -0
  346. package/dist/core/workers/worker-manager.d.ts +23 -2
  347. package/dist/core/workers/worker-manager.js +117 -17
  348. package/dist/core/workers/worker-manager.js.map +1 -1
  349. package/dist/core/workers/worker.js +8 -6
  350. package/dist/core/workers/worker.js.map +1 -1
  351. package/dist/index.d.ts +2 -2
  352. package/dist/index.js +5 -2
  353. package/dist/index.js.map +1 -1
  354. package/dist/moro.d.ts +20 -1
  355. package/dist/moro.js +230 -70
  356. package/dist/moro.js.map +1 -1
  357. package/dist/types/auth.d.ts +4 -4
  358. package/dist/types/auth.js.map +1 -1
  359. package/dist/types/cache.js.map +1 -1
  360. package/dist/types/cdn.js.map +1 -1
  361. package/dist/types/config.d.ts +100 -15
  362. package/dist/types/config.js.map +1 -1
  363. package/dist/types/core.js.map +1 -1
  364. package/dist/types/database.js.map +1 -1
  365. package/dist/types/discovery.js.map +1 -1
  366. package/dist/types/events.js.map +1 -1
  367. package/dist/types/hooks.js.map +1 -1
  368. package/dist/types/http.js.map +1 -1
  369. package/dist/types/logger.js.map +1 -1
  370. package/dist/types/module.js.map +1 -1
  371. package/dist/types/runtime.js.map +1 -1
  372. package/dist/types/session.js.map +1 -1
  373. package/package.json +32 -17
@@ -0,0 +1,263 @@
1
+ import { HttpRequest, HttpResponse, HttpHandler, Middleware } from '../../types/http.js';
2
+ import { type EngineCapabilities } from '../utilities/package-utils.js';
3
+ import type { HttpRuntimeLimits } from './utils/size.js';
4
+ import type { Http2ServerOptions } from './http2-server.js';
5
+ import { type CompressionSettings } from './utils/compression.js';
6
+ import { LazyEventEmitter } from './utils/lazy-event-emitter.js';
7
+ /**
8
+ * Prototype-based request object for the engine adapter.
9
+ *
10
+ * Headers/query/cookies/ip/requestId are lazy: a synchronous handler that
11
+ * never reads them pays nothing (no native crossing, no UUID). Every fetcher
12
+ * returns a stable snapshot and reqIds are safe no-ops after the response
13
+ * terminates, so - unlike the uWS adapter - there is no validity window.
14
+ */
15
+ export declare class EngineRequest extends LazyEventEmitter {
16
+ method: string;
17
+ path: string;
18
+ params: Record<string, string>;
19
+ body: any;
20
+ _server: MoroEngineServer;
21
+ _reqId: number;
22
+ _url: string | undefined;
23
+ _queryString: string | undefined;
24
+ _query: Record<string, string> | undefined;
25
+ _headers: Record<string, string> | undefined;
26
+ _cookies: Record<string, string> | undefined;
27
+ _context: Record<string, any> | undefined;
28
+ _requestId: string | undefined;
29
+ _ip: string | undefined;
30
+ _socket: any;
31
+ constructor(server: MoroEngineServer, reqId: number, method: string, path: string);
32
+ /** Engine snapshots are stable - nothing to detach. No-op kept for
33
+ * interface parity with UwsRequest so shared dispatch code can call it. */
34
+ materialize(): void;
35
+ private _rawQueryString;
36
+ get url(): string;
37
+ set url(value: string);
38
+ get query(): Record<string, string>;
39
+ set query(value: Record<string, string>);
40
+ get headers(): Record<string, string>;
41
+ set headers(value: Record<string, string>);
42
+ get cookies(): Record<string, string>;
43
+ set cookies(value: Record<string, string>);
44
+ get context(): Record<string, any>;
45
+ set context(value: Record<string, any>);
46
+ get requestId(): string;
47
+ set requestId(value: string);
48
+ get ip(): string;
49
+ set ip(value: string);
50
+ get socket(): any;
51
+ set socket(value: any);
52
+ get connection(): any;
53
+ set connection(value: any);
54
+ get hostname(): string;
55
+ get protocol(): string;
56
+ get secure(): boolean;
57
+ get xhr(): boolean;
58
+ get originalUrl(): string;
59
+ get ips(): string[];
60
+ get subdomains(): string[];
61
+ get(name: string): string | undefined;
62
+ header(name: string): string | undefined;
63
+ is(type: string): boolean;
64
+ accepts(types?: string | string[]): string | false;
65
+ acceptsLanguages(langs?: string | string[]): string | false;
66
+ }
67
+ /**
68
+ * Prototype-based response object for the engine adapter. Same
69
+ * MoroResponseMethods surface as the uWS adapter's ResponsePrototype.
70
+ *
71
+ * Terminal writes (json/send/end/redirect) go out as ONE respond() call -
72
+ * status + headers + body in a single native crossing. Streaming responses
73
+ * (writeHead/write/end) map to the engine's streaming API; the engine's
74
+ * onWritable backpressure signal surfaces as the 'drain' event.
75
+ */
76
+ export declare class EngineResponse extends LazyEventEmitter {
77
+ headersSent: boolean;
78
+ statusCode: number;
79
+ responseHeaders: Record<string, string | string[]>;
80
+ locals: Record<string, any>;
81
+ _moroReq: any;
82
+ private _server;
83
+ private _engine;
84
+ private _reqId;
85
+ private _logger;
86
+ private _ended;
87
+ private _aborted;
88
+ constructor(server: MoroEngineServer, reqId: number, logger: any);
89
+ get writableEnded(): boolean;
90
+ get writableFinished(): boolean;
91
+ get finished(): boolean;
92
+ get aborted(): boolean;
93
+ private _emitDone;
94
+ _handleAbort(): void;
95
+ _handleWritable(): void;
96
+ private _headersFlat;
97
+ status(code: number): this;
98
+ setHeader(name: string, value: string | string[]): this;
99
+ getHeader(name: string): string | string[] | undefined;
100
+ removeHeader(name: string): this;
101
+ json(data: any): void;
102
+ private _respondMaybeCompressed;
103
+ private _failSafe;
104
+ send(data: string | Buffer): void;
105
+ writeHead(statusCode: number, reasonOrHeaders?: any, maybeHeaders?: any): this;
106
+ write(chunk: any, encoding?: any, callback?: any): boolean;
107
+ end(data?: any, encoding?: any, callback?: any): this;
108
+ redirect(url: string, code?: number): void;
109
+ success<T = any>(data: T, message?: string): void;
110
+ error(error: string, code?: string, message?: string): void;
111
+ unauthorized(message?: string): void;
112
+ forbidden(message?: string): void;
113
+ notFound(resource?: string): void;
114
+ badRequest(message?: string): void;
115
+ conflict(message: string): void;
116
+ internalError(message?: string): void;
117
+ validationError(errors: Array<{
118
+ field: string;
119
+ message: string;
120
+ code?: string;
121
+ }>): void;
122
+ rateLimited(retryAfter?: number): void;
123
+ created<T = any>(data: T, location?: string): void;
124
+ noContent(): void;
125
+ paginated<T = any>(data: T[], pagination: {
126
+ page: number;
127
+ limit: number;
128
+ total: number;
129
+ }): void;
130
+ cookie(name: string, value: string, options?: any): this;
131
+ clearCookie(name: string, options?: any): this;
132
+ sendFile(filePath: string): Promise<void>;
133
+ attachment(filename?: string): this;
134
+ download(filePath: string, filename?: string): Promise<void>;
135
+ format(handlers: Record<string, () => any | Promise<any>>): void;
136
+ set(field: string | Record<string, any>, value?: any): this;
137
+ get(field: string): string | string[] | undefined;
138
+ hasHeader(name: string): boolean;
139
+ setBulkHeaders(headers: Record<string, string | number>): this;
140
+ appendHeader(name: string, value: string | string[]): this;
141
+ append(field: string, value: string | string[]): this;
142
+ type(contentType: string): this;
143
+ sendStatus(code: number): void;
144
+ location(url: string): this;
145
+ vary(field: string | string[]): this;
146
+ links(links: Record<string, string>): this;
147
+ canSetHeaders(): boolean;
148
+ getResponseState(): {
149
+ headersSent: boolean;
150
+ statusCode: number;
151
+ headers: Record<string, string | string[]>;
152
+ finished: boolean;
153
+ writable: boolean;
154
+ };
155
+ }
156
+ /**
157
+ * Moro Engine HTTP Server Adapter
158
+ * Bridges @morojs/engine with Moro's HTTP abstractions. Duck-typed to the
159
+ * same surface framework.ts/moro.ts use on UWebSocketsHttpServer.
160
+ */
161
+ export declare class MoroEngineServer {
162
+ /** @internal read by EngineRequest/EngineResponse for lazy fetchers */
163
+ _engine: any;
164
+ /** @internal read by EngineRequest#protocol/socket.encrypted - true when the
165
+ * engine is terminating TLS for this server (engine >= 1.2.0 + ssl passed) */
166
+ isSsl: boolean;
167
+ private serverId;
168
+ private globalMiddleware;
169
+ private logger;
170
+ private hookManager;
171
+ private requestCounter;
172
+ private requestTrackingEnabled;
173
+ private isListening;
174
+ private port?;
175
+ private host?;
176
+ private inflight;
177
+ private handle;
178
+ private _wsBridge?;
179
+ private _pendingWsInfo?;
180
+ private maxBodySize;
181
+ private maxUploadSize;
182
+ private reusePort;
183
+ private _capabilities?;
184
+ private _limits?;
185
+ private _ssl?;
186
+ private _http2Settings?;
187
+ private multipartLimits?;
188
+ /** @internal read by EngineResponse for buffered-response compression */
189
+ _compression: CompressionSettings;
190
+ private closed;
191
+ private routerHandler?;
192
+ private errorHandler?;
193
+ private directRoutes;
194
+ constructor(options?: {
195
+ /** Normalized SSL config projected for the engine (both shapes). */
196
+ ssl?: Record<string, any> | null;
197
+ /** Engine feature flags (from loadNativeEngine) - gates the ssl/http2/
198
+ * limit options so we never pass a key an older engine won't parse. */
199
+ capabilities?: EngineCapabilities;
200
+ /** Flattened runtime limits (bytes/ms) from the framework. */
201
+ limits?: HttpRuntimeLimits;
202
+ /** HTTP/2 settings when serving ALPN h2 natively (engine caps.http2). */
203
+ http2Settings?: Http2ServerOptions;
204
+ maxBodySize?: number;
205
+ maxUploadSize?: number;
206
+ /** Preloaded native engine module (from loadNativeEngine) - avoids a
207
+ * second resolution and keeps load failures at the framework's
208
+ * synchronous preflight instead of surfacing at listen() */
209
+ engineModule?: any;
210
+ /** Bind with SO_REUSEPORT so cluster workers can share the port
211
+ * (POSIX only; the framework gates Windows clustering to Node) */
212
+ reusePort?: boolean;
213
+ });
214
+ /** @internal terminal write/abort cleanup - drops the reqId mapping */
215
+ _complete(reqId: number): void;
216
+ private registerWithEngine;
217
+ /** Register the engine WebSocket bridge; upgrade requests then route natively. */
218
+ enableWebSocket(bridge: {
219
+ onOpen(wsId: number, path: string): void;
220
+ onMessage(wsId: number, data: any, isBinary: boolean): void;
221
+ onClose(wsId: number, code: number): void;
222
+ }): void;
223
+ /** Send a frame on a WebSocket. Returns false on backpressure. */
224
+ wsSend(wsId: number, data: string | ArrayBuffer | Buffer, isBinary: boolean): boolean;
225
+ /** Close a WebSocket (RFC 6455 close frame). */
226
+ wsClose(wsId: number, code?: number, reason?: string): void;
227
+ setRouterHandler(fn: (req: HttpRequest, res: HttpResponse) => boolean | Promise<boolean>): void;
228
+ setErrorHandler(fn: (err: any, req: HttpRequest, res: HttpResponse) => any | Promise<any>): void;
229
+ private requestDecorationKeys;
230
+ private requestDecorations;
231
+ private responseDecorationKeys;
232
+ private responseDecorations;
233
+ setRequestDecorations(decorations: Record<string, any>): void;
234
+ setResponseDecorations(decorations: Record<string, any>): void;
235
+ private addDirectRoute;
236
+ get(path: string, ...handlers: Array<Middleware | HttpHandler>): void;
237
+ post(path: string, ...handlers: Array<Middleware | HttpHandler>): void;
238
+ put(path: string, ...handlers: Array<Middleware | HttpHandler>): void;
239
+ delete(path: string, ...handlers: Array<Middleware | HttpHandler>): void;
240
+ patch(path: string, ...handlers: Array<Middleware | HttpHandler>): void;
241
+ options(path: string, ...handlers: Array<Middleware | HttpHandler>): void;
242
+ head(path: string, ...handlers: Array<Middleware | HttpHandler>): void;
243
+ private dispatchDirectRoute;
244
+ setNativeRouteProvider(_provider: () => Array<any>, _onError?: (...args: any[]) => any): void;
245
+ private onRequest;
246
+ private onAborted;
247
+ private onWritable;
248
+ private handleRequest;
249
+ private parseBody;
250
+ private executeMiddleware;
251
+ use(middleware: Middleware): void;
252
+ setRequestTracking(enabled: boolean): void;
253
+ setHookManager(hookManager: any): void;
254
+ configurePerformance(config: any): void;
255
+ listen(port: number, callback?: () => void): void;
256
+ listen(port: number, host: string, callback?: () => void): void;
257
+ /** Bounded drain window for in-flight responses during close() */
258
+ private static readonly CLOSE_DRAIN_MS;
259
+ close(callback?: (error?: Error) => void): void;
260
+ getServer(): any;
261
+ getApp(): any;
262
+ forceCleanup(): void;
263
+ }