stratal 0.0.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 (867) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +50 -0
  3. package/dist/application.d.ts +118 -0
  4. package/dist/application.d.ts.map +1 -0
  5. package/dist/application.js +247 -0
  6. package/dist/application.js.map +1 -0
  7. package/dist/cache/cache.module.d.ts +14 -0
  8. package/dist/cache/cache.module.d.ts.map +1 -0
  9. package/dist/cache/cache.module.js +32 -0
  10. package/dist/cache/cache.module.js.map +1 -0
  11. package/dist/cache/cache.tokens.d.ts +5 -0
  12. package/dist/cache/cache.tokens.d.ts.map +1 -0
  13. package/dist/cache/cache.tokens.js +4 -0
  14. package/dist/cache/cache.tokens.js.map +1 -0
  15. package/dist/cache/errors/cache-delete.error.d.ts +11 -0
  16. package/dist/cache/errors/cache-delete.error.d.ts.map +1 -0
  17. package/dist/cache/errors/cache-delete.error.js +14 -0
  18. package/dist/cache/errors/cache-delete.error.js.map +1 -0
  19. package/dist/cache/errors/cache-get.error.d.ts +11 -0
  20. package/dist/cache/errors/cache-get.error.d.ts.map +1 -0
  21. package/dist/cache/errors/cache-get.error.js +14 -0
  22. package/dist/cache/errors/cache-get.error.js.map +1 -0
  23. package/dist/cache/errors/cache-list.error.d.ts +10 -0
  24. package/dist/cache/errors/cache-list.error.d.ts.map +1 -0
  25. package/dist/cache/errors/cache-list.error.js +13 -0
  26. package/dist/cache/errors/cache-list.error.js.map +1 -0
  27. package/dist/cache/errors/cache-put.error.d.ts +11 -0
  28. package/dist/cache/errors/cache-put.error.d.ts.map +1 -0
  29. package/dist/cache/errors/cache-put.error.js +14 -0
  30. package/dist/cache/errors/cache-put.error.js.map +1 -0
  31. package/dist/cache/errors/index.d.ts +5 -0
  32. package/dist/cache/errors/index.d.ts.map +1 -0
  33. package/dist/cache/errors/index.js +5 -0
  34. package/dist/cache/errors/index.js.map +1 -0
  35. package/dist/cache/index.d.ts +5 -0
  36. package/dist/cache/index.d.ts.map +1 -0
  37. package/dist/cache/index.js +5 -0
  38. package/dist/cache/index.js.map +1 -0
  39. package/dist/cache/services/cache.service.d.ts +152 -0
  40. package/dist/cache/services/cache.service.d.ts.map +1 -0
  41. package/dist/cache/services/cache.service.js +223 -0
  42. package/dist/cache/services/cache.service.js.map +1 -0
  43. package/dist/cache/services/index.d.ts +2 -0
  44. package/dist/cache/services/index.d.ts.map +1 -0
  45. package/dist/cache/services/index.js +2 -0
  46. package/dist/cache/services/index.js.map +1 -0
  47. package/dist/config/config.module.d.ts +79 -0
  48. package/dist/config/config.module.d.ts.map +1 -0
  49. package/dist/config/config.module.js +120 -0
  50. package/dist/config/config.module.js.map +1 -0
  51. package/dist/config/config.tokens.d.ts +4 -0
  52. package/dist/config/config.tokens.d.ts.map +1 -0
  53. package/dist/config/config.tokens.js +4 -0
  54. package/dist/config/config.tokens.js.map +1 -0
  55. package/dist/config/config.types.d.ts +68 -0
  56. package/dist/config/config.types.d.ts.map +1 -0
  57. package/dist/config/config.types.js +9 -0
  58. package/dist/config/config.types.js.map +1 -0
  59. package/dist/config/errors/config-not-initialized.error.d.ts +12 -0
  60. package/dist/config/errors/config-not-initialized.error.d.ts.map +1 -0
  61. package/dist/config/errors/config-not-initialized.error.js +15 -0
  62. package/dist/config/errors/config-not-initialized.error.js.map +1 -0
  63. package/dist/config/errors/index.d.ts +2 -0
  64. package/dist/config/errors/index.d.ts.map +1 -0
  65. package/dist/config/errors/index.js +2 -0
  66. package/dist/config/errors/index.js.map +1 -0
  67. package/dist/config/index.d.ts +7 -0
  68. package/dist/config/index.d.ts.map +1 -0
  69. package/dist/config/index.js +9 -0
  70. package/dist/config/index.js.map +1 -0
  71. package/dist/config/register-as.d.ts +62 -0
  72. package/dist/config/register-as.d.ts.map +1 -0
  73. package/dist/config/register-as.js +48 -0
  74. package/dist/config/register-as.js.map +1 -0
  75. package/dist/config/services/config.service.d.ts +58 -0
  76. package/dist/config/services/config.service.d.ts.map +1 -0
  77. package/dist/config/services/config.service.js +123 -0
  78. package/dist/config/services/config.service.js.map +1 -0
  79. package/dist/cron/cron-job.d.ts +55 -0
  80. package/dist/cron/cron-job.d.ts.map +1 -0
  81. package/dist/cron/cron-job.js +2 -0
  82. package/dist/cron/cron-job.js.map +1 -0
  83. package/dist/cron/cron-manager.d.ts +60 -0
  84. package/dist/cron/cron-manager.d.ts.map +1 -0
  85. package/dist/cron/cron-manager.js +120 -0
  86. package/dist/cron/cron-manager.js.map +1 -0
  87. package/dist/cron/errors/cron-execution.error.d.ts +10 -0
  88. package/dist/cron/errors/cron-execution.error.d.ts.map +1 -0
  89. package/dist/cron/errors/cron-execution.error.js +17 -0
  90. package/dist/cron/errors/cron-execution.error.js.map +1 -0
  91. package/dist/cron/index.d.ts +4 -0
  92. package/dist/cron/index.d.ts.map +1 -0
  93. package/dist/cron/index.js +3 -0
  94. package/dist/cron/index.js.map +1 -0
  95. package/dist/di/conditional-binding-builder.d.ts +93 -0
  96. package/dist/di/conditional-binding-builder.d.ts.map +1 -0
  97. package/dist/di/conditional-binding-builder.js +115 -0
  98. package/dist/di/conditional-binding-builder.js.map +1 -0
  99. package/dist/di/container.d.ts +399 -0
  100. package/dist/di/container.d.ts.map +1 -0
  101. package/dist/di/container.js +466 -0
  102. package/dist/di/container.js.map +1 -0
  103. package/dist/di/decorators/inject-param.decorator.d.ts +67 -0
  104. package/dist/di/decorators/inject-param.decorator.d.ts.map +1 -0
  105. package/dist/di/decorators/inject-param.decorator.js +53 -0
  106. package/dist/di/decorators/inject-param.decorator.js.map +1 -0
  107. package/dist/di/decorators.d.ts +57 -0
  108. package/dist/di/decorators.d.ts.map +1 -0
  109. package/dist/di/decorators.js +74 -0
  110. package/dist/di/decorators.js.map +1 -0
  111. package/dist/di/errors/conditional-binding-fallback.error.d.ts +16 -0
  112. package/dist/di/errors/conditional-binding-fallback.error.d.ts.map +1 -0
  113. package/dist/di/errors/conditional-binding-fallback.error.js +19 -0
  114. package/dist/di/errors/conditional-binding-fallback.error.js.map +1 -0
  115. package/dist/di/errors/index.d.ts +3 -0
  116. package/dist/di/errors/index.d.ts.map +1 -0
  117. package/dist/di/errors/index.js +3 -0
  118. package/dist/di/errors/index.js.map +1 -0
  119. package/dist/di/errors/request-scope-operation-not-allowed.error.d.ts +12 -0
  120. package/dist/di/errors/request-scope-operation-not-allowed.error.d.ts.map +1 -0
  121. package/dist/di/errors/request-scope-operation-not-allowed.error.js +15 -0
  122. package/dist/di/errors/request-scope-operation-not-allowed.error.js.map +1 -0
  123. package/dist/di/index.d.ts +13 -0
  124. package/dist/di/index.d.ts.map +1 -0
  125. package/dist/di/index.js +11 -0
  126. package/dist/di/index.js.map +1 -0
  127. package/dist/di/request-context-store.d.ts +122 -0
  128. package/dist/di/request-context-store.d.ts.map +1 -0
  129. package/dist/di/request-context-store.js +135 -0
  130. package/dist/di/request-context-store.js.map +1 -0
  131. package/dist/di/tokens.d.ts +25 -0
  132. package/dist/di/tokens.d.ts.map +1 -0
  133. package/dist/di/tokens.js +27 -0
  134. package/dist/di/tokens.js.map +1 -0
  135. package/dist/di/types.d.ts +56 -0
  136. package/dist/di/types.d.ts.map +1 -0
  137. package/dist/di/types.js +34 -0
  138. package/dist/di/types.js.map +1 -0
  139. package/dist/email/consumers/email.consumer.d.ts +43 -0
  140. package/dist/email/consumers/email.consumer.d.ts.map +1 -0
  141. package/dist/email/consumers/email.consumer.js +133 -0
  142. package/dist/email/consumers/email.consumer.js.map +1 -0
  143. package/dist/email/consumers/index.d.ts +2 -0
  144. package/dist/email/consumers/index.d.ts.map +1 -0
  145. package/dist/email/consumers/index.js +2 -0
  146. package/dist/email/consumers/index.js.map +1 -0
  147. package/dist/email/contracts/email-attachment.d.ts +61 -0
  148. package/dist/email/contracts/email-attachment.d.ts.map +1 -0
  149. package/dist/email/contracts/email-attachment.js +58 -0
  150. package/dist/email/contracts/email-attachment.js.map +1 -0
  151. package/dist/email/contracts/email-message.contract.d.ts +58 -0
  152. package/dist/email/contracts/email-message.contract.d.ts.map +1 -0
  153. package/dist/email/contracts/email-message.contract.js +62 -0
  154. package/dist/email/contracts/email-message.contract.js.map +1 -0
  155. package/dist/email/contracts/index.d.ts +4 -0
  156. package/dist/email/contracts/index.d.ts.map +1 -0
  157. package/dist/email/contracts/index.js +4 -0
  158. package/dist/email/contracts/index.js.map +1 -0
  159. package/dist/email/contracts/send-email.input.d.ts +72 -0
  160. package/dist/email/contracts/send-email.input.d.ts.map +1 -0
  161. package/dist/email/contracts/send-email.input.js +28 -0
  162. package/dist/email/contracts/send-email.input.js.map +1 -0
  163. package/dist/email/email.module.d.ts +122 -0
  164. package/dist/email/email.module.d.ts.map +1 -0
  165. package/dist/email/email.module.js +129 -0
  166. package/dist/email/email.module.js.map +1 -0
  167. package/dist/email/email.tokens.d.ts +33 -0
  168. package/dist/email/email.tokens.d.ts.map +1 -0
  169. package/dist/email/email.tokens.js +33 -0
  170. package/dist/email/email.tokens.js.map +1 -0
  171. package/dist/email/errors/email-provider-not-supported.error.d.ts +13 -0
  172. package/dist/email/errors/email-provider-not-supported.error.d.ts.map +1 -0
  173. package/dist/email/errors/email-provider-not-supported.error.js +15 -0
  174. package/dist/email/errors/email-provider-not-supported.error.js.map +1 -0
  175. package/dist/email/errors/email-resend-api-failed.error.d.ts +13 -0
  176. package/dist/email/errors/email-resend-api-failed.error.d.ts.map +1 -0
  177. package/dist/email/errors/email-resend-api-failed.error.js +15 -0
  178. package/dist/email/errors/email-resend-api-failed.error.js.map +1 -0
  179. package/dist/email/errors/email-smtp-connection-failed.error.d.ts +13 -0
  180. package/dist/email/errors/email-smtp-connection-failed.error.d.ts.map +1 -0
  181. package/dist/email/errors/email-smtp-connection-failed.error.js +15 -0
  182. package/dist/email/errors/email-smtp-connection-failed.error.js.map +1 -0
  183. package/dist/email/errors/index.d.ts +7 -0
  184. package/dist/email/errors/index.d.ts.map +1 -0
  185. package/dist/email/errors/index.js +7 -0
  186. package/dist/email/errors/index.js.map +1 -0
  187. package/dist/email/errors/resend-api-key-missing.error.d.ts +13 -0
  188. package/dist/email/errors/resend-api-key-missing.error.d.ts.map +1 -0
  189. package/dist/email/errors/resend-api-key-missing.error.js +15 -0
  190. package/dist/email/errors/resend-api-key-missing.error.js.map +1 -0
  191. package/dist/email/errors/smtp-configuration-missing.error.d.ts +13 -0
  192. package/dist/email/errors/smtp-configuration-missing.error.d.ts.map +1 -0
  193. package/dist/email/errors/smtp-configuration-missing.error.js +15 -0
  194. package/dist/email/errors/smtp-configuration-missing.error.js.map +1 -0
  195. package/dist/email/errors/smtp-host-missing.error.d.ts +13 -0
  196. package/dist/email/errors/smtp-host-missing.error.d.ts.map +1 -0
  197. package/dist/email/errors/smtp-host-missing.error.js +15 -0
  198. package/dist/email/errors/smtp-host-missing.error.js.map +1 -0
  199. package/dist/email/index.d.ts +6 -0
  200. package/dist/email/index.d.ts.map +1 -0
  201. package/dist/email/index.js +8 -0
  202. package/dist/email/index.js.map +1 -0
  203. package/dist/email/providers/base-email.provider.d.ts +22 -0
  204. package/dist/email/providers/base-email.provider.d.ts.map +1 -0
  205. package/dist/email/providers/base-email.provider.js +43 -0
  206. package/dist/email/providers/base-email.provider.js.map +1 -0
  207. package/dist/email/providers/email-provider.interface.d.ts +66 -0
  208. package/dist/email/providers/email-provider.interface.d.ts.map +1 -0
  209. package/dist/email/providers/email-provider.interface.js +2 -0
  210. package/dist/email/providers/email-provider.interface.js.map +1 -0
  211. package/dist/email/providers/index.d.ts +5 -0
  212. package/dist/email/providers/index.d.ts.map +1 -0
  213. package/dist/email/providers/index.js +5 -0
  214. package/dist/email/providers/index.js.map +1 -0
  215. package/dist/email/providers/resend.provider.d.ts +26 -0
  216. package/dist/email/providers/resend.provider.d.ts.map +1 -0
  217. package/dist/email/providers/resend.provider.js +84 -0
  218. package/dist/email/providers/resend.provider.js.map +1 -0
  219. package/dist/email/providers/smtp.provider.d.ts +25 -0
  220. package/dist/email/providers/smtp.provider.d.ts.map +1 -0
  221. package/dist/email/providers/smtp.provider.js +86 -0
  222. package/dist/email/providers/smtp.provider.js.map +1 -0
  223. package/dist/email/services/email-provider-factory.d.ts +24 -0
  224. package/dist/email/services/email-provider-factory.d.ts.map +1 -0
  225. package/dist/email/services/email-provider-factory.js +59 -0
  226. package/dist/email/services/email-provider-factory.js.map +1 -0
  227. package/dist/email/services/email.service.d.ts +51 -0
  228. package/dist/email/services/email.service.d.ts.map +1 -0
  229. package/dist/email/services/email.service.js +75 -0
  230. package/dist/email/services/email.service.js.map +1 -0
  231. package/dist/email/services/index.d.ts +3 -0
  232. package/dist/email/services/index.d.ts.map +1 -0
  233. package/dist/email/services/index.js +3 -0
  234. package/dist/email/services/index.js.map +1 -0
  235. package/dist/env.d.ts +21 -0
  236. package/dist/env.d.ts.map +1 -0
  237. package/dist/env.js +2 -0
  238. package/dist/env.js.map +1 -0
  239. package/dist/errors/application-error.d.ts +80 -0
  240. package/dist/errors/application-error.d.ts.map +1 -0
  241. package/dist/errors/application-error.js +118 -0
  242. package/dist/errors/application-error.js.map +1 -0
  243. package/dist/errors/error-codes.d.ts +198 -0
  244. package/dist/errors/error-codes.d.ts.map +1 -0
  245. package/dist/errors/error-codes.js +180 -0
  246. package/dist/errors/error-codes.js.map +1 -0
  247. package/dist/errors/get-http-status.d.ts +12 -0
  248. package/dist/errors/get-http-status.d.ts.map +1 -0
  249. package/dist/errors/get-http-status.js +62 -0
  250. package/dist/errors/get-http-status.js.map +1 -0
  251. package/dist/errors/index.d.ts +5 -0
  252. package/dist/errors/index.d.ts.map +1 -0
  253. package/dist/errors/index.js +5 -0
  254. package/dist/errors/index.js.map +1 -0
  255. package/dist/errors/is-application-error.d.ts +9 -0
  256. package/dist/errors/is-application-error.d.ts.map +1 -0
  257. package/dist/errors/is-application-error.js +11 -0
  258. package/dist/errors/is-application-error.js.map +1 -0
  259. package/dist/guards/guard-execution.service.d.ts +37 -0
  260. package/dist/guards/guard-execution.service.d.ts.map +1 -0
  261. package/dist/guards/guard-execution.service.js +74 -0
  262. package/dist/guards/guard-execution.service.js.map +1 -0
  263. package/dist/guards/index.d.ts +12 -0
  264. package/dist/guards/index.d.ts.map +1 -0
  265. package/dist/guards/index.js +12 -0
  266. package/dist/guards/index.js.map +1 -0
  267. package/dist/guards/types.d.ts +60 -0
  268. package/dist/guards/types.d.ts.map +1 -0
  269. package/dist/guards/types.js +5 -0
  270. package/dist/guards/types.js.map +1 -0
  271. package/dist/guards/use-guards.decorator.d.ts +73 -0
  272. package/dist/guards/use-guards.decorator.d.ts.map +1 -0
  273. package/dist/guards/use-guards.decorator.js +89 -0
  274. package/dist/guards/use-guards.decorator.js.map +1 -0
  275. package/dist/i18n/errors/index.d.ts +6 -0
  276. package/dist/i18n/errors/index.d.ts.map +1 -0
  277. package/dist/i18n/errors/index.js +6 -0
  278. package/dist/i18n/errors/index.js.map +1 -0
  279. package/dist/i18n/errors/locale-not-supported.error.d.ts +12 -0
  280. package/dist/i18n/errors/locale-not-supported.error.d.ts.map +1 -0
  281. package/dist/i18n/errors/locale-not-supported.error.js +15 -0
  282. package/dist/i18n/errors/locale-not-supported.error.js.map +1 -0
  283. package/dist/i18n/errors/translation-missing.error.d.ts +12 -0
  284. package/dist/i18n/errors/translation-missing.error.d.ts.map +1 -0
  285. package/dist/i18n/errors/translation-missing.error.js +15 -0
  286. package/dist/i18n/errors/translation-missing.error.js.map +1 -0
  287. package/dist/i18n/i18n.module.d.ts +60 -0
  288. package/dist/i18n/i18n.module.d.ts.map +1 -0
  289. package/dist/i18n/i18n.module.js +103 -0
  290. package/dist/i18n/i18n.module.js.map +1 -0
  291. package/dist/i18n/i18n.options.d.ts +60 -0
  292. package/dist/i18n/i18n.options.d.ts.map +1 -0
  293. package/dist/i18n/i18n.options.js +18 -0
  294. package/dist/i18n/i18n.options.js.map +1 -0
  295. package/dist/i18n/i18n.tokens.d.ts +13 -0
  296. package/dist/i18n/i18n.tokens.d.ts.map +1 -0
  297. package/dist/i18n/i18n.tokens.js +13 -0
  298. package/dist/i18n/i18n.tokens.js.map +1 -0
  299. package/dist/i18n/i18n.types.d.ts +78 -0
  300. package/dist/i18n/i18n.types.d.ts.map +1 -0
  301. package/dist/i18n/i18n.types.js +8 -0
  302. package/dist/i18n/i18n.types.js.map +1 -0
  303. package/dist/i18n/index.d.ts +12 -0
  304. package/dist/i18n/index.d.ts.map +1 -0
  305. package/dist/i18n/index.js +12 -0
  306. package/dist/i18n/index.js.map +1 -0
  307. package/dist/i18n/messages/en/common.d.ts +23 -0
  308. package/dist/i18n/messages/en/common.d.ts.map +1 -0
  309. package/dist/i18n/messages/en/common.js +23 -0
  310. package/dist/i18n/messages/en/common.js.map +1 -0
  311. package/dist/i18n/messages/en/emails.d.ts +12 -0
  312. package/dist/i18n/messages/en/emails.d.ts.map +1 -0
  313. package/dist/i18n/messages/en/emails.js +12 -0
  314. package/dist/i18n/messages/en/emails.js.map +1 -0
  315. package/dist/i18n/messages/en/errors.d.ts +115 -0
  316. package/dist/i18n/messages/en/errors.d.ts.map +1 -0
  317. package/dist/i18n/messages/en/errors.js +132 -0
  318. package/dist/i18n/messages/en/errors.js.map +1 -0
  319. package/dist/i18n/messages/en/index.d.ts +13 -0
  320. package/dist/i18n/messages/en/index.d.ts.map +1 -0
  321. package/dist/i18n/messages/en/index.js +13 -0
  322. package/dist/i18n/messages/en/index.js.map +1 -0
  323. package/dist/i18n/messages/en/validation.d.ts +38 -0
  324. package/dist/i18n/messages/en/validation.d.ts.map +1 -0
  325. package/dist/i18n/messages/en/validation.js +38 -0
  326. package/dist/i18n/messages/en/validation.js.map +1 -0
  327. package/dist/i18n/messages/en/zod.d.ts +125 -0
  328. package/dist/i18n/messages/en/zod.d.ts.map +1 -0
  329. package/dist/i18n/messages/en/zod.js +132 -0
  330. package/dist/i18n/messages/en/zod.js.map +1 -0
  331. package/dist/i18n/messages/index.d.ts +27 -0
  332. package/dist/i18n/messages/index.d.ts.map +1 -0
  333. package/dist/i18n/messages/index.js +25 -0
  334. package/dist/i18n/messages/index.js.map +1 -0
  335. package/dist/i18n/middleware/i18n-context.middleware.d.ts +15 -0
  336. package/dist/i18n/middleware/i18n-context.middleware.d.ts.map +1 -0
  337. package/dist/i18n/middleware/i18n-context.middleware.js +42 -0
  338. package/dist/i18n/middleware/i18n-context.middleware.js.map +1 -0
  339. package/dist/i18n/middleware/index.d.ts +6 -0
  340. package/dist/i18n/middleware/index.d.ts.map +1 -0
  341. package/dist/i18n/middleware/index.js +6 -0
  342. package/dist/i18n/middleware/index.js.map +1 -0
  343. package/dist/i18n/middleware/locale-extraction.middleware.d.ts +19 -0
  344. package/dist/i18n/middleware/locale-extraction.middleware.d.ts.map +1 -0
  345. package/dist/i18n/middleware/locale-extraction.middleware.js +49 -0
  346. package/dist/i18n/middleware/locale-extraction.middleware.js.map +1 -0
  347. package/dist/i18n/services/i18n.service.d.ts +62 -0
  348. package/dist/i18n/services/i18n.service.d.ts.map +1 -0
  349. package/dist/i18n/services/i18n.service.js +118 -0
  350. package/dist/i18n/services/i18n.service.js.map +1 -0
  351. package/dist/i18n/services/message-loader.service.d.ts +47 -0
  352. package/dist/i18n/services/message-loader.service.d.ts.map +1 -0
  353. package/dist/i18n/services/message-loader.service.js +121 -0
  354. package/dist/i18n/services/message-loader.service.js.map +1 -0
  355. package/dist/i18n/setup.d.ts +27 -0
  356. package/dist/i18n/setup.d.ts.map +1 -0
  357. package/dist/i18n/setup.js +40 -0
  358. package/dist/i18n/setup.js.map +1 -0
  359. package/dist/i18n/validation/index.d.ts +9 -0
  360. package/dist/i18n/validation/index.d.ts.map +1 -0
  361. package/dist/i18n/validation/index.js +10 -0
  362. package/dist/i18n/validation/index.js.map +1 -0
  363. package/dist/i18n/validation/validation.context.d.ts +34 -0
  364. package/dist/i18n/validation/validation.context.d.ts.map +1 -0
  365. package/dist/i18n/validation/validation.context.js +42 -0
  366. package/dist/i18n/validation/validation.context.js.map +1 -0
  367. package/dist/i18n/validation/validation.error-map.d.ts +8 -0
  368. package/dist/i18n/validation/validation.error-map.d.ts.map +1 -0
  369. package/dist/i18n/validation/validation.error-map.js +158 -0
  370. package/dist/i18n/validation/validation.error-map.js.map +1 -0
  371. package/dist/i18n/validation/validation.types.d.ts +44 -0
  372. package/dist/i18n/validation/validation.types.d.ts.map +1 -0
  373. package/dist/i18n/validation/validation.types.js +2 -0
  374. package/dist/i18n/validation/validation.types.js.map +1 -0
  375. package/dist/i18n/validation/with-i18n.d.ts +29 -0
  376. package/dist/i18n/validation/with-i18n.d.ts.map +1 -0
  377. package/dist/i18n/validation/with-i18n.js +40 -0
  378. package/dist/i18n/validation/with-i18n.js.map +1 -0
  379. package/dist/index.d.ts +22 -0
  380. package/dist/index.d.ts.map +1 -0
  381. package/dist/index.js +23 -0
  382. package/dist/index.js.map +1 -0
  383. package/dist/infrastructure/error-handler/error-response.d.ts +32 -0
  384. package/dist/infrastructure/error-handler/error-response.d.ts.map +1 -0
  385. package/dist/infrastructure/error-handler/error-response.js +14 -0
  386. package/dist/infrastructure/error-handler/error-response.js.map +1 -0
  387. package/dist/infrastructure/error-handler/global-error-handler.d.ts +81 -0
  388. package/dist/infrastructure/error-handler/global-error-handler.d.ts.map +1 -0
  389. package/dist/infrastructure/error-handler/global-error-handler.js +178 -0
  390. package/dist/infrastructure/error-handler/global-error-handler.js.map +1 -0
  391. package/dist/infrastructure/error-handler/index.d.ts +6 -0
  392. package/dist/infrastructure/error-handler/index.d.ts.map +1 -0
  393. package/dist/infrastructure/error-handler/index.js +5 -0
  394. package/dist/infrastructure/error-handler/index.js.map +1 -0
  395. package/dist/infrastructure/error-handler/internal-error.d.ts +16 -0
  396. package/dist/infrastructure/error-handler/internal-error.d.ts.map +1 -0
  397. package/dist/infrastructure/error-handler/internal-error.js +19 -0
  398. package/dist/infrastructure/error-handler/internal-error.js.map +1 -0
  399. package/dist/infrastructure/errors/index.d.ts +2 -0
  400. package/dist/infrastructure/errors/index.d.ts.map +1 -0
  401. package/dist/infrastructure/errors/index.js +2 -0
  402. package/dist/infrastructure/errors/index.js.map +1 -0
  403. package/dist/infrastructure/errors/request-container-not-initialized.error.d.ts +12 -0
  404. package/dist/infrastructure/errors/request-container-not-initialized.error.d.ts.map +1 -0
  405. package/dist/infrastructure/errors/request-container-not-initialized.error.js +15 -0
  406. package/dist/infrastructure/errors/request-container-not-initialized.error.js.map +1 -0
  407. package/dist/infrastructure/index.d.ts +3 -0
  408. package/dist/infrastructure/index.d.ts.map +1 -0
  409. package/dist/infrastructure/index.js +3 -0
  410. package/dist/infrastructure/index.js.map +1 -0
  411. package/dist/logger/contracts/index.d.ts +4 -0
  412. package/dist/logger/contracts/index.d.ts.map +1 -0
  413. package/dist/logger/contracts/index.js +4 -0
  414. package/dist/logger/contracts/index.js.map +1 -0
  415. package/dist/logger/contracts/log-context.d.ts +16 -0
  416. package/dist/logger/contracts/log-context.d.ts.map +1 -0
  417. package/dist/logger/contracts/log-context.js +2 -0
  418. package/dist/logger/contracts/log-context.js.map +1 -0
  419. package/dist/logger/contracts/log-entry.d.ts +17 -0
  420. package/dist/logger/contracts/log-entry.d.ts.map +1 -0
  421. package/dist/logger/contracts/log-entry.js +2 -0
  422. package/dist/logger/contracts/log-entry.js.map +1 -0
  423. package/dist/logger/contracts/log-level.d.ts +16 -0
  424. package/dist/logger/contracts/log-level.d.ts.map +1 -0
  425. package/dist/logger/contracts/log-level.js +22 -0
  426. package/dist/logger/contracts/log-level.js.map +1 -0
  427. package/dist/logger/formatters/formatter.interface.d.ts +14 -0
  428. package/dist/logger/formatters/formatter.interface.d.ts.map +1 -0
  429. package/dist/logger/formatters/formatter.interface.js +2 -0
  430. package/dist/logger/formatters/formatter.interface.js.map +1 -0
  431. package/dist/logger/formatters/index.d.ts +4 -0
  432. package/dist/logger/formatters/index.d.ts.map +1 -0
  433. package/dist/logger/formatters/index.js +4 -0
  434. package/dist/logger/formatters/index.js.map +1 -0
  435. package/dist/logger/formatters/json-formatter.d.ts +22 -0
  436. package/dist/logger/formatters/json-formatter.d.ts.map +1 -0
  437. package/dist/logger/formatters/json-formatter.js +28 -0
  438. package/dist/logger/formatters/json-formatter.js.map +1 -0
  439. package/dist/logger/formatters/pretty-formatter.d.ts +19 -0
  440. package/dist/logger/formatters/pretty-formatter.d.ts.map +1 -0
  441. package/dist/logger/formatters/pretty-formatter.js +42 -0
  442. package/dist/logger/formatters/pretty-formatter.js.map +1 -0
  443. package/dist/logger/index.d.ts +7 -0
  444. package/dist/logger/index.d.ts.map +1 -0
  445. package/dist/logger/index.js +10 -0
  446. package/dist/logger/index.js.map +1 -0
  447. package/dist/logger/logger.tokens.d.ts +29 -0
  448. package/dist/logger/logger.tokens.d.ts.map +1 -0
  449. package/dist/logger/logger.tokens.js +29 -0
  450. package/dist/logger/logger.tokens.js.map +1 -0
  451. package/dist/logger/services/index.d.ts +2 -0
  452. package/dist/logger/services/index.d.ts.map +1 -0
  453. package/dist/logger/services/index.js +2 -0
  454. package/dist/logger/services/index.js.map +1 -0
  455. package/dist/logger/services/logger.service.d.ts +86 -0
  456. package/dist/logger/services/logger.service.d.ts.map +1 -0
  457. package/dist/logger/services/logger.service.js +161 -0
  458. package/dist/logger/services/logger.service.js.map +1 -0
  459. package/dist/logger/transports/base-transport.d.ts +24 -0
  460. package/dist/logger/transports/base-transport.d.ts.map +1 -0
  461. package/dist/logger/transports/base-transport.js +23 -0
  462. package/dist/logger/transports/base-transport.js.map +1 -0
  463. package/dist/logger/transports/console-transport.d.ts +19 -0
  464. package/dist/logger/transports/console-transport.d.ts.map +1 -0
  465. package/dist/logger/transports/console-transport.js +53 -0
  466. package/dist/logger/transports/console-transport.js.map +1 -0
  467. package/dist/logger/transports/index.d.ts +4 -0
  468. package/dist/logger/transports/index.d.ts.map +1 -0
  469. package/dist/logger/transports/index.js +4 -0
  470. package/dist/logger/transports/index.js.map +1 -0
  471. package/dist/logger/transports/transport.interface.d.ts +21 -0
  472. package/dist/logger/transports/transport.interface.d.ts.map +1 -0
  473. package/dist/logger/transports/transport.interface.js +2 -0
  474. package/dist/logger/transports/transport.interface.js.map +1 -0
  475. package/dist/middleware/index.d.ts +24 -0
  476. package/dist/middleware/index.d.ts.map +1 -0
  477. package/dist/middleware/index.js +23 -0
  478. package/dist/middleware/index.js.map +1 -0
  479. package/dist/middleware/middleware-configuration.service.d.ts +64 -0
  480. package/dist/middleware/middleware-configuration.service.d.ts.map +1 -0
  481. package/dist/middleware/middleware-configuration.service.js +210 -0
  482. package/dist/middleware/middleware-configuration.service.js.map +1 -0
  483. package/dist/middleware/middleware-consumer.d.ts +57 -0
  484. package/dist/middleware/middleware-consumer.d.ts.map +1 -0
  485. package/dist/middleware/middleware-consumer.js +130 -0
  486. package/dist/middleware/middleware-consumer.js.map +1 -0
  487. package/dist/middleware/types.d.ts +94 -0
  488. package/dist/middleware/types.d.ts.map +1 -0
  489. package/dist/middleware/types.js +2 -0
  490. package/dist/middleware/types.js.map +1 -0
  491. package/dist/module/errors/index.d.ts +5 -0
  492. package/dist/module/errors/index.d.ts.map +1 -0
  493. package/dist/module/errors/index.js +5 -0
  494. package/dist/module/errors/index.js.map +1 -0
  495. package/dist/module/errors/invalid-module-provider.error.d.ts +11 -0
  496. package/dist/module/errors/invalid-module-provider.error.d.ts.map +1 -0
  497. package/dist/module/errors/invalid-module-provider.error.js +14 -0
  498. package/dist/module/errors/invalid-module-provider.error.js.map +1 -0
  499. package/dist/module/errors/module-already-registered.error.d.ts +11 -0
  500. package/dist/module/errors/module-already-registered.error.d.ts.map +1 -0
  501. package/dist/module/errors/module-already-registered.error.js +14 -0
  502. package/dist/module/errors/module-already-registered.error.js.map +1 -0
  503. package/dist/module/errors/module-circular-dependency.error.d.ts +11 -0
  504. package/dist/module/errors/module-circular-dependency.error.d.ts.map +1 -0
  505. package/dist/module/errors/module-circular-dependency.error.js +15 -0
  506. package/dist/module/errors/module-circular-dependency.error.js.map +1 -0
  507. package/dist/module/errors/module-dependency-not-found.error.d.ts +11 -0
  508. package/dist/module/errors/module-dependency-not-found.error.d.ts.map +1 -0
  509. package/dist/module/errors/module-dependency-not-found.error.js +14 -0
  510. package/dist/module/errors/module-dependency-not-found.error.js.map +1 -0
  511. package/dist/module/index.d.ts +4 -0
  512. package/dist/module/index.d.ts.map +1 -0
  513. package/dist/module/index.js +7 -0
  514. package/dist/module/index.js.map +1 -0
  515. package/dist/module/module-registry.d.ts +101 -0
  516. package/dist/module/module-registry.d.ts.map +1 -0
  517. package/dist/module/module-registry.js +278 -0
  518. package/dist/module/module-registry.js.map +1 -0
  519. package/dist/module/module.decorator.d.ts +34 -0
  520. package/dist/module/module.decorator.d.ts.map +1 -0
  521. package/dist/module/module.decorator.js +107 -0
  522. package/dist/module/module.decorator.js.map +1 -0
  523. package/dist/module/types.d.ts +240 -0
  524. package/dist/module/types.d.ts.map +1 -0
  525. package/dist/module/types.js +8 -0
  526. package/dist/module/types.js.map +1 -0
  527. package/dist/openapi/index.d.ts +5 -0
  528. package/dist/openapi/index.d.ts.map +1 -0
  529. package/dist/openapi/index.js +7 -0
  530. package/dist/openapi/index.js.map +1 -0
  531. package/dist/openapi/openapi.module.d.ts +52 -0
  532. package/dist/openapi/openapi.module.d.ts.map +1 -0
  533. package/dist/openapi/openapi.module.js +110 -0
  534. package/dist/openapi/openapi.module.js.map +1 -0
  535. package/dist/openapi/openapi.tokens.d.ts +12 -0
  536. package/dist/openapi/openapi.tokens.d.ts.map +1 -0
  537. package/dist/openapi/openapi.tokens.js +12 -0
  538. package/dist/openapi/openapi.tokens.js.map +1 -0
  539. package/dist/openapi/services/index.d.ts +3 -0
  540. package/dist/openapi/services/index.d.ts.map +1 -0
  541. package/dist/openapi/services/index.js +3 -0
  542. package/dist/openapi/services/index.js.map +1 -0
  543. package/dist/openapi/services/openapi-config.service.d.ts +43 -0
  544. package/dist/openapi/services/openapi-config.service.d.ts.map +1 -0
  545. package/dist/openapi/services/openapi-config.service.js +98 -0
  546. package/dist/openapi/services/openapi-config.service.js.map +1 -0
  547. package/dist/openapi/services/openapi.service.d.ts +52 -0
  548. package/dist/openapi/services/openapi.service.d.ts.map +1 -0
  549. package/dist/openapi/services/openapi.service.js +228 -0
  550. package/dist/openapi/services/openapi.service.js.map +1 -0
  551. package/dist/openapi/types.d.ts +61 -0
  552. package/dist/openapi/types.d.ts.map +1 -0
  553. package/dist/openapi/types.js +2 -0
  554. package/dist/openapi/types.js.map +1 -0
  555. package/dist/polyfills/dom.polyfill.d.ts +2 -0
  556. package/dist/polyfills/dom.polyfill.d.ts.map +1 -0
  557. package/dist/polyfills/dom.polyfill.js +30 -0
  558. package/dist/polyfills/dom.polyfill.js.map +1 -0
  559. package/dist/polyfills/index.d.ts +8 -0
  560. package/dist/polyfills/index.d.ts.map +1 -0
  561. package/dist/polyfills/index.js +8 -0
  562. package/dist/polyfills/index.js.map +1 -0
  563. package/dist/queue/consumer-registry.d.ts +77 -0
  564. package/dist/queue/consumer-registry.d.ts.map +1 -0
  565. package/dist/queue/consumer-registry.js +110 -0
  566. package/dist/queue/consumer-registry.js.map +1 -0
  567. package/dist/queue/decorators/index.d.ts +2 -0
  568. package/dist/queue/decorators/index.d.ts.map +1 -0
  569. package/dist/queue/decorators/index.js +2 -0
  570. package/dist/queue/decorators/index.js.map +1 -0
  571. package/dist/queue/decorators/inject-queue.decorator.d.ts +31 -0
  572. package/dist/queue/decorators/inject-queue.decorator.d.ts.map +1 -0
  573. package/dist/queue/decorators/inject-queue.decorator.js +33 -0
  574. package/dist/queue/decorators/inject-queue.decorator.js.map +1 -0
  575. package/dist/queue/errors/index.d.ts +3 -0
  576. package/dist/queue/errors/index.d.ts.map +1 -0
  577. package/dist/queue/errors/index.js +3 -0
  578. package/dist/queue/errors/index.js.map +1 -0
  579. package/dist/queue/errors/queue-binding-not-found.error.d.ts +12 -0
  580. package/dist/queue/errors/queue-binding-not-found.error.d.ts.map +1 -0
  581. package/dist/queue/errors/queue-binding-not-found.error.js +15 -0
  582. package/dist/queue/errors/queue-binding-not-found.error.js.map +1 -0
  583. package/dist/queue/errors/queue-provider-not-supported.error.d.ts +13 -0
  584. package/dist/queue/errors/queue-provider-not-supported.error.d.ts.map +1 -0
  585. package/dist/queue/errors/queue-provider-not-supported.error.js +16 -0
  586. package/dist/queue/errors/queue-provider-not-supported.error.js.map +1 -0
  587. package/dist/queue/index.d.ts +14 -0
  588. package/dist/queue/index.d.ts.map +1 -0
  589. package/dist/queue/index.js +21 -0
  590. package/dist/queue/index.js.map +1 -0
  591. package/dist/queue/providers/cloudflare-queue.provider.d.ts +42 -0
  592. package/dist/queue/providers/cloudflare-queue.provider.d.ts.map +1 -0
  593. package/dist/queue/providers/cloudflare-queue.provider.js +73 -0
  594. package/dist/queue/providers/cloudflare-queue.provider.js.map +1 -0
  595. package/dist/queue/providers/index.d.ts +4 -0
  596. package/dist/queue/providers/index.d.ts.map +1 -0
  597. package/dist/queue/providers/index.js +4 -0
  598. package/dist/queue/providers/index.js.map +1 -0
  599. package/dist/queue/providers/queue-provider.interface.d.ts +34 -0
  600. package/dist/queue/providers/queue-provider.interface.d.ts.map +1 -0
  601. package/dist/queue/providers/queue-provider.interface.js +2 -0
  602. package/dist/queue/providers/queue-provider.interface.js.map +1 -0
  603. package/dist/queue/providers/sync-queue.provider.d.ts +48 -0
  604. package/dist/queue/providers/sync-queue.provider.d.ts.map +1 -0
  605. package/dist/queue/providers/sync-queue.provider.js +89 -0
  606. package/dist/queue/providers/sync-queue.provider.js.map +1 -0
  607. package/dist/queue/queue-consumer.d.ts +64 -0
  608. package/dist/queue/queue-consumer.d.ts.map +1 -0
  609. package/dist/queue/queue-consumer.js +2 -0
  610. package/dist/queue/queue-consumer.js.map +1 -0
  611. package/dist/queue/queue-manager.d.ts +36 -0
  612. package/dist/queue/queue-manager.d.ts.map +1 -0
  613. package/dist/queue/queue-manager.js +80 -0
  614. package/dist/queue/queue-manager.js.map +1 -0
  615. package/dist/queue/queue-name.d.ts +50 -0
  616. package/dist/queue/queue-name.d.ts.map +1 -0
  617. package/dist/queue/queue-name.js +21 -0
  618. package/dist/queue/queue-name.js.map +1 -0
  619. package/dist/queue/queue-registry.d.ts +46 -0
  620. package/dist/queue/queue-registry.d.ts.map +1 -0
  621. package/dist/queue/queue-registry.js +78 -0
  622. package/dist/queue/queue-registry.js.map +1 -0
  623. package/dist/queue/queue-sender.d.ts +38 -0
  624. package/dist/queue/queue-sender.d.ts.map +1 -0
  625. package/dist/queue/queue-sender.interface.d.ts +46 -0
  626. package/dist/queue/queue-sender.interface.d.ts.map +1 -0
  627. package/dist/queue/queue-sender.interface.js +2 -0
  628. package/dist/queue/queue-sender.interface.js.map +1 -0
  629. package/dist/queue/queue-sender.js +54 -0
  630. package/dist/queue/queue-sender.js.map +1 -0
  631. package/dist/queue/queue.module.d.ts +80 -0
  632. package/dist/queue/queue.module.d.ts.map +1 -0
  633. package/dist/queue/queue.module.js +113 -0
  634. package/dist/queue/queue.module.js.map +1 -0
  635. package/dist/queue/queue.tokens.d.ts +7 -0
  636. package/dist/queue/queue.tokens.d.ts.map +1 -0
  637. package/dist/queue/queue.tokens.js +6 -0
  638. package/dist/queue/queue.tokens.js.map +1 -0
  639. package/dist/queue/services/index.d.ts +2 -0
  640. package/dist/queue/services/index.d.ts.map +1 -0
  641. package/dist/queue/services/index.js +2 -0
  642. package/dist/queue/services/index.js.map +1 -0
  643. package/dist/queue/services/queue-provider-factory.d.ts +41 -0
  644. package/dist/queue/services/queue-provider-factory.d.ts.map +1 -0
  645. package/dist/queue/services/queue-provider-factory.js +78 -0
  646. package/dist/queue/services/queue-provider-factory.js.map +1 -0
  647. package/dist/router/constants.d.ts +72 -0
  648. package/dist/router/constants.d.ts.map +1 -0
  649. package/dist/router/constants.js +54 -0
  650. package/dist/router/constants.js.map +1 -0
  651. package/dist/router/controller.d.ts +56 -0
  652. package/dist/router/controller.d.ts.map +1 -0
  653. package/dist/router/controller.js +2 -0
  654. package/dist/router/controller.js.map +1 -0
  655. package/dist/router/decorators/controller.decorator.d.ts +55 -0
  656. package/dist/router/decorators/controller.decorator.d.ts.map +1 -0
  657. package/dist/router/decorators/controller.decorator.js +76 -0
  658. package/dist/router/decorators/controller.decorator.js.map +1 -0
  659. package/dist/router/decorators/index.d.ts +3 -0
  660. package/dist/router/decorators/index.d.ts.map +1 -0
  661. package/dist/router/decorators/index.js +7 -0
  662. package/dist/router/decorators/index.js.map +1 -0
  663. package/dist/router/decorators/route.decorator.d.ts +87 -0
  664. package/dist/router/decorators/route.decorator.d.ts.map +1 -0
  665. package/dist/router/decorators/route.decorator.js +99 -0
  666. package/dist/router/decorators/route.decorator.js.map +1 -0
  667. package/dist/router/errors/controller-method-not-found.error.d.ts +11 -0
  668. package/dist/router/errors/controller-method-not-found.error.d.ts.map +1 -0
  669. package/dist/router/errors/controller-method-not-found.error.js +14 -0
  670. package/dist/router/errors/controller-method-not-found.error.js.map +1 -0
  671. package/dist/router/errors/controller-registration.error.d.ts +15 -0
  672. package/dist/router/errors/controller-registration.error.d.ts.map +1 -0
  673. package/dist/router/errors/controller-registration.error.js +21 -0
  674. package/dist/router/errors/controller-registration.error.js.map +1 -0
  675. package/dist/router/errors/index.d.ts +9 -0
  676. package/dist/router/errors/index.d.ts.map +1 -0
  677. package/dist/router/errors/index.js +11 -0
  678. package/dist/router/errors/index.js.map +1 -0
  679. package/dist/router/errors/openapi-route-registration.error.d.ts +17 -0
  680. package/dist/router/errors/openapi-route-registration.error.d.ts.map +1 -0
  681. package/dist/router/errors/openapi-route-registration.error.js +20 -0
  682. package/dist/router/errors/openapi-route-registration.error.js.map +1 -0
  683. package/dist/router/errors/openapi-validation.error.d.ts +19 -0
  684. package/dist/router/errors/openapi-validation.error.d.ts.map +1 -0
  685. package/dist/router/errors/openapi-validation.error.js +22 -0
  686. package/dist/router/errors/openapi-validation.error.js.map +1 -0
  687. package/dist/router/errors/route-not-found.error.d.ts +11 -0
  688. package/dist/router/errors/route-not-found.error.d.ts.map +1 -0
  689. package/dist/router/errors/route-not-found.error.js +14 -0
  690. package/dist/router/errors/route-not-found.error.js.map +1 -0
  691. package/dist/router/errors/router-already-configured.error.d.ts +5 -0
  692. package/dist/router/errors/router-already-configured.error.d.ts.map +1 -0
  693. package/dist/router/errors/router-already-configured.error.js +8 -0
  694. package/dist/router/errors/router-already-configured.error.js.map +1 -0
  695. package/dist/router/errors/router-not-configured.error.d.ts +5 -0
  696. package/dist/router/errors/router-not-configured.error.d.ts.map +1 -0
  697. package/dist/router/errors/router-not-configured.error.js +8 -0
  698. package/dist/router/errors/router-not-configured.error.js.map +1 -0
  699. package/dist/router/errors/schema-validation.error.d.ts +11 -0
  700. package/dist/router/errors/schema-validation.error.d.ts.map +1 -0
  701. package/dist/router/errors/schema-validation.error.js +18 -0
  702. package/dist/router/errors/schema-validation.error.js.map +1 -0
  703. package/dist/router/index.d.ts +13 -0
  704. package/dist/router/index.d.ts.map +1 -0
  705. package/dist/router/index.js +18 -0
  706. package/dist/router/index.js.map +1 -0
  707. package/dist/router/middleware/index.d.ts +2 -0
  708. package/dist/router/middleware/index.d.ts.map +1 -0
  709. package/dist/router/middleware/index.js +4 -0
  710. package/dist/router/middleware/index.js.map +1 -0
  711. package/dist/router/middleware/logger.middleware.d.ts +19 -0
  712. package/dist/router/middleware/logger.middleware.d.ts.map +1 -0
  713. package/dist/router/middleware/logger.middleware.js +32 -0
  714. package/dist/router/middleware/logger.middleware.js.map +1 -0
  715. package/dist/router/middleware.interface.d.ts +38 -0
  716. package/dist/router/middleware.interface.d.ts.map +1 -0
  717. package/dist/router/middleware.interface.js +2 -0
  718. package/dist/router/middleware.interface.js.map +1 -0
  719. package/dist/router/router-context.d.ts +117 -0
  720. package/dist/router/router-context.d.ts.map +1 -0
  721. package/dist/router/router-context.js +145 -0
  722. package/dist/router/router-context.js.map +1 -0
  723. package/dist/router/router.service.d.ts +62 -0
  724. package/dist/router/router.service.d.ts.map +1 -0
  725. package/dist/router/router.service.js +166 -0
  726. package/dist/router/router.service.js.map +1 -0
  727. package/dist/router/router.tokens.d.ts +39 -0
  728. package/dist/router/router.tokens.d.ts.map +1 -0
  729. package/dist/router/router.tokens.js +39 -0
  730. package/dist/router/router.tokens.js.map +1 -0
  731. package/dist/router/schemas/common.schemas.d.ts +148 -0
  732. package/dist/router/schemas/common.schemas.d.ts.map +1 -0
  733. package/dist/router/schemas/common.schemas.js +88 -0
  734. package/dist/router/schemas/common.schemas.js.map +1 -0
  735. package/dist/router/schemas/index.d.ts +2 -0
  736. package/dist/router/schemas/index.d.ts.map +1 -0
  737. package/dist/router/schemas/index.js +2 -0
  738. package/dist/router/schemas/index.js.map +1 -0
  739. package/dist/router/services/index.d.ts +7 -0
  740. package/dist/router/services/index.d.ts.map +1 -0
  741. package/dist/router/services/index.js +7 -0
  742. package/dist/router/services/index.js.map +1 -0
  743. package/dist/router/services/request-scope.service.d.ts +44 -0
  744. package/dist/router/services/request-scope.service.d.ts.map +1 -0
  745. package/dist/router/services/request-scope.service.js +78 -0
  746. package/dist/router/services/request-scope.service.js.map +1 -0
  747. package/dist/router/services/route-registration.service.d.ts +94 -0
  748. package/dist/router/services/route-registration.service.d.ts.map +1 -0
  749. package/dist/router/services/route-registration.service.js +451 -0
  750. package/dist/router/services/route-registration.service.js.map +1 -0
  751. package/dist/router/types.d.ts +130 -0
  752. package/dist/router/types.d.ts.map +1 -0
  753. package/dist/router/types.js +2 -0
  754. package/dist/router/types.js.map +1 -0
  755. package/dist/storage/contracts/delete-file.input.d.ts +7 -0
  756. package/dist/storage/contracts/delete-file.input.d.ts.map +1 -0
  757. package/dist/storage/contracts/delete-file.input.js +6 -0
  758. package/dist/storage/contracts/delete-file.input.js.map +1 -0
  759. package/dist/storage/contracts/download-result.d.ts +28 -0
  760. package/dist/storage/contracts/download-result.d.ts.map +1 -0
  761. package/dist/storage/contracts/download-result.js +2 -0
  762. package/dist/storage/contracts/download-result.js.map +1 -0
  763. package/dist/storage/contracts/file-exists.input.d.ts +7 -0
  764. package/dist/storage/contracts/file-exists.input.d.ts.map +1 -0
  765. package/dist/storage/contracts/file-exists.input.js +6 -0
  766. package/dist/storage/contracts/file-exists.input.js.map +1 -0
  767. package/dist/storage/contracts/get-presigned-url.input.d.ts +26 -0
  768. package/dist/storage/contracts/get-presigned-url.input.d.ts.map +1 -0
  769. package/dist/storage/contracts/get-presigned-url.input.js +14 -0
  770. package/dist/storage/contracts/get-presigned-url.input.js.map +1 -0
  771. package/dist/storage/contracts/index.d.ts +6 -0
  772. package/dist/storage/contracts/index.d.ts.map +1 -0
  773. package/dist/storage/contracts/index.js +6 -0
  774. package/dist/storage/contracts/index.js.map +1 -0
  775. package/dist/storage/contracts/upload-file.input.d.ts +34 -0
  776. package/dist/storage/contracts/upload-file.input.d.ts.map +1 -0
  777. package/dist/storage/contracts/upload-file.input.js +10 -0
  778. package/dist/storage/contracts/upload-file.input.js.map +1 -0
  779. package/dist/storage/errors/disk-not-configured.error.d.ts +5 -0
  780. package/dist/storage/errors/disk-not-configured.error.d.ts.map +1 -0
  781. package/dist/storage/errors/disk-not-configured.error.js +7 -0
  782. package/dist/storage/errors/disk-not-configured.error.js.map +1 -0
  783. package/dist/storage/errors/file-not-found.error.d.ts +5 -0
  784. package/dist/storage/errors/file-not-found.error.d.ts.map +1 -0
  785. package/dist/storage/errors/file-not-found.error.js +8 -0
  786. package/dist/storage/errors/file-not-found.error.js.map +1 -0
  787. package/dist/storage/errors/file-too-large.error.d.ts +5 -0
  788. package/dist/storage/errors/file-too-large.error.d.ts.map +1 -0
  789. package/dist/storage/errors/file-too-large.error.js +11 -0
  790. package/dist/storage/errors/file-too-large.error.js.map +1 -0
  791. package/dist/storage/errors/index.d.ts +9 -0
  792. package/dist/storage/errors/index.d.ts.map +1 -0
  793. package/dist/storage/errors/index.js +9 -0
  794. package/dist/storage/errors/index.js.map +1 -0
  795. package/dist/storage/errors/invalid-disk.error.d.ts +5 -0
  796. package/dist/storage/errors/invalid-disk.error.d.ts.map +1 -0
  797. package/dist/storage/errors/invalid-disk.error.js +8 -0
  798. package/dist/storage/errors/invalid-disk.error.js.map +1 -0
  799. package/dist/storage/errors/invalid-file-type.error.d.ts +5 -0
  800. package/dist/storage/errors/invalid-file-type.error.d.ts.map +1 -0
  801. package/dist/storage/errors/invalid-file-type.error.js +10 -0
  802. package/dist/storage/errors/invalid-file-type.error.js.map +1 -0
  803. package/dist/storage/errors/presigned-url-invalid-expiry.error.d.ts +5 -0
  804. package/dist/storage/errors/presigned-url-invalid-expiry.error.d.ts.map +1 -0
  805. package/dist/storage/errors/presigned-url-invalid-expiry.error.js +12 -0
  806. package/dist/storage/errors/presigned-url-invalid-expiry.error.js.map +1 -0
  807. package/dist/storage/errors/storage-provider-not-supported.error.d.ts +5 -0
  808. package/dist/storage/errors/storage-provider-not-supported.error.d.ts.map +1 -0
  809. package/dist/storage/errors/storage-provider-not-supported.error.js +8 -0
  810. package/dist/storage/errors/storage-provider-not-supported.error.js.map +1 -0
  811. package/dist/storage/errors/storage-response-body-missing.error.d.ts +5 -0
  812. package/dist/storage/errors/storage-response-body-missing.error.d.ts.map +1 -0
  813. package/dist/storage/errors/storage-response-body-missing.error.js +8 -0
  814. package/dist/storage/errors/storage-response-body-missing.error.js.map +1 -0
  815. package/dist/storage/index.d.ts +15 -0
  816. package/dist/storage/index.d.ts.map +1 -0
  817. package/dist/storage/index.js +18 -0
  818. package/dist/storage/index.js.map +1 -0
  819. package/dist/storage/providers/s3-multipart-provider.interface.d.ts +194 -0
  820. package/dist/storage/providers/s3-multipart-provider.interface.d.ts.map +1 -0
  821. package/dist/storage/providers/s3-multipart-provider.interface.js +2 -0
  822. package/dist/storage/providers/s3-multipart-provider.interface.js.map +1 -0
  823. package/dist/storage/providers/s3-storage.provider.d.ts +77 -0
  824. package/dist/storage/providers/s3-storage.provider.d.ts.map +1 -0
  825. package/dist/storage/providers/s3-storage.provider.js +310 -0
  826. package/dist/storage/providers/s3-storage.provider.js.map +1 -0
  827. package/dist/storage/providers/storage-provider.interface.d.ts +58 -0
  828. package/dist/storage/providers/storage-provider.interface.d.ts.map +1 -0
  829. package/dist/storage/providers/storage-provider.interface.js +2 -0
  830. package/dist/storage/providers/storage-provider.interface.js.map +1 -0
  831. package/dist/storage/services/storage-manager.service.d.ts +48 -0
  832. package/dist/storage/services/storage-manager.service.d.ts.map +1 -0
  833. package/dist/storage/services/storage-manager.service.js +111 -0
  834. package/dist/storage/services/storage-manager.service.js.map +1 -0
  835. package/dist/storage/services/storage.service.d.ts +140 -0
  836. package/dist/storage/services/storage.service.d.ts.map +1 -0
  837. package/dist/storage/services/storage.service.js +232 -0
  838. package/dist/storage/services/storage.service.js.map +1 -0
  839. package/dist/storage/storage.module.d.ts +52 -0
  840. package/dist/storage/storage.module.d.ts.map +1 -0
  841. package/dist/storage/storage.module.js +81 -0
  842. package/dist/storage/storage.module.js.map +1 -0
  843. package/dist/storage/storage.tokens.d.ts +10 -0
  844. package/dist/storage/storage.tokens.d.ts.map +1 -0
  845. package/dist/storage/storage.tokens.js +10 -0
  846. package/dist/storage/storage.tokens.js.map +1 -0
  847. package/dist/storage/types.d.ts +31 -0
  848. package/dist/storage/types.d.ts.map +1 -0
  849. package/dist/storage/types.js +2 -0
  850. package/dist/storage/types.js.map +1 -0
  851. package/dist/types.d.ts +16 -0
  852. package/dist/types.d.ts.map +1 -0
  853. package/dist/types.js +2 -0
  854. package/dist/types.js.map +1 -0
  855. package/dist/worker/index.d.ts +2 -0
  856. package/dist/worker/index.d.ts.map +1 -0
  857. package/dist/worker/index.js +2 -0
  858. package/dist/worker/index.js.map +1 -0
  859. package/dist/worker/module-worker.d.ts +48 -0
  860. package/dist/worker/module-worker.d.ts.map +1 -0
  861. package/dist/worker/module-worker.js +88 -0
  862. package/dist/worker/module-worker.js.map +1 -0
  863. package/dist/worker/stratal-worker.d.ts +48 -0
  864. package/dist/worker/stratal-worker.d.ts.map +1 -0
  865. package/dist/worker/stratal-worker.js +88 -0
  866. package/dist/worker/stratal-worker.js.map +1 -0
  867. package/package.json +148 -0
@@ -0,0 +1,451 @@
1
+ import { getMethodInjections } from '../../di';
2
+ import { getControllerGuards, getMethodGuards, GuardExecutionService, } from '../../guards';
3
+ import { createRoute } from '../../i18n/validation';
4
+ import { HTTP_METHODS, METHOD_STATUS_CODES, SECURITY_SCHEMES } from '../constants';
5
+ import { getControllerOptions, getControllerRoute, getDecoratedMethods, getRouteConfig } from '../decorators';
6
+ import { ControllerMethodNotFoundError, ControllerRegistrationError, OpenAPIRouteRegistrationError, } from '../errors';
7
+ import { RouterContext } from '../router-context';
8
+ import { commonErrorSchemas } from '../schemas/common.schemas';
9
+ /**
10
+ * Route registration service
11
+ * Manages controller and route registration with OpenAPI support
12
+ *
13
+ * Responsibilities:
14
+ * - Register RESTful controllers with OpenAPI metadata
15
+ * - Auto-derive HTTP methods/paths from controller method names
16
+ * - Build OpenAPI route configurations with guard execution
17
+ * - Validate all controllers have access decorators (strict mode)
18
+ * - Create controller handlers with DI resolution
19
+ */
20
+ export class RouteRegistrationService {
21
+ logger;
22
+ controllerClasses = new Map();
23
+ constructor(logger) {
24
+ this.logger = logger;
25
+ }
26
+ /**
27
+ * Configure router with controllers
28
+ *
29
+ * @param app - OpenAPIHono application instance
30
+ * @param controllers - Array of controller classes from modules
31
+ */
32
+ configure(app, controllers) {
33
+ this.logger.info('Registering controllers', {
34
+ controllerCount: controllers.length,
35
+ });
36
+ // Sort controllers: specific routes first, wildcard handlers last
37
+ // This ensures more specific routes are matched before catch-all wildcards
38
+ // (e.g., /api/v1/auth/magic-link matches before /api/v1/auth/:path{.+})
39
+ const sortedControllers = [...controllers].sort((a, b) => {
40
+ const aHasHandle = 'handle' in a.prototype;
41
+ const bHasHandle = 'handle' in b.prototype;
42
+ if (aHasHandle && !bHasHandle)
43
+ return 1; // a goes after b
44
+ if (!aHasHandle && bHasHandle)
45
+ return -1; // a goes before b
46
+ return 0; // maintain relative order
47
+ });
48
+ // Register controllers
49
+ for (const ControllerClass of sortedControllers) {
50
+ this.registerController(app, ControllerClass);
51
+ }
52
+ this.logger.info('Controller registration complete');
53
+ }
54
+ /**
55
+ * Register a single controller with all its routes
56
+ * Validates that controller has access decorator (strict mode)
57
+ */
58
+ registerController(app, ControllerClass) {
59
+ const route = getControllerRoute(ControllerClass);
60
+ if (!route) {
61
+ throw new ControllerRegistrationError(ControllerClass.name, 'Missing @Controller decorator or route metadata');
62
+ }
63
+ const className = ControllerClass.name;
64
+ this.controllerClasses.set(className, ControllerClass);
65
+ const prototype = ControllerClass.prototype;
66
+ const controllerOpts = getControllerOptions(ControllerClass);
67
+ // Handle wildcard routes (non-RESTful controllers)
68
+ if (prototype.handle) {
69
+ this.registerWildcardRoute(app, ControllerClass, route);
70
+ return;
71
+ }
72
+ // Check for OpenAPI decorated methods
73
+ const decoratedMethods = getDecoratedMethods(ControllerClass);
74
+ if (decoratedMethods.length > 0) {
75
+ // Register OpenAPI routes
76
+ this.registerOpenAPIRoutes(app, ControllerClass, route, decoratedMethods, controllerOpts);
77
+ }
78
+ else {
79
+ // Fallback to traditional RESTful method registration (no OpenAPI)
80
+ this.registerRESTfulRoutes(app, ControllerClass, route, prototype);
81
+ }
82
+ }
83
+ /**
84
+ * Create a guard execution middleware
85
+ *
86
+ * This middleware executes all guards for a route before the handler.
87
+ * Guards are executed in order; all must pass for the request to proceed.
88
+ *
89
+ * @param guards - Array of guards to execute
90
+ * @returns Hono middleware function
91
+ */
92
+ createGuardMiddleware(guards) {
93
+ const guardService = new GuardExecutionService(this.logger);
94
+ return async (c, next) => {
95
+ const ctx = new RouterContext(c);
96
+ const container = ctx.getContainer();
97
+ // Execute all guards - throws on failure
98
+ await guardService.executeGuards(guards, ctx, container);
99
+ // All guards passed, continue to handler
100
+ await next();
101
+ };
102
+ }
103
+ /**
104
+ * Register wildcard route for non-RESTful controllers
105
+ */
106
+ registerWildcardRoute(app, ControllerClass, route) {
107
+ this.logger.info(`Registering wildcard route`, {
108
+ controller: ControllerClass.name,
109
+ route: `${route}/:path{.+}`,
110
+ method: 'ALL',
111
+ });
112
+ const handler = this.createControllerHandler(ControllerClass, 'handle');
113
+ // Match base route exactly
114
+ app.all(route, handler);
115
+ // Match all sub-paths using named regex wildcard
116
+ app.all(`${route}/:path{.+}`, handler);
117
+ }
118
+ /**
119
+ * Register OpenAPI routes with metadata
120
+ */
121
+ registerOpenAPIRoutes(app, ControllerClass, route, decoratedMethods, controllerOpts) {
122
+ const className = ControllerClass.name;
123
+ const prototype = ControllerClass.prototype;
124
+ // Check if entire controller is hidden from docs
125
+ const controllerHidden = controllerOpts?.hideFromDocs ?? false;
126
+ // Collect controller-level guards
127
+ const controllerGuards = getControllerGuards(ControllerClass)?.guards ?? [];
128
+ for (const methodName of decoratedMethods) {
129
+ const routeConfig = getRouteConfig(prototype, methodName);
130
+ if (!routeConfig)
131
+ continue;
132
+ const derived = this.deriveHttpMethodAndPath(methodName, route);
133
+ if (!derived) {
134
+ this.logger.warn(`Cannot derive HTTP method/path for ${className}.${methodName}`);
135
+ continue;
136
+ }
137
+ // Check if route is hidden (route-level overrides controller-level)
138
+ const hideFromDocs = routeConfig.hideFromDocs ?? controllerHidden;
139
+ if (hideFromDocs) {
140
+ // Register route handler without OpenAPI metadata
141
+ this.logger.info(`Registering hidden route (no OpenAPI)`, {
142
+ controller: className,
143
+ method: derived.method.toUpperCase(),
144
+ path: derived.path,
145
+ methodName,
146
+ });
147
+ this.registerRouteWithoutOpenAPI(app, ControllerClass, methodName, derived);
148
+ continue;
149
+ }
150
+ // Collect method-level guards
151
+ const methodGuards = getMethodGuards(prototype, methodName)?.guards ?? [];
152
+ // Combine controller and method guards
153
+ // Controller guards run first, then method guards
154
+ const allGuards = [...controllerGuards, ...methodGuards];
155
+ if (allGuards.length > 0) {
156
+ this.logger.info(`Route guards`, {
157
+ controller: className,
158
+ method: derived.method.toUpperCase(),
159
+ path: derived.path,
160
+ methodName,
161
+ guardCount: allGuards.length,
162
+ });
163
+ }
164
+ // Build and register OpenAPI route
165
+ const metadata = this.mergeMetadata(controllerOpts, routeConfig, ControllerClass, methodName);
166
+ const openApiRoute = this.buildOpenAPIRoute(derived.method, derived.path, routeConfig, metadata, allGuards, methodName);
167
+ this.logger.info(`Registering OpenAPI route`, {
168
+ controller: className,
169
+ method: derived.method.toUpperCase(),
170
+ path: derived.path,
171
+ methodName,
172
+ tags: metadata.tags,
173
+ });
174
+ // Register OpenAPI route with handler
175
+ app.openapi(openApiRoute, async (c) => {
176
+ const ctx = new RouterContext(c);
177
+ const requestContainer = ctx.getContainer();
178
+ const controller = requestContainer.resolve(ControllerClass);
179
+ const method = controller[methodName];
180
+ if (typeof method === 'function') {
181
+ const injectedArgs = this.resolveMethodInjections(prototype, methodName, requestContainer);
182
+ return await method.call(controller, ctx, ...injectedArgs);
183
+ }
184
+ throw new ControllerMethodNotFoundError(methodName, className);
185
+ });
186
+ }
187
+ }
188
+ /**
189
+ * Register route without OpenAPI metadata (for hidden routes)
190
+ * Route is functional but won't appear in documentation
191
+ */
192
+ registerRouteWithoutOpenAPI(app, ControllerClass, methodName, derived) {
193
+ // Create handler function
194
+ const prototype = ControllerClass.prototype;
195
+ const handler = async (c) => {
196
+ const ctx = new RouterContext(c);
197
+ const requestContainer = ctx.getContainer();
198
+ const controller = requestContainer.resolve(ControllerClass);
199
+ const method = controller[methodName];
200
+ if (typeof method === 'function') {
201
+ const injectedArgs = this.resolveMethodInjections(prototype, methodName, requestContainer);
202
+ return await method.call(controller, ctx, ...injectedArgs);
203
+ }
204
+ throw new ControllerMethodNotFoundError(methodName, ControllerClass.name);
205
+ };
206
+ // Register route handler without OpenAPI metadata using type-safe method dispatch
207
+ // Note: Only common HTTP methods (get, post, put, patch, delete) are supported
208
+ // For other methods, we fall back to all() which accepts any HTTP method
209
+ switch (derived.method) {
210
+ case 'get':
211
+ app.get(derived.path, handler);
212
+ break;
213
+ case 'post':
214
+ app.post(derived.path, handler);
215
+ break;
216
+ case 'put':
217
+ app.put(derived.path, handler);
218
+ break;
219
+ case 'patch':
220
+ app.patch(derived.path, handler);
221
+ break;
222
+ case 'delete':
223
+ app.delete(derived.path, handler);
224
+ break;
225
+ default:
226
+ // For head, options, trace, or any other method, use all()
227
+ app.all(derived.path, handler);
228
+ break;
229
+ }
230
+ }
231
+ /**
232
+ * Register traditional RESTful routes without OpenAPI
233
+ */
234
+ registerRESTfulRoutes(app, ControllerClass, route, prototype) {
235
+ if (prototype.index) {
236
+ app.get(route, this.createControllerHandler(ControllerClass, 'index'));
237
+ }
238
+ if (prototype.show) {
239
+ app.get(`${route}/:id`, this.createControllerHandler(ControllerClass, 'show'));
240
+ }
241
+ if (prototype.create) {
242
+ app.post(route, this.createControllerHandler(ControllerClass, 'create'));
243
+ }
244
+ if (prototype.update) {
245
+ app.put(`${route}/:id`, this.createControllerHandler(ControllerClass, 'update'));
246
+ }
247
+ if (prototype.patch) {
248
+ app.patch(`${route}/:id`, this.createControllerHandler(ControllerClass, 'patch'));
249
+ }
250
+ if (prototype.destroy) {
251
+ app.delete(`${route}/:id`, this.createControllerHandler(ControllerClass, 'destroy'));
252
+ }
253
+ }
254
+ /**
255
+ * Auto-derive HTTP method and path from controller method name
256
+ * Uses HTTP_METHODS constant for RESTful convention mapping
257
+ */
258
+ deriveHttpMethodAndPath(methodName, basePath) {
259
+ if (!(methodName in HTTP_METHODS))
260
+ return null;
261
+ const mapping = HTTP_METHODS[methodName];
262
+ return {
263
+ method: mapping.method,
264
+ path: basePath + mapping.path,
265
+ };
266
+ }
267
+ /**
268
+ * Merge controller-level and route-level metadata
269
+ * Tags are merged (appended), security is merged (union)
270
+ * Guards automatically add sessionCookie security if present
271
+ */
272
+ mergeMetadata(controllerOpts, routeConfig, ControllerClass, methodName) {
273
+ const tags = [...(controllerOpts?.tags ?? []), ...(routeConfig.tags ?? [])];
274
+ // Check if guards are present (indicates authentication is required)
275
+ const prototype = ControllerClass.prototype;
276
+ const hasMethodGuards = (getMethodGuards(prototype, methodName)?.guards.length ?? 0) > 0;
277
+ const hasControllerGuards = (getControllerGuards(ControllerClass)?.guards.length ?? 0) > 0;
278
+ const requiresAuth = hasMethodGuards || hasControllerGuards;
279
+ // Merge security: if route explicitly sets security (even empty array), use it
280
+ // Otherwise inherit from controller
281
+ let security = [];
282
+ if (routeConfig.security !== undefined) {
283
+ // Route has explicit security (could be empty for public routes)
284
+ security = [...(controllerOpts?.security ?? []), ...routeConfig.security];
285
+ }
286
+ else if (controllerOpts?.security) {
287
+ // Inherit controller security
288
+ security = controllerOpts.security;
289
+ }
290
+ // Auto-add sessionCookie security if guards are present
291
+ if (requiresAuth && !security.includes(SECURITY_SCHEMES.SESSION_COOKIE)) {
292
+ security.push(SECURITY_SCHEMES.SESSION_COOKIE);
293
+ }
294
+ // Convert security array to OpenAPI security format
295
+ const securityArray = security.length > 0
296
+ ? (security.map((scheme) => ({ [scheme]: [] })))
297
+ : [];
298
+ return { tags, security: securityArray };
299
+ }
300
+ /**
301
+ * Build OpenAPI route configuration from metadata
302
+ * Creates a route definition compatible with @hono/zod-openapi
303
+ * Includes guard execution for proper access control
304
+ *
305
+ * Execution order: Global middlewares → Guards → Handler
306
+ */
307
+ buildOpenAPIRoute(method, path, routeConfig, metadata, guards, methodName) {
308
+ try {
309
+ const route = {
310
+ method,
311
+ path,
312
+ request: {},
313
+ responses: {},
314
+ };
315
+ // Add guard execution middleware using Hono's built-in middleware property
316
+ if (guards.length > 0) {
317
+ route.middleware = [this.createGuardMiddleware(guards)];
318
+ }
319
+ // Add request body if defined
320
+ if (routeConfig.body) {
321
+ route.request = {
322
+ ...route.request,
323
+ body: {
324
+ content: {
325
+ 'application/json': {
326
+ schema: routeConfig.body,
327
+ },
328
+ },
329
+ },
330
+ };
331
+ }
332
+ // Add query parameters if defined
333
+ if (routeConfig.query) {
334
+ route.request = {
335
+ ...route.request,
336
+ query: routeConfig.query,
337
+ };
338
+ }
339
+ // Add URL parameters if defined
340
+ if (routeConfig.params) {
341
+ route.request = {
342
+ ...route.request,
343
+ params: routeConfig.params,
344
+ };
345
+ }
346
+ // Derive success status code from method name
347
+ const successStatus = (methodName && METHOD_STATUS_CODES[methodName]) ?? 200;
348
+ // Build responses object with auto-derived status
349
+ const responses = {};
350
+ // Add success response with derived status code
351
+ const responseDef = routeConfig.response;
352
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- response may be undefined at runtime
353
+ if (responseDef) {
354
+ if (typeof responseDef === 'object' && 'schema' in responseDef) {
355
+ responses[successStatus] = {
356
+ content: {
357
+ 'application/json': { schema: responseDef.schema },
358
+ },
359
+ description: responseDef.description ?? `Response ${successStatus}`,
360
+ };
361
+ }
362
+ else {
363
+ responses[successStatus] = {
364
+ content: {
365
+ 'application/json': { schema: responseDef },
366
+ },
367
+ description: `Response ${successStatus}`,
368
+ };
369
+ }
370
+ }
371
+ // Auto-merge common error schemas (400, 401, 403, 404, 409, 500)
372
+ // Controllers only need to define success response; error responses are added automatically
373
+ for (const [statusStr, schema] of Object.entries(commonErrorSchemas)) {
374
+ const status = parseInt(statusStr);
375
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- defensive: avoid overwriting success response status
376
+ responses[status] ??= schema;
377
+ }
378
+ route.responses = responses;
379
+ // Add tags if provided
380
+ if (metadata.tags.length > 0) {
381
+ route.tags = metadata.tags;
382
+ }
383
+ // Add security if provided
384
+ if (metadata.security.length > 0) {
385
+ route.security = metadata.security;
386
+ }
387
+ // Add description and summary
388
+ if (routeConfig.description) {
389
+ route.description = routeConfig.description;
390
+ }
391
+ if (routeConfig.summary) {
392
+ route.summary = routeConfig.summary;
393
+ }
394
+ return createRoute(route);
395
+ }
396
+ catch (error) {
397
+ throw new OpenAPIRouteRegistrationError(path, error instanceof Error ? error.message : String(error));
398
+ }
399
+ }
400
+ /**
401
+ * Resolve method parameter injections from the container
402
+ *
403
+ * @param prototype - Controller prototype
404
+ * @param methodName - Method name to get injections for
405
+ * @param container - Request-scoped container
406
+ * @returns Array of resolved dependencies in parameter order
407
+ */
408
+ resolveMethodInjections(prototype, methodName, container) {
409
+ const injections = getMethodInjections(prototype, methodName);
410
+ if (!injections.length)
411
+ return [];
412
+ return injections.map((inj) => container.resolve(inj.token));
413
+ }
414
+ /**
415
+ * Create controller handler that resolves controller from request-scoped container
416
+ * This ensures each request gets a fresh controller with request-scoped context
417
+ */
418
+ createControllerHandler(ControllerClass, methodName) {
419
+ return async (c) => {
420
+ this.logger.info('Handler invoked', {
421
+ path: c.req.path,
422
+ method: c.req.method,
423
+ controller: ControllerClass.name,
424
+ methodName: methodName,
425
+ });
426
+ try {
427
+ const ctx = new RouterContext(c);
428
+ const requestContainer = ctx.getContainer();
429
+ // Resolve controller from request-scoped container
430
+ // Controller will get request-scoped TenancyContext via DI
431
+ const controller = requestContainer.resolve(ControllerClass);
432
+ const method = controller[methodName];
433
+ if (typeof method === 'function') {
434
+ const injectedArgs = this.resolveMethodInjections(ControllerClass.prototype, methodName, requestContainer);
435
+ return await method.apply(controller, [ctx, ...injectedArgs]);
436
+ }
437
+ throw new ControllerMethodNotFoundError(methodName, ControllerClass.name);
438
+ }
439
+ catch (error) {
440
+ this.logger.error('Error in controller handler', {
441
+ controller: ControllerClass.name,
442
+ methodName: methodName,
443
+ error: error instanceof Error ? error.message : String(error),
444
+ stack: error instanceof Error ? error.stack : undefined,
445
+ });
446
+ throw error;
447
+ }
448
+ };
449
+ }
450
+ }
451
+ //# sourceMappingURL=route-registration.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-registration.service.js","sourceRoot":"","sources":["../../../src/router/services/route-registration.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ import type { ZodObject, ZodPipe, ZodType, RouteConfig as OpenAPIRouteConfig } from '../i18n/validation';
2
+ import { type StratalEnv } from '../env';
3
+ import type { Container } from '../di';
4
+ import { type HTTP_METHODS, type ROUTER_CONTEXT_KEYS, type SECURITY_SCHEMES } from './constants';
5
+ /**
6
+ * Route parameter type for OpenAPI
7
+ * ZodObject or ZodPipe (piped validation)
8
+ */
9
+ type ZodObjectWithEffect = ZodObject<any> | ZodPipe<any, any>;
10
+ type RouteParameter = ZodObjectWithEffect | undefined;
11
+ /**
12
+ * Hono context variables with type-safe keys
13
+ */
14
+ export interface RouterVariables {
15
+ [ROUTER_CONTEXT_KEYS.REQUEST_CONTAINER]: Container;
16
+ [ROUTER_CONTEXT_KEYS.LOCALE]?: string;
17
+ }
18
+ /**
19
+ * Hono environment type for router
20
+ */
21
+ export interface RouterEnv {
22
+ Bindings: StratalEnv;
23
+ Variables: RouterVariables;
24
+ }
25
+ /**
26
+ * Security scheme identifier type
27
+ * Matches the keys in SECURITY_SCHEMES constant
28
+ */
29
+ export type SecurityScheme = typeof SECURITY_SCHEMES[keyof typeof SECURITY_SCHEMES];
30
+ /**
31
+ * RESTful controller method name type
32
+ * Derived from HTTP_METHODS constant
33
+ */
34
+ export type MethodName = keyof typeof HTTP_METHODS;
35
+ /**
36
+ * HTTP method type from OpenAPI spec
37
+ */
38
+ export type HttpMethod = 'get' | 'post' | 'put' | 'delete' | 'patch' | 'head' | 'options' | 'trace';
39
+ /**
40
+ * Security scheme record for OpenAPI security array format
41
+ * Maps scheme names to scopes (empty array for no scopes)
42
+ */
43
+ export type SecuritySchemeRecord = Record<SecurityScheme, string[]>;
44
+ /**
45
+ * Re-export OpenAPI RouteConfig for internal use
46
+ */
47
+ export type { OpenAPIRouteConfig };
48
+ /**
49
+ * Single response definition for @Route() decorator
50
+ * Status code is auto-derived from method name (create->201, others->200)
51
+ */
52
+ export type RouteResponse = ZodType | {
53
+ schema: ZodType;
54
+ description?: string;
55
+ };
56
+ /**
57
+ * Route configuration for @Route() decorator
58
+ * Defines OpenAPI metadata for a controller method
59
+ */
60
+ export interface RouteConfig {
61
+ /**
62
+ * Request body schema (for POST, PUT, PATCH)
63
+ */
64
+ body?: ZodType;
65
+ /**
66
+ * URL parameters schema (e.g., { id: z.string().uuid() })
67
+ * Must be ZodObject or ZodPipe for OpenAPI compatibility
68
+ */
69
+ params?: RouteParameter;
70
+ /**
71
+ * Query parameters schema (e.g., pagination, filters)
72
+ * Must be ZodObject or ZodPipe for OpenAPI compatibility
73
+ */
74
+ query?: RouteParameter;
75
+ /**
76
+ * Response schema for success case
77
+ * Status code auto-derived: create()->201, others->200
78
+ * @example userSchema or { schema: userSchema, description: 'User details' }
79
+ */
80
+ response: RouteResponse;
81
+ /**
82
+ * OpenAPI tags for grouping endpoints
83
+ * Merged with controller-level tags
84
+ */
85
+ tags?: string[];
86
+ /**
87
+ * Security schemes required for this route
88
+ * Merged with controller-level security
89
+ * Empty array = public route (no auth)
90
+ */
91
+ security?: SecurityScheme[];
92
+ /**
93
+ * Human-readable description for OpenAPI docs
94
+ */
95
+ description?: string;
96
+ /**
97
+ * Detailed summary for OpenAPI docs
98
+ */
99
+ summary?: string;
100
+ /**
101
+ * Hide this route from OpenAPI documentation
102
+ * Route remains functional but won't appear in /api/docs or /api/openapi.json
103
+ * Useful for internal-only endpoints, debug routes, or work-in-progress features
104
+ */
105
+ hideFromDocs?: boolean;
106
+ }
107
+ /**
108
+ * Controller options for @Controller() decorator
109
+ * Provides default configuration for all routes in the controller
110
+ */
111
+ export interface ControllerOptions {
112
+ /**
113
+ * Default tags applied to all routes in this controller
114
+ * Routes can append additional tags
115
+ */
116
+ tags?: string[];
117
+ /**
118
+ * Default security schemes applied to all routes
119
+ * Routes can add more schemes or override with empty array
120
+ */
121
+ security?: SecurityScheme[];
122
+ /**
123
+ * Hide all routes in this controller from OpenAPI documentation
124
+ * Routes remain functional but won't appear in /api/docs or /api/openapi.json
125
+ * Can be overridden at route level with hideFromDocs: false
126
+ * Useful for internal-only controllers, debug endpoints, or utilities
127
+ */
128
+ hideFromDocs?: boolean;
129
+ }
130
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACxG,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAKhG;;;GAGG;AAEH,KAAK,mBAAmB,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAC7D,KAAK,cAAc,GAAG,mBAAmB,GAAG,SAAS,CAAA;AAErD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAA;IAClD,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAA;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,UAAU,CAAA;IACpB,SAAS,EAAE,eAAe,CAAA;CAC3B;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,gBAAgB,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAA;AAEnF;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,YAAY,CAAA;AAElD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;AAEnG;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC,CAAA;AAEnE;;GAEG;AACH,YAAY,EAAE,kBAAkB,EAAE,CAAA;AAElC;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAE/E;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAA;IAEvB;;;OAGG;IACH,KAAK,CAAC,EAAE,cAAc,CAAA;IAEtB;;;;OAIG;IACH,QAAQ,EAAE,aAAa,CAAA;IAEvB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IAEf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAA;IAE3B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IAEf;;;OAGG;IACH,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAA;IAE3B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { z } from '../../i18n/validation';
2
+ export declare const deleteFileInputSchema: z.ZodObject<{
3
+ path: z.ZodString;
4
+ disk: z.ZodOptional<z.ZodString>;
5
+ }, z.core.$strip>;
6
+ export type DeleteFileInput = z.infer<typeof deleteFileInputSchema>;
7
+ //# sourceMappingURL=delete-file.input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-file.input.d.ts","sourceRoot":"","sources":["../../../src/storage/contracts/delete-file.input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAY,MAAM,uBAAuB,CAAA;AAEnD,eAAO,MAAM,qBAAqB;;;iBAGhC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { z, withI18n } from '../../i18n/validation';
2
+ export const deleteFileInputSchema = z.object({
3
+ path: z.string().min(1, withI18n('zodI18n.errors.custom.filePathRequired')),
4
+ disk: z.string().optional(),
5
+ });
6
+ //# sourceMappingURL=delete-file.input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-file.input.js","sourceRoot":"","sources":["../../../src/storage/contracts/delete-file.input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,wCAAwC,CAAC,CAAC;IAC3E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAA"}