@venizia/ignis 0.2.0-9 → 0.2.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 (369) hide show
  1. package/LICENSE.md +0 -1
  2. package/README.md +118 -158
  3. package/dist/base/applications/base.d.ts +19 -13
  4. package/dist/base/applications/base.d.ts.map +1 -1
  5. package/dist/base/applications/base.js +95 -74
  6. package/dist/base/applications/base.js.map +1 -1
  7. package/dist/base/applications/boot-steps.d.ts +13 -0
  8. package/dist/base/applications/boot-steps.d.ts.map +1 -0
  9. package/dist/base/applications/boot-steps.js +23 -0
  10. package/dist/base/applications/boot-steps.js.map +1 -0
  11. package/dist/base/applications/common/index.d.ts +2 -0
  12. package/dist/base/applications/common/index.d.ts.map +1 -0
  13. package/dist/base/applications/common/index.js +18 -0
  14. package/dist/base/applications/common/index.js.map +1 -0
  15. package/dist/base/applications/{types.d.ts → common/types.d.ts} +11 -0
  16. package/dist/base/applications/common/types.d.ts.map +1 -0
  17. package/dist/base/applications/common/types.js.map +1 -0
  18. package/dist/base/applications/index.d.ts +2 -1
  19. package/dist/base/applications/index.d.ts.map +1 -1
  20. package/dist/base/applications/index.js +2 -1
  21. package/dist/base/applications/index.js.map +1 -1
  22. package/dist/base/applications/server.d.ts +6 -2
  23. package/dist/base/applications/server.d.ts.map +1 -1
  24. package/dist/base/applications/server.js +34 -2
  25. package/dist/base/applications/server.js.map +1 -1
  26. package/dist/base/controllers/grpc/adapter.js +2 -2
  27. package/dist/base/controllers/grpc/adapter.js.map +1 -1
  28. package/dist/base/middlewares/app-error/app-error.middleware.d.ts +3 -2
  29. package/dist/base/middlewares/app-error/app-error.middleware.d.ts.map +1 -1
  30. package/dist/base/middlewares/app-error/app-error.middleware.js +4 -3
  31. package/dist/base/middlewares/app-error/app-error.middleware.js.map +1 -1
  32. package/dist/base/middlewares/request-spy/request-spy.middleware.d.ts +1 -1
  33. package/dist/base/middlewares/request-spy/request-spy.middleware.d.ts.map +1 -1
  34. package/dist/base/middlewares/request-spy/request-spy.middleware.js +13 -4
  35. package/dist/base/middlewares/request-spy/request-spy.middleware.js.map +1 -1
  36. package/dist/common/constants.d.ts.map +1 -1
  37. package/dist/common/constants.js +2 -1
  38. package/dist/common/constants.js.map +1 -1
  39. package/dist/common/environments.d.ts +31 -10
  40. package/dist/common/environments.d.ts.map +1 -1
  41. package/dist/common/environments.js +33 -10
  42. package/dist/common/environments.js.map +1 -1
  43. package/dist/components/api-reference/component.d.ts.map +1 -1
  44. package/dist/components/api-reference/component.js +4 -3
  45. package/dist/components/api-reference/component.js.map +1 -1
  46. package/dist/components/api-reference/index.d.ts +1 -1
  47. package/dist/components/api-reference/index.d.ts.map +1 -1
  48. package/dist/components/api-reference/index.js +1 -1
  49. package/dist/components/api-reference/index.js.map +1 -1
  50. package/dist/components/api-reference/ui/factory.d.ts +14 -0
  51. package/dist/components/api-reference/ui/factory.d.ts.map +1 -0
  52. package/dist/components/api-reference/ui/factory.js +54 -0
  53. package/dist/components/api-reference/ui/factory.js.map +1 -0
  54. package/dist/components/api-reference/ui/index.d.ts +4 -0
  55. package/dist/components/api-reference/ui/index.d.ts.map +1 -0
  56. package/dist/components/api-reference/ui/index.js +20 -0
  57. package/dist/components/api-reference/ui/index.js.map +1 -0
  58. package/dist/components/api-reference/ui/scalar.d.ts +8 -0
  59. package/dist/components/api-reference/ui/scalar.d.ts.map +1 -0
  60. package/dist/components/api-reference/ui/scalar.js +28 -0
  61. package/dist/components/api-reference/ui/scalar.js.map +1 -0
  62. package/dist/components/api-reference/ui/swagger.d.ts +8 -0
  63. package/dist/components/api-reference/ui/swagger.d.ts.map +1 -0
  64. package/dist/components/api-reference/ui/swagger.js +28 -0
  65. package/dist/components/api-reference/ui/swagger.js.map +1 -0
  66. package/dist/components/auth/authenticate/component.d.ts +5 -0
  67. package/dist/components/auth/authenticate/component.d.ts.map +1 -1
  68. package/dist/components/auth/authenticate/component.js +23 -0
  69. package/dist/components/auth/authenticate/component.js.map +1 -1
  70. package/dist/components/auth/authenticate/controllers/factory.d.ts +35 -3
  71. package/dist/components/auth/authenticate/controllers/factory.d.ts.map +1 -1
  72. package/dist/components/auth/authenticate/controllers/jwks/definitions.d.ts +40 -20
  73. package/dist/components/auth/authenticate/controllers/jwks/definitions.d.ts.map +1 -1
  74. package/dist/components/auth/authenticate/controllers/service-certs/definitions.d.ts +40 -20
  75. package/dist/components/auth/authenticate/controllers/service-certs/definitions.d.ts.map +1 -1
  76. package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.d.ts +2 -2
  77. package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.d.ts.map +1 -1
  78. package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.js +12 -8
  79. package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.js.map +1 -1
  80. package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.d.ts +1 -1
  81. package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.d.ts.map +1 -1
  82. package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.js +5 -3
  83. package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.js.map +1 -1
  84. package/dist/components/auth/authenticate/services/bearer/jws.service.d.ts +1 -2
  85. package/dist/components/auth/authenticate/services/bearer/jws.service.d.ts.map +1 -1
  86. package/dist/components/auth/authenticate/services/bearer/jws.service.js +5 -3
  87. package/dist/components/auth/authenticate/services/bearer/jws.service.js.map +1 -1
  88. package/dist/components/auth/authenticate/services/jose-loader.d.ts +16 -0
  89. package/dist/components/auth/authenticate/services/jose-loader.d.ts.map +1 -0
  90. package/dist/components/auth/authenticate/services/jose-loader.js +25 -0
  91. package/dist/components/auth/authenticate/services/jose-loader.js.map +1 -0
  92. package/dist/components/auth/authenticate/services/service/signer.service.d.ts.map +1 -1
  93. package/dist/components/auth/authenticate/services/service/signer.service.js +8 -5
  94. package/dist/components/auth/authenticate/services/service/signer.service.js.map +1 -1
  95. package/dist/components/auth/authenticate/services/service/verifier.service.d.ts.map +1 -1
  96. package/dist/components/auth/authenticate/services/service/verifier.service.js +10 -9
  97. package/dist/components/auth/authenticate/services/service/verifier.service.js.map +1 -1
  98. package/dist/components/auth/authenticate/strategies/index.d.ts +1 -1
  99. package/dist/components/auth/authenticate/strategies/index.d.ts.map +1 -1
  100. package/dist/components/auth/authenticate/strategies/index.js +1 -1
  101. package/dist/components/auth/authenticate/strategies/index.js.map +1 -1
  102. package/dist/components/auth/authenticate/strategies/jwks/index.d.ts +3 -0
  103. package/dist/components/auth/authenticate/strategies/jwks/index.d.ts.map +1 -0
  104. package/dist/components/auth/authenticate/strategies/jwks/index.js +19 -0
  105. package/dist/components/auth/authenticate/strategies/jwks/index.js.map +1 -0
  106. package/dist/components/auth/authenticate/strategies/jwks/issuer.d.ts +13 -0
  107. package/dist/components/auth/authenticate/strategies/jwks/issuer.d.ts.map +1 -0
  108. package/dist/components/auth/authenticate/strategies/{jwks.strategy.js → jwks/issuer.js} +4 -27
  109. package/dist/components/auth/authenticate/strategies/jwks/issuer.js.map +1 -0
  110. package/dist/components/auth/authenticate/strategies/{jwks.strategy.d.ts → jwks/verifier.d.ts} +2 -10
  111. package/dist/components/auth/authenticate/strategies/jwks/verifier.d.ts.map +1 -0
  112. package/dist/components/auth/authenticate/strategies/jwks/verifier.js +45 -0
  113. package/dist/components/auth/authenticate/strategies/jwks/verifier.js.map +1 -0
  114. package/dist/components/auth/authorize/adapters/base-filtered.d.ts +1 -1
  115. package/dist/components/auth/authorize/adapters/base-filtered.d.ts.map +1 -1
  116. package/dist/components/auth/authorize/adapters/common/index.d.ts +2 -0
  117. package/dist/components/auth/authorize/adapters/common/index.d.ts.map +1 -0
  118. package/dist/components/auth/authorize/adapters/common/index.js +18 -0
  119. package/dist/components/auth/authorize/adapters/common/index.js.map +1 -0
  120. package/dist/components/auth/authorize/adapters/{types.d.ts → common/types.d.ts} +1 -1
  121. package/dist/components/auth/authorize/adapters/common/types.d.ts.map +1 -0
  122. package/dist/components/auth/authorize/adapters/common/types.js.map +1 -0
  123. package/dist/components/auth/authorize/adapters/connector.d.ts +1 -1
  124. package/dist/components/auth/authorize/adapters/connector.d.ts.map +1 -1
  125. package/dist/components/auth/authorize/adapters/custom-grant-expander.d.ts +1 -1
  126. package/dist/components/auth/authorize/adapters/custom-grant-expander.d.ts.map +1 -1
  127. package/dist/components/auth/authorize/adapters/index.d.ts +2 -2
  128. package/dist/components/auth/authorize/adapters/index.d.ts.map +1 -1
  129. package/dist/components/auth/authorize/adapters/index.js +2 -2
  130. package/dist/components/auth/authorize/adapters/index.js.map +1 -1
  131. package/dist/components/auth/authorize/adapters/{scoped-casbin.adapter.d.ts → scoped-casbin/adapter.d.ts} +11 -55
  132. package/dist/components/auth/authorize/adapters/scoped-casbin/adapter.d.ts.map +1 -0
  133. package/dist/components/auth/authorize/adapters/{scoped-casbin.adapter.js → scoped-casbin/adapter.js} +27 -22
  134. package/dist/components/auth/authorize/adapters/scoped-casbin/adapter.js.map +1 -0
  135. package/dist/components/auth/authorize/adapters/scoped-casbin/common/constants.d.ts +2 -0
  136. package/dist/components/auth/authorize/adapters/scoped-casbin/common/constants.d.ts.map +1 -0
  137. package/dist/components/auth/authorize/adapters/scoped-casbin/common/constants.js +5 -0
  138. package/dist/components/auth/authorize/adapters/scoped-casbin/common/constants.js.map +1 -0
  139. package/dist/components/auth/authorize/adapters/scoped-casbin/common/index.d.ts +3 -0
  140. package/dist/components/auth/authorize/adapters/scoped-casbin/common/index.d.ts.map +1 -0
  141. package/dist/components/auth/authorize/adapters/scoped-casbin/common/index.js +19 -0
  142. package/dist/components/auth/authorize/adapters/scoped-casbin/common/index.js.map +1 -0
  143. package/dist/components/auth/authorize/adapters/scoped-casbin/common/types.d.ts +50 -0
  144. package/dist/components/auth/authorize/adapters/scoped-casbin/common/types.d.ts.map +1 -0
  145. package/dist/components/auth/authorize/adapters/scoped-casbin/common/types.js +3 -0
  146. package/dist/components/auth/authorize/adapters/scoped-casbin/common/types.js.map +1 -0
  147. package/dist/components/auth/authorize/adapters/scoped-casbin/index.d.ts +4 -0
  148. package/dist/components/auth/authorize/adapters/scoped-casbin/index.d.ts.map +1 -0
  149. package/dist/components/auth/authorize/adapters/scoped-casbin/index.js +19 -0
  150. package/dist/components/auth/authorize/adapters/scoped-casbin/index.js.map +1 -0
  151. package/dist/components/auth/authorize/adapters/scoped-casbin/policy-edges.d.ts +17 -0
  152. package/dist/components/auth/authorize/adapters/scoped-casbin/policy-edges.d.ts.map +1 -0
  153. package/dist/components/auth/authorize/adapters/scoped-casbin/policy-edges.js +11 -0
  154. package/dist/components/auth/authorize/adapters/scoped-casbin/policy-edges.js.map +1 -0
  155. package/dist/components/auth/authorize/enforcers/policy-line-codec.d.ts.map +1 -1
  156. package/dist/components/auth/authorize/enforcers/policy-line-codec.js +4 -2
  157. package/dist/components/auth/authorize/enforcers/policy-line-codec.js.map +1 -1
  158. package/dist/components/auth/authorize/role-managers/base.d.ts.map +1 -1
  159. package/dist/components/auth/authorize/role-managers/base.js +2 -1
  160. package/dist/components/auth/authorize/role-managers/base.js.map +1 -1
  161. package/dist/components/auth/models/entities/policy-definition.model.d.ts +30 -9
  162. package/dist/components/auth/models/entities/policy-definition.model.d.ts.map +1 -1
  163. package/dist/components/auth/models/entities/policy-definition.model.js +36 -10
  164. package/dist/components/auth/models/entities/policy-definition.model.js.map +1 -1
  165. package/dist/components/auth/models/entities/user.model.d.ts +2 -2
  166. package/dist/components/controller/grpc/grpc.component.d.ts.map +1 -1
  167. package/dist/components/controller/grpc/grpc.component.js +1 -5
  168. package/dist/components/controller/grpc/grpc.component.js.map +1 -1
  169. package/dist/components/health-check/common/constants.d.ts +5 -0
  170. package/dist/components/health-check/common/constants.d.ts.map +1 -0
  171. package/dist/components/health-check/common/constants.js +9 -0
  172. package/dist/components/health-check/common/constants.js.map +1 -0
  173. package/dist/components/health-check/common/index.d.ts +1 -0
  174. package/dist/components/health-check/common/index.d.ts.map +1 -1
  175. package/dist/components/health-check/common/index.js +1 -0
  176. package/dist/components/health-check/common/index.js.map +1 -1
  177. package/dist/components/health-check/common/keys.d.ts +2 -0
  178. package/dist/components/health-check/common/keys.d.ts.map +1 -1
  179. package/dist/components/health-check/common/keys.js +2 -0
  180. package/dist/components/health-check/common/keys.js.map +1 -1
  181. package/dist/components/health-check/common/rest-paths.d.ts +1 -0
  182. package/dist/components/health-check/common/rest-paths.d.ts.map +1 -1
  183. package/dist/components/health-check/common/rest-paths.js +1 -0
  184. package/dist/components/health-check/common/rest-paths.js.map +1 -1
  185. package/dist/components/health-check/common/types.d.ts +22 -0
  186. package/dist/components/health-check/common/types.d.ts.map +1 -1
  187. package/dist/components/health-check/component.d.ts +9 -3
  188. package/dist/components/health-check/component.d.ts.map +1 -1
  189. package/dist/components/health-check/component.js +38 -1
  190. package/dist/components/health-check/component.js.map +1 -1
  191. package/dist/components/health-check/controller.d.ts +10 -2
  192. package/dist/components/health-check/controller.d.ts.map +1 -1
  193. package/dist/components/health-check/controller.js +79 -13
  194. package/dist/components/health-check/controller.js.map +1 -1
  195. package/dist/components/health-check/index.d.ts +1 -0
  196. package/dist/components/health-check/index.d.ts.map +1 -1
  197. package/dist/components/health-check/index.js +1 -0
  198. package/dist/components/health-check/index.js.map +1 -1
  199. package/dist/components/health-check/reporter.d.ts +98 -0
  200. package/dist/components/health-check/reporter.d.ts.map +1 -0
  201. package/dist/components/health-check/reporter.js +138 -0
  202. package/dist/components/health-check/reporter.js.map +1 -0
  203. package/dist/components/mail/common/constants.d.ts +8 -0
  204. package/dist/components/mail/common/constants.d.ts.map +1 -1
  205. package/dist/components/mail/common/constants.js +9 -1
  206. package/dist/components/mail/common/constants.js.map +1 -1
  207. package/dist/components/mail/common/types/index.d.ts +6 -0
  208. package/dist/components/mail/common/types/index.d.ts.map +1 -0
  209. package/dist/components/mail/common/types/index.js +22 -0
  210. package/dist/components/mail/common/types/index.js.map +1 -0
  211. package/dist/components/mail/common/types/message.d.ts +49 -0
  212. package/dist/components/mail/common/types/message.d.ts.map +1 -0
  213. package/dist/components/mail/common/types/message.js +3 -0
  214. package/dist/components/mail/common/types/message.js.map +1 -0
  215. package/dist/components/mail/common/types/options.d.ts +65 -0
  216. package/dist/components/mail/common/types/options.d.ts.map +1 -0
  217. package/dist/components/mail/common/types/options.js +3 -0
  218. package/dist/components/mail/common/types/options.js.map +1 -0
  219. package/dist/components/mail/common/types/queue.d.ts +56 -0
  220. package/dist/components/mail/common/types/queue.d.ts.map +1 -0
  221. package/dist/components/mail/common/types/queue.js +3 -0
  222. package/dist/components/mail/common/types/queue.js.map +1 -0
  223. package/dist/components/mail/common/types/template.d.ts +33 -0
  224. package/dist/components/mail/common/types/template.d.ts.map +1 -0
  225. package/dist/components/mail/common/types/template.js +3 -0
  226. package/dist/components/mail/common/types/template.js.map +1 -0
  227. package/dist/components/mail/common/types/verification.d.ts +26 -0
  228. package/dist/components/mail/common/types/verification.d.ts.map +1 -0
  229. package/dist/components/mail/common/types/verification.js +3 -0
  230. package/dist/components/mail/common/types/verification.js.map +1 -0
  231. package/dist/components/mail/component.d.ts +4 -1
  232. package/dist/components/mail/component.d.ts.map +1 -1
  233. package/dist/components/mail/component.js +12 -0
  234. package/dist/components/mail/component.js.map +1 -1
  235. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.d.ts +1 -0
  236. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.d.ts.map +1 -1
  237. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.js +3 -0
  238. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.js.map +1 -1
  239. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.d.ts.map +1 -1
  240. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.js +2 -1
  241. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.js.map +1 -1
  242. package/dist/components/mail/helpers/transporters/amazon-ses-transporter.helper.d.ts +19 -0
  243. package/dist/components/mail/helpers/transporters/amazon-ses-transporter.helper.d.ts.map +1 -0
  244. package/dist/components/mail/helpers/transporters/amazon-ses-transporter.helper.js +112 -0
  245. package/dist/components/mail/helpers/transporters/amazon-ses-transporter.helper.js.map +1 -0
  246. package/dist/components/mail/helpers/transporters/index.d.ts +2 -1
  247. package/dist/components/mail/helpers/transporters/index.d.ts.map +1 -1
  248. package/dist/components/mail/helpers/transporters/index.js +2 -1
  249. package/dist/components/mail/helpers/transporters/index.js.map +1 -1
  250. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.d.ts.map +1 -1
  251. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.js +4 -3
  252. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.js.map +1 -1
  253. package/dist/components/mail/providers/mail-transporter.provider.d.ts +2 -0
  254. package/dist/components/mail/providers/mail-transporter.provider.d.ts.map +1 -1
  255. package/dist/components/mail/providers/mail-transporter.provider.js +35 -17
  256. package/dist/components/mail/providers/mail-transporter.provider.js.map +1 -1
  257. package/dist/components/mail/services/generators/index.d.ts +4 -0
  258. package/dist/components/mail/services/generators/index.d.ts.map +1 -0
  259. package/dist/components/mail/services/generators/index.js +20 -0
  260. package/dist/components/mail/services/generators/index.js.map +1 -0
  261. package/dist/components/mail/services/generators/numeric-code.d.ts +7 -0
  262. package/dist/components/mail/services/generators/numeric-code.d.ts.map +1 -0
  263. package/dist/components/mail/services/generators/numeric-code.js +20 -0
  264. package/dist/components/mail/services/generators/numeric-code.js.map +1 -0
  265. package/dist/components/mail/services/generators/random-token.d.ts +7 -0
  266. package/dist/components/mail/services/generators/random-token.d.ts.map +1 -0
  267. package/dist/components/mail/services/generators/random-token.js +18 -0
  268. package/dist/components/mail/services/generators/random-token.js.map +1 -0
  269. package/dist/components/mail/services/{generator.service.d.ts → generators/verification-data.d.ts} +2 -10
  270. package/dist/components/mail/services/generators/verification-data.d.ts.map +1 -0
  271. package/dist/components/mail/services/{generator.service.js → generators/verification-data.js} +5 -29
  272. package/dist/components/mail/services/generators/verification-data.js.map +1 -0
  273. package/dist/components/mail/services/index.d.ts +1 -1
  274. package/dist/components/mail/services/index.d.ts.map +1 -1
  275. package/dist/components/mail/services/index.js +1 -1
  276. package/dist/components/mail/services/index.js.map +1 -1
  277. package/dist/components/mail/services/mail.service.d.ts.map +1 -1
  278. package/dist/components/mail/services/mail.service.js +18 -17
  279. package/dist/components/mail/services/mail.service.js.map +1 -1
  280. package/dist/components/mail/utilities/address.utility.d.ts +9 -0
  281. package/dist/components/mail/utilities/address.utility.d.ts.map +1 -0
  282. package/dist/components/mail/utilities/address.utility.js +36 -0
  283. package/dist/components/mail/utilities/address.utility.js.map +1 -0
  284. package/dist/components/mail/utilities/index.d.ts +2 -0
  285. package/dist/components/mail/utilities/index.d.ts.map +1 -1
  286. package/dist/components/mail/utilities/index.js +2 -0
  287. package/dist/components/mail/utilities/index.js.map +1 -1
  288. package/dist/components/mail/utilities/mime.utility.d.ts +19 -0
  289. package/dist/components/mail/utilities/mime.utility.d.ts.map +1 -0
  290. package/dist/components/mail/utilities/mime.utility.js +414 -0
  291. package/dist/components/mail/utilities/mime.utility.js.map +1 -0
  292. package/dist/components/static-asset/common/commit-token.d.ts +23 -0
  293. package/dist/components/static-asset/common/commit-token.d.ts.map +1 -0
  294. package/dist/components/static-asset/common/commit-token.js +40 -0
  295. package/dist/components/static-asset/common/commit-token.js.map +1 -0
  296. package/dist/components/static-asset/common/constants.d.ts +13 -1
  297. package/dist/components/static-asset/common/constants.d.ts.map +1 -1
  298. package/dist/components/static-asset/common/constants.js +29 -2
  299. package/dist/components/static-asset/common/constants.js.map +1 -1
  300. package/dist/components/static-asset/common/errors.d.ts +43 -0
  301. package/dist/components/static-asset/common/errors.d.ts.map +1 -1
  302. package/dist/components/static-asset/common/errors.js +37 -0
  303. package/dist/components/static-asset/common/errors.js.map +1 -1
  304. package/dist/components/static-asset/common/index.d.ts +1 -0
  305. package/dist/components/static-asset/common/index.d.ts.map +1 -1
  306. package/dist/components/static-asset/common/index.js +1 -0
  307. package/dist/components/static-asset/common/index.js.map +1 -1
  308. package/dist/components/static-asset/common/keys.d.ts +1 -0
  309. package/dist/components/static-asset/common/keys.d.ts.map +1 -1
  310. package/dist/components/static-asset/common/keys.js +1 -0
  311. package/dist/components/static-asset/common/keys.js.map +1 -1
  312. package/dist/components/static-asset/common/types.d.ts +87 -30
  313. package/dist/components/static-asset/common/types.d.ts.map +1 -1
  314. package/dist/components/static-asset/component.d.ts +4 -1
  315. package/dist/components/static-asset/component.d.ts.map +1 -1
  316. package/dist/components/static-asset/component.js +21 -10
  317. package/dist/components/static-asset/component.js.map +1 -1
  318. package/dist/components/static-asset/controller/base.definition.d.ts +27 -554
  319. package/dist/components/static-asset/controller/base.definition.d.ts.map +1 -1
  320. package/dist/components/static-asset/controller/base.definition.js +250 -286
  321. package/dist/components/static-asset/controller/base.definition.js.map +1 -1
  322. package/dist/components/static-asset/controller/factory.d.ts +76 -7
  323. package/dist/components/static-asset/controller/factory.d.ts.map +1 -1
  324. package/dist/components/static-asset/controller/factory.js +565 -138
  325. package/dist/components/static-asset/controller/factory.js.map +1 -1
  326. package/dist/components/static-asset/index.d.ts +1 -0
  327. package/dist/components/static-asset/index.d.ts.map +1 -1
  328. package/dist/components/static-asset/index.js +1 -0
  329. package/dist/components/static-asset/index.js.map +1 -1
  330. package/dist/components/static-asset/ingest.d.ts +58 -0
  331. package/dist/components/static-asset/ingest.d.ts.map +1 -0
  332. package/dist/components/static-asset/ingest.js +82 -0
  333. package/dist/components/static-asset/ingest.js.map +1 -0
  334. package/dist/components/static-asset/models/base.model.d.ts +44 -6
  335. package/dist/components/static-asset/models/base.model.d.ts.map +1 -1
  336. package/dist/components/static-asset/models/base.model.js +7 -1
  337. package/dist/components/static-asset/models/base.model.js.map +1 -1
  338. package/dist/components/websocket/handlers/bun.handler.d.ts.map +1 -1
  339. package/dist/components/websocket/handlers/bun.handler.js +2 -1
  340. package/dist/components/websocket/handlers/bun.handler.js.map +1 -1
  341. package/dist/connectors/postgres/drivers/postgres-js.d.mts +3 -0
  342. package/dist/connectors/postgres/drivers/postgres-js.d.mts.map +1 -0
  343. package/dist/connectors/postgres/drivers/postgres-js.mjs +3 -0
  344. package/dist/connectors/postgres/drivers/postgres-js.mjs.map +1 -0
  345. package/dist/helpers/index.d.ts.map +1 -1
  346. package/dist/helpers/index.js.map +1 -1
  347. package/dist/index.d.ts +1 -1
  348. package/dist/index.d.ts.map +1 -1
  349. package/package.json +29 -26
  350. package/dist/base/applications/types.d.ts.map +0 -1
  351. package/dist/base/applications/types.js.map +0 -1
  352. package/dist/components/api-reference/ui-factory.d.ts +0 -24
  353. package/dist/components/api-reference/ui-factory.d.ts.map +0 -1
  354. package/dist/components/api-reference/ui-factory.js +0 -97
  355. package/dist/components/api-reference/ui-factory.js.map +0 -1
  356. package/dist/components/auth/authenticate/strategies/jwks.strategy.d.ts.map +0 -1
  357. package/dist/components/auth/authenticate/strategies/jwks.strategy.js.map +0 -1
  358. package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.d.ts.map +0 -1
  359. package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.js.map +0 -1
  360. package/dist/components/auth/authorize/adapters/types.d.ts.map +0 -1
  361. package/dist/components/auth/authorize/adapters/types.js.map +0 -1
  362. package/dist/components/mail/common/types.d.ts +0 -201
  363. package/dist/components/mail/common/types.d.ts.map +0 -1
  364. package/dist/components/mail/common/types.js +0 -10
  365. package/dist/components/mail/common/types.js.map +0 -1
  366. package/dist/components/mail/services/generator.service.d.ts.map +0 -1
  367. package/dist/components/mail/services/generator.service.js.map +0 -1
  368. /package/dist/base/applications/{types.js → common/types.js} +0 -0
  369. /package/dist/components/auth/authorize/adapters/{types.js → common/types.js} +0 -0
@@ -1,34 +1,33 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.BaseApplication = void 0;
4
+ const ignis_connectors_1 = require("@venizia/ignis-connectors");
7
5
  const ignis_kernel_1 = require("@venizia/ignis-kernel");
8
6
  const ignis_kernel_2 = require("@venizia/ignis-kernel");
7
+ const environments_1 = require("../../common/environments");
9
8
  const components_1 = require("../../components");
10
9
  const grpc_1 = require("../../components/controller/grpc");
11
10
  const ignis_kernel_3 = require("@venizia/ignis-kernel");
12
- const ignis_boot_1 = require("@venizia/ignis-boot");
13
11
  const core_1 = require("@venizia/ignis-helpers/core");
14
12
  const common_1 = require("@venizia/ignis-helpers/common");
15
13
  const ignis_helpers_1 = require("@venizia/ignis-helpers");
16
14
  const context_storage_1 = require("hono/context-storage");
17
- const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
18
15
  const middlewares_1 = require("../middlewares");
16
+ const boot_steps_1 = require("./boot-steps");
19
17
  const server_1 = require("./server");
20
- const { NODE_ENV, RUN_MODE, ALLOW_EMPTY_ENV_VALUE = false, APPLICATION_ENV_PREFIX = 'APP_ENV', APP_ENV_APPLICATION_NAME = 'PNT', APP_ENV_APPLICATION_TIMEZONE = 'Asia/Ho_Chi_Minh', APP_ENV_DS_MIGRATION = 'postgres', APP_ENV_DS_AUTHORIZE = 'postgres', APP_ENV_LOGGER_FOLDER_PATH = './', } = process.env;
21
18
  /** Maps a secret bundle to env names: the explicit `keys` mapping when present, otherwise every bundle key under `prefix`. */
22
19
  const selectSecretEnvKeys = (opts) => {
23
20
  const { bundle, entry } = opts;
24
21
  const merged = {};
25
22
  if (!entry.keys) {
26
- for (const [rawKey, value] of Object.entries(bundle)) {
23
+ const bundleEntries = Object.entries(bundle);
24
+ for (const [rawKey, value] of bundleEntries) {
27
25
  merged[`${entry.prefix ?? ''}${rawKey}`] = value;
28
26
  }
29
27
  return merged;
30
28
  }
31
- for (const [rawKey, envKey] of Object.entries(entry.keys)) {
29
+ const entryKeysEntries = Object.entries(entry.keys);
30
+ for (const [rawKey, envKey] of entryKeysEntries) {
32
31
  const value = bundle[rawKey];
33
32
  if (value === undefined) {
34
33
  continue;
@@ -42,11 +41,7 @@ class BaseApplication extends server_1.ServerApplication {
42
41
  const joined = segments.join('/').replace(/\/+/g, '/').replace(/\/$/, '');
43
42
  return joined || '/';
44
43
  }
45
- /**
46
- * Extends the inherited REST registration (`RestApplication.registerControllers()`, kernel) with
47
- * the gRPC branch, which the kernel cannot own: `GrpcComponent` needs `AbstractGrpcController`
48
- * from `@/base/controllers/grpc`, core-only code that reaches `node:module`.
49
- */
44
+ /** Adds the gRPC branch the kernel cannot own: `GrpcComponent` needs `AbstractGrpcController`, core-only code that reaches `node:module`. */
50
45
  async registerControllers() {
51
46
  await super.registerControllers();
52
47
  await (0, ignis_helpers_1.executeWithPerformanceMeasure)({
@@ -101,7 +96,8 @@ class BaseApplication extends server_1.ServerApplication {
101
96
  provider = await (0, ignis_helpers_1.createSecretsHelper)({ ...registration, identifier: 'app' });
102
97
  await provider.configure();
103
98
  await this.hydrateSecretEntries({ provider, registration, emptyHydrations, logger });
104
- for (const entry of registration.lease ?? []) {
99
+ const registrationLease = registration.lease ?? [];
100
+ for (const entry of registrationLease) {
105
101
  await provider.lease({ path: entry.path, key: entry.key });
106
102
  }
107
103
  }
@@ -145,7 +141,8 @@ class BaseApplication extends server_1.ServerApplication {
145
141
  /** Applies each hydrate entry in declaration order; paths that resolve empty while declaring an expectation are collected in `emptyHydrations` rather than failing here. */
146
142
  async hydrateSecretEntries(opts) {
147
143
  const { provider, registration, emptyHydrations, logger } = opts;
148
- for (const entry of registration.hydrate ?? []) {
144
+ const registrationHydrate = registration.hydrate ?? [];
145
+ for (const entry of registrationHydrate) {
149
146
  const bundle = await provider.getBundle({ path: entry.path });
150
147
  const merged = this.mergeSecretsIntoEnv({ bundle, entry });
151
148
  if (Object.keys(merged).length > 0) {
@@ -161,7 +158,8 @@ class BaseApplication extends server_1.ServerApplication {
161
158
  mergeSecretsIntoEnv(opts) {
162
159
  const { bundle, entry } = opts;
163
160
  const merged = selectSecretEnvKeys({ bundle, entry });
164
- for (const [key, value] of Object.entries(merged)) {
161
+ const mergedEntries = Object.entries(merged);
162
+ for (const [key, value] of mergedEntries) {
165
163
  process.env[key] = value;
166
164
  }
167
165
  ignis_helpers_1.applicationEnvironment.merge({ envs: merged });
@@ -192,28 +190,6 @@ class BaseApplication extends server_1.ServerApplication {
192
190
  logger.debug('Lease key has no rotatable consumer | key: %s', entry.key);
193
191
  }
194
192
  }
195
- booter(ctor, opts) {
196
- return this.bind({
197
- key: ignis_kernel_3.BindingKeys.build(opts?.binding ?? { namespace: ignis_kernel_2.BindingNamespaces.BOOTERS, key: ctor.name }),
198
- })
199
- .toClass(ctor)
200
- .setTags('booter');
201
- }
202
- async registerBooters() {
203
- await (0, ignis_helpers_1.executeWithPerformanceMeasure)({
204
- logger: this.logger,
205
- scope: this.registerBooters.name,
206
- description: 'Register application booters',
207
- task: async () => {
208
- this.bind({ key: `@app/boot-options` }).toValue(this.configs.bootOptions ?? {});
209
- this.bind({ key: 'bootstrapper' }).toClass(ignis_boot_1.Bootstrapper).setScope(ignis_kernel_3.BindingScopes.SINGLETON);
210
- this.booter(ignis_boot_1.DatasourceBooter);
211
- this.booter(ignis_boot_1.RepositoryBooter);
212
- this.booter(ignis_boot_1.ServiceBooter);
213
- this.booter(ignis_boot_1.ControllerBooter);
214
- },
215
- });
216
- }
217
193
  static(opts) {
218
194
  const { restPath = '*', folderPath } = opts;
219
195
  const server = this.getServer();
@@ -247,26 +223,30 @@ class BaseApplication extends server_1.ServerApplication {
247
223
  .debug('Registered static files | runtime: %s | path: %s | folder: %s', this.runtime, restPath, folderPath);
248
224
  return this;
249
225
  }
226
+ /**
227
+ * Every value is read HERE, not destructured at module load: an application that loads its
228
+ * `.env` in its own entrypoint does so after this module is imported, and a module-load snapshot
229
+ * would print the defaults for a host that configured everything correctly.
230
+ */
250
231
  printStartUpInfo(opts) {
251
232
  const { scope } = opts;
233
+ const read = (key, fallback) => (0, core_1.blankToUndefined)(process.env[key]) ?? fallback;
234
+ const divider = '------------------------------------------------------------------------';
235
+ this.logger.for(scope).info(divider);
252
236
  this.logger
253
237
  .for(scope)
254
- .info('------------------------------------------------------------------------');
238
+ .info('Starting application... | Name: %s | Env: %s | Runtime: %s', read(environments_1.EnvironmentKeys.APP_ENV_APPLICATION_NAME, 'PNT'), process.env.NODE_ENV, this.runtime);
255
239
  this.logger
256
240
  .for(scope)
257
- .info('Starting application... | Name: %s | Env: %s | Runtime: %s', APP_ENV_APPLICATION_NAME, NODE_ENV, this.runtime);
241
+ .info('AllowEmptyEnv: %s | Prefix: %s', read('ALLOW_EMPTY_ENV_VALUE', 'true'), read('APPLICATION_ENV_PREFIX', 'APP_ENV'));
242
+ this.logger.for(scope).info('RunMode: %s', process.env.RUN_MODE);
258
243
  this.logger
259
244
  .for(scope)
260
- .info('AllowEmptyEnv: %s | Prefix: %s', ALLOW_EMPTY_ENV_VALUE, APPLICATION_ENV_PREFIX);
261
- this.logger.for(scope).info('RunMode: %s', RUN_MODE);
262
- this.logger.for(scope).info('Timezone: %s', APP_ENV_APPLICATION_TIMEZONE);
263
- this.logger.for(scope).info('LogPath: %s', APP_ENV_LOGGER_FOLDER_PATH);
245
+ .info('Timezone: %s', read(environments_1.EnvironmentKeys.APP_ENV_APPLICATION_TIMEZONE, 'Asia/Ho_Chi_Minh'));
264
246
  this.logger
265
247
  .for(scope)
266
- .info('Datasource | Migration: %s | Authorize: %s', APP_ENV_DS_MIGRATION, APP_ENV_DS_AUTHORIZE);
267
- this.logger
268
- .for(scope)
269
- .info('------------------------------------------------------------------------');
248
+ .info('LogPath: %s', read(environments_1.EnvironmentKeys.APP_ENV_LOGGER_FOLDER_PATH, './'));
249
+ this.logger.for(scope).info(divider);
270
250
  }
271
251
  /** Swaps in the `ErrorPrettier`-backed formatter - `node:util`, so the kernel cannot build it. */
272
252
  buildErrorMiddleware() {
@@ -284,11 +264,9 @@ class BaseApplication extends server_1.ServerApplication {
284
264
  task: async () => {
285
265
  const server = this.getServer();
286
266
  await super.registerDefaultMiddlewares();
287
- // Deliberately NOT inside the `asyncContext.enable` branch below. `tryGetContext()` already
288
- // answers "no request context" when no store exists, so installing it always costs nothing
289
- // and keeps a `contextStorage()` an application registered itself visible to the enrichers -
290
- // which is what reading `hono/context-storage` directly used to do. A method body, not this
291
- // module's body: every package here declares `sideEffects: false`.
267
+ // Always installed, not only under `asyncContext.enable`: `tryGetContext()` answers "no context"
268
+ // without a store, and a `contextStorage()` the application registered itself stays visible to
269
+ // the enrichers. Inside a method body because every package declares `sideEffects: false`.
292
270
  ignis_kernel_3.RequestContextRegistry.setResolver({ resolver: () => (0, context_storage_1.tryGetContext)() });
293
271
  if (this.configs.asyncContext?.enable) {
294
272
  server.use((0, context_storage_1.contextStorage)());
@@ -300,21 +278,29 @@ class BaseApplication extends server_1.ServerApplication {
300
278
  },
301
279
  });
302
280
  }
303
- async boot() {
304
- await this.registerBooters();
305
- const bootstrapper = this.get({ key: 'bootstrapper' });
306
- return bootstrapper.boot({});
307
- }
308
281
  /** Lives here rather than on `AbstractApplication` - `applicationEnvironment` reads `process.env` at module load, so a kernel-pure ancestor cannot carry it; this is the layer that already depends on it. */
309
282
  validateEnvs() {
310
283
  const t = performance.now();
311
284
  const envKeys = ignis_helpers_1.applicationEnvironment.keys();
285
+ // Permissive by DEFAULT: a name a host leaves empty is the host's business, and an empty value
286
+ // already falls back to `defaultValue` at read time, so refusing to boot over one fights the
287
+ // reader rather than helping it. Set ALLOW_EMPTY_ENV_VALUE to `false` or `0` to turn the check
288
+ // on. Read once rather than per key, and a blank value reads as unset - the same rule every
289
+ // other env read follows.
290
+ const configured = (0, core_1.blankToUndefined)(process.env.ALLOW_EMPTY_ENV_VALUE);
291
+ const allowsEmpty = configured === undefined || (0, ignis_helpers_1.toBoolean)(configured);
312
292
  this.logger
313
293
  .for(this.initialize.name)
314
- .info('Envs: %s | START Validating application environments...', envKeys.length);
294
+ .info('Envs: %s | START Validating application environments | Empty values: %s', envKeys.length, allowsEmpty ? 'ALLOWED (default)' : 'REJECTED');
295
+ if (allowsEmpty) {
296
+ this.logger
297
+ .for(this.validateEnvs.name)
298
+ .info('Envs: %s | SKIPPED - set ALLOW_EMPTY_ENV_VALUE=false to reject empty values', envKeys.length);
299
+ return;
300
+ }
315
301
  for (const argKey of envKeys) {
316
302
  const argValue = ignis_helpers_1.applicationEnvironment.get(argKey);
317
- if ((0, ignis_helpers_1.toBoolean)(process.env.ALLOW_EMPTY_ENV_VALUE) || !(0, isEmpty_1.default)(argValue)) {
303
+ if (!(0, common_1.isEmpty)({ value: argValue })) {
318
304
  continue;
319
305
  }
320
306
  throw (0, core_1.getError)({
@@ -325,21 +311,56 @@ class BaseApplication extends server_1.ServerApplication {
325
311
  .for(this.validateEnvs.name)
326
312
  .info('Envs: %s | DONE Validating application environments | Took: %s (ms)', envKeys.length, performance.now() - t);
327
313
  }
314
+ /**
315
+ * Version tripwire, body identical to `RestApplication.initialize()`: a stale kernel without
316
+ * `getBootSequence()`/`runBootSequence()` throws here before any socket binds.
317
+ */
328
318
  async initialize() {
329
- this.printStartUpInfo({ scope: this.initialize.name });
330
- this.validateEnvs();
331
- await this.registerDefaultMiddlewares();
332
- this.staticConfigure();
333
- await this.preConfigure();
334
- await this.hydrateSecrets();
335
- // DataSources must be registered before repositories so they're available for auto-resolution
336
- await this.registerDataSources();
337
- await this.registerComponents();
338
- // Components can contribute datasources, so wire rotatables only after both registration phases - a lease key pointing at a component-contributed datasource would otherwise resolve to nothing.
339
- await this.wireSecretRotatables();
340
- await this.registerControllers();
341
- // Do not register new datasources/components/controllers in postConfigure - they are not auto-registered; call configure() manually if needed.
342
- await this.postConfigure();
319
+ await this.runBootSequence({ steps: this.getBootSequence() });
320
+ }
321
+ getBootSequence() {
322
+ const steps = [
323
+ {
324
+ name: boot_steps_1.ServerBootSteps.PRINT_START_UP_INFO,
325
+ run: () => this.printStartUpInfo({ scope: this.initialize.name }),
326
+ },
327
+ { name: boot_steps_1.ServerBootSteps.VALIDATE_ENVS, run: () => this.validateEnvs() },
328
+ {
329
+ name: boot_steps_1.ServerBootSteps.REGISTER_DEFAULT_MIDDLEWARES,
330
+ run: () => this.registerDefaultMiddlewares(),
331
+ },
332
+ ...super.getBootSequence(),
333
+ ];
334
+ const withHydrate = ignis_kernel_3.BootSequence.insertAfter({
335
+ steps,
336
+ target: boot_steps_1.ServerBootSteps.PRE_CONFIGURE,
337
+ step: { name: boot_steps_1.ServerBootSteps.HYDRATE_SECRETS, run: () => this.hydrateSecrets() },
338
+ });
339
+ // Components can contribute datasources, so wire rotatables only after the contributed sweep -
340
+ // a lease key pointing at a component-contributed datasource would otherwise resolve to nothing.
341
+ const withRotatables = ignis_kernel_3.BootSequence.insertAfter({
342
+ steps: withHydrate,
343
+ target: boot_steps_1.ServerBootSteps.REGISTER_CONTRIBUTED_DATA_SOURCES,
344
+ step: {
345
+ name: boot_steps_1.ServerBootSteps.WIRE_SECRET_ROTATABLES,
346
+ run: () => this.wireSecretRotatables(),
347
+ },
348
+ });
349
+ return [
350
+ ...withRotatables,
351
+ // Last, so a model registered by a component is covered too.
352
+ {
353
+ name: boot_steps_1.ServerBootSteps.VALIDATE_SCOPE_FILTER_SUPPORT,
354
+ run: () => this.validateScopeFilterSupport(),
355
+ },
356
+ ];
357
+ }
358
+ /**
359
+ * Refuses to start when a model's `settings.scopeFilter` cannot take effect. Both failures are
360
+ * silent at runtime and opposite: a search-backed model returns too many rows, a context-less one none.
361
+ */
362
+ validateScopeFilterSupport() {
363
+ (0, ignis_connectors_1.assertScopeFilterSupported)({ asyncContextEnabled: this.configs.asyncContext?.enable ?? false });
343
364
  }
344
365
  }
345
366
  exports.BaseApplication = BaseApplication;
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/base/applications/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/base/applications/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { BootSteps } from '@venizia/ignis-kernel';
2
+ import type { TConstValue } from '@venizia/ignis-helpers/common';
3
+ /** The kernel's step names plus the ones only a server runs - the full vocabulary `BaseApplication.getBootSequence()` publishes for `BootSequence.insertAfter`. */
4
+ export declare class ServerBootSteps extends BootSteps {
5
+ static readonly PRINT_START_UP_INFO = "printStartUpInfo";
6
+ static readonly VALIDATE_ENVS = "validateEnvs";
7
+ static readonly HYDRATE_SECRETS = "hydrateSecrets";
8
+ static readonly WIRE_SECRET_ROTATABLES = "wireSecretRotatables";
9
+ static readonly VALIDATE_SCOPE_FILTER_SUPPORT = "validateScopeFilterSupport";
10
+ static readonly SCHEME_SET: Set<string>;
11
+ }
12
+ export type TServerBootStep = TConstValue<typeof ServerBootSteps>;
13
+ //# sourceMappingURL=boot-steps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boot-steps.d.ts","sourceRoot":"","sources":["../../../src/base/applications/boot-steps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,mKAAmK;AACnK,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,MAAM,CAAC,QAAQ,CAAC,mBAAmB,sBAAsB;IACzD,MAAM,CAAC,QAAQ,CAAC,aAAa,kBAAkB;IAC/C,MAAM,CAAC,QAAQ,CAAC,eAAe,oBAAoB;IACnD,MAAM,CAAC,QAAQ,CAAC,sBAAsB,0BAA0B;IAChE,MAAM,CAAC,QAAQ,CAAC,6BAA6B,gCAAgC;IAG7E,gBAAyB,UAAU,cAOhC;CACJ;AAED,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServerBootSteps = void 0;
4
+ const ignis_kernel_1 = require("@venizia/ignis-kernel");
5
+ /** The kernel's step names plus the ones only a server runs - the full vocabulary `BaseApplication.getBootSequence()` publishes for `BootSequence.insertAfter`. */
6
+ class ServerBootSteps extends ignis_kernel_1.BootSteps {
7
+ static { this.PRINT_START_UP_INFO = 'printStartUpInfo'; }
8
+ static { this.VALIDATE_ENVS = 'validateEnvs'; }
9
+ static { this.HYDRATE_SECRETS = 'hydrateSecrets'; }
10
+ static { this.WIRE_SECRET_ROTATABLES = 'wireSecretRotatables'; }
11
+ static { this.VALIDATE_SCOPE_FILTER_SUPPORT = 'validateScopeFilterSupport'; }
12
+ // The kernel's names plus these; `isValid` is inherited and reads this set through `this`.
13
+ static { this.SCHEME_SET = new Set([
14
+ ...ignis_kernel_1.BootSteps.SCHEME_SET,
15
+ this.PRINT_START_UP_INFO,
16
+ this.VALIDATE_ENVS,
17
+ this.HYDRATE_SECRETS,
18
+ this.WIRE_SECRET_ROTATABLES,
19
+ this.VALIDATE_SCOPE_FILTER_SUPPORT,
20
+ ]); }
21
+ }
22
+ exports.ServerBootSteps = ServerBootSteps;
23
+ //# sourceMappingURL=boot-steps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boot-steps.js","sourceRoot":"","sources":["../../../src/base/applications/boot-steps.ts"],"names":[],"mappings":";;;AAAA,wDAAkD;AAGlD,mKAAmK;AACnK,MAAa,eAAgB,SAAQ,wBAAS;aAC5B,wBAAmB,GAAG,kBAAkB,CAAC;aACzC,kBAAa,GAAG,cAAc,CAAC;aAC/B,oBAAe,GAAG,gBAAgB,CAAC;aACnC,2BAAsB,GAAG,sBAAsB,CAAC;aAChD,kCAA6B,GAAG,4BAA4B,CAAC;IAE7E,2FAA2F;aAClE,eAAU,GAAG,IAAI,GAAG,CAAS;QACpD,GAAG,wBAAS,CAAC,UAAU;QACvB,IAAI,CAAC,mBAAmB;QACxB,IAAI,CAAC,aAAa;QAClB,IAAI,CAAC,eAAe;QACpB,IAAI,CAAC,sBAAsB;QAC3B,IAAI,CAAC,6BAA6B;KACnC,CAAC,CAAC;;AAfL,0CAgBC"}
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/base/applications/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./types"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/base/applications/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
@@ -10,6 +10,17 @@ export type TNodeServerInstance = any;
10
10
  export interface IServerApplicationConfigs extends IKernelApplicationConfigs {
11
11
  host?: string;
12
12
  port?: number;
13
+ /** Bound as `CoreBindings.APPLICATION_PROJECT_ROOT` at construction and handed to `ModuleUtility`; default `process.cwd()`. Must be the directory holding `node_modules` at run time - never `__dirname` inside a compiled binary. */
14
+ projectRoot?: string;
15
+ /** Bun-only socket options passed straight to `Bun.serve`; the node runtime logs a warning and ignores them. Unset keys keep Bun's own defaults. */
16
+ server?: IServerRuntimeConfigs;
17
+ }
18
+ /** The `Bun.serve` options an application has a reason to change without re-implementing `startBunModule`. */
19
+ export interface IServerRuntimeConfigs {
20
+ /** Seconds a connection may sit idle before Bun closes it; Bun caps it at 255. */
21
+ idleTimeout?: number;
22
+ /** Largest request body in bytes. */
23
+ maxRequestBodySize?: number;
13
24
  }
14
25
  /**
15
26
  * The kernel's contract plus what only a listening server can answer. `RestApplication` deliberately
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/base/applications/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,IAAI,yBAAyB,EACjD,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAExC,4HAA4H;AAC5H,MAAM,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEtC;;;;GAIG;AACH,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sOAAsO;IACtO,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oJAAoJ;IACpJ,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAChC;AAED,8GAA8G;AAC9G,MAAM,WAAW,qBAAqB;IACpC,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB,CACjC,MAAM,SAAS,GAAG,GAAG,GAAG,EACxB,SAAS,SAAS,MAAM,GAAG,MAAM,EACjC,QAAQ,SAAS,MAAM,GAAG,GAAG,CAC7B,SAAQ,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;IACjD,aAAa,IAAI,MAAM,CAAC;IACxB,aAAa,IAAI,MAAM,CAAC;IACxB,gBAAgB,IAAI,MAAM,CAAC;IAE3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC9B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/base/applications/common/types.ts"],"names":[],"mappings":""}
@@ -1,5 +1,6 @@
1
1
  export * from '@venizia/ignis-kernel';
2
2
  export * from './base';
3
+ export * from './boot-steps';
4
+ export * from './common';
3
5
  export * from './server';
4
- export * from './types';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/applications/index.ts"],"names":[],"mappings":"AAGA,cAAc,uBAAuB,CAAC;AAEtC,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/applications/index.ts"],"names":[],"mappings":"AAGA,cAAc,uBAAuB,CAAC;AAEtC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
@@ -19,6 +19,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
19
19
  // server).
20
20
  __exportStar(require("@venizia/ignis-kernel"), exports);
21
21
  __exportStar(require("./base"), exports);
22
+ __exportStar(require("./boot-steps"), exports);
23
+ __exportStar(require("./common"), exports);
22
24
  __exportStar(require("./server"), exports);
23
- __exportStar(require("./types"), exports);
24
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base/applications/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+FAA+F;AAC/F,kGAAkG;AAClG,WAAW;AACX,wDAAsC;AAEtC,yCAAuB;AACvB,2CAAyB;AACzB,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base/applications/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+FAA+F;AAC/F,kGAAkG;AAClG,WAAW;AACX,wDAAsC;AAEtC,yCAAuB;AACvB,+CAA6B;AAC7B,2CAAyB;AACzB,2CAAyB"}
@@ -1,6 +1,6 @@
1
1
  import { RestApplication } from '@venizia/ignis-kernel';
2
2
  import type { Env, Schema } from 'hono';
3
- import type { IServerApplication, IServerApplicationConfigs, TNodeServerInstance } from './types';
3
+ import type { IServerApplication, IServerApplicationConfigs, IServerRuntimeConfigs, TNodeServerInstance } from './common';
4
4
  /** Lives here, not in the kernel: `Bun.serve` resolves only through `@types/bun`, and emitting `Bun` into the kernel's published `.d.ts` would force that dependency on every browser consumer of `@venizia/ignis-kernel`. This package legitimately has Bun types - it is the layer that calls `Bun.serve`. */
5
5
  export type TBunServerInstance = ReturnType<typeof Bun.serve>;
6
6
  /** Adds the listening server (`Bun.serve` / `@hono/node-server`) on top of `RestApplication` - the only layer that touches a socket, so it is the layer that stays out of the browser-pure kernel. */
@@ -21,15 +21,19 @@ export declare abstract class ServerApplication<AppEnv extends Env = Env, AppSch
21
21
  });
22
22
  /** Restores the pre-split default: a server-capable application installs `hono/context-storage` unless the caller opts out explicitly. */
23
23
  protected getDefaultAsyncContextEnabled(): boolean;
24
- /** Restores the pre-split default: a listening server has a real process cwd. An application may still override this further (several already do, with `__dirname`). */
24
+ /** `configs.projectRoot` wins, else the process cwd. The value is bound AND handed to `ModuleUtility`, so every peer lookup (optional modules, the gRPC adapter) resolves under it - a compiled binary sets it to where its `node_modules` really is. */
25
25
  getProjectRoot(): string;
26
26
  getServerHost(): string;
27
27
  getServerPort(): number;
28
28
  getServerAddress(): string;
29
+ /** `configs.server` with unset keys dropped, so a missing option keeps Bun's default instead of passing `undefined`. */
30
+ protected getServerRuntimeOptions(): IServerRuntimeConfigs;
29
31
  getServerInstance<T extends TBunServerInstance | TNodeServerInstance = TBunServerInstance | TNodeServerInstance>(): T | undefined;
30
32
  protected startBunModule(): Promise<unknown>;
31
33
  protected startNodeModule(): Promise<unknown>;
32
34
  start(): Promise<void>;
35
+ /** Post-stop hooks, then the server, then the datasources - closed even when the server fails to, so a stopped application holds no connection. */
33
36
  stop(): Promise<void>;
37
+ protected stopServer(): Promise<void>;
34
38
  }
35
39
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/base/applications/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGtE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAExC,OAAO,KAAK,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAElG,gTAAgT;AAChT,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AAkC9D,sMAAsM;AACtM,8BAAsB,iBAAiB,CACrC,MAAM,SAAS,GAAG,GAAG,GAAG,EACxB,SAAS,SAAS,MAAM,GAAG,EAAE,EAC7B,QAAQ,SAAS,MAAM,GAAG,GAAG,CAE7B,SAAQ,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CACnD,YAAW,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;IAE1D,mMAAmM;IACnM,SAAS,CAAC,OAAO,SAA2B;IAC5C,SAAS,CAAC,cAAc,CAAC,EAAE,kBAAkB,GAAG,mBAAmB,CAAC;IAEpE,2LAA2L;IAC3L,UAAkB,OAAO,EAAE,yBAAyB,CAAC;IAErD;;;;OAIG;gBACS,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,yBAAyB,CAAA;KAAE;IAWtE,0IAA0I;cACvH,6BAA6B,IAAI,OAAO;IAI3D,wKAAwK;IAC/J,cAAc,IAAI,MAAM;IAMjC,aAAa,IAAI,MAAM;IAIvB,aAAa,IAAI,MAAM;IAIvB,gBAAgB;IAIhB,iBAAiB,CACf,CAAC,SAAS,kBAAkB,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,mBAAmB,KAC1F,CAAC,GAAG,SAAS;IAIlB,SAAS,CAAC,cAAc;IA0CxB,SAAS,CAAC,eAAe;IAiDnB,KAAK;IA0BL,IAAI;CAsCX"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/base/applications/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAItE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGxC,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAElB,gTAAgT;AAChT,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AAkC9D,sMAAsM;AACtM,8BAAsB,iBAAiB,CACrC,MAAM,SAAS,GAAG,GAAG,GAAG,EACxB,SAAS,SAAS,MAAM,GAAG,EAAE,EAC7B,QAAQ,SAAS,MAAM,GAAG,GAAG,CAE7B,SAAQ,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CACnD,YAAW,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;IAE1D,mMAAmM;IACnM,SAAS,CAAC,OAAO,SAA2B;IAC5C,SAAS,CAAC,cAAc,CAAC,EAAE,kBAAkB,GAAG,mBAAmB,CAAC;IAEpE,2LAA2L;IAC3L,UAAkB,OAAO,EAAE,yBAAyB,CAAC;IAErD;;;;OAIG;gBACS,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,yBAAyB,CAAA;KAAE;IAWtE,0IAA0I;cACvH,6BAA6B,IAAI,OAAO;IAI3D,yPAAyP;IAChP,cAAc,IAAI,MAAM;IAejC,aAAa,IAAI,MAAM;IAIvB,aAAa,IAAI,MAAM;IAIvB,gBAAgB;IAIhB,wHAAwH;IACxH,SAAS,CAAC,uBAAuB,IAAI,qBAAqB;IAQ1D,iBAAiB,CACf,CAAC,SAAS,kBAAkB,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,mBAAmB,KAC1F,CAAC,GAAG,SAAS;IAIlB,SAAS,CAAC,cAAc;IA2CxB,SAAS,CAAC,eAAe;IAuDnB,KAAK;IA0BX,mJAAmJ;IAC7I,IAAI;cAUM,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAoC5C"}
@@ -5,8 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ServerApplication = void 0;
7
7
  const ignis_kernel_1 = require("@venizia/ignis-kernel");
8
+ const ignis_helpers_1 = require("@venizia/ignis-helpers");
8
9
  const core_1 = require("@venizia/ignis-helpers/core");
9
10
  const common_1 = require("@venizia/ignis-helpers/common");
11
+ const node_fs_1 = require("node:fs");
10
12
  const node_path_1 = __importDefault(require("node:path"));
11
13
  const DEFAULT_SERVER_HOST = 'localhost';
12
14
  const DEFAULT_SERVER_PORT = 3000;
@@ -56,10 +58,16 @@ class ServerApplication extends ignis_kernel_1.RestApplication {
56
58
  getDefaultAsyncContextEnabled() {
57
59
  return true;
58
60
  }
59
- /** Restores the pre-split default: a listening server has a real process cwd. An application may still override this further (several already do, with `__dirname`). */
61
+ /** `configs.projectRoot` wins, else the process cwd. The value is bound AND handed to `ModuleUtility`, so every peer lookup (optional modules, the gRPC adapter) resolves under it - a compiled binary sets it to where its `node_modules` really is. */
60
62
  getProjectRoot() {
61
- const projectRoot = process.cwd();
63
+ const projectRoot = this.configs.projectRoot ?? process.cwd();
64
+ if (this.configs.projectRoot && !(0, node_fs_1.existsSync)(node_path_1.default.join(projectRoot, 'node_modules'))) {
65
+ this.logger
66
+ .for(this.getProjectRoot.name)
67
+ .warn('configs.projectRoot has no node_modules | root: %s | optional peers will not resolve from it', projectRoot);
68
+ }
62
69
  this.bind({ key: ignis_kernel_1.CoreBindings.APPLICATION_PROJECT_ROOT }).toValue(projectRoot);
70
+ ignis_helpers_1.ModuleUtility.setProjectRoot({ projectRoot });
63
71
  return projectRoot;
64
72
  }
65
73
  getServerHost() {
@@ -71,6 +79,14 @@ class ServerApplication extends ignis_kernel_1.RestApplication {
71
79
  getServerAddress() {
72
80
  return `${this.getServerHost()}:${this.getServerPort()}`;
73
81
  }
82
+ /** `configs.server` with unset keys dropped, so a missing option keeps Bun's default instead of passing `undefined`. */
83
+ getServerRuntimeOptions() {
84
+ const { idleTimeout, maxRequestBodySize } = this.configs.server ?? {};
85
+ return {
86
+ ...(idleTimeout === undefined ? {} : { idleTimeout }),
87
+ ...(maxRequestBodySize === undefined ? {} : { maxRequestBodySize }),
88
+ };
89
+ }
74
90
  getServerInstance() {
75
91
  return this.serverInstance;
76
92
  }
@@ -88,6 +104,7 @@ class ServerApplication extends ignis_kernel_1.RestApplication {
88
104
  port,
89
105
  hostname: host,
90
106
  fetch: server.fetch,
107
+ ...this.getServerRuntimeOptions(),
91
108
  }))
92
109
  .then(rs => {
93
110
  this.serverInstance = rs;
@@ -114,6 +131,12 @@ class ServerApplication extends ignis_kernel_1.RestApplication {
114
131
  const port = this.getServerPort();
115
132
  const host = this.getServerHost();
116
133
  const server = this.getServer();
134
+ const ignored = Object.keys(this.getServerRuntimeOptions());
135
+ if (ignored.length > 0) {
136
+ this.logger
137
+ .for(this.startNodeModule.name)
138
+ .warn('configs.server is Bun-only | ignored on node: %s', ignored.join(', '));
139
+ }
117
140
  import('@hono/node-server')
118
141
  .then(module => {
119
142
  const { serve } = module;
@@ -163,8 +186,17 @@ class ServerApplication extends ignis_kernel_1.RestApplication {
163
186
  }
164
187
  await this.executePostStartHooks();
165
188
  }
189
+ /** Post-stop hooks, then the server, then the datasources - closed even when the server fails to, so a stopped application holds no connection. */
166
190
  async stop() {
167
191
  await this.executePostStopHooks();
192
+ try {
193
+ await this.stopServer();
194
+ }
195
+ finally {
196
+ await this.closeDataSources();
197
+ }
198
+ }
199
+ async stopServer() {
168
200
  const instance = this.serverInstance;
169
201
  if (!instance) {
170
202
  this.logger.for(this.stop.name).info('Server was not started | Nothing to stop');