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,52 @@
1
+ import type { OpenAPIHono } from '../../i18n/validation';
2
+ import type { IController } from '../../router/controller';
3
+ import type { RouterEnv } from '../../router/types';
4
+ import type { Constructor } from '../../types';
5
+ import type { IOpenAPIConfigService } from '../types';
6
+ /**
7
+ * OpenAPI Service
8
+ *
9
+ * Generates OpenAPI specifications with support for:
10
+ * - Runtime configuration via OpenAPIConfigService
11
+ * - Route filtering via hideFromDocs and custom routeFilter
12
+ * - i18n support for titles and descriptions
13
+ * - Security scheme definitions
14
+ *
15
+ * Configuration is resolved per-request from OpenAPIConfigService,
16
+ * allowing middleware to override config based on domain context.
17
+ */
18
+ export declare class OpenAPIService {
19
+ private configService;
20
+ private routeInfoMap;
21
+ constructor(configService: IOpenAPIConfigService);
22
+ /**
23
+ * Setup OpenAPI documentation endpoints
24
+ */
25
+ setupEndpoints(app: OpenAPIHono<RouterEnv>, controllers: Constructor<IController>[]): void;
26
+ /**
27
+ * Get localized security scheme definitions
28
+ */
29
+ private getSecuritySchemeDefinitions;
30
+ /**
31
+ * Build route info map from controllers
32
+ * Maps route prefixes to their hideFromDocs flag
33
+ */
34
+ private buildRouteInfoMap;
35
+ /**
36
+ * Filter OpenAPI paths based on hideFromDocs and custom routeFilter
37
+ */
38
+ private filterRoutes;
39
+ /**
40
+ * Get route info by matching path against controller routes
41
+ */
42
+ private getRouteInfo;
43
+ /**
44
+ * Filter unreferenced schemas from OpenAPI spec
45
+ */
46
+ private filterSchemas;
47
+ /**
48
+ * Recursively collect all schema references from an object
49
+ */
50
+ private collectSchemaRefs;
51
+ }
52
+ //# sourceMappingURL=openapi.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi.service.d.ts","sourceRoot":"","sources":["../../../src/openapi/services/openapi.service.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,uBAAuB,CAAA;AAExE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,KAAK,EAAE,qBAAqB,EAA0B,MAAM,UAAU,CAAA;AAS7E;;;;;;;;;;;GAWG;AACH,qBACa,cAAc;IAKvB,OAAO,CAAC,aAAa;IAJvB,OAAO,CAAC,YAAY,CAA+B;gBAIzC,aAAa,EAAE,qBAAqB;IAG9C;;OAEG;IACH,cAAc,CAAC,GAAG,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,GAAG,IAAI;IAsE1F;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAuBpC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,YAAY;IA0BpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;IACH,OAAO,CAAC,aAAa;IA6BrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CA2B1B"}
@@ -0,0 +1,228 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { Scalar } from '@scalar/hono-api-reference';
14
+ import { inject } from 'tsyringe';
15
+ import { Transient } from '../../di/decorators';
16
+ import { I18N_TOKENS } from '../../i18n';
17
+ import { ROUTER_CONTEXT_KEYS, SECURITY_SCHEMES } from '../../router/constants';
18
+ import { getControllerOptions, getControllerRoute } from '../../router/decorators';
19
+ import { OPENAPI_TOKENS } from '../openapi.tokens';
20
+ /**
21
+ * OpenAPI Service
22
+ *
23
+ * Generates OpenAPI specifications with support for:
24
+ * - Runtime configuration via OpenAPIConfigService
25
+ * - Route filtering via hideFromDocs and custom routeFilter
26
+ * - i18n support for titles and descriptions
27
+ * - Security scheme definitions
28
+ *
29
+ * Configuration is resolved per-request from OpenAPIConfigService,
30
+ * allowing middleware to override config based on domain context.
31
+ */
32
+ let OpenAPIService = class OpenAPIService {
33
+ configService;
34
+ routeInfoMap = new Map();
35
+ constructor(configService) {
36
+ this.configService = configService;
37
+ }
38
+ /**
39
+ * Setup OpenAPI documentation endpoints
40
+ */
41
+ setupEndpoints(app, controllers) {
42
+ // Build route info map for hideFromDocs filtering
43
+ this.buildRouteInfoMap(controllers);
44
+ const config = this.configService.getEffectiveConfig();
45
+ // OpenAPI JSON spec endpoint
46
+ app.get(config.jsonPath, (c) => {
47
+ // Get request-scoped services
48
+ const requestContainer = c.get(ROUTER_CONTEXT_KEYS.REQUEST_CONTAINER);
49
+ const i18n = requestContainer.resolve(I18N_TOKENS.I18nService);
50
+ const requestConfigService = requestContainer.resolve(OPENAPI_TOKENS.ConfigService);
51
+ // Get effective config (with any middleware overrides)
52
+ const effectiveConfig = requestConfigService.getEffectiveConfig();
53
+ const url = new URL(c.req.raw.url);
54
+ // Generate full OpenAPI spec using Hono's built-in generator
55
+ const fullSpec = app.getOpenAPIDocument({
56
+ openapi: '3.0.0',
57
+ info: {
58
+ version: effectiveConfig.info.version,
59
+ title: effectiveConfig.info.title,
60
+ description: effectiveConfig.info.description
61
+ },
62
+ servers: [
63
+ {
64
+ url: `${url.protocol}//${url.host}`,
65
+ description: i18n.t('common.api.serverDescription')
66
+ }
67
+ ]
68
+ });
69
+ // Add security schemes
70
+ fullSpec.components ??= {};
71
+ fullSpec.components.securitySchemes = this.getSecuritySchemeDefinitions(i18n);
72
+ // Filter routes based on hideFromDocs and custom routeFilter
73
+ fullSpec.paths = this.filterRoutes(fullSpec.paths, effectiveConfig);
74
+ // Filter unreferenced schemas
75
+ if (fullSpec.components.schemas) {
76
+ fullSpec.components.schemas = this.filterSchemas(fullSpec);
77
+ }
78
+ return c.json(fullSpec);
79
+ });
80
+ // Swagger UI endpoint
81
+ app.get(config.docsPath, (c, next) => {
82
+ const requestContainer = c.get(ROUTER_CONTEXT_KEYS.REQUEST_CONTAINER);
83
+ const requestConfigService = requestContainer.resolve(OPENAPI_TOKENS.ConfigService);
84
+ const effectiveConfig = requestConfigService.getEffectiveConfig();
85
+ return Scalar({
86
+ url: effectiveConfig.jsonPath,
87
+ pageTitle: effectiveConfig.info.title,
88
+ telemetry: false,
89
+ theme: 'deepSpace',
90
+ })(c, next);
91
+ });
92
+ }
93
+ /**
94
+ * Get localized security scheme definitions
95
+ */
96
+ getSecuritySchemeDefinitions(i18n) {
97
+ return {
98
+ [SECURITY_SCHEMES.BEARER_AUTH]: {
99
+ type: 'http',
100
+ scheme: 'bearer',
101
+ bearerFormat: 'JWT',
102
+ description: i18n.t('common.api.security.bearerAuth')
103
+ },
104
+ [SECURITY_SCHEMES.API_KEY]: {
105
+ type: 'apiKey',
106
+ in: 'header',
107
+ name: 'X-API-Key',
108
+ description: i18n.t('common.api.security.apiKey')
109
+ },
110
+ [SECURITY_SCHEMES.SESSION_COOKIE]: {
111
+ type: 'apiKey',
112
+ in: 'cookie',
113
+ name: 'session',
114
+ description: i18n.t('common.api.security.sessionCookie')
115
+ }
116
+ };
117
+ }
118
+ /**
119
+ * Build route info map from controllers
120
+ * Maps route prefixes to their hideFromDocs flag
121
+ */
122
+ buildRouteInfoMap(controllers) {
123
+ for (const ControllerClass of controllers) {
124
+ const route = getControllerRoute(ControllerClass);
125
+ const options = getControllerOptions(ControllerClass);
126
+ if (route) {
127
+ this.routeInfoMap.set(route, {
128
+ hideFromDocs: options?.hideFromDocs ?? false
129
+ });
130
+ }
131
+ }
132
+ }
133
+ /**
134
+ * Filter OpenAPI paths based on hideFromDocs and custom routeFilter
135
+ */
136
+ filterRoutes(paths, config) {
137
+ const filteredPaths = {};
138
+ for (const [path, pathItem] of Object.entries(paths)) {
139
+ // 1. Check hideFromDocs (always filtered)
140
+ const routeInfo = this.getRouteInfo(path);
141
+ if (routeInfo.hideFromDocs) {
142
+ continue;
143
+ }
144
+ // 2. Apply custom routeFilter if provided
145
+ if (config.routeFilter) {
146
+ if (!config.routeFilter(path, pathItem)) {
147
+ continue;
148
+ }
149
+ }
150
+ filteredPaths[path] = pathItem;
151
+ }
152
+ return filteredPaths;
153
+ }
154
+ /**
155
+ * Get route info by matching path against controller routes
156
+ */
157
+ getRouteInfo(path) {
158
+ for (const [route, info] of this.routeInfoMap.entries()) {
159
+ if (path === route || path.startsWith(`${route}/`)) {
160
+ return info;
161
+ }
162
+ }
163
+ // Default to visible for unmatched routes
164
+ return { hideFromDocs: false };
165
+ }
166
+ /**
167
+ * Filter unreferenced schemas from OpenAPI spec
168
+ */
169
+ filterSchemas(spec) {
170
+ const referencedSchemas = new Set();
171
+ // Collect all schema references from paths
172
+ this.collectSchemaRefs(spec.paths, referencedSchemas);
173
+ // Filter schemas to only include referenced ones
174
+ const filteredSchemas = {};
175
+ const components = spec.components;
176
+ if (components?.schemas) {
177
+ for (const [schemaName, schemaValue] of Object.entries(components.schemas)) {
178
+ if (referencedSchemas.has(schemaName)) {
179
+ filteredSchemas[schemaName] = schemaValue;
180
+ // Also collect references from this schema (for nested schemas)
181
+ this.collectSchemaRefs(schemaValue, referencedSchemas);
182
+ }
183
+ }
184
+ // Second pass to include any schemas referenced by included schemas
185
+ for (const [schemaName, schemaValue] of Object.entries(components.schemas)) {
186
+ if (referencedSchemas.has(schemaName) && !filteredSchemas[schemaName]) {
187
+ filteredSchemas[schemaName] = schemaValue;
188
+ }
189
+ }
190
+ }
191
+ return filteredSchemas;
192
+ }
193
+ /**
194
+ * Recursively collect all schema references from an object
195
+ */
196
+ collectSchemaRefs(obj, refs) {
197
+ if (!obj || typeof obj !== 'object') {
198
+ return;
199
+ }
200
+ const record = obj;
201
+ // Check if this object has a $ref property
202
+ if (record.$ref && typeof record.$ref === 'string') {
203
+ // Extract schema name from $ref (format: #/components/schemas/SchemaName)
204
+ const match = /^#\/components\/schemas\/(.+)$/.exec(record.$ref);
205
+ if (match) {
206
+ refs.add(match[1]);
207
+ }
208
+ }
209
+ // Recursively check all properties
210
+ if (Array.isArray(obj)) {
211
+ for (const item of obj) {
212
+ this.collectSchemaRefs(item, refs);
213
+ }
214
+ }
215
+ else {
216
+ for (const value of Object.values(record)) {
217
+ this.collectSchemaRefs(value, refs);
218
+ }
219
+ }
220
+ }
221
+ };
222
+ OpenAPIService = __decorate([
223
+ Transient(OPENAPI_TOKENS.OpenAPIService),
224
+ __param(0, inject(OPENAPI_TOKENS.ConfigService)),
225
+ __metadata("design:paramtypes", [Object])
226
+ ], OpenAPIService);
227
+ export { OpenAPIService };
228
+ //# sourceMappingURL=openapi.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi.service.js","sourceRoot":"","sources":["../../../src/openapi/services/openapi.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import type { PathItemObject } from '../i18n/validation';
2
+ /**
3
+ * OpenAPI Info section configuration
4
+ */
5
+ export interface OpenAPIInfo {
6
+ title: string;
7
+ version: string;
8
+ description?: string;
9
+ }
10
+ /**
11
+ * Static module configuration (provided via forRoot)
12
+ */
13
+ export interface OpenAPIModuleOptions {
14
+ /** Path for OpenAPI JSON spec (default: '/api/openapi.json') */
15
+ jsonPath?: string;
16
+ /** Path for Swagger UI docs (default: '/api/docs') */
17
+ docsPath?: string;
18
+ /** Default info section for spec */
19
+ info?: OpenAPIInfo;
20
+ /** Security schemes definition */
21
+ securitySchemes?: Record<string, object>;
22
+ }
23
+ /**
24
+ * Route filter function type
25
+ * Returns true to include route, false to exclude
26
+ */
27
+ export type RouteFilterFn = (path: string, pathItem: PathItemObject) => boolean;
28
+ /**
29
+ * Runtime configuration override (set via middleware)
30
+ */
31
+ export interface OpenAPIConfigOverride {
32
+ /** Override info section */
33
+ info?: Partial<OpenAPIInfo>;
34
+ /** Custom route filter (returns true to include, false to exclude) */
35
+ routeFilter?: RouteFilterFn;
36
+ }
37
+ /**
38
+ * Effective configuration after merging base options with overrides
39
+ */
40
+ export interface OpenAPIEffectiveConfig {
41
+ jsonPath: string;
42
+ docsPath: string;
43
+ info: OpenAPIInfo;
44
+ securitySchemes?: Record<string, object>;
45
+ routeFilter?: RouteFilterFn;
46
+ }
47
+ /**
48
+ * OpenAPI config service interface
49
+ */
50
+ export interface IOpenAPIConfigService {
51
+ /**
52
+ * Override config for this request
53
+ * Can be called multiple times; overrides are merged in order
54
+ */
55
+ override(config: OpenAPIConfigOverride): void;
56
+ /**
57
+ * Get effective config (base merged with all overrides)
58
+ */
59
+ getEffectiveConfig(): OpenAPIEffectiveConfig;
60
+ }
61
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/openapi/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,oCAAoC;IACpC,IAAI,CAAC,EAAE,WAAW,CAAA;IAElB,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACzC;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAA;AAE/E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAE3B,sEAAsE;IACtE,WAAW,CAAC,EAAE,aAAa,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,WAAW,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,WAAW,CAAC,EAAE,aAAa,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAA;IAE7C;;OAEG;IACH,kBAAkB,IAAI,sBAAsB,CAAA;CAC7C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/openapi/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dom.polyfill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.polyfill.d.ts","sourceRoot":"","sources":["../../src/polyfills/dom.polyfill.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * DOM polyfills for Cloudflare Workers
3
+ *
4
+ * AWS SDK v3 uses DOMParser and Node for XML parsing, which are not available in Workers.
5
+ * This module must be imported BEFORE any AWS SDK imports (including transitive).
6
+ *
7
+ * @see https://github.com/aws/aws-sdk-js-v3/issues/7375
8
+ */
9
+ import { DOMParser } from '@xmldom/xmldom';
10
+ // DOMParser polyfill for XML response parsing
11
+ globalThis.DOMParser = DOMParser;
12
+ // Node interface polyfill with DOM node type constants
13
+ // Required by AWS SDK for XML response parsing
14
+ if (typeof globalThis.Node === 'undefined') {
15
+ globalThis.Node = {
16
+ ELEMENT_NODE: 1,
17
+ ATTRIBUTE_NODE: 2,
18
+ TEXT_NODE: 3,
19
+ CDATA_SECTION_NODE: 4,
20
+ ENTITY_REFERENCE_NODE: 5,
21
+ ENTITY_NODE: 6,
22
+ PROCESSING_INSTRUCTION_NODE: 7,
23
+ COMMENT_NODE: 8,
24
+ DOCUMENT_NODE: 9,
25
+ DOCUMENT_TYPE_NODE: 10,
26
+ DOCUMENT_FRAGMENT_NODE: 11,
27
+ NOTATION_NODE: 12,
28
+ };
29
+ }
30
+ //# sourceMappingURL=dom.polyfill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.polyfill.js","sourceRoot":"","sources":["../../src/polyfills/dom.polyfill.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,8CAA8C;AAC9C,UAAU,CAAC,SAAS,GAAG,SAAS,CAAA;AAEhC,uDAAuD;AACvD,+CAA+C;AAC/C,IAAI,OAAO,UAAU,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;IAC3C,UAAU,CAAC,IAAI,GAAG;QAChB,YAAY,EAAE,CAAC;QACf,cAAc,EAAE,CAAC;QACjB,SAAS,EAAE,CAAC;QACZ,kBAAkB,EAAE,CAAC;QACrB,qBAAqB,EAAE,CAAC;QACxB,WAAW,EAAE,CAAC;QACd,2BAA2B,EAAE,CAAC;QAC9B,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,CAAC;QAChB,kBAAkB,EAAE,EAAE;QACtB,sBAAsB,EAAE,EAAE;QAC1B,aAAa,EAAE,EAAE;KACQ,CAAA;AAC7B,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Polyfills module
3
+ *
4
+ * Import this module at the very top of your entry point to ensure
5
+ * polyfills are loaded before any code that depends on them.
6
+ */
7
+ import './dom.polyfill';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/polyfills/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,gBAAgB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Polyfills module
3
+ *
4
+ * Import this module at the very top of your entry point to ensure
5
+ * polyfills are loaded before any code that depends on them.
6
+ */
7
+ import './dom.polyfill';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/polyfills/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,gBAAgB,CAAC"}
@@ -0,0 +1,77 @@
1
+ import type { IQueueConsumer } from './queue-consumer';
2
+ /**
3
+ * Consumer Registry
4
+ *
5
+ * Singleton service that holds all registered queue consumers indexed by message type.
6
+ * Consumers declare the message types they handle, and this registry routes messages
7
+ * to the appropriate consumers based on their types.
8
+ *
9
+ * **Message-Type Routing:**
10
+ * - Consumers declare `messageTypes` array (e.g., `['email.send', 'email.batch.send']`)
11
+ * - When a message arrives, consumers matching the message type are invoked
12
+ * - A consumer can handle messages from ANY queue (routing is by type, not queue)
13
+ * - Use `'*'` as a wildcard to handle all message types
14
+ *
15
+ * @example Consumer registration
16
+ * ```typescript
17
+ * // In consumer.ts
18
+ * @Transient()
19
+ * export class EmailConsumer implements IQueueConsumer {
20
+ * readonly messageTypes = ['email.send', 'email.batch.send']
21
+ * // ...
22
+ * }
23
+ *
24
+ * // In module.ts
25
+ * @Module({
26
+ * consumers: [EmailConsumer]
27
+ * })
28
+ *
29
+ * // Application auto-registers via ConsumerRegistry
30
+ * this.consumerRegistry.register(consumer)
31
+ * ```
32
+ */
33
+ export declare class ConsumerRegistry {
34
+ /** Map from message type to consumers handling that type */
35
+ private consumersByType;
36
+ /** Set of all registered consumers (for iteration) */
37
+ private allConsumers;
38
+ /**
39
+ * Register a queue consumer
40
+ *
41
+ * Indexes the consumer by each of its declared message types.
42
+ *
43
+ * @param consumer - Queue consumer to register
44
+ */
45
+ register(consumer: IQueueConsumer): void;
46
+ /**
47
+ * Get all consumers that can handle a specific message type
48
+ *
49
+ * Returns consumers that either:
50
+ * - Explicitly declare the message type
51
+ * - Use '*' wildcard to handle all types
52
+ *
53
+ * @param messageType - The message type to find consumers for
54
+ * @returns Array of consumers that can handle this message type
55
+ */
56
+ getConsumers(messageType: string): IQueueConsumer[];
57
+ /**
58
+ * Check if any consumers can handle a message type
59
+ *
60
+ * @param messageType - The message type to check
61
+ * @returns true if at least one consumer can handle this type
62
+ */
63
+ hasConsumers(messageType: string): boolean;
64
+ /**
65
+ * Get all registered message types
66
+ *
67
+ * @returns Array of message types with registered consumers
68
+ */
69
+ getMessageTypes(): string[];
70
+ /**
71
+ * Get all registered consumers
72
+ *
73
+ * @returns Array of all registered consumers
74
+ */
75
+ getAllConsumers(): IQueueConsumer[];
76
+ }
77
+ //# sourceMappingURL=consumer-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumer-registry.d.ts","sourceRoot":"","sources":["../../src/queue/consumer-registry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBACa,gBAAgB;IAC3B,4DAA4D;IAC5D,OAAO,CAAC,eAAe,CAAsC;IAE7D,sDAAsD;IACtD,OAAO,CAAC,YAAY,CAA4B;IAEhD;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAcxC;;;;;;;;;OASG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,EAAE;IASnD;;;;;OAKG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAI1C;;;;OAIG;IACH,eAAe,IAAI,MAAM,EAAE;IAI3B;;;;OAIG;IACH,eAAe,IAAI,cAAc,EAAE;CAGpC"}
@@ -0,0 +1,110 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Transient } from '../di/decorators';
8
+ import { DI_TOKENS } from '../di/tokens';
9
+ /**
10
+ * Consumer Registry
11
+ *
12
+ * Singleton service that holds all registered queue consumers indexed by message type.
13
+ * Consumers declare the message types they handle, and this registry routes messages
14
+ * to the appropriate consumers based on their types.
15
+ *
16
+ * **Message-Type Routing:**
17
+ * - Consumers declare `messageTypes` array (e.g., `['email.send', 'email.batch.send']`)
18
+ * - When a message arrives, consumers matching the message type are invoked
19
+ * - A consumer can handle messages from ANY queue (routing is by type, not queue)
20
+ * - Use `'*'` as a wildcard to handle all message types
21
+ *
22
+ * @example Consumer registration
23
+ * ```typescript
24
+ * // In consumer.ts
25
+ * @Transient()
26
+ * export class EmailConsumer implements IQueueConsumer {
27
+ * readonly messageTypes = ['email.send', 'email.batch.send']
28
+ * // ...
29
+ * }
30
+ *
31
+ * // In module.ts
32
+ * @Module({
33
+ * consumers: [EmailConsumer]
34
+ * })
35
+ *
36
+ * // Application auto-registers via ConsumerRegistry
37
+ * this.consumerRegistry.register(consumer)
38
+ * ```
39
+ */
40
+ let ConsumerRegistry = class ConsumerRegistry {
41
+ /** Map from message type to consumers handling that type */
42
+ consumersByType = new Map();
43
+ /** Set of all registered consumers (for iteration) */
44
+ allConsumers = new Set();
45
+ /**
46
+ * Register a queue consumer
47
+ *
48
+ * Indexes the consumer by each of its declared message types.
49
+ *
50
+ * @param consumer - Queue consumer to register
51
+ */
52
+ register(consumer) {
53
+ if (this.allConsumers.has(consumer)) {
54
+ return; // Already registered
55
+ }
56
+ this.allConsumers.add(consumer);
57
+ for (const messageType of consumer.messageTypes) {
58
+ const existing = this.consumersByType.get(messageType) ?? [];
59
+ existing.push(consumer);
60
+ this.consumersByType.set(messageType, existing);
61
+ }
62
+ }
63
+ /**
64
+ * Get all consumers that can handle a specific message type
65
+ *
66
+ * Returns consumers that either:
67
+ * - Explicitly declare the message type
68
+ * - Use '*' wildcard to handle all types
69
+ *
70
+ * @param messageType - The message type to find consumers for
71
+ * @returns Array of consumers that can handle this message type
72
+ */
73
+ getConsumers(messageType) {
74
+ const exactMatch = this.consumersByType.get(messageType) ?? [];
75
+ const wildcardMatch = this.consumersByType.get('*') ?? [];
76
+ // Combine and dedupe
77
+ const combined = new Set([...exactMatch, ...wildcardMatch]);
78
+ return Array.from(combined);
79
+ }
80
+ /**
81
+ * Check if any consumers can handle a message type
82
+ *
83
+ * @param messageType - The message type to check
84
+ * @returns true if at least one consumer can handle this type
85
+ */
86
+ hasConsumers(messageType) {
87
+ return this.getConsumers(messageType).length > 0;
88
+ }
89
+ /**
90
+ * Get all registered message types
91
+ *
92
+ * @returns Array of message types with registered consumers
93
+ */
94
+ getMessageTypes() {
95
+ return Array.from(this.consumersByType.keys());
96
+ }
97
+ /**
98
+ * Get all registered consumers
99
+ *
100
+ * @returns Array of all registered consumers
101
+ */
102
+ getAllConsumers() {
103
+ return Array.from(this.allConsumers);
104
+ }
105
+ };
106
+ ConsumerRegistry = __decorate([
107
+ Transient(DI_TOKENS.ConsumerRegistry)
108
+ ], ConsumerRegistry);
109
+ export { ConsumerRegistry };
110
+ //# sourceMappingURL=consumer-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumer-registry.js","sourceRoot":"","sources":["../../src/queue/consumer-registry.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAGxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEI,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,4DAA4D;IACpD,eAAe,GAAG,IAAI,GAAG,EAA4B,CAAA;IAE7D,sDAAsD;IAC9C,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEhD;;;;;;OAMG;IACH,QAAQ,CAAC,QAAwB;QAC/B,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,OAAM,CAAC,qBAAqB;QAC9B,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAE/B,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;YAC5D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACvB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;QACjD,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,YAAY,CAAC,WAAmB;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;QAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QAEzD,qBAAqB;QACrB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,aAAa,CAAC,CAAC,CAAA;QAC3D,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC7B,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,WAAmB;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAClD,CAAC;IAED;;;;OAIG;IACH,eAAe;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAA;IAChD,CAAC;IAED;;;;OAIG;IACH,eAAe;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACtC,CAAC;CACF,CAAA;AA1EY,gBAAgB;IAD5B,SAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC;GACzB,gBAAgB,CA0E5B"}
@@ -0,0 +1,2 @@
1
+ export * from './inject-queue.decorator';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/queue/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './inject-queue.decorator';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/queue/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA"}