@venizia/ignis 0.2.0-8 → 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,25 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extraPolicyDefinitionColumns = void 0;
3
+ exports.policyDefinitionDomainShapeCheck = exports.extraPolicyDefinitionColumns = void 0;
4
4
  const core_1 = require("@venizia/ignis-helpers/core");
5
+ const ignis_kernel_1 = require("@venizia/ignis-kernel");
5
6
  const pg_core_1 = require("drizzle-orm/pg-core");
6
7
  /** Column shape is inferred, never hand-declared, so it can never drift from the `$type<>()` narrowing below. */
7
8
  const buildCommonPolicyDefinitionColumns = () => ({
8
- // Narrowed to AuthorizationPolicyVariants.ALL's seven edge kinds plus any app-declared extras -
9
- // a typo here is a silent 403, not a compile error.
9
+ metadata: (0, pg_core_1.jsonb)('metadata').$type(),
10
10
  variant: (0, pg_core_1.text)('variant').$type().notNull(),
11
11
  subjectType: (0, pg_core_1.text)('subject_type').notNull(),
12
12
  targetType: (0, pg_core_1.text)('target_type').notNull(),
13
- // Open-ended: grant rows carry a Permission-catalog action code, not a value from a fixed lattice.
13
+ // `null` IS `ANY_MEMBER`, not "unknown"; the literal is refused by `policyDefinitionDomainShapeCheck`.
14
+ domainType: (0, pg_core_1.text)('domain_type'),
14
15
  action: (0, pg_core_1.text)('action'),
15
- // Narrowed to AuthorizationDecisions (allow/deny/abstain) and NOT extensible like `variant`:
16
- // the casbin effect evaluator itself reads this value, so an unknown effect is a correctness
17
- // bug in enforcement, not a harmless unselected row.
18
16
  effect: (0, pg_core_1.text)('effect').$type(),
19
- domain: (0, pg_core_1.text)('domain'),
20
- // Nullable: only subset grants populate it, and a consumer may map its own column instead.
21
- metadata: (0, pg_core_1.jsonb)('metadata'),
22
17
  });
18
+ /**
19
+ * `Metadata` is a type parameter, not an `opts` field: unlike `extraVariants` there is no runtime
20
+ * value to infer from, so supplying it means spelling `Opts` too (no partial inference):
21
+ * `extraPolicyDefinitionColumns<{ idType: 'string' }, IMyMetadata>({ idType: 'string' })`.
22
+ * Keep `ops` in a custom shape if the app also issues subset grants - `customGrant` writes it.
23
+ */
23
24
  const extraPolicyDefinitionColumns = (opts) => {
24
25
  const { idType = 'number' } = opts ?? {};
25
26
  const common = buildCommonPolicyDefinitionColumns();
@@ -29,6 +30,7 @@ const extraPolicyDefinitionColumns = (opts) => {
29
30
  ...common,
30
31
  subjectId: (0, pg_core_1.integer)('subject_id').notNull(),
31
32
  targetId: (0, pg_core_1.integer)('target_id').notNull(),
33
+ domainId: (0, pg_core_1.integer)('domain_id'),
32
34
  };
33
35
  }
34
36
  case 'string': {
@@ -36,6 +38,7 @@ const extraPolicyDefinitionColumns = (opts) => {
36
38
  ...common,
37
39
  subjectId: (0, pg_core_1.text)('subject_id').notNull(),
38
40
  targetId: (0, pg_core_1.text)('target_id').notNull(),
41
+ domainId: (0, pg_core_1.text)('domain_id'),
39
42
  };
40
43
  }
41
44
  default: {
@@ -46,4 +49,27 @@ const extraPolicyDefinitionColumns = (opts) => {
46
49
  }
47
50
  };
48
51
  exports.extraPolicyDefinitionColumns = extraPolicyDefinitionColumns;
52
+ /**
53
+ * The three legal `(domain_type, domain_id)` pairs, as CHECK predicate TEXT for a migration - text,
54
+ * not a Drizzle `SQL`, because a column ref in a `sql` template renders schema-qualified, which a
55
+ * table-level CHECK rejects.
56
+ *
57
+ * The `IS NOT NULL` guard on the last branch looks redundant next to `NOT IN` and is not: a NULL
58
+ * `domain_type` makes `NOT IN` evaluate to NULL, and a CHECK rejects only on FALSE - without it an id
59
+ * with no type passes.
60
+ */
61
+ const policyDefinitionDomainShapeCheck = (opts) => {
62
+ const { domainTypeColumn = 'domain_type', domainIdColumn = 'domain_id' } = opts ?? {};
63
+ const { ANY_MEMBER, SYSTEM_WIDE } = ignis_kernel_1.AuthorizationDomainScopes;
64
+ return [
65
+ `(${domainTypeColumn} IS NULL AND ${domainIdColumn} IS NULL)`,
66
+ `OR (${domainTypeColumn} = '${SYSTEM_WIDE}' AND ${domainIdColumn} IS NULL)`,
67
+ `OR (
68
+ ${domainTypeColumn} IS NOT NULL
69
+ AND ${domainTypeColumn} NOT IN ('${ANY_MEMBER}', '${SYSTEM_WIDE}')
70
+ AND ${domainIdColumn} IS NOT NULL
71
+ )`,
72
+ ].join('\n');
73
+ };
74
+ exports.policyDefinitionDomainShapeCheck = policyDefinitionDomainShapeCheck;
49
75
  //# sourceMappingURL=policy-definition.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"policy-definition.model.js","sourceRoot":"","sources":["../../../../../src/components/auth/models/entities/policy-definition.model.ts"],"names":[],"mappings":";;;AAAA,sDAAuD;AAEvD,iDAA2D;AAoB3D,iHAAiH;AACjH,MAAM,kCAAkC,GAAG,GAAwC,EAAE,CAAC,CAAC;IACrF,gGAAgG;IAChG,oDAAoD;IACpD,OAAO,EAAE,IAAA,cAAI,EAAC,SAAS,CAAC,CAAC,KAAK,EAA8C,CAAC,OAAO,EAAE;IACtF,WAAW,EAAE,IAAA,cAAI,EAAC,cAAc,CAAC,CAAC,OAAO,EAAE;IAC3C,UAAU,EAAE,IAAA,cAAI,EAAC,aAAa,CAAC,CAAC,OAAO,EAAE;IAEzC,mGAAmG;IACnG,MAAM,EAAE,IAAA,cAAI,EAAC,QAAQ,CAAC;IAEtB,6FAA6F;IAC7F,6FAA6F;IAC7F,qDAAqD;IACrD,MAAM,EAAE,IAAA,cAAI,EAAC,QAAQ,CAAC,CAAC,KAAK,EAA0B;IACtD,MAAM,EAAE,IAAA,cAAI,EAAC,QAAQ,CAAC;IAEtB,2FAA2F;IAC3F,QAAQ,EAAE,IAAA,eAAK,EAAC,UAAU,CAAC;CAC5B,CAAC,CAAC;AAkBI,MAAM,4BAA4B,GAAG,CAG1C,IAAW,EACuB,EAAE;IACpC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;IAEzC,MAAM,MAAM,GAAG,kCAAkC,EAA+B,CAAC;IAEjF,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO;gBACL,GAAG,MAAM;gBACT,SAAS,EAAE,IAAA,iBAAO,EAAC,YAAY,CAAC,CAAC,OAAO,EAAE;gBAC1C,QAAQ,EAAE,IAAA,iBAAO,EAAC,WAAW,CAAC,CAAC,OAAO,EAAE;aACL,CAAC;QACxC,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO;gBACL,GAAG,MAAM;gBACT,SAAS,EAAE,IAAA,cAAI,EAAC,YAAY,CAAC,CAAC,OAAO,EAAE;gBACvC,QAAQ,EAAE,IAAA,cAAI,EAAC,WAAW,CAAC,CAAC,OAAO,EAAE;aACF,CAAC;QACxC,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,IAAA,eAAQ,EAAC;gBACb,OAAO,EAAE,2DAA2D,MAAM,EAAE;aAC7E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AA9BW,QAAA,4BAA4B,gCA8BvC"}
1
+ {"version":3,"file":"policy-definition.model.js","sourceRoot":"","sources":["../../../../../src/components/auth/models/entities/policy-definition.model.ts"],"names":[],"mappings":";;;AAAA,sDAAuD;AAMvD,wDAAkE;AAClE,iDAA2D;AAoB3D,iHAAiH;AACjH,MAAM,kCAAkC,GAAG,GAGvC,EAAE,CAAC,CAAC;IACN,QAAQ,EAAE,IAAA,eAAK,EAAC,UAAU,CAAC,CAAC,KAAK,EAAY;IAC7C,OAAO,EAAE,IAAA,cAAI,EAAC,SAAS,CAAC,CAAC,KAAK,EAA8C,CAAC,OAAO,EAAE;IAEtF,WAAW,EAAE,IAAA,cAAI,EAAC,cAAc,CAAC,CAAC,OAAO,EAAE;IAC3C,UAAU,EAAE,IAAA,cAAI,EAAC,aAAa,CAAC,CAAC,OAAO,EAAE;IAEzC,uGAAuG;IACvG,UAAU,EAAE,IAAA,cAAI,EAAC,aAAa,CAAC;IAE/B,MAAM,EAAE,IAAA,cAAI,EAAC,QAAQ,CAAC;IACtB,MAAM,EAAE,IAAA,cAAI,EAAC,QAAQ,CAAC,CAAC,KAAK,EAA0B;CACvD,CAAC,CAAC;AAsBH;;;;;GAKG;AACI,MAAM,4BAA4B,GAAG,CAI1C,IAAW,EACiC,EAAE;IAC9C,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;IAEzC,MAAM,MAAM,GAAG,kCAAkC,EAAyC,CAAC;IAE3F,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO;gBACL,GAAG,MAAM;gBACT,SAAS,EAAE,IAAA,iBAAO,EAAC,YAAY,CAAC,CAAC,OAAO,EAAE;gBAC1C,QAAQ,EAAE,IAAA,iBAAO,EAAC,WAAW,CAAC,CAAC,OAAO,EAAE;gBACxC,QAAQ,EAAE,IAAA,iBAAO,EAAC,WAAW,CAAC;aACe,CAAC;QAClD,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO;gBACL,GAAG,MAAM;gBACT,SAAS,EAAE,IAAA,cAAI,EAAC,YAAY,CAAC,CAAC,OAAO,EAAE;gBACvC,QAAQ,EAAE,IAAA,cAAI,EAAC,WAAW,CAAC,CAAC,OAAO,EAAE;gBACrC,QAAQ,EAAE,IAAA,cAAI,EAAC,WAAW,CAAC;aACkB,CAAC;QAClD,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,IAAA,eAAQ,EAAC;gBACb,OAAO,EAAE,2DAA2D,MAAM,EAAE;aAC7E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAjCW,QAAA,4BAA4B,gCAiCvC;AAEF;;;;;;;;GAQG;AACI,MAAM,gCAAgC,GAAG,CAAC,IAGhD,EAAU,EAAE;IACX,MAAM,EAAE,gBAAgB,GAAG,aAAa,EAAE,cAAc,GAAG,WAAW,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;IACtF,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,wCAAyB,CAAC;IAE9D,OAAO;QACL,IAAI,gBAAgB,gBAAgB,cAAc,WAAW;QAC7D,OAAO,gBAAgB,OAAO,WAAW,SAAS,cAAc,WAAW;QAC3E;QACI,gBAAgB;YACZ,gBAAgB,aAAa,UAAU,OAAO,WAAW;YACzD,cAAc;MACpB;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC;AAhBW,QAAA,gCAAgC,oCAgB3C"}
@@ -10,7 +10,7 @@ export declare const extraUserColumns: (opts?: {
10
10
  name: string;
11
11
  dataType: "custom";
12
12
  columnType: "PgCustomColumn";
13
- data: string;
13
+ data: string | import("@venizia/ignis-kernel").TIsoTimestamp;
14
14
  driverParam: string;
15
15
  enumValues: undefined;
16
16
  }>;
@@ -18,7 +18,7 @@ export declare const extraUserColumns: (opts?: {
18
18
  name: string;
19
19
  dataType: "custom";
20
20
  columnType: "PgCustomColumn";
21
- data: string;
21
+ data: string | import("@venizia/ignis-kernel").TIsoTimestamp;
22
22
  driverParam: string;
23
23
  enumValues: undefined;
24
24
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"grpc.component.d.ts","sourceRoot":"","sources":["../../../../src/components/controller/grpc/grpc.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAatD,qBAAa,aAAc,SAAQ,aAAa;IAClC,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,eAAe;IAYjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA+ExC"}
1
+ {"version":3,"file":"grpc.component.d.ts","sourceRoot":"","sources":["../../../../src/components/controller/grpc/grpc.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAYtD,qBAAa,aAAc,SAAQ,aAAa;IAClC,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,eAAe;IAYjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA+ExC"}
@@ -1,7 +1,4 @@
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.GrpcComponent = void 0;
7
4
  const ignis_kernel_1 = require("@venizia/ignis-kernel");
@@ -10,7 +7,6 @@ const ignis_kernel_3 = require("@venizia/ignis-kernel");
10
7
  const ignis_kernel_4 = require("@venizia/ignis-kernel");
11
8
  const core_1 = require("@venizia/ignis-helpers/core");
12
9
  const common_1 = require("@venizia/ignis-helpers/common");
13
- const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
14
10
  const types_1 = require("./common/types");
15
11
  const DEFAULT_OPTIONS = {};
16
12
  class GrpcComponent extends ignis_kernel_1.BaseComponent {
@@ -55,7 +51,7 @@ class GrpcComponent extends ignis_kernel_1.BaseComponent {
55
51
  configured.add(binding.key);
56
52
  continue;
57
53
  }
58
- if (!metadata?.path || (0, isEmpty_1.default)(metadata.path)) {
54
+ if (!metadata?.path || (0, common_1.isEmpty)({ value: metadata.path })) {
59
55
  throw (0, core_1.getError)({
60
56
  statusCode: common_1.HTTP.ResultCodes.RS_5.InternalServerError,
61
57
  message: `[registerControllers] key: '${binding.key}' | Invalid controller metadata, 'path' is required for gRPC controller metadata`,
@@ -1 +1 @@
1
- {"version":3,"file":"grpc.component.js","sourceRoot":"","sources":["../../../../src/components/controller/grpc/grpc.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grpc.component.js","sourceRoot":"","sources":["../../../../src/components/controller/grpc/grpc.component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare class HealthCheckHeaders {
2
+ /** Where a gated stats request carries its key; lowercase because Hono normalises header names. */
3
+ static readonly SECRET_KEY = "x-health-key";
4
+ }
5
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/components/health-check/common/constants.ts"],"names":[],"mappings":"AAAA,qBAAa,kBAAkB;IAC7B,mGAAmG;IACnG,MAAM,CAAC,QAAQ,CAAC,UAAU,kBAAkB;CAC7C"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HealthCheckHeaders = void 0;
4
+ class HealthCheckHeaders {
5
+ /** Where a gated stats request carries its key; lowercase because Hono normalises header names. */
6
+ static { this.SECRET_KEY = 'x-health-key'; }
7
+ }
8
+ exports.HealthCheckHeaders = HealthCheckHeaders;
9
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/components/health-check/common/constants.ts"],"names":[],"mappings":";;;AAAA,MAAa,kBAAkB;IAC7B,mGAAmG;aACnF,eAAU,GAAG,cAAc,CAAC;;AAF9C,gDAGC"}
@@ -1,3 +1,4 @@
1
+ export * from './constants';
1
2
  export * from './keys';
2
3
  export * from './rest-paths';
3
4
  export * from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/health-check/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/health-check/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./constants"), exports);
17
18
  __exportStar(require("./keys"), exports);
18
19
  __exportStar(require("./rest-paths"), exports);
19
20
  __exportStar(require("./types"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/health-check/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,+CAA6B;AAC7B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/health-check/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,yCAAuB;AACvB,+CAA6B;AAC7B,0CAAwB"}
@@ -1,4 +1,6 @@
1
1
  export declare class HealthCheckBindingKeys {
2
2
  static readonly HEALTH_CHECK_OPTIONS = "@app/health-check/options";
3
+ /** The component resolves `getAppInfo()` once (it is async) and binds the result for the controller. */
4
+ static readonly APPLICATION_INFO = "@app/health-check/application-info";
3
5
  }
4
6
  //# sourceMappingURL=keys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../../src/components/health-check/common/keys.ts"],"names":[],"mappings":"AAAA,qBAAa,sBAAsB;IACjC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,+BAA+B;CACpE"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../../src/components/health-check/common/keys.ts"],"names":[],"mappings":"AAAA,qBAAa,sBAAsB;IACjC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,+BAA+B;IACnE,wGAAwG;IACxG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,wCAAwC;CACzE"}
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HealthCheckBindingKeys = void 0;
4
4
  class HealthCheckBindingKeys {
5
5
  static { this.HEALTH_CHECK_OPTIONS = '@app/health-check/options'; }
6
+ /** The component resolves `getAppInfo()` once (it is async) and binds the result for the controller. */
7
+ static { this.APPLICATION_INFO = '@app/health-check/application-info'; }
6
8
  }
7
9
  exports.HealthCheckBindingKeys = HealthCheckBindingKeys;
8
10
  //# sourceMappingURL=keys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../../src/components/health-check/common/keys.ts"],"names":[],"mappings":";;;AAAA,MAAa,sBAAsB;aACjB,yBAAoB,GAAG,2BAA2B,CAAC;;AADrE,wDAEC"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../../src/components/health-check/common/keys.ts"],"names":[],"mappings":";;;AAAA,MAAa,sBAAsB;aACjB,yBAAoB,GAAG,2BAA2B,CAAC;IACnE,wGAAwG;aACxF,qBAAgB,GAAG,oCAAoC,CAAC;;AAH1E,wDAIC"}
@@ -1,5 +1,6 @@
1
1
  export declare class HealthCheckRestPaths {
2
2
  static readonly ROOT = "/";
3
3
  static readonly PING = "/ping";
4
+ static readonly STATS = "/stats";
4
5
  }
5
6
  //# sourceMappingURL=rest-paths.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rest-paths.d.ts","sourceRoot":"","sources":["../../../../src/components/health-check/common/rest-paths.ts"],"names":[],"mappings":"AAAA,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,OAAO;IAC3B,MAAM,CAAC,QAAQ,CAAC,IAAI,WAAW;CAChC"}
1
+ {"version":3,"file":"rest-paths.d.ts","sourceRoot":"","sources":["../../../../src/components/health-check/common/rest-paths.ts"],"names":[],"mappings":"AAAA,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,OAAO;IAC3B,MAAM,CAAC,QAAQ,CAAC,IAAI,WAAW;IAC/B,MAAM,CAAC,QAAQ,CAAC,KAAK,YAAY;CAClC"}
@@ -4,6 +4,7 @@ exports.HealthCheckRestPaths = void 0;
4
4
  class HealthCheckRestPaths {
5
5
  static { this.ROOT = '/'; }
6
6
  static { this.PING = '/ping'; }
7
+ static { this.STATS = '/stats'; }
7
8
  }
8
9
  exports.HealthCheckRestPaths = HealthCheckRestPaths;
9
10
  //# sourceMappingURL=rest-paths.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rest-paths.js","sourceRoot":"","sources":["../../../../src/components/health-check/common/rest-paths.ts"],"names":[],"mappings":";;;AAAA,MAAa,oBAAoB;aACf,SAAI,GAAG,GAAG,CAAC;aACX,SAAI,GAAG,OAAO,CAAC;;AAFjC,oDAGC"}
1
+ {"version":3,"file":"rest-paths.js","sourceRoot":"","sources":["../../../../src/components/health-check/common/rest-paths.ts"],"names":[],"mappings":";;;AAAA,MAAa,oBAAoB;aACf,SAAI,GAAG,GAAG,CAAC;aACX,SAAI,GAAG,OAAO,CAAC;aACf,UAAK,GAAG,QAAQ,CAAC;;AAHnC,oDAIC"}
@@ -1,7 +1,29 @@
1
+ import type { IBuildInfo } from '@venizia/ignis-helpers/core';
1
2
  export interface IHealthCheckOptions {
2
3
  /** Partially-filled bindings are accepted; every missing field falls back to its default. */
3
4
  restOptions?: {
4
5
  path?: string;
5
6
  };
7
+ /**
8
+ * `GET <path>/stats`: build stamp, process and memory. The runtime and version it reports are
9
+ * exactly what an attacker needs to pick an exploit, so the default is CLOSED on every host that
10
+ * is not provably a development one.
11
+ */
12
+ stats?: {
13
+ /**
14
+ * Default: open only when `NODE_ENV` names a development environment
15
+ * (`Environment.DEVELOPMENT_ENVS`). `staging`, `uat`, `production`, an unrecognised name and an
16
+ * unset `NODE_ENV` all keep the route closed.
17
+ */
18
+ enable?: boolean;
19
+ /**
20
+ * When set, the route answers only for a request carrying this value in `X-Health-Key`, and a
21
+ * refusal is indistinguishable from an unmounted route. A blank value fails closed.
22
+ * Without the field the route is open to anything that can reach the port.
23
+ */
24
+ secretKey?: string;
25
+ /** Wins over {@link BuildInfoRegistry}; a host that stamps its own build passes it here. */
26
+ buildInfo?: IBuildInfo;
27
+ };
6
28
  }
7
29
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/health-check/common/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,6FAA6F;IAC7F,WAAW,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACjC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/health-check/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,WAAW,mBAAmB;IAClC,6FAA6F;IAC7F,WAAW,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC;;;;OAIG;IACH,KAAK,CAAC,EAAE;QACN;;;;WAIG;QACH,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB;;;;WAIG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,4FAA4F;QAC5F,SAAS,CAAC,EAAE,UAAU,CAAC;KACxB,CAAC;CACH"}
@@ -1,9 +1,15 @@
1
1
  import { BaseApplication } from '../../base/applications';
2
2
  import { BaseComponent } from '@venizia/ignis-kernel';
3
- import { ValueOrPromise } from '@venizia/ignis-helpers/common';
4
- export declare class HealthCheckComponent extends BaseComponent {
3
+ import { type IHealthCheckOptions } from './common';
4
+ export declare class HealthCheckComponent extends BaseComponent<IHealthCheckOptions> {
5
5
  private application;
6
6
  constructor(application: BaseApplication);
7
- binding(): ValueOrPromise<void>;
7
+ /**
8
+ * `application.component(HealthCheckComponent, { options })` lands here. Options given at the
9
+ * call site are the most explicit statement of intent, so they take the binding over anything
10
+ * bound earlier; `initDefaultBindings` then finds the key taken and leaves the default aside.
11
+ */
12
+ configure(opts?: IHealthCheckOptions): Promise<void>;
13
+ binding(): Promise<void>;
8
14
  }
9
15
  //# sourceMappingURL=component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/health-check/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAU/D,qBAAa,oBAAqB,SAAQ,aAAa;IAEC,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,eAAe;IAajF,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC;CAYzC"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/health-check/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EAA0B,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAY5E,qBAAa,oBAAqB,SAAQ,aAAa,CAAC,mBAAmB,CAAC;IAEpB,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,eAAe;IAa1F;;;;OAIG;IACY,SAAS,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBpD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAmCxC"}
@@ -20,6 +20,8 @@ const metadata_1 = require("../../base/metadata");
20
20
  const ignis_kernel_2 = require("@venizia/ignis-kernel");
21
21
  const common_1 = require("./common");
22
22
  const controller_1 = require("./controller");
23
+ const reporter_1 = require("./reporter");
24
+ const ignis_helpers_1 = require("@venizia/ignis-helpers");
23
25
  const ignis_kernel_3 = require("@venizia/ignis-kernel");
24
26
  const DEFAULT_REST_PATH = '/health';
25
27
  const DEFAULT_OPTIONS = {
@@ -38,13 +40,48 @@ let HealthCheckComponent = HealthCheckComponent_1 = class HealthCheckComponent e
38
40
  });
39
41
  this.application = application;
40
42
  }
41
- binding() {
43
+ /**
44
+ * `application.component(HealthCheckComponent, { options })` lands here. Options given at the
45
+ * call site are the most explicit statement of intent, so they take the binding over anything
46
+ * bound earlier; `initDefaultBindings` then finds the key taken and leaves the default aside.
47
+ */
48
+ async configure(opts) {
49
+ // The base short-circuits a second call; binding before that check would swap the options
50
+ // under routes that were already mounted from the first ones.
51
+ if (this.isConfigured) {
52
+ return;
53
+ }
54
+ if (opts !== undefined) {
55
+ this.application
56
+ .bind({ key: common_1.HealthCheckBindingKeys.HEALTH_CHECK_OPTIONS })
57
+ .toValue(opts);
58
+ }
59
+ await super.configure(opts);
60
+ }
61
+ async binding() {
42
62
  const healthOptions = this.application.get({
43
63
  key: common_1.HealthCheckBindingKeys.HEALTH_CHECK_OPTIONS,
44
64
  isOptional: true,
45
65
  });
46
66
  // A partially filled options binding (env/config driven) must not take the app down at boot.
47
67
  const path = healthOptions?.restOptions?.path ?? DEFAULT_REST_PATH;
68
+ // Legal, occasionally correct, and silent until now: `stats.enable: true` bypasses the
69
+ // environment gate, so the same code that opened the route for a local run opens it in
70
+ // production. Warn rather than refuse - only the operator knows whether the port is reachable.
71
+ if (healthOptions && reporter_1.HealthCheckReporter.isStatsUnguarded({ options: healthOptions })) {
72
+ this.logger
73
+ .for(this.binding.name)
74
+ .warn('GET %s/stats is ENABLED with no secretKey on env "%s" - build stamp, runtime version and memory are readable by anything that reaches this port. Set stats.secretKey, or drop stats.enable and let the environment decide.', path, ignis_helpers_1.Environment.ambient ?? 'unset');
75
+ }
76
+ // `getAppInfo()` is async while the container builds the controller synchronously, so the
77
+ // resolved value is bound here rather than resolved inside the controller.
78
+ this.application
79
+ .bind({ key: common_1.HealthCheckBindingKeys.APPLICATION_INFO })
80
+ .toValue(await this.application.getAppInfo());
81
+ // The gate and the app identity are per container, but `@controller` writes the PATH onto this
82
+ // one shared class in the process-wide MetadataRegistry, and `RestComponent` reads it back at
83
+ // step 8. Two applications booted one after another are safe; two booted CONCURRENTLY with
84
+ // different `restOptions.path` would race here, and nothing in this component prevents that.
48
85
  Reflect.decorate([(0, metadata_1.controller)({ path })], controller_1.HealthCheckController);
49
86
  this.application.controller(controller_1.HealthCheckController);
50
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/health-check/component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAsD;AACtD,wDAAsD;AACtD,8CAAqD;AACrD,wDAAqD;AAErD,qCAAuE;AACvE,6CAAqD;AACrD,wDAAgD;AAEhD,MAAM,iBAAiB,GAAG,SAAS,CAAC;AACpC,MAAM,eAAe,GAAwB;IAC3C,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;CACzC,CAAC;AAEF,IAAa,oBAAoB,4BAAjC,MAAa,oBAAqB,SAAQ,4BAAa;IACrD,YAC8D,WAA4B;QAExF,KAAK,CAAC;YACJ,KAAK,EAAE,sBAAoB,CAAC,IAAI;YAChC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE;YACrD,QAAQ,EAAE;gBACR,CAAC,+BAAsB,CAAC,oBAAoB,CAAC,EAAE,sBAAO,CAAC,IAAI,CAAsB;oBAC/E,GAAG,EAAE,+BAAsB,CAAC,oBAAoB;iBACjD,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;aAC5B;SACF,CAAC,CAAC;QAVyD,gBAAW,GAAX,WAAW,CAAiB;IAW1F,CAAC;IAEQ,OAAO;QACd,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAsB;YAC9D,GAAG,EAAE,+BAAsB,CAAC,oBAAoB;YAChD,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,6FAA6F;QAC7F,MAAM,IAAI,GAAG,aAAa,EAAE,WAAW,EAAE,IAAI,IAAI,iBAAiB,CAAC;QAEnE,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAA,qBAAU,EAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,kCAAqB,CAAC,CAAC;QAChE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,kCAAqB,CAAC,CAAC;IACrD,CAAC;CACF,CAAA;AA3BY,oDAAoB;+BAApB,oBAAoB;IAE5B,WAAA,IAAA,iBAAM,EAAC,EAAE,GAAG,EAAE,2BAAY,CAAC,oBAAoB,EAAE,CAAC,CAAA;qCAAsB,8BAAe;GAF/E,oBAAoB,CA2BhC"}
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/health-check/component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAsD;AACtD,wDAAsD;AACtD,8CAAqD;AACrD,wDAAqD;AACrD,qCAA4E;AAC5E,6CAAqD;AACrD,yCAAiD;AACjD,0DAAqD;AACrD,wDAAgD;AAGhD,MAAM,iBAAiB,GAAG,SAAS,CAAC;AACpC,MAAM,eAAe,GAAwB;IAC3C,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;CACzC,CAAC;AAEF,IAAa,oBAAoB,4BAAjC,MAAa,oBAAqB,SAAQ,4BAAkC;IAC1E,YAC8D,WAA4B;QAExF,KAAK,CAAC;YACJ,KAAK,EAAE,sBAAoB,CAAC,IAAI;YAChC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE;YACrD,QAAQ,EAAE;gBACR,CAAC,+BAAsB,CAAC,oBAAoB,CAAC,EAAE,sBAAO,CAAC,IAAI,CAAsB;oBAC/E,GAAG,EAAE,+BAAsB,CAAC,oBAAoB;iBACjD,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;aAC5B;SACF,CAAC,CAAC;QAVyD,gBAAW,GAAX,WAAW,CAAiB;IAW1F,CAAC;IAED;;;;OAIG;IACM,KAAK,CAAC,SAAS,CAAC,IAA0B;QACjD,0FAA0F;QAC1F,8DAA8D;QAC9D,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW;iBACb,IAAI,CAAsB,EAAE,GAAG,EAAE,+BAAsB,CAAC,oBAAoB,EAAE,CAAC;iBAC/E,OAAO,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAEQ,KAAK,CAAC,OAAO;QACpB,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAsB;YAC9D,GAAG,EAAE,+BAAsB,CAAC,oBAAoB;YAChD,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,6FAA6F;QAC7F,MAAM,IAAI,GAAG,aAAa,EAAE,WAAW,EAAE,IAAI,IAAI,iBAAiB,CAAC;QAEnE,uFAAuF;QACvF,uFAAuF;QACvF,+FAA+F;QAC/F,IAAI,aAAa,IAAI,8BAAmB,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;YACtF,IAAI,CAAC,MAAM;iBACR,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;iBACtB,IAAI,CACH,4NAA4N,EAC5N,IAAI,EACJ,2BAAW,CAAC,OAAO,IAAI,OAAO,CAC/B,CAAC;QACN,CAAC;QAED,0FAA0F;QAC1F,2EAA2E;QAC3E,IAAI,CAAC,WAAW;aACb,IAAI,CAAmB,EAAE,GAAG,EAAE,+BAAsB,CAAC,gBAAgB,EAAE,CAAC;aACxE,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;QAEhD,+FAA+F;QAC/F,8FAA8F;QAC9F,2FAA2F;QAC3F,6FAA6F;QAC7F,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAA,qBAAU,EAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,kCAAqB,CAAC,CAAC;QAChE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,kCAAqB,CAAC,CAAC;IACrD,CAAC;CACF,CAAA;AAvEY,oDAAoB;+BAApB,oBAAoB;IAE5B,WAAA,IAAA,iBAAM,EAAC,EAAE,GAAG,EAAE,2BAAY,CAAC,oBAAoB,EAAE,CAAC,CAAA;qCAAsB,8BAAe;GAF/E,oBAAoB,CAuEhC"}
@@ -1,7 +1,15 @@
1
- import { BaseRestController, IControllerOptions, TRouteContext } from '../../base/controllers';
1
+ import { BaseRestController, TRouteContext } from '../../base/controllers';
2
+ import type { IApplicationInfo } from '@venizia/ignis-kernel';
2
3
  import { ValueOrPromise } from '@venizia/ignis-helpers/common';
4
+ import { type IHealthCheckOptions } from './common';
3
5
  export declare class HealthCheckController extends BaseRestController {
4
- constructor(opts: IControllerOptions);
6
+ private readonly healthOptions;
7
+ private readonly appInfo?;
8
+ /**
9
+ * Both dependencies arrive through the container, so two applications in one process each get
10
+ * their own gate - a static field would let the last one to boot decide for every other.
11
+ */
12
+ constructor(healthOptions?: IHealthCheckOptions, appInfo?: IApplicationInfo | undefined);
5
13
  binding(): ValueOrPromise<void>;
6
14
  pingPong(context: TRouteContext): import("@venizia/ignis-kernel").TJsonResponse<unknown, 200>;
7
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/components/health-check/controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAI3F,OAAO,EAAQ,cAAc,EAAE,MAAM,+BAA+B,CAAC;AA2CrE,qBAAa,qBAAsB,SAAQ,kBAAkB;gBAC/C,IAAI,EAAE,kBAAkB;IAU3B,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC;IAcxC,QAAQ,CAAC,OAAO,EAAE,aAAa;CAShC"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/components/health-check/controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAQ,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,UAAU,CAAC;AA+ElB,qBAAa,qBAAsB,SAAQ,kBAAkB;IAOzD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAR3B;;;OAGG;gBAGgB,aAAa,GAAE,mBAAwB,EAEvC,OAAO,CAAC,EAAE,gBAAgB,YAAA;IAQpC,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC;IAuCxC,QAAQ,CAAC,OAAO,EAAE,aAAa;CAShC"}
@@ -8,6 +8,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var HealthCheckController_1;
11
15
  Object.defineProperty(exports, "__esModule", { value: true });
12
16
  exports.HealthCheckController = void 0;
13
17
  const controllers_1 = require("../../base/controllers");
@@ -16,18 +20,54 @@ const ignis_kernel_1 = require("@venizia/ignis-kernel");
16
20
  const zod_openapi_1 = require("@hono/zod-openapi");
17
21
  const common_1 = require("@venizia/ignis-helpers/common");
18
22
  const common_2 = require("./common");
23
+ const reporter_1 = require("./reporter");
19
24
  const RouteConfigs = {
20
25
  ROOT: {
21
26
  method: common_1.HTTP.Methods.GET,
22
27
  path: common_2.HealthCheckRestPaths.ROOT,
23
28
  responses: (0, ignis_kernel_1.jsonResponse)({
24
- schema: zod_openapi_1.z.object({ status: zod_openapi_1.z.string() }).openapi({
29
+ schema: zod_openapi_1.z.object({ status: zod_openapi_1.z.string(), timestamp: zod_openapi_1.z.iso.datetime() }).openapi({
25
30
  description: 'HealthCheck Schema',
26
- examples: [{ status: 'ok' }],
31
+ examples: [{ status: 'ok', timestamp: new Date().toISOString() }],
27
32
  }),
28
33
  description: 'Health check status',
29
34
  }),
30
35
  },
36
+ STATS: {
37
+ method: common_1.HTTP.Methods.GET,
38
+ path: common_2.HealthCheckRestPaths.STATS,
39
+ request: {
40
+ headers: zod_openapi_1.z.object({
41
+ [common_2.HealthCheckHeaders.SECRET_KEY]: zod_openapi_1.z.string().optional().openapi({
42
+ description: 'The stats key',
43
+ }),
44
+ }),
45
+ },
46
+ responses: (0, ignis_kernel_1.jsonResponse)({
47
+ schema: zod_openapi_1.z
48
+ .object({
49
+ status: zod_openapi_1.z.string(),
50
+ timestamp: zod_openapi_1.z.iso.datetime(),
51
+ build: zod_openapi_1.z.object({
52
+ service: zod_openapi_1.z.string(),
53
+ version: zod_openapi_1.z.string(),
54
+ commit: zod_openapi_1.z.string(),
55
+ branch: zod_openapi_1.z.string(),
56
+ builtAt: zod_openapi_1.z.string(),
57
+ }),
58
+ process: zod_openapi_1.z.object({
59
+ pid: zod_openapi_1.z.number(),
60
+ uptime: zod_openapi_1.z.number(),
61
+ uptimeHuman: zod_openapi_1.z.string(),
62
+ runtime: zod_openapi_1.z.string(),
63
+ environment: zod_openapi_1.z.string(),
64
+ }),
65
+ memory: zod_openapi_1.z.object({ rss: zod_openapi_1.z.string(), heapUsed: zod_openapi_1.z.string(), heapTotal: zod_openapi_1.z.string() }),
66
+ })
67
+ .openapi({ description: 'HealthCheck Stats Schema' }),
68
+ description: 'Build stamp, process and memory - closed outside the development environments unless enabled',
69
+ }),
70
+ },
31
71
  PING: {
32
72
  method: common_1.HTTP.Methods.POST,
33
73
  path: common_2.HealthCheckRestPaths.PING,
@@ -55,24 +95,45 @@ const RouteConfigs = {
55
95
  }),
56
96
  },
57
97
  };
58
- class HealthCheckController extends controllers_1.BaseRestController {
59
- constructor(opts) {
60
- super({
61
- ...opts,
62
- scope: HealthCheckController.name,
63
- });
98
+ let HealthCheckController = HealthCheckController_1 = class HealthCheckController extends controllers_1.BaseRestController {
99
+ /**
100
+ * Both dependencies arrive through the container, so two applications in one process each get
101
+ * their own gate - a static field would let the last one to boot decide for every other.
102
+ */
103
+ constructor(healthOptions = {}, appInfo) {
104
+ super({ scope: HealthCheckController_1.name });
105
+ this.healthOptions = healthOptions;
106
+ this.appInfo = appInfo;
64
107
  // Note: This is optional declare internal controller route definitions
65
108
  this.definitions = RouteConfigs;
66
109
  }
67
110
  binding() {
68
- // Method 1: Using 'bindRoute' to create a controller route
111
+ // Public liveness probe: status and clock only. Nothing here names a runtime or a version.
69
112
  this.bindRoute({ configs: RouteConfigs.ROOT }).to({
70
113
  handler: context => {
71
- return context.json({ status: 'ok' }, common_1.HTTP.ResultCodes.RS_2.Ok);
114
+ return context.json(reporter_1.HealthCheckReporter.buildSummary(), common_1.HTTP.ResultCodes.RS_2.Ok);
115
+ },
116
+ });
117
+ if (!reporter_1.HealthCheckReporter.isStatsEnabled({ options: this.healthOptions })) {
118
+ this.logger
119
+ .for(this.binding.name)
120
+ .debug('Stats route disabled | path: %s', common_2.HealthCheckRestPaths.STATS);
121
+ return;
122
+ }
123
+ this.bindRoute({ configs: RouteConfigs.STATS }).to({
124
+ handler: context => {
125
+ // `context.notFound()`, not a thrown 404: it runs the application's own notFound handler,
126
+ // so the refusal is byte-identical to the answer for a route that was never mounted. A
127
+ // thrown `ApplicationError` serializes a different body and would confirm the route exists.
128
+ if (!reporter_1.HealthCheckReporter.isStatsAuthorized({
129
+ options: this.healthOptions,
130
+ header: context.req.header(common_2.HealthCheckHeaders.SECRET_KEY),
131
+ })) {
132
+ return context.notFound();
133
+ }
134
+ return context.json(reporter_1.HealthCheckReporter.buildStats({ options: this.healthOptions, appInfo: this.appInfo }), common_1.HTTP.ResultCodes.RS_2.Ok);
72
135
  },
73
136
  });
74
- // Method 2: Using 'defineRoute' to create a controller route
75
- /* this.defineRoute({ configs: RouteConfigs.ROOT, handler: context => context.json({ status: 'ok' }, HTTP.ResultCodes.RS_2.Ok) }); */
76
137
  }
77
138
  // Method 3: Using 'decorators' to create a controller route, with an explicit type assertion for the validated request data
78
139
  pingPong(context) {
@@ -80,7 +141,7 @@ class HealthCheckController extends controllers_1.BaseRestController {
80
141
  // Return type is automatically validated against the response schema
81
142
  return context.json({ type: 'PONG', date: new Date().toISOString(), message }, common_1.HTTP.ResultCodes.RS_2.Ok);
82
143
  }
83
- }
144
+ };
84
145
  exports.HealthCheckController = HealthCheckController;
85
146
  __decorate([
86
147
  (0, metadata_1.api)({ configs: RouteConfigs.PING }),
@@ -88,4 +149,9 @@ __decorate([
88
149
  __metadata("design:paramtypes", [Object]),
89
150
  __metadata("design:returntype", void 0)
90
151
  ], HealthCheckController.prototype, "pingPong", null);
152
+ exports.HealthCheckController = HealthCheckController = HealthCheckController_1 = __decorate([
153
+ __param(0, (0, metadata_1.inject)({ key: common_2.HealthCheckBindingKeys.HEALTH_CHECK_OPTIONS, isOptional: true })),
154
+ __param(1, (0, metadata_1.inject)({ key: common_2.HealthCheckBindingKeys.APPLICATION_INFO, isOptional: true })),
155
+ __metadata("design:paramtypes", [Object, Object])
156
+ ], HealthCheckController);
91
157
  //# sourceMappingURL=controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/components/health-check/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/components/health-check/controller.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export * from './common';
2
2
  export * from './component';
3
3
  export * from './controller';
4
+ export * from './reporter';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/health-check/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/health-check/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./common"), exports);
18
18
  __exportStar(require("./component"), exports);
19
19
  __exportStar(require("./controller"), exports);
20
+ __exportStar(require("./reporter"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/health-check/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,8CAA4B;AAC5B,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/health-check/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,8CAA4B;AAC5B,+CAA6B;AAC7B,6CAA2B"}