@geekmidas/constructs 0.0.11 → 0.0.13

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 (363) hide show
  1. package/README.md +448 -0
  2. package/dist/AWSLambdaFunction-B-Oxr8qt.d.cts +30 -0
  3. package/dist/{AWSLambdaFunction-DcI_77u8.cjs → AWSLambdaFunction-C-fuCLA3.cjs} +28 -5
  4. package/dist/AWSLambdaFunction-C-fuCLA3.cjs.map +1 -0
  5. package/dist/AWSLambdaFunction-CAm9r5ZX.d.mts +30 -0
  6. package/dist/{AWSLambdaFunction-BTSGYZSx.mjs → AWSLambdaFunction-H65WfXLt.mjs} +28 -5
  7. package/dist/AWSLambdaFunction-H65WfXLt.mjs.map +1 -0
  8. package/dist/{AWSLambdaSubscriberAdaptor-mLOpS63x.d.mts → AWSLambdaSubscriberAdaptor-Cknp_nn1.d.cts} +4 -4
  9. package/dist/{AWSLambdaSubscriberAdaptor-G8y3YkWj.mjs → AWSLambdaSubscriberAdaptor-CyFh7MN8.mjs} +1 -1
  10. package/dist/{AWSLambdaSubscriberAdaptor-G8y3YkWj.mjs.map → AWSLambdaSubscriberAdaptor-CyFh7MN8.mjs.map} +1 -1
  11. package/dist/{AWSLambdaSubscriberAdaptor-DX5NFdWf.d.cts → AWSLambdaSubscriberAdaptor-DpHzp-AM.d.mts} +4 -4
  12. package/dist/{AWSLambdaSubscriberAdaptor-CmPZ10JF.cjs → AWSLambdaSubscriberAdaptor-Dum5bkw3.cjs} +1 -1
  13. package/dist/{AWSLambdaSubscriberAdaptor-CmPZ10JF.cjs.map → AWSLambdaSubscriberAdaptor-Dum5bkw3.cjs.map} +1 -1
  14. package/dist/{AmazonApiGatewayEndpointAdaptor-CATWBIJo.d.mts → AmazonApiGatewayEndpointAdaptor-4hPy5vty.d.mts} +9 -8
  15. package/dist/{AmazonApiGatewayEndpointAdaptor-vi0D3dWg.mjs → AmazonApiGatewayEndpointAdaptor-C6Jk5HSy.mjs} +51 -16
  16. package/dist/AmazonApiGatewayEndpointAdaptor-C6Jk5HSy.mjs.map +1 -0
  17. package/dist/{AmazonApiGatewayEndpointAdaptor-BTqB3c1_.cjs → AmazonApiGatewayEndpointAdaptor-CI9L7Ucn.cjs} +51 -16
  18. package/dist/AmazonApiGatewayEndpointAdaptor-CI9L7Ucn.cjs.map +1 -0
  19. package/dist/{AmazonApiGatewayEndpointAdaptor-BwtDtS-i.d.cts → AmazonApiGatewayEndpointAdaptor-ro0RMLzr.d.cts} +8 -7
  20. package/dist/{AmazonApiGatewayV1EndpointAdaptor-D2_u_zR6.mjs → AmazonApiGatewayV1EndpointAdaptor-BMy8DdNJ.mjs} +3 -3
  21. package/dist/{AmazonApiGatewayV1EndpointAdaptor-D2_u_zR6.mjs.map → AmazonApiGatewayV1EndpointAdaptor-BMy8DdNJ.mjs.map} +1 -1
  22. package/dist/{AmazonApiGatewayV1EndpointAdaptor-B1AVk2MM.d.cts → AmazonApiGatewayV1EndpointAdaptor-BWJWKqQT.d.cts} +3 -3
  23. package/dist/{AmazonApiGatewayV1EndpointAdaptor-nwrtG5L9.cjs → AmazonApiGatewayV1EndpointAdaptor-DYL1bCBS.cjs} +3 -3
  24. package/dist/{AmazonApiGatewayV1EndpointAdaptor-nwrtG5L9.cjs.map → AmazonApiGatewayV1EndpointAdaptor-DYL1bCBS.cjs.map} +1 -1
  25. package/dist/{AmazonApiGatewayV1EndpointAdaptor-2Rd0LLz4.d.mts → AmazonApiGatewayV1EndpointAdaptor-hyR-WwyP.d.mts} +4 -4
  26. package/dist/{AmazonApiGatewayV2EndpointAdaptor-DoWAJ9oN.mjs → AmazonApiGatewayV2EndpointAdaptor-BU5wQMOe.mjs} +3 -3
  27. package/dist/{AmazonApiGatewayV2EndpointAdaptor-DoWAJ9oN.mjs.map → AmazonApiGatewayV2EndpointAdaptor-BU5wQMOe.mjs.map} +1 -1
  28. package/dist/{AmazonApiGatewayV2EndpointAdaptor-FSIdXYV6.cjs → AmazonApiGatewayV2EndpointAdaptor-CPLCMeaN.cjs} +3 -3
  29. package/dist/{AmazonApiGatewayV2EndpointAdaptor-FSIdXYV6.cjs.map → AmazonApiGatewayV2EndpointAdaptor-CPLCMeaN.cjs.map} +1 -1
  30. package/dist/{AmazonApiGatewayV2EndpointAdaptor-DmY_QfjO.d.cts → AmazonApiGatewayV2EndpointAdaptor-D1Irdggp.d.cts} +3 -3
  31. package/dist/{AmazonApiGatewayV2EndpointAdaptor-cBDfwdBx.d.mts → AmazonApiGatewayV2EndpointAdaptor-DX3SuI5S.d.mts} +4 -4
  32. package/dist/{Authorizer-Bbk9ziuG.d.mts → Authorizer-BTmly8ps.d.cts} +1 -1
  33. package/dist/{Authorizer-iXsSB600.d.cts → Authorizer-pmPvIVgv.d.mts} +1 -1
  34. package/dist/{BaseFunctionBuilder-DSqF1r3a.mjs → BaseFunctionBuilder-B5gkW0Kt.mjs} +16 -2
  35. package/dist/BaseFunctionBuilder-B5gkW0Kt.mjs.map +1 -0
  36. package/dist/{BaseFunctionBuilder-bTDKP7bd.cjs → BaseFunctionBuilder-C5Se7pdL.cjs} +16 -2
  37. package/dist/BaseFunctionBuilder-C5Se7pdL.cjs.map +1 -0
  38. package/dist/{BaseFunctionBuilder-DOcm1heZ.d.mts → BaseFunctionBuilder-CbDnPZpD.d.mts} +13 -4
  39. package/dist/{BaseFunctionBuilder-hWNVKXQB.d.cts → BaseFunctionBuilder-DUZMbEr3.d.cts} +13 -4
  40. package/dist/{Construct-XCGKof_O.cjs → Construct-BYSPikVm.cjs} +8 -3
  41. package/dist/Construct-BYSPikVm.cjs.map +1 -0
  42. package/dist/{Construct-rZQg2yus.mjs → Construct-LWeB1rSQ.mjs} +8 -3
  43. package/dist/Construct-LWeB1rSQ.mjs.map +1 -0
  44. package/dist/{Construct-iDmbkZ3o.d.mts → Construct-ZPqE0vhn.d.mts} +5 -3
  45. package/dist/{Construct-zc8BkRSp.d.cts → Construct-dI_rgdSp.d.cts} +5 -3
  46. package/dist/Construct.cjs +1 -1
  47. package/dist/Construct.d.cts +1 -1
  48. package/dist/Construct.d.mts +1 -1
  49. package/dist/Construct.mjs +1 -1
  50. package/dist/{Cron-CYIhd0VE.cjs → Cron-Bi3QOge_.cjs} +5 -5
  51. package/dist/Cron-Bi3QOge_.cjs.map +1 -0
  52. package/dist/{Cron-D5HGEt6g.d.mts → Cron-COdfP0Jd.d.cts} +5 -5
  53. package/dist/{Cron-DbJNPTbP.d.cts → Cron-D8cn_ahj.d.mts} +5 -5
  54. package/dist/{Cron-BnO1uXhh.mjs → Cron-Dy_HW2Vv.mjs} +5 -5
  55. package/dist/Cron-Dy_HW2Vv.mjs.map +1 -0
  56. package/dist/{CronBuilder-BxKwHCdJ.mjs → CronBuilder-Bl3A2Zp4.mjs} +15 -6
  57. package/dist/CronBuilder-Bl3A2Zp4.mjs.map +1 -0
  58. package/dist/{CronBuilder-D-546XtP.d.cts → CronBuilder-DntF6H3A.d.cts} +17 -12
  59. package/dist/{CronBuilder-vRiZb1_N.d.mts → CronBuilder-DoMnSs_0.d.mts} +17 -12
  60. package/dist/{CronBuilder-D_3AiPFO.cjs → CronBuilder-Dv_w7Yri.cjs} +15 -6
  61. package/dist/CronBuilder-Dv_w7Yri.cjs.map +1 -0
  62. package/dist/{Endpoint-DqZkc6ft.d.mts → Endpoint-Bbs_sFvg.d.mts} +120 -23
  63. package/dist/{Endpoint-BpTSQn7W.d.cts → Endpoint-Bu8Phz6y.d.cts} +120 -23
  64. package/dist/{Endpoint-BdIGWw1H.cjs → Endpoint-DDpF7NO1.cjs} +22 -10
  65. package/dist/Endpoint-DDpF7NO1.cjs.map +1 -0
  66. package/dist/{Endpoint-ChzcIFdV.mjs → Endpoint-S6Yh2_PN.mjs} +22 -10
  67. package/dist/Endpoint-S6Yh2_PN.mjs.map +1 -0
  68. package/dist/EndpointBuilder-CPxmF_w7.d.cts +103 -0
  69. package/dist/EndpointBuilder-Csfyfjd7.d.mts +103 -0
  70. package/dist/{EndpointBuilder-dmMiNRm9.cjs → EndpointBuilder-DpGmObMb.cjs} +68 -5
  71. package/dist/EndpointBuilder-DpGmObMb.cjs.map +1 -0
  72. package/dist/{EndpointBuilder-yo40Qkf_.mjs → EndpointBuilder-aE2E6WTx.mjs} +68 -5
  73. package/dist/EndpointBuilder-aE2E6WTx.mjs.map +1 -0
  74. package/dist/{EndpointFactory-D_mmO7Gu.d.mts → EndpointFactory-Bf9JSWzI.d.cts} +12 -11
  75. package/dist/{EndpointFactory-CNbcr8u_.cjs → EndpointFactory-BfH6mjJ3.cjs} +3 -3
  76. package/dist/EndpointFactory-BfH6mjJ3.cjs.map +1 -0
  77. package/dist/{EndpointFactory-JPhk0Qom.d.cts → EndpointFactory-Cgk1R0oO.d.mts} +12 -11
  78. package/dist/{EndpointFactory-LD3upVQK.mjs → EndpointFactory-D4leYk1N.mjs} +3 -3
  79. package/dist/EndpointFactory-D4leYk1N.mjs.map +1 -0
  80. package/dist/{Function-DDaSfL_E.cjs → Function-DagDbeXo.cjs} +7 -6
  81. package/dist/Function-DagDbeXo.cjs.map +1 -0
  82. package/dist/{Function-Cl9fiR3a.mjs → Function-DfKsM5Kx.mjs} +7 -6
  83. package/dist/Function-DfKsM5Kx.mjs.map +1 -0
  84. package/dist/{Function-C-5_23Wi.d.mts → Function-V9M9UVHp.d.mts} +25 -7
  85. package/dist/{Function-CW-WcZTu.d.cts → Function-VI1TB3Mh.d.cts} +25 -7
  86. package/dist/{FunctionBuilder-vW12WFOw.mjs → FunctionBuilder-CVT7bG2o.mjs} +27 -6
  87. package/dist/FunctionBuilder-CVT7bG2o.mjs.map +1 -0
  88. package/dist/FunctionBuilder-CjVEFTYC.d.cts +38 -0
  89. package/dist/FunctionBuilder-D1ofSeMd.d.mts +38 -0
  90. package/dist/{FunctionBuilder-LQuBiqRc.cjs → FunctionBuilder-DXvG_XD-.cjs} +27 -6
  91. package/dist/FunctionBuilder-DXvG_XD-.cjs.map +1 -0
  92. package/dist/FunctionExecutionWrapper-Bubnr0zA.mjs +101 -0
  93. package/dist/FunctionExecutionWrapper-Bubnr0zA.mjs.map +1 -0
  94. package/dist/FunctionExecutionWrapper-CwtwYozd.d.cts +48 -0
  95. package/dist/FunctionExecutionWrapper-DkNycmOh.cjs +107 -0
  96. package/dist/FunctionExecutionWrapper-DkNycmOh.cjs.map +1 -0
  97. package/dist/FunctionExecutionWrapper-rhbIYT0Q.d.mts +48 -0
  98. package/dist/{HonoEndpointAdaptor-BVQtyvna.d.cts → HonoEndpointAdaptor-B34kNobH.d.cts} +8 -7
  99. package/dist/{HonoEndpointAdaptor-W-disJnm.d.mts → HonoEndpointAdaptor-BDpi32mH.d.mts} +9 -8
  100. package/dist/{HonoEndpointAdaptor-Bc61IS6Q.cjs → HonoEndpointAdaptor-CfLRHHFw.cjs} +55 -20
  101. package/dist/HonoEndpointAdaptor-CfLRHHFw.cjs.map +1 -0
  102. package/dist/{HonoEndpointAdaptor-NR3h5gml.mjs → HonoEndpointAdaptor-DuyE06nH.mjs} +55 -20
  103. package/dist/HonoEndpointAdaptor-DuyE06nH.mjs.map +1 -0
  104. package/dist/{Subscriber-C2OPATI8.cjs → Subscriber-Bdh8rMSL.cjs} +2 -2
  105. package/dist/{Subscriber-C2OPATI8.cjs.map → Subscriber-Bdh8rMSL.cjs.map} +1 -1
  106. package/dist/{Subscriber-BVq3ST4C.d.cts → Subscriber-BhzqUzs-.d.cts} +2 -2
  107. package/dist/{Subscriber-BKftCzwT.mjs → Subscriber-CJOWwaw1.mjs} +2 -2
  108. package/dist/{Subscriber-BKftCzwT.mjs.map → Subscriber-CJOWwaw1.mjs.map} +1 -1
  109. package/dist/{Subscriber-BuHaqWo4.d.mts → Subscriber-s6yfjeOc.d.mts} +2 -2
  110. package/dist/{SubscriberBuilder-2asHtGbl.d.mts → SubscriberBuilder-BCVkp-ga.d.cts} +3 -3
  111. package/dist/{SubscriberBuilder-yDfpHPZE.mjs → SubscriberBuilder-BWQmiYd8.mjs} +2 -2
  112. package/dist/{SubscriberBuilder-yDfpHPZE.mjs.map → SubscriberBuilder-BWQmiYd8.mjs.map} +1 -1
  113. package/dist/{SubscriberBuilder-yikoQ8ND.cjs → SubscriberBuilder-DieD_60p.cjs} +2 -2
  114. package/dist/{SubscriberBuilder-yikoQ8ND.cjs.map → SubscriberBuilder-DieD_60p.cjs.map} +1 -1
  115. package/dist/{SubscriberBuilder-CHIRyNjy.d.cts → SubscriberBuilder-aCua5_wA.d.mts} +3 -3
  116. package/dist/{TestEndpointAdaptor-DpmNXp7G.mjs → TestEndpointAdaptor-BEyZa0Yg.mjs} +51 -18
  117. package/dist/TestEndpointAdaptor-BEyZa0Yg.mjs.map +1 -0
  118. package/dist/{TestEndpointAdaptor-DA1D6l-U.cjs → TestEndpointAdaptor-C8425RJ0.cjs} +51 -18
  119. package/dist/TestEndpointAdaptor-C8425RJ0.cjs.map +1 -0
  120. package/dist/{TestEndpointAdaptor-BrE5Rs4U.d.cts → TestEndpointAdaptor-H5To8PH7.d.cts} +6 -5
  121. package/dist/{TestEndpointAdaptor-B10J-cI-.d.mts → TestEndpointAdaptor-jxn68ayg.d.mts} +7 -6
  122. package/dist/adaptors/aws.cjs +14 -13
  123. package/dist/adaptors/aws.d.cts +14 -14
  124. package/dist/adaptors/aws.d.mts +15 -15
  125. package/dist/adaptors/aws.mjs +14 -13
  126. package/dist/adaptors/hono.cjs +10 -9
  127. package/dist/adaptors/hono.d.cts +8 -8
  128. package/dist/adaptors/hono.d.mts +9 -9
  129. package/dist/adaptors/hono.mjs +10 -9
  130. package/dist/adaptors/testing.cjs +8 -7
  131. package/dist/adaptors/testing.d.cts +8 -8
  132. package/dist/adaptors/testing.d.mts +9 -9
  133. package/dist/adaptors/testing.mjs +8 -7
  134. package/dist/crons/Cron.cjs +6 -6
  135. package/dist/crons/Cron.d.cts +6 -6
  136. package/dist/crons/Cron.d.mts +6 -6
  137. package/dist/crons/Cron.mjs +6 -6
  138. package/dist/crons/CronBuilder.cjs +7 -7
  139. package/dist/crons/CronBuilder.d.cts +7 -7
  140. package/dist/crons/CronBuilder.d.mts +7 -7
  141. package/dist/crons/CronBuilder.mjs +7 -7
  142. package/dist/crons/index.cjs +7 -7
  143. package/dist/crons/index.d.cts +11 -11
  144. package/dist/crons/index.d.mts +8 -8
  145. package/dist/crons/index.mjs +7 -7
  146. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +8 -7
  147. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +8 -8
  148. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +9 -9
  149. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +8 -7
  150. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +10 -9
  151. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +9 -9
  152. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +10 -10
  153. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +10 -9
  154. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +10 -9
  155. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +9 -9
  156. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +10 -10
  157. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +10 -9
  158. package/dist/endpoints/Authorizer.d.cts +1 -1
  159. package/dist/endpoints/Authorizer.d.mts +1 -1
  160. package/dist/endpoints/Endpoint.cjs +6 -6
  161. package/dist/endpoints/Endpoint.d.cts +7 -7
  162. package/dist/endpoints/Endpoint.d.mts +8 -8
  163. package/dist/endpoints/Endpoint.mjs +6 -6
  164. package/dist/endpoints/EndpointBuilder.cjs +7 -7
  165. package/dist/endpoints/EndpointBuilder.d.cts +8 -8
  166. package/dist/endpoints/EndpointBuilder.d.mts +9 -9
  167. package/dist/endpoints/EndpointBuilder.mjs +7 -7
  168. package/dist/endpoints/EndpointFactory.cjs +8 -8
  169. package/dist/endpoints/EndpointFactory.d.cts +9 -9
  170. package/dist/endpoints/EndpointFactory.d.mts +10 -10
  171. package/dist/endpoints/EndpointFactory.mjs +8 -8
  172. package/dist/endpoints/HonoEndpointAdaptor.cjs +10 -9
  173. package/dist/endpoints/HonoEndpointAdaptor.d.cts +8 -8
  174. package/dist/endpoints/HonoEndpointAdaptor.d.mts +9 -9
  175. package/dist/endpoints/HonoEndpointAdaptor.mjs +10 -9
  176. package/dist/endpoints/TestEndpointAdaptor.cjs +8 -7
  177. package/dist/endpoints/TestEndpointAdaptor.d.cts +8 -8
  178. package/dist/endpoints/TestEndpointAdaptor.d.mts +9 -9
  179. package/dist/endpoints/TestEndpointAdaptor.mjs +8 -7
  180. package/dist/endpoints/audit.cjs +0 -0
  181. package/dist/endpoints/audit.d.cts +9 -0
  182. package/dist/endpoints/audit.d.mts +9 -0
  183. package/dist/endpoints/audit.mjs +0 -0
  184. package/dist/endpoints/helpers.cjs +7 -7
  185. package/dist/endpoints/helpers.d.cts +7 -7
  186. package/dist/endpoints/helpers.d.mts +8 -8
  187. package/dist/endpoints/helpers.mjs +7 -7
  188. package/dist/endpoints/index.cjs +8 -8
  189. package/dist/endpoints/index.cjs.map +1 -1
  190. package/dist/endpoints/index.d.cts +12 -12
  191. package/dist/endpoints/index.d.mts +13 -13
  192. package/dist/endpoints/index.mjs +8 -8
  193. package/dist/endpoints/index.mjs.map +1 -1
  194. package/dist/endpoints/parseHonoQuery.cjs +1 -1
  195. package/dist/endpoints/parseHonoQuery.mjs +1 -1
  196. package/dist/endpoints/parseQueryParams.cjs +1 -1
  197. package/dist/endpoints/parseQueryParams.mjs +1 -1
  198. package/dist/endpoints/processAudits.cjs +5 -0
  199. package/dist/endpoints/processAudits.d.cts +74 -0
  200. package/dist/endpoints/processAudits.d.mts +74 -0
  201. package/dist/endpoints/processAudits.mjs +3 -0
  202. package/dist/functions/AWSLambdaFunction.cjs +6 -6
  203. package/dist/functions/AWSLambdaFunction.d.cts +4 -4
  204. package/dist/functions/AWSLambdaFunction.d.mts +4 -4
  205. package/dist/functions/AWSLambdaFunction.mjs +6 -6
  206. package/dist/functions/BaseFunctionBuilder.cjs +2 -2
  207. package/dist/functions/BaseFunctionBuilder.d.cts +2 -2
  208. package/dist/functions/BaseFunctionBuilder.d.mts +2 -2
  209. package/dist/functions/BaseFunctionBuilder.mjs +2 -2
  210. package/dist/functions/Function.cjs +2 -2
  211. package/dist/functions/Function.d.cts +2 -2
  212. package/dist/functions/Function.d.mts +2 -2
  213. package/dist/functions/Function.mjs +2 -2
  214. package/dist/functions/FunctionBuilder.cjs +4 -4
  215. package/dist/functions/FunctionBuilder.d.cts +4 -4
  216. package/dist/functions/FunctionBuilder.d.mts +4 -4
  217. package/dist/functions/FunctionBuilder.mjs +4 -4
  218. package/dist/functions/FunctionExecutionWrapper.cjs +5 -5
  219. package/dist/functions/FunctionExecutionWrapper.d.cts +3 -3
  220. package/dist/functions/FunctionExecutionWrapper.d.mts +3 -3
  221. package/dist/functions/FunctionExecutionWrapper.mjs +5 -5
  222. package/dist/functions/TestFunctionAdaptor.cjs +38 -5
  223. package/dist/functions/TestFunctionAdaptor.cjs.map +1 -1
  224. package/dist/functions/TestFunctionAdaptor.d.cts +10 -7
  225. package/dist/functions/TestFunctionAdaptor.d.mts +10 -7
  226. package/dist/functions/TestFunctionAdaptor.mjs +38 -5
  227. package/dist/functions/TestFunctionAdaptor.mjs.map +1 -1
  228. package/dist/functions/index.cjs +5 -5
  229. package/dist/functions/index.d.cts +5 -5
  230. package/dist/functions/index.d.mts +5 -5
  231. package/dist/functions/index.mjs +5 -5
  232. package/dist/{functions-yg097ymU.cjs → functions-FCb-wWFC.cjs} +2 -2
  233. package/dist/{functions-yg097ymU.cjs.map → functions-FCb-wWFC.cjs.map} +1 -1
  234. package/dist/functions-JhRsNoAZ.mjs +8 -0
  235. package/dist/{functions-HCoZ4YKF.mjs.map → functions-JhRsNoAZ.mjs.map} +1 -1
  236. package/dist/{helpers-CHsIWAEx.mjs → helpers-2CLKTnRm.mjs} +2 -2
  237. package/dist/{helpers-CHsIWAEx.mjs.map → helpers-2CLKTnRm.mjs.map} +1 -1
  238. package/dist/{helpers-Cq6wjo7s.cjs → helpers-Khuhi_Qx.cjs} +2 -2
  239. package/dist/{helpers-Cq6wjo7s.cjs.map → helpers-Khuhi_Qx.cjs.map} +1 -1
  240. package/dist/index-Bomy7R9z.d.mts +10 -0
  241. package/dist/index-DRYfZHb3.d.cts +10 -0
  242. package/dist/index.cjs +1 -1
  243. package/dist/index.d.cts +1 -1
  244. package/dist/index.d.mts +2 -2
  245. package/dist/index.mjs +1 -1
  246. package/dist/{parseHonoQuery-DopC24vB.cjs → parseHonoQuery-CT8Cvin-.cjs} +1 -1
  247. package/dist/{parseHonoQuery-DopC24vB.cjs.map → parseHonoQuery-CT8Cvin-.cjs.map} +1 -1
  248. package/dist/{parseHonoQuery-znDKBhdE.mjs → parseHonoQuery-CwFKw2ua.mjs} +1 -1
  249. package/dist/{parseHonoQuery-znDKBhdE.mjs.map → parseHonoQuery-CwFKw2ua.mjs.map} +1 -1
  250. package/dist/{parseQueryParams-BJaRh3OB.mjs → parseQueryParams-CHINupbZ.mjs} +1 -1
  251. package/dist/{parseQueryParams-BJaRh3OB.mjs.map → parseQueryParams-CHINupbZ.mjs.map} +1 -1
  252. package/dist/{parseQueryParams-BzPop4I1.cjs → parseQueryParams-CwvXXwkW.cjs} +1 -1
  253. package/dist/{parseQueryParams-BzPop4I1.cjs.map → parseQueryParams-CwvXXwkW.cjs.map} +1 -1
  254. package/dist/processAudits-BFokHhCO.cjs +174 -0
  255. package/dist/processAudits-BFokHhCO.cjs.map +1 -0
  256. package/dist/processAudits-DfcB-X-4.mjs +156 -0
  257. package/dist/processAudits-DfcB-X-4.mjs.map +1 -0
  258. package/dist/publisher-Bw4770Hi.mjs.map +1 -1
  259. package/dist/publisher-lFQleddL.cjs.map +1 -1
  260. package/dist/publisher.d.cts +3 -2
  261. package/dist/publisher.d.mts +3 -2
  262. package/dist/subscribers/AWSLambdaSubscriberAdaptor.cjs +1 -1
  263. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.cts +3 -3
  264. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +3 -3
  265. package/dist/subscribers/AWSLambdaSubscriberAdaptor.mjs +1 -1
  266. package/dist/subscribers/Subscriber.cjs +2 -2
  267. package/dist/subscribers/Subscriber.d.cts +2 -2
  268. package/dist/subscribers/Subscriber.d.mts +2 -2
  269. package/dist/subscribers/Subscriber.mjs +2 -2
  270. package/dist/subscribers/SubscriberBuilder.cjs +3 -3
  271. package/dist/subscribers/SubscriberBuilder.d.cts +3 -3
  272. package/dist/subscribers/SubscriberBuilder.d.mts +3 -3
  273. package/dist/subscribers/SubscriberBuilder.mjs +3 -3
  274. package/dist/subscribers/index.cjs +3 -3
  275. package/dist/subscribers/index.d.cts +5 -5
  276. package/dist/subscribers/index.d.mts +5 -5
  277. package/dist/subscribers/index.mjs +3 -3
  278. package/dist/{types-CVq20-fE.d.mts → types-DKf0juBf.d.mts} +1 -1
  279. package/dist/types.d.mts +1 -1
  280. package/package.json +15 -11
  281. package/src/Construct.ts +8 -0
  282. package/src/crons/Cron.ts +12 -3
  283. package/src/crons/CronBuilder.ts +85 -13
  284. package/src/crons/__tests__/CronBuilder.state-isolation.spec.ts +2 -2
  285. package/src/endpoints/AmazonApiGatewayEndpointAdaptor.ts +112 -20
  286. package/src/endpoints/Endpoint.ts +208 -39
  287. package/src/endpoints/EndpointBuilder.ts +291 -21
  288. package/src/endpoints/EndpointFactory.ts +5 -1
  289. package/src/endpoints/HonoEndpointAdaptor.ts +144 -33
  290. package/src/endpoints/TestEndpointAdaptor.ts +116 -21
  291. package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.events.spec.ts +8 -0
  292. package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.spec.ts +29 -0
  293. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.audits.spec.ts +626 -0
  294. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.events.spec.ts +9 -0
  295. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.kysely-audit.integration.spec.ts +757 -0
  296. package/src/endpoints/__tests__/Endpoint.cookies.spec.ts +3 -1
  297. package/src/endpoints/__tests__/Endpoint.manifest.spec.ts +1 -1
  298. package/src/endpoints/__tests__/Endpoint.spec.ts +19 -0
  299. package/src/endpoints/__tests__/EndpointBuilder.audit.spec.ts +448 -0
  300. package/src/endpoints/__tests__/EndpointFactory.authorizers.spec.ts +51 -14
  301. package/src/endpoints/__tests__/EndpointFactory.reference-audit.spec.ts +8 -8
  302. package/src/endpoints/__tests__/EndpointFactory.state-isolation.spec.ts +11 -11
  303. package/src/endpoints/__tests__/HonoEndpointAdaptor.audit-transactions.spec.ts +703 -0
  304. package/src/endpoints/__tests__/HonoEndpointAdaptor.audits.spec.ts +632 -0
  305. package/src/endpoints/__tests__/HonoEndpointAdaptor.events.spec.ts +8 -0
  306. package/src/endpoints/__tests__/HonoEndpointAdaptor.kysely-audit.integration.spec.ts +1063 -0
  307. package/src/endpoints/__tests__/HonoEndpointAdaptor.openapi.spec.ts +4 -0
  308. package/src/endpoints/__tests__/HonoEndpointAdaptor.spec.ts +25 -0
  309. package/src/endpoints/audit.ts +87 -0
  310. package/src/endpoints/index.ts +1 -0
  311. package/src/endpoints/processAudits.ts +348 -0
  312. package/src/functions/AWSLambdaFunction.ts +125 -12
  313. package/src/functions/BaseFunctionBuilder.ts +98 -7
  314. package/src/functions/Function.ts +83 -15
  315. package/src/functions/FunctionBuilder.ts +217 -17
  316. package/src/functions/FunctionExecutionWrapper.ts +133 -2
  317. package/src/functions/TestFunctionAdaptor.ts +94 -8
  318. package/src/functions/__tests__/AWSLambdaFunctionAdaptor.spec.ts +82 -0
  319. package/src/functions/__tests__/Function.audits.spec.ts +393 -0
  320. package/src/functions/__tests__/Function.spec.ts +76 -0
  321. package/src/functions/__tests__/FunctionBuilder.state-isolation.spec.ts +54 -7
  322. package/src/publisher.ts +12 -1
  323. package/dist/AWSLambdaFunction-BTSGYZSx.mjs.map +0 -1
  324. package/dist/AWSLambdaFunction-Bel0NFTl.d.mts +0 -27
  325. package/dist/AWSLambdaFunction-DcI_77u8.cjs.map +0 -1
  326. package/dist/AWSLambdaFunction-xyCenuD7.d.cts +0 -27
  327. package/dist/AmazonApiGatewayEndpointAdaptor-BTqB3c1_.cjs.map +0 -1
  328. package/dist/AmazonApiGatewayEndpointAdaptor-vi0D3dWg.mjs.map +0 -1
  329. package/dist/BaseFunctionBuilder-DSqF1r3a.mjs.map +0 -1
  330. package/dist/BaseFunctionBuilder-bTDKP7bd.cjs.map +0 -1
  331. package/dist/Construct-XCGKof_O.cjs.map +0 -1
  332. package/dist/Construct-rZQg2yus.mjs.map +0 -1
  333. package/dist/Cron-BnO1uXhh.mjs.map +0 -1
  334. package/dist/Cron-CYIhd0VE.cjs.map +0 -1
  335. package/dist/CronBuilder-BxKwHCdJ.mjs.map +0 -1
  336. package/dist/CronBuilder-D_3AiPFO.cjs.map +0 -1
  337. package/dist/Endpoint-BdIGWw1H.cjs.map +0 -1
  338. package/dist/Endpoint-ChzcIFdV.mjs.map +0 -1
  339. package/dist/EndpointBuilder-Cx6pUcCn.d.mts +0 -55
  340. package/dist/EndpointBuilder-Xka8ULR1.d.cts +0 -55
  341. package/dist/EndpointBuilder-dmMiNRm9.cjs.map +0 -1
  342. package/dist/EndpointBuilder-yo40Qkf_.mjs.map +0 -1
  343. package/dist/EndpointFactory-CNbcr8u_.cjs.map +0 -1
  344. package/dist/EndpointFactory-LD3upVQK.mjs.map +0 -1
  345. package/dist/Function-Cl9fiR3a.mjs.map +0 -1
  346. package/dist/Function-DDaSfL_E.cjs.map +0 -1
  347. package/dist/FunctionBuilder-LQuBiqRc.cjs.map +0 -1
  348. package/dist/FunctionBuilder-fU1H7tFN.d.cts +0 -26
  349. package/dist/FunctionBuilder-udObIGV0.d.mts +0 -26
  350. package/dist/FunctionBuilder-vW12WFOw.mjs.map +0 -1
  351. package/dist/FunctionExecutionWrapper-BBIoHUt6.cjs +0 -42
  352. package/dist/FunctionExecutionWrapper-BBIoHUt6.cjs.map +0 -1
  353. package/dist/FunctionExecutionWrapper-DYBy9OP3.d.mts +0 -24
  354. package/dist/FunctionExecutionWrapper-Dtyhid1Q.mjs +0 -36
  355. package/dist/FunctionExecutionWrapper-Dtyhid1Q.mjs.map +0 -1
  356. package/dist/FunctionExecutionWrapper-Dwr2ZKzC.d.cts +0 -24
  357. package/dist/HonoEndpointAdaptor-Bc61IS6Q.cjs.map +0 -1
  358. package/dist/HonoEndpointAdaptor-NR3h5gml.mjs.map +0 -1
  359. package/dist/TestEndpointAdaptor-DA1D6l-U.cjs.map +0 -1
  360. package/dist/TestEndpointAdaptor-DpmNXp7G.mjs.map +0 -1
  361. package/dist/functions-HCoZ4YKF.mjs +0 -8
  362. package/dist/index-RtxMVjUZ.d.mts +0 -9
  363. package/dist/index-fiIGH95t.d.cts +0 -9
@@ -1,9 +1,9 @@
1
- import "../Construct-rZQg2yus.mjs";
1
+ import "../Construct-LWeB1rSQ.mjs";
2
2
  import "../publisher-Bw4770Hi.mjs";
3
- import "../Function-Cl9fiR3a.mjs";
4
- import "../BaseFunctionBuilder-DSqF1r3a.mjs";
5
- import "../FunctionBuilder-vW12WFOw.mjs";
6
- import "../FunctionExecutionWrapper-Dtyhid1Q.mjs";
7
- import { AWSLambdaFunction } from "../AWSLambdaFunction-BTSGYZSx.mjs";
3
+ import "../Function-DfKsM5Kx.mjs";
4
+ import "../BaseFunctionBuilder-B5gkW0Kt.mjs";
5
+ import "../FunctionBuilder-CVT7bG2o.mjs";
6
+ import "../FunctionExecutionWrapper-Bubnr0zA.mjs";
7
+ import { AWSLambdaFunction } from "../AWSLambdaFunction-H65WfXLt.mjs";
8
8
 
9
9
  export { AWSLambdaFunction };
@@ -1,4 +1,4 @@
1
- require('../Construct-XCGKof_O.cjs');
2
- const require_BaseFunctionBuilder = require('../BaseFunctionBuilder-bTDKP7bd.cjs');
1
+ require('../Construct-BYSPikVm.cjs');
2
+ const require_BaseFunctionBuilder = require('../BaseFunctionBuilder-C5Se7pdL.cjs');
3
3
 
4
4
  exports.BaseFunctionBuilder = require_BaseFunctionBuilder.BaseFunctionBuilder;
@@ -1,3 +1,3 @@
1
- import "../Construct-zc8BkRSp.cjs";
2
- import { BaseFunctionBuilder } from "../BaseFunctionBuilder-hWNVKXQB.cjs";
1
+ import "../Construct-dI_rgdSp.cjs";
2
+ import { BaseFunctionBuilder } from "../BaseFunctionBuilder-DUZMbEr3.cjs";
3
3
  export { BaseFunctionBuilder };
@@ -1,3 +1,3 @@
1
- import "../Construct-iDmbkZ3o.mjs";
2
- import { BaseFunctionBuilder } from "../BaseFunctionBuilder-DOcm1heZ.mjs";
1
+ import "../Construct-ZPqE0vhn.mjs";
2
+ import { BaseFunctionBuilder } from "../BaseFunctionBuilder-CbDnPZpD.mjs";
3
3
  export { BaseFunctionBuilder };
@@ -1,4 +1,4 @@
1
- import "../Construct-rZQg2yus.mjs";
2
- import { BaseFunctionBuilder } from "../BaseFunctionBuilder-DSqF1r3a.mjs";
1
+ import "../Construct-LWeB1rSQ.mjs";
2
+ import { BaseFunctionBuilder } from "../BaseFunctionBuilder-B5gkW0Kt.mjs";
3
3
 
4
4
  export { BaseFunctionBuilder };
@@ -1,5 +1,5 @@
1
- require('../Construct-XCGKof_O.cjs');
2
- const require_Function = require('../Function-DDaSfL_E.cjs');
1
+ require('../Construct-BYSPikVm.cjs');
2
+ const require_Function = require('../Function-DagDbeXo.cjs');
3
3
 
4
4
  exports.Function = require_Function.Function;
5
5
  exports.FunctionFactory = require_Function.FunctionFactory;
@@ -1,3 +1,3 @@
1
- import "../Construct-zc8BkRSp.cjs";
2
- import { Function, FunctionContext, FunctionFactory, FunctionHandler } from "../Function-CW-WcZTu.cjs";
1
+ import "../Construct-dI_rgdSp.cjs";
2
+ import { Function, FunctionContext, FunctionFactory, FunctionHandler } from "../Function-VI1TB3Mh.cjs";
3
3
  export { Function, FunctionContext, FunctionFactory, FunctionHandler };
@@ -1,3 +1,3 @@
1
- import "../Construct-iDmbkZ3o.mjs";
2
- import { Function, FunctionContext, FunctionFactory, FunctionHandler } from "../Function-C-5_23Wi.mjs";
1
+ import "../Construct-ZPqE0vhn.mjs";
2
+ import { Function, FunctionContext, FunctionFactory, FunctionHandler } from "../Function-V9M9UVHp.mjs";
3
3
  export { Function, FunctionContext, FunctionFactory, FunctionHandler };
@@ -1,4 +1,4 @@
1
- import "../Construct-rZQg2yus.mjs";
2
- import { Function, FunctionFactory } from "../Function-Cl9fiR3a.mjs";
1
+ import "../Construct-LWeB1rSQ.mjs";
2
+ import { Function, FunctionFactory } from "../Function-DfKsM5Kx.mjs";
3
3
 
4
4
  export { Function, FunctionFactory };
@@ -1,6 +1,6 @@
1
- require('../Construct-XCGKof_O.cjs');
2
- require('../Function-DDaSfL_E.cjs');
3
- require('../BaseFunctionBuilder-bTDKP7bd.cjs');
4
- const require_FunctionBuilder = require('../FunctionBuilder-LQuBiqRc.cjs');
1
+ require('../Construct-BYSPikVm.cjs');
2
+ require('../Function-DagDbeXo.cjs');
3
+ require('../BaseFunctionBuilder-C5Se7pdL.cjs');
4
+ const require_FunctionBuilder = require('../FunctionBuilder-DXvG_XD-.cjs');
5
5
 
6
6
  exports.FunctionBuilder = require_FunctionBuilder.FunctionBuilder;
@@ -1,5 +1,5 @@
1
- import "../Construct-zc8BkRSp.cjs";
2
- import "../Function-CW-WcZTu.cjs";
3
- import "../BaseFunctionBuilder-hWNVKXQB.cjs";
4
- import { FunctionBuilder } from "../FunctionBuilder-fU1H7tFN.cjs";
1
+ import "../Construct-dI_rgdSp.cjs";
2
+ import "../Function-VI1TB3Mh.cjs";
3
+ import "../BaseFunctionBuilder-DUZMbEr3.cjs";
4
+ import { FunctionBuilder } from "../FunctionBuilder-CjVEFTYC.cjs";
5
5
  export { FunctionBuilder };
@@ -1,5 +1,5 @@
1
- import "../Construct-iDmbkZ3o.mjs";
2
- import "../Function-C-5_23Wi.mjs";
3
- import "../BaseFunctionBuilder-DOcm1heZ.mjs";
4
- import { FunctionBuilder } from "../FunctionBuilder-udObIGV0.mjs";
1
+ import "../Construct-ZPqE0vhn.mjs";
2
+ import "../Function-V9M9UVHp.mjs";
3
+ import "../BaseFunctionBuilder-CbDnPZpD.mjs";
4
+ import { FunctionBuilder } from "../FunctionBuilder-D1ofSeMd.mjs";
5
5
  export { FunctionBuilder };
@@ -1,6 +1,6 @@
1
- import "../Construct-rZQg2yus.mjs";
2
- import "../Function-Cl9fiR3a.mjs";
3
- import "../BaseFunctionBuilder-DSqF1r3a.mjs";
4
- import { FunctionBuilder } from "../FunctionBuilder-vW12WFOw.mjs";
1
+ import "../Construct-LWeB1rSQ.mjs";
2
+ import "../Function-DfKsM5Kx.mjs";
3
+ import "../BaseFunctionBuilder-B5gkW0Kt.mjs";
4
+ import { FunctionBuilder } from "../FunctionBuilder-CVT7bG2o.mjs";
5
5
 
6
6
  export { FunctionBuilder };
@@ -1,8 +1,8 @@
1
- require('../Construct-XCGKof_O.cjs');
1
+ require('../Construct-BYSPikVm.cjs');
2
2
  require('../publisher-lFQleddL.cjs');
3
- require('../Function-DDaSfL_E.cjs');
4
- require('../BaseFunctionBuilder-bTDKP7bd.cjs');
5
- require('../FunctionBuilder-LQuBiqRc.cjs');
6
- const require_FunctionExecutionWrapper = require('../FunctionExecutionWrapper-BBIoHUt6.cjs');
3
+ require('../Function-DagDbeXo.cjs');
4
+ require('../BaseFunctionBuilder-C5Se7pdL.cjs');
5
+ require('../FunctionBuilder-DXvG_XD-.cjs');
6
+ const require_FunctionExecutionWrapper = require('../FunctionExecutionWrapper-DkNycmOh.cjs');
7
7
 
8
8
  exports.FunctionExecutionWrapper = require_FunctionExecutionWrapper.FunctionExecutionWrapper;
@@ -1,4 +1,4 @@
1
- import "../Construct-zc8BkRSp.cjs";
2
- import "../Function-CW-WcZTu.cjs";
3
- import { FunctionExecutionWrapper } from "../FunctionExecutionWrapper-Dwr2ZKzC.cjs";
1
+ import "../Construct-dI_rgdSp.cjs";
2
+ import "../Function-VI1TB3Mh.cjs";
3
+ import { FunctionExecutionWrapper } from "../FunctionExecutionWrapper-CwtwYozd.cjs";
4
4
  export { FunctionExecutionWrapper };
@@ -1,4 +1,4 @@
1
- import "../Construct-iDmbkZ3o.mjs";
2
- import "../Function-C-5_23Wi.mjs";
3
- import { FunctionExecutionWrapper } from "../FunctionExecutionWrapper-DYBy9OP3.mjs";
1
+ import "../Construct-ZPqE0vhn.mjs";
2
+ import "../Function-V9M9UVHp.mjs";
3
+ import { FunctionExecutionWrapper } from "../FunctionExecutionWrapper-rhbIYT0Q.mjs";
4
4
  export { FunctionExecutionWrapper };
@@ -1,8 +1,8 @@
1
- import "../Construct-rZQg2yus.mjs";
1
+ import "../Construct-LWeB1rSQ.mjs";
2
2
  import "../publisher-Bw4770Hi.mjs";
3
- import "../Function-Cl9fiR3a.mjs";
4
- import "../BaseFunctionBuilder-DSqF1r3a.mjs";
5
- import "../FunctionBuilder-vW12WFOw.mjs";
6
- import { FunctionExecutionWrapper } from "../FunctionExecutionWrapper-Dtyhid1Q.mjs";
3
+ import "../Function-DfKsM5Kx.mjs";
4
+ import "../BaseFunctionBuilder-B5gkW0Kt.mjs";
5
+ import "../FunctionBuilder-CVT7bG2o.mjs";
6
+ import { FunctionExecutionWrapper } from "../FunctionExecutionWrapper-Bubnr0zA.mjs";
7
7
 
8
8
  export { FunctionExecutionWrapper };
@@ -1,10 +1,11 @@
1
1
  const require_chunk = require('../chunk-CUT6urMc.cjs');
2
- require('../Construct-XCGKof_O.cjs');
2
+ require('../Construct-BYSPikVm.cjs');
3
3
  const require_publisher = require('../publisher-lFQleddL.cjs');
4
- require('../Function-DDaSfL_E.cjs');
5
- require('../BaseFunctionBuilder-bTDKP7bd.cjs');
6
- const require_FunctionBuilder = require('../FunctionBuilder-LQuBiqRc.cjs');
4
+ require('../Function-DagDbeXo.cjs');
5
+ require('../BaseFunctionBuilder-C5Se7pdL.cjs');
6
+ const require_FunctionBuilder = require('../FunctionBuilder-DXvG_XD-.cjs');
7
7
  const __geekmidas_services = require_chunk.__toESM(require("@geekmidas/services"));
8
+ const __geekmidas_audit = require_chunk.__toESM(require("@geekmidas/audit"));
8
9
  const __geekmidas_envkit = require_chunk.__toESM(require("@geekmidas/envkit"));
9
10
 
10
11
  //#region src/functions/TestFunctionAdaptor.ts
@@ -22,12 +23,44 @@ var TestFunctionAdaptor = class TestFunctionAdaptor {
22
23
  let services;
23
24
  if (ctx.services) services = ctx.services;
24
25
  else services = await this.serviceDiscovery.register(this.fn.services);
26
+ let db;
27
+ if ("db" in ctx && ctx.db !== void 0) db = ctx.db;
28
+ else if (this.fn.databaseService) {
29
+ const dbServices = await this.serviceDiscovery.register([this.fn.databaseService]);
30
+ db = dbServices[this.fn.databaseService.serviceName];
31
+ }
32
+ let auditor;
33
+ if ("auditor" in ctx && ctx.auditor !== void 0) auditor = ctx.auditor;
34
+ else if (this.fn.auditorStorageService) {
35
+ const auditServices = await this.serviceDiscovery.register([this.fn.auditorStorageService]);
36
+ const storage = auditServices[this.fn.auditorStorageService.serviceName];
37
+ auditor = new __geekmidas_audit.DefaultAuditor({
38
+ actor: {
39
+ id: "system",
40
+ type: "system"
41
+ },
42
+ storage,
43
+ metadata: {
44
+ function: this.fn.type,
45
+ test: true
46
+ }
47
+ });
48
+ }
25
49
  const response = await this.fn["fn"]({
26
50
  input: parsedInput,
27
51
  services,
28
- logger
52
+ logger,
53
+ db,
54
+ auditor
29
55
  });
30
56
  const output = await this.fn.parseOutput(response);
57
+ if (auditor) {
58
+ const records = auditor.getRecords();
59
+ if (records.length > 0) {
60
+ logger.debug({ auditCount: records.length }, "Flushing function audits");
61
+ await auditor.flush();
62
+ }
63
+ }
31
64
  await require_publisher.publishEvents(logger, this.serviceDiscovery, this.fn.events, output, this.fn.publisherService);
32
65
  return output;
33
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TestFunctionAdaptor.cjs","names":["fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n any,\n TEventPublisher,\n TEventPublisherServiceName\n >","EnvironmentParser","serviceDiscovery: ServiceDiscovery<\n any,\n any\n >","ctx: TestFunctionRequest<\n TInput,\n TServices,\n TEventPublisher,\n TEventPublisherServiceName\n >","services: ServiceRecord<TServices>"],"sources":["../../src/functions/TestFunctionAdaptor.ts"],"sourcesContent":["import { 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 } from './Function';\nimport { FunctionBuilder } from './FunctionBuilder';\n\nexport class TestFunctionAdaptor<\n TInput extends StandardSchemaV1 | 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 static getDefaultServiceDiscovery<\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 fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n any,\n TEventPublisher,\n TEventPublisherServiceName\n >,\n ) {\n return ServiceDiscovery.getInstance(fn.logger, new EnvironmentParser({}));\n }\n\n constructor(\n private readonly fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n any,\n TEventPublisher,\n TEventPublisherServiceName\n >,\n private serviceDiscovery: ServiceDiscovery<\n any,\n any\n > = TestFunctionAdaptor.getDefaultServiceDiscovery(fn),\n ) {}\n\n async invoke(\n ctx: TestFunctionRequest<\n TInput,\n TServices,\n TEventPublisher,\n TEventPublisherServiceName\n >,\n ): Promise<InferStandardSchema<TOutSchema>> {\n // Parse input if schema is provided\n\n const parsedInput = await FunctionBuilder.parseComposableStandardSchema(\n ctx.input,\n this.fn.input,\n );\n\n // Create logger with context\n const logger = this.fn.logger.child({\n test: true,\n }) as TLogger;\n\n // Register services (use provided services or register from function)\n let services: ServiceRecord<TServices>;\n if (ctx.services) {\n services = ctx.services;\n } else {\n services = await this.serviceDiscovery.register(this.fn.services);\n }\n\n // Execute the function\n const response = await this.fn['fn']({\n input: parsedInput,\n services,\n logger,\n });\n\n // Parse output if schema is provided\n const output = await this.fn.parseOutput(response);\n\n // Register publisher service if provided in context\n\n await publishEvents(\n logger,\n this.serviceDiscovery,\n this.fn.events,\n output,\n this.fn.publisherService,\n );\n\n return output;\n }\n}\n\nexport type TestFunctionRequest<\n TInput extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n> = {\n input: InferComposableStandardSchema<TInput>;\n services: ServiceRecord<TServices>;\n publisher?: Service<TEventPublisherServiceName, TEventPublisher>;\n} & InferComposableStandardSchema<{ input: TInput }>;\n"],"mappings":";;;;;;;;;;AAkBA,IAAa,sBAAb,MAAa,oBAOX;CACA,OAAO,2BAQLA,IASA;AACA,SAAO,sCAAiB,YAAY,GAAG,QAAQ,IAAIC,qCAAkB,CAAE,GAAE;CAC1E;CAED,YACmBD,IASTE,mBAGJ,oBAAoB,2BAA2B,GAAG,EACtD;EAbiB;EAST;CAIN;CAEJ,MAAM,OACJC,KAM0C;EAG1C,MAAM,cAAc,MAAM,wCAAgB,8BACxC,IAAI,OACJ,KAAK,GAAG,MACT;EAGD,MAAM,SAAS,KAAK,GAAG,OAAO,MAAM,EAClC,MAAM,KACP,EAAC;EAGF,IAAIC;AACJ,MAAI,IAAI,SACN,YAAW,IAAI;MAEf,YAAW,MAAM,KAAK,iBAAiB,SAAS,KAAK,GAAG,SAAS;EAInE,MAAM,WAAW,MAAM,KAAK,GAAG,MAAM;GACnC,OAAO;GACP;GACA;EACD,EAAC;EAGF,MAAM,SAAS,MAAM,KAAK,GAAG,YAAY,SAAS;AAIlD,QAAM,gCACJ,QACA,KAAK,kBACL,KAAK,GAAG,QACR,QACA,KAAK,GAAG,iBACT;AAED,SAAO;CACR;AACF"}
1
+ {"version":3,"file":"TestFunctionAdaptor.cjs","names":["fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction,\n any\n >","EnvironmentParser","serviceDiscovery: ServiceDiscovery<\n any,\n any\n >","ctx: TestFunctionRequest<\n TInput,\n TServices,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TAuditAction\n >","services: ServiceRecord<TServices>","db: TDatabase | undefined","auditor: Auditor<TAuditAction> | undefined","DefaultAuditor"],"sources":["../../src/functions/TestFunctionAdaptor.ts"],"sourcesContent":["import type { AuditStorage, AuditableAction, Auditor } from '@geekmidas/audit';\nimport { DefaultAuditor } from '@geekmidas/audit';\nimport { 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 } from './Function';\nimport { FunctionBuilder } from './FunctionBuilder';\n\nexport class TestFunctionAdaptor<\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 TAuditStorage extends AuditStorage | undefined = undefined,\n TAuditStorageServiceName extends string = string,\n TDatabase = undefined,\n TDatabaseServiceName extends string = string,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n> {\n static getDefaultServiceDiscovery<\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 TAuditStorage extends AuditStorage | undefined = undefined,\n TAuditStorageServiceName extends string = string,\n TDatabase = undefined,\n TDatabaseServiceName extends string = string,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n >(\n fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction,\n any\n >,\n ) {\n return ServiceDiscovery.getInstance(fn.logger, new EnvironmentParser({}));\n }\n\n constructor(\n private readonly fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction,\n any\n >,\n private serviceDiscovery: ServiceDiscovery<\n any,\n any\n > = TestFunctionAdaptor.getDefaultServiceDiscovery(fn),\n ) {}\n\n async invoke(\n ctx: TestFunctionRequest<\n TInput,\n TServices,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TAuditAction\n >,\n ): Promise<InferStandardSchema<TOutSchema>> {\n // Parse input if schema is provided\n\n const parsedInput = await FunctionBuilder.parseComposableStandardSchema(\n ctx.input,\n this.fn.input,\n );\n\n // Create logger with context\n const logger = this.fn.logger.child({\n test: true,\n }) as TLogger;\n\n // Register services (use provided services or register from function)\n let services: ServiceRecord<TServices>;\n if (ctx.services) {\n services = ctx.services;\n } else {\n services = await this.serviceDiscovery.register(this.fn.services);\n }\n\n // Resolve database (use provided db or register from function)\n let db: TDatabase | undefined;\n if ('db' in ctx && ctx.db !== undefined) {\n db = ctx.db;\n } else if (this.fn.databaseService) {\n const dbServices = await this.serviceDiscovery.register([\n this.fn.databaseService,\n ]);\n db = dbServices[\n this.fn.databaseService.serviceName as keyof typeof dbServices\n ] as TDatabase;\n }\n\n // Resolve auditor (use provided auditor or create from function)\n let auditor: Auditor<TAuditAction> | undefined;\n if ('auditor' in ctx && ctx.auditor !== undefined) {\n auditor = ctx.auditor;\n } else if (this.fn.auditorStorageService) {\n const auditServices = await this.serviceDiscovery.register([\n this.fn.auditorStorageService,\n ]);\n const storage = auditServices[\n this.fn.auditorStorageService.serviceName as keyof typeof auditServices\n ] as AuditStorage;\n\n auditor = new DefaultAuditor<TAuditAction>({\n actor: { id: 'system', type: 'system' },\n storage,\n metadata: {\n function: this.fn.type,\n test: true,\n },\n });\n }\n\n // Execute the function\n const response = await this.fn['fn']({\n input: parsedInput,\n services,\n logger,\n db,\n auditor,\n } as any);\n\n // Parse output if schema is provided\n const output = await this.fn.parseOutput(response);\n\n // Flush audits if any were recorded\n if (auditor) {\n const records = auditor.getRecords();\n if (records.length > 0) {\n logger.debug(\n { auditCount: records.length },\n 'Flushing function audits',\n );\n await auditor.flush();\n }\n }\n\n // Register publisher service if provided in context\n\n await publishEvents(\n logger,\n this.serviceDiscovery,\n this.fn.events,\n output,\n this.fn.publisherService,\n );\n\n return output;\n }\n}\n\nexport type TestFunctionRequest<\n TInput extends ComposableStandardSchema | undefined = undefined,\n TServices extends Service[] = [],\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TDatabase = undefined,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n> = {\n input: InferComposableStandardSchema<TInput>;\n services: ServiceRecord<TServices>;\n publisher?: Service<TEventPublisherServiceName, TEventPublisher>;\n db?: TDatabase;\n auditor?: Auditor<TAuditAction>;\n} & InferComposableStandardSchema<{ input: TInput }>;\n"],"mappings":";;;;;;;;;;;AAoBA,IAAa,sBAAb,MAAa,oBAeX;CACA,OAAO,2BAgBLA,IAcA;AACA,SAAO,sCAAiB,YAAY,GAAG,QAAQ,IAAIC,qCAAkB,CAAE,GAAE;CAC1E;CAED,YACmBD,IAcTE,mBAGJ,oBAAoB,2BAA2B,GAAG,EACtD;EAlBiB;EAcT;CAIN;CAEJ,MAAM,OACJC,KAQ0C;EAG1C,MAAM,cAAc,MAAM,wCAAgB,8BACxC,IAAI,OACJ,KAAK,GAAG,MACT;EAGD,MAAM,SAAS,KAAK,GAAG,OAAO,MAAM,EAClC,MAAM,KACP,EAAC;EAGF,IAAIC;AACJ,MAAI,IAAI,SACN,YAAW,IAAI;MAEf,YAAW,MAAM,KAAK,iBAAiB,SAAS,KAAK,GAAG,SAAS;EAInE,IAAIC;AACJ,MAAI,QAAQ,OAAO,IAAI,cACrB,MAAK,IAAI;WACA,KAAK,GAAG,iBAAiB;GAClC,MAAM,aAAa,MAAM,KAAK,iBAAiB,SAAS,CACtD,KAAK,GAAG,eACT,EAAC;AACF,QAAK,WACH,KAAK,GAAG,gBAAgB;EAE3B;EAGD,IAAIC;AACJ,MAAI,aAAa,OAAO,IAAI,mBAC1B,WAAU,IAAI;WACL,KAAK,GAAG,uBAAuB;GACxC,MAAM,gBAAgB,MAAM,KAAK,iBAAiB,SAAS,CACzD,KAAK,GAAG,qBACT,EAAC;GACF,MAAM,UAAU,cACd,KAAK,GAAG,sBAAsB;AAGhC,aAAU,IAAIC,iCAA6B;IACzC,OAAO;KAAE,IAAI;KAAU,MAAM;IAAU;IACvC;IACA,UAAU;KACR,UAAU,KAAK,GAAG;KAClB,MAAM;IACP;GACF;EACF;EAGD,MAAM,WAAW,MAAM,KAAK,GAAG,MAAM;GACnC,OAAO;GACP;GACA;GACA;GACA;EACD,EAAQ;EAGT,MAAM,SAAS,MAAM,KAAK,GAAG,YAAY,SAAS;AAGlD,MAAI,SAAS;GACX,MAAM,UAAU,QAAQ,YAAY;AACpC,OAAI,QAAQ,SAAS,GAAG;AACtB,WAAO,MACL,EAAE,YAAY,QAAQ,OAAQ,GAC9B,2BACD;AACD,UAAM,QAAQ,OAAO;GACtB;EACF;AAID,QAAM,gCACJ,QACA,KAAK,kBACL,KAAK,GAAG,QACR,QACA,KAAK,GAAG,iBACT;AAED,SAAO;CACR;AACF"}
@@ -1,5 +1,6 @@
1
- import "../Construct-zc8BkRSp.cjs";
2
- import { Function } from "../Function-CW-WcZTu.cjs";
1
+ import "../Construct-dI_rgdSp.cjs";
2
+ import { Function } from "../Function-VI1TB3Mh.cjs";
3
+ import { AuditStorage, AuditableAction, Auditor } from "@geekmidas/audit";
3
4
  import { EventPublisher } from "@geekmidas/events";
4
5
  import { Logger } from "@geekmidas/logger";
5
6
  import { Service, ServiceDiscovery, ServiceRecord } from "@geekmidas/services";
@@ -7,17 +8,19 @@ import { StandardSchemaV1 } from "@standard-schema/spec";
7
8
  import { ComposableStandardSchema, InferComposableStandardSchema, InferStandardSchema } from "@geekmidas/schema";
8
9
 
9
10
  //#region src/functions/TestFunctionAdaptor.d.ts
10
- declare class TestFunctionAdaptor<TInput extends StandardSchemaV1 | undefined = undefined, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> {
11
+ declare class TestFunctionAdaptor<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, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>> {
11
12
  private readonly fn;
12
13
  private serviceDiscovery;
13
- static getDefaultServiceDiscovery<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>(fn: Function<TInput, TServices, TLogger, TOutSchema, any, TEventPublisher, TEventPublisherServiceName>): ServiceDiscovery<any, Logger>;
14
- constructor(fn: Function<TInput, TServices, TLogger, TOutSchema, any, TEventPublisher, TEventPublisherServiceName>, serviceDiscovery?: ServiceDiscovery<any, any>);
15
- invoke(ctx: TestFunctionRequest<TInput, TServices, TEventPublisher, TEventPublisherServiceName>): Promise<InferStandardSchema<TOutSchema>>;
14
+ static getDefaultServiceDiscovery<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, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>>(fn: Function<TInput, TServices, TLogger, TOutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, any>): ServiceDiscovery<any, Logger>;
15
+ constructor(fn: Function<TInput, TServices, TLogger, TOutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, any>, serviceDiscovery?: ServiceDiscovery<any, any>);
16
+ invoke(ctx: TestFunctionRequest<TInput, TServices, TEventPublisher, TEventPublisherServiceName, TDatabase, TAuditAction>): Promise<InferStandardSchema<TOutSchema>>;
16
17
  }
17
- type TestFunctionRequest<TInput extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> = {
18
+ type TestFunctionRequest<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TDatabase = undefined, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>> = {
18
19
  input: InferComposableStandardSchema<TInput>;
19
20
  services: ServiceRecord<TServices>;
20
21
  publisher?: Service<TEventPublisherServiceName, TEventPublisher>;
22
+ db?: TDatabase;
23
+ auditor?: Auditor<TAuditAction>;
21
24
  } & InferComposableStandardSchema<{
22
25
  input: TInput;
23
26
  }>;
@@ -1,23 +1,26 @@
1
- import "../Construct-iDmbkZ3o.mjs";
2
- import { Function } from "../Function-C-5_23Wi.mjs";
1
+ import "../Construct-ZPqE0vhn.mjs";
2
+ import { Function } from "../Function-V9M9UVHp.mjs";
3
3
  import { Service, ServiceDiscovery, ServiceRecord } from "@geekmidas/services";
4
+ import { AuditStorage, AuditableAction, Auditor } from "@geekmidas/audit";
4
5
  import { EventPublisher } from "@geekmidas/events";
5
6
  import { Logger } from "@geekmidas/logger";
6
7
  import { StandardSchemaV1 } from "@standard-schema/spec";
7
8
  import { ComposableStandardSchema, InferComposableStandardSchema, InferStandardSchema } from "@geekmidas/schema";
8
9
 
9
10
  //#region src/functions/TestFunctionAdaptor.d.ts
10
- declare class TestFunctionAdaptor<TInput extends StandardSchemaV1 | undefined = undefined, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> {
11
+ declare class TestFunctionAdaptor<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, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>> {
11
12
  private readonly fn;
12
13
  private serviceDiscovery;
13
- static getDefaultServiceDiscovery<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>(fn: Function<TInput, TServices, TLogger, TOutSchema, any, TEventPublisher, TEventPublisherServiceName>): ServiceDiscovery<any, Logger>;
14
- constructor(fn: Function<TInput, TServices, TLogger, TOutSchema, any, TEventPublisher, TEventPublisherServiceName>, serviceDiscovery?: ServiceDiscovery<any, any>);
15
- invoke(ctx: TestFunctionRequest<TInput, TServices, TEventPublisher, TEventPublisherServiceName>): Promise<InferStandardSchema<TOutSchema>>;
14
+ static getDefaultServiceDiscovery<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, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>>(fn: Function<TInput, TServices, TLogger, TOutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, any>): ServiceDiscovery<any, Logger>;
15
+ constructor(fn: Function<TInput, TServices, TLogger, TOutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, any>, serviceDiscovery?: ServiceDiscovery<any, any>);
16
+ invoke(ctx: TestFunctionRequest<TInput, TServices, TEventPublisher, TEventPublisherServiceName, TDatabase, TAuditAction>): Promise<InferStandardSchema<TOutSchema>>;
16
17
  }
17
- type TestFunctionRequest<TInput extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> = {
18
+ type TestFunctionRequest<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TDatabase = undefined, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>> = {
18
19
  input: InferComposableStandardSchema<TInput>;
19
20
  services: ServiceRecord<TServices>;
20
21
  publisher?: Service<TEventPublisherServiceName, TEventPublisher>;
22
+ db?: TDatabase;
23
+ auditor?: Auditor<TAuditAction>;
21
24
  } & InferComposableStandardSchema<{
22
25
  input: TInput;
23
26
  }>;
@@ -1,9 +1,10 @@
1
- import "../Construct-rZQg2yus.mjs";
1
+ import "../Construct-LWeB1rSQ.mjs";
2
2
  import { publishEvents } from "../publisher-Bw4770Hi.mjs";
3
- import "../Function-Cl9fiR3a.mjs";
4
- import "../BaseFunctionBuilder-DSqF1r3a.mjs";
5
- import { FunctionBuilder } from "../FunctionBuilder-vW12WFOw.mjs";
3
+ import "../Function-DfKsM5Kx.mjs";
4
+ import "../BaseFunctionBuilder-B5gkW0Kt.mjs";
5
+ import { FunctionBuilder } from "../FunctionBuilder-CVT7bG2o.mjs";
6
6
  import { ServiceDiscovery } from "@geekmidas/services";
7
+ import { DefaultAuditor } from "@geekmidas/audit";
7
8
  import { EnvironmentParser } from "@geekmidas/envkit";
8
9
 
9
10
  //#region src/functions/TestFunctionAdaptor.ts
@@ -21,12 +22,44 @@ var TestFunctionAdaptor = class TestFunctionAdaptor {
21
22
  let services;
22
23
  if (ctx.services) services = ctx.services;
23
24
  else services = await this.serviceDiscovery.register(this.fn.services);
25
+ let db;
26
+ if ("db" in ctx && ctx.db !== void 0) db = ctx.db;
27
+ else if (this.fn.databaseService) {
28
+ const dbServices = await this.serviceDiscovery.register([this.fn.databaseService]);
29
+ db = dbServices[this.fn.databaseService.serviceName];
30
+ }
31
+ let auditor;
32
+ if ("auditor" in ctx && ctx.auditor !== void 0) auditor = ctx.auditor;
33
+ else if (this.fn.auditorStorageService) {
34
+ const auditServices = await this.serviceDiscovery.register([this.fn.auditorStorageService]);
35
+ const storage = auditServices[this.fn.auditorStorageService.serviceName];
36
+ auditor = new DefaultAuditor({
37
+ actor: {
38
+ id: "system",
39
+ type: "system"
40
+ },
41
+ storage,
42
+ metadata: {
43
+ function: this.fn.type,
44
+ test: true
45
+ }
46
+ });
47
+ }
24
48
  const response = await this.fn["fn"]({
25
49
  input: parsedInput,
26
50
  services,
27
- logger
51
+ logger,
52
+ db,
53
+ auditor
28
54
  });
29
55
  const output = await this.fn.parseOutput(response);
56
+ if (auditor) {
57
+ const records = auditor.getRecords();
58
+ if (records.length > 0) {
59
+ logger.debug({ auditCount: records.length }, "Flushing function audits");
60
+ await auditor.flush();
61
+ }
62
+ }
30
63
  await publishEvents(logger, this.serviceDiscovery, this.fn.events, output, this.fn.publisherService);
31
64
  return output;
32
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TestFunctionAdaptor.mjs","names":["fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n any,\n TEventPublisher,\n TEventPublisherServiceName\n >","serviceDiscovery: ServiceDiscovery<\n any,\n any\n >","ctx: TestFunctionRequest<\n TInput,\n TServices,\n TEventPublisher,\n TEventPublisherServiceName\n >","services: ServiceRecord<TServices>"],"sources":["../../src/functions/TestFunctionAdaptor.ts"],"sourcesContent":["import { 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 } from './Function';\nimport { FunctionBuilder } from './FunctionBuilder';\n\nexport class TestFunctionAdaptor<\n TInput extends StandardSchemaV1 | 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 static getDefaultServiceDiscovery<\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 fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n any,\n TEventPublisher,\n TEventPublisherServiceName\n >,\n ) {\n return ServiceDiscovery.getInstance(fn.logger, new EnvironmentParser({}));\n }\n\n constructor(\n private readonly fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n any,\n TEventPublisher,\n TEventPublisherServiceName\n >,\n private serviceDiscovery: ServiceDiscovery<\n any,\n any\n > = TestFunctionAdaptor.getDefaultServiceDiscovery(fn),\n ) {}\n\n async invoke(\n ctx: TestFunctionRequest<\n TInput,\n TServices,\n TEventPublisher,\n TEventPublisherServiceName\n >,\n ): Promise<InferStandardSchema<TOutSchema>> {\n // Parse input if schema is provided\n\n const parsedInput = await FunctionBuilder.parseComposableStandardSchema(\n ctx.input,\n this.fn.input,\n );\n\n // Create logger with context\n const logger = this.fn.logger.child({\n test: true,\n }) as TLogger;\n\n // Register services (use provided services or register from function)\n let services: ServiceRecord<TServices>;\n if (ctx.services) {\n services = ctx.services;\n } else {\n services = await this.serviceDiscovery.register(this.fn.services);\n }\n\n // Execute the function\n const response = await this.fn['fn']({\n input: parsedInput,\n services,\n logger,\n });\n\n // Parse output if schema is provided\n const output = await this.fn.parseOutput(response);\n\n // Register publisher service if provided in context\n\n await publishEvents(\n logger,\n this.serviceDiscovery,\n this.fn.events,\n output,\n this.fn.publisherService,\n );\n\n return output;\n }\n}\n\nexport type TestFunctionRequest<\n TInput extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n> = {\n input: InferComposableStandardSchema<TInput>;\n services: ServiceRecord<TServices>;\n publisher?: Service<TEventPublisherServiceName, TEventPublisher>;\n} & InferComposableStandardSchema<{ input: TInput }>;\n"],"mappings":";;;;;;;;;AAkBA,IAAa,sBAAb,MAAa,oBAOX;CACA,OAAO,2BAQLA,IASA;AACA,SAAO,iBAAiB,YAAY,GAAG,QAAQ,IAAI,kBAAkB,CAAE,GAAE;CAC1E;CAED,YACmBA,IASTC,mBAGJ,oBAAoB,2BAA2B,GAAG,EACtD;EAbiB;EAST;CAIN;CAEJ,MAAM,OACJC,KAM0C;EAG1C,MAAM,cAAc,MAAM,gBAAgB,8BACxC,IAAI,OACJ,KAAK,GAAG,MACT;EAGD,MAAM,SAAS,KAAK,GAAG,OAAO,MAAM,EAClC,MAAM,KACP,EAAC;EAGF,IAAIC;AACJ,MAAI,IAAI,SACN,YAAW,IAAI;MAEf,YAAW,MAAM,KAAK,iBAAiB,SAAS,KAAK,GAAG,SAAS;EAInE,MAAM,WAAW,MAAM,KAAK,GAAG,MAAM;GACnC,OAAO;GACP;GACA;EACD,EAAC;EAGF,MAAM,SAAS,MAAM,KAAK,GAAG,YAAY,SAAS;AAIlD,QAAM,cACJ,QACA,KAAK,kBACL,KAAK,GAAG,QACR,QACA,KAAK,GAAG,iBACT;AAED,SAAO;CACR;AACF"}
1
+ {"version":3,"file":"TestFunctionAdaptor.mjs","names":["fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction,\n any\n >","serviceDiscovery: ServiceDiscovery<\n any,\n any\n >","ctx: TestFunctionRequest<\n TInput,\n TServices,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TAuditAction\n >","services: ServiceRecord<TServices>","db: TDatabase | undefined","auditor: Auditor<TAuditAction> | undefined"],"sources":["../../src/functions/TestFunctionAdaptor.ts"],"sourcesContent":["import type { AuditStorage, AuditableAction, Auditor } from '@geekmidas/audit';\nimport { DefaultAuditor } from '@geekmidas/audit';\nimport { 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 } from './Function';\nimport { FunctionBuilder } from './FunctionBuilder';\n\nexport class TestFunctionAdaptor<\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 TAuditStorage extends AuditStorage | undefined = undefined,\n TAuditStorageServiceName extends string = string,\n TDatabase = undefined,\n TDatabaseServiceName extends string = string,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n> {\n static getDefaultServiceDiscovery<\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 TAuditStorage extends AuditStorage | undefined = undefined,\n TAuditStorageServiceName extends string = string,\n TDatabase = undefined,\n TDatabaseServiceName extends string = string,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n >(\n fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction,\n any\n >,\n ) {\n return ServiceDiscovery.getInstance(fn.logger, new EnvironmentParser({}));\n }\n\n constructor(\n private readonly fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction,\n any\n >,\n private serviceDiscovery: ServiceDiscovery<\n any,\n any\n > = TestFunctionAdaptor.getDefaultServiceDiscovery(fn),\n ) {}\n\n async invoke(\n ctx: TestFunctionRequest<\n TInput,\n TServices,\n TEventPublisher,\n TEventPublisherServiceName,\n TDatabase,\n TAuditAction\n >,\n ): Promise<InferStandardSchema<TOutSchema>> {\n // Parse input if schema is provided\n\n const parsedInput = await FunctionBuilder.parseComposableStandardSchema(\n ctx.input,\n this.fn.input,\n );\n\n // Create logger with context\n const logger = this.fn.logger.child({\n test: true,\n }) as TLogger;\n\n // Register services (use provided services or register from function)\n let services: ServiceRecord<TServices>;\n if (ctx.services) {\n services = ctx.services;\n } else {\n services = await this.serviceDiscovery.register(this.fn.services);\n }\n\n // Resolve database (use provided db or register from function)\n let db: TDatabase | undefined;\n if ('db' in ctx && ctx.db !== undefined) {\n db = ctx.db;\n } else if (this.fn.databaseService) {\n const dbServices = await this.serviceDiscovery.register([\n this.fn.databaseService,\n ]);\n db = dbServices[\n this.fn.databaseService.serviceName as keyof typeof dbServices\n ] as TDatabase;\n }\n\n // Resolve auditor (use provided auditor or create from function)\n let auditor: Auditor<TAuditAction> | undefined;\n if ('auditor' in ctx && ctx.auditor !== undefined) {\n auditor = ctx.auditor;\n } else if (this.fn.auditorStorageService) {\n const auditServices = await this.serviceDiscovery.register([\n this.fn.auditorStorageService,\n ]);\n const storage = auditServices[\n this.fn.auditorStorageService.serviceName as keyof typeof auditServices\n ] as AuditStorage;\n\n auditor = new DefaultAuditor<TAuditAction>({\n actor: { id: 'system', type: 'system' },\n storage,\n metadata: {\n function: this.fn.type,\n test: true,\n },\n });\n }\n\n // Execute the function\n const response = await this.fn['fn']({\n input: parsedInput,\n services,\n logger,\n db,\n auditor,\n } as any);\n\n // Parse output if schema is provided\n const output = await this.fn.parseOutput(response);\n\n // Flush audits if any were recorded\n if (auditor) {\n const records = auditor.getRecords();\n if (records.length > 0) {\n logger.debug(\n { auditCount: records.length },\n 'Flushing function audits',\n );\n await auditor.flush();\n }\n }\n\n // Register publisher service if provided in context\n\n await publishEvents(\n logger,\n this.serviceDiscovery,\n this.fn.events,\n output,\n this.fn.publisherService,\n );\n\n return output;\n }\n}\n\nexport type TestFunctionRequest<\n TInput extends ComposableStandardSchema | undefined = undefined,\n TServices extends Service[] = [],\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TDatabase = undefined,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n> = {\n input: InferComposableStandardSchema<TInput>;\n services: ServiceRecord<TServices>;\n publisher?: Service<TEventPublisherServiceName, TEventPublisher>;\n db?: TDatabase;\n auditor?: Auditor<TAuditAction>;\n} & InferComposableStandardSchema<{ input: TInput }>;\n"],"mappings":";;;;;;;;;;AAoBA,IAAa,sBAAb,MAAa,oBAeX;CACA,OAAO,2BAgBLA,IAcA;AACA,SAAO,iBAAiB,YAAY,GAAG,QAAQ,IAAI,kBAAkB,CAAE,GAAE;CAC1E;CAED,YACmBA,IAcTC,mBAGJ,oBAAoB,2BAA2B,GAAG,EACtD;EAlBiB;EAcT;CAIN;CAEJ,MAAM,OACJC,KAQ0C;EAG1C,MAAM,cAAc,MAAM,gBAAgB,8BACxC,IAAI,OACJ,KAAK,GAAG,MACT;EAGD,MAAM,SAAS,KAAK,GAAG,OAAO,MAAM,EAClC,MAAM,KACP,EAAC;EAGF,IAAIC;AACJ,MAAI,IAAI,SACN,YAAW,IAAI;MAEf,YAAW,MAAM,KAAK,iBAAiB,SAAS,KAAK,GAAG,SAAS;EAInE,IAAIC;AACJ,MAAI,QAAQ,OAAO,IAAI,cACrB,MAAK,IAAI;WACA,KAAK,GAAG,iBAAiB;GAClC,MAAM,aAAa,MAAM,KAAK,iBAAiB,SAAS,CACtD,KAAK,GAAG,eACT,EAAC;AACF,QAAK,WACH,KAAK,GAAG,gBAAgB;EAE3B;EAGD,IAAIC;AACJ,MAAI,aAAa,OAAO,IAAI,mBAC1B,WAAU,IAAI;WACL,KAAK,GAAG,uBAAuB;GACxC,MAAM,gBAAgB,MAAM,KAAK,iBAAiB,SAAS,CACzD,KAAK,GAAG,qBACT,EAAC;GACF,MAAM,UAAU,cACd,KAAK,GAAG,sBAAsB;AAGhC,aAAU,IAAI,eAA6B;IACzC,OAAO;KAAE,IAAI;KAAU,MAAM;IAAU;IACvC;IACA,UAAU;KACR,UAAU,KAAK,GAAG;KAClB,MAAM;IACP;GACF;EACF;EAGD,MAAM,WAAW,MAAM,KAAK,GAAG,MAAM;GACnC,OAAO;GACP;GACA;GACA;GACA;EACD,EAAQ;EAGT,MAAM,SAAS,MAAM,KAAK,GAAG,YAAY,SAAS;AAGlD,MAAI,SAAS;GACX,MAAM,UAAU,QAAQ,YAAY;AACpC,OAAI,QAAQ,SAAS,GAAG;AACtB,WAAO,MACL,EAAE,YAAY,QAAQ,OAAQ,GAC9B,2BACD;AACD,UAAM,QAAQ,OAAO;GACtB;EACF;AAID,QAAM,cACJ,QACA,KAAK,kBACL,KAAK,GAAG,QACR,QACA,KAAK,GAAG,iBACT;AAED,SAAO;CACR;AACF"}
@@ -1,8 +1,8 @@
1
- require('../Construct-XCGKof_O.cjs');
2
- const require_Function = require('../Function-DDaSfL_E.cjs');
3
- const require_BaseFunctionBuilder = require('../BaseFunctionBuilder-bTDKP7bd.cjs');
4
- const require_FunctionBuilder = require('../FunctionBuilder-LQuBiqRc.cjs');
5
- const require_functions = require('../functions-yg097ymU.cjs');
1
+ require('../Construct-BYSPikVm.cjs');
2
+ const require_Function = require('../Function-DagDbeXo.cjs');
3
+ const require_BaseFunctionBuilder = require('../BaseFunctionBuilder-C5Se7pdL.cjs');
4
+ const require_FunctionBuilder = require('../FunctionBuilder-DXvG_XD-.cjs');
5
+ const require_functions = require('../functions-FCb-wWFC.cjs');
6
6
 
7
7
  exports.BaseFunctionBuilder = require_BaseFunctionBuilder.BaseFunctionBuilder;
8
8
  exports.Function = require_Function.Function;
@@ -1,6 +1,6 @@
1
- import "../Construct-zc8BkRSp.cjs";
2
- import { Function, FunctionContext, FunctionHandler } from "../Function-CW-WcZTu.cjs";
3
- import { BaseFunctionBuilder } from "../BaseFunctionBuilder-hWNVKXQB.cjs";
4
- import { FunctionBuilder } from "../FunctionBuilder-fU1H7tFN.cjs";
5
- import { f } from "../index-fiIGH95t.cjs";
1
+ import "../Construct-dI_rgdSp.cjs";
2
+ import { Function, FunctionContext, FunctionHandler } from "../Function-VI1TB3Mh.cjs";
3
+ import { BaseFunctionBuilder } from "../BaseFunctionBuilder-DUZMbEr3.cjs";
4
+ import { FunctionBuilder } from "../FunctionBuilder-CjVEFTYC.cjs";
5
+ import { f } from "../index-DRYfZHb3.cjs";
6
6
  export { BaseFunctionBuilder, Function, FunctionBuilder, FunctionContext, FunctionHandler, f };
@@ -1,6 +1,6 @@
1
- import "../Construct-iDmbkZ3o.mjs";
2
- import { Function, FunctionContext, FunctionHandler } from "../Function-C-5_23Wi.mjs";
3
- import { BaseFunctionBuilder } from "../BaseFunctionBuilder-DOcm1heZ.mjs";
4
- import { FunctionBuilder } from "../FunctionBuilder-udObIGV0.mjs";
5
- import { f } from "../index-RtxMVjUZ.mjs";
1
+ import "../Construct-ZPqE0vhn.mjs";
2
+ import { Function, FunctionContext, FunctionHandler } from "../Function-V9M9UVHp.mjs";
3
+ import { BaseFunctionBuilder } from "../BaseFunctionBuilder-CbDnPZpD.mjs";
4
+ import { FunctionBuilder } from "../FunctionBuilder-D1ofSeMd.mjs";
5
+ import { f } from "../index-Bomy7R9z.mjs";
6
6
  export { BaseFunctionBuilder, Function, FunctionBuilder, FunctionContext, FunctionHandler, f };
@@ -1,7 +1,7 @@
1
- import "../Construct-rZQg2yus.mjs";
2
- import { Function } from "../Function-Cl9fiR3a.mjs";
3
- import { BaseFunctionBuilder } from "../BaseFunctionBuilder-DSqF1r3a.mjs";
4
- import { FunctionBuilder } from "../FunctionBuilder-vW12WFOw.mjs";
5
- import { f } from "../functions-HCoZ4YKF.mjs";
1
+ import "../Construct-LWeB1rSQ.mjs";
2
+ import { Function } from "../Function-DfKsM5Kx.mjs";
3
+ import { BaseFunctionBuilder } from "../BaseFunctionBuilder-B5gkW0Kt.mjs";
4
+ import { FunctionBuilder } from "../FunctionBuilder-CVT7bG2o.mjs";
5
+ import { f } from "../functions-JhRsNoAZ.mjs";
6
6
 
7
7
  export { BaseFunctionBuilder, Function, FunctionBuilder, f };
@@ -1,4 +1,4 @@
1
- const require_FunctionBuilder = require('./FunctionBuilder-LQuBiqRc.cjs');
1
+ const require_FunctionBuilder = require('./FunctionBuilder-DXvG_XD-.cjs');
2
2
 
3
3
  //#region src/functions/index.ts
4
4
  const f = new require_FunctionBuilder.FunctionBuilder();
@@ -10,4 +10,4 @@ Object.defineProperty(exports, 'f', {
10
10
  return f;
11
11
  }
12
12
  });
13
- //# sourceMappingURL=functions-yg097ymU.cjs.map
13
+ //# sourceMappingURL=functions-FCb-wWFC.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"functions-yg097ymU.cjs","names":["FunctionBuilder"],"sources":["../src/functions/index.ts"],"sourcesContent":["export {\n Function,\n type FunctionContext,\n type FunctionHandler,\n} from './Function';\nexport { BaseFunctionBuilder } from './BaseFunctionBuilder';\nimport { FunctionBuilder } from './FunctionBuilder';\nexport { FunctionBuilder } from './FunctionBuilder';\n\nexport const f = new FunctionBuilder();\n"],"mappings":";;;AASA,MAAa,IAAI,IAAIA"}
1
+ {"version":3,"file":"functions-FCb-wWFC.cjs","names":["FunctionBuilder"],"sources":["../src/functions/index.ts"],"sourcesContent":["export {\n Function,\n type FunctionContext,\n type FunctionHandler,\n} from './Function';\nexport { BaseFunctionBuilder } from './BaseFunctionBuilder';\nimport { FunctionBuilder } from './FunctionBuilder';\nexport { FunctionBuilder } from './FunctionBuilder';\n\nexport const f = new FunctionBuilder();\n"],"mappings":";;;AASA,MAAa,IAAI,IAAIA"}
@@ -0,0 +1,8 @@
1
+ import { FunctionBuilder } from "./FunctionBuilder-CVT7bG2o.mjs";
2
+
3
+ //#region src/functions/index.ts
4
+ const f = new FunctionBuilder();
5
+
6
+ //#endregion
7
+ export { f };
8
+ //# sourceMappingURL=functions-JhRsNoAZ.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"functions-HCoZ4YKF.mjs","names":[],"sources":["../src/functions/index.ts"],"sourcesContent":["export {\n Function,\n type FunctionContext,\n type FunctionHandler,\n} from './Function';\nexport { BaseFunctionBuilder } from './BaseFunctionBuilder';\nimport { FunctionBuilder } from './FunctionBuilder';\nexport { FunctionBuilder } from './FunctionBuilder';\n\nexport const f = new FunctionBuilder();\n"],"mappings":";;;AASA,MAAa,IAAI,IAAI"}
1
+ {"version":3,"file":"functions-JhRsNoAZ.mjs","names":[],"sources":["../src/functions/index.ts"],"sourcesContent":["export {\n Function,\n type FunctionContext,\n type FunctionHandler,\n} from './Function';\nexport { BaseFunctionBuilder } from './BaseFunctionBuilder';\nimport { FunctionBuilder } from './FunctionBuilder';\nexport { FunctionBuilder } from './FunctionBuilder';\n\nexport const f = new FunctionBuilder();\n"],"mappings":";;;AASA,MAAa,IAAI,IAAI"}
@@ -1,4 +1,4 @@
1
- import { Endpoint } from "./Endpoint-ChzcIFdV.mjs";
1
+ import { Endpoint } from "./Endpoint-S6Yh2_PN.mjs";
2
2
  import path from "node:path";
3
3
  import fg from "fast-glob";
4
4
 
@@ -80,4 +80,4 @@ async function getEndpointsFromRoutes(routes, cwd) {
80
80
 
81
81
  //#endregion
82
82
  export { getEndpointsFromRoutes, getProjectRoot };
83
- //# sourceMappingURL=helpers-CHsIWAEx.mjs.map
83
+ //# sourceMappingURL=helpers-2CLKTnRm.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers-CHsIWAEx.mjs","names":["cwd: string","routes: string[]","endpoints: Endpoint<string, HttpMethod, any, any, TServices>[]"],"sources":["../src/endpoints/helpers.ts"],"sourcesContent":["import path from 'node:path';\nimport fg from 'fast-glob';\nimport { Endpoint } from './Endpoint';\n\nimport type { Service } from '@geekmidas/services';\nimport type { HttpMethod } from '../types';\n\n// Re-export utility functions\n\n/**\n * Recursively finds the project root directory by looking for lock files.\n * Traverses up the directory tree until it finds a package manager lock file.\n *\n * @param cwd - The current working directory to start searching from\n * @returns Promise resolving to the absolute path of the project root\n *\n * @example\n * ```typescript\n * const projectRoot = await getProjectRoot(process.cwd());\n * console.log(`Project root: ${projectRoot}`);\n * // Output: Project root: /Users/user/my-project\n * ```\n */\nexport async function getProjectRoot(cwd: string): Promise<string> {\n if (cwd === '/') {\n return cwd;\n }\n\n const stream = fg.stream(\n ['yarn.lock', 'pnpm-lock.yaml', 'package-lock.json', 'deno.lock'],\n { dot: true, cwd },\n );\n\n let isRoot = false;\n\n for await (const _ of stream) {\n isRoot = true;\n break;\n }\n\n if (isRoot) {\n return cwd;\n }\n\n return getProjectRoot(path.resolve(cwd, '..'));\n}\n\n/**\n * Discovers and imports all Endpoint instances from the specified route patterns.\n * Uses fast-glob to find files matching the patterns and extracts exported Endpoints.\n *\n * @template TServices - Array of service types used by the endpoints\n * @param routes - Array of glob patterns to match route files (e.g., ['src/routes/*.ts'])\n * @param cwd - The current working directory to resolve paths from\n * @returns Promise resolving to an array of Endpoint instances found in the matched files\n *\n * @example\n * ```typescript\n * // Find all endpoints in the routes directory\n * const endpoints = await getEndpointsFromRoutes(\n * ['src/routes/**\\/*.ts'],\n * process.cwd()\n * );\n *\n * // Register endpoints with your server\n * for (const endpoint of endpoints) {\n * server.register(endpoint);\n * }\n * ```\n *\n * @remarks\n * - Only exports that are valid Endpoint instances are included\n * - Files are imported dynamically, so they must be valid ES modules\n * - The function filters out non-Endpoint exports automatically\n */\nexport async function getEndpointsFromRoutes<TServices extends Service[]>(\n routes: string[],\n cwd: string,\n): Promise<Endpoint<string, HttpMethod, any, any, TServices>[]> {\n const stream = fg.stream(routes, { cwd });\n\n const endpoints: Endpoint<string, HttpMethod, any, any, TServices>[] = [];\n\n for await (const f of stream) {\n // Resolve the absolute path for the route file\n const routePath = path.resolve(cwd, f.toString());\n // Dynamically import the route module\n const route = await import(routePath);\n\n // Filter exported values to find only Endpoint instances\n const handlers = Object.values(route).filter((value) => {\n return Endpoint.isEndpoint(value);\n }) as unknown as Endpoint<string, HttpMethod, any, any, TServices>[];\n\n endpoints.push(...handlers);\n }\n\n return endpoints;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAuBA,eAAsB,eAAeA,KAA8B;AACjE,KAAI,QAAQ,IACV,QAAO;CAGT,MAAM,SAAS,GAAG,OAChB;EAAC;EAAa;EAAkB;EAAqB;CAAY,GACjE;EAAE,KAAK;EAAM;CAAK,EACnB;CAED,IAAI,SAAS;AAEb,YAAW,MAAM,KAAK,QAAQ;AAC5B,WAAS;AACT;CACD;AAED,KAAI,OACF,QAAO;AAGT,QAAO,eAAe,KAAK,QAAQ,KAAK,KAAK,CAAC;AAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BD,eAAsB,uBACpBC,QACAD,KAC8D;CAC9D,MAAM,SAAS,GAAG,OAAO,QAAQ,EAAE,IAAK,EAAC;CAEzC,MAAME,YAAiE,CAAE;AAEzE,YAAW,MAAM,KAAK,QAAQ;EAE5B,MAAM,YAAY,KAAK,QAAQ,KAAK,EAAE,UAAU,CAAC;EAEjD,MAAM,QAAQ,MAAM,OAAO;EAG3B,MAAM,WAAW,OAAO,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU;AACtD,UAAO,SAAS,WAAW,MAAM;EAClC,EAAC;AAEF,YAAU,KAAK,GAAG,SAAS;CAC5B;AAED,QAAO;AACR"}
1
+ {"version":3,"file":"helpers-2CLKTnRm.mjs","names":["cwd: string","routes: string[]","endpoints: Endpoint<string, HttpMethod, any, any, TServices>[]"],"sources":["../src/endpoints/helpers.ts"],"sourcesContent":["import path from 'node:path';\nimport fg from 'fast-glob';\nimport { Endpoint } from './Endpoint';\n\nimport type { Service } from '@geekmidas/services';\nimport type { HttpMethod } from '../types';\n\n// Re-export utility functions\n\n/**\n * Recursively finds the project root directory by looking for lock files.\n * Traverses up the directory tree until it finds a package manager lock file.\n *\n * @param cwd - The current working directory to start searching from\n * @returns Promise resolving to the absolute path of the project root\n *\n * @example\n * ```typescript\n * const projectRoot = await getProjectRoot(process.cwd());\n * console.log(`Project root: ${projectRoot}`);\n * // Output: Project root: /Users/user/my-project\n * ```\n */\nexport async function getProjectRoot(cwd: string): Promise<string> {\n if (cwd === '/') {\n return cwd;\n }\n\n const stream = fg.stream(\n ['yarn.lock', 'pnpm-lock.yaml', 'package-lock.json', 'deno.lock'],\n { dot: true, cwd },\n );\n\n let isRoot = false;\n\n for await (const _ of stream) {\n isRoot = true;\n break;\n }\n\n if (isRoot) {\n return cwd;\n }\n\n return getProjectRoot(path.resolve(cwd, '..'));\n}\n\n/**\n * Discovers and imports all Endpoint instances from the specified route patterns.\n * Uses fast-glob to find files matching the patterns and extracts exported Endpoints.\n *\n * @template TServices - Array of service types used by the endpoints\n * @param routes - Array of glob patterns to match route files (e.g., ['src/routes/*.ts'])\n * @param cwd - The current working directory to resolve paths from\n * @returns Promise resolving to an array of Endpoint instances found in the matched files\n *\n * @example\n * ```typescript\n * // Find all endpoints in the routes directory\n * const endpoints = await getEndpointsFromRoutes(\n * ['src/routes/**\\/*.ts'],\n * process.cwd()\n * );\n *\n * // Register endpoints with your server\n * for (const endpoint of endpoints) {\n * server.register(endpoint);\n * }\n * ```\n *\n * @remarks\n * - Only exports that are valid Endpoint instances are included\n * - Files are imported dynamically, so they must be valid ES modules\n * - The function filters out non-Endpoint exports automatically\n */\nexport async function getEndpointsFromRoutes<TServices extends Service[]>(\n routes: string[],\n cwd: string,\n): Promise<Endpoint<string, HttpMethod, any, any, TServices>[]> {\n const stream = fg.stream(routes, { cwd });\n\n const endpoints: Endpoint<string, HttpMethod, any, any, TServices>[] = [];\n\n for await (const f of stream) {\n // Resolve the absolute path for the route file\n const routePath = path.resolve(cwd, f.toString());\n // Dynamically import the route module\n const route = await import(routePath);\n\n // Filter exported values to find only Endpoint instances\n const handlers = Object.values(route).filter((value) => {\n return Endpoint.isEndpoint(value);\n }) as unknown as Endpoint<string, HttpMethod, any, any, TServices>[];\n\n endpoints.push(...handlers);\n }\n\n return endpoints;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAuBA,eAAsB,eAAeA,KAA8B;AACjE,KAAI,QAAQ,IACV,QAAO;CAGT,MAAM,SAAS,GAAG,OAChB;EAAC;EAAa;EAAkB;EAAqB;CAAY,GACjE;EAAE,KAAK;EAAM;CAAK,EACnB;CAED,IAAI,SAAS;AAEb,YAAW,MAAM,KAAK,QAAQ;AAC5B,WAAS;AACT;CACD;AAED,KAAI,OACF,QAAO;AAGT,QAAO,eAAe,KAAK,QAAQ,KAAK,KAAK,CAAC;AAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BD,eAAsB,uBACpBC,QACAD,KAC8D;CAC9D,MAAM,SAAS,GAAG,OAAO,QAAQ,EAAE,IAAK,EAAC;CAEzC,MAAME,YAAiE,CAAE;AAEzE,YAAW,MAAM,KAAK,QAAQ;EAE5B,MAAM,YAAY,KAAK,QAAQ,KAAK,EAAE,UAAU,CAAC;EAEjD,MAAM,QAAQ,MAAM,OAAO;EAG3B,MAAM,WAAW,OAAO,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU;AACtD,UAAO,SAAS,WAAW,MAAM;EAClC,EAAC;AAEF,YAAU,KAAK,GAAG,SAAS;CAC5B;AAED,QAAO;AACR"}
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const require_Endpoint = require('./Endpoint-BdIGWw1H.cjs');
2
+ const require_Endpoint = require('./Endpoint-DDpF7NO1.cjs');
3
3
  const node_path = require_chunk.__toESM(require("node:path"));
4
4
  const fast_glob = require_chunk.__toESM(require("fast-glob"));
5
5
 
@@ -92,4 +92,4 @@ Object.defineProperty(exports, 'getProjectRoot', {
92
92
  return getProjectRoot;
93
93
  }
94
94
  });
95
- //# sourceMappingURL=helpers-Cq6wjo7s.cjs.map
95
+ //# sourceMappingURL=helpers-Khuhi_Qx.cjs.map