@venizia/ignis-kernel 0.2.0-9 → 0.2.1-0

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 (1124) hide show
  1. package/LICENSE.md +0 -1
  2. package/README.md +97 -9
  3. package/dist/cjs/base/applications/abstract.d.ts +6 -1
  4. package/dist/cjs/base/applications/abstract.d.ts.map +1 -1
  5. package/dist/cjs/base/applications/abstract.js.map +1 -1
  6. package/dist/cjs/base/applications/artifact-index.d.ts +41 -0
  7. package/dist/cjs/base/applications/artifact-index.d.ts.map +1 -0
  8. package/dist/cjs/base/applications/artifact-index.js +209 -0
  9. package/dist/cjs/base/applications/artifact-index.js.map +1 -0
  10. package/dist/cjs/base/applications/boot-sequence.d.ts +33 -0
  11. package/dist/cjs/base/applications/boot-sequence.d.ts.map +1 -0
  12. package/dist/cjs/base/applications/boot-sequence.js +66 -0
  13. package/dist/cjs/base/applications/boot-sequence.js.map +1 -0
  14. package/dist/cjs/base/applications/common/constants.d.ts +15 -0
  15. package/dist/cjs/base/applications/common/constants.d.ts.map +1 -0
  16. package/dist/cjs/base/applications/common/constants.js +26 -0
  17. package/dist/cjs/base/applications/common/constants.js.map +1 -0
  18. package/dist/cjs/base/applications/common/index.d.ts +3 -0
  19. package/dist/cjs/base/applications/common/index.d.ts.map +1 -0
  20. package/dist/cjs/base/applications/common/index.js +19 -0
  21. package/dist/cjs/base/applications/common/index.js.map +1 -0
  22. package/dist/cjs/base/applications/common/types/application.d.ts +76 -0
  23. package/dist/cjs/base/applications/common/types/application.d.ts.map +1 -0
  24. package/dist/cjs/base/applications/common/types/application.js +3 -0
  25. package/dist/cjs/base/applications/common/types/application.js.map +1 -0
  26. package/dist/cjs/base/applications/common/types/artifacts.d.ts +24 -0
  27. package/dist/cjs/base/applications/common/types/artifacts.d.ts.map +1 -0
  28. package/dist/cjs/base/applications/common/types/artifacts.js +3 -0
  29. package/dist/cjs/base/applications/common/types/artifacts.js.map +1 -0
  30. package/dist/cjs/base/applications/common/types/index.d.ts +4 -0
  31. package/dist/cjs/base/applications/common/types/index.d.ts.map +1 -0
  32. package/dist/cjs/base/applications/common/types/index.js +20 -0
  33. package/dist/cjs/base/applications/common/types/index.js.map +1 -0
  34. package/dist/cjs/base/applications/common/types/middlewares.d.ts +44 -0
  35. package/dist/cjs/base/applications/common/types/middlewares.d.ts.map +1 -0
  36. package/dist/cjs/base/applications/common/types/middlewares.js +3 -0
  37. package/dist/cjs/base/applications/common/types/middlewares.js.map +1 -0
  38. package/dist/cjs/base/applications/index.d.ts +2 -1
  39. package/dist/cjs/base/applications/index.d.ts.map +1 -1
  40. package/dist/cjs/base/applications/index.js +2 -1
  41. package/dist/cjs/base/applications/index.js.map +1 -1
  42. package/dist/cjs/base/applications/rest.d.ts +101 -30
  43. package/dist/cjs/base/applications/rest.d.ts.map +1 -1
  44. package/dist/cjs/base/applications/rest.js +487 -92
  45. package/dist/cjs/base/applications/rest.js.map +1 -1
  46. package/dist/cjs/base/auth/authenticate/common/constants/authentication.d.ts +34 -0
  47. package/dist/cjs/base/auth/authenticate/common/constants/authentication.d.ts.map +1 -0
  48. package/dist/cjs/base/auth/authenticate/common/constants/authentication.js +44 -0
  49. package/dist/cjs/base/auth/authenticate/common/constants/authentication.js.map +1 -0
  50. package/dist/cjs/base/auth/authenticate/common/constants/index.d.ts +4 -0
  51. package/dist/cjs/base/auth/authenticate/common/constants/index.d.ts.map +1 -0
  52. package/dist/cjs/base/auth/authenticate/common/constants/index.js +20 -0
  53. package/dist/cjs/base/auth/authenticate/common/constants/index.js.map +1 -0
  54. package/dist/cjs/base/auth/authenticate/common/constants/jose.d.ts +30 -0
  55. package/dist/cjs/base/auth/authenticate/common/constants/jose.d.ts.map +1 -0
  56. package/dist/cjs/base/auth/authenticate/common/constants/jose.js +40 -0
  57. package/dist/cjs/base/auth/authenticate/common/constants/jose.js.map +1 -0
  58. package/dist/cjs/base/auth/authenticate/common/constants/service-assertion.d.ts +25 -0
  59. package/dist/cjs/base/auth/authenticate/common/constants/service-assertion.d.ts.map +1 -0
  60. package/dist/cjs/base/auth/authenticate/common/constants/service-assertion.js +28 -0
  61. package/dist/cjs/base/auth/authenticate/common/constants/service-assertion.js.map +1 -0
  62. package/dist/cjs/base/auth/authenticate/common/types/basic.d.ts +14 -0
  63. package/dist/cjs/base/auth/authenticate/common/types/basic.d.ts.map +1 -0
  64. package/dist/cjs/base/auth/authenticate/common/types/basic.js +3 -0
  65. package/dist/cjs/base/auth/authenticate/common/types/basic.js.map +1 -0
  66. package/dist/cjs/base/auth/authenticate/common/types/index.d.ts +7 -0
  67. package/dist/cjs/base/auth/authenticate/common/types/index.d.ts.map +1 -0
  68. package/dist/cjs/base/auth/authenticate/common/types/index.js +23 -0
  69. package/dist/cjs/base/auth/authenticate/common/types/index.js.map +1 -0
  70. package/dist/cjs/base/auth/authenticate/common/types/jwt.d.ts +137 -0
  71. package/dist/cjs/base/auth/authenticate/common/types/jwt.d.ts.map +1 -0
  72. package/dist/cjs/base/auth/authenticate/common/types/jwt.js +3 -0
  73. package/dist/cjs/base/auth/authenticate/common/types/jwt.js.map +1 -0
  74. package/dist/cjs/base/auth/authenticate/common/types/options.d.ts +15 -0
  75. package/dist/cjs/base/auth/authenticate/common/types/options.d.ts.map +1 -0
  76. package/dist/cjs/base/auth/authenticate/common/types/options.js +3 -0
  77. package/dist/cjs/base/auth/authenticate/common/types/options.js.map +1 -0
  78. package/dist/cjs/base/auth/authenticate/common/types/rest.d.ts +49 -0
  79. package/dist/cjs/base/auth/authenticate/common/types/rest.d.ts.map +1 -0
  80. package/dist/cjs/base/auth/authenticate/common/types/rest.js +3 -0
  81. package/dist/cjs/base/auth/authenticate/common/types/rest.js.map +1 -0
  82. package/dist/cjs/base/auth/authenticate/common/types/service.d.ts +95 -0
  83. package/dist/cjs/base/auth/authenticate/common/types/service.d.ts.map +1 -0
  84. package/dist/cjs/base/auth/authenticate/common/types/service.js +3 -0
  85. package/dist/cjs/base/auth/authenticate/common/types/service.js.map +1 -0
  86. package/dist/cjs/base/auth/authenticate/common/types/strategy.d.ts +26 -0
  87. package/dist/cjs/base/auth/authenticate/common/types/strategy.d.ts.map +1 -0
  88. package/dist/cjs/base/auth/authenticate/common/types/strategy.js +3 -0
  89. package/dist/cjs/base/auth/authenticate/common/types/strategy.js.map +1 -0
  90. package/dist/cjs/base/auth/authorize/builders/grant.builder.d.ts +1 -1
  91. package/dist/cjs/base/auth/authorize/builders/permission.builder.d.ts +1 -1
  92. package/dist/cjs/base/auth/authorize/builders/policy.builder.d.ts +19 -8
  93. package/dist/cjs/base/auth/authorize/builders/policy.builder.d.ts.map +1 -1
  94. package/dist/cjs/base/auth/authorize/builders/policy.builder.js +9 -9
  95. package/dist/cjs/base/auth/authorize/builders/policy.builder.js.map +1 -1
  96. package/dist/cjs/base/auth/authorize/common/{constants.d.ts → constants/authorization.d.ts} +2 -59
  97. package/dist/cjs/base/auth/authorize/common/constants/authorization.d.ts.map +1 -0
  98. package/dist/cjs/base/auth/authorize/common/{constants.js → constants/authorization.js} +11 -84
  99. package/dist/cjs/base/auth/authorize/common/constants/authorization.js.map +1 -0
  100. package/dist/cjs/base/auth/authorize/common/constants/binding-keys.d.ts +6 -0
  101. package/dist/cjs/base/auth/authorize/common/constants/binding-keys.d.ts.map +1 -0
  102. package/dist/cjs/base/auth/authorize/common/constants/binding-keys.js +12 -0
  103. package/dist/cjs/base/auth/authorize/common/constants/binding-keys.js.map +1 -0
  104. package/dist/cjs/base/auth/authorize/common/constants/enforcer.d.ts +54 -0
  105. package/dist/cjs/base/auth/authorize/common/constants/enforcer.d.ts.map +1 -0
  106. package/dist/cjs/base/auth/authorize/common/constants/enforcer.js +70 -0
  107. package/dist/cjs/base/auth/authorize/common/constants/enforcer.js.map +1 -0
  108. package/dist/cjs/base/auth/authorize/common/constants/index.d.ts +4 -0
  109. package/dist/cjs/base/auth/authorize/common/constants/index.d.ts.map +1 -0
  110. package/dist/cjs/base/auth/authorize/common/constants/index.js +20 -0
  111. package/dist/cjs/base/auth/authorize/common/constants/index.js.map +1 -0
  112. package/dist/cjs/base/auth/authorize/common/{types.d.ts → types/enforcer.d.ts} +6 -52
  113. package/dist/cjs/base/auth/authorize/common/types/enforcer.d.ts.map +1 -0
  114. package/dist/cjs/base/auth/authorize/common/types/enforcer.js +3 -0
  115. package/dist/cjs/base/auth/authorize/common/types/enforcer.js.map +1 -0
  116. package/dist/cjs/base/auth/authorize/common/types/grant.d.ts +18 -0
  117. package/dist/cjs/base/auth/authorize/common/types/grant.d.ts.map +1 -0
  118. package/dist/cjs/base/auth/authorize/common/types/grant.js +3 -0
  119. package/dist/cjs/base/auth/authorize/common/types/grant.js.map +1 -0
  120. package/dist/cjs/base/auth/authorize/common/types/index.d.ts +4 -0
  121. package/dist/cjs/base/auth/authorize/common/types/index.d.ts.map +1 -0
  122. package/dist/cjs/base/auth/authorize/common/types/index.js +20 -0
  123. package/dist/cjs/base/auth/authorize/common/types/index.js.map +1 -0
  124. package/dist/cjs/base/auth/authorize/common/types/request.d.ts +36 -0
  125. package/dist/cjs/base/auth/authorize/common/types/request.d.ts.map +1 -0
  126. package/dist/cjs/base/auth/authorize/common/types/request.js +3 -0
  127. package/dist/cjs/base/auth/authorize/common/types/request.js.map +1 -0
  128. package/dist/cjs/base/auth/authorize/providers/authorization.provider.d.ts.map +1 -1
  129. package/dist/cjs/base/auth/authorize/providers/authorization.provider.js +7 -6
  130. package/dist/cjs/base/auth/authorize/providers/authorization.provider.js.map +1 -1
  131. package/dist/cjs/base/auth/authorize/providers/request-domain.d.ts +1 -1
  132. package/dist/cjs/base/auth/base/abstract-auth-registry.d.ts.map +1 -1
  133. package/dist/cjs/base/auth/base/abstract-auth-registry.js +2 -5
  134. package/dist/cjs/base/auth/base/abstract-auth-registry.js.map +1 -1
  135. package/dist/cjs/base/auth/context-variables.d.ts +1 -1
  136. package/dist/cjs/base/auth/context-variables.d.ts.map +1 -1
  137. package/dist/cjs/base/auth/models/requests/change-password.schema.js +4 -4
  138. package/dist/cjs/base/auth/models/requests/change-password.schema.js.map +1 -1
  139. package/dist/cjs/base/auth/models/requests/sign-in.schema.js +5 -5
  140. package/dist/cjs/base/auth/models/requests/sign-in.schema.js.map +1 -1
  141. package/dist/cjs/base/components/base.d.ts +4 -0
  142. package/dist/cjs/base/components/base.d.ts.map +1 -1
  143. package/dist/cjs/base/components/base.js +6 -4
  144. package/dist/cjs/base/components/base.js.map +1 -1
  145. package/dist/cjs/base/components/controller/rest/rest.component.d.ts +1 -1
  146. package/dist/cjs/base/components/controller/rest/rest.component.d.ts.map +1 -1
  147. package/dist/cjs/base/components/controller/rest/rest.component.js +10 -30
  148. package/dist/cjs/base/components/controller/rest/rest.component.js.map +1 -1
  149. package/dist/cjs/base/configurations/base.d.ts +14 -0
  150. package/dist/cjs/base/configurations/base.d.ts.map +1 -0
  151. package/dist/cjs/base/configurations/base.js +21 -0
  152. package/dist/cjs/base/configurations/base.js.map +1 -0
  153. package/dist/cjs/base/configurations/common/index.d.ts +2 -0
  154. package/dist/cjs/base/configurations/common/index.d.ts.map +1 -0
  155. package/dist/cjs/base/{repositories/sqls → configurations/common}/index.js +1 -1
  156. package/dist/cjs/base/configurations/common/index.js.map +1 -0
  157. package/dist/cjs/base/configurations/common/types.d.ts +3 -0
  158. package/dist/cjs/base/configurations/common/types.d.ts.map +1 -0
  159. package/dist/cjs/base/configurations/common/types.js.map +1 -0
  160. package/dist/cjs/base/configurations/index.d.ts +3 -0
  161. package/dist/cjs/base/configurations/index.d.ts.map +1 -0
  162. package/dist/cjs/base/configurations/index.js +19 -0
  163. package/dist/cjs/base/configurations/index.js.map +1 -0
  164. package/dist/cjs/base/controllers/common/constants.d.ts +13 -15
  165. package/dist/cjs/base/controllers/common/constants.d.ts.map +1 -1
  166. package/dist/cjs/base/controllers/common/constants.js +16 -31
  167. package/dist/cjs/base/controllers/common/constants.js.map +1 -1
  168. package/dist/cjs/{utilities/jsx.utility.d.ts → base/controllers/common/html-response.d.ts} +27 -6
  169. package/dist/cjs/base/controllers/common/html-response.d.ts.map +1 -0
  170. package/dist/cjs/{utilities/jsx.utility.js → base/controllers/common/html-response.js} +5 -12
  171. package/dist/cjs/base/controllers/common/html-response.js.map +1 -0
  172. package/dist/cjs/base/controllers/common/index.d.ts +3 -0
  173. package/dist/cjs/base/controllers/common/index.d.ts.map +1 -1
  174. package/dist/cjs/base/controllers/common/index.js +4 -0
  175. package/dist/cjs/base/controllers/common/index.js.map +1 -1
  176. package/dist/cjs/{utilities/schema.utility.d.ts → base/controllers/common/schema-builders.d.ts} +2 -2
  177. package/dist/cjs/base/controllers/common/schema-builders.d.ts.map +1 -0
  178. package/dist/cjs/{utilities/schema.utility.js → base/controllers/common/schema-builders.js} +1 -1
  179. package/dist/cjs/base/controllers/common/schema-builders.js.map +1 -0
  180. package/dist/cjs/base/controllers/common/schemas.d.ts +22 -0
  181. package/dist/cjs/base/controllers/common/schemas.d.ts.map +1 -0
  182. package/dist/cjs/base/controllers/common/schemas.js +41 -0
  183. package/dist/cjs/base/controllers/common/schemas.js.map +1 -0
  184. package/dist/cjs/base/controllers/common/types/context.d.ts +29 -0
  185. package/dist/cjs/base/controllers/common/types/context.d.ts.map +1 -0
  186. package/dist/cjs/base/controllers/common/types/context.js +3 -0
  187. package/dist/cjs/base/controllers/common/types/context.js.map +1 -0
  188. package/dist/cjs/base/controllers/common/types/controller.d.ts +67 -0
  189. package/dist/cjs/base/controllers/common/types/controller.d.ts.map +1 -0
  190. package/dist/cjs/base/controllers/common/types/controller.js +3 -0
  191. package/dist/cjs/base/controllers/common/types/controller.js.map +1 -0
  192. package/dist/cjs/base/controllers/common/types/index.d.ts +4 -0
  193. package/dist/cjs/base/controllers/common/types/index.d.ts.map +1 -0
  194. package/dist/cjs/base/controllers/common/types/index.js +20 -0
  195. package/dist/cjs/base/controllers/common/types/index.js.map +1 -0
  196. package/dist/cjs/base/controllers/common/types/route.d.ts +86 -0
  197. package/dist/cjs/base/controllers/common/types/route.d.ts.map +1 -0
  198. package/dist/cjs/base/controllers/common/types/route.js +3 -0
  199. package/dist/cjs/base/controllers/common/types/route.js.map +1 -0
  200. package/dist/cjs/base/controllers/context.d.ts +5 -0
  201. package/dist/cjs/base/controllers/context.d.ts.map +1 -0
  202. package/dist/cjs/base/controllers/{common/types.js → context.js} +1 -1
  203. package/dist/cjs/base/controllers/context.js.map +1 -0
  204. package/dist/cjs/base/controllers/factory/controller.d.ts +51 -20
  205. package/dist/cjs/base/controllers/factory/controller.d.ts.map +1 -1
  206. package/dist/cjs/base/controllers/factory/controller.js +9 -1
  207. package/dist/cjs/base/controllers/factory/controller.js.map +1 -1
  208. package/dist/cjs/base/controllers/factory/crud/abstract.d.ts +21 -28
  209. package/dist/cjs/base/controllers/factory/crud/abstract.d.ts.map +1 -1
  210. package/dist/cjs/base/controllers/factory/crud/abstract.js +18 -21
  211. package/dist/cjs/base/controllers/factory/crud/abstract.js.map +1 -1
  212. package/dist/cjs/base/controllers/factory/crud/persistable.d.ts +12 -4
  213. package/dist/cjs/base/controllers/factory/crud/persistable.d.ts.map +1 -1
  214. package/dist/cjs/base/controllers/factory/crud/persistable.js +53 -19
  215. package/dist/cjs/base/controllers/factory/crud/persistable.js.map +1 -1
  216. package/dist/cjs/base/controllers/factory/crud/readable.d.ts +7 -2
  217. package/dist/cjs/base/controllers/factory/crud/readable.d.ts.map +1 -1
  218. package/dist/cjs/base/controllers/factory/crud/readable.js +52 -15
  219. package/dist/cjs/base/controllers/factory/crud/readable.js.map +1 -1
  220. package/dist/cjs/base/controllers/factory/definition.d.ts +898 -673
  221. package/dist/cjs/base/controllers/factory/definition.d.ts.map +1 -1
  222. package/dist/cjs/base/controllers/factory/definition.js +455 -359
  223. package/dist/cjs/base/controllers/factory/definition.js.map +1 -1
  224. package/dist/cjs/base/controllers/factory/index.d.ts +1 -0
  225. package/dist/cjs/base/controllers/factory/index.d.ts.map +1 -1
  226. package/dist/cjs/base/controllers/factory/index.js +1 -0
  227. package/dist/cjs/base/controllers/factory/index.js.map +1 -1
  228. package/dist/cjs/base/controllers/factory/repository-injection.d.ts +14 -0
  229. package/dist/cjs/base/controllers/factory/repository-injection.d.ts.map +1 -0
  230. package/dist/cjs/base/controllers/factory/repository-injection.js +31 -0
  231. package/dist/cjs/base/controllers/factory/repository-injection.js.map +1 -0
  232. package/dist/cjs/base/controllers/index.d.ts +1 -0
  233. package/dist/cjs/base/controllers/index.d.ts.map +1 -1
  234. package/dist/cjs/base/controllers/index.js +1 -0
  235. package/dist/cjs/base/controllers/index.js.map +1 -1
  236. package/dist/cjs/base/controllers/rest/abstract.d.ts +2 -2
  237. package/dist/cjs/base/controllers/rest/abstract.d.ts.map +1 -1
  238. package/dist/cjs/base/controllers/rest/abstract.js +12 -7
  239. package/dist/cjs/base/controllers/rest/abstract.js.map +1 -1
  240. package/dist/cjs/base/controllers/rest/base.d.ts +43 -2
  241. package/dist/cjs/base/controllers/rest/base.d.ts.map +1 -1
  242. package/dist/cjs/base/controllers/rest/base.js +41 -1
  243. package/dist/cjs/base/controllers/rest/base.js.map +1 -1
  244. package/dist/cjs/base/datasources/abstract.d.ts +2 -0
  245. package/dist/cjs/base/datasources/abstract.d.ts.map +1 -1
  246. package/dist/cjs/base/datasources/abstract.js +4 -0
  247. package/dist/cjs/base/datasources/abstract.js.map +1 -1
  248. package/dist/cjs/base/datasources/common/types.d.ts +2 -0
  249. package/dist/cjs/base/datasources/common/types.d.ts.map +1 -1
  250. package/dist/cjs/base/events/common/constants.d.ts +32 -0
  251. package/dist/cjs/base/events/common/constants.d.ts.map +1 -1
  252. package/dist/cjs/base/events/common/constants.js +34 -1
  253. package/dist/cjs/base/events/common/constants.js.map +1 -1
  254. package/dist/cjs/base/events/common/types.d.ts +41 -3
  255. package/dist/cjs/base/events/common/types.d.ts.map +1 -1
  256. package/dist/cjs/base/events/event-bus.d.ts +45 -8
  257. package/dist/cjs/base/events/event-bus.d.ts.map +1 -1
  258. package/dist/cjs/base/events/event-bus.js +145 -28
  259. package/dist/cjs/base/events/event-bus.js.map +1 -1
  260. package/dist/cjs/base/index.d.ts +1 -0
  261. package/dist/cjs/base/index.d.ts.map +1 -1
  262. package/dist/cjs/base/index.js +1 -0
  263. package/dist/cjs/base/index.js.map +1 -1
  264. package/dist/cjs/base/metadata/index.d.ts +1 -0
  265. package/dist/cjs/base/metadata/index.d.ts.map +1 -1
  266. package/dist/cjs/base/metadata/index.js +1 -0
  267. package/dist/cjs/base/metadata/index.js.map +1 -1
  268. package/dist/cjs/base/metadata/injectable.d.ts +16 -0
  269. package/dist/cjs/base/metadata/injectable.d.ts.map +1 -0
  270. package/dist/cjs/base/metadata/injectable.js +91 -0
  271. package/dist/cjs/base/metadata/injectable.js.map +1 -0
  272. package/dist/cjs/base/metadata/injectors.d.ts +15 -6
  273. package/dist/cjs/base/metadata/injectors.d.ts.map +1 -1
  274. package/dist/cjs/base/metadata/injectors.js +11 -2
  275. package/dist/cjs/base/metadata/injectors.js.map +1 -1
  276. package/dist/cjs/base/metadata/persistents.d.ts +2 -3
  277. package/dist/cjs/base/metadata/persistents.d.ts.map +1 -1
  278. package/dist/cjs/base/metadata/persistents.js +82 -20
  279. package/dist/cjs/base/metadata/persistents.js.map +1 -1
  280. package/dist/cjs/base/metadata/routes/controller.d.ts.map +1 -1
  281. package/dist/cjs/base/metadata/routes/controller.js +2 -0
  282. package/dist/cjs/base/metadata/routes/controller.js.map +1 -1
  283. package/dist/cjs/base/middlewares/app-error/app-error.middleware.d.ts +4 -0
  284. package/dist/cjs/base/middlewares/app-error/app-error.middleware.d.ts.map +1 -1
  285. package/dist/cjs/base/middlewares/app-error/app-error.middleware.js +20 -2
  286. package/dist/cjs/base/middlewares/app-error/app-error.middleware.js.map +1 -1
  287. package/dist/cjs/base/middlewares/app-error/common/index.d.ts +2 -0
  288. package/dist/cjs/base/middlewares/app-error/common/index.d.ts.map +1 -0
  289. package/dist/cjs/base/middlewares/app-error/common/index.js +18 -0
  290. package/dist/cjs/base/middlewares/app-error/common/index.js.map +1 -0
  291. package/dist/cjs/base/middlewares/app-error/{types.d.ts → common/types.d.ts} +1 -1
  292. package/dist/cjs/base/middlewares/app-error/common/types.d.ts.map +1 -0
  293. package/dist/cjs/base/middlewares/app-error/common/types.js.map +1 -0
  294. package/dist/cjs/base/middlewares/common/errors.d.ts +17 -1
  295. package/dist/cjs/base/middlewares/common/errors.d.ts.map +1 -1
  296. package/dist/cjs/base/middlewares/common/errors.js +10 -3
  297. package/dist/cjs/base/middlewares/common/errors.js.map +1 -1
  298. package/dist/cjs/base/middlewares/form-body/form-body.middleware.d.ts +12 -0
  299. package/dist/cjs/base/middlewares/form-body/form-body.middleware.d.ts.map +1 -0
  300. package/dist/cjs/base/middlewares/form-body/form-body.middleware.js +29 -0
  301. package/dist/cjs/base/middlewares/form-body/form-body.middleware.js.map +1 -0
  302. package/dist/cjs/base/mixins/common/index.d.ts +2 -0
  303. package/dist/cjs/base/mixins/common/index.d.ts.map +1 -0
  304. package/dist/cjs/base/mixins/common/index.js +18 -0
  305. package/dist/cjs/base/mixins/common/index.js.map +1 -0
  306. package/dist/cjs/base/mixins/common/types.d.ts +54 -0
  307. package/dist/cjs/base/mixins/common/types.d.ts.map +1 -0
  308. package/dist/cjs/base/mixins/common/types.js.map +1 -0
  309. package/dist/cjs/base/mixins/index.d.ts +1 -1
  310. package/dist/cjs/base/mixins/index.d.ts.map +1 -1
  311. package/dist/cjs/base/mixins/index.js +1 -1
  312. package/dist/cjs/base/mixins/index.js.map +1 -1
  313. package/dist/cjs/base/models/base.d.ts +2 -0
  314. package/dist/cjs/base/models/base.d.ts.map +1 -1
  315. package/dist/cjs/base/models/base.js +4 -0
  316. package/dist/cjs/base/models/base.js.map +1 -1
  317. package/dist/cjs/base/models/common/index.d.ts +2 -0
  318. package/dist/cjs/base/models/common/index.d.ts.map +1 -1
  319. package/dist/cjs/base/models/common/index.js +2 -0
  320. package/dist/cjs/base/models/common/index.js.map +1 -1
  321. package/dist/cjs/base/models/common/schemas.d.ts +160 -0
  322. package/dist/cjs/base/models/common/schemas.d.ts.map +1 -0
  323. package/dist/cjs/base/models/common/{types.js → schemas.js} +14 -20
  324. package/dist/cjs/base/models/common/schemas.js.map +1 -0
  325. package/dist/cjs/base/models/common/types/id.d.ts +24 -0
  326. package/dist/cjs/base/models/common/types/id.d.ts.map +1 -0
  327. package/dist/cjs/base/models/common/types/id.js +3 -0
  328. package/dist/cjs/base/models/common/types/id.js.map +1 -0
  329. package/dist/cjs/base/models/common/types/index.d.ts +2 -0
  330. package/dist/cjs/base/models/common/types/index.d.ts.map +1 -0
  331. package/dist/cjs/base/models/common/types/index.js +18 -0
  332. package/dist/cjs/base/models/common/types/index.js.map +1 -0
  333. package/dist/cjs/base/models/common/utilities.d.ts +13 -0
  334. package/dist/cjs/base/models/common/utilities.d.ts.map +1 -0
  335. package/dist/cjs/base/models/common/utilities.js +24 -0
  336. package/dist/cjs/base/models/common/utilities.js.map +1 -0
  337. package/dist/cjs/base/repositories/common/constants.d.ts +9 -0
  338. package/dist/cjs/base/repositories/common/constants.d.ts.map +1 -1
  339. package/dist/cjs/base/repositories/common/constants.js +11 -1
  340. package/dist/cjs/base/repositories/common/constants.js.map +1 -1
  341. package/dist/cjs/base/repositories/common/{types.d.ts → types/contracts.d.ts} +6 -129
  342. package/dist/cjs/base/repositories/common/types/contracts.d.ts.map +1 -0
  343. package/dist/cjs/base/repositories/common/types/contracts.js +3 -0
  344. package/dist/cjs/base/repositories/common/types/contracts.js.map +1 -0
  345. package/dist/cjs/base/repositories/common/types/index.d.ts +6 -0
  346. package/dist/cjs/base/repositories/common/types/index.d.ts.map +1 -0
  347. package/dist/cjs/base/repositories/common/types/index.js +23 -0
  348. package/dist/cjs/base/repositories/common/types/index.js.map +1 -0
  349. package/dist/cjs/base/repositories/common/types/options.d.ts +89 -0
  350. package/dist/cjs/base/repositories/common/types/options.d.ts.map +1 -0
  351. package/dist/cjs/base/repositories/common/types/options.js +3 -0
  352. package/dist/cjs/base/repositories/common/types/options.js.map +1 -0
  353. package/dist/cjs/base/repositories/common/types/query.d.ts +18 -0
  354. package/dist/cjs/base/repositories/common/types/query.d.ts.map +1 -0
  355. package/dist/cjs/base/repositories/common/types/query.js +3 -0
  356. package/dist/cjs/base/repositories/common/types/query.js.map +1 -0
  357. package/dist/cjs/base/repositories/common/types/result-schemas.d.ts +10 -0
  358. package/dist/cjs/base/repositories/common/types/result-schemas.d.ts.map +1 -0
  359. package/dist/cjs/base/repositories/common/types/result-schemas.js +14 -0
  360. package/dist/cjs/base/repositories/common/types/result-schemas.js.map +1 -0
  361. package/dist/cjs/base/repositories/common/types/results.d.ts +23 -0
  362. package/dist/cjs/base/repositories/common/types/results.d.ts.map +1 -0
  363. package/dist/cjs/base/repositories/common/{types.js → types/results.js} +2 -8
  364. package/dist/cjs/base/repositories/common/types/results.js.map +1 -0
  365. package/dist/cjs/base/repositories/core/abstract.d.ts +2 -2
  366. package/dist/cjs/base/repositories/core/abstract.d.ts.map +1 -1
  367. package/dist/cjs/base/repositories/core/abstract.js +10 -7
  368. package/dist/cjs/base/repositories/core/abstract.js.map +1 -1
  369. package/dist/cjs/base/repositories/index.d.ts +0 -1
  370. package/dist/cjs/base/repositories/index.d.ts.map +1 -1
  371. package/dist/cjs/base/repositories/index.js +0 -1
  372. package/dist/cjs/base/repositories/index.js.map +1 -1
  373. package/dist/cjs/base/repositories/query-schemas/index.d.ts +3 -2
  374. package/dist/cjs/base/repositories/query-schemas/index.d.ts.map +1 -1
  375. package/dist/cjs/base/repositories/query-schemas/index.js +3 -2
  376. package/dist/cjs/base/repositories/query-schemas/index.js.map +1 -1
  377. package/dist/cjs/base/services/base.d.ts +1 -1
  378. package/dist/cjs/base/services/base.d.ts.map +1 -1
  379. package/dist/cjs/base/services/common/index.d.ts +2 -0
  380. package/dist/cjs/base/services/common/index.d.ts.map +1 -0
  381. package/dist/cjs/base/services/common/index.js +18 -0
  382. package/dist/cjs/base/services/common/index.js.map +1 -0
  383. package/dist/cjs/base/services/common/types.d.ts.map +1 -0
  384. package/dist/cjs/base/services/common/types.js.map +1 -0
  385. package/dist/cjs/base/services/index.d.ts +1 -2
  386. package/dist/cjs/base/services/index.d.ts.map +1 -1
  387. package/dist/cjs/base/services/index.js +1 -2
  388. package/dist/cjs/base/services/index.js.map +1 -1
  389. package/dist/cjs/common/bindings.d.ts +23 -2
  390. package/dist/cjs/common/bindings.d.ts.map +1 -1
  391. package/dist/cjs/common/bindings.js +52 -3
  392. package/dist/cjs/common/bindings.js.map +1 -1
  393. package/dist/cjs/common/error-codes.d.ts +0 -2
  394. package/dist/cjs/common/error-codes.d.ts.map +1 -1
  395. package/dist/cjs/common/error-codes.js +0 -2
  396. package/dist/cjs/common/error-codes.js.map +1 -1
  397. package/dist/{esm/common/statuses.d.ts → cjs/common/statuses/common.d.ts} +1 -22
  398. package/dist/cjs/common/statuses/common.d.ts.map +1 -0
  399. package/dist/cjs/common/{statuses.js → statuses/common.js} +2 -31
  400. package/dist/cjs/common/statuses/common.js.map +1 -0
  401. package/dist/cjs/common/statuses/index.d.ts +5 -0
  402. package/dist/cjs/common/statuses/index.d.ts.map +1 -0
  403. package/dist/cjs/common/statuses/index.js +21 -0
  404. package/dist/cjs/common/statuses/index.js.map +1 -0
  405. package/dist/cjs/common/statuses/migration.d.ts +9 -0
  406. package/dist/cjs/common/statuses/migration.d.ts.map +1 -0
  407. package/dist/cjs/common/statuses/migration.js +16 -0
  408. package/dist/cjs/common/statuses/migration.js.map +1 -0
  409. package/dist/cjs/common/statuses/role.d.ts +5 -0
  410. package/dist/cjs/common/statuses/role.d.ts.map +1 -0
  411. package/dist/cjs/common/statuses/role.js +9 -0
  412. package/dist/cjs/common/statuses/role.js.map +1 -0
  413. package/dist/cjs/common/statuses/user.d.ts +12 -0
  414. package/dist/cjs/common/statuses/user.d.ts.map +1 -0
  415. package/dist/cjs/common/statuses/user.js +19 -0
  416. package/dist/cjs/common/statuses/user.js.map +1 -0
  417. package/dist/cjs/helpers/inversion/common/constants.d.ts +13 -0
  418. package/dist/cjs/helpers/inversion/common/constants.d.ts.map +1 -0
  419. package/dist/cjs/helpers/inversion/common/constants.js +27 -0
  420. package/dist/cjs/helpers/inversion/common/constants.js.map +1 -0
  421. package/dist/cjs/helpers/inversion/common/index.d.ts +1 -0
  422. package/dist/cjs/helpers/inversion/common/index.d.ts.map +1 -1
  423. package/dist/cjs/helpers/inversion/common/index.js +1 -0
  424. package/dist/cjs/helpers/inversion/common/index.js.map +1 -1
  425. package/dist/cjs/helpers/inversion/common/keys.d.ts +3 -0
  426. package/dist/cjs/helpers/inversion/common/keys.d.ts.map +1 -1
  427. package/dist/cjs/helpers/inversion/common/keys.js +2 -0
  428. package/dist/cjs/helpers/inversion/common/keys.js.map +1 -1
  429. package/dist/cjs/helpers/inversion/common/types/artifact.d.ts +34 -0
  430. package/dist/cjs/helpers/inversion/common/types/artifact.d.ts.map +1 -0
  431. package/dist/cjs/helpers/inversion/common/types/artifact.js +3 -0
  432. package/dist/cjs/helpers/inversion/common/types/artifact.js.map +1 -0
  433. package/dist/cjs/helpers/inversion/common/types/controller.d.ts +33 -0
  434. package/dist/cjs/helpers/inversion/common/types/controller.d.ts.map +1 -0
  435. package/dist/cjs/helpers/inversion/common/types/controller.js +3 -0
  436. package/dist/cjs/helpers/inversion/common/types/controller.js.map +1 -0
  437. package/dist/cjs/helpers/inversion/common/types/index.d.ts +6 -0
  438. package/dist/cjs/helpers/inversion/common/types/index.d.ts.map +1 -0
  439. package/dist/cjs/helpers/inversion/common/types/index.js +22 -0
  440. package/dist/cjs/helpers/inversion/common/types/index.js.map +1 -0
  441. package/dist/cjs/helpers/inversion/common/types/injection.d.ts +6 -0
  442. package/dist/cjs/helpers/inversion/common/types/injection.d.ts.map +1 -0
  443. package/dist/cjs/helpers/inversion/common/types/injection.js +3 -0
  444. package/dist/cjs/helpers/inversion/common/types/injection.js.map +1 -0
  445. package/dist/{esm/helpers/inversion/common/types.d.ts → cjs/helpers/inversion/common/types/model.d.ts} +6 -63
  446. package/dist/cjs/helpers/inversion/common/types/model.d.ts.map +1 -0
  447. package/dist/cjs/helpers/inversion/common/types/model.js +3 -0
  448. package/dist/cjs/helpers/inversion/common/types/model.js.map +1 -0
  449. package/dist/cjs/helpers/inversion/common/types/persistence.d.ts +39 -0
  450. package/dist/cjs/helpers/inversion/common/types/persistence.d.ts.map +1 -0
  451. package/dist/cjs/helpers/inversion/common/types/persistence.js +3 -0
  452. package/dist/cjs/helpers/inversion/common/types/persistence.js.map +1 -0
  453. package/dist/cjs/helpers/inversion/index.d.ts +1 -1
  454. package/dist/cjs/helpers/inversion/index.d.ts.map +1 -1
  455. package/dist/cjs/helpers/inversion/index.js +2 -1
  456. package/dist/cjs/helpers/inversion/index.js.map +1 -1
  457. package/dist/cjs/helpers/inversion/mixins/artifact.mixin.d.ts +86 -0
  458. package/dist/cjs/helpers/inversion/mixins/artifact.mixin.d.ts.map +1 -0
  459. package/dist/cjs/helpers/inversion/mixins/artifact.mixin.js +42 -0
  460. package/dist/cjs/helpers/inversion/mixins/artifact.mixin.js.map +1 -0
  461. package/dist/cjs/helpers/inversion/mixins/controllers/controller.d.ts +8 -0
  462. package/dist/cjs/helpers/inversion/mixins/controllers/controller.d.ts.map +1 -1
  463. package/dist/cjs/helpers/inversion/mixins/controllers/grpc.d.ts +8 -0
  464. package/dist/cjs/helpers/inversion/mixins/controllers/grpc.d.ts.map +1 -1
  465. package/dist/cjs/helpers/inversion/mixins/controllers/rest.d.ts +8 -0
  466. package/dist/cjs/helpers/inversion/mixins/controllers/rest.d.ts.map +1 -1
  467. package/dist/cjs/helpers/inversion/mixins/datasource.mixin.d.ts +8 -0
  468. package/dist/cjs/helpers/inversion/mixins/datasource.mixin.d.ts.map +1 -1
  469. package/dist/cjs/helpers/inversion/mixins/index.d.ts +1 -0
  470. package/dist/cjs/helpers/inversion/mixins/index.d.ts.map +1 -1
  471. package/dist/cjs/helpers/inversion/mixins/index.js +1 -0
  472. package/dist/cjs/helpers/inversion/mixins/index.js.map +1 -1
  473. package/dist/cjs/helpers/inversion/mixins/model.mixin.d.ts +12 -0
  474. package/dist/cjs/helpers/inversion/mixins/model.mixin.d.ts.map +1 -1
  475. package/dist/cjs/helpers/inversion/mixins/model.mixin.js +22 -4
  476. package/dist/cjs/helpers/inversion/mixins/model.mixin.js.map +1 -1
  477. package/dist/cjs/helpers/inversion/mixins/repository.mixin.d.ts +13 -3
  478. package/dist/cjs/helpers/inversion/mixins/repository.mixin.d.ts.map +1 -1
  479. package/dist/cjs/helpers/inversion/mixins/repository.mixin.js +4 -4
  480. package/dist/cjs/helpers/inversion/mixins/repository.mixin.js.map +1 -1
  481. package/dist/cjs/helpers/inversion/registry.d.ts +135 -2
  482. package/dist/cjs/helpers/inversion/registry.d.ts.map +1 -1
  483. package/dist/cjs/helpers/inversion/registry.js +3 -1
  484. package/dist/cjs/helpers/inversion/registry.js.map +1 -1
  485. package/dist/cjs/metadata.d.ts +23 -0
  486. package/dist/cjs/metadata.d.ts.map +1 -0
  487. package/dist/cjs/metadata.js +39 -0
  488. package/dist/cjs/metadata.js.map +1 -0
  489. package/dist/cjs/repository.d.ts +29 -0
  490. package/dist/cjs/repository.d.ts.map +1 -0
  491. package/dist/cjs/repository.js +42 -0
  492. package/dist/cjs/repository.js.map +1 -0
  493. package/dist/cjs/utilities/error.utility.d.ts.map +1 -1
  494. package/dist/cjs/utilities/error.utility.js +4 -4
  495. package/dist/cjs/utilities/error.utility.js.map +1 -1
  496. package/dist/cjs/utilities/index.d.ts +0 -2
  497. package/dist/cjs/utilities/index.d.ts.map +1 -1
  498. package/dist/cjs/utilities/index.js +2 -2
  499. package/dist/cjs/utilities/index.js.map +1 -1
  500. package/dist/esm/base/applications/abstract.d.ts +6 -1
  501. package/dist/esm/base/applications/abstract.d.ts.map +1 -1
  502. package/dist/esm/base/applications/abstract.js.map +1 -1
  503. package/dist/esm/base/applications/artifact-index.d.ts +41 -0
  504. package/dist/esm/base/applications/artifact-index.d.ts.map +1 -0
  505. package/dist/esm/base/applications/artifact-index.js +205 -0
  506. package/dist/esm/base/applications/artifact-index.js.map +1 -0
  507. package/dist/esm/base/applications/boot-sequence.d.ts +33 -0
  508. package/dist/esm/base/applications/boot-sequence.d.ts.map +1 -0
  509. package/dist/esm/base/applications/boot-sequence.js +61 -0
  510. package/dist/esm/base/applications/boot-sequence.js.map +1 -0
  511. package/dist/esm/base/applications/common/constants.d.ts +15 -0
  512. package/dist/esm/base/applications/common/constants.d.ts.map +1 -0
  513. package/dist/esm/base/applications/common/constants.js +22 -0
  514. package/dist/esm/base/applications/common/constants.js.map +1 -0
  515. package/dist/esm/base/applications/common/index.d.ts +3 -0
  516. package/dist/esm/base/applications/common/index.d.ts.map +1 -0
  517. package/dist/esm/base/applications/common/index.js +3 -0
  518. package/dist/esm/base/applications/common/index.js.map +1 -0
  519. package/dist/esm/base/applications/common/types/application.d.ts +76 -0
  520. package/dist/esm/base/applications/common/types/application.d.ts.map +1 -0
  521. package/dist/esm/base/applications/common/types/application.js +2 -0
  522. package/dist/esm/base/applications/common/types/application.js.map +1 -0
  523. package/dist/esm/base/applications/common/types/artifacts.d.ts +24 -0
  524. package/dist/esm/base/applications/common/types/artifacts.d.ts.map +1 -0
  525. package/dist/esm/base/applications/common/types/artifacts.js +2 -0
  526. package/dist/esm/base/applications/common/types/artifacts.js.map +1 -0
  527. package/dist/esm/base/applications/common/types/index.d.ts +4 -0
  528. package/dist/esm/base/applications/common/types/index.d.ts.map +1 -0
  529. package/dist/esm/base/applications/common/types/index.js +4 -0
  530. package/dist/esm/base/applications/common/types/index.js.map +1 -0
  531. package/dist/esm/base/applications/common/types/middlewares.d.ts +44 -0
  532. package/dist/esm/base/applications/common/types/middlewares.d.ts.map +1 -0
  533. package/dist/esm/base/applications/common/types/middlewares.js +2 -0
  534. package/dist/esm/base/applications/common/types/middlewares.js.map +1 -0
  535. package/dist/esm/base/applications/index.d.ts +2 -1
  536. package/dist/esm/base/applications/index.d.ts.map +1 -1
  537. package/dist/esm/base/applications/index.js +2 -1
  538. package/dist/esm/base/applications/index.js.map +1 -1
  539. package/dist/esm/base/applications/rest.d.ts +101 -30
  540. package/dist/esm/base/applications/rest.d.ts.map +1 -1
  541. package/dist/esm/base/applications/rest.js +490 -95
  542. package/dist/esm/base/applications/rest.js.map +1 -1
  543. package/dist/esm/base/auth/authenticate/common/codecs.d.ts +1 -1
  544. package/dist/esm/base/auth/authenticate/common/constants/authentication.d.ts +34 -0
  545. package/dist/esm/base/auth/authenticate/common/constants/authentication.d.ts.map +1 -0
  546. package/dist/esm/base/auth/authenticate/common/constants/authentication.js +37 -0
  547. package/dist/esm/base/auth/authenticate/common/constants/authentication.js.map +1 -0
  548. package/dist/esm/base/auth/authenticate/common/constants/index.d.ts +4 -0
  549. package/dist/esm/base/auth/authenticate/common/constants/index.d.ts.map +1 -0
  550. package/dist/esm/base/auth/authenticate/common/constants/index.js +4 -0
  551. package/dist/esm/base/auth/authenticate/common/constants/index.js.map +1 -0
  552. package/dist/esm/base/auth/authenticate/common/constants/jose.d.ts +30 -0
  553. package/dist/esm/base/auth/authenticate/common/constants/jose.d.ts.map +1 -0
  554. package/dist/esm/base/auth/authenticate/common/constants/jose.js +33 -0
  555. package/dist/esm/base/auth/authenticate/common/constants/jose.js.map +1 -0
  556. package/dist/esm/base/auth/authenticate/common/constants/service-assertion.d.ts +25 -0
  557. package/dist/esm/base/auth/authenticate/common/constants/service-assertion.d.ts.map +1 -0
  558. package/dist/esm/base/auth/authenticate/common/constants/service-assertion.js +24 -0
  559. package/dist/esm/base/auth/authenticate/common/constants/service-assertion.js.map +1 -0
  560. package/dist/esm/base/auth/authenticate/common/index.d.ts +2 -2
  561. package/dist/esm/base/auth/authenticate/common/index.js +2 -2
  562. package/dist/esm/base/auth/authenticate/common/types/basic.d.ts +14 -0
  563. package/dist/esm/base/auth/authenticate/common/types/basic.d.ts.map +1 -0
  564. package/dist/esm/base/auth/authenticate/common/types/basic.js +2 -0
  565. package/dist/esm/base/auth/authenticate/common/types/basic.js.map +1 -0
  566. package/dist/esm/base/auth/authenticate/common/types/index.d.ts +7 -0
  567. package/dist/esm/base/auth/authenticate/common/types/index.d.ts.map +1 -0
  568. package/dist/esm/base/auth/authenticate/common/types/index.js +7 -0
  569. package/dist/esm/base/auth/authenticate/common/types/index.js.map +1 -0
  570. package/dist/esm/base/auth/authenticate/common/types/jwt.d.ts +137 -0
  571. package/dist/esm/base/auth/authenticate/common/types/jwt.d.ts.map +1 -0
  572. package/dist/esm/base/auth/authenticate/common/types/jwt.js +2 -0
  573. package/dist/esm/base/auth/authenticate/common/types/jwt.js.map +1 -0
  574. package/dist/esm/base/auth/authenticate/common/types/options.d.ts +15 -0
  575. package/dist/esm/base/auth/authenticate/common/types/options.d.ts.map +1 -0
  576. package/dist/esm/base/auth/authenticate/common/types/options.js +2 -0
  577. package/dist/esm/base/auth/authenticate/common/types/options.js.map +1 -0
  578. package/dist/esm/base/auth/authenticate/common/types/rest.d.ts +49 -0
  579. package/dist/esm/base/auth/authenticate/common/types/rest.d.ts.map +1 -0
  580. package/dist/esm/base/auth/authenticate/common/types/rest.js +2 -0
  581. package/dist/esm/base/auth/authenticate/common/types/rest.js.map +1 -0
  582. package/dist/esm/base/auth/authenticate/common/types/service.d.ts +95 -0
  583. package/dist/esm/base/auth/authenticate/common/types/service.d.ts.map +1 -0
  584. package/dist/esm/base/auth/authenticate/common/types/service.js +2 -0
  585. package/dist/esm/base/auth/authenticate/common/types/service.js.map +1 -0
  586. package/dist/esm/base/auth/authenticate/common/types/strategy.d.ts +26 -0
  587. package/dist/esm/base/auth/authenticate/common/types/strategy.d.ts.map +1 -0
  588. package/dist/esm/base/auth/authenticate/common/types/strategy.js +2 -0
  589. package/dist/esm/base/auth/authenticate/common/types/strategy.js.map +1 -0
  590. package/dist/esm/base/auth/authorize/builders/grant.builder.d.ts +1 -1
  591. package/dist/esm/base/auth/authorize/builders/permission.builder.d.ts +2 -2
  592. package/dist/esm/base/auth/authorize/builders/permission.builder.js +1 -1
  593. package/dist/esm/base/auth/authorize/builders/policy.builder.d.ts +21 -10
  594. package/dist/esm/base/auth/authorize/builders/policy.builder.d.ts.map +1 -1
  595. package/dist/esm/base/auth/authorize/builders/policy.builder.js +10 -10
  596. package/dist/esm/base/auth/authorize/builders/policy.builder.js.map +1 -1
  597. package/dist/esm/base/auth/authorize/common/{constants.d.ts → constants/authorization.d.ts} +2 -59
  598. package/dist/esm/base/auth/authorize/common/constants/authorization.d.ts.map +1 -0
  599. package/dist/esm/base/auth/authorize/common/{constants.js → constants/authorization.js} +3 -70
  600. package/dist/esm/base/auth/authorize/common/constants/authorization.js.map +1 -0
  601. package/dist/esm/base/auth/authorize/common/constants/binding-keys.d.ts +6 -0
  602. package/dist/esm/base/auth/authorize/common/constants/binding-keys.d.ts.map +1 -0
  603. package/dist/esm/base/auth/authorize/common/constants/binding-keys.js +8 -0
  604. package/dist/esm/base/auth/authorize/common/constants/binding-keys.js.map +1 -0
  605. package/dist/esm/base/auth/authorize/common/constants/enforcer.d.ts +54 -0
  606. package/dist/esm/base/auth/authorize/common/constants/enforcer.d.ts.map +1 -0
  607. package/dist/esm/base/auth/authorize/common/constants/enforcer.js +62 -0
  608. package/dist/esm/base/auth/authorize/common/constants/enforcer.js.map +1 -0
  609. package/dist/esm/base/auth/authorize/common/constants/index.d.ts +4 -0
  610. package/dist/esm/base/auth/authorize/common/constants/index.d.ts.map +1 -0
  611. package/dist/esm/base/auth/authorize/common/constants/index.js +4 -0
  612. package/dist/esm/base/auth/authorize/common/constants/index.js.map +1 -0
  613. package/dist/esm/base/auth/authorize/common/index.d.ts +2 -2
  614. package/dist/esm/base/auth/authorize/common/index.js +2 -2
  615. package/dist/esm/base/auth/authorize/common/{types.d.ts → types/enforcer.d.ts} +6 -52
  616. package/dist/esm/base/auth/authorize/common/types/enforcer.d.ts.map +1 -0
  617. package/dist/esm/base/auth/authorize/common/types/enforcer.js +2 -0
  618. package/dist/esm/base/auth/authorize/common/types/enforcer.js.map +1 -0
  619. package/dist/esm/base/auth/authorize/common/types/grant.d.ts +18 -0
  620. package/dist/esm/base/auth/authorize/common/types/grant.d.ts.map +1 -0
  621. package/dist/esm/base/auth/authorize/common/types/grant.js +2 -0
  622. package/dist/esm/base/auth/authorize/common/types/grant.js.map +1 -0
  623. package/dist/esm/base/auth/authorize/common/types/index.d.ts +4 -0
  624. package/dist/esm/base/auth/authorize/common/types/index.d.ts.map +1 -0
  625. package/dist/esm/base/auth/authorize/common/types/index.js +4 -0
  626. package/dist/esm/base/auth/authorize/common/types/index.js.map +1 -0
  627. package/dist/esm/base/auth/authorize/common/types/request.d.ts +36 -0
  628. package/dist/esm/base/auth/authorize/common/types/request.d.ts.map +1 -0
  629. package/dist/esm/base/auth/authorize/common/types/request.js +2 -0
  630. package/dist/esm/base/auth/authorize/common/types/request.js.map +1 -0
  631. package/dist/esm/base/auth/authorize/enforcers/enforcer-registry.d.ts +1 -1
  632. package/dist/esm/base/auth/authorize/providers/authorization.provider.d.ts.map +1 -1
  633. package/dist/esm/base/auth/authorize/providers/authorization.provider.js +4 -3
  634. package/dist/esm/base/auth/authorize/providers/authorization.provider.js.map +1 -1
  635. package/dist/esm/base/auth/authorize/providers/request-domain.d.ts +2 -2
  636. package/dist/esm/base/auth/authorize/providers/request-domain.js +1 -1
  637. package/dist/esm/base/auth/base/abstract-auth-registry.d.ts.map +1 -1
  638. package/dist/esm/base/auth/base/abstract-auth-registry.js +2 -2
  639. package/dist/esm/base/auth/base/abstract-auth-registry.js.map +1 -1
  640. package/dist/esm/base/auth/context-variables.d.ts +4 -4
  641. package/dist/esm/base/auth/context-variables.d.ts.map +1 -1
  642. package/dist/esm/base/auth/models/requests/change-password.schema.js +2 -2
  643. package/dist/esm/base/auth/models/requests/change-password.schema.js.map +1 -1
  644. package/dist/esm/base/auth/models/requests/sign-in.schema.js +1 -1
  645. package/dist/esm/base/auth/models/requests/sign-in.schema.js.map +1 -1
  646. package/dist/esm/base/components/base.d.ts +4 -0
  647. package/dist/esm/base/components/base.d.ts.map +1 -1
  648. package/dist/esm/base/components/base.js +6 -4
  649. package/dist/esm/base/components/base.js.map +1 -1
  650. package/dist/esm/base/components/controller/rest/rest.component.d.ts +1 -1
  651. package/dist/esm/base/components/controller/rest/rest.component.d.ts.map +1 -1
  652. package/dist/esm/base/components/controller/rest/rest.component.js +11 -28
  653. package/dist/esm/base/components/controller/rest/rest.component.js.map +1 -1
  654. package/dist/esm/base/configurations/base.d.ts +14 -0
  655. package/dist/esm/base/configurations/base.d.ts.map +1 -0
  656. package/dist/esm/base/configurations/base.js +17 -0
  657. package/dist/esm/base/configurations/base.js.map +1 -0
  658. package/dist/esm/base/configurations/common/index.d.ts +2 -0
  659. package/dist/esm/base/configurations/common/index.d.ts.map +1 -0
  660. package/dist/esm/base/configurations/common/index.js +2 -0
  661. package/dist/esm/base/configurations/common/index.js.map +1 -0
  662. package/dist/esm/base/configurations/common/types.d.ts +3 -0
  663. package/dist/esm/base/configurations/common/types.d.ts.map +1 -0
  664. package/dist/esm/base/configurations/common/types.js.map +1 -0
  665. package/dist/esm/base/configurations/index.d.ts +3 -0
  666. package/dist/esm/base/configurations/index.d.ts.map +1 -0
  667. package/dist/esm/base/configurations/index.js +3 -0
  668. package/dist/esm/base/configurations/index.js.map +1 -0
  669. package/dist/esm/base/controllers/common/constants.d.ts +14 -16
  670. package/dist/esm/base/controllers/common/constants.d.ts.map +1 -1
  671. package/dist/esm/base/controllers/common/constants.js +14 -30
  672. package/dist/esm/base/controllers/common/constants.js.map +1 -1
  673. package/dist/esm/{utilities/jsx.utility.d.ts → base/controllers/common/html-response.d.ts} +27 -6
  674. package/dist/esm/base/controllers/common/html-response.d.ts.map +1 -0
  675. package/dist/esm/{utilities/jsx.utility.js → base/controllers/common/html-response.js} +3 -10
  676. package/dist/esm/base/controllers/common/html-response.js.map +1 -0
  677. package/dist/esm/base/controllers/common/index.d.ts +4 -1
  678. package/dist/esm/base/controllers/common/index.d.ts.map +1 -1
  679. package/dist/esm/base/controllers/common/index.js +5 -1
  680. package/dist/esm/base/controllers/common/index.js.map +1 -1
  681. package/dist/esm/{utilities/schema.utility.d.ts → base/controllers/common/schema-builders.d.ts} +2 -2
  682. package/dist/esm/base/controllers/common/schema-builders.d.ts.map +1 -0
  683. package/dist/esm/{utilities/schema.utility.js → base/controllers/common/schema-builders.js} +1 -1
  684. package/dist/esm/base/controllers/common/schema-builders.js.map +1 -0
  685. package/dist/esm/base/controllers/common/schemas.d.ts +22 -0
  686. package/dist/esm/base/controllers/common/schemas.d.ts.map +1 -0
  687. package/dist/esm/base/controllers/common/schemas.js +38 -0
  688. package/dist/esm/base/controllers/common/schemas.js.map +1 -0
  689. package/dist/esm/base/controllers/common/types/context.d.ts +29 -0
  690. package/dist/esm/base/controllers/common/types/context.d.ts.map +1 -0
  691. package/dist/esm/base/controllers/common/types/context.js +2 -0
  692. package/dist/esm/base/controllers/common/types/context.js.map +1 -0
  693. package/dist/esm/base/controllers/common/types/controller.d.ts +67 -0
  694. package/dist/esm/base/controllers/common/types/controller.d.ts.map +1 -0
  695. package/dist/esm/base/controllers/common/types/controller.js +2 -0
  696. package/dist/esm/base/controllers/common/types/controller.js.map +1 -0
  697. package/dist/esm/base/controllers/common/types/index.d.ts +4 -0
  698. package/dist/esm/base/controllers/common/types/index.d.ts.map +1 -0
  699. package/dist/esm/base/controllers/common/types/index.js +4 -0
  700. package/dist/esm/base/controllers/common/types/index.js.map +1 -0
  701. package/dist/esm/base/controllers/common/types/route.d.ts +86 -0
  702. package/dist/esm/base/controllers/common/types/route.d.ts.map +1 -0
  703. package/dist/esm/base/controllers/common/types/route.js +2 -0
  704. package/dist/esm/base/controllers/common/types/route.js.map +1 -0
  705. package/dist/esm/base/controllers/context.d.ts +5 -0
  706. package/dist/esm/base/controllers/context.d.ts.map +1 -0
  707. package/dist/esm/base/controllers/{common/types.js → context.js} +1 -1
  708. package/dist/esm/base/controllers/context.js.map +1 -0
  709. package/dist/esm/base/controllers/factory/controller.d.ts +51 -20
  710. package/dist/esm/base/controllers/factory/controller.d.ts.map +1 -1
  711. package/dist/esm/base/controllers/factory/controller.js +9 -1
  712. package/dist/esm/base/controllers/factory/controller.js.map +1 -1
  713. package/dist/esm/base/controllers/factory/crud/abstract.d.ts +21 -28
  714. package/dist/esm/base/controllers/factory/crud/abstract.d.ts.map +1 -1
  715. package/dist/esm/base/controllers/factory/crud/abstract.js +18 -21
  716. package/dist/esm/base/controllers/factory/crud/abstract.js.map +1 -1
  717. package/dist/esm/base/controllers/factory/crud/persistable.d.ts +12 -4
  718. package/dist/esm/base/controllers/factory/crud/persistable.d.ts.map +1 -1
  719. package/dist/esm/base/controllers/factory/crud/persistable.js +53 -19
  720. package/dist/esm/base/controllers/factory/crud/persistable.js.map +1 -1
  721. package/dist/esm/base/controllers/factory/crud/readable.d.ts +7 -2
  722. package/dist/esm/base/controllers/factory/crud/readable.d.ts.map +1 -1
  723. package/dist/esm/base/controllers/factory/crud/readable.js +52 -15
  724. package/dist/esm/base/controllers/factory/crud/readable.js.map +1 -1
  725. package/dist/esm/base/controllers/factory/definition.d.ts +898 -673
  726. package/dist/esm/base/controllers/factory/definition.d.ts.map +1 -1
  727. package/dist/esm/base/controllers/factory/definition.js +451 -349
  728. package/dist/esm/base/controllers/factory/definition.js.map +1 -1
  729. package/dist/esm/base/controllers/factory/index.d.ts +1 -0
  730. package/dist/esm/base/controllers/factory/index.d.ts.map +1 -1
  731. package/dist/esm/base/controllers/factory/index.js +1 -0
  732. package/dist/esm/base/controllers/factory/index.js.map +1 -1
  733. package/dist/esm/base/controllers/factory/repository-injection.d.ts +14 -0
  734. package/dist/esm/base/controllers/factory/repository-injection.d.ts.map +1 -0
  735. package/dist/esm/base/controllers/factory/repository-injection.js +27 -0
  736. package/dist/esm/base/controllers/factory/repository-injection.js.map +1 -0
  737. package/dist/esm/base/controllers/index.d.ts +1 -0
  738. package/dist/esm/base/controllers/index.d.ts.map +1 -1
  739. package/dist/esm/base/controllers/index.js +1 -0
  740. package/dist/esm/base/controllers/index.js.map +1 -1
  741. package/dist/esm/base/controllers/rest/abstract.d.ts +3 -3
  742. package/dist/esm/base/controllers/rest/abstract.d.ts.map +1 -1
  743. package/dist/esm/base/controllers/rest/abstract.js +11 -6
  744. package/dist/esm/base/controllers/rest/abstract.js.map +1 -1
  745. package/dist/esm/base/controllers/rest/base.d.ts +43 -2
  746. package/dist/esm/base/controllers/rest/base.d.ts.map +1 -1
  747. package/dist/esm/base/controllers/rest/base.js +40 -1
  748. package/dist/esm/base/controllers/rest/base.js.map +1 -1
  749. package/dist/esm/base/datasources/abstract.d.ts +2 -0
  750. package/dist/esm/base/datasources/abstract.d.ts.map +1 -1
  751. package/dist/esm/base/datasources/abstract.js +4 -0
  752. package/dist/esm/base/datasources/abstract.js.map +1 -1
  753. package/dist/esm/base/datasources/common/types.d.ts +2 -0
  754. package/dist/esm/base/datasources/common/types.d.ts.map +1 -1
  755. package/dist/esm/base/events/common/constants.d.ts +32 -0
  756. package/dist/esm/base/events/common/constants.d.ts.map +1 -1
  757. package/dist/esm/base/events/common/constants.js +32 -0
  758. package/dist/esm/base/events/common/constants.js.map +1 -1
  759. package/dist/esm/base/events/common/types.d.ts +41 -3
  760. package/dist/esm/base/events/common/types.d.ts.map +1 -1
  761. package/dist/esm/base/events/event-bus.d.ts +45 -8
  762. package/dist/esm/base/events/event-bus.d.ts.map +1 -1
  763. package/dist/esm/base/events/event-bus.js +146 -26
  764. package/dist/esm/base/events/event-bus.js.map +1 -1
  765. package/dist/esm/base/index.d.ts +1 -0
  766. package/dist/esm/base/index.d.ts.map +1 -1
  767. package/dist/esm/base/index.js +1 -0
  768. package/dist/esm/base/index.js.map +1 -1
  769. package/dist/esm/base/metadata/index.d.ts +1 -0
  770. package/dist/esm/base/metadata/index.d.ts.map +1 -1
  771. package/dist/esm/base/metadata/index.js +1 -0
  772. package/dist/esm/base/metadata/index.js.map +1 -1
  773. package/dist/esm/base/metadata/injectable.d.ts +16 -0
  774. package/dist/esm/base/metadata/injectable.d.ts.map +1 -0
  775. package/dist/esm/base/metadata/injectable.js +82 -0
  776. package/dist/esm/base/metadata/injectable.js.map +1 -0
  777. package/dist/esm/base/metadata/injectors.d.ts +15 -6
  778. package/dist/esm/base/metadata/injectors.d.ts.map +1 -1
  779. package/dist/esm/base/metadata/injectors.js +11 -2
  780. package/dist/esm/base/metadata/injectors.js.map +1 -1
  781. package/dist/esm/base/metadata/persistents.d.ts +2 -3
  782. package/dist/esm/base/metadata/persistents.d.ts.map +1 -1
  783. package/dist/esm/base/metadata/persistents.js +83 -21
  784. package/dist/esm/base/metadata/persistents.js.map +1 -1
  785. package/dist/esm/base/metadata/routes/controller.d.ts.map +1 -1
  786. package/dist/esm/base/metadata/routes/controller.js +3 -1
  787. package/dist/esm/base/metadata/routes/controller.js.map +1 -1
  788. package/dist/esm/base/metadata/routes/rpc.d.ts +1 -1
  789. package/dist/esm/base/middlewares/app-error/app-error.middleware.d.ts +4 -0
  790. package/dist/esm/base/middlewares/app-error/app-error.middleware.d.ts.map +1 -1
  791. package/dist/esm/base/middlewares/app-error/app-error.middleware.js +20 -2
  792. package/dist/esm/base/middlewares/app-error/app-error.middleware.js.map +1 -1
  793. package/dist/esm/base/middlewares/app-error/common/index.d.ts +2 -0
  794. package/dist/esm/base/middlewares/app-error/common/index.d.ts.map +1 -0
  795. package/dist/esm/base/middlewares/app-error/common/index.js +2 -0
  796. package/dist/esm/base/middlewares/app-error/common/index.js.map +1 -0
  797. package/dist/esm/base/middlewares/app-error/{types.d.ts → common/types.d.ts} +1 -1
  798. package/dist/esm/base/middlewares/app-error/common/types.d.ts.map +1 -0
  799. package/dist/esm/base/middlewares/app-error/common/types.js.map +1 -0
  800. package/dist/esm/base/middlewares/common/errors.d.ts +17 -1
  801. package/dist/esm/base/middlewares/common/errors.d.ts.map +1 -1
  802. package/dist/esm/base/middlewares/common/errors.js +11 -4
  803. package/dist/esm/base/middlewares/common/errors.js.map +1 -1
  804. package/dist/esm/base/middlewares/form-body/form-body.middleware.d.ts +12 -0
  805. package/dist/esm/base/middlewares/form-body/form-body.middleware.d.ts.map +1 -0
  806. package/dist/esm/base/middlewares/form-body/form-body.middleware.js +24 -0
  807. package/dist/esm/base/middlewares/form-body/form-body.middleware.js.map +1 -0
  808. package/dist/esm/base/mixins/common/index.d.ts +2 -0
  809. package/dist/esm/base/mixins/common/index.d.ts.map +1 -0
  810. package/dist/esm/base/mixins/common/index.js +2 -0
  811. package/dist/esm/base/mixins/common/index.js.map +1 -0
  812. package/dist/esm/base/mixins/common/types.d.ts +54 -0
  813. package/dist/esm/base/mixins/common/types.d.ts.map +1 -0
  814. package/dist/esm/base/mixins/common/types.js.map +1 -0
  815. package/dist/esm/base/mixins/index.d.ts +1 -1
  816. package/dist/esm/base/mixins/index.d.ts.map +1 -1
  817. package/dist/esm/base/mixins/index.js +1 -1
  818. package/dist/esm/base/mixins/index.js.map +1 -1
  819. package/dist/esm/base/models/base.d.ts +2 -0
  820. package/dist/esm/base/models/base.d.ts.map +1 -1
  821. package/dist/esm/base/models/base.js +4 -0
  822. package/dist/esm/base/models/base.js.map +1 -1
  823. package/dist/esm/base/models/common/index.d.ts +3 -1
  824. package/dist/esm/base/models/common/index.d.ts.map +1 -1
  825. package/dist/esm/base/models/common/index.js +3 -1
  826. package/dist/esm/base/models/common/index.js.map +1 -1
  827. package/dist/esm/base/models/common/schemas.d.ts +160 -0
  828. package/dist/esm/base/models/common/schemas.d.ts.map +1 -0
  829. package/dist/esm/base/models/common/{types.js → schemas.js} +12 -18
  830. package/dist/esm/base/models/common/schemas.js.map +1 -0
  831. package/dist/esm/base/models/common/types/id.d.ts +24 -0
  832. package/dist/esm/base/models/common/types/id.d.ts.map +1 -0
  833. package/dist/esm/base/models/common/types/id.js +2 -0
  834. package/dist/esm/base/models/common/types/id.js.map +1 -0
  835. package/dist/esm/base/models/common/types/index.d.ts +2 -0
  836. package/dist/esm/base/models/common/types/index.d.ts.map +1 -0
  837. package/dist/esm/base/models/common/types/index.js +2 -0
  838. package/dist/esm/base/models/common/types/index.js.map +1 -0
  839. package/dist/esm/base/models/common/utilities.d.ts +13 -0
  840. package/dist/esm/base/models/common/utilities.d.ts.map +1 -0
  841. package/dist/esm/base/models/common/utilities.js +19 -0
  842. package/dist/esm/base/models/common/utilities.js.map +1 -0
  843. package/dist/esm/base/repositories/common/constants.d.ts +9 -0
  844. package/dist/esm/base/repositories/common/constants.d.ts.map +1 -1
  845. package/dist/esm/base/repositories/common/constants.js +9 -0
  846. package/dist/esm/base/repositories/common/constants.js.map +1 -1
  847. package/dist/esm/base/repositories/common/index.d.ts +1 -1
  848. package/dist/esm/base/repositories/common/index.js +1 -1
  849. package/dist/esm/base/repositories/common/{types.d.ts → types/contracts.d.ts} +6 -129
  850. package/dist/esm/base/repositories/common/types/contracts.d.ts.map +1 -0
  851. package/dist/esm/base/repositories/common/types/contracts.js +2 -0
  852. package/dist/esm/base/repositories/common/types/contracts.js.map +1 -0
  853. package/dist/esm/base/repositories/common/types/index.d.ts +6 -0
  854. package/dist/esm/base/repositories/common/types/index.d.ts.map +1 -0
  855. package/dist/esm/base/repositories/common/types/index.js +7 -0
  856. package/dist/esm/base/repositories/common/types/index.js.map +1 -0
  857. package/dist/esm/base/repositories/common/types/options.d.ts +89 -0
  858. package/dist/esm/base/repositories/common/types/options.d.ts.map +1 -0
  859. package/dist/esm/base/repositories/common/types/options.js +2 -0
  860. package/dist/esm/base/repositories/common/types/options.js.map +1 -0
  861. package/dist/esm/base/repositories/common/types/query.d.ts +18 -0
  862. package/dist/esm/base/repositories/common/types/query.d.ts.map +1 -0
  863. package/dist/esm/base/repositories/common/types/query.js +2 -0
  864. package/dist/esm/base/repositories/common/types/query.js.map +1 -0
  865. package/dist/esm/base/repositories/common/types/result-schemas.d.ts +10 -0
  866. package/dist/esm/base/repositories/common/types/result-schemas.d.ts.map +1 -0
  867. package/dist/esm/base/repositories/common/types/result-schemas.js +11 -0
  868. package/dist/esm/base/repositories/common/types/result-schemas.js.map +1 -0
  869. package/dist/esm/base/repositories/common/types/results.d.ts +23 -0
  870. package/dist/esm/base/repositories/common/types/results.d.ts.map +1 -0
  871. package/dist/esm/base/repositories/common/{types.js → types/results.js} +1 -7
  872. package/dist/esm/base/repositories/common/types/results.js.map +1 -0
  873. package/dist/esm/base/repositories/core/abstract.d.ts +2 -2
  874. package/dist/esm/base/repositories/core/abstract.d.ts.map +1 -1
  875. package/dist/esm/base/repositories/core/abstract.js +7 -4
  876. package/dist/esm/base/repositories/core/abstract.js.map +1 -1
  877. package/dist/esm/base/repositories/index.d.ts +0 -1
  878. package/dist/esm/base/repositories/index.d.ts.map +1 -1
  879. package/dist/esm/base/repositories/index.js +0 -1
  880. package/dist/esm/base/repositories/index.js.map +1 -1
  881. package/dist/esm/base/repositories/query-schemas/index.d.ts +3 -2
  882. package/dist/esm/base/repositories/query-schemas/index.d.ts.map +1 -1
  883. package/dist/esm/base/repositories/query-schemas/index.js +3 -2
  884. package/dist/esm/base/repositories/query-schemas/index.js.map +1 -1
  885. package/dist/esm/base/services/base.d.ts +1 -1
  886. package/dist/esm/base/services/base.d.ts.map +1 -1
  887. package/dist/esm/base/services/common/index.d.ts +2 -0
  888. package/dist/esm/base/services/common/index.d.ts.map +1 -0
  889. package/dist/esm/base/services/common/index.js +2 -0
  890. package/dist/esm/base/services/common/index.js.map +1 -0
  891. package/dist/esm/base/services/common/types.d.ts.map +1 -0
  892. package/dist/esm/base/services/common/types.js.map +1 -0
  893. package/dist/esm/base/services/index.d.ts +1 -2
  894. package/dist/esm/base/services/index.d.ts.map +1 -1
  895. package/dist/esm/base/services/index.js +1 -2
  896. package/dist/esm/base/services/index.js.map +1 -1
  897. package/dist/esm/common/bindings.d.ts +23 -2
  898. package/dist/esm/common/bindings.d.ts.map +1 -1
  899. package/dist/esm/common/bindings.js +51 -3
  900. package/dist/esm/common/bindings.js.map +1 -1
  901. package/dist/esm/common/error-codes.d.ts +0 -2
  902. package/dist/esm/common/error-codes.d.ts.map +1 -1
  903. package/dist/esm/common/error-codes.js +0 -2
  904. package/dist/esm/common/error-codes.js.map +1 -1
  905. package/dist/esm/common/index.d.ts +1 -1
  906. package/dist/esm/common/index.js +1 -1
  907. package/dist/{cjs/common/statuses.d.ts → esm/common/statuses/common.d.ts} +1 -22
  908. package/dist/esm/common/statuses/common.d.ts.map +1 -0
  909. package/dist/esm/common/{statuses.js → statuses/common.js} +1 -26
  910. package/dist/esm/common/statuses/common.js.map +1 -0
  911. package/dist/esm/common/statuses/index.d.ts +5 -0
  912. package/dist/esm/common/statuses/index.d.ts.map +1 -0
  913. package/dist/esm/common/statuses/index.js +5 -0
  914. package/dist/esm/common/statuses/index.js.map +1 -0
  915. package/dist/esm/common/statuses/migration.d.ts +9 -0
  916. package/dist/esm/common/statuses/migration.d.ts.map +1 -0
  917. package/dist/esm/common/statuses/migration.js +12 -0
  918. package/dist/esm/common/statuses/migration.js.map +1 -0
  919. package/dist/esm/common/statuses/role.d.ts +5 -0
  920. package/dist/esm/common/statuses/role.d.ts.map +1 -0
  921. package/dist/esm/common/statuses/role.js +5 -0
  922. package/dist/esm/common/statuses/role.js.map +1 -0
  923. package/dist/esm/common/statuses/user.d.ts +12 -0
  924. package/dist/esm/common/statuses/user.d.ts.map +1 -0
  925. package/dist/esm/common/statuses/user.js +14 -0
  926. package/dist/esm/common/statuses/user.js.map +1 -0
  927. package/dist/esm/helpers/inversion/common/constants.d.ts +13 -0
  928. package/dist/esm/helpers/inversion/common/constants.d.ts.map +1 -0
  929. package/dist/esm/helpers/inversion/common/constants.js +23 -0
  930. package/dist/esm/helpers/inversion/common/constants.js.map +1 -0
  931. package/dist/esm/helpers/inversion/common/index.d.ts +2 -1
  932. package/dist/esm/helpers/inversion/common/index.d.ts.map +1 -1
  933. package/dist/esm/helpers/inversion/common/index.js +2 -1
  934. package/dist/esm/helpers/inversion/common/index.js.map +1 -1
  935. package/dist/esm/helpers/inversion/common/keys.d.ts +3 -0
  936. package/dist/esm/helpers/inversion/common/keys.d.ts.map +1 -1
  937. package/dist/esm/helpers/inversion/common/keys.js +2 -0
  938. package/dist/esm/helpers/inversion/common/keys.js.map +1 -1
  939. package/dist/esm/helpers/inversion/common/types/artifact.d.ts +34 -0
  940. package/dist/esm/helpers/inversion/common/types/artifact.d.ts.map +1 -0
  941. package/dist/esm/helpers/inversion/common/types/artifact.js +2 -0
  942. package/dist/esm/helpers/inversion/common/types/artifact.js.map +1 -0
  943. package/dist/esm/helpers/inversion/common/types/controller.d.ts +33 -0
  944. package/dist/esm/helpers/inversion/common/types/controller.d.ts.map +1 -0
  945. package/dist/esm/helpers/inversion/common/types/controller.js +2 -0
  946. package/dist/esm/helpers/inversion/common/types/controller.js.map +1 -0
  947. package/dist/esm/helpers/inversion/common/types/index.d.ts +6 -0
  948. package/dist/esm/helpers/inversion/common/types/index.d.ts.map +1 -0
  949. package/dist/esm/helpers/inversion/common/types/index.js +6 -0
  950. package/dist/esm/helpers/inversion/common/types/index.js.map +1 -0
  951. package/dist/esm/helpers/inversion/common/types/injection.d.ts +6 -0
  952. package/dist/esm/helpers/inversion/common/types/injection.d.ts.map +1 -0
  953. package/dist/esm/helpers/inversion/common/types/injection.js +2 -0
  954. package/dist/esm/helpers/inversion/common/types/injection.js.map +1 -0
  955. package/dist/{cjs/helpers/inversion/common/types.d.ts → esm/helpers/inversion/common/types/model.d.ts} +6 -63
  956. package/dist/esm/helpers/inversion/common/types/model.d.ts.map +1 -0
  957. package/dist/esm/helpers/inversion/common/types/model.js +2 -0
  958. package/dist/esm/helpers/inversion/common/types/model.js.map +1 -0
  959. package/dist/esm/helpers/inversion/common/types/persistence.d.ts +39 -0
  960. package/dist/esm/helpers/inversion/common/types/persistence.d.ts.map +1 -0
  961. package/dist/esm/helpers/inversion/common/types/persistence.js +2 -0
  962. package/dist/esm/helpers/inversion/common/types/persistence.js.map +1 -0
  963. package/dist/esm/helpers/inversion/index.d.ts +1 -1
  964. package/dist/esm/helpers/inversion/index.d.ts.map +1 -1
  965. package/dist/esm/helpers/inversion/index.js +1 -1
  966. package/dist/esm/helpers/inversion/index.js.map +1 -1
  967. package/dist/esm/helpers/inversion/mixins/artifact.mixin.d.ts +86 -0
  968. package/dist/esm/helpers/inversion/mixins/artifact.mixin.d.ts.map +1 -0
  969. package/dist/esm/helpers/inversion/mixins/artifact.mixin.js +38 -0
  970. package/dist/esm/helpers/inversion/mixins/artifact.mixin.js.map +1 -0
  971. package/dist/esm/helpers/inversion/mixins/controllers/controller.d.ts +9 -1
  972. package/dist/esm/helpers/inversion/mixins/controllers/controller.d.ts.map +1 -1
  973. package/dist/esm/helpers/inversion/mixins/controllers/grpc.d.ts +9 -1
  974. package/dist/esm/helpers/inversion/mixins/controllers/grpc.d.ts.map +1 -1
  975. package/dist/esm/helpers/inversion/mixins/controllers/rest.d.ts +9 -1
  976. package/dist/esm/helpers/inversion/mixins/controllers/rest.d.ts.map +1 -1
  977. package/dist/esm/helpers/inversion/mixins/datasource.mixin.d.ts +9 -1
  978. package/dist/esm/helpers/inversion/mixins/datasource.mixin.d.ts.map +1 -1
  979. package/dist/esm/helpers/inversion/mixins/index.d.ts +1 -0
  980. package/dist/esm/helpers/inversion/mixins/index.d.ts.map +1 -1
  981. package/dist/esm/helpers/inversion/mixins/index.js +1 -0
  982. package/dist/esm/helpers/inversion/mixins/index.js.map +1 -1
  983. package/dist/esm/helpers/inversion/mixins/model.mixin.d.ts +13 -1
  984. package/dist/esm/helpers/inversion/mixins/model.mixin.d.ts.map +1 -1
  985. package/dist/esm/helpers/inversion/mixins/model.mixin.js +22 -4
  986. package/dist/esm/helpers/inversion/mixins/model.mixin.js.map +1 -1
  987. package/dist/esm/helpers/inversion/mixins/repository.mixin.d.ts +13 -3
  988. package/dist/esm/helpers/inversion/mixins/repository.mixin.d.ts.map +1 -1
  989. package/dist/esm/helpers/inversion/mixins/repository.mixin.js +4 -4
  990. package/dist/esm/helpers/inversion/mixins/repository.mixin.js.map +1 -1
  991. package/dist/esm/helpers/inversion/registry.d.ts +136 -3
  992. package/dist/esm/helpers/inversion/registry.d.ts.map +1 -1
  993. package/dist/esm/helpers/inversion/registry.js +4 -2
  994. package/dist/esm/helpers/inversion/registry.js.map +1 -1
  995. package/dist/esm/metadata.d.ts +23 -0
  996. package/dist/esm/metadata.d.ts.map +1 -0
  997. package/dist/esm/metadata.js +21 -0
  998. package/dist/esm/metadata.js.map +1 -0
  999. package/dist/esm/package.json +6 -0
  1000. package/dist/esm/repository.d.ts +29 -0
  1001. package/dist/esm/repository.d.ts.map +1 -0
  1002. package/dist/esm/repository.js +27 -0
  1003. package/dist/esm/repository.js.map +1 -0
  1004. package/dist/esm/utilities/error.utility.d.ts.map +1 -1
  1005. package/dist/esm/utilities/error.utility.js +2 -2
  1006. package/dist/esm/utilities/error.utility.js.map +1 -1
  1007. package/dist/esm/utilities/index.d.ts +0 -2
  1008. package/dist/esm/utilities/index.d.ts.map +1 -1
  1009. package/dist/esm/utilities/index.js +2 -2
  1010. package/dist/esm/utilities/index.js.map +1 -1
  1011. package/package.json +29 -13
  1012. package/dist/cjs/base/applications/types.d.ts +0 -111
  1013. package/dist/cjs/base/applications/types.d.ts.map +0 -1
  1014. package/dist/cjs/base/applications/types.js +0 -5
  1015. package/dist/cjs/base/applications/types.js.map +0 -1
  1016. package/dist/cjs/base/auth/authenticate/common/constants.d.ts +0 -86
  1017. package/dist/cjs/base/auth/authenticate/common/constants.d.ts.map +0 -1
  1018. package/dist/cjs/base/auth/authenticate/common/constants.js +0 -104
  1019. package/dist/cjs/base/auth/authenticate/common/constants.js.map +0 -1
  1020. package/dist/cjs/base/auth/authenticate/common/types.d.ts +0 -312
  1021. package/dist/cjs/base/auth/authenticate/common/types.d.ts.map +0 -1
  1022. package/dist/cjs/base/auth/authenticate/common/types.js.map +0 -1
  1023. package/dist/cjs/base/auth/authorize/common/constants.d.ts.map +0 -1
  1024. package/dist/cjs/base/auth/authorize/common/constants.js.map +0 -1
  1025. package/dist/cjs/base/auth/authorize/common/types.d.ts.map +0 -1
  1026. package/dist/cjs/base/auth/authorize/common/types.js.map +0 -1
  1027. package/dist/cjs/base/controllers/common/types.d.ts +0 -174
  1028. package/dist/cjs/base/controllers/common/types.d.ts.map +0 -1
  1029. package/dist/cjs/base/controllers/common/types.js.map +0 -1
  1030. package/dist/cjs/base/middlewares/app-error/types.d.ts.map +0 -1
  1031. package/dist/cjs/base/middlewares/app-error/types.js.map +0 -1
  1032. package/dist/cjs/base/mixins/types.d.ts +0 -42
  1033. package/dist/cjs/base/mixins/types.d.ts.map +0 -1
  1034. package/dist/cjs/base/mixins/types.js.map +0 -1
  1035. package/dist/cjs/base/models/common/types.d.ts +0 -108
  1036. package/dist/cjs/base/models/common/types.d.ts.map +0 -1
  1037. package/dist/cjs/base/models/common/types.js.map +0 -1
  1038. package/dist/cjs/base/repositories/common/types.d.ts.map +0 -1
  1039. package/dist/cjs/base/repositories/common/types.js.map +0 -1
  1040. package/dist/cjs/base/repositories/sqls/index.d.ts +0 -2
  1041. package/dist/cjs/base/repositories/sqls/index.d.ts.map +0 -1
  1042. package/dist/cjs/base/repositories/sqls/index.js.map +0 -1
  1043. package/dist/cjs/base/repositories/sqls/recursive-tree.d.ts +0 -56
  1044. package/dist/cjs/base/repositories/sqls/recursive-tree.d.ts.map +0 -1
  1045. package/dist/cjs/base/repositories/sqls/recursive-tree.js +0 -148
  1046. package/dist/cjs/base/repositories/sqls/recursive-tree.js.map +0 -1
  1047. package/dist/cjs/base/services/base-crud.d.ts +0 -2
  1048. package/dist/cjs/base/services/base-crud.d.ts.map +0 -1
  1049. package/dist/cjs/base/services/base-crud.js +0 -3
  1050. package/dist/cjs/base/services/base-crud.js.map +0 -1
  1051. package/dist/cjs/base/services/types.d.ts.map +0 -1
  1052. package/dist/cjs/base/services/types.js +0 -3
  1053. package/dist/cjs/base/services/types.js.map +0 -1
  1054. package/dist/cjs/common/statuses.d.ts.map +0 -1
  1055. package/dist/cjs/common/statuses.js.map +0 -1
  1056. package/dist/cjs/helpers/inversion/common/types.d.ts.map +0 -1
  1057. package/dist/cjs/helpers/inversion/common/types.js +0 -3
  1058. package/dist/cjs/helpers/inversion/common/types.js.map +0 -1
  1059. package/dist/cjs/utilities/jsx.utility.d.ts.map +0 -1
  1060. package/dist/cjs/utilities/jsx.utility.js.map +0 -1
  1061. package/dist/cjs/utilities/schema.utility.d.ts.map +0 -1
  1062. package/dist/cjs/utilities/schema.utility.js.map +0 -1
  1063. package/dist/esm/base/applications/types.d.ts +0 -111
  1064. package/dist/esm/base/applications/types.d.ts.map +0 -1
  1065. package/dist/esm/base/applications/types.js +0 -2
  1066. package/dist/esm/base/applications/types.js.map +0 -1
  1067. package/dist/esm/base/auth/authenticate/common/constants.d.ts +0 -86
  1068. package/dist/esm/base/auth/authenticate/common/constants.d.ts.map +0 -1
  1069. package/dist/esm/base/auth/authenticate/common/constants.js +0 -92
  1070. package/dist/esm/base/auth/authenticate/common/constants.js.map +0 -1
  1071. package/dist/esm/base/auth/authenticate/common/types.d.ts +0 -312
  1072. package/dist/esm/base/auth/authenticate/common/types.d.ts.map +0 -1
  1073. package/dist/esm/base/auth/authenticate/common/types.js.map +0 -1
  1074. package/dist/esm/base/auth/authorize/common/constants.d.ts.map +0 -1
  1075. package/dist/esm/base/auth/authorize/common/constants.js.map +0 -1
  1076. package/dist/esm/base/auth/authorize/common/types.d.ts.map +0 -1
  1077. package/dist/esm/base/auth/authorize/common/types.js.map +0 -1
  1078. package/dist/esm/base/controllers/common/types.d.ts +0 -174
  1079. package/dist/esm/base/controllers/common/types.d.ts.map +0 -1
  1080. package/dist/esm/base/controllers/common/types.js.map +0 -1
  1081. package/dist/esm/base/middlewares/app-error/types.d.ts.map +0 -1
  1082. package/dist/esm/base/middlewares/app-error/types.js.map +0 -1
  1083. package/dist/esm/base/mixins/types.d.ts +0 -42
  1084. package/dist/esm/base/mixins/types.d.ts.map +0 -1
  1085. package/dist/esm/base/mixins/types.js.map +0 -1
  1086. package/dist/esm/base/models/common/types.d.ts +0 -108
  1087. package/dist/esm/base/models/common/types.d.ts.map +0 -1
  1088. package/dist/esm/base/models/common/types.js.map +0 -1
  1089. package/dist/esm/base/repositories/common/types.d.ts.map +0 -1
  1090. package/dist/esm/base/repositories/common/types.js.map +0 -1
  1091. package/dist/esm/base/repositories/sqls/index.d.ts +0 -2
  1092. package/dist/esm/base/repositories/sqls/index.d.ts.map +0 -1
  1093. package/dist/esm/base/repositories/sqls/index.js +0 -2
  1094. package/dist/esm/base/repositories/sqls/index.js.map +0 -1
  1095. package/dist/esm/base/repositories/sqls/recursive-tree.d.ts +0 -56
  1096. package/dist/esm/base/repositories/sqls/recursive-tree.d.ts.map +0 -1
  1097. package/dist/esm/base/repositories/sqls/recursive-tree.js +0 -143
  1098. package/dist/esm/base/repositories/sqls/recursive-tree.js.map +0 -1
  1099. package/dist/esm/base/services/base-crud.d.ts +0 -2
  1100. package/dist/esm/base/services/base-crud.d.ts.map +0 -1
  1101. package/dist/esm/base/services/base-crud.js +0 -2
  1102. package/dist/esm/base/services/base-crud.js.map +0 -1
  1103. package/dist/esm/base/services/types.d.ts.map +0 -1
  1104. package/dist/esm/base/services/types.js +0 -2
  1105. package/dist/esm/base/services/types.js.map +0 -1
  1106. package/dist/esm/common/statuses.d.ts.map +0 -1
  1107. package/dist/esm/common/statuses.js.map +0 -1
  1108. package/dist/esm/helpers/inversion/common/types.d.ts.map +0 -1
  1109. package/dist/esm/helpers/inversion/common/types.js +0 -2
  1110. package/dist/esm/helpers/inversion/common/types.js.map +0 -1
  1111. package/dist/esm/utilities/jsx.utility.d.ts.map +0 -1
  1112. package/dist/esm/utilities/jsx.utility.js.map +0 -1
  1113. package/dist/esm/utilities/schema.utility.d.ts.map +0 -1
  1114. package/dist/esm/utilities/schema.utility.js.map +0 -1
  1115. /package/dist/cjs/base/{auth/authenticate → configurations}/common/types.js +0 -0
  1116. /package/dist/cjs/base/{auth/authorize → middlewares/app-error}/common/types.js +0 -0
  1117. /package/dist/cjs/base/{middlewares/app-error → mixins/common}/types.js +0 -0
  1118. /package/dist/cjs/base/services/{types.d.ts → common/types.d.ts} +0 -0
  1119. /package/dist/cjs/base/{mixins → services/common}/types.js +0 -0
  1120. /package/dist/esm/base/{auth/authenticate → configurations}/common/types.js +0 -0
  1121. /package/dist/esm/base/{auth/authorize → middlewares/app-error}/common/types.js +0 -0
  1122. /package/dist/esm/base/{middlewares/app-error → mixins/common}/types.js +0 -0
  1123. /package/dist/esm/base/services/{types.d.ts → common/types.d.ts} +0 -0
  1124. /package/dist/esm/base/{mixins → services/common}/types.js +0 -0
@@ -3,27 +3,41 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RestApplication = void 0;
4
4
  const bindings_1 = require("../../common/bindings");
5
5
  const inversion_1 = require("../../helpers/inversion");
6
- const rest_component_1 = require("../components/controller/rest/rest.component");
7
- const constants_1 = require("../controllers/common/constants");
8
6
  const zod_openapi_1 = require("@hono/zod-openapi");
9
7
  const core_1 = require("@venizia/ignis-helpers/core");
10
8
  const dev_1 = require("hono/dev");
9
+ const body_limit_1 = require("hono/body-limit");
11
10
  const request_id_1 = require("hono/request-id");
11
+ const rest_component_1 = require("../components/controller/rest/rest.component");
12
+ const constants_1 = require("../controllers/common/constants");
12
13
  const app_error_middleware_1 = require("../middlewares/app-error/app-error.middleware");
14
+ const errors_1 = require("../middlewares/common/errors");
13
15
  const not_found_middleware_1 = require("../middlewares/not-found/not-found.middleware");
14
16
  const abstract_1 = require("./abstract");
17
+ const artifact_index_1 = require("./artifact-index");
18
+ const boot_sequence_1 = require("./boot-sequence");
15
19
  /** Adds the `OpenAPIHono` router surface on top of `AbstractApplication` - no listening server, so this is the layer a browser Worker or gRPC-only host can extend without pulling in `Bun.serve` / `@hono/node-server`. */
16
20
  class RestApplication extends abstract_1.AbstractApplication {
17
21
  constructor(opts) {
18
22
  super(opts);
19
23
  this.registeredBindings = {};
24
+ this.artifactOptions = new Map();
25
+ // A config built from the environment can lose `path.base` at run time; the router would only fail later, inside `route()`, with a message that names nothing.
26
+ if (typeof this.configs.path?.base !== 'string') {
27
+ throw (0, core_1.getError)({
28
+ message: `[${opts.scope}] configs.path.base must be a string | value: ${String(this.configs.path?.base)} | an empty string mounts the application at the root`,
29
+ });
30
+ }
31
+ // The index signature accepts any key, so a leftover `strictPath` would compile and be ignored.
32
+ if (this.configs.strictPath !== undefined) {
33
+ throw (0, core_1.getError)({
34
+ message: `[${opts.scope}] configs.strictPath was removed | value: ${String(this.configs.strictPath)} | Use configs.path.isStrict`,
35
+ });
36
+ }
20
37
  this.requestIdGenerator = new core_1.RequestIdGenerator({ scope: opts.scope });
21
- const honoServer = new zod_openapi_1.OpenAPIHono({
22
- strict: this.configs.strictPath ?? true,
23
- });
24
- this.rootRouter = new zod_openapi_1.OpenAPIHono({
25
- strict: this.configs.strictPath ?? true,
26
- });
38
+ const strict = this.configs.path.isStrict ?? true;
39
+ const honoServer = new zod_openapi_1.OpenAPIHono({ strict });
40
+ this.rootRouter = new zod_openapi_1.OpenAPIHono({ strict });
27
41
  this.server = { hono: honoServer };
28
42
  }
29
43
  getRootRouter() {
@@ -57,37 +71,217 @@ class RestApplication extends abstract_1.AbstractApplication {
57
71
  });
58
72
  }
59
73
  /**
60
- * The three registrations every host needs, in one place, so a server and a browser Worker cannot
61
- * drift: a request id, the framework's error envelope, and a JSON 404.
62
- *
63
- * None is optional. Hono's own defaults answer a thrown `ApplicationError` with a generic 500 and
64
- * an unrouted path with `text/plain` - a caller doing `response.json()` on that 404 gets a
65
- * `SyntaxError` instead of an error envelope. And without `requestId()`, `context.get(REQUEST_ID_KEY)`
66
- * is `undefined`, so `context.json` drops the one field that ties a response to a log line.
67
- *
68
- * Registered before `initialize()`, so an application installing its own handlers still wins.
74
+ * The three registrations every host needs: request id, error envelope, JSON 404 - without them a
75
+ * thrown `ApplicationError` is a generic 500, a 404 is `text/plain`, and no response carries a request id.
76
+ * Registered before `initialize()`, so an application's own handlers still win.
69
77
  */
70
78
  registerDefaultMiddlewares() {
71
79
  const server = this.getServer();
72
80
  server.use((0, request_id_1.requestId)({ generator: () => this.generateRequestId() }));
81
+ // Ahead of every middleware a host adds after this one, so none of them buffers a body over it.
82
+ const bodyLimitOptions = this.configs.middlewares?.bodyLimit;
83
+ this.installedBodyLimit = { options: this.toInstalledBodyLimit({ options: bodyLimitOptions }) };
84
+ if (bodyLimitOptions && bodyLimitOptions.enable !== false) {
85
+ const { maxSize, path, onError } = bodyLimitOptions;
86
+ if (typeof maxSize !== 'number' || !Number.isFinite(maxSize) || maxSize < 0) {
87
+ throw (0, core_1.getError)({
88
+ message: `[registerDefaultMiddlewares] configs.middlewares.bodyLimit.maxSize must be a non-negative number of bytes | value: ${String(maxSize)}`,
89
+ });
90
+ }
91
+ const limiter = (0, body_limit_1.bodyLimit)({
92
+ maxSize,
93
+ onError: onError ??
94
+ (() => {
95
+ throw (0, core_1.getError)({
96
+ error: errors_1.RequestErrors.BODY_TOO_LARGE,
97
+ message: `Request body exceeds the maximum of ${maxSize} bytes`,
98
+ });
99
+ }),
100
+ });
101
+ if (path) {
102
+ server.use(path, limiter);
103
+ }
104
+ else {
105
+ server.use(limiter);
106
+ }
107
+ }
73
108
  server.onError(this.buildErrorMiddleware().value());
74
109
  server.notFound((0, not_found_middleware_1.notFoundHandler)({ logger: this.logger }));
75
110
  }
111
+ /** What a `bodyLimit` config installs: nothing when absent or disabled, else a copy, so a later in-place edit shows. */
112
+ toInstalledBodyLimit(opts) {
113
+ const { options } = opts;
114
+ if (!options || options.enable === false) {
115
+ return undefined;
116
+ }
117
+ return { ...options };
118
+ }
119
+ isSameBodyLimit(opts) {
120
+ const { left, right } = opts;
121
+ if (!left || !right) {
122
+ return left === right;
123
+ }
124
+ const keys = new Set([...Object.keys(left), ...Object.keys(right)]);
125
+ for (const key of keys) {
126
+ if (!Object.is(left[key], right[key])) {
127
+ return false;
128
+ }
129
+ }
130
+ return true;
131
+ }
76
132
  /**
77
- * The artifact ordering, stated ONCE: datasources before repositories can auto-resolve them, and
78
- * components before controllers because a component may contribute either.
79
- *
80
- * A browser Worker application inherits this and writes none of it. `BaseApplication` in
81
- * `@venizia/ignis` is the one deliberate override - it interleaves phases only a server has
82
- * (start-up banner, env validation, secret hydration and rotation) between these steps.
133
+ * `configs.middlewares` is read by `registerDefaultMiddlewares()`, which runs before `staticConfigure()`.
134
+ * A limit assigned in a boot hook would read back as configured while every request ran unlimited.
135
+ */
136
+ assertBodyLimitUnchanged(opts) {
137
+ if (!this.installedBodyLimit) {
138
+ return;
139
+ }
140
+ const installed = this.installedBodyLimit.options;
141
+ const current = this.toInstalledBodyLimit({ options: this.configs.middlewares?.bodyLimit });
142
+ if (this.isSameBodyLimit({ left: installed, right: current })) {
143
+ return;
144
+ }
145
+ throw (0, core_1.getError)({
146
+ message: `[${opts.step}] configs.middlewares.bodyLimit changed after registerDefaultMiddlewares() installed it | installed maxSize: ${installed?.maxSize ?? 'none'} | now maxSize: ${current?.maxSize ?? 'none'} | Pass it through the constructor config: new Application({ config: { middlewares: { bodyLimit } } })`,
147
+ });
148
+ }
149
+ /**
150
+ * The artifact order, stated once: datasources before the repositories that auto-resolve them,
151
+ * components before the controllers they may contribute. `BaseApplication` splices its server-only
152
+ * steps around these by name instead of rewriting the list.
83
153
  */
154
+ getBootSequence() {
155
+ return [
156
+ {
157
+ name: boot_sequence_1.BootSteps.STATIC_CONFIGURE,
158
+ run: async () => {
159
+ // Declared `void`, but an override may be async; the step has always waited on it.
160
+ await Promise.resolve(this.staticConfigure());
161
+ this.assertBodyLimitUnchanged({ step: boot_sequence_1.BootSteps.STATIC_CONFIGURE });
162
+ },
163
+ },
164
+ { name: boot_sequence_1.BootSteps.REGISTER_ARTIFACTS, run: () => this.registerConfiguredArtifacts() },
165
+ {
166
+ name: boot_sequence_1.BootSteps.PRE_CONFIGURE,
167
+ run: async () => {
168
+ await this.runApplicationHook({
169
+ name: boot_sequence_1.BootSteps.PRE_CONFIGURE,
170
+ hook: () => this.preConfigure(),
171
+ });
172
+ this.assertBodyLimitUnchanged({ step: boot_sequence_1.BootSteps.PRE_CONFIGURE });
173
+ },
174
+ },
175
+ {
176
+ name: boot_sequence_1.BootSteps.REGISTER_CONFIGURATIONS,
177
+ run: () => this.registerConfigurations(),
178
+ },
179
+ { name: boot_sequence_1.BootSteps.REGISTER_DATA_SOURCES, run: () => this.registerDataSources() },
180
+ { name: boot_sequence_1.BootSteps.REGISTER_COMPONENTS, run: () => this.registerComponents() },
181
+ {
182
+ name: boot_sequence_1.BootSteps.REGISTER_CONTRIBUTED_DATA_SOURCES,
183
+ run: () => this.registerContributedDataSources(),
184
+ },
185
+ { name: boot_sequence_1.BootSteps.REGISTER_CONTROLLERS, run: () => this.registerControllers() },
186
+ {
187
+ name: boot_sequence_1.BootSteps.POST_CONFIGURE,
188
+ run: () => this.runApplicationHook({
189
+ name: boot_sequence_1.BootSteps.POST_CONFIGURE,
190
+ hook: () => this.postConfigure(),
191
+ }),
192
+ },
193
+ { name: boot_sequence_1.BootSteps.VERIFY_BINDINGS, run: () => this.verifyBindings() },
194
+ ];
195
+ }
84
196
  async initialize() {
85
- this.staticConfigure();
86
- await this.preConfigure();
87
- await this.registerDataSources();
88
- await this.registerComponents();
89
- await this.registerControllers();
90
- await this.postConfigure();
197
+ await this.runBootSequence({ steps: this.getBootSequence() });
198
+ }
199
+ async runApplicationHook(opts) {
200
+ this.runningApplicationHook = opts.name;
201
+ try {
202
+ await opts.hook();
203
+ }
204
+ finally {
205
+ this.runningApplicationHook = undefined;
206
+ }
207
+ }
208
+ /**
209
+ * Bound keys carrying one of `tags` that nothing has resolved since the counts were last reset.
210
+ * The counter answers "who was read", never "who is dead" - an unread binding may be an
211
+ * allow-list entry or a technical floor, and only the application can tell those apart.
212
+ *
213
+ * Counting is off by default. Call `startResolutionCounting()` after `initialize()` and run the
214
+ * traffic that exercises the application, then read this.
215
+ */
216
+ getUnresolvedBindings(opts) {
217
+ if (!this.hasStartedResolutionCounting) {
218
+ throw (0, core_1.getError)({
219
+ message: `[${this.getUnresolvedBindings.name}] Resolution counting never started | Call startResolutionCounting() after initialize(), run the traffic that exercises the application, then read this - without it every binding would be reported unresolved`,
220
+ });
221
+ }
222
+ const tags = opts?.tags ?? [bindings_1.BindingNamespaces.SERVICE, bindings_1.BindingNamespaces.REPOSITORY];
223
+ const counts = this.getResolutionCounts();
224
+ const unresolved = [];
225
+ for (const tag of tags) {
226
+ const bindings = this.findByTag({ tag });
227
+ for (const binding of bindings) {
228
+ if (counts.has(binding.key)) {
229
+ continue;
230
+ }
231
+ unresolved.push(binding.key);
232
+ }
233
+ }
234
+ return unresolved;
235
+ }
236
+ /** `bootChecks.binding.doVerify`: resolve every service and repository once, collect every failure, throw once with the whole list - a made-up `@inject` key or a dependency a `when` excluded then fails the boot, not the first request. */
237
+ verifyBindings() {
238
+ if (!this.configs.bootChecks?.binding?.doVerify) {
239
+ return;
240
+ }
241
+ const logger = this.logger.for(this.verifyBindings.name);
242
+ const tags = [bindings_1.BindingNamespaces.SERVICE, bindings_1.BindingNamespaces.REPOSITORY];
243
+ const failures = [];
244
+ let verified = 0;
245
+ for (const tag of tags) {
246
+ const bindings = this.findByTag({ tag });
247
+ for (const binding of bindings) {
248
+ try {
249
+ this.get({ key: binding.key });
250
+ verified += 1;
251
+ }
252
+ catch (error) {
253
+ failures.push(`${binding.key}: ${error instanceof Error ? error.message : String(error)}`);
254
+ }
255
+ }
256
+ }
257
+ if (failures.length > 0) {
258
+ throw (0, core_1.getError)({
259
+ message: `[${this.verifyBindings.name}] ${failures.length} binding(s) cannot be resolved | ${failures.join(' | ')}`,
260
+ });
261
+ }
262
+ logger.info('Every service and repository binding resolves | verified: %d', verified);
263
+ }
264
+ /** One measured log line per step, and a failure names its step before rethrowing, so a hung or failed boot is attributable without reading the sequence. */
265
+ async runBootSequence(opts) {
266
+ const { steps } = opts;
267
+ const logger = this.logger.for(this.initialize.name);
268
+ const t = performance.now();
269
+ const stepsEntries = steps.entries();
270
+ for (const [index, step] of stepsEntries) {
271
+ try {
272
+ await (0, core_1.executeWithPerformanceMeasure)({
273
+ logger: this.logger,
274
+ scope: this.initialize.name,
275
+ description: `Boot step ${index + 1}/${steps.length} ${step.name}`,
276
+ task: () => step.run(),
277
+ });
278
+ }
279
+ catch (error) {
280
+ logger.error('Boot step failed | step: %s (%d/%d) | error: %s', step.name, index + 1, steps.length, error);
281
+ throw error;
282
+ }
283
+ }
284
+ logger.info('Boot sequence complete | %d step(s) | Took: %s (ms) | %s', steps.length, performance.now() - t, steps.map(step => step.name).join(' -> '));
91
285
  }
92
286
  inspectRoutes() {
93
287
  const t = performance.now();
@@ -101,48 +295,135 @@ class RestApplication extends abstract_1.AbstractApplication {
101
295
  .for(this.inspectRoutes.name)
102
296
  .info('DONE | Inspect all application route(s) | Took: %s (ms)', performance.now() - t);
103
297
  }
104
- async registerDynamicBindings(opts) {
105
- const logger = this.logger.for(this.registerDynamicBindings.name);
106
- const { namespace, onBeforeConfigure, onAfterConfigure } = opts;
107
- if (!this.registeredBindings[namespace]) {
108
- this.registeredBindings[namespace] = new Set();
109
- }
110
- const configured = this.registeredBindings[namespace];
298
+ /**
299
+ * `configured` is the drain's state, mutated in place: a fresh `Set` gives a one-shot complete
300
+ * drain (`RestComponent`); `registerDynamicBindings` passes its persistent per-namespace `Set`,
301
+ * which is why a second sweep touches only what the first one missed.
302
+ */
303
+ async drainByTag(opts) {
304
+ const { tag, configured, onEach } = opts;
111
305
  // A whole batch is drained before re-scanning: the re-scan exists only to pick up bindings a
112
306
  // `configure()` added, and asking after every single item makes boot N+1 full scans of the
113
307
  // binding map - 3.5ms at 200 controllers, against 0.04ms for this shape.
114
- let bindings = this.findByTag({ tag: namespace, exclude: configured });
308
+ let bindings = this.findByTag({ tag, exclude: configured });
115
309
  while (bindings.length > 0) {
116
310
  for (const binding of bindings) {
117
311
  // Within a batch a nested `configure()` may already have taken this one.
118
312
  if (configured.has(binding.key)) {
119
313
  continue;
120
314
  }
315
+ await onEach({ binding });
316
+ configured.add(binding.key);
317
+ }
318
+ // Re-fetch excluding already configured - picks up dynamically added bindings
319
+ bindings = this.findByTag({ tag, exclude: configured });
320
+ }
321
+ }
322
+ async registerDynamicBindings(opts) {
323
+ const logger = this.logger.for(this.registerDynamicBindings.name);
324
+ const { namespace, onBeforeConfigure, onAfterConfigure } = opts;
325
+ if (!this.registeredBindings[namespace]) {
326
+ this.registeredBindings[namespace] = new Set();
327
+ }
328
+ const configured = this.registeredBindings[namespace];
329
+ await this.drainByTag({
330
+ tag: namespace,
331
+ configured,
332
+ onEach: async ({ binding }) => {
121
333
  if (onBeforeConfigure) {
122
334
  await onBeforeConfigure({ binding });
123
335
  }
124
336
  const instance = this.get({ key: binding.key, isOptional: false });
125
337
  if (!instance) {
126
338
  logger.debug('No binding instance | namespace: %s | key: %s', namespace, binding.key);
127
- configured.add(binding.key);
128
- continue;
339
+ return;
340
+ }
341
+ if (typeof instance?.configure === 'function') {
342
+ const options = this.artifactOptions.get(binding.key);
343
+ await instance.configure(options);
129
344
  }
130
- await instance.configure();
345
+ // Marked before the after-hook runs, so the hook sees its own binding as configured.
131
346
  configured.add(binding.key);
132
347
  if (onAfterConfigure) {
133
348
  await onAfterConfigure({ binding, instance });
134
349
  }
135
- }
136
- // Re-fetch excluding already configured - picks up dynamically added bindings
137
- bindings = this.findByTag({ tag: namespace, exclude: configured });
350
+ },
351
+ });
352
+ }
353
+ /** The same-key guard behind every artifact registration (`component`/`controller`/`service`/`repository`/`dataSource`). `allowOverride` defaults true to match `bind()`'s overwrite behavior; `allowOverride: false` on one registration, or `bootChecks.binding.allowOverride: false` for the whole application, opts into strict mode. */
354
+ assertNoBindingCollision(opts) {
355
+ const { key, caller } = opts;
356
+ const allowOverride = opts.allowOverride ?? this.configs.bootChecks?.binding?.allowOverride ?? true;
357
+ if (allowOverride || !this.isBound({ key })) {
358
+ return;
138
359
  }
360
+ const reason = opts.allowOverride === false
361
+ ? `'allowOverride: false' was set and this key collides with an existing binding | Use a distinct 'opts.binding' key, or drop 'allowOverride: false' if overriding is intentional`
362
+ : `'bootChecks.binding.allowOverride' is false and this key collides with an existing binding | Use a distinct 'opts.binding' key, or set 'allowOverride: true' on this registration if overriding is intentional`;
363
+ throw (0, core_1.getError)({
364
+ message: `[${caller}] Binding key already registered: '${key}' | ${reason}`,
365
+ });
139
366
  }
140
- component(ctor, opts) {
141
- return this.bind({
142
- key: inversion_1.BindingKeys.build(opts?.binding ?? { namespace: bindings_1.BindingNamespaces.COMPONENT, key: ctor.name }),
143
- })
144
- .toClass(ctor)
145
- .setScope(inversion_1.BindingScopes.SINGLETON);
367
+ /** Resolution order for every registration: explicit `opts` > the class's `@injectable` defaults > the derived key and the kind's default scope. `order` and `when` are `registerArtifacts`' concern, not this one. */
368
+ registerArtifact(opts) {
369
+ const { target, namespace, defaultScope, caller } = opts;
370
+ const declared = inversion_1.MetadataRegistry.getInstance().getArtifactMetadata({ target });
371
+ if (this.runningApplicationHook &&
372
+ this.configs.artifacts &&
373
+ this.configs.bootChecks?.binding?.allowManual === false) {
374
+ throw (0, core_1.getError)({
375
+ message: `[${caller}] '${target.name}' is registered by hand inside ${this.runningApplicationHook}() while 'configs.artifacts' is set and 'bootChecks.binding.allowManual' is false | Move the class into the generated index (or an explicit entry of 'configs.artifacts'), or allow manual registration`,
376
+ });
377
+ }
378
+ const binding = opts.opts?.binding ?? declared?.binding ?? { namespace, key: target.name };
379
+ bindings_1.BindingNamespaces.assertArtifactNamespace({
380
+ namespace: binding.namespace,
381
+ artifact: target.name,
382
+ caller,
383
+ });
384
+ const key = inversion_1.BindingKeys.build(binding);
385
+ // What `@inject({ target })` reads back. Only here knows the call site's `binding`, and a
386
+ // class registered by hand has no stereotype metadata to derive one from.
387
+ inversion_1.MetadataRegistry.getInstance().setBindingKey({ target, key });
388
+ if (opts.opts?.options !== undefined) {
389
+ this.artifactOptions.set(key, opts.opts.options);
390
+ }
391
+ this.assertNoBindingCollision({
392
+ key,
393
+ allowOverride: opts.opts?.allowOverride ?? declared?.allowOverride,
394
+ caller,
395
+ });
396
+ return this.bind({ key })
397
+ .toClass(target)
398
+ .setScope(declared?.scope ?? defaultScope);
399
+ }
400
+ configuration(target, opts) {
401
+ return this.registerArtifact({
402
+ target,
403
+ namespace: bindings_1.BindingNamespaces.CONFIGURATION,
404
+ defaultScope: inversion_1.BindingScopes.SINGLETON,
405
+ caller: this.configuration.name,
406
+ opts,
407
+ });
408
+ }
409
+ async registerConfigurations() {
410
+ await (0, core_1.executeWithPerformanceMeasure)({
411
+ logger: this.logger,
412
+ scope: this.registerConfigurations.name,
413
+ description: 'Register application configurations',
414
+ task: async () => {
415
+ await this.registerDynamicBindings({ namespace: bindings_1.BindingNamespaces.CONFIGURATION });
416
+ },
417
+ });
418
+ }
419
+ component(target, opts) {
420
+ return this.registerArtifact({
421
+ target,
422
+ namespace: bindings_1.BindingNamespaces.COMPONENT,
423
+ defaultScope: inversion_1.BindingScopes.SINGLETON,
424
+ caller: this.component.name,
425
+ opts,
426
+ });
146
427
  }
147
428
  async registerComponents() {
148
429
  await (0, core_1.executeWithPerformanceMeasure)({
@@ -150,21 +431,26 @@ class RestApplication extends abstract_1.AbstractApplication {
150
431
  scope: this.registerComponents.name,
151
432
  description: 'Register application components',
152
433
  task: async () => {
153
- await this.registerDynamicBindings({
154
- namespace: bindings_1.BindingNamespaces.COMPONENT,
155
- onAfterConfigure: async () => {
156
- // Register any datasources dynamically added by this component
157
- await this.registerDynamicBindings({ namespace: bindings_1.BindingNamespaces.DATASOURCE });
158
- },
159
- });
434
+ await this.registerDynamicBindings({ namespace: bindings_1.BindingNamespaces.COMPONENT });
160
435
  },
161
436
  });
162
437
  }
163
438
  /**
164
- * Handles the REST branch only - the kernel has no notion of gRPC (it reaches `node:module` via
165
- * `AbstractGrpcController`, core-only). `BaseApplication` extends this with the gRPC branch, the
166
- * unsupported-transport error and the orphaned-gRPC-controller warning.
439
+ * Second DATASOURCE sweep, for datasources components contributed at any depth. Calls
440
+ * `registerDynamicBindings` directly: `this.registerDataSources()` is polymorphic and an override
441
+ * would run twice. Runs after every component, so a component a datasource registers is never configured.
167
442
  */
443
+ async registerContributedDataSources() {
444
+ await (0, core_1.executeWithPerformanceMeasure)({
445
+ logger: this.logger,
446
+ scope: this.registerContributedDataSources.name,
447
+ description: 'Register application contributed data sources',
448
+ task: async () => {
449
+ await this.registerDynamicBindings({ namespace: bindings_1.BindingNamespaces.DATASOURCE });
450
+ },
451
+ });
452
+ }
453
+ /** REST only - the kernel has no gRPC (it reaches `node:module`). `BaseApplication` adds the gRPC branch on top. */
168
454
  async registerControllers() {
169
455
  await (0, core_1.executeWithPerformanceMeasure)({
170
456
  logger: this.logger,
@@ -180,39 +466,118 @@ class RestApplication extends abstract_1.AbstractApplication {
180
466
  },
181
467
  });
182
468
  }
183
- controller(ctor, opts) {
184
- return this.bind({
185
- key: inversion_1.BindingKeys.build(opts?.binding ?? {
186
- namespace: bindings_1.BindingNamespaces.CONTROLLER,
187
- key: ctor.name,
188
- }),
189
- }).toClass(ctor);
190
- }
191
- service(ctor, opts) {
192
- return this.bind({
193
- key: inversion_1.BindingKeys.build(opts?.binding ?? {
194
- namespace: bindings_1.BindingNamespaces.SERVICE,
195
- key: ctor.name,
196
- }),
197
- }).toClass(ctor);
198
- }
199
- repository(ctor, opts) {
200
- return this.bind({
201
- key: inversion_1.BindingKeys.build(opts?.binding ?? {
202
- namespace: bindings_1.BindingNamespaces.REPOSITORY,
203
- key: ctor.name,
204
- }),
205
- }).toClass(ctor);
206
- }
207
- dataSource(ctor, opts) {
208
- return this.bind({
209
- key: inversion_1.BindingKeys.build(opts?.binding ?? {
210
- namespace: bindings_1.BindingNamespaces.DATASOURCE,
211
- key: ctor.name,
212
- }),
213
- })
214
- .toClass(ctor)
215
- .setScope(inversion_1.BindingScopes.SINGLETON);
469
+ /** SINGLETON like `component()`: `RestComponent` mounts the one instance it resolves, so a second resolution must be that instance, not an unmounted twin. */
470
+ controller(target, opts) {
471
+ return this.registerArtifact({
472
+ target,
473
+ namespace: bindings_1.BindingNamespaces.CONTROLLER,
474
+ defaultScope: inversion_1.BindingScopes.SINGLETON,
475
+ caller: this.controller.name,
476
+ opts,
477
+ });
478
+ }
479
+ service(target, opts) {
480
+ return this.registerArtifact({
481
+ target,
482
+ namespace: bindings_1.BindingNamespaces.SERVICE,
483
+ defaultScope: inversion_1.BindingScopes.TRANSIENT,
484
+ caller: this.service.name,
485
+ opts,
486
+ });
487
+ }
488
+ repository(target, opts) {
489
+ return this.registerArtifact({
490
+ target,
491
+ namespace: bindings_1.BindingNamespaces.REPOSITORY,
492
+ defaultScope: inversion_1.BindingScopes.TRANSIENT,
493
+ caller: this.repository.name,
494
+ opts,
495
+ });
496
+ }
497
+ dataSource(target, opts) {
498
+ return this.registerArtifact({
499
+ target,
500
+ namespace: bindings_1.BindingNamespaces.DATASOURCE,
501
+ defaultScope: inversion_1.BindingScopes.SINGLETON,
502
+ caller: this.dataSource.name,
503
+ opts,
504
+ });
505
+ }
506
+ /** The boot step body behind `configs.artifacts`, also callable by hand: registers every kind in dependency order across the given indexes. */
507
+ async registerArtifacts(index) {
508
+ const resolved = await artifact_index_1.ArtifactIndexHelper.getInstance().resolve({
509
+ input: index,
510
+ application: this,
511
+ });
512
+ for (const target of resolved.configurations) {
513
+ this.configuration(target);
514
+ this.bindProvidedKeys({ target });
515
+ }
516
+ for (const target of resolved.dataSources) {
517
+ this.dataSource(target);
518
+ }
519
+ for (const target of resolved.components) {
520
+ this.component(target);
521
+ this.bindProvidedKeys({ target });
522
+ }
523
+ for (const target of resolved.repositories) {
524
+ this.repository(target);
525
+ }
526
+ for (const target of resolved.services) {
527
+ this.service(target);
528
+ }
529
+ for (const target of resolved.controllers) {
530
+ this.controller(target);
531
+ }
532
+ }
533
+ /** Registers every class a stereotype decorated, with no `configs.artifacts` entry anywhere. `when` and `order` apply exactly as they do to a declared index - which is how one process running several applications keeps them apart. */
534
+ async registerDiscoveredArtifacts() {
535
+ await this.registerArtifacts(artifact_index_1.ArtifactIndexHelper.getInstance().buildDiscoveredIndex());
536
+ }
537
+ /**
538
+ * The artifact boot step. `configs.discoverArtifacts` adds every decorated class in the import
539
+ * graph; `configs.artifacts` adds exactly what it lists. Both together register the union.
540
+ *
541
+ * An absent `artifacts` still registers nothing. Reading it as "register everything" would change
542
+ * what an existing application boots with, silently, and the failure would surface as ten times
543
+ * the bindings rather than as an error.
544
+ */
545
+ async registerConfiguredArtifacts() {
546
+ const inputs = [];
547
+ if (this.configs.discoverArtifacts) {
548
+ inputs.push(artifact_index_1.ArtifactIndexHelper.getInstance().buildDiscoveredIndex());
549
+ }
550
+ if (this.configs.artifacts) {
551
+ inputs.push(this.configs.artifacts);
552
+ }
553
+ if (inputs.length === 0) {
554
+ return;
555
+ }
556
+ await this.registerArtifacts(inputs);
557
+ }
558
+ /** Each `@provide` method becomes a lazy provider: the component is resolved (SINGLETON) and the method called on first `get`, so a provided value may depend on datasources or secrets that do not exist yet at registration time. */
559
+ bindProvidedKeys(opts) {
560
+ const { target } = opts;
561
+ const registry = inversion_1.MetadataRegistry.getInstance();
562
+ const provides = registry.getProvideMetadata({ target });
563
+ if (provides.length === 0) {
564
+ return;
565
+ }
566
+ const declared = registry.getArtifactMetadata({ target });
567
+ const defaultNamespace = declared?.type
568
+ ? bindings_1.ArtifactNamespaces.resolve({ type: declared.type })
569
+ : bindings_1.BindingNamespaces.COMPONENT;
570
+ const componentKey = inversion_1.BindingKeys.build(declared?.binding ?? { namespace: defaultNamespace, key: target.name });
571
+ for (const entry of provides) {
572
+ this.bind({ key: entry.key })
573
+ .toProvider(container => {
574
+ const instance = container.get({
575
+ key: componentKey,
576
+ });
577
+ return instance[entry.methodName]();
578
+ })
579
+ .setScope(entry.scope ?? inversion_1.BindingScopes.SINGLETON);
580
+ }
216
581
  }
217
582
  async registerDataSources() {
218
583
  await (0, core_1.executeWithPerformanceMeasure)({
@@ -224,6 +589,36 @@ class RestApplication extends abstract_1.AbstractApplication {
224
589
  },
225
590
  });
226
591
  }
592
+ /**
593
+ * Closes every datasource the boot configured, so a stopped application holds no pool, socket or
594
+ * WASM instance. A failure, or a `close()` still pending after `dataSourceCloseTimeoutMs`, is logged
595
+ * and never stops the rest. A datasource configured by hand is closed by whoever configured it.
596
+ */
597
+ async closeDataSources() {
598
+ const keys = this.registeredBindings[bindings_1.BindingNamespaces.DATASOURCE] ?? new Set();
599
+ const timeoutMs = this.configs.dataSourceCloseTimeoutMs ?? 10_000;
600
+ const logger = this.logger.for(this.closeDataSources.name);
601
+ for (const key of keys) {
602
+ try {
603
+ const dataSource = this.get({ key, isOptional: true });
604
+ if (!dataSource?.close) {
605
+ logger.debug('Nothing to close | key: %s', key);
606
+ continue;
607
+ }
608
+ const closing = dataSource.close();
609
+ await core_1.RetryHelper.runWithTimeout({ operation: key, timeoutMs, execution: () => closing });
610
+ }
611
+ catch (error) {
612
+ if (core_1.RetryHelper.isRetryTimeoutError(error)) {
613
+ logger.error('Close timed out | key: %s | timeoutMs: %d', key, timeoutMs);
614
+ continue;
615
+ }
616
+ logger.error('Failed to close datasource | key: %s | error: %s', key, error);
617
+ continue;
618
+ }
619
+ logger.info('Closed datasource | key: %s', key);
620
+ }
621
+ }
227
622
  }
228
623
  exports.RestApplication = RestApplication;
229
624
  //# sourceMappingURL=rest.js.map