@geekmidas/constructs 0.0.7 → 0.0.10

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 (284) hide show
  1. package/dist/{AWSLambdaFunction-CANc3Qo2.d.mts → AWSLambdaFunction-D5V3YVqv.d.cts} +5 -5
  2. package/dist/{AWSLambdaFunction-DWIZYsCy.mjs → AWSLambdaFunction-D_V-ZQmS.mjs} +3 -3
  3. package/dist/{AWSLambdaFunction-DWIZYsCy.mjs.map → AWSLambdaFunction-D_V-ZQmS.mjs.map} +1 -1
  4. package/dist/{AWSLambdaFunction-qA5LqPsv.cjs → AWSLambdaFunction-DhUb-Vs6.cjs} +3 -3
  5. package/dist/{AWSLambdaFunction-qA5LqPsv.cjs.map → AWSLambdaFunction-DhUb-Vs6.cjs.map} +1 -1
  6. package/dist/{AWSLambdaFunction-CwagvPG3.d.cts → AWSLambdaFunction-DvZcnL8a.d.mts} +5 -5
  7. package/dist/{AWSLambdaSubscriberAdaptor-QKVxR6qh.d.cts → AWSLambdaSubscriberAdaptor-D6kjKjSf.d.mts} +4 -4
  8. package/dist/{AWSLambdaSubscriberAdaptor-C6JYIZxn.d.mts → AWSLambdaSubscriberAdaptor-J_pSz6pu.d.cts} +4 -4
  9. package/dist/{AmazonApiGatewayEndpointAdaptor-BrB3RfbI.d.mts → AmazonApiGatewayEndpointAdaptor-B7MKo8h3.d.mts} +3 -3
  10. package/dist/{AmazonApiGatewayEndpointAdaptor-BFhJ2Rpz.d.cts → AmazonApiGatewayEndpointAdaptor-BnNd8tCz.d.cts} +2 -2
  11. package/dist/{AmazonApiGatewayEndpointAdaptor-B8mozTcG.cjs → AmazonApiGatewayEndpointAdaptor-DHBF_5jn.cjs} +2 -2
  12. package/dist/{AmazonApiGatewayEndpointAdaptor-B8mozTcG.cjs.map → AmazonApiGatewayEndpointAdaptor-DHBF_5jn.cjs.map} +1 -1
  13. package/dist/{AmazonApiGatewayEndpointAdaptor-Bmz6Cy1e.mjs → AmazonApiGatewayEndpointAdaptor-DHcUetbw.mjs} +2 -2
  14. package/dist/{AmazonApiGatewayEndpointAdaptor-Bmz6Cy1e.mjs.map → AmazonApiGatewayEndpointAdaptor-DHcUetbw.mjs.map} +1 -1
  15. package/dist/{AmazonApiGatewayV1EndpointAdaptor-Bd-o8ese.d.cts → AmazonApiGatewayV1EndpointAdaptor-BC-a2tt3.d.cts} +3 -3
  16. package/dist/{AmazonApiGatewayV1EndpointAdaptor-D4eZ-fx5.cjs → AmazonApiGatewayV1EndpointAdaptor-CmUxFoPx.cjs} +2 -2
  17. package/dist/{AmazonApiGatewayV1EndpointAdaptor-D4eZ-fx5.cjs.map → AmazonApiGatewayV1EndpointAdaptor-CmUxFoPx.cjs.map} +1 -1
  18. package/dist/{AmazonApiGatewayV1EndpointAdaptor-24g3dLn5.mjs → AmazonApiGatewayV1EndpointAdaptor-CsV6zyvn.mjs} +2 -2
  19. package/dist/{AmazonApiGatewayV1EndpointAdaptor-24g3dLn5.mjs.map → AmazonApiGatewayV1EndpointAdaptor-CsV6zyvn.mjs.map} +1 -1
  20. package/dist/{AmazonApiGatewayV1EndpointAdaptor-BtNXt0-4.d.mts → AmazonApiGatewayV1EndpointAdaptor-gO9OxdZl.d.mts} +4 -4
  21. package/dist/{AmazonApiGatewayV2EndpointAdaptor-DAJdtgek.d.mts → AmazonApiGatewayV2EndpointAdaptor-D1uz4wNg.d.mts} +4 -4
  22. package/dist/{AmazonApiGatewayV2EndpointAdaptor-Cc40RThv.mjs → AmazonApiGatewayV2EndpointAdaptor-_bFcbEa-.mjs} +2 -2
  23. package/dist/{AmazonApiGatewayV2EndpointAdaptor-Cc40RThv.mjs.map → AmazonApiGatewayV2EndpointAdaptor-_bFcbEa-.mjs.map} +1 -1
  24. package/dist/{AmazonApiGatewayV2EndpointAdaptor-J6tACl-N.cjs → AmazonApiGatewayV2EndpointAdaptor-cZbaqiUi.cjs} +2 -2
  25. package/dist/{AmazonApiGatewayV2EndpointAdaptor-J6tACl-N.cjs.map → AmazonApiGatewayV2EndpointAdaptor-cZbaqiUi.cjs.map} +1 -1
  26. package/dist/{AmazonApiGatewayV2EndpointAdaptor-DX-Uci5w.d.cts → AmazonApiGatewayV2EndpointAdaptor-zNFUPxSY.d.cts} +3 -3
  27. package/dist/Authorizer-Bbk9ziuG.d.mts +29 -0
  28. package/dist/Authorizer-iXsSB600.d.cts +29 -0
  29. package/dist/{BaseFunctionBuilder-DtO4Nwxm.cjs → BaseFunctionBuilder-BmsbV0BU.cjs} +2 -2
  30. package/dist/{BaseFunctionBuilder-DtO4Nwxm.cjs.map → BaseFunctionBuilder-BmsbV0BU.cjs.map} +1 -1
  31. package/dist/{BaseFunctionBuilder-5QCHkchp.d.cts → BaseFunctionBuilder-C4ZJPkIZ.d.cts} +2 -2
  32. package/dist/{BaseFunctionBuilder-Dda7AiID.d.mts → BaseFunctionBuilder-CxBX0arJ.d.mts} +2 -2
  33. package/dist/{BaseFunctionBuilder-BPE9JBbT.mjs → BaseFunctionBuilder-DCUtCdVL.mjs} +2 -2
  34. package/dist/{BaseFunctionBuilder-BPE9JBbT.mjs.map → BaseFunctionBuilder-DCUtCdVL.mjs.map} +1 -1
  35. package/dist/{Construct-BbKCIPQm.mjs → Construct-C3hsQBy4.mjs} +10 -13
  36. package/dist/Construct-C3hsQBy4.mjs.map +1 -0
  37. package/dist/{Construct-BSEs6uwW.cjs → Construct-VEI7M3fs.cjs} +10 -13
  38. package/dist/Construct-VEI7M3fs.cjs.map +1 -0
  39. package/dist/{Construct-Bm-PSO2V.d.cts → Construct-ci5u8Xnu.d.cts} +4 -2
  40. package/dist/{Construct-DdyYENBD.d.mts → Construct-zhmcmIdY.d.mts} +4 -2
  41. package/dist/Construct.cjs +1 -1
  42. package/dist/Construct.d.cts +1 -1
  43. package/dist/Construct.d.mts +1 -1
  44. package/dist/Construct.mjs +1 -1
  45. package/dist/{Cron-BxMXmn4t.d.cts → Cron-ByNYsQDH.d.mts} +4 -4
  46. package/dist/{Cron-CmZ6esMM.cjs → Cron-Dfgr8F9d.cjs} +5 -5
  47. package/dist/Cron-Dfgr8F9d.cjs.map +1 -0
  48. package/dist/{Cron-NDBlJhb3.d.mts → Cron-DkPL-Fms.d.cts} +4 -4
  49. package/dist/{Cron-D6hnZLk7.mjs → Cron-wP6Ob48_.mjs} +5 -5
  50. package/dist/Cron-wP6Ob48_.mjs.map +1 -0
  51. package/dist/{CronBuilder-C6K5AbIO.d.cts → CronBuilder-BknVTWLE.d.mts} +6 -5
  52. package/dist/{CronBuilder-s5x8V8hH.d.mts → CronBuilder-BqTTozUi.d.cts} +6 -5
  53. package/dist/{CronBuilder-Dfv5JguE.mjs → CronBuilder-C27c5oqh.mjs} +10 -5
  54. package/dist/CronBuilder-C27c5oqh.mjs.map +1 -0
  55. package/dist/{CronBuilder-Di7QK8Rt.cjs → CronBuilder-W1ZqCJ7m.cjs} +10 -5
  56. package/dist/CronBuilder-W1ZqCJ7m.cjs.map +1 -0
  57. package/dist/{Endpoint-COGAflGh.cjs → Endpoint-BjpQmTek.cjs} +21 -12
  58. package/dist/Endpoint-BjpQmTek.cjs.map +1 -0
  59. package/dist/{Endpoint-C7jPJzAH.d.mts → Endpoint-C16whGI-.d.mts} +45 -13
  60. package/dist/{Endpoint-DLLZvqoh.mjs → Endpoint-C98BwZjA.mjs} +21 -12
  61. package/dist/Endpoint-C98BwZjA.mjs.map +1 -0
  62. package/dist/{Endpoint-XUMNAXYy.d.cts → Endpoint-zHPjZ35J.d.cts} +45 -13
  63. package/dist/{EndpointBuilder-t6fVEKBH.d.cts → EndpointBuilder-B5l7zQU1.d.cts} +18 -12
  64. package/dist/{EndpointBuilder-CFtWQhcv.d.mts → EndpointBuilder-BzqR0xvt.d.mts} +18 -12
  65. package/dist/{EndpointBuilder-oXO_ka1-.mjs → EndpointBuilder-CCUx4vep.mjs} +28 -5
  66. package/dist/EndpointBuilder-CCUx4vep.mjs.map +1 -0
  67. package/dist/{EndpointBuilder-FJktpPOu.cjs → EndpointBuilder-D2Zu8i9b.cjs} +28 -5
  68. package/dist/EndpointBuilder-D2Zu8i9b.cjs.map +1 -0
  69. package/dist/{EndpointFactory-Kk1tpifs.cjs → EndpointFactory-C4YhgXOc.cjs} +41 -10
  70. package/dist/EndpointFactory-C4YhgXOc.cjs.map +1 -0
  71. package/dist/{EndpointFactory-DBRGrXAy.d.mts → EndpointFactory-KkyIOE62.d.cts} +29 -21
  72. package/dist/{EndpointFactory-eG8bDhOh.mjs → EndpointFactory-RAb2zcw0.mjs} +41 -10
  73. package/dist/EndpointFactory-RAb2zcw0.mjs.map +1 -0
  74. package/dist/{EndpointFactory-DInjHvFR.d.cts → EndpointFactory-VnSAdwdv.d.mts} +29 -21
  75. package/dist/{Function-CbO2NZx-.cjs → Function-1Fh6Tdkg.cjs} +4 -5
  76. package/dist/Function-1Fh6Tdkg.cjs.map +1 -0
  77. package/dist/{Function-BP58p9Mp.d.cts → Function-BbLYIKLL.d.cts} +3 -4
  78. package/dist/{Function-C5mW-38v.mjs → Function-D-QEfH7k.mjs} +4 -5
  79. package/dist/Function-D-QEfH7k.mjs.map +1 -0
  80. package/dist/{Function-C98H68DW.d.mts → Function-DFRZZCC-.d.mts} +3 -4
  81. package/dist/{FunctionBuilder-CosgPmMl.mjs → FunctionBuilder-Bxyr1Pf9.mjs} +11 -5
  82. package/dist/FunctionBuilder-Bxyr1Pf9.mjs.map +1 -0
  83. package/dist/{FunctionBuilder-DuOeWCAl.cjs → FunctionBuilder-DcEFYgbn.cjs} +11 -5
  84. package/dist/FunctionBuilder-DcEFYgbn.cjs.map +1 -0
  85. package/dist/{FunctionBuilder-BS1KgxA_.d.cts → FunctionBuilder-DdGjpiFT.d.cts} +6 -4
  86. package/dist/{FunctionBuilder-DBwR7jg7.d.mts → FunctionBuilder-DuktGyZc.d.mts} +6 -4
  87. package/dist/{FunctionExecutionWrapper-XGrSAAPD.mjs → FunctionExecutionWrapper-BL6PE6Dv.mjs} +2 -2
  88. package/dist/{FunctionExecutionWrapper-XGrSAAPD.mjs.map → FunctionExecutionWrapper-BL6PE6Dv.mjs.map} +1 -1
  89. package/dist/{FunctionExecutionWrapper-B0V7V8YS.d.mts → FunctionExecutionWrapper-CRYi047B.d.cts} +4 -4
  90. package/dist/{FunctionExecutionWrapper-Bx-Dl-2a.d.cts → FunctionExecutionWrapper-DaR-dSLw.d.mts} +4 -4
  91. package/dist/{FunctionExecutionWrapper-CElXEjPe.cjs → FunctionExecutionWrapper-Ee-CE8Fz.cjs} +2 -2
  92. package/dist/{FunctionExecutionWrapper-CElXEjPe.cjs.map → FunctionExecutionWrapper-Ee-CE8Fz.cjs.map} +1 -1
  93. package/dist/{HonoEndpointAdaptor-BrbM9vxd.d.cts → HonoEndpointAdaptor-CY1mXTe6.d.mts} +7 -6
  94. package/dist/{HonoEndpointAdaptor-CxcYKdzT.d.mts → HonoEndpointAdaptor-CYvrXBe-.d.cts} +9 -8
  95. package/dist/{HonoEndpointAdaptor-BlT1rWHV.mjs → HonoEndpointAdaptor-CyVPl4w2.mjs} +33 -16
  96. package/dist/HonoEndpointAdaptor-CyVPl4w2.mjs.map +1 -0
  97. package/dist/{HonoEndpointAdaptor-Ds433Q8w.cjs → HonoEndpointAdaptor-DcvZdYzx.cjs} +20 -3
  98. package/dist/HonoEndpointAdaptor-DcvZdYzx.cjs.map +1 -0
  99. package/dist/{Subscriber-CSt7EOlT.cjs → Subscriber-BL30GpWp.cjs} +2 -2
  100. package/dist/{Subscriber-CSt7EOlT.cjs.map → Subscriber-BL30GpWp.cjs.map} +1 -1
  101. package/dist/{Subscriber-DkCDcTUL.mjs → Subscriber-CTczVFsF.mjs} +2 -2
  102. package/dist/{Subscriber-DkCDcTUL.mjs.map → Subscriber-CTczVFsF.mjs.map} +1 -1
  103. package/dist/{Subscriber-BoFm12i_.d.cts → Subscriber-Cy28j8MS.d.cts} +2 -2
  104. package/dist/{Subscriber-BxH6n8zQ.d.mts → Subscriber-g3IWM1_d.d.mts} +2 -2
  105. package/dist/{SubscriberBuilder-BpSDPzBz.d.mts → SubscriberBuilder-BzK8kc2a.d.cts} +3 -3
  106. package/dist/{SubscriberBuilder-Bn9Hyi28.mjs → SubscriberBuilder-CekL3BoP.mjs} +2 -2
  107. package/dist/{SubscriberBuilder-Bn9Hyi28.mjs.map → SubscriberBuilder-CekL3BoP.mjs.map} +1 -1
  108. package/dist/{SubscriberBuilder-RsiOmnwq.cjs → SubscriberBuilder-D1hojYLa.cjs} +2 -2
  109. package/dist/{SubscriberBuilder-RsiOmnwq.cjs.map → SubscriberBuilder-D1hojYLa.cjs.map} +1 -1
  110. package/dist/{SubscriberBuilder-DgljKtYu.d.cts → SubscriberBuilder-YjQ7qIpQ.d.mts} +3 -3
  111. package/dist/{TestEndpointAdaptor-Ct4I-gDo.mjs → TestEndpointAdaptor-B4z9G5Ap.mjs} +3 -3
  112. package/dist/{TestEndpointAdaptor-Ct4I-gDo.mjs.map → TestEndpointAdaptor-B4z9G5Ap.mjs.map} +1 -1
  113. package/dist/{TestEndpointAdaptor-FJUob2W_.cjs → TestEndpointAdaptor-C-ahwGW6.cjs} +3 -3
  114. package/dist/{TestEndpointAdaptor-FJUob2W_.cjs.map → TestEndpointAdaptor-C-ahwGW6.cjs.map} +1 -1
  115. package/dist/{TestEndpointAdaptor-vboVyJ0w.d.mts → TestEndpointAdaptor-DGWuai69.d.mts} +2 -2
  116. package/dist/{TestEndpointAdaptor-wwEaVHAt.d.cts → TestEndpointAdaptor-uXliWYjS.d.cts} +2 -2
  117. package/dist/adaptors/aws.cjs +11 -11
  118. package/dist/adaptors/aws.d.cts +14 -13
  119. package/dist/adaptors/aws.d.mts +14 -13
  120. package/dist/adaptors/aws.mjs +11 -11
  121. package/dist/adaptors/hono.cjs +8 -8
  122. package/dist/adaptors/hono.d.cts +8 -7
  123. package/dist/adaptors/hono.d.mts +8 -7
  124. package/dist/adaptors/hono.mjs +8 -8
  125. package/dist/adaptors/testing.cjs +7 -7
  126. package/dist/adaptors/testing.d.cts +8 -7
  127. package/dist/adaptors/testing.d.mts +8 -7
  128. package/dist/adaptors/testing.mjs +7 -7
  129. package/dist/crons/Cron.cjs +6 -6
  130. package/dist/crons/Cron.d.cts +6 -6
  131. package/dist/crons/Cron.d.mts +6 -6
  132. package/dist/crons/Cron.mjs +6 -6
  133. package/dist/crons/CronBuilder.cjs +7 -7
  134. package/dist/crons/CronBuilder.d.cts +7 -7
  135. package/dist/crons/CronBuilder.d.mts +7 -7
  136. package/dist/crons/CronBuilder.mjs +7 -7
  137. package/dist/crons/index.cjs +7 -7
  138. package/dist/crons/index.d.cts +11 -11
  139. package/dist/crons/index.d.mts +11 -11
  140. package/dist/crons/index.mjs +7 -7
  141. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +7 -7
  142. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +8 -7
  143. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +8 -7
  144. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +7 -7
  145. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +8 -8
  146. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +9 -8
  147. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +9 -8
  148. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +8 -8
  149. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +8 -8
  150. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +9 -8
  151. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +9 -8
  152. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +8 -8
  153. package/dist/endpoints/Authorizer.cjs +15 -0
  154. package/dist/endpoints/Authorizer.cjs.map +1 -0
  155. package/dist/endpoints/Authorizer.d.cts +2 -0
  156. package/dist/endpoints/Authorizer.d.mts +2 -0
  157. package/dist/endpoints/Authorizer.mjs +14 -0
  158. package/dist/endpoints/Authorizer.mjs.map +1 -0
  159. package/dist/endpoints/Endpoint.cjs +6 -6
  160. package/dist/endpoints/Endpoint.d.cts +7 -6
  161. package/dist/endpoints/Endpoint.d.mts +7 -6
  162. package/dist/endpoints/Endpoint.mjs +6 -6
  163. package/dist/endpoints/EndpointBuilder.cjs +7 -7
  164. package/dist/endpoints/EndpointBuilder.d.cts +8 -7
  165. package/dist/endpoints/EndpointBuilder.d.mts +8 -7
  166. package/dist/endpoints/EndpointBuilder.mjs +7 -7
  167. package/dist/endpoints/EndpointFactory.cjs +8 -8
  168. package/dist/endpoints/EndpointFactory.d.cts +9 -8
  169. package/dist/endpoints/EndpointFactory.d.mts +9 -8
  170. package/dist/endpoints/EndpointFactory.mjs +8 -8
  171. package/dist/endpoints/HonoEndpointAdaptor.cjs +8 -8
  172. package/dist/endpoints/HonoEndpointAdaptor.d.cts +8 -7
  173. package/dist/endpoints/HonoEndpointAdaptor.d.mts +8 -7
  174. package/dist/endpoints/HonoEndpointAdaptor.mjs +8 -8
  175. package/dist/endpoints/TestEndpointAdaptor.cjs +7 -7
  176. package/dist/endpoints/TestEndpointAdaptor.d.cts +8 -7
  177. package/dist/endpoints/TestEndpointAdaptor.d.mts +8 -7
  178. package/dist/endpoints/TestEndpointAdaptor.mjs +7 -7
  179. package/dist/endpoints/helpers.cjs +7 -7
  180. package/dist/endpoints/helpers.d.cts +7 -6
  181. package/dist/endpoints/helpers.d.mts +7 -6
  182. package/dist/endpoints/helpers.mjs +7 -7
  183. package/dist/endpoints/index.cjs +8 -8
  184. package/dist/endpoints/index.d.cts +11 -10
  185. package/dist/endpoints/index.d.mts +11 -10
  186. package/dist/endpoints/index.mjs +8 -8
  187. package/dist/functions/AWSLambdaFunction.cjs +6 -6
  188. package/dist/functions/AWSLambdaFunction.d.cts +4 -4
  189. package/dist/functions/AWSLambdaFunction.d.mts +4 -4
  190. package/dist/functions/AWSLambdaFunction.mjs +6 -6
  191. package/dist/functions/BaseFunctionBuilder.cjs +2 -2
  192. package/dist/functions/BaseFunctionBuilder.d.cts +2 -2
  193. package/dist/functions/BaseFunctionBuilder.d.mts +2 -2
  194. package/dist/functions/BaseFunctionBuilder.mjs +2 -2
  195. package/dist/functions/Function.cjs +2 -2
  196. package/dist/functions/Function.d.cts +2 -2
  197. package/dist/functions/Function.d.mts +2 -2
  198. package/dist/functions/Function.mjs +2 -2
  199. package/dist/functions/FunctionBuilder.cjs +4 -4
  200. package/dist/functions/FunctionBuilder.d.cts +4 -4
  201. package/dist/functions/FunctionBuilder.d.mts +4 -4
  202. package/dist/functions/FunctionBuilder.mjs +4 -4
  203. package/dist/functions/FunctionExecutionWrapper.cjs +5 -5
  204. package/dist/functions/FunctionExecutionWrapper.d.cts +3 -3
  205. package/dist/functions/FunctionExecutionWrapper.d.mts +3 -3
  206. package/dist/functions/FunctionExecutionWrapper.mjs +5 -5
  207. package/dist/functions/TestFunctionAdaptor.cjs +5 -5
  208. package/dist/functions/TestFunctionAdaptor.d.cts +2 -2
  209. package/dist/functions/TestFunctionAdaptor.d.mts +2 -2
  210. package/dist/functions/TestFunctionAdaptor.mjs +5 -5
  211. package/dist/functions/index.cjs +5 -5
  212. package/dist/functions/index.d.cts +5 -5
  213. package/dist/functions/index.d.mts +5 -5
  214. package/dist/functions/index.mjs +5 -5
  215. package/dist/{functions-DVDb5wEA.cjs → functions-BtgBiuC_.cjs} +2 -2
  216. package/dist/{functions-DVDb5wEA.cjs.map → functions-BtgBiuC_.cjs.map} +1 -1
  217. package/dist/functions-DD-00sWF.mjs +8 -0
  218. package/dist/{functions-mM-jcphA.mjs.map → functions-DD-00sWF.mjs.map} +1 -1
  219. package/dist/{helpers-CM0U-4Vk.mjs → helpers-DtPeOhUV.mjs} +2 -2
  220. package/dist/{helpers-CM0U-4Vk.mjs.map → helpers-DtPeOhUV.mjs.map} +1 -1
  221. package/dist/{helpers-go4jiRvV.cjs → helpers-QM_FSjPY.cjs} +2 -2
  222. package/dist/{helpers-go4jiRvV.cjs.map → helpers-QM_FSjPY.cjs.map} +1 -1
  223. package/dist/index-CcmV3PKF.d.cts +9 -0
  224. package/dist/index-DQt3pQtF.d.mts +9 -0
  225. package/dist/index.cjs +1 -1
  226. package/dist/index.d.cts +1 -1
  227. package/dist/index.d.mts +1 -1
  228. package/dist/index.mjs +1 -1
  229. package/dist/publisher.d.cts +1 -1
  230. package/dist/publisher.d.mts +1 -1
  231. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.cts +3 -3
  232. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +3 -3
  233. package/dist/subscribers/Subscriber.cjs +2 -2
  234. package/dist/subscribers/Subscriber.d.cts +2 -2
  235. package/dist/subscribers/Subscriber.d.mts +2 -2
  236. package/dist/subscribers/Subscriber.mjs +2 -2
  237. package/dist/subscribers/SubscriberBuilder.cjs +3 -3
  238. package/dist/subscribers/SubscriberBuilder.d.cts +3 -3
  239. package/dist/subscribers/SubscriberBuilder.d.mts +3 -3
  240. package/dist/subscribers/SubscriberBuilder.mjs +3 -3
  241. package/dist/subscribers/index.cjs +3 -3
  242. package/dist/subscribers/index.d.cts +5 -5
  243. package/dist/subscribers/index.d.mts +5 -5
  244. package/dist/subscribers/index.mjs +3 -3
  245. package/package.json +6 -6
  246. package/src/Construct.ts +11 -24
  247. package/src/crons/Cron.ts +2 -0
  248. package/src/crons/CronBuilder.ts +8 -0
  249. package/src/crons/__tests__/CronBuilder.state-isolation.spec.ts +227 -0
  250. package/src/endpoints/Authorizer.ts +34 -0
  251. package/src/endpoints/Endpoint.ts +67 -14
  252. package/src/endpoints/EndpointBuilder.ts +79 -12
  253. package/src/endpoints/EndpointFactory.ts +106 -27
  254. package/src/endpoints/HonoEndpointAdaptor.ts +29 -0
  255. package/src/endpoints/__tests__/Endpoint.cookies.spec.ts +85 -0
  256. package/src/endpoints/__tests__/Endpoint.headers.spec.ts +187 -0
  257. package/src/endpoints/__tests__/Endpoint.manifest.spec.ts +176 -0
  258. package/src/endpoints/__tests__/EndpointFactory.authorizers.spec.ts +259 -0
  259. package/src/endpoints/__tests__/EndpointFactory.reference-audit.spec.ts +190 -0
  260. package/src/endpoints/__tests__/EndpointFactory.state-isolation.spec.ts +155 -0
  261. package/src/functions/Function.ts +12 -2
  262. package/src/functions/FunctionBuilder.ts +9 -0
  263. package/src/functions/__tests__/FunctionBuilder.state-isolation.spec.ts +160 -0
  264. package/dist/Construct-BSEs6uwW.cjs.map +0 -1
  265. package/dist/Construct-BbKCIPQm.mjs.map +0 -1
  266. package/dist/Cron-CmZ6esMM.cjs.map +0 -1
  267. package/dist/Cron-D6hnZLk7.mjs.map +0 -1
  268. package/dist/CronBuilder-Dfv5JguE.mjs.map +0 -1
  269. package/dist/CronBuilder-Di7QK8Rt.cjs.map +0 -1
  270. package/dist/Endpoint-COGAflGh.cjs.map +0 -1
  271. package/dist/Endpoint-DLLZvqoh.mjs.map +0 -1
  272. package/dist/EndpointBuilder-FJktpPOu.cjs.map +0 -1
  273. package/dist/EndpointBuilder-oXO_ka1-.mjs.map +0 -1
  274. package/dist/EndpointFactory-Kk1tpifs.cjs.map +0 -1
  275. package/dist/EndpointFactory-eG8bDhOh.mjs.map +0 -1
  276. package/dist/Function-C5mW-38v.mjs.map +0 -1
  277. package/dist/Function-CbO2NZx-.cjs.map +0 -1
  278. package/dist/FunctionBuilder-CosgPmMl.mjs.map +0 -1
  279. package/dist/FunctionBuilder-DuOeWCAl.cjs.map +0 -1
  280. package/dist/HonoEndpointAdaptor-BlT1rWHV.mjs.map +0 -1
  281. package/dist/HonoEndpointAdaptor-Ds433Q8w.cjs.map +0 -1
  282. package/dist/functions-mM-jcphA.mjs +0 -8
  283. package/dist/index-BGr5gFrX.d.cts +0 -9
  284. package/dist/index-YM4W9XUq.d.mts +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"AmazonApiGatewayV2EndpointAdaptor-J6tACl-N.cjs","names":["AmazonApiGatewayEndpoint","e: APIGatewayProxyEventV2","processedParams: Record<string, string | string[]>","event: APIGatewayProxyEventV2","context: Context","envParser: EnvironmentParser<{}>","endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >"],"sources":["../src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type { HttpMethod } from '../types';\nimport type { Endpoint, EndpointSchemas } from './Endpoint';\n\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Service } from '@geekmidas/services';\nimport type { APIGatewayProxyEventV2, Context } from 'aws-lambda';\nimport {\n AmazonApiGatewayEndpoint,\n type AmazonApiGatewayV2EndpointHandler,\n type GetInputResponse,\n type LoggerContext,\n} from './AmazonApiGatewayEndpointAdaptor';\nimport { parseQueryParams } from './parseQueryParams';\n\nexport class AmazonApiGatewayV2Endpoint<\n TRoute extends string,\n TMethod extends HttpMethod,\n TInput extends EndpointSchemas = {},\n TOutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TSession = unknown,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n> extends AmazonApiGatewayEndpoint<\n AmazonApiGatewayV2EndpointHandler,\n APIGatewayProxyEventV2,\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n> {\n getInput(e: APIGatewayProxyEventV2): GetInputResponse {\n // API Gateway V2 handles arrays as comma-separated values\n const queryParams = e.queryStringParameters || {};\n const processedParams: Record<string, string | string[]> = {};\n\n for (const [key, value] of Object.entries(queryParams)) {\n if (value !== undefined) {\n // Check if value contains comma and could be an array\n // Be careful not to split values that legitimately contain commas\n if (value.includes(',') && !value.includes('\"')) {\n processedParams[key] = value.split(',').map((v) => v.trim());\n } else {\n processedParams[key] = value;\n }\n }\n }\n\n return {\n body: e.body ? JSON.parse(e.body) : undefined,\n query: parseQueryParams(processedParams),\n params: e.pathParameters || {},\n };\n }\n getLoggerContext(\n event: APIGatewayProxyEventV2,\n context: Context,\n ): LoggerContext {\n return {\n fn: {\n name: context.functionName,\n version: context.functionVersion,\n },\n req: {\n id: event.requestContext.requestId,\n awsRequestId: context.awsRequestId,\n ip: event.requestContext.http.sourceIp,\n userAgent: event.requestContext.http.userAgent || undefined,\n path: event.requestContext.http.path,\n },\n };\n }\n constructor(\n protected envParser: EnvironmentParser<{}>,\n protected readonly endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >,\n ) {\n super(envParser, endpoint);\n }\n}\n"],"mappings":";;;;AAiBA,IAAa,6BAAb,cASUA,iEAWR;CACA,SAASC,GAA6C;EAEpD,MAAM,cAAc,EAAE,yBAAyB,CAAE;EACjD,MAAMC,kBAAqD,CAAE;AAE7D,OAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,YAAY,CACpD,KAAI,iBAGF,KAAI,MAAM,SAAS,IAAI,KAAK,MAAM,SAAS,KAAI,CAC7C,iBAAgB,OAAO,MAAM,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;MAE5D,iBAAgB,OAAO;AAK7B,SAAO;GACL,MAAM,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK;GACjC,OAAO,0CAAiB,gBAAgB;GACxC,QAAQ,EAAE,kBAAkB,CAAE;EAC/B;CACF;CACD,iBACEC,OACAC,SACe;AACf,SAAO;GACL,IAAI;IACF,MAAM,QAAQ;IACd,SAAS,QAAQ;GAClB;GACD,KAAK;IACH,IAAI,MAAM,eAAe;IACzB,cAAc,QAAQ;IACtB,IAAI,MAAM,eAAe,KAAK;IAC9B,WAAW,MAAM,eAAe,KAAK;IACrC,MAAM,MAAM,eAAe,KAAK;GACjC;EACF;CACF;CACD,YACYC,WACSC,UAUnB;AACA,QAAM,WAAW,SAAS;EAZhB;EACS;CAYpB;AACF"}
1
+ {"version":3,"file":"AmazonApiGatewayV2EndpointAdaptor-cZbaqiUi.cjs","names":["AmazonApiGatewayEndpoint","e: APIGatewayProxyEventV2","processedParams: Record<string, string | string[]>","event: APIGatewayProxyEventV2","context: Context","envParser: EnvironmentParser<{}>","endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >"],"sources":["../src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type { HttpMethod } from '../types';\nimport type { Endpoint, EndpointSchemas } from './Endpoint';\n\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Service } from '@geekmidas/services';\nimport type { APIGatewayProxyEventV2, Context } from 'aws-lambda';\nimport {\n AmazonApiGatewayEndpoint,\n type AmazonApiGatewayV2EndpointHandler,\n type GetInputResponse,\n type LoggerContext,\n} from './AmazonApiGatewayEndpointAdaptor';\nimport { parseQueryParams } from './parseQueryParams';\n\nexport class AmazonApiGatewayV2Endpoint<\n TRoute extends string,\n TMethod extends HttpMethod,\n TInput extends EndpointSchemas = {},\n TOutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TSession = unknown,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n> extends AmazonApiGatewayEndpoint<\n AmazonApiGatewayV2EndpointHandler,\n APIGatewayProxyEventV2,\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n> {\n getInput(e: APIGatewayProxyEventV2): GetInputResponse {\n // API Gateway V2 handles arrays as comma-separated values\n const queryParams = e.queryStringParameters || {};\n const processedParams: Record<string, string | string[]> = {};\n\n for (const [key, value] of Object.entries(queryParams)) {\n if (value !== undefined) {\n // Check if value contains comma and could be an array\n // Be careful not to split values that legitimately contain commas\n if (value.includes(',') && !value.includes('\"')) {\n processedParams[key] = value.split(',').map((v) => v.trim());\n } else {\n processedParams[key] = value;\n }\n }\n }\n\n return {\n body: e.body ? JSON.parse(e.body) : undefined,\n query: parseQueryParams(processedParams),\n params: e.pathParameters || {},\n };\n }\n getLoggerContext(\n event: APIGatewayProxyEventV2,\n context: Context,\n ): LoggerContext {\n return {\n fn: {\n name: context.functionName,\n version: context.functionVersion,\n },\n req: {\n id: event.requestContext.requestId,\n awsRequestId: context.awsRequestId,\n ip: event.requestContext.http.sourceIp,\n userAgent: event.requestContext.http.userAgent || undefined,\n path: event.requestContext.http.path,\n },\n };\n }\n constructor(\n protected envParser: EnvironmentParser<{}>,\n protected readonly endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >,\n ) {\n super(envParser, endpoint);\n }\n}\n"],"mappings":";;;;AAiBA,IAAa,6BAAb,cASUA,iEAWR;CACA,SAASC,GAA6C;EAEpD,MAAM,cAAc,EAAE,yBAAyB,CAAE;EACjD,MAAMC,kBAAqD,CAAE;AAE7D,OAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,YAAY,CACpD,KAAI,iBAGF,KAAI,MAAM,SAAS,IAAI,KAAK,MAAM,SAAS,KAAI,CAC7C,iBAAgB,OAAO,MAAM,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;MAE5D,iBAAgB,OAAO;AAK7B,SAAO;GACL,MAAM,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK;GACjC,OAAO,0CAAiB,gBAAgB;GACxC,QAAQ,EAAE,kBAAkB,CAAE;EAC/B;CACF;CACD,iBACEC,OACAC,SACe;AACf,SAAO;GACL,IAAI;IACF,MAAM,QAAQ;IACd,SAAS,QAAQ;GAClB;GACD,KAAK;IACH,IAAI,MAAM,eAAe;IACzB,cAAc,QAAQ;IACtB,IAAI,MAAM,eAAe,KAAK;IAC9B,WAAW,MAAM,eAAe,KAAK;IACrC,MAAM,MAAM,eAAe,KAAK;GACjC;EACF;CACF;CACD,YACYC,WACSC,UAUnB;AACA,QAAM,WAAW,SAAS;EAZhB;EACS;CAYpB;AACF"}
@@ -1,6 +1,6 @@
1
1
  import { HttpMethod } from "./types-Bp9ysFXd.cjs";
2
- import { Endpoint, EndpointSchemas } from "./Endpoint-XUMNAXYy.cjs";
3
- import { AmazonApiGatewayEndpoint, AmazonApiGatewayV2EndpointHandler, GetInputResponse, LoggerContext } from "./AmazonApiGatewayEndpointAdaptor-BFhJ2Rpz.cjs";
2
+ import { Endpoint, EndpointSchemas } from "./Endpoint-zHPjZ35J.cjs";
3
+ import { AmazonApiGatewayEndpoint, AmazonApiGatewayV2EndpointHandler, GetInputResponse, LoggerContext } from "./AmazonApiGatewayEndpointAdaptor-BnNd8tCz.cjs";
4
4
  import { EventPublisher } from "@geekmidas/events";
5
5
  import { Logger } from "@geekmidas/logger";
6
6
  import { Service } from "@geekmidas/services";
@@ -18,4 +18,4 @@ declare class AmazonApiGatewayV2Endpoint<TRoute extends string, TMethod extends
18
18
  }
19
19
  //#endregion
20
20
  export { AmazonApiGatewayV2Endpoint };
21
- //# sourceMappingURL=AmazonApiGatewayV2EndpointAdaptor-DX-Uci5w.d.cts.map
21
+ //# sourceMappingURL=AmazonApiGatewayV2EndpointAdaptor-zNFUPxSY.d.cts.map
@@ -0,0 +1,29 @@
1
+ //#region src/endpoints/Authorizer.d.ts
2
+ /**
3
+ * Represents an authorizer configuration for endpoints
4
+ */
5
+ interface Authorizer {
6
+ /**
7
+ * Unique identifier for the authorizer
8
+ */
9
+ name: string;
10
+ /**
11
+ * Type of authorizer (e.g., 'iam', 'jwt', 'custom')
12
+ */
13
+ type?: string;
14
+ /**
15
+ * Description of what this authorizer does
16
+ */
17
+ description?: string;
18
+ /**
19
+ * Additional metadata specific to the authorizer type
20
+ */
21
+ metadata?: Record<string, any>;
22
+ }
23
+ /**
24
+ * Helper to create an authorizer configuration
25
+ */
26
+ declare function createAuthorizer(name: string, options?: Omit<Authorizer, 'name'>): Authorizer;
27
+ //#endregion
28
+ export { Authorizer, createAuthorizer };
29
+ //# sourceMappingURL=Authorizer-Bbk9ziuG.d.mts.map
@@ -0,0 +1,29 @@
1
+ //#region src/endpoints/Authorizer.d.ts
2
+ /**
3
+ * Represents an authorizer configuration for endpoints
4
+ */
5
+ interface Authorizer {
6
+ /**
7
+ * Unique identifier for the authorizer
8
+ */
9
+ name: string;
10
+ /**
11
+ * Type of authorizer (e.g., 'iam', 'jwt', 'custom')
12
+ */
13
+ type?: string;
14
+ /**
15
+ * Description of what this authorizer does
16
+ */
17
+ description?: string;
18
+ /**
19
+ * Additional metadata specific to the authorizer type
20
+ */
21
+ metadata?: Record<string, any>;
22
+ }
23
+ /**
24
+ * Helper to create an authorizer configuration
25
+ */
26
+ declare function createAuthorizer(name: string, options?: Omit<Authorizer, 'name'>): Authorizer;
27
+ //#endregion
28
+ export { Authorizer, createAuthorizer };
29
+ //# sourceMappingURL=Authorizer-iXsSB600.d.cts.map
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const require_Construct = require('./Construct-BSEs6uwW.cjs');
2
+ const require_Construct = require('./Construct-VEI7M3fs.cjs');
3
3
  const __geekmidas_logger_console = require_chunk.__toESM(require("@geekmidas/logger/console"));
4
4
  const lodash_get = require_chunk.__toESM(require("lodash.get"));
5
5
 
@@ -59,4 +59,4 @@ Object.defineProperty(exports, 'BaseFunctionBuilder', {
59
59
  return BaseFunctionBuilder;
60
60
  }
61
61
  });
62
- //# sourceMappingURL=BaseFunctionBuilder-DtO4Nwxm.cjs.map
62
+ //# sourceMappingURL=BaseFunctionBuilder-BmsbV0BU.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseFunctionBuilder-DtO4Nwxm.cjs","names":["ConsoleLogger","s: unknown","data: unknown","schema: T","result: any","ConstructType","timeout: number","event: TEvent","publisher: Service<TName, T>"],"sources":["../src/functions/BaseFunctionBuilder.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport get from 'lodash.get';\nimport { ConstructType } from '../Construct';\n\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type {\n ComposableStandardSchema,\n InferComposableStandardSchema,\n} from '@geekmidas/schema';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport abstract class BaseFunctionBuilder<\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> {\n protected inputSchema?: TInput;\n protected outputSchema?: OutSchema;\n protected _timeout?: number;\n\n public _services: TServices = [] as Service[] as TServices;\n public _logger: TLogger = DEFAULT_LOGGER;\n\n protected _events: MappedEvent<TEventPublisher, OutSchema>[] = [];\n protected _publisher?: Service<TEventPublisherServiceName, TEventPublisher>;\n\n static isStandardSchemaV1(s: unknown): s is StandardSchemaV1 {\n const schema = (s as StandardSchemaV1)['~standard'];\n\n return schema && typeof schema.validate === 'function';\n }\n\n static async parseComposableStandardSchema<\n T extends ComposableStandardSchema | undefined,\n >(data: unknown, schema: T): Promise<InferComposableStandardSchema<T>> {\n if (BaseFunctionBuilder.isStandardSchemaV1(schema)) {\n const validated = await schema['~standard'].validate(data);\n\n if (validated.issues) {\n throw validated.issues;\n }\n\n return validated.value as InferComposableStandardSchema<T>;\n }\n\n const result: any = {};\n for (const key in schema) {\n const item = schema[key];\n if (BaseFunctionBuilder.isStandardSchemaV1(item)) {\n const value = get(data, key);\n const validated = await item['~standard'].validate(value);\n\n if (validated.issues) {\n throw validated.issues;\n }\n\n result[key] = validated.value;\n }\n }\n\n return result as InferComposableStandardSchema<T>;\n }\n\n constructor(public type = ConstructType.Function) {}\n\n abstract services<T extends Service[]>(services: T): any;\n\n abstract logger<T extends Logger>(logger: T): any;\n\n timeout(timeout: number): this {\n this._timeout = timeout;\n return this;\n }\n\n abstract output<T extends StandardSchemaV1>(schema: T): any;\n\n abstract input<T extends ComposableStandardSchema>(schema: T): any;\n\n event<TEvent extends MappedEvent<TEventPublisher, OutSchema>>(\n event: TEvent,\n ): this {\n this._events.push(event);\n return this;\n }\n\n publisher<T extends EventPublisher<any>, TName extends string>(\n publisher: Service<TName, T>,\n ): BaseFunctionBuilder<TInput, OutSchema, TServices, TLogger, T, TName> {\n this._publisher = publisher as unknown as Service<\n TEventPublisherServiceName,\n TEventPublisher\n >;\n\n return this as unknown as BaseFunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n T,\n TName\n >;\n }\n}\n"],"mappings":";;;;;;AAaA,MAAM,iBAAiB,IAAIA;AAE3B,IAAsB,sBAAtB,MAAsB,oBAOpB;CACA,AAAU;CACV,AAAU;CACV,AAAU;CAEV,AAAO,YAAuB,CAAE;CAChC,AAAO,UAAmB;CAE1B,AAAU,UAAqD,CAAE;CACjE,AAAU;CAEV,OAAO,mBAAmBC,GAAmC;EAC3D,MAAM,SAAU,EAAuB;AAEvC,SAAO,iBAAiB,OAAO,aAAa;CAC7C;CAED,aAAa,8BAEXC,MAAeC,QAAsD;AACrE,MAAI,oBAAoB,mBAAmB,OAAO,EAAE;GAClD,MAAM,YAAY,MAAM,OAAO,aAAa,SAAS,KAAK;AAE1D,OAAI,UAAU,OACZ,OAAM,UAAU;AAGlB,UAAO,UAAU;EAClB;EAED,MAAMC,SAAc,CAAE;AACtB,OAAK,MAAM,OAAO,QAAQ;GACxB,MAAM,OAAO,OAAO;AACpB,OAAI,oBAAoB,mBAAmB,KAAK,EAAE;IAChD,MAAM,QAAQ,wBAAI,MAAM,IAAI;IAC5B,MAAM,YAAY,MAAM,KAAK,aAAa,SAAS,MAAM;AAEzD,QAAI,UAAU,OACZ,OAAM,UAAU;AAGlB,WAAO,OAAO,UAAU;GACzB;EACF;AAED,SAAO;CACR;CAED,YAAmB,OAAOC,gCAAc,UAAU;EAA/B;CAAiC;CAMpD,QAAQC,SAAuB;AAC7B,OAAK,WAAW;AAChB,SAAO;CACR;CAMD,MACEC,OACM;AACN,OAAK,QAAQ,KAAK,MAAM;AACxB,SAAO;CACR;CAED,UACEC,WACsE;AACtE,OAAK,aAAa;AAKlB,SAAO;CAQR;AACF"}
1
+ {"version":3,"file":"BaseFunctionBuilder-BmsbV0BU.cjs","names":["ConsoleLogger","s: unknown","data: unknown","schema: T","result: any","ConstructType","timeout: number","event: TEvent","publisher: Service<TName, T>"],"sources":["../src/functions/BaseFunctionBuilder.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport get from 'lodash.get';\nimport { ConstructType } from '../Construct';\n\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type {\n ComposableStandardSchema,\n InferComposableStandardSchema,\n} from '@geekmidas/schema';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport abstract class BaseFunctionBuilder<\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> {\n protected inputSchema?: TInput;\n protected outputSchema?: OutSchema;\n protected _timeout?: number;\n\n public _services: TServices = [] as Service[] as TServices;\n public _logger: TLogger = DEFAULT_LOGGER;\n\n protected _events: MappedEvent<TEventPublisher, OutSchema>[] = [];\n protected _publisher?: Service<TEventPublisherServiceName, TEventPublisher>;\n\n static isStandardSchemaV1(s: unknown): s is StandardSchemaV1 {\n const schema = (s as StandardSchemaV1)['~standard'];\n\n return schema && typeof schema.validate === 'function';\n }\n\n static async parseComposableStandardSchema<\n T extends ComposableStandardSchema | undefined,\n >(data: unknown, schema: T): Promise<InferComposableStandardSchema<T>> {\n if (BaseFunctionBuilder.isStandardSchemaV1(schema)) {\n const validated = await schema['~standard'].validate(data);\n\n if (validated.issues) {\n throw validated.issues;\n }\n\n return validated.value as InferComposableStandardSchema<T>;\n }\n\n const result: any = {};\n for (const key in schema) {\n const item = schema[key];\n if (BaseFunctionBuilder.isStandardSchemaV1(item)) {\n const value = get(data, key);\n const validated = await item['~standard'].validate(value);\n\n if (validated.issues) {\n throw validated.issues;\n }\n\n result[key] = validated.value;\n }\n }\n\n return result as InferComposableStandardSchema<T>;\n }\n\n constructor(public type = ConstructType.Function) {}\n\n abstract services<T extends Service[]>(services: T): any;\n\n abstract logger<T extends Logger>(logger: T): any;\n\n timeout(timeout: number): this {\n this._timeout = timeout;\n return this;\n }\n\n abstract output<T extends StandardSchemaV1>(schema: T): any;\n\n abstract input<T extends ComposableStandardSchema>(schema: T): any;\n\n event<TEvent extends MappedEvent<TEventPublisher, OutSchema>>(\n event: TEvent,\n ): this {\n this._events.push(event);\n return this;\n }\n\n publisher<T extends EventPublisher<any>, TName extends string>(\n publisher: Service<TName, T>,\n ): BaseFunctionBuilder<TInput, OutSchema, TServices, TLogger, T, TName> {\n this._publisher = publisher as unknown as Service<\n TEventPublisherServiceName,\n TEventPublisher\n >;\n\n return this as unknown as BaseFunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n T,\n TName\n >;\n }\n}\n"],"mappings":";;;;;;AAaA,MAAM,iBAAiB,IAAIA;AAE3B,IAAsB,sBAAtB,MAAsB,oBAOpB;CACA,AAAU;CACV,AAAU;CACV,AAAU;CAEV,AAAO,YAAuB,CAAE;CAChC,AAAO,UAAmB;CAE1B,AAAU,UAAqD,CAAE;CACjE,AAAU;CAEV,OAAO,mBAAmBC,GAAmC;EAC3D,MAAM,SAAU,EAAuB;AAEvC,SAAO,iBAAiB,OAAO,aAAa;CAC7C;CAED,aAAa,8BAEXC,MAAeC,QAAsD;AACrE,MAAI,oBAAoB,mBAAmB,OAAO,EAAE;GAClD,MAAM,YAAY,MAAM,OAAO,aAAa,SAAS,KAAK;AAE1D,OAAI,UAAU,OACZ,OAAM,UAAU;AAGlB,UAAO,UAAU;EAClB;EAED,MAAMC,SAAc,CAAE;AACtB,OAAK,MAAM,OAAO,QAAQ;GACxB,MAAM,OAAO,OAAO;AACpB,OAAI,oBAAoB,mBAAmB,KAAK,EAAE;IAChD,MAAM,QAAQ,wBAAI,MAAM,IAAI;IAC5B,MAAM,YAAY,MAAM,KAAK,aAAa,SAAS,MAAM;AAEzD,QAAI,UAAU,OACZ,OAAM,UAAU;AAGlB,WAAO,OAAO,UAAU;GACzB;EACF;AAED,SAAO;CACR;CAED,YAAmB,OAAOC,gCAAc,UAAU;EAA/B;CAAiC;CAMpD,QAAQC,SAAuB;AAC7B,OAAK,WAAW;AAChB,SAAO;CACR;CAMD,MACEC,OACM;AACN,OAAK,QAAQ,KAAK,MAAM;AACxB,SAAO;CACR;CAED,UACEC,WACsE;AACtE,OAAK,aAAa;AAKlB,SAAO;CAQR;AACF"}
@@ -1,4 +1,4 @@
1
- import { ConstructType } from "./Construct-Bm-PSO2V.cjs";
1
+ import { ConstructType } from "./Construct-ci5u8Xnu.cjs";
2
2
  import { EventPublisher, MappedEvent } from "@geekmidas/events";
3
3
  import { Logger } from "@geekmidas/logger";
4
4
  import { Service } from "@geekmidas/services";
@@ -28,4 +28,4 @@ declare abstract class BaseFunctionBuilder<TInput extends ComposableStandardSche
28
28
  }
29
29
  //#endregion
30
30
  export { BaseFunctionBuilder };
31
- //# sourceMappingURL=BaseFunctionBuilder-5QCHkchp.d.cts.map
31
+ //# sourceMappingURL=BaseFunctionBuilder-C4ZJPkIZ.d.cts.map
@@ -1,4 +1,4 @@
1
- import { ConstructType } from "./Construct-DdyYENBD.mjs";
1
+ import { ConstructType } from "./Construct-zhmcmIdY.mjs";
2
2
  import { Service } from "@geekmidas/services";
3
3
  import { EventPublisher, MappedEvent } from "@geekmidas/events";
4
4
  import { Logger } from "@geekmidas/logger";
@@ -28,4 +28,4 @@ declare abstract class BaseFunctionBuilder<TInput extends ComposableStandardSche
28
28
  }
29
29
  //#endregion
30
30
  export { BaseFunctionBuilder };
31
- //# sourceMappingURL=BaseFunctionBuilder-Dda7AiID.d.mts.map
31
+ //# sourceMappingURL=BaseFunctionBuilder-CxBX0arJ.d.mts.map
@@ -1,4 +1,4 @@
1
- import { ConstructType } from "./Construct-BbKCIPQm.mjs";
1
+ import { ConstructType } from "./Construct-C3hsQBy4.mjs";
2
2
  import { ConsoleLogger } from "@geekmidas/logger/console";
3
3
  import get from "lodash.get";
4
4
 
@@ -53,4 +53,4 @@ var BaseFunctionBuilder = class BaseFunctionBuilder {
53
53
 
54
54
  //#endregion
55
55
  export { BaseFunctionBuilder };
56
- //# sourceMappingURL=BaseFunctionBuilder-BPE9JBbT.mjs.map
56
+ //# sourceMappingURL=BaseFunctionBuilder-DCUtCdVL.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseFunctionBuilder-BPE9JBbT.mjs","names":["DEFAULT_LOGGER","s: unknown","data: unknown","schema: T","result: any","timeout: number","event: TEvent","publisher: Service<TName, T>"],"sources":["../src/functions/BaseFunctionBuilder.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport get from 'lodash.get';\nimport { ConstructType } from '../Construct';\n\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type {\n ComposableStandardSchema,\n InferComposableStandardSchema,\n} from '@geekmidas/schema';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport abstract class BaseFunctionBuilder<\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> {\n protected inputSchema?: TInput;\n protected outputSchema?: OutSchema;\n protected _timeout?: number;\n\n public _services: TServices = [] as Service[] as TServices;\n public _logger: TLogger = DEFAULT_LOGGER;\n\n protected _events: MappedEvent<TEventPublisher, OutSchema>[] = [];\n protected _publisher?: Service<TEventPublisherServiceName, TEventPublisher>;\n\n static isStandardSchemaV1(s: unknown): s is StandardSchemaV1 {\n const schema = (s as StandardSchemaV1)['~standard'];\n\n return schema && typeof schema.validate === 'function';\n }\n\n static async parseComposableStandardSchema<\n T extends ComposableStandardSchema | undefined,\n >(data: unknown, schema: T): Promise<InferComposableStandardSchema<T>> {\n if (BaseFunctionBuilder.isStandardSchemaV1(schema)) {\n const validated = await schema['~standard'].validate(data);\n\n if (validated.issues) {\n throw validated.issues;\n }\n\n return validated.value as InferComposableStandardSchema<T>;\n }\n\n const result: any = {};\n for (const key in schema) {\n const item = schema[key];\n if (BaseFunctionBuilder.isStandardSchemaV1(item)) {\n const value = get(data, key);\n const validated = await item['~standard'].validate(value);\n\n if (validated.issues) {\n throw validated.issues;\n }\n\n result[key] = validated.value;\n }\n }\n\n return result as InferComposableStandardSchema<T>;\n }\n\n constructor(public type = ConstructType.Function) {}\n\n abstract services<T extends Service[]>(services: T): any;\n\n abstract logger<T extends Logger>(logger: T): any;\n\n timeout(timeout: number): this {\n this._timeout = timeout;\n return this;\n }\n\n abstract output<T extends StandardSchemaV1>(schema: T): any;\n\n abstract input<T extends ComposableStandardSchema>(schema: T): any;\n\n event<TEvent extends MappedEvent<TEventPublisher, OutSchema>>(\n event: TEvent,\n ): this {\n this._events.push(event);\n return this;\n }\n\n publisher<T extends EventPublisher<any>, TName extends string>(\n publisher: Service<TName, T>,\n ): BaseFunctionBuilder<TInput, OutSchema, TServices, TLogger, T, TName> {\n this._publisher = publisher as unknown as Service<\n TEventPublisherServiceName,\n TEventPublisher\n >;\n\n return this as unknown as BaseFunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n T,\n TName\n >;\n }\n}\n"],"mappings":";;;;;AAaA,MAAMA,mBAAiB,IAAI;AAE3B,IAAsB,sBAAtB,MAAsB,oBAOpB;CACA,AAAU;CACV,AAAU;CACV,AAAU;CAEV,AAAO,YAAuB,CAAE;CAChC,AAAO,UAAmBA;CAE1B,AAAU,UAAqD,CAAE;CACjE,AAAU;CAEV,OAAO,mBAAmBC,GAAmC;EAC3D,MAAM,SAAU,EAAuB;AAEvC,SAAO,iBAAiB,OAAO,aAAa;CAC7C;CAED,aAAa,8BAEXC,MAAeC,QAAsD;AACrE,MAAI,oBAAoB,mBAAmB,OAAO,EAAE;GAClD,MAAM,YAAY,MAAM,OAAO,aAAa,SAAS,KAAK;AAE1D,OAAI,UAAU,OACZ,OAAM,UAAU;AAGlB,UAAO,UAAU;EAClB;EAED,MAAMC,SAAc,CAAE;AACtB,OAAK,MAAM,OAAO,QAAQ;GACxB,MAAM,OAAO,OAAO;AACpB,OAAI,oBAAoB,mBAAmB,KAAK,EAAE;IAChD,MAAM,QAAQ,IAAI,MAAM,IAAI;IAC5B,MAAM,YAAY,MAAM,KAAK,aAAa,SAAS,MAAM;AAEzD,QAAI,UAAU,OACZ,OAAM,UAAU;AAGlB,WAAO,OAAO,UAAU;GACzB;EACF;AAED,SAAO;CACR;CAED,YAAmB,OAAO,cAAc,UAAU;EAA/B;CAAiC;CAMpD,QAAQC,SAAuB;AAC7B,OAAK,WAAW;AAChB,SAAO;CACR;CAMD,MACEC,OACM;AACN,OAAK,QAAQ,KAAK,MAAM;AACxB,SAAO;CACR;CAED,UACEC,WACsE;AACtE,OAAK,aAAa;AAKlB,SAAO;CAQR;AACF"}
1
+ {"version":3,"file":"BaseFunctionBuilder-DCUtCdVL.mjs","names":["DEFAULT_LOGGER","s: unknown","data: unknown","schema: T","result: any","timeout: number","event: TEvent","publisher: Service<TName, T>"],"sources":["../src/functions/BaseFunctionBuilder.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport get from 'lodash.get';\nimport { ConstructType } from '../Construct';\n\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type {\n ComposableStandardSchema,\n InferComposableStandardSchema,\n} from '@geekmidas/schema';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport abstract class BaseFunctionBuilder<\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> {\n protected inputSchema?: TInput;\n protected outputSchema?: OutSchema;\n protected _timeout?: number;\n\n public _services: TServices = [] as Service[] as TServices;\n public _logger: TLogger = DEFAULT_LOGGER;\n\n protected _events: MappedEvent<TEventPublisher, OutSchema>[] = [];\n protected _publisher?: Service<TEventPublisherServiceName, TEventPublisher>;\n\n static isStandardSchemaV1(s: unknown): s is StandardSchemaV1 {\n const schema = (s as StandardSchemaV1)['~standard'];\n\n return schema && typeof schema.validate === 'function';\n }\n\n static async parseComposableStandardSchema<\n T extends ComposableStandardSchema | undefined,\n >(data: unknown, schema: T): Promise<InferComposableStandardSchema<T>> {\n if (BaseFunctionBuilder.isStandardSchemaV1(schema)) {\n const validated = await schema['~standard'].validate(data);\n\n if (validated.issues) {\n throw validated.issues;\n }\n\n return validated.value as InferComposableStandardSchema<T>;\n }\n\n const result: any = {};\n for (const key in schema) {\n const item = schema[key];\n if (BaseFunctionBuilder.isStandardSchemaV1(item)) {\n const value = get(data, key);\n const validated = await item['~standard'].validate(value);\n\n if (validated.issues) {\n throw validated.issues;\n }\n\n result[key] = validated.value;\n }\n }\n\n return result as InferComposableStandardSchema<T>;\n }\n\n constructor(public type = ConstructType.Function) {}\n\n abstract services<T extends Service[]>(services: T): any;\n\n abstract logger<T extends Logger>(logger: T): any;\n\n timeout(timeout: number): this {\n this._timeout = timeout;\n return this;\n }\n\n abstract output<T extends StandardSchemaV1>(schema: T): any;\n\n abstract input<T extends ComposableStandardSchema>(schema: T): any;\n\n event<TEvent extends MappedEvent<TEventPublisher, OutSchema>>(\n event: TEvent,\n ): this {\n this._events.push(event);\n return this;\n }\n\n publisher<T extends EventPublisher<any>, TName extends string>(\n publisher: Service<TName, T>,\n ): BaseFunctionBuilder<TInput, OutSchema, TServices, TLogger, T, TName> {\n this._publisher = publisher as unknown as Service<\n TEventPublisherServiceName,\n TEventPublisher\n >;\n\n return this as unknown as BaseFunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n T,\n TName\n >;\n }\n}\n"],"mappings":";;;;;AAaA,MAAMA,mBAAiB,IAAI;AAE3B,IAAsB,sBAAtB,MAAsB,oBAOpB;CACA,AAAU;CACV,AAAU;CACV,AAAU;CAEV,AAAO,YAAuB,CAAE;CAChC,AAAO,UAAmBA;CAE1B,AAAU,UAAqD,CAAE;CACjE,AAAU;CAEV,OAAO,mBAAmBC,GAAmC;EAC3D,MAAM,SAAU,EAAuB;AAEvC,SAAO,iBAAiB,OAAO,aAAa;CAC7C;CAED,aAAa,8BAEXC,MAAeC,QAAsD;AACrE,MAAI,oBAAoB,mBAAmB,OAAO,EAAE;GAClD,MAAM,YAAY,MAAM,OAAO,aAAa,SAAS,KAAK;AAE1D,OAAI,UAAU,OACZ,OAAM,UAAU;AAGlB,UAAO,UAAU;EAClB;EAED,MAAMC,SAAc,CAAE;AACtB,OAAK,MAAM,OAAO,QAAQ;GACxB,MAAM,OAAO,OAAO;AACpB,OAAI,oBAAoB,mBAAmB,KAAK,EAAE;IAChD,MAAM,QAAQ,IAAI,MAAM,IAAI;IAC5B,MAAM,YAAY,MAAM,KAAK,aAAa,SAAS,MAAM;AAEzD,QAAI,UAAU,OACZ,OAAM,UAAU;AAGlB,WAAO,OAAO,UAAU;GACzB;EACF;AAED,SAAO;CACR;CAED,YAAmB,OAAO,cAAc,UAAU;EAA/B;CAAiC;CAMpD,QAAQC,SAAuB;AAC7B,OAAK,WAAW;AAChB,SAAO;CACR;CAMD,MACEC,OACM;AACN,OAAK,QAAQ,KAAK,MAAM;AACxB,SAAO;CACR;CAED,UACEC,WACsE;AACtE,OAAK,aAAa;AAKlB,SAAO;CAQR;AACF"}
@@ -1,15 +1,17 @@
1
- import { EnvironmentParser } from "@geekmidas/envkit";
1
+ import { SnifferEnvironmentParser } from "@geekmidas/envkit/sniffer";
2
2
  import compact from "lodash.compact";
3
3
 
4
4
  //#region src/Construct.ts
5
5
  var Construct = class {
6
- constructor(type, logger, services, events = [], publisherService, outputSchema) {
6
+ constructor(type, logger, services, events = [], publisherService, outputSchema, timeout, memorySize) {
7
7
  this.type = type;
8
8
  this.logger = logger;
9
9
  this.services = services;
10
10
  this.events = events;
11
11
  this.publisherService = publisherService;
12
12
  this.outputSchema = outputSchema;
13
+ this.timeout = timeout;
14
+ this.memorySize = memorySize;
13
15
  }
14
16
  /**
15
17
  * Returns an array of environment variable names required by this construct's services.
@@ -29,21 +31,16 @@ var Construct = class {
29
31
  * ```
30
32
  */
31
33
  async getEnvironment() {
32
- const envVars = /* @__PURE__ */ new Set();
33
- const sniffer = new EnvironmentParser({});
34
+ const sniffer = new SnifferEnvironmentParser();
34
35
  const services = compact([...this.services, this.publisherService]);
35
36
  try {
36
37
  for (const service of services) try {
37
- const config = service.register(sniffer);
38
- const resolvedConfig = config && typeof config === "object" && "then" in config ? await Promise.resolve(config) : config;
39
- if (resolvedConfig && typeof resolvedConfig === "object" && "getEnvironmentVariables" in resolvedConfig && typeof resolvedConfig.getEnvironmentVariables === "function") {
40
- const vars = resolvedConfig.getEnvironmentVariables();
41
- if (Array.isArray(vars)) vars.forEach((v) => envVars.add(v));
42
- }
43
- } catch (serviceError) {
38
+ const result = service.register(sniffer);
39
+ if (result && typeof result === "object" && "then" in result) await Promise.resolve(result);
40
+ } catch {
44
41
  continue;
45
42
  }
46
- return Array.from(envVars).sort();
43
+ return sniffer.getEnvironmentVariables();
47
44
  } catch (error) {
48
45
  console.error("Error determining environment variables for construct:", error);
49
46
  return [];
@@ -60,4 +57,4 @@ let ConstructType = /* @__PURE__ */ function(ConstructType$1) {
60
57
 
61
58
  //#endregion
62
59
  export { Construct, ConstructType };
63
- //# sourceMappingURL=Construct-BbKCIPQm.mjs.map
60
+ //# sourceMappingURL=Construct-C3hsQBy4.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Construct-C3hsQBy4.mjs","names":["type: ConstructType","logger: TLogger","services: TServices","events: MappedEvent<T, any>[]","publisherService?: Service<TServiceName, T>","outputSchema?: OutSchema","timeout?: number","memorySize?: number","services: Service[]"],"sources":["../src/Construct.ts"],"sourcesContent":["import { SnifferEnvironmentParser } from '@geekmidas/envkit/sniffer';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport compact from 'lodash.compact';\n\nexport abstract class Construct<\n TLogger extends Logger = Logger,\n TServiceName extends string = string,\n T extends EventPublisher<any> | undefined = undefined,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n> {\n constructor(\n public readonly type: ConstructType,\n public readonly logger: TLogger,\n public readonly services: TServices,\n public readonly events: MappedEvent<T, any>[] = [],\n\n public readonly publisherService?: Service<TServiceName, T>,\n public outputSchema?: OutSchema,\n public readonly timeout?: number,\n public readonly memorySize?: number,\n ) {}\n\n /**\n * Returns an array of environment variable names required by this construct's services.\n * This is determined by running a \"sniffer\" EnvironmentParser through each service's\n * register method to track which environment variables are accessed.\n *\n * @returns Promise that resolves to array of environment variable names, sorted alphabetically\n *\n * @example\n * ```typescript\n * const endpoint = e\n * .services([databaseService, authService])\n * .get('/users')\n * .handle(async () => []);\n *\n * const envVars = await endpoint.getEnvironment(); // ['AUTH_SECRET', 'DATABASE_URL']\n * ```\n */\n async getEnvironment(): Promise<string[]> {\n const sniffer = new SnifferEnvironmentParser();\n const services: Service[] = compact([\n ...this.services,\n this.publisherService,\n ]);\n\n try {\n // Run each service's register method with the sniffer to track env var access\n for (const service of services) {\n try {\n const result = service.register(sniffer as any);\n\n // Await if it's a Promise (async services)\n if (result && typeof result === 'object' && 'then' in result) {\n await Promise.resolve(result);\n }\n } catch {\n // Service registration may fail but env vars are still tracked\n continue;\n }\n }\n\n // Get tracked env vars directly from the sniffer\n return sniffer.getEnvironmentVariables();\n } catch (error) {\n console.error(\n 'Error determining environment variables for construct:',\n error,\n );\n\n return [];\n }\n }\n}\n\nexport enum ConstructType {\n Cron = 'dev.geekmidas.function.cron',\n Endpoint = 'dev.geekmidas.function.endpoint',\n Function = 'dev.geekmidas.function.function',\n Subscriber = 'dev.geekmidas.function.subscriber',\n}\n"],"mappings":";;;;AAOA,IAAsB,YAAtB,MAME;CACA,YACkBA,MACAC,QACAC,UACAC,SAAgC,CAAE,GAElCC,kBACTC,cACSC,SACAC,YAChB;EATgB;EACA;EACA;EACA;EAEA;EACT;EACS;EACA;CACd;;;;;;;;;;;;;;;;;;CAmBJ,MAAM,iBAAoC;EACxC,MAAM,UAAU,IAAI;EACpB,MAAMC,WAAsB,QAAQ,CAClC,GAAG,KAAK,UACR,KAAK,gBACN,EAAC;AAEF,MAAI;AAEF,QAAK,MAAM,WAAW,SACpB,KAAI;IACF,MAAM,SAAS,QAAQ,SAAS,QAAe;AAG/C,QAAI,iBAAiB,WAAW,YAAY,UAAU,OACpD,OAAM,QAAQ,QAAQ,OAAO;GAEhC,QAAO;AAEN;GACD;AAIH,UAAO,QAAQ,yBAAyB;EACzC,SAAQ,OAAO;AACd,WAAQ,MACN,0DACA,MACD;AAED,UAAO,CAAE;EACV;CACF;AACF;AAED,IAAY,0DAAL;AACL;AACA;AACA;AACA;;AACD"}
@@ -1,16 +1,18 @@
1
1
  const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const __geekmidas_envkit = require_chunk.__toESM(require("@geekmidas/envkit"));
2
+ const __geekmidas_envkit_sniffer = require_chunk.__toESM(require("@geekmidas/envkit/sniffer"));
3
3
  const lodash_compact = require_chunk.__toESM(require("lodash.compact"));
4
4
 
5
5
  //#region src/Construct.ts
6
6
  var Construct = class {
7
- constructor(type, logger, services, events = [], publisherService, outputSchema) {
7
+ constructor(type, logger, services, events = [], publisherService, outputSchema, timeout, memorySize) {
8
8
  this.type = type;
9
9
  this.logger = logger;
10
10
  this.services = services;
11
11
  this.events = events;
12
12
  this.publisherService = publisherService;
13
13
  this.outputSchema = outputSchema;
14
+ this.timeout = timeout;
15
+ this.memorySize = memorySize;
14
16
  }
15
17
  /**
16
18
  * Returns an array of environment variable names required by this construct's services.
@@ -30,21 +32,16 @@ var Construct = class {
30
32
  * ```
31
33
  */
32
34
  async getEnvironment() {
33
- const envVars = /* @__PURE__ */ new Set();
34
- const sniffer = new __geekmidas_envkit.EnvironmentParser({});
35
+ const sniffer = new __geekmidas_envkit_sniffer.SnifferEnvironmentParser();
35
36
  const services = (0, lodash_compact.default)([...this.services, this.publisherService]);
36
37
  try {
37
38
  for (const service of services) try {
38
- const config = service.register(sniffer);
39
- const resolvedConfig = config && typeof config === "object" && "then" in config ? await Promise.resolve(config) : config;
40
- if (resolvedConfig && typeof resolvedConfig === "object" && "getEnvironmentVariables" in resolvedConfig && typeof resolvedConfig.getEnvironmentVariables === "function") {
41
- const vars = resolvedConfig.getEnvironmentVariables();
42
- if (Array.isArray(vars)) vars.forEach((v) => envVars.add(v));
43
- }
44
- } catch (serviceError) {
39
+ const result = service.register(sniffer);
40
+ if (result && typeof result === "object" && "then" in result) await Promise.resolve(result);
41
+ } catch {
45
42
  continue;
46
43
  }
47
- return Array.from(envVars).sort();
44
+ return sniffer.getEnvironmentVariables();
48
45
  } catch (error) {
49
46
  console.error("Error determining environment variables for construct:", error);
50
47
  return [];
@@ -72,4 +69,4 @@ Object.defineProperty(exports, 'ConstructType', {
72
69
  return ConstructType;
73
70
  }
74
71
  });
75
- //# sourceMappingURL=Construct-BSEs6uwW.cjs.map
72
+ //# sourceMappingURL=Construct-VEI7M3fs.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Construct-VEI7M3fs.cjs","names":["type: ConstructType","logger: TLogger","services: TServices","events: MappedEvent<T, any>[]","publisherService?: Service<TServiceName, T>","outputSchema?: OutSchema","timeout?: number","memorySize?: number","SnifferEnvironmentParser","services: Service[]"],"sources":["../src/Construct.ts"],"sourcesContent":["import { SnifferEnvironmentParser } from '@geekmidas/envkit/sniffer';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport compact from 'lodash.compact';\n\nexport abstract class Construct<\n TLogger extends Logger = Logger,\n TServiceName extends string = string,\n T extends EventPublisher<any> | undefined = undefined,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n> {\n constructor(\n public readonly type: ConstructType,\n public readonly logger: TLogger,\n public readonly services: TServices,\n public readonly events: MappedEvent<T, any>[] = [],\n\n public readonly publisherService?: Service<TServiceName, T>,\n public outputSchema?: OutSchema,\n public readonly timeout?: number,\n public readonly memorySize?: number,\n ) {}\n\n /**\n * Returns an array of environment variable names required by this construct's services.\n * This is determined by running a \"sniffer\" EnvironmentParser through each service's\n * register method to track which environment variables are accessed.\n *\n * @returns Promise that resolves to array of environment variable names, sorted alphabetically\n *\n * @example\n * ```typescript\n * const endpoint = e\n * .services([databaseService, authService])\n * .get('/users')\n * .handle(async () => []);\n *\n * const envVars = await endpoint.getEnvironment(); // ['AUTH_SECRET', 'DATABASE_URL']\n * ```\n */\n async getEnvironment(): Promise<string[]> {\n const sniffer = new SnifferEnvironmentParser();\n const services: Service[] = compact([\n ...this.services,\n this.publisherService,\n ]);\n\n try {\n // Run each service's register method with the sniffer to track env var access\n for (const service of services) {\n try {\n const result = service.register(sniffer as any);\n\n // Await if it's a Promise (async services)\n if (result && typeof result === 'object' && 'then' in result) {\n await Promise.resolve(result);\n }\n } catch {\n // Service registration may fail but env vars are still tracked\n continue;\n }\n }\n\n // Get tracked env vars directly from the sniffer\n return sniffer.getEnvironmentVariables();\n } catch (error) {\n console.error(\n 'Error determining environment variables for construct:',\n error,\n );\n\n return [];\n }\n }\n}\n\nexport enum ConstructType {\n Cron = 'dev.geekmidas.function.cron',\n Endpoint = 'dev.geekmidas.function.endpoint',\n Function = 'dev.geekmidas.function.function',\n Subscriber = 'dev.geekmidas.function.subscriber',\n}\n"],"mappings":";;;;;AAOA,IAAsB,YAAtB,MAME;CACA,YACkBA,MACAC,QACAC,UACAC,SAAgC,CAAE,GAElCC,kBACTC,cACSC,SACAC,YAChB;EATgB;EACA;EACA;EACA;EAEA;EACT;EACS;EACA;CACd;;;;;;;;;;;;;;;;;;CAmBJ,MAAM,iBAAoC;EACxC,MAAM,UAAU,IAAIC;EACpB,MAAMC,WAAsB,4BAAQ,CAClC,GAAG,KAAK,UACR,KAAK,gBACN,EAAC;AAEF,MAAI;AAEF,QAAK,MAAM,WAAW,SACpB,KAAI;IACF,MAAM,SAAS,QAAQ,SAAS,QAAe;AAG/C,QAAI,iBAAiB,WAAW,YAAY,UAAU,OACpD,OAAM,QAAQ,QAAQ,OAAO;GAEhC,QAAO;AAEN;GACD;AAIH,UAAO,QAAQ,yBAAyB;EACzC,SAAQ,OAAO;AACd,WAAQ,MACN,0DACA,MACD;AAED,UAAO,CAAE;EACV;CACF;AACF;AAED,IAAY,0DAAL;AACL;AACA;AACA;AACA;;AACD"}
@@ -11,7 +11,9 @@ declare abstract class Construct<TLogger extends Logger = Logger, TServiceName e
11
11
  readonly events: MappedEvent<T, any>[];
12
12
  readonly publisherService?: Service<TServiceName, T> | undefined;
13
13
  outputSchema?: OutSchema | undefined;
14
- constructor(type: ConstructType, logger: TLogger, services: TServices, events?: MappedEvent<T, any>[], publisherService?: Service<TServiceName, T> | undefined, outputSchema?: OutSchema | undefined);
14
+ readonly timeout?: number | undefined;
15
+ readonly memorySize?: number | undefined;
16
+ constructor(type: ConstructType, logger: TLogger, services: TServices, events?: MappedEvent<T, any>[], publisherService?: Service<TServiceName, T> | undefined, outputSchema?: OutSchema | undefined, timeout?: number | undefined, memorySize?: number | undefined);
15
17
  /**
16
18
  * Returns an array of environment variable names required by this construct's services.
17
19
  * This is determined by running a "sniffer" EnvironmentParser through each service's
@@ -39,4 +41,4 @@ declare enum ConstructType {
39
41
  }
40
42
  //#endregion
41
43
  export { Construct, ConstructType };
42
- //# sourceMappingURL=Construct-Bm-PSO2V.d.cts.map
44
+ //# sourceMappingURL=Construct-ci5u8Xnu.d.cts.map
@@ -11,7 +11,9 @@ declare abstract class Construct<TLogger extends Logger = Logger, TServiceName e
11
11
  readonly events: MappedEvent<T, any>[];
12
12
  readonly publisherService?: Service<TServiceName, T> | undefined;
13
13
  outputSchema?: OutSchema | undefined;
14
- constructor(type: ConstructType, logger: TLogger, services: TServices, events?: MappedEvent<T, any>[], publisherService?: Service<TServiceName, T> | undefined, outputSchema?: OutSchema | undefined);
14
+ readonly timeout?: number | undefined;
15
+ readonly memorySize?: number | undefined;
16
+ constructor(type: ConstructType, logger: TLogger, services: TServices, events?: MappedEvent<T, any>[], publisherService?: Service<TServiceName, T> | undefined, outputSchema?: OutSchema | undefined, timeout?: number | undefined, memorySize?: number | undefined);
15
17
  /**
16
18
  * Returns an array of environment variable names required by this construct's services.
17
19
  * This is determined by running a "sniffer" EnvironmentParser through each service's
@@ -39,4 +41,4 @@ declare enum ConstructType {
39
41
  }
40
42
  //#endregion
41
43
  export { Construct, ConstructType };
42
- //# sourceMappingURL=Construct-DdyYENBD.d.mts.map
44
+ //# sourceMappingURL=Construct-zhmcmIdY.d.mts.map
@@ -1,4 +1,4 @@
1
- const require_Construct = require('./Construct-BSEs6uwW.cjs');
1
+ const require_Construct = require('./Construct-VEI7M3fs.cjs');
2
2
 
3
3
  exports.Construct = require_Construct.Construct;
4
4
  exports.ConstructType = require_Construct.ConstructType;
@@ -1,2 +1,2 @@
1
- import { Construct, ConstructType } from "./Construct-Bm-PSO2V.cjs";
1
+ import { Construct, ConstructType } from "./Construct-ci5u8Xnu.cjs";
2
2
  export { Construct, ConstructType };
@@ -1,2 +1,2 @@
1
- import { Construct, ConstructType } from "./Construct-DdyYENBD.mjs";
1
+ import { Construct, ConstructType } from "./Construct-zhmcmIdY.mjs";
2
2
  export { Construct, ConstructType };
@@ -1,3 +1,3 @@
1
- import { Construct, ConstructType } from "./Construct-BbKCIPQm.mjs";
1
+ import { Construct, ConstructType } from "./Construct-C3hsQBy4.mjs";
2
2
 
3
3
  export { Construct, ConstructType };
@@ -1,7 +1,7 @@
1
- import { Function, FunctionHandler } from "./Function-BP58p9Mp.cjs";
1
+ import { Function, FunctionHandler } from "./Function-DFRZZCC-.mjs";
2
+ import { Service } from "@geekmidas/services";
2
3
  import { EventPublisher } from "@geekmidas/events";
3
4
  import { Logger } from "@geekmidas/logger";
4
- import { Service } from "@geekmidas/services";
5
5
  import { StandardSchemaV1 } from "@standard-schema/spec";
6
6
  import { ComposableStandardSchema } from "@geekmidas/schema";
7
7
 
@@ -9,7 +9,7 @@ import { ComposableStandardSchema } from "@geekmidas/schema";
9
9
  declare class Cron<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> extends Function<TInput, TServices, TLogger, OutSchema, FunctionHandler<TInput, TServices, TLogger, OutSchema>, TEventPublisher, TEventPublisherServiceName> {
10
10
  protected _schedule?: ScheduleExpression | undefined;
11
11
  static isCron(obj: any): obj is Cron<any, any, any, any>;
12
- constructor(fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>, timeout?: number, _schedule?: ScheduleExpression | undefined, input?: TInput, outputSchema?: OutSchema, services?: TServices, logger?: TLogger, publisherService?: Service<TEventPublisherServiceName, TEventPublisher>, events?: any[]);
12
+ constructor(fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>, timeout?: number, _schedule?: ScheduleExpression | undefined, input?: TInput, outputSchema?: OutSchema, services?: TServices, logger?: TLogger, publisherService?: Service<TEventPublisherServiceName, TEventPublisher>, events?: any[], memorySize?: number);
13
13
  get schedule(): ScheduleExpression | undefined;
14
14
  }
15
15
  type RateExpression = `rate(${string})`;
@@ -22,4 +22,4 @@ type CronExpression = `cron(${CronMinute} ${CronHour} ${CronDay} ${CronMonth} ${
22
22
  type ScheduleExpression = RateExpression | CronExpression;
23
23
  //#endregion
24
24
  export { Cron, CronExpression, RateExpression, ScheduleExpression };
25
- //# sourceMappingURL=Cron-BxMXmn4t.d.cts.map
25
+ //# sourceMappingURL=Cron-ByNYsQDH.d.mts.map
@@ -1,13 +1,13 @@
1
- const require_Construct = require('./Construct-BSEs6uwW.cjs');
2
- const require_Function = require('./Function-CbO2NZx-.cjs');
1
+ const require_Construct = require('./Construct-VEI7M3fs.cjs');
2
+ const require_Function = require('./Function-1Fh6Tdkg.cjs');
3
3
 
4
4
  //#region src/crons/Cron.ts
5
5
  var Cron = class extends require_Function.Function {
6
6
  static isCron(obj) {
7
7
  return Boolean(obj && obj.__IS_FUNCTION__ === true && obj.type === require_Construct.ConstructType.Cron);
8
8
  }
9
- constructor(fn, timeout, _schedule, input, outputSchema, services = [], logger, publisherService, events = []) {
10
- super(fn, timeout, require_Construct.ConstructType.Cron, input, outputSchema, services, logger, publisherService, events);
9
+ constructor(fn, timeout, _schedule, input, outputSchema, services = [], logger, publisherService, events = [], memorySize) {
10
+ super(fn, timeout, require_Construct.ConstructType.Cron, input, outputSchema, services, logger, publisherService, events, memorySize);
11
11
  this._schedule = _schedule;
12
12
  }
13
13
  get schedule() {
@@ -22,4 +22,4 @@ Object.defineProperty(exports, 'Cron', {
22
22
  return Cron;
23
23
  }
24
24
  });
25
- //# sourceMappingURL=Cron-CmZ6esMM.cjs.map
25
+ //# sourceMappingURL=Cron-Dfgr8F9d.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cron-Dfgr8F9d.cjs","names":["Function","obj: any","ConstructType","fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>","timeout?: number","_schedule?: ScheduleExpression","input?: TInput","outputSchema?: OutSchema","services: TServices","logger?: TLogger","publisherService?: Service<TEventPublisherServiceName, TEventPublisher>","events: any[]","memorySize?: number"],"sources":["../src/crons/Cron.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\n\nimport { ConstructType } from '../Construct';\nimport { Function, type FunctionHandler } from '../functions';\n\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\n\nexport class Cron<\n TInput extends ComposableStandardSchema | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n> extends Function<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n FunctionHandler<TInput, TServices, TLogger, OutSchema>,\n TEventPublisher,\n TEventPublisherServiceName\n> {\n static isCron(obj: any): obj is Cron<any, any, any, any> {\n return Boolean(\n obj &&\n (obj as Function).__IS_FUNCTION__ === true &&\n obj.type === ConstructType.Cron,\n );\n }\n\n constructor(\n fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>,\n timeout?: number,\n protected _schedule?: ScheduleExpression,\n input?: TInput,\n outputSchema?: OutSchema,\n services: TServices = [] as unknown as TServices,\n logger?: TLogger,\n publisherService?: Service<TEventPublisherServiceName, TEventPublisher>,\n events: any[] = [],\n memorySize?: number,\n ) {\n super(\n fn,\n timeout,\n ConstructType.Cron,\n input,\n outputSchema,\n services,\n logger,\n publisherService,\n events,\n memorySize,\n );\n }\n\n get schedule(): ScheduleExpression | undefined {\n return this._schedule;\n }\n}\n\nexport type RateExpression = `rate(${string})`;\n\ntype CronMinute =\n | '*'\n | number\n | `${number}`\n | `${number}-${number}`\n | `${number}/${number}`\n | `*/${number}`\n | `${number},${number}`\n | string; // Allow more complex patterns\n\ntype CronHour =\n | '*'\n | number\n | `${number}`\n | `${number}-${number}`\n | `${number}/${number}`\n | `*/${number}`\n | `${number},${number}`\n | string; // Allow more complex patterns\n\ntype CronDay =\n | '*'\n | number\n | `${number}`\n | `${number}-${number}`\n | `${number}/${number}`\n | `*/${number}`\n | `${number},${number}`\n | string; // Allow more complex patterns\n\ntype CronMonth =\n | '*'\n | number\n | `${number}`\n | `${number}-${number}`\n | `${number}/${number}`\n | `*/${number}`\n | 'JAN'\n | 'FEB'\n | 'MAR'\n | 'APR'\n | 'MAY'\n | 'JUN'\n | 'JUL'\n | 'AUG'\n | 'SEP'\n | 'OCT'\n | 'NOV'\n | 'DEC'\n | string; // Allow more complex patterns\n\ntype CronWeekday =\n | '*'\n | number\n | `${number}`\n | `${number}-${number}`\n | `${number}/${number}`\n | `*/${number}`\n | 'SUN'\n | 'MON'\n | 'TUE'\n | 'WED'\n | 'THU'\n | 'FRI'\n | 'SAT'\n | `${string}-${string}` // Allow patterns like MON-FRI\n | string; // Allow more complex patterns\n\nexport type CronExpression =\n `cron(${CronMinute} ${CronHour} ${CronDay} ${CronMonth} ${CronWeekday})`;\n\nexport type ScheduleExpression = RateExpression | CronExpression;\n"],"mappings":";;;;AAUA,IAAa,OAAb,cAOUA,0BAQR;CACA,OAAO,OAAOC,KAA2C;AACvD,SAAO,QACL,OACG,IAAiB,oBAAoB,QACtC,IAAI,SAASC,gCAAc,KAC9B;CACF;CAED,YACEC,IACAC,SACUC,WACVC,OACAC,cACAC,WAAsB,CAAE,GACxBC,QACAC,kBACAC,SAAgB,CAAE,GAClBC,YACA;AACA,QACE,IACA,SACAV,gCAAc,MACd,OACA,cACA,UACA,QACA,kBACA,QACA,WACD;EApBS;CAqBX;CAED,IAAI,WAA2C;AAC7C,SAAO,KAAK;CACb;AACF"}
@@ -1,7 +1,7 @@
1
- import { Function, FunctionHandler } from "./Function-C98H68DW.mjs";
2
- import { Service } from "@geekmidas/services";
1
+ import { Function, FunctionHandler } from "./Function-BbLYIKLL.cjs";
3
2
  import { EventPublisher } from "@geekmidas/events";
4
3
  import { Logger } from "@geekmidas/logger";
4
+ import { Service } from "@geekmidas/services";
5
5
  import { StandardSchemaV1 } from "@standard-schema/spec";
6
6
  import { ComposableStandardSchema } from "@geekmidas/schema";
7
7
 
@@ -9,7 +9,7 @@ import { ComposableStandardSchema } from "@geekmidas/schema";
9
9
  declare class Cron<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> extends Function<TInput, TServices, TLogger, OutSchema, FunctionHandler<TInput, TServices, TLogger, OutSchema>, TEventPublisher, TEventPublisherServiceName> {
10
10
  protected _schedule?: ScheduleExpression | undefined;
11
11
  static isCron(obj: any): obj is Cron<any, any, any, any>;
12
- constructor(fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>, timeout?: number, _schedule?: ScheduleExpression | undefined, input?: TInput, outputSchema?: OutSchema, services?: TServices, logger?: TLogger, publisherService?: Service<TEventPublisherServiceName, TEventPublisher>, events?: any[]);
12
+ constructor(fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>, timeout?: number, _schedule?: ScheduleExpression | undefined, input?: TInput, outputSchema?: OutSchema, services?: TServices, logger?: TLogger, publisherService?: Service<TEventPublisherServiceName, TEventPublisher>, events?: any[], memorySize?: number);
13
13
  get schedule(): ScheduleExpression | undefined;
14
14
  }
15
15
  type RateExpression = `rate(${string})`;
@@ -22,4 +22,4 @@ type CronExpression = `cron(${CronMinute} ${CronHour} ${CronDay} ${CronMonth} ${
22
22
  type ScheduleExpression = RateExpression | CronExpression;
23
23
  //#endregion
24
24
  export { Cron, CronExpression, RateExpression, ScheduleExpression };
25
- //# sourceMappingURL=Cron-NDBlJhb3.d.mts.map
25
+ //# sourceMappingURL=Cron-DkPL-Fms.d.cts.map
@@ -1,13 +1,13 @@
1
- import { ConstructType } from "./Construct-BbKCIPQm.mjs";
2
- import { Function } from "./Function-C5mW-38v.mjs";
1
+ import { ConstructType } from "./Construct-C3hsQBy4.mjs";
2
+ import { Function } from "./Function-D-QEfH7k.mjs";
3
3
 
4
4
  //#region src/crons/Cron.ts
5
5
  var Cron = class extends Function {
6
6
  static isCron(obj) {
7
7
  return Boolean(obj && obj.__IS_FUNCTION__ === true && obj.type === ConstructType.Cron);
8
8
  }
9
- constructor(fn, timeout, _schedule, input, outputSchema, services = [], logger, publisherService, events = []) {
10
- super(fn, timeout, ConstructType.Cron, input, outputSchema, services, logger, publisherService, events);
9
+ constructor(fn, timeout, _schedule, input, outputSchema, services = [], logger, publisherService, events = [], memorySize) {
10
+ super(fn, timeout, ConstructType.Cron, input, outputSchema, services, logger, publisherService, events, memorySize);
11
11
  this._schedule = _schedule;
12
12
  }
13
13
  get schedule() {
@@ -17,4 +17,4 @@ var Cron = class extends Function {
17
17
 
18
18
  //#endregion
19
19
  export { Cron };
20
- //# sourceMappingURL=Cron-D6hnZLk7.mjs.map
20
+ //# sourceMappingURL=Cron-wP6Ob48_.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cron-wP6Ob48_.mjs","names":["obj: any","fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>","timeout?: number","_schedule?: ScheduleExpression","input?: TInput","outputSchema?: OutSchema","services: TServices","logger?: TLogger","publisherService?: Service<TEventPublisherServiceName, TEventPublisher>","events: any[]","memorySize?: number"],"sources":["../src/crons/Cron.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\n\nimport { ConstructType } from '../Construct';\nimport { Function, type FunctionHandler } from '../functions';\n\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\n\nexport class Cron<\n TInput extends ComposableStandardSchema | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n> extends Function<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n FunctionHandler<TInput, TServices, TLogger, OutSchema>,\n TEventPublisher,\n TEventPublisherServiceName\n> {\n static isCron(obj: any): obj is Cron<any, any, any, any> {\n return Boolean(\n obj &&\n (obj as Function).__IS_FUNCTION__ === true &&\n obj.type === ConstructType.Cron,\n );\n }\n\n constructor(\n fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>,\n timeout?: number,\n protected _schedule?: ScheduleExpression,\n input?: TInput,\n outputSchema?: OutSchema,\n services: TServices = [] as unknown as TServices,\n logger?: TLogger,\n publisherService?: Service<TEventPublisherServiceName, TEventPublisher>,\n events: any[] = [],\n memorySize?: number,\n ) {\n super(\n fn,\n timeout,\n ConstructType.Cron,\n input,\n outputSchema,\n services,\n logger,\n publisherService,\n events,\n memorySize,\n );\n }\n\n get schedule(): ScheduleExpression | undefined {\n return this._schedule;\n }\n}\n\nexport type RateExpression = `rate(${string})`;\n\ntype CronMinute =\n | '*'\n | number\n | `${number}`\n | `${number}-${number}`\n | `${number}/${number}`\n | `*/${number}`\n | `${number},${number}`\n | string; // Allow more complex patterns\n\ntype CronHour =\n | '*'\n | number\n | `${number}`\n | `${number}-${number}`\n | `${number}/${number}`\n | `*/${number}`\n | `${number},${number}`\n | string; // Allow more complex patterns\n\ntype CronDay =\n | '*'\n | number\n | `${number}`\n | `${number}-${number}`\n | `${number}/${number}`\n | `*/${number}`\n | `${number},${number}`\n | string; // Allow more complex patterns\n\ntype CronMonth =\n | '*'\n | number\n | `${number}`\n | `${number}-${number}`\n | `${number}/${number}`\n | `*/${number}`\n | 'JAN'\n | 'FEB'\n | 'MAR'\n | 'APR'\n | 'MAY'\n | 'JUN'\n | 'JUL'\n | 'AUG'\n | 'SEP'\n | 'OCT'\n | 'NOV'\n | 'DEC'\n | string; // Allow more complex patterns\n\ntype CronWeekday =\n | '*'\n | number\n | `${number}`\n | `${number}-${number}`\n | `${number}/${number}`\n | `*/${number}`\n | 'SUN'\n | 'MON'\n | 'TUE'\n | 'WED'\n | 'THU'\n | 'FRI'\n | 'SAT'\n | `${string}-${string}` // Allow patterns like MON-FRI\n | string; // Allow more complex patterns\n\nexport type CronExpression =\n `cron(${CronMinute} ${CronHour} ${CronDay} ${CronMonth} ${CronWeekday})`;\n\nexport type ScheduleExpression = RateExpression | CronExpression;\n"],"mappings":";;;;AAUA,IAAa,OAAb,cAOU,SAQR;CACA,OAAO,OAAOA,KAA2C;AACvD,SAAO,QACL,OACG,IAAiB,oBAAoB,QACtC,IAAI,SAAS,cAAc,KAC9B;CACF;CAED,YACEC,IACAC,SACUC,WACVC,OACAC,cACAC,WAAsB,CAAE,GACxBC,QACAC,kBACAC,SAAgB,CAAE,GAClBC,YACA;AACA,QACE,IACA,SACA,cAAc,MACd,OACA,cACA,UACA,QACA,kBACA,QACA,WACD;EApBS;CAqBX;CAED,IAAI,WAA2C;AAC7C,SAAO,KAAK;CACb;AACF"}
@@ -1,9 +1,9 @@
1
- import { FunctionHandler } from "./Function-BP58p9Mp.cjs";
2
- import { FunctionBuilder } from "./FunctionBuilder-BS1KgxA_.cjs";
3
- import { Cron, ScheduleExpression } from "./Cron-BxMXmn4t.cjs";
1
+ import { FunctionHandler } from "./Function-DFRZZCC-.mjs";
2
+ import { FunctionBuilder } from "./FunctionBuilder-DuktGyZc.mjs";
3
+ import { Cron, ScheduleExpression } from "./Cron-ByNYsQDH.mjs";
4
+ import { Service } from "@geekmidas/services";
4
5
  import { EventPublisher } from "@geekmidas/events";
5
6
  import { Logger } from "@geekmidas/logger";
6
- import { Service } from "@geekmidas/services";
7
7
  import { StandardSchemaV1 } from "@standard-schema/spec";
8
8
  import { ComposableStandardSchema } from "@geekmidas/schema";
9
9
 
@@ -11,6 +11,7 @@ import { ComposableStandardSchema } from "@geekmidas/schema";
11
11
  declare class CronBuilder<TInput extends ComposableStandardSchema, TServices extends Service[], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> extends FunctionBuilder<TInput, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName> {
12
12
  private _schedule?;
13
13
  constructor();
14
+ memorySize(memorySize: number): this;
14
15
  schedule(_expression: ScheduleExpression): CronBuilder<TInput, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName>;
15
16
  input<T extends ComposableStandardSchema>(schema: T): CronBuilder<T, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName>;
16
17
  output<T extends StandardSchemaV1>(schema: T): CronBuilder<TInput, TServices, TLogger, T, TEventPublisher, TEventPublisherServiceName>;
@@ -21,4 +22,4 @@ declare class CronBuilder<TInput extends ComposableStandardSchema, TServices ext
21
22
  }
22
23
  //#endregion
23
24
  export { CronBuilder };
24
- //# sourceMappingURL=CronBuilder-C6K5AbIO.d.cts.map
25
+ //# sourceMappingURL=CronBuilder-BknVTWLE.d.mts.map
@@ -1,9 +1,9 @@
1
- import { FunctionHandler } from "./Function-C98H68DW.mjs";
2
- import { FunctionBuilder } from "./FunctionBuilder-DBwR7jg7.mjs";
3
- import { Cron, ScheduleExpression } from "./Cron-NDBlJhb3.mjs";
4
- import { Service } from "@geekmidas/services";
1
+ import { FunctionHandler } from "./Function-BbLYIKLL.cjs";
2
+ import { FunctionBuilder } from "./FunctionBuilder-DdGjpiFT.cjs";
3
+ import { Cron, ScheduleExpression } from "./Cron-DkPL-Fms.cjs";
5
4
  import { EventPublisher } from "@geekmidas/events";
6
5
  import { Logger } from "@geekmidas/logger";
6
+ import { Service } from "@geekmidas/services";
7
7
  import { StandardSchemaV1 } from "@standard-schema/spec";
8
8
  import { ComposableStandardSchema } from "@geekmidas/schema";
9
9
 
@@ -11,6 +11,7 @@ import { ComposableStandardSchema } from "@geekmidas/schema";
11
11
  declare class CronBuilder<TInput extends ComposableStandardSchema, TServices extends Service[], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> extends FunctionBuilder<TInput, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName> {
12
12
  private _schedule?;
13
13
  constructor();
14
+ memorySize(memorySize: number): this;
14
15
  schedule(_expression: ScheduleExpression): CronBuilder<TInput, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName>;
15
16
  input<T extends ComposableStandardSchema>(schema: T): CronBuilder<T, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName>;
16
17
  output<T extends StandardSchemaV1>(schema: T): CronBuilder<TInput, TServices, TLogger, T, TEventPublisher, TEventPublisherServiceName>;
@@ -21,4 +22,4 @@ declare class CronBuilder<TInput extends ComposableStandardSchema, TServices ext
21
22
  }
22
23
  //#endregion
23
24
  export { CronBuilder };
24
- //# sourceMappingURL=CronBuilder-s5x8V8hH.d.mts.map
25
+ //# sourceMappingURL=CronBuilder-BqTTozUi.d.cts.map