@geekmidas/constructs 0.0.11 → 0.0.12

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 (323) hide show
  1. package/dist/{AWSLambdaFunction-DcI_77u8.cjs → AWSLambdaFunction-DMxScuaw.cjs} +3 -3
  2. package/dist/{AWSLambdaFunction-DcI_77u8.cjs.map → AWSLambdaFunction-DMxScuaw.cjs.map} +1 -1
  3. package/dist/{AWSLambdaFunction-xyCenuD7.d.cts → AWSLambdaFunction-DSB2oaFG.d.mts} +5 -5
  4. package/dist/{AWSLambdaFunction-BTSGYZSx.mjs → AWSLambdaFunction-cL8A169J.mjs} +3 -3
  5. package/dist/{AWSLambdaFunction-BTSGYZSx.mjs.map → AWSLambdaFunction-cL8A169J.mjs.map} +1 -1
  6. package/dist/{AWSLambdaFunction-Bel0NFTl.d.mts → AWSLambdaFunction-t6q2o8EL.d.cts} +5 -5
  7. package/dist/{AWSLambdaSubscriberAdaptor-mLOpS63x.d.mts → AWSLambdaSubscriberAdaptor-Cknp_nn1.d.cts} +4 -4
  8. package/dist/{AWSLambdaSubscriberAdaptor-G8y3YkWj.mjs → AWSLambdaSubscriberAdaptor-CyFh7MN8.mjs} +1 -1
  9. package/dist/{AWSLambdaSubscriberAdaptor-G8y3YkWj.mjs.map → AWSLambdaSubscriberAdaptor-CyFh7MN8.mjs.map} +1 -1
  10. package/dist/{AWSLambdaSubscriberAdaptor-DX5NFdWf.d.cts → AWSLambdaSubscriberAdaptor-DpHzp-AM.d.mts} +4 -4
  11. package/dist/{AWSLambdaSubscriberAdaptor-CmPZ10JF.cjs → AWSLambdaSubscriberAdaptor-Dum5bkw3.cjs} +1 -1
  12. package/dist/{AWSLambdaSubscriberAdaptor-CmPZ10JF.cjs.map → AWSLambdaSubscriberAdaptor-Dum5bkw3.cjs.map} +1 -1
  13. package/dist/{AmazonApiGatewayEndpointAdaptor-vi0D3dWg.mjs → AmazonApiGatewayEndpointAdaptor-CIEhW1TQ.mjs} +47 -16
  14. package/dist/AmazonApiGatewayEndpointAdaptor-CIEhW1TQ.mjs.map +1 -0
  15. package/dist/{AmazonApiGatewayEndpointAdaptor-BwtDtS-i.d.cts → AmazonApiGatewayEndpointAdaptor-CwItKPz2.d.cts} +6 -5
  16. package/dist/{AmazonApiGatewayEndpointAdaptor-BTqB3c1_.cjs → AmazonApiGatewayEndpointAdaptor-H8YvtfQm.cjs} +47 -16
  17. package/dist/AmazonApiGatewayEndpointAdaptor-H8YvtfQm.cjs.map +1 -0
  18. package/dist/{AmazonApiGatewayEndpointAdaptor-CATWBIJo.d.mts → AmazonApiGatewayEndpointAdaptor-eDQgPNLH.d.mts} +7 -6
  19. package/dist/{AmazonApiGatewayV1EndpointAdaptor-nwrtG5L9.cjs → AmazonApiGatewayV1EndpointAdaptor-0n71d3gq.cjs} +3 -3
  20. package/dist/{AmazonApiGatewayV1EndpointAdaptor-nwrtG5L9.cjs.map → AmazonApiGatewayV1EndpointAdaptor-0n71d3gq.cjs.map} +1 -1
  21. package/dist/{AmazonApiGatewayV1EndpointAdaptor-D2_u_zR6.mjs → AmazonApiGatewayV1EndpointAdaptor-B36zXLJ7.mjs} +3 -3
  22. package/dist/{AmazonApiGatewayV1EndpointAdaptor-D2_u_zR6.mjs.map → AmazonApiGatewayV1EndpointAdaptor-B36zXLJ7.mjs.map} +1 -1
  23. package/dist/{AmazonApiGatewayV1EndpointAdaptor-2Rd0LLz4.d.mts → AmazonApiGatewayV1EndpointAdaptor-CnGVpA38.d.mts} +4 -4
  24. package/dist/{AmazonApiGatewayV1EndpointAdaptor-B1AVk2MM.d.cts → AmazonApiGatewayV1EndpointAdaptor-DaCvUL6y.d.cts} +3 -3
  25. package/dist/{AmazonApiGatewayV2EndpointAdaptor-cBDfwdBx.d.mts → AmazonApiGatewayV2EndpointAdaptor-BELz2ijs.d.mts} +4 -4
  26. package/dist/{AmazonApiGatewayV2EndpointAdaptor-DoWAJ9oN.mjs → AmazonApiGatewayV2EndpointAdaptor-CE3wZEb8.mjs} +3 -3
  27. package/dist/{AmazonApiGatewayV2EndpointAdaptor-DoWAJ9oN.mjs.map → AmazonApiGatewayV2EndpointAdaptor-CE3wZEb8.mjs.map} +1 -1
  28. package/dist/{AmazonApiGatewayV2EndpointAdaptor-DmY_QfjO.d.cts → AmazonApiGatewayV2EndpointAdaptor-DA1PH0nc.d.cts} +3 -3
  29. package/dist/{AmazonApiGatewayV2EndpointAdaptor-FSIdXYV6.cjs → AmazonApiGatewayV2EndpointAdaptor-DtU3Cb8F.cjs} +3 -3
  30. package/dist/{AmazonApiGatewayV2EndpointAdaptor-FSIdXYV6.cjs.map → AmazonApiGatewayV2EndpointAdaptor-DtU3Cb8F.cjs.map} +1 -1
  31. package/dist/{Authorizer-Bbk9ziuG.d.mts → Authorizer-BRCVPz_O.d.mts} +1 -1
  32. package/dist/{Authorizer-iXsSB600.d.cts → Authorizer-DG54w1m2.d.cts} +1 -1
  33. package/dist/{BaseFunctionBuilder-bTDKP7bd.cjs → BaseFunctionBuilder-B8rT07QR.cjs} +7 -2
  34. package/dist/BaseFunctionBuilder-B8rT07QR.cjs.map +1 -0
  35. package/dist/{BaseFunctionBuilder-DSqF1r3a.mjs → BaseFunctionBuilder-CT7p10K1.mjs} +7 -2
  36. package/dist/BaseFunctionBuilder-CT7p10K1.mjs.map +1 -0
  37. package/dist/{BaseFunctionBuilder-DOcm1heZ.d.mts → BaseFunctionBuilder-Cf0op65o.d.cts} +8 -5
  38. package/dist/{BaseFunctionBuilder-hWNVKXQB.d.cts → BaseFunctionBuilder-DilipY1y.d.mts} +8 -5
  39. package/dist/{Construct-XCGKof_O.cjs → Construct-BYSPikVm.cjs} +8 -3
  40. package/dist/Construct-BYSPikVm.cjs.map +1 -0
  41. package/dist/{Construct-rZQg2yus.mjs → Construct-LWeB1rSQ.mjs} +8 -3
  42. package/dist/Construct-LWeB1rSQ.mjs.map +1 -0
  43. package/dist/{Construct-iDmbkZ3o.d.mts → Construct-ZPqE0vhn.d.mts} +5 -3
  44. package/dist/{Construct-zc8BkRSp.d.cts → Construct-dI_rgdSp.d.cts} +5 -3
  45. package/dist/Construct.cjs +1 -1
  46. package/dist/Construct.d.cts +1 -1
  47. package/dist/Construct.d.mts +1 -1
  48. package/dist/Construct.mjs +1 -1
  49. package/dist/{Cron-D5HGEt6g.d.mts → Cron-6lOgKqSA.d.cts} +3 -3
  50. package/dist/{Cron-DbJNPTbP.d.cts → Cron-BH_07atD.d.mts} +3 -3
  51. package/dist/{Cron-CYIhd0VE.cjs → Cron-Bnd-2pgE.cjs} +3 -3
  52. package/dist/{Cron-CYIhd0VE.cjs.map → Cron-Bnd-2pgE.cjs.map} +1 -1
  53. package/dist/{Cron-BnO1uXhh.mjs → Cron-DNRjf2cp.mjs} +3 -3
  54. package/dist/{Cron-BnO1uXhh.mjs.map → Cron-DNRjf2cp.mjs.map} +1 -1
  55. package/dist/{CronBuilder-D-546XtP.d.cts → CronBuilder-5oK2AL2n.d.cts} +4 -4
  56. package/dist/{CronBuilder-vRiZb1_N.d.mts → CronBuilder-D2b4zY4l.d.mts} +4 -4
  57. package/dist/{CronBuilder-BxKwHCdJ.mjs → CronBuilder-DdR2TuQa.mjs} +5 -5
  58. package/dist/{CronBuilder-BxKwHCdJ.mjs.map → CronBuilder-DdR2TuQa.mjs.map} +1 -1
  59. package/dist/{CronBuilder-D_3AiPFO.cjs → CronBuilder-dtw4ZyH6.cjs} +5 -5
  60. package/dist/{CronBuilder-D_3AiPFO.cjs.map → CronBuilder-dtw4ZyH6.cjs.map} +1 -1
  61. package/dist/{Endpoint-ChzcIFdV.mjs → Endpoint-B69TqESg.mjs} +15 -8
  62. package/dist/Endpoint-B69TqESg.mjs.map +1 -0
  63. package/dist/{Endpoint-BdIGWw1H.cjs → Endpoint-B9PryZES.cjs} +15 -8
  64. package/dist/Endpoint-B9PryZES.cjs.map +1 -0
  65. package/dist/{Endpoint-BpTSQn7W.d.cts → Endpoint-Cs-MsYlY.d.cts} +80 -12
  66. package/dist/{Endpoint-DqZkc6ft.d.mts → Endpoint-DuZlyjd4.d.mts} +80 -12
  67. package/dist/EndpointBuilder-BrB-K1jO.d.mts +86 -0
  68. package/dist/EndpointBuilder-C-PHInEW.d.cts +86 -0
  69. package/dist/{EndpointBuilder-yo40Qkf_.mjs → EndpointBuilder-DnVL-EU_.mjs} +47 -5
  70. package/dist/EndpointBuilder-DnVL-EU_.mjs.map +1 -0
  71. package/dist/{EndpointBuilder-dmMiNRm9.cjs → EndpointBuilder-DofwCnWJ.cjs} +47 -5
  72. package/dist/EndpointBuilder-DofwCnWJ.cjs.map +1 -0
  73. package/dist/{EndpointFactory-JPhk0Qom.d.cts → EndpointFactory-6zNpVSYp.d.mts} +12 -11
  74. package/dist/{EndpointFactory-CNbcr8u_.cjs → EndpointFactory-Ba9mx9MU.cjs} +3 -3
  75. package/dist/{EndpointFactory-CNbcr8u_.cjs.map → EndpointFactory-Ba9mx9MU.cjs.map} +1 -1
  76. package/dist/{EndpointFactory-D_mmO7Gu.d.mts → EndpointFactory-e5WYVR6t.d.cts} +12 -11
  77. package/dist/{EndpointFactory-LD3upVQK.mjs → EndpointFactory-pPaIGFHV.mjs} +3 -3
  78. package/dist/{EndpointFactory-LD3upVQK.mjs.map → EndpointFactory-pPaIGFHV.mjs.map} +1 -1
  79. package/dist/{Function-C-5_23Wi.d.mts → Function-6EWabl_X.d.cts} +6 -5
  80. package/dist/{Function-DDaSfL_E.cjs → Function-CO-s2pB8.cjs} +6 -6
  81. package/dist/Function-CO-s2pB8.cjs.map +1 -0
  82. package/dist/{Function-Cl9fiR3a.mjs → Function-COnc-tWM.mjs} +6 -6
  83. package/dist/Function-COnc-tWM.mjs.map +1 -0
  84. package/dist/{Function-CW-WcZTu.d.cts → Function-G3JPHMaY.d.mts} +6 -5
  85. package/dist/{FunctionBuilder-fU1H7tFN.d.cts → FunctionBuilder-B3fpp3hA.d.cts} +13 -11
  86. package/dist/{FunctionBuilder-udObIGV0.d.mts → FunctionBuilder-ByaB_LQ4.d.mts} +13 -11
  87. package/dist/{FunctionBuilder-vW12WFOw.mjs → FunctionBuilder-CMhLQ4dt.mjs} +11 -6
  88. package/dist/FunctionBuilder-CMhLQ4dt.mjs.map +1 -0
  89. package/dist/{FunctionBuilder-LQuBiqRc.cjs → FunctionBuilder-_hMwZUof.cjs} +11 -6
  90. package/dist/FunctionBuilder-_hMwZUof.cjs.map +1 -0
  91. package/dist/{FunctionExecutionWrapper-DYBy9OP3.d.mts → FunctionExecutionWrapper-Ci-ookJG.d.cts} +4 -4
  92. package/dist/{FunctionExecutionWrapper-Dwr2ZKzC.d.cts → FunctionExecutionWrapper-DHFMLrOl.d.mts} +4 -4
  93. package/dist/{FunctionExecutionWrapper-Dtyhid1Q.mjs → FunctionExecutionWrapper-i9v5L3Av.mjs} +2 -2
  94. package/dist/{FunctionExecutionWrapper-Dtyhid1Q.mjs.map → FunctionExecutionWrapper-i9v5L3Av.mjs.map} +1 -1
  95. package/dist/{FunctionExecutionWrapper-BBIoHUt6.cjs → FunctionExecutionWrapper-sxJNTpuc.cjs} +2 -2
  96. package/dist/{FunctionExecutionWrapper-BBIoHUt6.cjs.map → FunctionExecutionWrapper-sxJNTpuc.cjs.map} +1 -1
  97. package/dist/{HonoEndpointAdaptor-W-disJnm.d.mts → HonoEndpointAdaptor-BElil8O5.d.mts} +7 -6
  98. package/dist/{HonoEndpointAdaptor-Bc61IS6Q.cjs → HonoEndpointAdaptor-Cw2if5cG.cjs} +51 -20
  99. package/dist/HonoEndpointAdaptor-Cw2if5cG.cjs.map +1 -0
  100. package/dist/{HonoEndpointAdaptor-NR3h5gml.mjs → HonoEndpointAdaptor-DAfnTFVS.mjs} +51 -20
  101. package/dist/HonoEndpointAdaptor-DAfnTFVS.mjs.map +1 -0
  102. package/dist/{HonoEndpointAdaptor-BVQtyvna.d.cts → HonoEndpointAdaptor-DSHl8ZCY.d.cts} +8 -7
  103. package/dist/{Subscriber-BVq3ST4C.d.cts → Subscriber-BhzqUzs-.d.cts} +2 -2
  104. package/dist/{Subscriber-BKftCzwT.mjs → Subscriber-CGb8LjZa.mjs} +2 -2
  105. package/dist/{Subscriber-BKftCzwT.mjs.map → Subscriber-CGb8LjZa.mjs.map} +1 -1
  106. package/dist/{Subscriber-C2OPATI8.cjs → Subscriber-D-FPWts6.cjs} +2 -2
  107. package/dist/{Subscriber-C2OPATI8.cjs.map → Subscriber-D-FPWts6.cjs.map} +1 -1
  108. package/dist/{Subscriber-BuHaqWo4.d.mts → Subscriber-s6yfjeOc.d.mts} +2 -2
  109. package/dist/{SubscriberBuilder-2asHtGbl.d.mts → SubscriberBuilder-BCVkp-ga.d.cts} +3 -3
  110. package/dist/{SubscriberBuilder-yDfpHPZE.mjs → SubscriberBuilder-BcAspHv9.mjs} +2 -2
  111. package/dist/{SubscriberBuilder-yDfpHPZE.mjs.map → SubscriberBuilder-BcAspHv9.mjs.map} +1 -1
  112. package/dist/{SubscriberBuilder-yikoQ8ND.cjs → SubscriberBuilder-BfE2cL1q.cjs} +2 -2
  113. package/dist/{SubscriberBuilder-yikoQ8ND.cjs.map → SubscriberBuilder-BfE2cL1q.cjs.map} +1 -1
  114. package/dist/{SubscriberBuilder-CHIRyNjy.d.cts → SubscriberBuilder-aCua5_wA.d.mts} +3 -3
  115. package/dist/{TestEndpointAdaptor-DA1D6l-U.cjs → TestEndpointAdaptor-Bn1WRFph.cjs} +47 -18
  116. package/dist/TestEndpointAdaptor-Bn1WRFph.cjs.map +1 -0
  117. package/dist/{TestEndpointAdaptor-B10J-cI-.d.mts → TestEndpointAdaptor-DnlAA_rm.d.mts} +7 -6
  118. package/dist/{TestEndpointAdaptor-DpmNXp7G.mjs → TestEndpointAdaptor-DubQOJk_.mjs} +47 -18
  119. package/dist/TestEndpointAdaptor-DubQOJk_.mjs.map +1 -0
  120. package/dist/{TestEndpointAdaptor-BrE5Rs4U.d.cts → TestEndpointAdaptor-o-xtSyQ3.d.cts} +6 -5
  121. package/dist/adaptors/aws.cjs +14 -13
  122. package/dist/adaptors/aws.d.cts +14 -14
  123. package/dist/adaptors/aws.d.mts +15 -15
  124. package/dist/adaptors/aws.mjs +14 -13
  125. package/dist/adaptors/hono.cjs +10 -9
  126. package/dist/adaptors/hono.d.cts +8 -8
  127. package/dist/adaptors/hono.d.mts +9 -9
  128. package/dist/adaptors/hono.mjs +10 -9
  129. package/dist/adaptors/testing.cjs +8 -7
  130. package/dist/adaptors/testing.d.cts +8 -8
  131. package/dist/adaptors/testing.d.mts +9 -9
  132. package/dist/adaptors/testing.mjs +8 -7
  133. package/dist/crons/Cron.cjs +6 -6
  134. package/dist/crons/Cron.d.cts +6 -6
  135. package/dist/crons/Cron.d.mts +6 -6
  136. package/dist/crons/Cron.mjs +6 -6
  137. package/dist/crons/CronBuilder.cjs +7 -7
  138. package/dist/crons/CronBuilder.d.cts +7 -7
  139. package/dist/crons/CronBuilder.d.mts +7 -7
  140. package/dist/crons/CronBuilder.mjs +7 -7
  141. package/dist/crons/index.cjs +7 -7
  142. package/dist/crons/index.d.cts +11 -11
  143. package/dist/crons/index.d.mts +11 -11
  144. package/dist/crons/index.mjs +7 -7
  145. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +8 -7
  146. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +8 -8
  147. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +9 -9
  148. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +8 -7
  149. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +10 -9
  150. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +9 -9
  151. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +10 -10
  152. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +10 -9
  153. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +10 -9
  154. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +9 -9
  155. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +10 -10
  156. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +10 -9
  157. package/dist/endpoints/Authorizer.d.cts +1 -1
  158. package/dist/endpoints/Authorizer.d.mts +1 -1
  159. package/dist/endpoints/Endpoint.cjs +6 -6
  160. package/dist/endpoints/Endpoint.d.cts +7 -7
  161. package/dist/endpoints/Endpoint.d.mts +8 -8
  162. package/dist/endpoints/Endpoint.mjs +6 -6
  163. package/dist/endpoints/EndpointBuilder.cjs +7 -7
  164. package/dist/endpoints/EndpointBuilder.d.cts +8 -8
  165. package/dist/endpoints/EndpointBuilder.d.mts +9 -9
  166. package/dist/endpoints/EndpointBuilder.mjs +7 -7
  167. package/dist/endpoints/EndpointFactory.cjs +8 -8
  168. package/dist/endpoints/EndpointFactory.d.cts +9 -9
  169. package/dist/endpoints/EndpointFactory.d.mts +10 -10
  170. package/dist/endpoints/EndpointFactory.mjs +8 -8
  171. package/dist/endpoints/HonoEndpointAdaptor.cjs +10 -9
  172. package/dist/endpoints/HonoEndpointAdaptor.d.cts +8 -8
  173. package/dist/endpoints/HonoEndpointAdaptor.d.mts +9 -9
  174. package/dist/endpoints/HonoEndpointAdaptor.mjs +10 -9
  175. package/dist/endpoints/TestEndpointAdaptor.cjs +8 -7
  176. package/dist/endpoints/TestEndpointAdaptor.d.cts +8 -8
  177. package/dist/endpoints/TestEndpointAdaptor.d.mts +9 -9
  178. package/dist/endpoints/TestEndpointAdaptor.mjs +8 -7
  179. package/dist/endpoints/audit.cjs +0 -0
  180. package/dist/endpoints/audit.d.cts +9 -0
  181. package/dist/endpoints/audit.d.mts +9 -0
  182. package/dist/endpoints/audit.mjs +0 -0
  183. package/dist/endpoints/helpers.cjs +7 -7
  184. package/dist/endpoints/helpers.d.cts +7 -7
  185. package/dist/endpoints/helpers.d.mts +8 -8
  186. package/dist/endpoints/helpers.mjs +7 -7
  187. package/dist/endpoints/index.cjs +8 -8
  188. package/dist/endpoints/index.cjs.map +1 -1
  189. package/dist/endpoints/index.d.cts +12 -12
  190. package/dist/endpoints/index.d.mts +13 -13
  191. package/dist/endpoints/index.mjs +8 -8
  192. package/dist/endpoints/index.mjs.map +1 -1
  193. package/dist/endpoints/parseHonoQuery.cjs +1 -1
  194. package/dist/endpoints/parseHonoQuery.mjs +1 -1
  195. package/dist/endpoints/parseQueryParams.cjs +1 -1
  196. package/dist/endpoints/parseQueryParams.mjs +1 -1
  197. package/dist/endpoints/processAudits.cjs +5 -0
  198. package/dist/endpoints/processAudits.d.cts +74 -0
  199. package/dist/endpoints/processAudits.d.mts +74 -0
  200. package/dist/endpoints/processAudits.mjs +3 -0
  201. package/dist/functions/AWSLambdaFunction.cjs +6 -6
  202. package/dist/functions/AWSLambdaFunction.d.cts +4 -4
  203. package/dist/functions/AWSLambdaFunction.d.mts +4 -4
  204. package/dist/functions/AWSLambdaFunction.mjs +6 -6
  205. package/dist/functions/BaseFunctionBuilder.cjs +2 -2
  206. package/dist/functions/BaseFunctionBuilder.d.cts +2 -2
  207. package/dist/functions/BaseFunctionBuilder.d.mts +2 -2
  208. package/dist/functions/BaseFunctionBuilder.mjs +2 -2
  209. package/dist/functions/Function.cjs +2 -2
  210. package/dist/functions/Function.d.cts +2 -2
  211. package/dist/functions/Function.d.mts +2 -2
  212. package/dist/functions/Function.mjs +2 -2
  213. package/dist/functions/FunctionBuilder.cjs +4 -4
  214. package/dist/functions/FunctionBuilder.d.cts +4 -4
  215. package/dist/functions/FunctionBuilder.d.mts +4 -4
  216. package/dist/functions/FunctionBuilder.mjs +4 -4
  217. package/dist/functions/FunctionExecutionWrapper.cjs +5 -5
  218. package/dist/functions/FunctionExecutionWrapper.d.cts +3 -3
  219. package/dist/functions/FunctionExecutionWrapper.d.mts +3 -3
  220. package/dist/functions/FunctionExecutionWrapper.mjs +5 -5
  221. package/dist/functions/TestFunctionAdaptor.cjs +4 -4
  222. package/dist/functions/TestFunctionAdaptor.d.cts +2 -2
  223. package/dist/functions/TestFunctionAdaptor.d.mts +2 -2
  224. package/dist/functions/TestFunctionAdaptor.mjs +4 -4
  225. package/dist/functions/index.cjs +5 -5
  226. package/dist/functions/index.d.cts +5 -5
  227. package/dist/functions/index.d.mts +5 -5
  228. package/dist/functions/index.mjs +5 -5
  229. package/dist/functions-BYqZAob8.mjs +8 -0
  230. package/dist/{functions-HCoZ4YKF.mjs.map → functions-BYqZAob8.mjs.map} +1 -1
  231. package/dist/{functions-yg097ymU.cjs → functions-D03lqK-r.cjs} +2 -2
  232. package/dist/{functions-yg097ymU.cjs.map → functions-D03lqK-r.cjs.map} +1 -1
  233. package/dist/{helpers-Cq6wjo7s.cjs → helpers-BApRyhly.cjs} +2 -2
  234. package/dist/{helpers-Cq6wjo7s.cjs.map → helpers-BApRyhly.cjs.map} +1 -1
  235. package/dist/{helpers-CHsIWAEx.mjs → helpers-BPDogwac.mjs} +2 -2
  236. package/dist/{helpers-CHsIWAEx.mjs.map → helpers-BPDogwac.mjs.map} +1 -1
  237. package/dist/{index-RtxMVjUZ.d.mts → index-CUg_hSq-.d.cts} +3 -3
  238. package/dist/index-D-a7e2gv.d.mts +9 -0
  239. package/dist/index.cjs +1 -1
  240. package/dist/index.d.cts +1 -1
  241. package/dist/index.d.mts +2 -2
  242. package/dist/index.mjs +1 -1
  243. package/dist/{parseHonoQuery-DopC24vB.cjs → parseHonoQuery-CT8Cvin-.cjs} +1 -1
  244. package/dist/{parseHonoQuery-DopC24vB.cjs.map → parseHonoQuery-CT8Cvin-.cjs.map} +1 -1
  245. package/dist/{parseHonoQuery-znDKBhdE.mjs → parseHonoQuery-CwFKw2ua.mjs} +1 -1
  246. package/dist/{parseHonoQuery-znDKBhdE.mjs.map → parseHonoQuery-CwFKw2ua.mjs.map} +1 -1
  247. package/dist/{parseQueryParams-BJaRh3OB.mjs → parseQueryParams-CHINupbZ.mjs} +1 -1
  248. package/dist/{parseQueryParams-BJaRh3OB.mjs.map → parseQueryParams-CHINupbZ.mjs.map} +1 -1
  249. package/dist/{parseQueryParams-BzPop4I1.cjs → parseQueryParams-CwvXXwkW.cjs} +1 -1
  250. package/dist/{parseQueryParams-BzPop4I1.cjs.map → parseQueryParams-CwvXXwkW.cjs.map} +1 -1
  251. package/dist/processAudits-BFokHhCO.cjs +174 -0
  252. package/dist/processAudits-BFokHhCO.cjs.map +1 -0
  253. package/dist/processAudits-DfcB-X-4.mjs +156 -0
  254. package/dist/processAudits-DfcB-X-4.mjs.map +1 -0
  255. package/dist/publisher.d.cts +1 -1
  256. package/dist/publisher.d.mts +1 -1
  257. package/dist/subscribers/AWSLambdaSubscriberAdaptor.cjs +1 -1
  258. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.cts +3 -3
  259. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +3 -3
  260. package/dist/subscribers/AWSLambdaSubscriberAdaptor.mjs +1 -1
  261. package/dist/subscribers/Subscriber.cjs +2 -2
  262. package/dist/subscribers/Subscriber.d.cts +2 -2
  263. package/dist/subscribers/Subscriber.d.mts +2 -2
  264. package/dist/subscribers/Subscriber.mjs +2 -2
  265. package/dist/subscribers/SubscriberBuilder.cjs +3 -3
  266. package/dist/subscribers/SubscriberBuilder.d.cts +3 -3
  267. package/dist/subscribers/SubscriberBuilder.d.mts +3 -3
  268. package/dist/subscribers/SubscriberBuilder.mjs +3 -3
  269. package/dist/subscribers/index.cjs +3 -3
  270. package/dist/subscribers/index.d.cts +5 -5
  271. package/dist/subscribers/index.d.mts +5 -5
  272. package/dist/subscribers/index.mjs +3 -3
  273. package/dist/{types-CVq20-fE.d.mts → types-DKf0juBf.d.mts} +1 -1
  274. package/dist/types.d.mts +1 -1
  275. package/package.json +14 -10
  276. package/src/Construct.ts +8 -0
  277. package/src/endpoints/AmazonApiGatewayEndpointAdaptor.ts +88 -19
  278. package/src/endpoints/Endpoint.ts +66 -13
  279. package/src/endpoints/EndpointBuilder.ts +183 -19
  280. package/src/endpoints/HonoEndpointAdaptor.ts +114 -33
  281. package/src/endpoints/TestEndpointAdaptor.ts +96 -21
  282. package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.events.spec.ts +8 -0
  283. package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.spec.ts +29 -0
  284. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.audits.spec.ts +626 -0
  285. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.events.spec.ts +9 -0
  286. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.kysely-audit.integration.spec.ts +718 -0
  287. package/src/endpoints/__tests__/Endpoint.spec.ts +19 -0
  288. package/src/endpoints/__tests__/EndpointBuilder.audit.spec.ts +424 -0
  289. package/src/endpoints/__tests__/HonoEndpointAdaptor.audit-transactions.spec.ts +685 -0
  290. package/src/endpoints/__tests__/HonoEndpointAdaptor.audits.spec.ts +632 -0
  291. package/src/endpoints/__tests__/HonoEndpointAdaptor.events.spec.ts +8 -0
  292. package/src/endpoints/__tests__/HonoEndpointAdaptor.kysely-audit.integration.spec.ts +678 -0
  293. package/src/endpoints/__tests__/HonoEndpointAdaptor.openapi.spec.ts +4 -0
  294. package/src/endpoints/__tests__/HonoEndpointAdaptor.spec.ts +25 -0
  295. package/src/endpoints/audit.ts +87 -0
  296. package/src/endpoints/index.ts +1 -0
  297. package/src/endpoints/processAudits.ts +339 -0
  298. package/src/functions/BaseFunctionBuilder.ts +50 -7
  299. package/src/functions/Function.ts +13 -9
  300. package/src/functions/FunctionBuilder.ts +78 -14
  301. package/src/functions/__tests__/FunctionBuilder.state-isolation.spec.ts +43 -2
  302. package/dist/AmazonApiGatewayEndpointAdaptor-BTqB3c1_.cjs.map +0 -1
  303. package/dist/AmazonApiGatewayEndpointAdaptor-vi0D3dWg.mjs.map +0 -1
  304. package/dist/BaseFunctionBuilder-DSqF1r3a.mjs.map +0 -1
  305. package/dist/BaseFunctionBuilder-bTDKP7bd.cjs.map +0 -1
  306. package/dist/Construct-XCGKof_O.cjs.map +0 -1
  307. package/dist/Construct-rZQg2yus.mjs.map +0 -1
  308. package/dist/Endpoint-BdIGWw1H.cjs.map +0 -1
  309. package/dist/Endpoint-ChzcIFdV.mjs.map +0 -1
  310. package/dist/EndpointBuilder-Cx6pUcCn.d.mts +0 -55
  311. package/dist/EndpointBuilder-Xka8ULR1.d.cts +0 -55
  312. package/dist/EndpointBuilder-dmMiNRm9.cjs.map +0 -1
  313. package/dist/EndpointBuilder-yo40Qkf_.mjs.map +0 -1
  314. package/dist/Function-Cl9fiR3a.mjs.map +0 -1
  315. package/dist/Function-DDaSfL_E.cjs.map +0 -1
  316. package/dist/FunctionBuilder-LQuBiqRc.cjs.map +0 -1
  317. package/dist/FunctionBuilder-vW12WFOw.mjs.map +0 -1
  318. package/dist/HonoEndpointAdaptor-Bc61IS6Q.cjs.map +0 -1
  319. package/dist/HonoEndpointAdaptor-NR3h5gml.mjs.map +0 -1
  320. package/dist/TestEndpointAdaptor-DA1D6l-U.cjs.map +0 -1
  321. package/dist/TestEndpointAdaptor-DpmNXp7G.mjs.map +0 -1
  322. package/dist/functions-HCoZ4YKF.mjs +0 -8
  323. package/dist/index-fiIGH95t.d.cts +0 -9
@@ -1,9 +1,9 @@
1
1
  const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const require_Construct = require('./Construct-XCGKof_O.cjs');
3
- const lodash_uniqby = require_chunk.__toESM(require("lodash.uniqby"));
4
- const __geekmidas_logger_console = require_chunk.__toESM(require("@geekmidas/logger/console"));
2
+ const require_Construct = require('./Construct-BYSPikVm.cjs');
5
3
  const __geekmidas_errors = require_chunk.__toESM(require("@geekmidas/errors"));
4
+ const __geekmidas_logger_console = require_chunk.__toESM(require("@geekmidas/logger/console"));
6
5
  const __geekmidas_schema_parser = require_chunk.__toESM(require("@geekmidas/schema/parser"));
6
+ const lodash_uniqby = require_chunk.__toESM(require("lodash.uniqby"));
7
7
 
8
8
  //#region src/functions/Function.ts
9
9
  const DEFAULT_LOGGER = new __geekmidas_logger_console.ConsoleLogger();
@@ -60,8 +60,8 @@ var Function = class Function extends require_Construct.Construct {
60
60
  async parseOutput(output) {
61
61
  return Function.parseSchema(this.outputSchema, output);
62
62
  }
63
- constructor(fn, timeout = 3e4, type = require_Construct.ConstructType.Function, input, outputSchema, services = [], logger = DEFAULT_LOGGER, publisherService, events = [], memorySize) {
64
- super(type, logger, services, events, publisherService, outputSchema, timeout, memorySize);
63
+ constructor(fn, timeout = 3e4, type = require_Construct.ConstructType.Function, input, outputSchema, services = [], logger = DEFAULT_LOGGER, publisherService, events = [], memorySize, auditorStorageService) {
64
+ super(type, logger, services, events, publisherService, outputSchema, timeout, memorySize, auditorStorageService);
65
65
  this.fn = fn;
66
66
  this.input = input;
67
67
  }
@@ -80,4 +80,4 @@ Object.defineProperty(exports, 'FunctionFactory', {
80
80
  return FunctionFactory;
81
81
  }
82
82
  });
83
- //# sourceMappingURL=Function-DDaSfL_E.cjs.map
83
+ //# sourceMappingURL=Function-CO-s2pB8.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Function-CO-s2pB8.cjs","names":["ConsoleLogger","defaultServices: TServices","defaultLogger: TLogger","services: S","logger: L","Construct","obj: any","ConstructType","schema: T","data: unknown","UnprocessableEntityError","output: unknown","fn: Fn","type: ConstructType","input?: TInput","outputSchema?: OutSchema","services: TServices","logger: TLogger","publisherService?: Service<TEventPublisherServiceName, TEventPublisher>","events: MappedEvent<TEventPublisher, OutSchema>[]","memorySize?: number","auditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>"],"sources":["../src/functions/Function.ts"],"sourcesContent":["import type { AuditStorage } from '@geekmidas/audit';\nimport { UnprocessableEntityError } from '@geekmidas/errors';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type {\n ComposableStandardSchema,\n InferComposableStandardSchema,\n InferStandardSchema,\n} from '@geekmidas/schema';\nimport { parseSchema } from '@geekmidas/schema/parser';\nimport type { Service, ServiceRecord } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { Construct, ConstructType } from '../Construct';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class FunctionFactory<\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n> {\n private defaultServices: TServices;\n constructor(\n defaultServices: TServices,\n private defaultLogger: TLogger = DEFAULT_LOGGER,\n ) {\n // Initialize default services\n this.defaultServices = uniqBy(\n defaultServices,\n (s) => s.serviceName,\n ) as TServices;\n }\n\n // Create a new factory with services\n services<S extends Service[]>(\n services: S,\n ): FunctionFactory<[...S, ...TServices], TLogger> {\n return new FunctionFactory<[...S, ...TServices], TLogger>(\n [...services, ...this.defaultServices],\n this.defaultLogger,\n );\n }\n\n logger<L extends Logger>(logger: L): FunctionFactory<TServices, L> {\n return new FunctionFactory<TServices, L>(this.defaultServices, logger);\n }\n}\n\nexport class Function<\n TInput extends ComposableStandardSchema | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n Fn extends FunctionHandler<\n TInput,\n TServices,\n TLogger,\n OutSchema\n > = FunctionHandler<TInput, TServices, TLogger, OutSchema>,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TAuditStorage extends AuditStorage | undefined = undefined,\n TAuditStorageServiceName extends string = string,\n> extends Construct<\n TLogger,\n TEventPublisherServiceName,\n TEventPublisher,\n OutSchema,\n TServices,\n TAuditStorageServiceName,\n TAuditStorage\n> {\n __IS_FUNCTION__ = true;\n\n static isFunction(obj: any): obj is Function<any, any, any, any, any> {\n return Boolean(\n obj &&\n obj.__IS_FUNCTION__ === true &&\n obj.type === ConstructType.Function,\n );\n }\n\n /**\n * Validates data against a StandardSchema.\n *\n * @param schema - The StandardSchema to validate against\n * @param data - The data to validate\n * @returns Validation result with value or issues\n */\n static validate<T extends StandardSchemaV1>(schema: T, data: unknown) {\n return schema['~standard'].validate(data);\n }\n\n /**\n * Parses and validates data against a schema, throwing an error if validation fails.\n *\n * @param schema - The StandardSchema to validate against\n * @param data - The data to parse and validate\n * @returns The validated data with proper typing\n * @throws {UnprocessableEntityError} When validation fails\n */\n static async parseSchema<T extends StandardSchemaV1>(\n schema: T,\n data: unknown,\n ): Promise<InferStandardSchema<T>> {\n try {\n return await parseSchema(schema, data);\n } catch (issues) {\n throw new UnprocessableEntityError('Validation failed', issues);\n }\n }\n\n /**\n * Parses and validates the endpoint output against the output schema.\n *\n * @param output - The raw output data to validate\n * @returns The validated output data\n * @throws {UnprocessableEntityError} When output validation fails\n */\n async parseOutput(output: unknown): Promise<InferStandardSchema<OutSchema>> {\n return Function.parseSchema(\n this.outputSchema as StandardSchemaV1,\n output,\n ) as Promise<InferStandardSchema<OutSchema>>;\n }\n\n constructor(\n protected readonly fn: Fn,\n timeout = 30000, // Default timeout of 30 seconds\n type: ConstructType = ConstructType.Function,\n public input?: TInput,\n outputSchema?: OutSchema,\n services: TServices = [] as unknown as TServices,\n logger: TLogger = DEFAULT_LOGGER,\n publisherService?: Service<TEventPublisherServiceName, TEventPublisher>,\n events: MappedEvent<TEventPublisher, OutSchema>[] = [],\n memorySize?: number,\n auditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>,\n ) {\n super(\n type,\n logger,\n services,\n events,\n publisherService,\n outputSchema,\n timeout,\n memorySize,\n auditorStorageService,\n );\n }\n}\n\nexport type FunctionHandler<\n TInput extends ComposableStandardSchema | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n> = (\n ctx: FunctionContext<TInput, TServices, TLogger>,\n) => OutSchema extends StandardSchemaV1\n ? InferStandardSchema<OutSchema> | Promise<InferStandardSchema<OutSchema>>\n : any | Promise<any>;\n\nexport type FunctionContext<\n Input extends ComposableStandardSchema | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n> = {\n services: ServiceRecord<TServices>;\n logger: TLogger;\n input: InferComposableStandardSchema<Input>;\n};\n"],"mappings":";;;;;;;;AAgBA,MAAM,iBAAiB,IAAIA;AAE3B,IAAa,kBAAb,MAAa,gBAGX;CACA,AAAQ;CACR,YACEC,iBACQC,gBAAyB,gBACjC;EADQ;AAGR,OAAK,kBAAkB,2BACrB,iBACA,CAAC,MAAM,EAAE,YACV;CACF;CAGD,SACEC,UACgD;AAChD,SAAO,IAAI,gBACT,CAAC,GAAG,UAAU,GAAG,KAAK,eAAgB,GACtC,KAAK;CAER;CAED,OAAyBC,QAA0C;AACjE,SAAO,IAAI,gBAA8B,KAAK,iBAAiB;CAChE;AACF;AAED,IAAa,WAAb,MAAa,iBAeHC,4BAQR;CACA,kBAAkB;CAElB,OAAO,WAAWC,KAAoD;AACpE,SAAO,QACL,OACE,IAAI,oBAAoB,QACxB,IAAI,SAASC,gCAAc,SAC9B;CACF;;;;;;;;CASD,OAAO,SAAqCC,QAAWC,MAAe;AACpE,SAAO,OAAO,aAAa,SAAS,KAAK;CAC1C;;;;;;;;;CAUD,aAAa,YACXD,QACAC,MACiC;AACjC,MAAI;AACF,UAAO,MAAM,2CAAY,QAAQ,KAAK;EACvC,SAAQ,QAAQ;AACf,SAAM,IAAIC,4CAAyB,qBAAqB;EACzD;CACF;;;;;;;;CASD,MAAM,YAAYC,QAA0D;AAC1E,SAAO,SAAS,YACd,KAAK,cACL,OACD;CACF;CAED,YACqBC,IACnB,UAAU,KACVC,OAAsBN,gCAAc,UAC7BO,OACPC,cACAC,WAAsB,CAAE,GACxBC,SAAkB,gBAClBC,kBACAC,SAAoD,CAAE,GACtDC,YACAC,uBACA;AACA,QACE,MACA,QACA,UACA,QACA,kBACA,cACA,SACA,YACA,sBACD;EAtBkB;EAGZ;CAoBR;AACF"}
@@ -1,8 +1,8 @@
1
- import { Construct, ConstructType } from "./Construct-rZQg2yus.mjs";
2
- import uniqBy from "lodash.uniqby";
3
- import { ConsoleLogger } from "@geekmidas/logger/console";
1
+ import { Construct, ConstructType } from "./Construct-LWeB1rSQ.mjs";
4
2
  import { UnprocessableEntityError } from "@geekmidas/errors";
3
+ import { ConsoleLogger } from "@geekmidas/logger/console";
5
4
  import { parseSchema } from "@geekmidas/schema/parser";
5
+ import uniqBy from "lodash.uniqby";
6
6
 
7
7
  //#region src/functions/Function.ts
8
8
  const DEFAULT_LOGGER$1 = new ConsoleLogger();
@@ -59,8 +59,8 @@ var Function = class Function extends Construct {
59
59
  async parseOutput(output) {
60
60
  return Function.parseSchema(this.outputSchema, output);
61
61
  }
62
- constructor(fn, timeout = 3e4, type = ConstructType.Function, input, outputSchema, services = [], logger = DEFAULT_LOGGER$1, publisherService, events = [], memorySize) {
63
- super(type, logger, services, events, publisherService, outputSchema, timeout, memorySize);
62
+ constructor(fn, timeout = 3e4, type = ConstructType.Function, input, outputSchema, services = [], logger = DEFAULT_LOGGER$1, publisherService, events = [], memorySize, auditorStorageService) {
63
+ super(type, logger, services, events, publisherService, outputSchema, timeout, memorySize, auditorStorageService);
64
64
  this.fn = fn;
65
65
  this.input = input;
66
66
  }
@@ -68,4 +68,4 @@ var Function = class Function extends Construct {
68
68
 
69
69
  //#endregion
70
70
  export { Function, FunctionFactory };
71
- //# sourceMappingURL=Function-Cl9fiR3a.mjs.map
71
+ //# sourceMappingURL=Function-COnc-tWM.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Function-COnc-tWM.mjs","names":["DEFAULT_LOGGER","defaultServices: TServices","defaultLogger: TLogger","services: S","logger: L","obj: any","schema: T","data: unknown","output: unknown","fn: Fn","type: ConstructType","input?: TInput","outputSchema?: OutSchema","services: TServices","logger: TLogger","publisherService?: Service<TEventPublisherServiceName, TEventPublisher>","events: MappedEvent<TEventPublisher, OutSchema>[]","memorySize?: number","auditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>"],"sources":["../src/functions/Function.ts"],"sourcesContent":["import type { AuditStorage } from '@geekmidas/audit';\nimport { UnprocessableEntityError } from '@geekmidas/errors';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type {\n ComposableStandardSchema,\n InferComposableStandardSchema,\n InferStandardSchema,\n} from '@geekmidas/schema';\nimport { parseSchema } from '@geekmidas/schema/parser';\nimport type { Service, ServiceRecord } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { Construct, ConstructType } from '../Construct';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class FunctionFactory<\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n> {\n private defaultServices: TServices;\n constructor(\n defaultServices: TServices,\n private defaultLogger: TLogger = DEFAULT_LOGGER,\n ) {\n // Initialize default services\n this.defaultServices = uniqBy(\n defaultServices,\n (s) => s.serviceName,\n ) as TServices;\n }\n\n // Create a new factory with services\n services<S extends Service[]>(\n services: S,\n ): FunctionFactory<[...S, ...TServices], TLogger> {\n return new FunctionFactory<[...S, ...TServices], TLogger>(\n [...services, ...this.defaultServices],\n this.defaultLogger,\n );\n }\n\n logger<L extends Logger>(logger: L): FunctionFactory<TServices, L> {\n return new FunctionFactory<TServices, L>(this.defaultServices, logger);\n }\n}\n\nexport class Function<\n TInput extends ComposableStandardSchema | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n Fn extends FunctionHandler<\n TInput,\n TServices,\n TLogger,\n OutSchema\n > = FunctionHandler<TInput, TServices, TLogger, OutSchema>,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TAuditStorage extends AuditStorage | undefined = undefined,\n TAuditStorageServiceName extends string = string,\n> extends Construct<\n TLogger,\n TEventPublisherServiceName,\n TEventPublisher,\n OutSchema,\n TServices,\n TAuditStorageServiceName,\n TAuditStorage\n> {\n __IS_FUNCTION__ = true;\n\n static isFunction(obj: any): obj is Function<any, any, any, any, any> {\n return Boolean(\n obj &&\n obj.__IS_FUNCTION__ === true &&\n obj.type === ConstructType.Function,\n );\n }\n\n /**\n * Validates data against a StandardSchema.\n *\n * @param schema - The StandardSchema to validate against\n * @param data - The data to validate\n * @returns Validation result with value or issues\n */\n static validate<T extends StandardSchemaV1>(schema: T, data: unknown) {\n return schema['~standard'].validate(data);\n }\n\n /**\n * Parses and validates data against a schema, throwing an error if validation fails.\n *\n * @param schema - The StandardSchema to validate against\n * @param data - The data to parse and validate\n * @returns The validated data with proper typing\n * @throws {UnprocessableEntityError} When validation fails\n */\n static async parseSchema<T extends StandardSchemaV1>(\n schema: T,\n data: unknown,\n ): Promise<InferStandardSchema<T>> {\n try {\n return await parseSchema(schema, data);\n } catch (issues) {\n throw new UnprocessableEntityError('Validation failed', issues);\n }\n }\n\n /**\n * Parses and validates the endpoint output against the output schema.\n *\n * @param output - The raw output data to validate\n * @returns The validated output data\n * @throws {UnprocessableEntityError} When output validation fails\n */\n async parseOutput(output: unknown): Promise<InferStandardSchema<OutSchema>> {\n return Function.parseSchema(\n this.outputSchema as StandardSchemaV1,\n output,\n ) as Promise<InferStandardSchema<OutSchema>>;\n }\n\n constructor(\n protected readonly fn: Fn,\n timeout = 30000, // Default timeout of 30 seconds\n type: ConstructType = ConstructType.Function,\n public input?: TInput,\n outputSchema?: OutSchema,\n services: TServices = [] as unknown as TServices,\n logger: TLogger = DEFAULT_LOGGER,\n publisherService?: Service<TEventPublisherServiceName, TEventPublisher>,\n events: MappedEvent<TEventPublisher, OutSchema>[] = [],\n memorySize?: number,\n auditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>,\n ) {\n super(\n type,\n logger,\n services,\n events,\n publisherService,\n outputSchema,\n timeout,\n memorySize,\n auditorStorageService,\n );\n }\n}\n\nexport type FunctionHandler<\n TInput extends ComposableStandardSchema | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n> = (\n ctx: FunctionContext<TInput, TServices, TLogger>,\n) => OutSchema extends StandardSchemaV1\n ? InferStandardSchema<OutSchema> | Promise<InferStandardSchema<OutSchema>>\n : any | Promise<any>;\n\nexport type FunctionContext<\n Input extends ComposableStandardSchema | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n> = {\n services: ServiceRecord<TServices>;\n logger: TLogger;\n input: InferComposableStandardSchema<Input>;\n};\n"],"mappings":";;;;;;;AAgBA,MAAMA,mBAAiB,IAAI;AAE3B,IAAa,kBAAb,MAAa,gBAGX;CACA,AAAQ;CACR,YACEC,iBACQC,gBAAyBF,kBACjC;EADQ;AAGR,OAAK,kBAAkB,OACrB,iBACA,CAAC,MAAM,EAAE,YACV;CACF;CAGD,SACEG,UACgD;AAChD,SAAO,IAAI,gBACT,CAAC,GAAG,UAAU,GAAG,KAAK,eAAgB,GACtC,KAAK;CAER;CAED,OAAyBC,QAA0C;AACjE,SAAO,IAAI,gBAA8B,KAAK,iBAAiB;CAChE;AACF;AAED,IAAa,WAAb,MAAa,iBAeH,UAQR;CACA,kBAAkB;CAElB,OAAO,WAAWC,KAAoD;AACpE,SAAO,QACL,OACE,IAAI,oBAAoB,QACxB,IAAI,SAAS,cAAc,SAC9B;CACF;;;;;;;;CASD,OAAO,SAAqCC,QAAWC,MAAe;AACpE,SAAO,OAAO,aAAa,SAAS,KAAK;CAC1C;;;;;;;;;CAUD,aAAa,YACXD,QACAC,MACiC;AACjC,MAAI;AACF,UAAO,MAAM,YAAY,QAAQ,KAAK;EACvC,SAAQ,QAAQ;AACf,SAAM,IAAI,yBAAyB,qBAAqB;EACzD;CACF;;;;;;;;CASD,MAAM,YAAYC,QAA0D;AAC1E,SAAO,SAAS,YACd,KAAK,cACL,OACD;CACF;CAED,YACqBC,IACnB,UAAU,KACVC,OAAsB,cAAc,UAC7BC,OACPC,cACAC,WAAsB,CAAE,GACxBC,SAAkBd,kBAClBe,kBACAC,SAAoD,CAAE,GACtDC,YACAC,uBACA;AACA,QACE,MACA,QACA,UACA,QACA,kBACA,cACA,SACA,YACA,sBACD;EAtBkB;EAGZ;CAoBR;AACF"}
@@ -1,7 +1,8 @@
1
- import { Construct, ConstructType } from "./Construct-zc8BkRSp.cjs";
1
+ import { Construct, ConstructType } from "./Construct-ZPqE0vhn.mjs";
2
+ import { Service, ServiceRecord } from "@geekmidas/services";
3
+ import { AuditStorage } from "@geekmidas/audit";
2
4
  import { EventPublisher, MappedEvent } from "@geekmidas/events";
3
5
  import { Logger } from "@geekmidas/logger";
4
- import { Service, ServiceRecord } from "@geekmidas/services";
5
6
  import { StandardSchemaV1 } from "@standard-schema/spec";
6
7
  import { ComposableStandardSchema, InferComposableStandardSchema, InferStandardSchema } from "@geekmidas/schema";
7
8
 
@@ -13,7 +14,7 @@ declare class FunctionFactory<TServices extends Service[] = [], TLogger extends
13
14
  services<S extends Service[]>(services: S): FunctionFactory<[...S, ...TServices], TLogger>;
14
15
  logger<L extends Logger>(logger: L): FunctionFactory<TServices, L>;
15
16
  }
16
- declare class Function<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, Fn extends FunctionHandler<TInput, TServices, TLogger, OutSchema> = FunctionHandler<TInput, TServices, TLogger, OutSchema>, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> extends Construct<TLogger, TEventPublisherServiceName, TEventPublisher, OutSchema, TServices> {
17
+ declare class Function<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, Fn extends FunctionHandler<TInput, TServices, TLogger, OutSchema> = FunctionHandler<TInput, TServices, TLogger, OutSchema>, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string> extends Construct<TLogger, TEventPublisherServiceName, TEventPublisher, OutSchema, TServices, TAuditStorageServiceName, TAuditStorage> {
17
18
  protected readonly fn: Fn;
18
19
  input?: TInput | undefined;
19
20
  __IS_FUNCTION__: boolean;
@@ -45,7 +46,7 @@ declare class Function<TInput extends ComposableStandardSchema | undefined = und
45
46
  parseOutput(output: unknown): Promise<InferStandardSchema<OutSchema>>;
46
47
  constructor(fn: Fn, timeout?: number,
47
48
  // Default timeout of 30 seconds
48
- type?: ConstructType, input?: TInput | undefined, outputSchema?: OutSchema, services?: TServices, logger?: TLogger, publisherService?: Service<TEventPublisherServiceName, TEventPublisher>, events?: MappedEvent<TEventPublisher, OutSchema>[], memorySize?: number);
49
+ type?: ConstructType, input?: TInput | undefined, outputSchema?: OutSchema, services?: TServices, logger?: TLogger, publisherService?: Service<TEventPublisherServiceName, TEventPublisher>, events?: MappedEvent<TEventPublisher, OutSchema>[], memorySize?: number, auditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>);
49
50
  }
50
51
  type FunctionHandler<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined> = (ctx: FunctionContext<TInput, TServices, TLogger>) => OutSchema extends StandardSchemaV1 ? InferStandardSchema<OutSchema> | Promise<InferStandardSchema<OutSchema>> : any | Promise<any>;
51
52
  type FunctionContext<Input extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger> = {
@@ -55,4 +56,4 @@ type FunctionContext<Input extends ComposableStandardSchema | undefined = undefi
55
56
  };
56
57
  //#endregion
57
58
  export { Function, FunctionContext, FunctionFactory, FunctionHandler };
58
- //# sourceMappingURL=Function-CW-WcZTu.d.cts.map
59
+ //# sourceMappingURL=Function-G3JPHMaY.d.mts.map
@@ -1,6 +1,7 @@
1
- import { ConstructType } from "./Construct-zc8BkRSp.cjs";
2
- import { Function, FunctionHandler } from "./Function-CW-WcZTu.cjs";
3
- import { BaseFunctionBuilder } from "./BaseFunctionBuilder-hWNVKXQB.cjs";
1
+ import { ConstructType } from "./Construct-dI_rgdSp.cjs";
2
+ import { Function, FunctionHandler } from "./Function-6EWabl_X.cjs";
3
+ import { BaseFunctionBuilder } from "./BaseFunctionBuilder-Cf0op65o.cjs";
4
+ import { AuditStorage } from "@geekmidas/audit";
4
5
  import { EventPublisher } from "@geekmidas/events";
5
6
  import { Logger } from "@geekmidas/logger";
6
7
  import { Service } from "@geekmidas/services";
@@ -8,19 +9,20 @@ import { StandardSchemaV1 } from "@standard-schema/spec";
8
9
  import { ComposableStandardSchema } from "@geekmidas/schema";
9
10
 
10
11
  //#region src/functions/FunctionBuilder.d.ts
11
- declare class FunctionBuilder<TInput extends ComposableStandardSchema, OutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> extends BaseFunctionBuilder<TInput, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName> {
12
+ declare class FunctionBuilder<TInput extends ComposableStandardSchema, OutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string> extends BaseFunctionBuilder<TInput, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName> {
12
13
  type: ConstructType;
13
14
  protected _memorySize?: number;
14
15
  constructor(type?: ConstructType);
15
16
  timeout(timeout: number): this;
16
17
  memorySize(memorySize: number): this;
17
- output<T extends StandardSchemaV1>(schema: T): FunctionBuilder<TInput, T, TServices, TLogger, TEventPublisher, TEventPublisherServiceName>;
18
- input<T extends ComposableStandardSchema>(schema: T): FunctionBuilder<T, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName>;
19
- services<T extends Service[]>(services: T): FunctionBuilder<TInput, OutSchema, [...TServices, ...T], TLogger, TEventPublisher, TEventPublisherServiceName>;
20
- logger<T extends Logger>(logger: T): FunctionBuilder<TInput, OutSchema, TServices, T, TEventPublisher, TEventPublisherServiceName>;
21
- publisher<T extends EventPublisher<any>, TName extends string>(publisher: Service<TName, T>): FunctionBuilder<TInput, OutSchema, TServices, TLogger, T, TName>;
22
- handle(fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>): Function<TInput, TServices, TLogger, OutSchema, FunctionHandler<TInput, TServices, TLogger, OutSchema>, TEventPublisher, TEventPublisherServiceName>;
18
+ output<T extends StandardSchemaV1>(schema: T): FunctionBuilder<TInput, T, TServices, TLogger, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName>;
19
+ input<T extends ComposableStandardSchema>(schema: T): FunctionBuilder<T, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName>;
20
+ services<T extends Service[]>(services: T): FunctionBuilder<TInput, OutSchema, [...TServices, ...T], TLogger, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName>;
21
+ logger<T extends Logger>(logger: T): FunctionBuilder<TInput, OutSchema, TServices, T, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName>;
22
+ publisher<T extends EventPublisher<any>, TName extends string>(publisher: Service<TName, T>): FunctionBuilder<TInput, OutSchema, TServices, TLogger, T, TName, TAuditStorage, TAuditStorageServiceName>;
23
+ auditor<T extends AuditStorage, TName extends string>(storage: Service<TName, T>): FunctionBuilder<TInput, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName, T, TName>;
24
+ handle(fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>): Function<TInput, TServices, TLogger, OutSchema, FunctionHandler<TInput, TServices, TLogger, OutSchema>, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName>;
23
25
  }
24
26
  //#endregion
25
27
  export { FunctionBuilder };
26
- //# sourceMappingURL=FunctionBuilder-fU1H7tFN.d.cts.map
28
+ //# sourceMappingURL=FunctionBuilder-B3fpp3hA.d.cts.map
@@ -1,26 +1,28 @@
1
- import { ConstructType } from "./Construct-iDmbkZ3o.mjs";
2
- import { Function, FunctionHandler } from "./Function-C-5_23Wi.mjs";
3
- import { BaseFunctionBuilder } from "./BaseFunctionBuilder-DOcm1heZ.mjs";
1
+ import { ConstructType } from "./Construct-ZPqE0vhn.mjs";
2
+ import { Function, FunctionHandler } from "./Function-G3JPHMaY.mjs";
3
+ import { BaseFunctionBuilder } from "./BaseFunctionBuilder-DilipY1y.mjs";
4
4
  import { Service } from "@geekmidas/services";
5
+ import { AuditStorage } from "@geekmidas/audit";
5
6
  import { EventPublisher } from "@geekmidas/events";
6
7
  import { Logger } from "@geekmidas/logger";
7
8
  import { StandardSchemaV1 } from "@standard-schema/spec";
8
9
  import { ComposableStandardSchema } from "@geekmidas/schema";
9
10
 
10
11
  //#region src/functions/FunctionBuilder.d.ts
11
- declare class FunctionBuilder<TInput extends ComposableStandardSchema, OutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> extends BaseFunctionBuilder<TInput, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName> {
12
+ declare class FunctionBuilder<TInput extends ComposableStandardSchema, OutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string> extends BaseFunctionBuilder<TInput, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName> {
12
13
  type: ConstructType;
13
14
  protected _memorySize?: number;
14
15
  constructor(type?: ConstructType);
15
16
  timeout(timeout: number): this;
16
17
  memorySize(memorySize: number): this;
17
- output<T extends StandardSchemaV1>(schema: T): FunctionBuilder<TInput, T, TServices, TLogger, TEventPublisher, TEventPublisherServiceName>;
18
- input<T extends ComposableStandardSchema>(schema: T): FunctionBuilder<T, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName>;
19
- services<T extends Service[]>(services: T): FunctionBuilder<TInput, OutSchema, [...TServices, ...T], TLogger, TEventPublisher, TEventPublisherServiceName>;
20
- logger<T extends Logger>(logger: T): FunctionBuilder<TInput, OutSchema, TServices, T, TEventPublisher, TEventPublisherServiceName>;
21
- publisher<T extends EventPublisher<any>, TName extends string>(publisher: Service<TName, T>): FunctionBuilder<TInput, OutSchema, TServices, TLogger, T, TName>;
22
- handle(fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>): Function<TInput, TServices, TLogger, OutSchema, FunctionHandler<TInput, TServices, TLogger, OutSchema>, TEventPublisher, TEventPublisherServiceName>;
18
+ output<T extends StandardSchemaV1>(schema: T): FunctionBuilder<TInput, T, TServices, TLogger, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName>;
19
+ input<T extends ComposableStandardSchema>(schema: T): FunctionBuilder<T, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName>;
20
+ services<T extends Service[]>(services: T): FunctionBuilder<TInput, OutSchema, [...TServices, ...T], TLogger, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName>;
21
+ logger<T extends Logger>(logger: T): FunctionBuilder<TInput, OutSchema, TServices, T, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName>;
22
+ publisher<T extends EventPublisher<any>, TName extends string>(publisher: Service<TName, T>): FunctionBuilder<TInput, OutSchema, TServices, TLogger, T, TName, TAuditStorage, TAuditStorageServiceName>;
23
+ auditor<T extends AuditStorage, TName extends string>(storage: Service<TName, T>): FunctionBuilder<TInput, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName, T, TName>;
24
+ handle(fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>): Function<TInput, TServices, TLogger, OutSchema, FunctionHandler<TInput, TServices, TLogger, OutSchema>, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName>;
23
25
  }
24
26
  //#endregion
25
27
  export { FunctionBuilder };
26
- //# sourceMappingURL=FunctionBuilder-udObIGV0.d.mts.map
28
+ //# sourceMappingURL=FunctionBuilder-ByaB_LQ4.d.mts.map
@@ -1,8 +1,8 @@
1
- import { ConstructType } from "./Construct-rZQg2yus.mjs";
2
- import { Function } from "./Function-Cl9fiR3a.mjs";
3
- import { BaseFunctionBuilder } from "./BaseFunctionBuilder-DSqF1r3a.mjs";
4
- import uniqBy from "lodash.uniqby";
1
+ import { ConstructType } from "./Construct-LWeB1rSQ.mjs";
2
+ import { Function } from "./Function-COnc-tWM.mjs";
3
+ import { BaseFunctionBuilder } from "./BaseFunctionBuilder-CT7p10K1.mjs";
5
4
  import { ConsoleLogger } from "@geekmidas/logger/console";
5
+ import uniqBy from "lodash.uniqby";
6
6
 
7
7
  //#region src/functions/FunctionBuilder.ts
8
8
  const DEFAULT_LOGGER$1 = new ConsoleLogger();
@@ -40,12 +40,17 @@ var FunctionBuilder = class extends BaseFunctionBuilder {
40
40
  this._publisher = publisher;
41
41
  return this;
42
42
  }
43
+ auditor(storage) {
44
+ this._auditorStorage = storage;
45
+ return this;
46
+ }
43
47
  handle(fn) {
44
- const func = new Function(fn, this._timeout, this.type, this.inputSchema, this.outputSchema, this._services, this._logger, this._publisher, this._events, this._memorySize);
48
+ const func = new Function(fn, this._timeout, this.type, this.inputSchema, this.outputSchema, this._services, this._logger, this._publisher, this._events, this._memorySize, this._auditorStorage);
45
49
  this._services = [];
46
50
  this._logger = DEFAULT_LOGGER$1;
47
51
  this._events = [];
48
52
  this._publisher = void 0;
53
+ this._auditorStorage = void 0;
49
54
  this.inputSchema = void 0;
50
55
  this.outputSchema = void 0;
51
56
  this._timeout = void 0;
@@ -56,4 +61,4 @@ var FunctionBuilder = class extends BaseFunctionBuilder {
56
61
 
57
62
  //#endregion
58
63
  export { FunctionBuilder };
59
- //# sourceMappingURL=FunctionBuilder-vW12WFOw.mjs.map
64
+ //# sourceMappingURL=FunctionBuilder-CMhLQ4dt.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FunctionBuilder-CMhLQ4dt.mjs","names":["DEFAULT_LOGGER","timeout: number","memorySize: number","schema: T","services: T","logger: T","publisher: Service<TName, T>","storage: Service<TName, T>","fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>"],"sources":["../src/functions/FunctionBuilder.ts"],"sourcesContent":["import type { AuditStorage } from '@geekmidas/audit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { BaseFunctionBuilder } from './BaseFunctionBuilder';\nimport { Function, type FunctionHandler } from './Function';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class FunctionBuilder<\n TInput extends ComposableStandardSchema,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TAuditStorage extends AuditStorage | undefined = undefined,\n TAuditStorageServiceName extends string = string,\n> extends BaseFunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName\n> {\n protected _memorySize?: number;\n\n constructor(public type = ConstructType.Function) {\n super(type);\n }\n\n timeout(timeout: number): this {\n this._timeout = timeout;\n return this;\n }\n\n memorySize(memorySize: number): this {\n this._memorySize = memorySize;\n return this;\n }\n\n output<T extends StandardSchemaV1>(\n schema: T,\n ): FunctionBuilder<\n TInput,\n T,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName\n > {\n this.outputSchema = schema as unknown as OutSchema;\n\n return this as unknown as FunctionBuilder<\n TInput,\n T,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName\n >;\n }\n\n input<T extends ComposableStandardSchema>(\n schema: T,\n ): FunctionBuilder<\n T,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName\n > {\n this.inputSchema = schema as unknown as TInput;\n\n return this as unknown as FunctionBuilder<\n T,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName\n >;\n }\n\n services<T extends Service[]>(\n services: T,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n [...TServices, ...T],\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName\n > {\n this._services = uniqBy(\n [...this._services, ...services],\n (s) => s.serviceName,\n ) as TServices;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n [...TServices, ...T],\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName\n >;\n }\n\n logger<T extends Logger>(\n logger: T,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n T,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName\n > {\n this._logger = logger as unknown as TLogger;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n T,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName\n >;\n }\n\n publisher<T extends EventPublisher<any>, TName extends string>(\n publisher: Service<TName, T>,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n T,\n TName,\n TAuditStorage,\n TAuditStorageServiceName\n > {\n this._publisher = publisher as unknown as Service<\n TEventPublisherServiceName,\n TEventPublisher\n >;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n T,\n TName,\n TAuditStorage,\n TAuditStorageServiceName\n >;\n }\n\n auditor<T extends AuditStorage, TName extends string>(\n storage: Service<TName, T>,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n T,\n TName\n > {\n this._auditorStorage = storage as unknown as Service<\n TAuditStorageServiceName,\n TAuditStorage\n >;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n T,\n TName\n >;\n }\n\n handle(\n fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>,\n ): Function<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n FunctionHandler<TInput, TServices, TLogger, OutSchema>,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName\n > {\n const func = new Function(\n fn,\n this._timeout,\n this.type,\n this.inputSchema,\n this.outputSchema,\n this._services,\n this._logger,\n this._publisher,\n this._events,\n this._memorySize,\n this._auditorStorage,\n );\n\n // Reset builder state after creating the function to prevent pollution\n this._services = [] as Service[] as TServices;\n this._logger = DEFAULT_LOGGER;\n this._events = [];\n this._publisher = undefined;\n this._auditorStorage = undefined;\n this.inputSchema = undefined;\n this.outputSchema = undefined;\n this._timeout = undefined;\n this._memorySize = undefined;\n\n return func;\n }\n}\n"],"mappings":";;;;;;;AAYA,MAAMA,mBAAiB,IAAI;AAE3B,IAAa,kBAAb,cASU,oBASR;CACA,AAAU;CAEV,YAAmB,OAAO,cAAc,UAAU;AAChD,QAAM,KAAK;EADM;CAElB;CAED,QAAQC,SAAuB;AAC7B,OAAK,WAAW;AAChB,SAAO;CACR;CAED,WAAWC,YAA0B;AACnC,OAAK,cAAc;AACnB,SAAO;CACR;CAED,OACEC,QAUA;AACA,OAAK,eAAe;AAEpB,SAAO;CAUR;CAED,MACEA,QAUA;AACA,OAAK,cAAc;AAEnB,SAAO;CAUR;CAED,SACEC,UAUA;AACA,OAAK,YAAY,OACf,CAAC,GAAG,KAAK,WAAW,GAAG,QAAS,GAChC,CAAC,MAAM,EAAE,YACV;AAED,SAAO;CAUR;CAED,OACEC,QAUA;AACA,OAAK,UAAU;AAEf,SAAO;CAUR;CAED,UACEC,WAUA;AACA,OAAK,aAAa;AAKlB,SAAO;CAUR;CAED,QACEC,SAUA;AACA,OAAK,kBAAkB;AAKvB,SAAO;CAUR;CAED,OACEC,IAWA;EACA,MAAM,OAAO,IAAI,SACf,IACA,KAAK,UACL,KAAK,MACL,KAAK,aACL,KAAK,cACL,KAAK,WACL,KAAK,SACL,KAAK,YACL,KAAK,SACL,KAAK,aACL,KAAK;AAIP,OAAK,YAAY,CAAE;AACnB,OAAK,UAAUR;AACf,OAAK,UAAU,CAAE;AACjB,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AAEL,SAAO;CACR;AACF"}
@@ -1,9 +1,9 @@
1
1
  const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const require_Construct = require('./Construct-XCGKof_O.cjs');
3
- const require_Function = require('./Function-DDaSfL_E.cjs');
4
- const require_BaseFunctionBuilder = require('./BaseFunctionBuilder-bTDKP7bd.cjs');
5
- const lodash_uniqby = require_chunk.__toESM(require("lodash.uniqby"));
2
+ const require_Construct = require('./Construct-BYSPikVm.cjs');
3
+ const require_Function = require('./Function-CO-s2pB8.cjs');
4
+ const require_BaseFunctionBuilder = require('./BaseFunctionBuilder-B8rT07QR.cjs');
6
5
  const __geekmidas_logger_console = require_chunk.__toESM(require("@geekmidas/logger/console"));
6
+ const lodash_uniqby = require_chunk.__toESM(require("lodash.uniqby"));
7
7
 
8
8
  //#region src/functions/FunctionBuilder.ts
9
9
  const DEFAULT_LOGGER = new __geekmidas_logger_console.ConsoleLogger();
@@ -41,12 +41,17 @@ var FunctionBuilder = class extends require_BaseFunctionBuilder.BaseFunctionBuil
41
41
  this._publisher = publisher;
42
42
  return this;
43
43
  }
44
+ auditor(storage) {
45
+ this._auditorStorage = storage;
46
+ return this;
47
+ }
44
48
  handle(fn) {
45
- const func = new require_Function.Function(fn, this._timeout, this.type, this.inputSchema, this.outputSchema, this._services, this._logger, this._publisher, this._events, this._memorySize);
49
+ const func = new require_Function.Function(fn, this._timeout, this.type, this.inputSchema, this.outputSchema, this._services, this._logger, this._publisher, this._events, this._memorySize, this._auditorStorage);
46
50
  this._services = [];
47
51
  this._logger = DEFAULT_LOGGER;
48
52
  this._events = [];
49
53
  this._publisher = void 0;
54
+ this._auditorStorage = void 0;
50
55
  this.inputSchema = void 0;
51
56
  this.outputSchema = void 0;
52
57
  this._timeout = void 0;
@@ -62,4 +67,4 @@ Object.defineProperty(exports, 'FunctionBuilder', {
62
67
  return FunctionBuilder;
63
68
  }
64
69
  });
65
- //# sourceMappingURL=FunctionBuilder-LQuBiqRc.cjs.map
70
+ //# sourceMappingURL=FunctionBuilder-_hMwZUof.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FunctionBuilder-_hMwZUof.cjs","names":["ConsoleLogger","BaseFunctionBuilder","ConstructType","timeout: number","memorySize: number","schema: T","services: T","logger: T","publisher: Service<TName, T>","storage: Service<TName, T>","fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>","Function"],"sources":["../src/functions/FunctionBuilder.ts"],"sourcesContent":["import type { AuditStorage } from '@geekmidas/audit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { BaseFunctionBuilder } from './BaseFunctionBuilder';\nimport { Function, type FunctionHandler } from './Function';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class FunctionBuilder<\n TInput extends ComposableStandardSchema,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TAuditStorage extends AuditStorage | undefined = undefined,\n TAuditStorageServiceName extends string = string,\n> extends BaseFunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName\n> {\n protected _memorySize?: number;\n\n constructor(public type = ConstructType.Function) {\n super(type);\n }\n\n timeout(timeout: number): this {\n this._timeout = timeout;\n return this;\n }\n\n memorySize(memorySize: number): this {\n this._memorySize = memorySize;\n return this;\n }\n\n output<T extends StandardSchemaV1>(\n schema: T,\n ): FunctionBuilder<\n TInput,\n T,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName\n > {\n this.outputSchema = schema as unknown as OutSchema;\n\n return this as unknown as FunctionBuilder<\n TInput,\n T,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName\n >;\n }\n\n input<T extends ComposableStandardSchema>(\n schema: T,\n ): FunctionBuilder<\n T,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName\n > {\n this.inputSchema = schema as unknown as TInput;\n\n return this as unknown as FunctionBuilder<\n T,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName\n >;\n }\n\n services<T extends Service[]>(\n services: T,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n [...TServices, ...T],\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName\n > {\n this._services = uniqBy(\n [...this._services, ...services],\n (s) => s.serviceName,\n ) as TServices;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n [...TServices, ...T],\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName\n >;\n }\n\n logger<T extends Logger>(\n logger: T,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n T,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName\n > {\n this._logger = logger as unknown as TLogger;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n T,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName\n >;\n }\n\n publisher<T extends EventPublisher<any>, TName extends string>(\n publisher: Service<TName, T>,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n T,\n TName,\n TAuditStorage,\n TAuditStorageServiceName\n > {\n this._publisher = publisher as unknown as Service<\n TEventPublisherServiceName,\n TEventPublisher\n >;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n T,\n TName,\n TAuditStorage,\n TAuditStorageServiceName\n >;\n }\n\n auditor<T extends AuditStorage, TName extends string>(\n storage: Service<TName, T>,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n T,\n TName\n > {\n this._auditorStorage = storage as unknown as Service<\n TAuditStorageServiceName,\n TAuditStorage\n >;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n T,\n TName\n >;\n }\n\n handle(\n fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>,\n ): Function<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n FunctionHandler<TInput, TServices, TLogger, OutSchema>,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName\n > {\n const func = new Function(\n fn,\n this._timeout,\n this.type,\n this.inputSchema,\n this.outputSchema,\n this._services,\n this._logger,\n this._publisher,\n this._events,\n this._memorySize,\n this._auditorStorage,\n );\n\n // Reset builder state after creating the function to prevent pollution\n this._services = [] as Service[] as TServices;\n this._logger = DEFAULT_LOGGER;\n this._events = [];\n this._publisher = undefined;\n this._auditorStorage = undefined;\n this.inputSchema = undefined;\n this.outputSchema = undefined;\n this._timeout = undefined;\n this._memorySize = undefined;\n\n return func;\n }\n}\n"],"mappings":";;;;;;;;AAYA,MAAM,iBAAiB,IAAIA;AAE3B,IAAa,kBAAb,cASUC,gDASR;CACA,AAAU;CAEV,YAAmB,OAAOC,gCAAc,UAAU;AAChD,QAAM,KAAK;EADM;CAElB;CAED,QAAQC,SAAuB;AAC7B,OAAK,WAAW;AAChB,SAAO;CACR;CAED,WAAWC,YAA0B;AACnC,OAAK,cAAc;AACnB,SAAO;CACR;CAED,OACEC,QAUA;AACA,OAAK,eAAe;AAEpB,SAAO;CAUR;CAED,MACEA,QAUA;AACA,OAAK,cAAc;AAEnB,SAAO;CAUR;CAED,SACEC,UAUA;AACA,OAAK,YAAY,2BACf,CAAC,GAAG,KAAK,WAAW,GAAG,QAAS,GAChC,CAAC,MAAM,EAAE,YACV;AAED,SAAO;CAUR;CAED,OACEC,QAUA;AACA,OAAK,UAAU;AAEf,SAAO;CAUR;CAED,UACEC,WAUA;AACA,OAAK,aAAa;AAKlB,SAAO;CAUR;CAED,QACEC,SAUA;AACA,OAAK,kBAAkB;AAKvB,SAAO;CAUR;CAED,OACEC,IAWA;EACA,MAAM,OAAO,IAAIC,0BACf,IACA,KAAK,UACL,KAAK,MACL,KAAK,aACL,KAAK,cACL,KAAK,WACL,KAAK,SACL,KAAK,YACL,KAAK,SACL,KAAK,aACL,KAAK;AAIP,OAAK,YAAY,CAAE;AACnB,OAAK,UAAU;AACf,OAAK,UAAU,CAAE;AACjB,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AAEL,SAAO;CACR;AACF"}
@@ -1,10 +1,10 @@
1
- import { Function, FunctionHandler } from "./Function-C-5_23Wi.mjs";
2
- import { Service, ServiceDiscovery, ServiceRecord } from "@geekmidas/services";
3
- import { EnvironmentParser } from "@geekmidas/envkit";
1
+ import { Function, FunctionHandler } from "./Function-6EWabl_X.cjs";
4
2
  import { EventPublisher } from "@geekmidas/events";
5
3
  import { Logger } from "@geekmidas/logger";
4
+ import { Service, ServiceDiscovery, ServiceRecord } from "@geekmidas/services";
6
5
  import { StandardSchemaV1 } from "@standard-schema/spec";
7
6
  import { ComposableStandardSchema, InferComposableStandardSchema, InferStandardSchema } from "@geekmidas/schema";
7
+ import { EnvironmentParser } from "@geekmidas/envkit";
8
8
 
9
9
  //#region src/functions/FunctionExecutionWrapper.d.ts
10
10
  declare abstract class FunctionExecutionWrapper<TInput extends ComposableStandardSchema | undefined = undefined, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> {
@@ -21,4 +21,4 @@ declare abstract class FunctionExecutionWrapper<TInput extends ComposableStandar
21
21
  }
22
22
  //#endregion
23
23
  export { FunctionExecutionWrapper };
24
- //# sourceMappingURL=FunctionExecutionWrapper-DYBy9OP3.d.mts.map
24
+ //# sourceMappingURL=FunctionExecutionWrapper-Ci-ookJG.d.cts.map
@@ -1,10 +1,10 @@
1
- import { Function, FunctionHandler } from "./Function-CW-WcZTu.cjs";
1
+ import { Function, FunctionHandler } from "./Function-G3JPHMaY.mjs";
2
+ import { Service, ServiceDiscovery, ServiceRecord } from "@geekmidas/services";
3
+ import { EnvironmentParser } from "@geekmidas/envkit";
2
4
  import { EventPublisher } from "@geekmidas/events";
3
5
  import { Logger } from "@geekmidas/logger";
4
- import { Service, ServiceDiscovery, ServiceRecord } from "@geekmidas/services";
5
6
  import { StandardSchemaV1 } from "@standard-schema/spec";
6
7
  import { ComposableStandardSchema, InferComposableStandardSchema, InferStandardSchema } from "@geekmidas/schema";
7
- import { EnvironmentParser } from "@geekmidas/envkit";
8
8
 
9
9
  //#region src/functions/FunctionExecutionWrapper.d.ts
10
10
  declare abstract class FunctionExecutionWrapper<TInput extends ComposableStandardSchema | undefined = undefined, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> {
@@ -21,4 +21,4 @@ declare abstract class FunctionExecutionWrapper<TInput extends ComposableStandar
21
21
  }
22
22
  //#endregion
23
23
  export { FunctionExecutionWrapper };
24
- //# sourceMappingURL=FunctionExecutionWrapper-Dwr2ZKzC.d.cts.map
24
+ //# sourceMappingURL=FunctionExecutionWrapper-DHFMLrOl.d.mts.map
@@ -1,5 +1,5 @@
1
1
  import { publishEvents } from "./publisher-Bw4770Hi.mjs";
2
- import { FunctionBuilder } from "./FunctionBuilder-vW12WFOw.mjs";
2
+ import { FunctionBuilder } from "./FunctionBuilder-CMhLQ4dt.mjs";
3
3
  import { ServiceDiscovery } from "@geekmidas/services";
4
4
 
5
5
  //#region src/functions/FunctionExecutionWrapper.ts
@@ -33,4 +33,4 @@ var FunctionExecutionWrapper = class {
33
33
 
34
34
  //#endregion
35
35
  export { FunctionExecutionWrapper };
36
- //# sourceMappingURL=FunctionExecutionWrapper-Dtyhid1Q.mjs.map
36
+ //# sourceMappingURL=FunctionExecutionWrapper-i9v5L3Av.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionExecutionWrapper-Dtyhid1Q.mjs","names":["envParser: EnvironmentParser<{}>","fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n FunctionHandler<TInput, TServices, TLogger, TOutSchema>,\n TEventPublisher,\n TEventPublisherServiceName\n >","event: TEvent","response: InferStandardSchema<TOutSchema>","data: unknown","schema: T"],"sources":["../src/functions/FunctionExecutionWrapper.ts"],"sourcesContent":["import type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type {\n ComposableStandardSchema,\n InferComposableStandardSchema,\n InferStandardSchema,\n} from '@geekmidas/schema';\nimport {\n type Service,\n ServiceDiscovery,\n type ServiceRecord,\n} from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport { publishEvents } from '../publisher';\nimport type { Function, FunctionHandler } from './Function';\nimport { FunctionBuilder } from './FunctionBuilder';\n\nexport abstract class FunctionExecutionWrapper<\n TInput extends ComposableStandardSchema | undefined = undefined,\n TOutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n> {\n constructor(\n protected envParser: EnvironmentParser<{}>,\n protected readonly fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n FunctionHandler<TInput, TServices, TLogger, TOutSchema>,\n TEventPublisher,\n TEventPublisherServiceName\n >,\n ) {}\n\n protected _logger?: TLogger;\n\n get logger(): TLogger {\n return this._logger || this.fn.logger;\n }\n\n get serviceDiscovery(): ServiceDiscovery<ServiceRecord<TServices>, Logger> {\n const serviceDiscovery = ServiceDiscovery.getInstance<\n ServiceRecord<TServices>,\n TLogger\n >(this.logger, this.envParser);\n\n return serviceDiscovery;\n }\n\n getServices(): Promise<ServiceRecord<TServices>> {\n return this.serviceDiscovery.register(this.fn.services);\n }\n\n async getFunctionInput<TEvent>(\n event: TEvent,\n ): Promise<InferComposableStandardSchema<TInput>> {\n const parsedInput = await FunctionBuilder.parseComposableStandardSchema(\n event,\n this.fn.input,\n );\n\n return parsedInput as InferComposableStandardSchema<TInput>;\n }\n\n async publishEvents(response: InferStandardSchema<TOutSchema>) {\n await publishEvents(\n this.logger,\n this.serviceDiscovery,\n this.fn.events,\n response,\n this.fn.publisherService,\n );\n }\n\n async parseComposableStandardSchema<T extends ComposableStandardSchema>(\n data: unknown,\n schema: T,\n ): Promise<InferComposableStandardSchema<T>> {\n return FunctionBuilder.parseComposableStandardSchema(data, schema);\n }\n}\n"],"mappings":";;;;;AAkBA,IAAsB,2BAAtB,MAOE;CACA,YACYA,WACSC,IASnB;EAVU;EACS;CASjB;CAEJ,AAAU;CAEV,IAAI,SAAkB;AACpB,SAAO,KAAK,WAAW,KAAK,GAAG;CAChC;CAED,IAAI,mBAAuE;EACzE,MAAM,mBAAmB,iBAAiB,YAGxC,KAAK,QAAQ,KAAK,UAAU;AAE9B,SAAO;CACR;CAED,cAAiD;AAC/C,SAAO,KAAK,iBAAiB,SAAS,KAAK,GAAG,SAAS;CACxD;CAED,MAAM,iBACJC,OACgD;EAChD,MAAM,cAAc,MAAM,gBAAgB,8BACxC,OACA,KAAK,GAAG,MACT;AAED,SAAO;CACR;CAED,MAAM,cAAcC,UAA2C;AAC7D,QAAM,cACJ,KAAK,QACL,KAAK,kBACL,KAAK,GAAG,QACR,UACA,KAAK,GAAG,iBACT;CACF;CAED,MAAM,8BACJC,MACAC,QAC2C;AAC3C,SAAO,gBAAgB,8BAA8B,MAAM,OAAO;CACnE;AACF"}
1
+ {"version":3,"file":"FunctionExecutionWrapper-i9v5L3Av.mjs","names":["envParser: EnvironmentParser<{}>","fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n FunctionHandler<TInput, TServices, TLogger, TOutSchema>,\n TEventPublisher,\n TEventPublisherServiceName\n >","event: TEvent","response: InferStandardSchema<TOutSchema>","data: unknown","schema: T"],"sources":["../src/functions/FunctionExecutionWrapper.ts"],"sourcesContent":["import type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type {\n ComposableStandardSchema,\n InferComposableStandardSchema,\n InferStandardSchema,\n} from '@geekmidas/schema';\nimport {\n type Service,\n ServiceDiscovery,\n type ServiceRecord,\n} from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport { publishEvents } from '../publisher';\nimport type { Function, FunctionHandler } from './Function';\nimport { FunctionBuilder } from './FunctionBuilder';\n\nexport abstract class FunctionExecutionWrapper<\n TInput extends ComposableStandardSchema | undefined = undefined,\n TOutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n> {\n constructor(\n protected envParser: EnvironmentParser<{}>,\n protected readonly fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n FunctionHandler<TInput, TServices, TLogger, TOutSchema>,\n TEventPublisher,\n TEventPublisherServiceName\n >,\n ) {}\n\n protected _logger?: TLogger;\n\n get logger(): TLogger {\n return this._logger || this.fn.logger;\n }\n\n get serviceDiscovery(): ServiceDiscovery<ServiceRecord<TServices>, Logger> {\n const serviceDiscovery = ServiceDiscovery.getInstance<\n ServiceRecord<TServices>,\n TLogger\n >(this.logger, this.envParser);\n\n return serviceDiscovery;\n }\n\n getServices(): Promise<ServiceRecord<TServices>> {\n return this.serviceDiscovery.register(this.fn.services);\n }\n\n async getFunctionInput<TEvent>(\n event: TEvent,\n ): Promise<InferComposableStandardSchema<TInput>> {\n const parsedInput = await FunctionBuilder.parseComposableStandardSchema(\n event,\n this.fn.input,\n );\n\n return parsedInput as InferComposableStandardSchema<TInput>;\n }\n\n async publishEvents(response: InferStandardSchema<TOutSchema>) {\n await publishEvents(\n this.logger,\n this.serviceDiscovery,\n this.fn.events,\n response,\n this.fn.publisherService,\n );\n }\n\n async parseComposableStandardSchema<T extends ComposableStandardSchema>(\n data: unknown,\n schema: T,\n ): Promise<InferComposableStandardSchema<T>> {\n return FunctionBuilder.parseComposableStandardSchema(data, schema);\n }\n}\n"],"mappings":";;;;;AAkBA,IAAsB,2BAAtB,MAOE;CACA,YACYA,WACSC,IASnB;EAVU;EACS;CASjB;CAEJ,AAAU;CAEV,IAAI,SAAkB;AACpB,SAAO,KAAK,WAAW,KAAK,GAAG;CAChC;CAED,IAAI,mBAAuE;EACzE,MAAM,mBAAmB,iBAAiB,YAGxC,KAAK,QAAQ,KAAK,UAAU;AAE9B,SAAO;CACR;CAED,cAAiD;AAC/C,SAAO,KAAK,iBAAiB,SAAS,KAAK,GAAG,SAAS;CACxD;CAED,MAAM,iBACJC,OACgD;EAChD,MAAM,cAAc,MAAM,gBAAgB,8BACxC,OACA,KAAK,GAAG,MACT;AAED,SAAO;CACR;CAED,MAAM,cAAcC,UAA2C;AAC7D,QAAM,cACJ,KAAK,QACL,KAAK,kBACL,KAAK,GAAG,QACR,UACA,KAAK,GAAG,iBACT;CACF;CAED,MAAM,8BACJC,MACAC,QAC2C;AAC3C,SAAO,gBAAgB,8BAA8B,MAAM,OAAO;CACnE;AACF"}
@@ -1,6 +1,6 @@
1
1
  const require_chunk = require('./chunk-CUT6urMc.cjs');
2
2
  const require_publisher = require('./publisher-lFQleddL.cjs');
3
- const require_FunctionBuilder = require('./FunctionBuilder-LQuBiqRc.cjs');
3
+ const require_FunctionBuilder = require('./FunctionBuilder-_hMwZUof.cjs');
4
4
  const __geekmidas_services = require_chunk.__toESM(require("@geekmidas/services"));
5
5
 
6
6
  //#region src/functions/FunctionExecutionWrapper.ts
@@ -39,4 +39,4 @@ Object.defineProperty(exports, 'FunctionExecutionWrapper', {
39
39
  return FunctionExecutionWrapper;
40
40
  }
41
41
  });
42
- //# sourceMappingURL=FunctionExecutionWrapper-BBIoHUt6.cjs.map
42
+ //# sourceMappingURL=FunctionExecutionWrapper-sxJNTpuc.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionExecutionWrapper-BBIoHUt6.cjs","names":["envParser: EnvironmentParser<{}>","fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n FunctionHandler<TInput, TServices, TLogger, TOutSchema>,\n TEventPublisher,\n TEventPublisherServiceName\n >","event: TEvent","response: InferStandardSchema<TOutSchema>","data: unknown","schema: T"],"sources":["../src/functions/FunctionExecutionWrapper.ts"],"sourcesContent":["import type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type {\n ComposableStandardSchema,\n InferComposableStandardSchema,\n InferStandardSchema,\n} from '@geekmidas/schema';\nimport {\n type Service,\n ServiceDiscovery,\n type ServiceRecord,\n} from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport { publishEvents } from '../publisher';\nimport type { Function, FunctionHandler } from './Function';\nimport { FunctionBuilder } from './FunctionBuilder';\n\nexport abstract class FunctionExecutionWrapper<\n TInput extends ComposableStandardSchema | undefined = undefined,\n TOutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n> {\n constructor(\n protected envParser: EnvironmentParser<{}>,\n protected readonly fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n FunctionHandler<TInput, TServices, TLogger, TOutSchema>,\n TEventPublisher,\n TEventPublisherServiceName\n >,\n ) {}\n\n protected _logger?: TLogger;\n\n get logger(): TLogger {\n return this._logger || this.fn.logger;\n }\n\n get serviceDiscovery(): ServiceDiscovery<ServiceRecord<TServices>, Logger> {\n const serviceDiscovery = ServiceDiscovery.getInstance<\n ServiceRecord<TServices>,\n TLogger\n >(this.logger, this.envParser);\n\n return serviceDiscovery;\n }\n\n getServices(): Promise<ServiceRecord<TServices>> {\n return this.serviceDiscovery.register(this.fn.services);\n }\n\n async getFunctionInput<TEvent>(\n event: TEvent,\n ): Promise<InferComposableStandardSchema<TInput>> {\n const parsedInput = await FunctionBuilder.parseComposableStandardSchema(\n event,\n this.fn.input,\n );\n\n return parsedInput as InferComposableStandardSchema<TInput>;\n }\n\n async publishEvents(response: InferStandardSchema<TOutSchema>) {\n await publishEvents(\n this.logger,\n this.serviceDiscovery,\n this.fn.events,\n response,\n this.fn.publisherService,\n );\n }\n\n async parseComposableStandardSchema<T extends ComposableStandardSchema>(\n data: unknown,\n schema: T,\n ): Promise<InferComposableStandardSchema<T>> {\n return FunctionBuilder.parseComposableStandardSchema(data, schema);\n }\n}\n"],"mappings":";;;;;;AAkBA,IAAsB,2BAAtB,MAOE;CACA,YACYA,WACSC,IASnB;EAVU;EACS;CASjB;CAEJ,AAAU;CAEV,IAAI,SAAkB;AACpB,SAAO,KAAK,WAAW,KAAK,GAAG;CAChC;CAED,IAAI,mBAAuE;EACzE,MAAM,mBAAmB,sCAAiB,YAGxC,KAAK,QAAQ,KAAK,UAAU;AAE9B,SAAO;CACR;CAED,cAAiD;AAC/C,SAAO,KAAK,iBAAiB,SAAS,KAAK,GAAG,SAAS;CACxD;CAED,MAAM,iBACJC,OACgD;EAChD,MAAM,cAAc,MAAM,wCAAgB,8BACxC,OACA,KAAK,GAAG,MACT;AAED,SAAO;CACR;CAED,MAAM,cAAcC,UAA2C;AAC7D,QAAM,gCACJ,KAAK,QACL,KAAK,kBACL,KAAK,GAAG,QACR,UACA,KAAK,GAAG,iBACT;CACF;CAED,MAAM,8BACJC,MACAC,QAC2C;AAC3C,SAAO,wCAAgB,8BAA8B,MAAM,OAAO;CACnE;AACF"}
1
+ {"version":3,"file":"FunctionExecutionWrapper-sxJNTpuc.cjs","names":["envParser: EnvironmentParser<{}>","fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n FunctionHandler<TInput, TServices, TLogger, TOutSchema>,\n TEventPublisher,\n TEventPublisherServiceName\n >","event: TEvent","response: InferStandardSchema<TOutSchema>","data: unknown","schema: T"],"sources":["../src/functions/FunctionExecutionWrapper.ts"],"sourcesContent":["import type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type {\n ComposableStandardSchema,\n InferComposableStandardSchema,\n InferStandardSchema,\n} from '@geekmidas/schema';\nimport {\n type Service,\n ServiceDiscovery,\n type ServiceRecord,\n} from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport { publishEvents } from '../publisher';\nimport type { Function, FunctionHandler } from './Function';\nimport { FunctionBuilder } from './FunctionBuilder';\n\nexport abstract class FunctionExecutionWrapper<\n TInput extends ComposableStandardSchema | undefined = undefined,\n TOutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n> {\n constructor(\n protected envParser: EnvironmentParser<{}>,\n protected readonly fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n FunctionHandler<TInput, TServices, TLogger, TOutSchema>,\n TEventPublisher,\n TEventPublisherServiceName\n >,\n ) {}\n\n protected _logger?: TLogger;\n\n get logger(): TLogger {\n return this._logger || this.fn.logger;\n }\n\n get serviceDiscovery(): ServiceDiscovery<ServiceRecord<TServices>, Logger> {\n const serviceDiscovery = ServiceDiscovery.getInstance<\n ServiceRecord<TServices>,\n TLogger\n >(this.logger, this.envParser);\n\n return serviceDiscovery;\n }\n\n getServices(): Promise<ServiceRecord<TServices>> {\n return this.serviceDiscovery.register(this.fn.services);\n }\n\n async getFunctionInput<TEvent>(\n event: TEvent,\n ): Promise<InferComposableStandardSchema<TInput>> {\n const parsedInput = await FunctionBuilder.parseComposableStandardSchema(\n event,\n this.fn.input,\n );\n\n return parsedInput as InferComposableStandardSchema<TInput>;\n }\n\n async publishEvents(response: InferStandardSchema<TOutSchema>) {\n await publishEvents(\n this.logger,\n this.serviceDiscovery,\n this.fn.events,\n response,\n this.fn.publisherService,\n );\n }\n\n async parseComposableStandardSchema<T extends ComposableStandardSchema>(\n data: unknown,\n schema: T,\n ): Promise<InferComposableStandardSchema<T>> {\n return FunctionBuilder.parseComposableStandardSchema(data, schema);\n }\n}\n"],"mappings":";;;;;;AAkBA,IAAsB,2BAAtB,MAOE;CACA,YACYA,WACSC,IASnB;EAVU;EACS;CASjB;CAEJ,AAAU;CAEV,IAAI,SAAkB;AACpB,SAAO,KAAK,WAAW,KAAK,GAAG;CAChC;CAED,IAAI,mBAAuE;EACzE,MAAM,mBAAmB,sCAAiB,YAGxC,KAAK,QAAQ,KAAK,UAAU;AAE9B,SAAO;CACR;CAED,cAAiD;AAC/C,SAAO,KAAK,iBAAiB,SAAS,KAAK,GAAG,SAAS;CACxD;CAED,MAAM,iBACJC,OACgD;EAChD,MAAM,cAAc,MAAM,wCAAgB,8BACxC,OACA,KAAK,GAAG,MACT;AAED,SAAO;CACR;CAED,MAAM,cAAcC,UAA2C;AAC7D,QAAM,gCACJ,KAAK,QACL,KAAK,kBACL,KAAK,GAAG,QACR,UACA,KAAK,GAAG,iBACT;CACF;CAED,MAAM,8BACJC,MACAC,QAC2C;AAC3C,SAAO,wCAAgB,8BAA8B,MAAM,OAAO;CACnE;AACF"}
@@ -1,6 +1,7 @@
1
- import { HttpMethod } from "./types-CVq20-fE.mjs";
2
- import { Endpoint, EndpointSchemas } from "./Endpoint-DqZkc6ft.mjs";
1
+ import { HttpMethod } from "./types-DKf0juBf.mjs";
2
+ import { Endpoint, EndpointSchemas } from "./Endpoint-DuZlyjd4.mjs";
3
3
  import { Service, ServiceDiscovery, ServiceRecord } from "@geekmidas/services";
4
+ import { AuditStorage, AuditableAction } from "@geekmidas/audit";
4
5
  import { Context, Hono } from "hono";
5
6
  import { EnvironmentParser } from "@geekmidas/envkit";
6
7
  import { EventPublisher } from "@geekmidas/events";
@@ -25,18 +26,18 @@ interface HonoEndpointOptions {
25
26
  description?: string;
26
27
  };
27
28
  }
28
- declare class HonoEndpoint<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined> {
29
+ declare class HonoEndpoint<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>> {
29
30
  private readonly endpoint;
30
- constructor(endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher>);
31
+ constructor(endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TAuditAction>);
31
32
  static isDev: boolean;
32
33
  static validate<T extends StandardSchemaV1>(c: Context<any, string, {}>, data: unknown, schema?: T): Promise<unknown>;
33
34
  addRoute(serviceDiscovery: ServiceDiscovery<ServiceRecord<TServices>, TLogger>, app: Hono): void;
34
35
  static applyEventMiddleware(app: Hono, serviceDiscovery: ServiceDiscovery<any, any>): void;
35
36
  static fromRoutes<TLogger extends Logger, TServices extends Service[]>(routes: string[], envParser: EnvironmentParser<{}>, app: Hono<hono_types3.BlankEnv, hono_types3.BlankSchema, "/"> | undefined, logger: TLogger, cwd?: string, options?: HonoEndpointOptions): Promise<Hono>;
36
37
  static addRoutes<TServices extends Service[] = [], TLogger extends Logger = Logger>(endpoints: Endpoint<string, HttpMethod, any, any, TServices, TLogger>[], serviceDiscovery: ServiceDiscovery<ServiceRecord<TServices>, TLogger>, app: Hono, options?: HonoEndpointOptions): void;
37
- static addRoute<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined>(endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher>, serviceDiscovery: ServiceDiscovery<ServiceRecord<TServices>, TLogger>, app: Hono): void;
38
+ static addRoute<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>>(endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TAuditAction>, serviceDiscovery: ServiceDiscovery<ServiceRecord<TServices>, TLogger>, app: Hono): void;
38
39
  static addDocsRoute<TServices extends Service[] = [], TLogger extends Logger = Logger>(endpoints: Endpoint<string, HttpMethod, any, any, TServices, TLogger>[], app: Hono, docsPath: string, openApiOptions?: HonoEndpointOptions['openApiOptions']): void;
39
40
  }
40
41
  //#endregion
41
42
  export { HonoEndpoint, HonoEndpointOptions };
42
- //# sourceMappingURL=HonoEndpointAdaptor-W-disJnm.d.mts.map
43
+ //# sourceMappingURL=HonoEndpointAdaptor-BElil8O5.d.mts.map
@@ -1,8 +1,9 @@
1
1
  const require_chunk = require('./chunk-CUT6urMc.cjs');
2
2
  const require_publisher = require('./publisher-lFQleddL.cjs');
3
- const require_Endpoint = require('./Endpoint-BdIGWw1H.cjs');
4
- const require_helpers = require('./helpers-Cq6wjo7s.cjs');
5
- const require_parseHonoQuery = require('./parseHonoQuery-DopC24vB.cjs');
3
+ const require_Endpoint = require('./Endpoint-B9PryZES.cjs');
4
+ const require_processAudits = require('./processAudits-BFokHhCO.cjs');
5
+ const require_helpers = require('./helpers-BApRyhly.cjs');
6
+ const require_parseHonoQuery = require('./parseHonoQuery-CT8Cvin-.cjs');
6
7
  const __geekmidas_errors = require_chunk.__toESM(require("@geekmidas/errors"));
7
8
  const __geekmidas_services = require_chunk.__toESM(require("@geekmidas/services"));
8
9
  const __geekmidas_rate_limit = require_chunk.__toESM(require("@geekmidas/rate-limit"));
@@ -112,37 +113,67 @@ var HonoEndpoint = class HonoEndpoint {
112
113
  const rateLimitHeaders = (0, __geekmidas_rate_limit.getRateLimitHeaders)(rateLimitInfo, endpoint.rateLimit);
113
114
  for (const [key, value] of Object.entries(rateLimitHeaders)) if (value) c.header(key, value);
114
115
  }
115
- const responseBuilder = new require_Endpoint.ResponseBuilder();
116
- const response = await endpoint.handler({
117
- services,
118
- logger,
119
- body: c.req.valid("json"),
120
- query: c.req.valid("query"),
121
- params: c.req.valid("param"),
116
+ const auditContext = await require_processAudits.createAuditContext(endpoint, serviceDiscovery, logger, {
122
117
  session,
123
- header: require_Endpoint.Endpoint.createHeaders(headerValues),
124
- cookie: require_Endpoint.Endpoint.createCookies(headerValues.cookie)
125
- }, responseBuilder);
126
- try {
118
+ header,
119
+ cookie,
120
+ services
121
+ });
122
+ const audits = endpoint.audits;
123
+ if (!auditContext && audits?.length) logger.warn("No auditor storage service available");
124
+ const result = await require_processAudits.executeWithAuditTransaction(auditContext, async (auditor) => {
125
+ const responseBuilder = new require_Endpoint.ResponseBuilder();
126
+ const response = await endpoint.handler({
127
+ services,
128
+ logger,
129
+ body: c.req.valid("json"),
130
+ query: c.req.valid("query"),
131
+ params: c.req.valid("param"),
132
+ session,
133
+ header,
134
+ cookie,
135
+ auditor
136
+ }, responseBuilder);
127
137
  let data = response;
128
- let metadata = responseBuilder.getMetadata();
129
- let status = endpoint.status;
138
+ let metadata$1 = responseBuilder.getMetadata();
130
139
  if (require_Endpoint.Endpoint.hasMetadata(response)) {
131
140
  data = response.data;
132
- metadata = response.metadata;
141
+ metadata$1 = response.metadata;
142
+ }
143
+ const output$1 = endpoint.outputSchema ? await endpoint.parseOutput(data) : void 0;
144
+ return {
145
+ output: output$1,
146
+ metadata: metadata$1,
147
+ responseBuilder
148
+ };
149
+ }, async (result$1, auditor) => {
150
+ if (!audits?.length) return;
151
+ for (const audit of audits) {
152
+ if (audit.when && !audit.when(result$1.output)) continue;
153
+ const payload = audit.payload(result$1.output);
154
+ const entityId = audit.entityId?.(result$1.output);
155
+ auditor.audit(audit.type, payload, {
156
+ table: audit.table,
157
+ entityId
158
+ });
133
159
  }
160
+ });
161
+ const { output, metadata } = result;
162
+ try {
163
+ let status = endpoint.status;
134
164
  if (metadata.status) status = metadata.status;
135
165
  if (metadata.headers) for (const [key, value] of Object.entries(metadata.headers)) c.header(key, value);
136
166
  if (metadata.cookies) for (const [name, { value, options }] of metadata.cookies) (0, hono_cookie.setCookie)(c, name, value, options);
137
- const output = endpoint.outputSchema ? await endpoint.parseOutput(data) : {};
138
167
  c.set("__response", output);
139
168
  c.set("__endpoint", endpoint);
140
169
  c.set("__logger", logger);
170
+ c.set("__session", session);
171
+ c.set("__services", services);
141
172
  if (HonoEndpoint.isDev) logger.info({
142
173
  status,
143
174
  body: output
144
175
  }, "Outgoing response");
145
- return c.json(output, status);
176
+ return c.json(output ?? {}, status);
146
177
  } catch (validationError) {
147
178
  logger.error(validationError, "Output validation failed");
148
179
  const error = (0, __geekmidas_errors.wrapError)(validationError, 422, "Response validation failed");
@@ -183,4 +214,4 @@ Object.defineProperty(exports, 'HonoEndpoint', {
183
214
  return HonoEndpoint;
184
215
  }
185
216
  });
186
- //# sourceMappingURL=HonoEndpointAdaptor-Bc61IS6Q.cjs.map
217
+ //# sourceMappingURL=HonoEndpointAdaptor-Cw2if5cG.cjs.map