@geekmidas/constructs 0.3.2 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (557) hide show
  1. package/dist/{AWSLambdaFunction-C54a1doJ.mjs → AWSLambdaFunction-BMTaCrG9.mjs} +6 -6
  2. package/dist/AWSLambdaFunction-BMTaCrG9.mjs.map +1 -0
  3. package/dist/{AWSLambdaFunction-BdebRMUh.d.mts → AWSLambdaFunction-BfLF5vNa.d.cts} +6 -6
  4. package/dist/AWSLambdaFunction-BfLF5vNa.d.cts.map +1 -0
  5. package/dist/{AWSLambdaFunction-EPGY4s7i.cjs → AWSLambdaFunction-C1gRqLO7.cjs} +6 -6
  6. package/dist/AWSLambdaFunction-C1gRqLO7.cjs.map +1 -0
  7. package/dist/{AWSLambdaFunction-D0tEOTXQ.d.cts → AWSLambdaFunction-K94K8JU2.d.mts} +6 -6
  8. package/dist/AWSLambdaFunction-K94K8JU2.d.mts.map +1 -0
  9. package/dist/{AWSLambdaSubscriberAdaptor-Dx-Ks1Jp.d.cts → AWSLambdaSubscriberAdaptor-B2Gk3fgx.d.cts} +2 -2
  10. package/dist/AWSLambdaSubscriberAdaptor-B2Gk3fgx.d.cts.map +1 -0
  11. package/dist/{AWSLambdaSubscriberAdaptor-BLfO612H.mjs → AWSLambdaSubscriberAdaptor-BD3FwGUb.mjs} +3 -3
  12. package/dist/AWSLambdaSubscriberAdaptor-BD3FwGUb.mjs.map +1 -0
  13. package/dist/{AWSLambdaSubscriberAdaptor-BNcYYZ-P.cjs → AWSLambdaSubscriberAdaptor-DQDnt1Xk.cjs} +3 -3
  14. package/dist/AWSLambdaSubscriberAdaptor-DQDnt1Xk.cjs.map +1 -0
  15. package/dist/{AWSLambdaSubscriberAdaptor-DrFAvHOp.d.mts → AWSLambdaSubscriberAdaptor-QuMFwltJ.d.mts} +2 -2
  16. package/dist/AWSLambdaSubscriberAdaptor-QuMFwltJ.d.mts.map +1 -0
  17. package/dist/{AmazonApiGatewayEndpointAdaptor-BT9JXihC.mjs → AmazonApiGatewayEndpointAdaptor-B4gLJ2dx.mjs} +56 -14
  18. package/dist/AmazonApiGatewayEndpointAdaptor-B4gLJ2dx.mjs.map +1 -0
  19. package/dist/{AmazonApiGatewayEndpointAdaptor-DLqnYQ4E.d.cts → AmazonApiGatewayEndpointAdaptor-C987ZCsM.d.cts} +51 -5
  20. package/dist/AmazonApiGatewayEndpointAdaptor-C987ZCsM.d.cts.map +1 -0
  21. package/dist/{AmazonApiGatewayEndpointAdaptor-DNFvvdmW.cjs → AmazonApiGatewayEndpointAdaptor-CwRKMRr_.cjs} +55 -13
  22. package/dist/AmazonApiGatewayEndpointAdaptor-CwRKMRr_.cjs.map +1 -0
  23. package/dist/{AmazonApiGatewayEndpointAdaptor-qlKXuZxy.d.mts → AmazonApiGatewayEndpointAdaptor-DpPfO6Vj.d.mts} +52 -6
  24. package/dist/AmazonApiGatewayEndpointAdaptor-DpPfO6Vj.d.mts.map +1 -0
  25. package/dist/{AmazonApiGatewayV1EndpointAdaptor-Ccl8B8kG.cjs → AmazonApiGatewayV1EndpointAdaptor-BeZMu5DZ.cjs} +4 -4
  26. package/dist/AmazonApiGatewayV1EndpointAdaptor-BeZMu5DZ.cjs.map +1 -0
  27. package/dist/{AmazonApiGatewayV1EndpointAdaptor-MRUxs3Xi.d.mts → AmazonApiGatewayV1EndpointAdaptor-DI_5kdqw.d.mts} +5 -5
  28. package/dist/AmazonApiGatewayV1EndpointAdaptor-DI_5kdqw.d.mts.map +1 -0
  29. package/dist/{AmazonApiGatewayV1EndpointAdaptor-DyUaJIhB.d.cts → AmazonApiGatewayV1EndpointAdaptor-DkGMOpoB.d.cts} +4 -4
  30. package/dist/AmazonApiGatewayV1EndpointAdaptor-DkGMOpoB.d.cts.map +1 -0
  31. package/dist/{AmazonApiGatewayV1EndpointAdaptor-CShQI8Gk.mjs → AmazonApiGatewayV1EndpointAdaptor-VccB6FKp.mjs} +4 -4
  32. package/dist/AmazonApiGatewayV1EndpointAdaptor-VccB6FKp.mjs.map +1 -0
  33. package/dist/{AmazonApiGatewayV2EndpointAdaptor-M1-w0U5R.d.cts → AmazonApiGatewayV2EndpointAdaptor-BtBnMJS_.d.cts} +4 -6
  34. package/dist/AmazonApiGatewayV2EndpointAdaptor-BtBnMJS_.d.cts.map +1 -0
  35. package/dist/{AmazonApiGatewayV2EndpointAdaptor-D8-0Aab4.cjs → AmazonApiGatewayV2EndpointAdaptor-BwsL9Gia.cjs} +4 -4
  36. package/dist/AmazonApiGatewayV2EndpointAdaptor-BwsL9Gia.cjs.map +1 -0
  37. package/dist/{AmazonApiGatewayV2EndpointAdaptor-lCRzGE4q.mjs → AmazonApiGatewayV2EndpointAdaptor-CljxmUfz.mjs} +4 -4
  38. package/dist/AmazonApiGatewayV2EndpointAdaptor-CljxmUfz.mjs.map +1 -0
  39. package/dist/{AmazonApiGatewayV2EndpointAdaptor-fuLM6M9k.d.mts → AmazonApiGatewayV2EndpointAdaptor-DnCoqlvw.d.mts} +5 -7
  40. package/dist/AmazonApiGatewayV2EndpointAdaptor-DnCoqlvw.d.mts.map +1 -0
  41. package/dist/{Authorizer-C0ge_tc8.cjs → Authorizer-BXxBee2P.cjs} +1 -1
  42. package/dist/Authorizer-BXxBee2P.cjs.map +1 -0
  43. package/dist/{Authorizer-r9U3y_ms.mjs → Authorizer-BgjU8-z6.mjs} +1 -1
  44. package/dist/Authorizer-BgjU8-z6.mjs.map +1 -0
  45. package/dist/{Authorizer-gWxYsGEp.d.mts → Authorizer-DCcYOx3h.d.mts} +1 -1
  46. package/dist/Authorizer-DCcYOx3h.d.mts.map +1 -0
  47. package/dist/{Authorizer-B-btowNd.d.cts → Authorizer-DWtwC8we.d.cts} +1 -1
  48. package/dist/Authorizer-DWtwC8we.d.cts.map +1 -0
  49. package/dist/{BaseFunctionBuilder-BAtutR6q.d.cts → BaseFunctionBuilder-BqZCqIeU.d.mts} +3 -3
  50. package/dist/BaseFunctionBuilder-BqZCqIeU.d.mts.map +1 -0
  51. package/dist/{BaseFunctionBuilder-DRY419e7.d.mts → BaseFunctionBuilder-CcK691ni.d.cts} +3 -3
  52. package/dist/BaseFunctionBuilder-CcK691ni.d.cts.map +1 -0
  53. package/dist/{BaseFunctionBuilder-Czi1Jwza.mjs → BaseFunctionBuilder-Dsqe6pnn.mjs} +2 -2
  54. package/dist/BaseFunctionBuilder-Dsqe6pnn.mjs.map +1 -0
  55. package/dist/{BaseFunctionBuilder-MYG3C9ug.cjs → BaseFunctionBuilder-Z0XwrKB5.cjs} +2 -2
  56. package/dist/BaseFunctionBuilder-Z0XwrKB5.cjs.map +1 -0
  57. package/dist/Construct-BNDLJJfD.mjs +150 -0
  58. package/dist/Construct-BNDLJJfD.mjs.map +1 -0
  59. package/dist/{Construct-Ba5cMxib.cjs → Construct-CPrCF8NK.cjs} +93 -9
  60. package/dist/Construct-CPrCF8NK.cjs.map +1 -0
  61. package/dist/{Construct-C4rPE67v.d.cts → Construct-Dl0l2d8d.d.cts} +30 -4
  62. package/dist/Construct-Dl0l2d8d.d.cts.map +1 -0
  63. package/dist/{Construct-XrijZFFh.d.mts → Construct-E8QPyHh4.d.mts} +30 -4
  64. package/dist/Construct-E8QPyHh4.d.mts.map +1 -0
  65. package/dist/Construct.cjs +4 -2
  66. package/dist/Construct.d.cts +2 -2
  67. package/dist/Construct.d.mts +2 -2
  68. package/dist/Construct.mjs +2 -2
  69. package/dist/{Cron-CGF4YAfM.cjs → Cron-BmPNTLla.cjs} +3 -3
  70. package/dist/Cron-BmPNTLla.cjs.map +1 -0
  71. package/dist/{Cron-BxhGs5up.mjs → Cron-BpJONaFv.mjs} +3 -3
  72. package/dist/Cron-BpJONaFv.mjs.map +1 -0
  73. package/dist/{Cron-bDLcTvV5.d.cts → Cron-CnmLLh3E.d.mts} +3 -3
  74. package/dist/Cron-CnmLLh3E.d.mts.map +1 -0
  75. package/dist/{Cron-cdjlSKNp.d.mts → Cron-DufAeHry.d.cts} +3 -3
  76. package/dist/Cron-DufAeHry.d.cts.map +1 -0
  77. package/dist/{CronBuilder-d2jh-IB2.mjs → CronBuilder-02HSIHJr.mjs} +4 -4
  78. package/dist/CronBuilder-02HSIHJr.mjs.map +1 -0
  79. package/dist/{CronBuilder-CcxKRtVP.cjs → CronBuilder-DC2zUS8a.cjs} +4 -4
  80. package/dist/CronBuilder-DC2zUS8a.cjs.map +1 -0
  81. package/dist/{CronBuilder-BC4m5-p1.d.mts → CronBuilder-anUSbMxb.d.mts} +4 -4
  82. package/dist/CronBuilder-anUSbMxb.d.mts.map +1 -0
  83. package/dist/{CronBuilder-DKVXyE0Q.d.cts → CronBuilder-fyqf_X8n.d.cts} +4 -4
  84. package/dist/CronBuilder-fyqf_X8n.d.cts.map +1 -0
  85. package/dist/{Endpoint-BVGZXFyV.cjs → Endpoint-BCWVbi8l.cjs} +6 -6
  86. package/dist/Endpoint-BCWVbi8l.cjs.map +1 -0
  87. package/dist/{Endpoint-BPv9_-m_.d.cts → Endpoint-BlcHiGNx.d.cts} +3 -3
  88. package/dist/Endpoint-BlcHiGNx.d.cts.map +1 -0
  89. package/dist/{Endpoint-BdwG75G_.d.mts → Endpoint-DEHuy46S.d.mts} +4 -4
  90. package/dist/Endpoint-DEHuy46S.d.mts.map +1 -0
  91. package/dist/{Endpoint-CuOEswxJ.mjs → Endpoint-ygxv2Ia6.mjs} +6 -6
  92. package/dist/Endpoint-ygxv2Ia6.mjs.map +1 -0
  93. package/dist/{EndpointBuilder-DIy_m1bu.d.cts → EndpointBuilder-DPLAUHqg.d.cts} +4 -4
  94. package/dist/EndpointBuilder-DPLAUHqg.d.cts.map +1 -0
  95. package/dist/{EndpointBuilder-B3az942t.d.mts → EndpointBuilder-DaeCeneF.d.mts} +5 -5
  96. package/dist/EndpointBuilder-DaeCeneF.d.mts.map +1 -0
  97. package/dist/{EndpointBuilder-Cgj1P_ra.cjs → EndpointBuilder-J5D67Y6a.cjs} +6 -6
  98. package/dist/EndpointBuilder-J5D67Y6a.cjs.map +1 -0
  99. package/dist/{EndpointBuilder-DnCB1h1j.mjs → EndpointBuilder-tn4zqoyw.mjs} +6 -6
  100. package/dist/EndpointBuilder-tn4zqoyw.mjs.map +1 -0
  101. package/dist/{EndpointFactory-CbdxPCIH.mjs → EndpointFactory-CIUZTTAF.mjs} +7 -7
  102. package/dist/EndpointFactory-CIUZTTAF.mjs.map +1 -0
  103. package/dist/{EndpointFactory-CyPbm3AD.d.cts → EndpointFactory-CiKcb5PX.d.cts} +4 -4
  104. package/dist/EndpointFactory-CiKcb5PX.d.cts.map +1 -0
  105. package/dist/{EndpointFactory-C-0nE6Jg.d.mts → EndpointFactory-DufM0t2z.d.mts} +4 -4
  106. package/dist/EndpointFactory-DufM0t2z.d.mts.map +1 -0
  107. package/dist/{EndpointFactory-CYj6BYok.cjs → EndpointFactory-d5uwWFkK.cjs} +7 -7
  108. package/dist/EndpointFactory-d5uwWFkK.cjs.map +1 -0
  109. package/dist/{Function-DDZb1525.cjs → Function-2qWSZqYB.cjs} +3 -3
  110. package/dist/Function-2qWSZqYB.cjs.map +1 -0
  111. package/dist/{Function-Cf7f_kCz.d.cts → Function-CbEohg13.d.cts} +3 -3
  112. package/dist/Function-CbEohg13.d.cts.map +1 -0
  113. package/dist/{Function-BVHqIDp9.mjs → Function-CdF1HmFu.mjs} +3 -3
  114. package/dist/Function-CdF1HmFu.mjs.map +1 -0
  115. package/dist/{Function-DN2G6OT5.d.mts → Function-EjIOLxlh.d.mts} +3 -3
  116. package/dist/Function-EjIOLxlh.d.mts.map +1 -0
  117. package/dist/{FunctionBuilder-DswJ-9sD.cjs → FunctionBuilder-B-pbgm09.cjs} +4 -4
  118. package/dist/FunctionBuilder-B-pbgm09.cjs.map +1 -0
  119. package/dist/{FunctionBuilder-CJBzzXL3.d.cts → FunctionBuilder-CX3ooNdq.d.cts} +4 -4
  120. package/dist/FunctionBuilder-CX3ooNdq.d.cts.map +1 -0
  121. package/dist/{FunctionBuilder-Cxx8D2na.d.mts → FunctionBuilder-D11ytDyy.d.mts} +4 -4
  122. package/dist/FunctionBuilder-D11ytDyy.d.mts.map +1 -0
  123. package/dist/{FunctionBuilder-CrDYgfiI.mjs → FunctionBuilder-DaWVthAJ.mjs} +4 -4
  124. package/dist/FunctionBuilder-DaWVthAJ.mjs.map +1 -0
  125. package/dist/{FunctionExecutionWrapper-DF260Aaj.d.mts → FunctionExecutionWrapper-BJcRjH9Z.d.cts} +5 -5
  126. package/dist/FunctionExecutionWrapper-BJcRjH9Z.d.cts.map +1 -0
  127. package/dist/{FunctionExecutionWrapper-BYI2bGTL.cjs → FunctionExecutionWrapper-C6ChBNHs.cjs} +3 -3
  128. package/dist/FunctionExecutionWrapper-C6ChBNHs.cjs.map +1 -0
  129. package/dist/{FunctionExecutionWrapper-Qy8bmgFR.d.cts → FunctionExecutionWrapper-D3RNjGIR.d.mts} +5 -5
  130. package/dist/FunctionExecutionWrapper-D3RNjGIR.d.mts.map +1 -0
  131. package/dist/{FunctionExecutionWrapper-CLDh7Z2_.mjs → FunctionExecutionWrapper-Dj3pmXaN.mjs} +3 -3
  132. package/dist/FunctionExecutionWrapper-Dj3pmXaN.mjs.map +1 -0
  133. package/dist/{HonoEndpointAdaptor-BaPlUhz0.d.mts → HonoEndpointAdaptor-CKP6nrG2.d.mts} +11 -6
  134. package/dist/HonoEndpointAdaptor-CKP6nrG2.d.mts.map +1 -0
  135. package/dist/HonoEndpointAdaptor-Cc8Rnp9G.mjs +251 -0
  136. package/dist/HonoEndpointAdaptor-Cc8Rnp9G.mjs.map +1 -0
  137. package/dist/{HonoEndpointAdaptor-YcRHYALH.d.cts → HonoEndpointAdaptor-hrrvyfw9.d.cts} +10 -5
  138. package/dist/HonoEndpointAdaptor-hrrvyfw9.d.cts.map +1 -0
  139. package/dist/HonoEndpointAdaptor-xGnDZa3a.cjs +257 -0
  140. package/dist/HonoEndpointAdaptor-xGnDZa3a.cjs.map +1 -0
  141. package/dist/{Subscriber-COYMSevD.d.cts → Subscriber-BBcIOkhW.d.cts} +2 -2
  142. package/dist/Subscriber-BBcIOkhW.d.cts.map +1 -0
  143. package/dist/{Subscriber-ikctpU3I.d.mts → Subscriber-BpTAXvbM.d.mts} +2 -2
  144. package/dist/Subscriber-BpTAXvbM.d.mts.map +1 -0
  145. package/dist/{Subscriber-BiHjVXtM.cjs → Subscriber-CL4iYm01.cjs} +2 -2
  146. package/dist/Subscriber-CL4iYm01.cjs.map +1 -0
  147. package/dist/{Subscriber-BmPf9GFb.mjs → Subscriber-CZ8Smwd2.mjs} +2 -2
  148. package/dist/Subscriber-CZ8Smwd2.mjs.map +1 -0
  149. package/dist/{SubscriberBuilder-DJPEeYDJ.mjs → SubscriberBuilder-CxQg3TTm.mjs} +2 -2
  150. package/dist/SubscriberBuilder-CxQg3TTm.mjs.map +1 -0
  151. package/dist/{SubscriberBuilder-Cp1C-xtT.cjs → SubscriberBuilder-D0OS3hd7.cjs} +2 -2
  152. package/dist/SubscriberBuilder-D0OS3hd7.cjs.map +1 -0
  153. package/dist/{SubscriberBuilder-D_9zzllj.d.mts → SubscriberBuilder-D7IgufwB.d.cts} +3 -3
  154. package/dist/SubscriberBuilder-D7IgufwB.d.cts.map +1 -0
  155. package/dist/{SubscriberBuilder-ivHAGIVi.d.cts → SubscriberBuilder-DOFBbWLt.d.mts} +3 -3
  156. package/dist/SubscriberBuilder-DOFBbWLt.d.mts.map +1 -0
  157. package/dist/{TestEndpointAdaptor-DB7bREhS.d.mts → TestEndpointAdaptor-BnJusjf7.d.mts} +4 -4
  158. package/dist/TestEndpointAdaptor-BnJusjf7.d.mts.map +1 -0
  159. package/dist/TestEndpointAdaptor-CPL8ru6q.mjs +170 -0
  160. package/dist/TestEndpointAdaptor-CPL8ru6q.mjs.map +1 -0
  161. package/dist/TestEndpointAdaptor-Ca4K26_d.cjs +176 -0
  162. package/dist/TestEndpointAdaptor-Ca4K26_d.cjs.map +1 -0
  163. package/dist/{TestEndpointAdaptor-C10xBI--.d.cts → TestEndpointAdaptor-EPPTjntv.d.cts} +3 -3
  164. package/dist/TestEndpointAdaptor-EPPTjntv.d.cts.map +1 -0
  165. package/dist/adaptors/aws.cjs +12 -12
  166. package/dist/adaptors/aws.d.cts +15 -14
  167. package/dist/adaptors/aws.d.mts +16 -15
  168. package/dist/adaptors/aws.mjs +12 -12
  169. package/dist/adaptors/hono.cjs +10 -9
  170. package/dist/adaptors/hono.d.cts +8 -8
  171. package/dist/adaptors/hono.d.mts +9 -9
  172. package/dist/adaptors/hono.mjs +10 -9
  173. package/dist/adaptors/testing.cjs +8 -7
  174. package/dist/adaptors/testing.d.cts +8 -8
  175. package/dist/adaptors/testing.d.mts +9 -9
  176. package/dist/adaptors/testing.mjs +8 -7
  177. package/dist/crons/Cron.cjs +6 -6
  178. package/dist/crons/Cron.d.cts +6 -6
  179. package/dist/crons/Cron.d.mts +6 -6
  180. package/dist/crons/Cron.mjs +6 -6
  181. package/dist/crons/CronBuilder.cjs +7 -7
  182. package/dist/crons/CronBuilder.d.cts +7 -7
  183. package/dist/crons/CronBuilder.d.mts +7 -7
  184. package/dist/crons/CronBuilder.mjs +7 -7
  185. package/dist/crons/index.cjs +7 -7
  186. package/dist/crons/index.cjs.map +1 -1
  187. package/dist/crons/index.d.cts +11 -11
  188. package/dist/crons/index.d.mts +7 -7
  189. package/dist/crons/index.mjs +7 -7
  190. package/dist/crons/index.mjs.map +1 -1
  191. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +7 -7
  192. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +10 -9
  193. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +11 -10
  194. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +7 -7
  195. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +8 -8
  196. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +10 -9
  197. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +11 -10
  198. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +8 -8
  199. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +8 -8
  200. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +11 -10
  201. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +12 -11
  202. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +8 -8
  203. package/dist/endpoints/Authorizer.cjs +1 -1
  204. package/dist/endpoints/Authorizer.d.cts +1 -1
  205. package/dist/endpoints/Authorizer.d.mts +1 -1
  206. package/dist/endpoints/Authorizer.mjs +1 -1
  207. package/dist/endpoints/Endpoint.cjs +6 -6
  208. package/dist/endpoints/Endpoint.d.cts +7 -7
  209. package/dist/endpoints/Endpoint.d.mts +8 -8
  210. package/dist/endpoints/Endpoint.mjs +6 -6
  211. package/dist/endpoints/EndpointBuilder.cjs +9 -9
  212. package/dist/endpoints/EndpointBuilder.d.cts +8 -8
  213. package/dist/endpoints/EndpointBuilder.d.mts +9 -9
  214. package/dist/endpoints/EndpointBuilder.mjs +9 -9
  215. package/dist/endpoints/EndpointFactory.cjs +10 -10
  216. package/dist/endpoints/EndpointFactory.d.cts +9 -9
  217. package/dist/endpoints/EndpointFactory.d.mts +10 -10
  218. package/dist/endpoints/EndpointFactory.mjs +10 -10
  219. package/dist/endpoints/HonoEndpointAdaptor.cjs +10 -9
  220. package/dist/endpoints/HonoEndpointAdaptor.d.cts +8 -8
  221. package/dist/endpoints/HonoEndpointAdaptor.d.mts +9 -9
  222. package/dist/endpoints/HonoEndpointAdaptor.mjs +10 -9
  223. package/dist/endpoints/TestEndpointAdaptor.cjs +8 -7
  224. package/dist/endpoints/TestEndpointAdaptor.d.cts +8 -8
  225. package/dist/endpoints/TestEndpointAdaptor.d.mts +9 -9
  226. package/dist/endpoints/TestEndpointAdaptor.mjs +8 -7
  227. package/dist/endpoints/audit.d.cts +7 -7
  228. package/dist/endpoints/audit.d.mts +8 -8
  229. package/dist/endpoints/helpers.cjs +7 -7
  230. package/dist/endpoints/helpers.d.cts +7 -7
  231. package/dist/endpoints/helpers.d.cts.map +1 -1
  232. package/dist/endpoints/helpers.d.mts +8 -8
  233. package/dist/endpoints/helpers.d.mts.map +1 -1
  234. package/dist/endpoints/helpers.mjs +7 -7
  235. package/dist/endpoints/index.cjs +20 -10
  236. package/dist/endpoints/index.cjs.map +1 -1
  237. package/dist/endpoints/index.d.cts +14 -12
  238. package/dist/endpoints/index.d.cts.map +1 -1
  239. package/dist/endpoints/index.d.mts +15 -13
  240. package/dist/endpoints/index.d.mts.map +1 -1
  241. package/dist/endpoints/index.mjs +13 -11
  242. package/dist/endpoints/index.mjs.map +1 -1
  243. package/dist/endpoints/lazyAccessors.cjs +10 -0
  244. package/dist/endpoints/lazyAccessors.d.cts +10 -0
  245. package/dist/endpoints/lazyAccessors.d.mts +10 -0
  246. package/dist/endpoints/lazyAccessors.mjs +3 -0
  247. package/dist/endpoints/parseHonoQuery.cjs +1 -1
  248. package/dist/endpoints/parseHonoQuery.mjs +1 -1
  249. package/dist/endpoints/parseQueryParams.d.cts.map +1 -1
  250. package/dist/endpoints/parseQueryParams.d.mts.map +1 -1
  251. package/dist/endpoints/processAudits.d.cts +7 -7
  252. package/dist/endpoints/processAudits.d.cts.map +1 -1
  253. package/dist/endpoints/processAudits.d.mts +8 -8
  254. package/dist/endpoints/processAudits.d.mts.map +1 -1
  255. package/dist/endpoints/rls.cjs +1 -1
  256. package/dist/endpoints/rls.d.cts +7 -7
  257. package/dist/endpoints/rls.d.mts +8 -8
  258. package/dist/endpoints/rls.mjs +1 -1
  259. package/dist/functions/AWSLambdaFunction.cjs +6 -6
  260. package/dist/functions/AWSLambdaFunction.d.cts +4 -4
  261. package/dist/functions/AWSLambdaFunction.d.mts +4 -4
  262. package/dist/functions/AWSLambdaFunction.mjs +6 -6
  263. package/dist/functions/BaseFunctionBuilder.cjs +2 -2
  264. package/dist/functions/BaseFunctionBuilder.d.cts +2 -2
  265. package/dist/functions/BaseFunctionBuilder.d.mts +2 -2
  266. package/dist/functions/BaseFunctionBuilder.mjs +2 -2
  267. package/dist/functions/Function.cjs +2 -2
  268. package/dist/functions/Function.d.cts +2 -2
  269. package/dist/functions/Function.d.mts +2 -2
  270. package/dist/functions/Function.mjs +2 -2
  271. package/dist/functions/FunctionBuilder.cjs +4 -4
  272. package/dist/functions/FunctionBuilder.d.cts +4 -4
  273. package/dist/functions/FunctionBuilder.d.mts +4 -4
  274. package/dist/functions/FunctionBuilder.mjs +4 -4
  275. package/dist/functions/FunctionExecutionWrapper.cjs +5 -5
  276. package/dist/functions/FunctionExecutionWrapper.d.cts +3 -3
  277. package/dist/functions/FunctionExecutionWrapper.d.mts +3 -3
  278. package/dist/functions/FunctionExecutionWrapper.mjs +5 -5
  279. package/dist/functions/TestFunctionAdaptor.cjs +7 -7
  280. package/dist/functions/TestFunctionAdaptor.cjs.map +1 -1
  281. package/dist/functions/TestFunctionAdaptor.d.cts +3 -3
  282. package/dist/functions/TestFunctionAdaptor.d.cts.map +1 -1
  283. package/dist/functions/TestFunctionAdaptor.d.mts +3 -3
  284. package/dist/functions/TestFunctionAdaptor.d.mts.map +1 -1
  285. package/dist/functions/TestFunctionAdaptor.mjs +7 -7
  286. package/dist/functions/TestFunctionAdaptor.mjs.map +1 -1
  287. package/dist/functions/index.cjs +5 -5
  288. package/dist/functions/index.d.cts +5 -5
  289. package/dist/functions/index.d.mts +5 -5
  290. package/dist/functions/index.mjs +5 -5
  291. package/dist/{functions-fTid0RMK.cjs → functions-CUEv5NC3.cjs} +2 -2
  292. package/dist/functions-CUEv5NC3.cjs.map +1 -0
  293. package/dist/functions-DOYBrb7n.mjs +8 -0
  294. package/dist/functions-DOYBrb7n.mjs.map +1 -0
  295. package/dist/{helpers-ByRTDO_m.mjs → helpers-Dl1eszfi.mjs} +2 -2
  296. package/dist/helpers-Dl1eszfi.mjs.map +1 -0
  297. package/dist/{helpers-BcP1tXAi.cjs → helpers-QMdfdnvU.cjs} +2 -2
  298. package/dist/helpers-QMdfdnvU.cjs.map +1 -0
  299. package/dist/{index-BWzGIj06.d.mts → index-BrGtMlpJ.d.cts} +2 -2
  300. package/dist/index-BrGtMlpJ.d.cts.map +1 -0
  301. package/dist/index-Dn4py3Db.d.mts +12 -0
  302. package/dist/index-Dn4py3Db.d.mts.map +1 -0
  303. package/dist/index.cjs +4 -2
  304. package/dist/index.d.cts +3 -2
  305. package/dist/index.d.mts +4 -3
  306. package/dist/index.mjs +2 -2
  307. package/dist/lazyAccessors-B-Jgkg2o.mjs +175 -0
  308. package/dist/lazyAccessors-B-Jgkg2o.mjs.map +1 -0
  309. package/dist/lazyAccessors-B8Hhras9.cjs +223 -0
  310. package/dist/lazyAccessors-B8Hhras9.cjs.map +1 -0
  311. package/dist/lazyAccessors-BFAj2-S4.d.mts +49 -0
  312. package/dist/lazyAccessors-BFAj2-S4.d.mts.map +1 -0
  313. package/dist/lazyAccessors-knaNZuTN.d.cts +49 -0
  314. package/dist/lazyAccessors-knaNZuTN.d.cts.map +1 -0
  315. package/dist/{parseHonoQuery-CZC5_97v.cjs → parseHonoQuery-D4MhxTRc.cjs} +1 -1
  316. package/dist/parseHonoQuery-D4MhxTRc.cjs.map +1 -0
  317. package/dist/{parseHonoQuery-DDgIkTO4.mjs → parseHonoQuery-DpK3sGPc.mjs} +1 -1
  318. package/dist/parseHonoQuery-DpK3sGPc.mjs.map +1 -0
  319. package/dist/parseQueryParams-BSNkjmZ9.cjs.map +1 -1
  320. package/dist/parseQueryParams-UMTRnRrW.mjs.map +1 -1
  321. package/dist/processAudits-CzHkPokQ.cjs.map +1 -1
  322. package/dist/processAudits-Dj8UGqcW.mjs.map +1 -1
  323. package/dist/publisher-BXG9YiRi.d.mts +16 -0
  324. package/dist/publisher-BXG9YiRi.d.mts.map +1 -0
  325. package/dist/publisher-Bw4770Hi.mjs.map +1 -1
  326. package/dist/publisher-D9ngDXg3.d.cts +16 -0
  327. package/dist/publisher-D9ngDXg3.d.cts.map +1 -0
  328. package/dist/publisher-lFQleddL.cjs.map +1 -1
  329. package/dist/publisher.d.cts +3 -16
  330. package/dist/publisher.d.mts +3 -16
  331. package/dist/{rls-CmJ7bRsz.cjs → rls-BrywnrQb.cjs} +1 -1
  332. package/dist/{rls-CmJ7bRsz.cjs.map → rls-BrywnrQb.cjs.map} +1 -1
  333. package/dist/{rls-Bf3FRwto.mjs → rls-C0cWOnk4.mjs} +1 -1
  334. package/dist/{rls-Bf3FRwto.mjs.map → rls-C0cWOnk4.mjs.map} +1 -1
  335. package/dist/subscribers/AWSLambdaSubscriberAdaptor.cjs +1 -1
  336. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.cts +3 -3
  337. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +3 -3
  338. package/dist/subscribers/AWSLambdaSubscriberAdaptor.mjs +1 -1
  339. package/dist/subscribers/Subscriber.cjs +2 -2
  340. package/dist/subscribers/Subscriber.d.cts +2 -2
  341. package/dist/subscribers/Subscriber.d.mts +2 -2
  342. package/dist/subscribers/Subscriber.mjs +2 -2
  343. package/dist/subscribers/SubscriberBuilder.cjs +3 -3
  344. package/dist/subscribers/SubscriberBuilder.d.cts +3 -3
  345. package/dist/subscribers/SubscriberBuilder.d.mts +3 -3
  346. package/dist/subscribers/SubscriberBuilder.mjs +3 -3
  347. package/dist/subscribers/index.cjs +3 -3
  348. package/dist/subscribers/index.cjs.map +1 -1
  349. package/dist/subscribers/index.d.cts +5 -5
  350. package/dist/subscribers/index.d.cts.map +1 -1
  351. package/dist/subscribers/index.d.mts +5 -5
  352. package/dist/subscribers/index.d.mts.map +1 -1
  353. package/dist/subscribers/index.mjs +3 -3
  354. package/dist/subscribers/index.mjs.map +1 -1
  355. package/dist/telemetry-BTaiRqPo.d.cts +95 -0
  356. package/dist/telemetry-BTaiRqPo.d.cts.map +1 -0
  357. package/dist/telemetry-yAHf5yDs.d.mts +95 -0
  358. package/dist/telemetry-yAHf5yDs.d.mts.map +1 -0
  359. package/dist/telemetry.cjs +0 -0
  360. package/dist/telemetry.d.cts +2 -0
  361. package/dist/telemetry.d.mts +2 -0
  362. package/dist/telemetry.mjs +0 -0
  363. package/dist/types-B5H3piDg.d.cts.map +1 -1
  364. package/dist/{types-DdIlpxAd.d.mts → types-Dw-iLd3Y.d.mts} +1 -1
  365. package/dist/types-Dw-iLd3Y.d.mts.map +1 -0
  366. package/dist/types.d.mts +1 -1
  367. package/package.json +19 -18
  368. package/src/Construct.ts +189 -94
  369. package/src/__benchmarks__/build-time-optimization.bench.ts +274 -0
  370. package/src/__benchmarks__/endpoint.bench.ts +375 -375
  371. package/src/__benchmarks__/fixtures.ts +241 -0
  372. package/src/__benchmarks__/hono-adaptor.bench.ts +533 -0
  373. package/src/__benchmarks__/hono-server.bench.ts +206 -206
  374. package/src/__benchmarks__/response-builder.bench.ts +428 -0
  375. package/src/__benchmarks__/strategies/strategy-a-lazy-services.ts +319 -0
  376. package/src/__benchmarks__/strategies/strategy-c-middleware.ts +530 -0
  377. package/src/__benchmarks__/strategies/strategy-d-opt-in-events.ts +567 -0
  378. package/src/__tests__/Construct.environment.spec.ts +572 -351
  379. package/src/__tests__/publisher.setting.spec.ts +496 -499
  380. package/src/__tests__/publisher.spec.ts +440 -442
  381. package/src/crons/Cron.ts +117 -117
  382. package/src/crons/CronBuilder.ts +237 -238
  383. package/src/crons/__tests__/Cron.spec.ts +448 -448
  384. package/src/crons/__tests__/CronBuilder.state-isolation.spec.ts +214 -214
  385. package/src/crons/index.ts +4 -4
  386. package/src/endpoints/AmazonApiGatewayEndpointAdaptor.ts +571 -463
  387. package/src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts +86 -86
  388. package/src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts +85 -81
  389. package/src/endpoints/Authorizer.ts +100 -100
  390. package/src/endpoints/Endpoint.ts +921 -937
  391. package/src/endpoints/EndpointBuilder.ts +703 -703
  392. package/src/endpoints/EndpointFactory.ts +1054 -1056
  393. package/src/endpoints/HonoEndpointAdaptor.ts +621 -548
  394. package/src/endpoints/TestEndpointAdaptor.ts +372 -353
  395. package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.audits.spec.ts +499 -0
  396. package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.events.spec.ts +541 -542
  397. package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.spec.ts +1172 -1174
  398. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.audits.spec.ts +599 -599
  399. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.events.spec.ts +710 -710
  400. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.factory-publisher.spec.ts +280 -280
  401. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.kysely-audit.integration.spec.ts +924 -730
  402. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.rls.spec.ts +307 -0
  403. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.spec.ts +408 -408
  404. package/src/endpoints/__tests__/Authorizer.spec.ts +286 -0
  405. package/src/endpoints/__tests__/Endpoint.cookies.spec.ts +162 -162
  406. package/src/endpoints/__tests__/Endpoint.headers.spec.ts +182 -182
  407. package/src/endpoints/__tests__/Endpoint.manifest.spec.ts +158 -159
  408. package/src/endpoints/__tests__/Endpoint.spec.ts +819 -822
  409. package/src/endpoints/__tests__/EndpointBuilder.audit.spec.ts +427 -427
  410. package/src/endpoints/__tests__/EndpointBuilder.spec.ts +478 -478
  411. package/src/endpoints/__tests__/EndpointFactory.authorizers.spec.ts +426 -426
  412. package/src/endpoints/__tests__/EndpointFactory.database-auditor.spec.ts +501 -501
  413. package/src/endpoints/__tests__/EndpointFactory.reference-audit.spec.ts +177 -177
  414. package/src/endpoints/__tests__/EndpointFactory.spec.ts +471 -471
  415. package/src/endpoints/__tests__/EndpointFactory.state-isolation.spec.ts +143 -143
  416. package/src/endpoints/__tests__/HonoEndpointAdaptor.audit-transactions.spec.ts +663 -663
  417. package/src/endpoints/__tests__/HonoEndpointAdaptor.audits.spec.ts +608 -608
  418. package/src/endpoints/__tests__/HonoEndpointAdaptor.events.spec.ts +561 -561
  419. package/src/endpoints/__tests__/HonoEndpointAdaptor.kysely-audit.integration.spec.ts +1036 -1036
  420. package/src/endpoints/__tests__/HonoEndpointAdaptor.openapi.spec.ts +278 -278
  421. package/src/endpoints/__tests__/HonoEndpointAdaptor.spec.ts +1093 -1093
  422. package/src/endpoints/__tests__/ResponseBuilder.spec.ts +230 -230
  423. package/src/endpoints/__tests__/TestEndpointAdaptor.audits.spec.ts +569 -569
  424. package/src/endpoints/__tests__/TestEndpointAdaptor.spec.ts +841 -841
  425. package/src/endpoints/__tests__/endpoint-types.test.ts +68 -68
  426. package/src/endpoints/__tests__/helpers.spec.ts +37 -0
  427. package/src/endpoints/__tests__/lazyAccessors.spec.ts +330 -0
  428. package/src/endpoints/__tests__/processAudits.spec.ts +631 -0
  429. package/src/endpoints/audit.ts +51 -51
  430. package/src/endpoints/helpers.ts +34 -35
  431. package/src/endpoints/index.ts +33 -23
  432. package/src/endpoints/lazyAccessors.ts +241 -0
  433. package/src/endpoints/parseHonoQuery.ts +41 -41
  434. package/src/endpoints/parseQueryParams.ts +36 -36
  435. package/src/endpoints/processAudits.ts +269 -269
  436. package/src/endpoints/rls.ts +16 -16
  437. package/src/functions/AWSLambdaFunction.ts +294 -295
  438. package/src/functions/BaseFunctionBuilder.ts +185 -185
  439. package/src/functions/Function.ts +190 -190
  440. package/src/functions/FunctionBuilder.ts +353 -353
  441. package/src/functions/FunctionExecutionWrapper.ts +199 -200
  442. package/src/functions/TestFunctionAdaptor.ts +191 -191
  443. package/src/functions/__tests__/AWSLambdaFunctionAdaptor.spec.ts +424 -424
  444. package/src/functions/__tests__/Function.audits.spec.ts +364 -364
  445. package/src/functions/__tests__/Function.spec.ts +453 -454
  446. package/src/functions/__tests__/FunctionBuilder.state-isolation.spec.ts +179 -179
  447. package/src/functions/__tests__/TestFunctionAdaptor.spec.ts +369 -369
  448. package/src/functions/index.ts +6 -4
  449. package/src/index.ts +18 -9
  450. package/src/publisher.ts +71 -72
  451. package/src/subscribers/AWSLambdaSubscriberAdaptor.ts +244 -248
  452. package/src/subscribers/Subscriber.ts +82 -84
  453. package/src/subscribers/SubscriberBuilder.ts +129 -129
  454. package/src/subscribers/__tests__/AWSLambdaSubscriberAdaptor.spec.ts +589 -589
  455. package/src/subscribers/__tests__/Subscriber.spec.ts +402 -404
  456. package/src/subscribers/index.ts +1 -0
  457. package/src/telemetry.ts +103 -0
  458. package/src/types.ts +7 -7
  459. package/test.ts +58 -59
  460. package/dist/AWSLambdaFunction-BdebRMUh.d.mts.map +0 -1
  461. package/dist/AWSLambdaFunction-C54a1doJ.mjs.map +0 -1
  462. package/dist/AWSLambdaFunction-D0tEOTXQ.d.cts.map +0 -1
  463. package/dist/AWSLambdaFunction-EPGY4s7i.cjs.map +0 -1
  464. package/dist/AWSLambdaSubscriberAdaptor-BLfO612H.mjs.map +0 -1
  465. package/dist/AWSLambdaSubscriberAdaptor-BNcYYZ-P.cjs.map +0 -1
  466. package/dist/AWSLambdaSubscriberAdaptor-DrFAvHOp.d.mts.map +0 -1
  467. package/dist/AWSLambdaSubscriberAdaptor-Dx-Ks1Jp.d.cts.map +0 -1
  468. package/dist/AmazonApiGatewayEndpointAdaptor-BT9JXihC.mjs.map +0 -1
  469. package/dist/AmazonApiGatewayEndpointAdaptor-DLqnYQ4E.d.cts.map +0 -1
  470. package/dist/AmazonApiGatewayEndpointAdaptor-DNFvvdmW.cjs.map +0 -1
  471. package/dist/AmazonApiGatewayEndpointAdaptor-qlKXuZxy.d.mts.map +0 -1
  472. package/dist/AmazonApiGatewayV1EndpointAdaptor-CShQI8Gk.mjs.map +0 -1
  473. package/dist/AmazonApiGatewayV1EndpointAdaptor-Ccl8B8kG.cjs.map +0 -1
  474. package/dist/AmazonApiGatewayV1EndpointAdaptor-DyUaJIhB.d.cts.map +0 -1
  475. package/dist/AmazonApiGatewayV1EndpointAdaptor-MRUxs3Xi.d.mts.map +0 -1
  476. package/dist/AmazonApiGatewayV2EndpointAdaptor-D8-0Aab4.cjs.map +0 -1
  477. package/dist/AmazonApiGatewayV2EndpointAdaptor-M1-w0U5R.d.cts.map +0 -1
  478. package/dist/AmazonApiGatewayV2EndpointAdaptor-fuLM6M9k.d.mts.map +0 -1
  479. package/dist/AmazonApiGatewayV2EndpointAdaptor-lCRzGE4q.mjs.map +0 -1
  480. package/dist/Authorizer-B-btowNd.d.cts.map +0 -1
  481. package/dist/Authorizer-C0ge_tc8.cjs.map +0 -1
  482. package/dist/Authorizer-gWxYsGEp.d.mts.map +0 -1
  483. package/dist/Authorizer-r9U3y_ms.mjs.map +0 -1
  484. package/dist/BaseFunctionBuilder-BAtutR6q.d.cts.map +0 -1
  485. package/dist/BaseFunctionBuilder-Czi1Jwza.mjs.map +0 -1
  486. package/dist/BaseFunctionBuilder-DRY419e7.d.mts.map +0 -1
  487. package/dist/BaseFunctionBuilder-MYG3C9ug.cjs.map +0 -1
  488. package/dist/Construct-Ba5cMxib.cjs.map +0 -1
  489. package/dist/Construct-C4rPE67v.d.cts.map +0 -1
  490. package/dist/Construct-DdyGHuag.mjs +0 -78
  491. package/dist/Construct-DdyGHuag.mjs.map +0 -1
  492. package/dist/Construct-XrijZFFh.d.mts.map +0 -1
  493. package/dist/Cron-BxhGs5up.mjs.map +0 -1
  494. package/dist/Cron-CGF4YAfM.cjs.map +0 -1
  495. package/dist/Cron-bDLcTvV5.d.cts.map +0 -1
  496. package/dist/Cron-cdjlSKNp.d.mts.map +0 -1
  497. package/dist/CronBuilder-BC4m5-p1.d.mts.map +0 -1
  498. package/dist/CronBuilder-CcxKRtVP.cjs.map +0 -1
  499. package/dist/CronBuilder-DKVXyE0Q.d.cts.map +0 -1
  500. package/dist/CronBuilder-d2jh-IB2.mjs.map +0 -1
  501. package/dist/Endpoint-BPv9_-m_.d.cts.map +0 -1
  502. package/dist/Endpoint-BVGZXFyV.cjs.map +0 -1
  503. package/dist/Endpoint-BdwG75G_.d.mts.map +0 -1
  504. package/dist/Endpoint-CuOEswxJ.mjs.map +0 -1
  505. package/dist/EndpointBuilder-B3az942t.d.mts.map +0 -1
  506. package/dist/EndpointBuilder-Cgj1P_ra.cjs.map +0 -1
  507. package/dist/EndpointBuilder-DIy_m1bu.d.cts.map +0 -1
  508. package/dist/EndpointBuilder-DnCB1h1j.mjs.map +0 -1
  509. package/dist/EndpointFactory-C-0nE6Jg.d.mts.map +0 -1
  510. package/dist/EndpointFactory-CYj6BYok.cjs.map +0 -1
  511. package/dist/EndpointFactory-CbdxPCIH.mjs.map +0 -1
  512. package/dist/EndpointFactory-CyPbm3AD.d.cts.map +0 -1
  513. package/dist/Function-BVHqIDp9.mjs.map +0 -1
  514. package/dist/Function-Cf7f_kCz.d.cts.map +0 -1
  515. package/dist/Function-DDZb1525.cjs.map +0 -1
  516. package/dist/Function-DN2G6OT5.d.mts.map +0 -1
  517. package/dist/FunctionBuilder-CJBzzXL3.d.cts.map +0 -1
  518. package/dist/FunctionBuilder-CrDYgfiI.mjs.map +0 -1
  519. package/dist/FunctionBuilder-Cxx8D2na.d.mts.map +0 -1
  520. package/dist/FunctionBuilder-DswJ-9sD.cjs.map +0 -1
  521. package/dist/FunctionExecutionWrapper-BYI2bGTL.cjs.map +0 -1
  522. package/dist/FunctionExecutionWrapper-CLDh7Z2_.mjs.map +0 -1
  523. package/dist/FunctionExecutionWrapper-DF260Aaj.d.mts.map +0 -1
  524. package/dist/FunctionExecutionWrapper-Qy8bmgFR.d.cts.map +0 -1
  525. package/dist/HonoEndpointAdaptor-BaPlUhz0.d.mts.map +0 -1
  526. package/dist/HonoEndpointAdaptor-CQe2FqMR.cjs +0 -234
  527. package/dist/HonoEndpointAdaptor-CQe2FqMR.cjs.map +0 -1
  528. package/dist/HonoEndpointAdaptor-Ce-2HBxn.mjs +0 -228
  529. package/dist/HonoEndpointAdaptor-Ce-2HBxn.mjs.map +0 -1
  530. package/dist/HonoEndpointAdaptor-YcRHYALH.d.cts.map +0 -1
  531. package/dist/Subscriber-BiHjVXtM.cjs.map +0 -1
  532. package/dist/Subscriber-BmPf9GFb.mjs.map +0 -1
  533. package/dist/Subscriber-COYMSevD.d.cts.map +0 -1
  534. package/dist/Subscriber-ikctpU3I.d.mts.map +0 -1
  535. package/dist/SubscriberBuilder-Cp1C-xtT.cjs.map +0 -1
  536. package/dist/SubscriberBuilder-DJPEeYDJ.mjs.map +0 -1
  537. package/dist/SubscriberBuilder-D_9zzllj.d.mts.map +0 -1
  538. package/dist/SubscriberBuilder-ivHAGIVi.d.cts.map +0 -1
  539. package/dist/TestEndpointAdaptor-C10xBI--.d.cts.map +0 -1
  540. package/dist/TestEndpointAdaptor-DB7bREhS.d.mts.map +0 -1
  541. package/dist/TestEndpointAdaptor-DJgik2Wj.mjs +0 -160
  542. package/dist/TestEndpointAdaptor-DJgik2Wj.mjs.map +0 -1
  543. package/dist/TestEndpointAdaptor-ZbtQiuHE.cjs +0 -166
  544. package/dist/TestEndpointAdaptor-ZbtQiuHE.cjs.map +0 -1
  545. package/dist/functions-C6EK1xL6.mjs +0 -8
  546. package/dist/functions-C6EK1xL6.mjs.map +0 -1
  547. package/dist/functions-fTid0RMK.cjs.map +0 -1
  548. package/dist/helpers-BcP1tXAi.cjs.map +0 -1
  549. package/dist/helpers-ByRTDO_m.mjs.map +0 -1
  550. package/dist/index-BWzGIj06.d.mts.map +0 -1
  551. package/dist/index-DmFozqLd.d.cts +0 -12
  552. package/dist/index-DmFozqLd.d.cts.map +0 -1
  553. package/dist/parseHonoQuery-CZC5_97v.cjs.map +0 -1
  554. package/dist/parseHonoQuery-DDgIkTO4.mjs.map +0 -1
  555. package/dist/publisher.d.cts.map +0 -1
  556. package/dist/publisher.d.mts.map +0 -1
  557. package/dist/types-DdIlpxAd.d.mts.map +0 -1
@@ -123,4 +123,4 @@ declare function getSecurityScheme(name: string, customSchemes?: Record<string,
123
123
  //# sourceMappingURL=Authorizer.d.ts.map
124
124
  //#endregion
125
125
  export { Authorizer, BUILT_IN_SECURITY_SCHEMES, BuiltInSecuritySchemeId, OAuthFlow, OAuthFlows, SecurityScheme, createAuthorizer, getSecurityScheme, isBuiltInSecurityScheme };
126
- //# sourceMappingURL=Authorizer-B-btowNd.d.cts.map
126
+ //# sourceMappingURL=Authorizer-DWtwC8we.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Authorizer-DWtwC8we.d.cts","names":[],"sources":["../src/endpoints/Authorizer.ts"],"sourcesContent":[],"mappings":";;AAIA;AAwBA;;AACY,UAzBK,cAAA,CAyBL;EAAS;EACA,IACA,EAAA,QAAA,GAAA,MAAA,GAAA,WAAA,GAAA,QAAA,GAAA,eAAA;EAAS;EACA,WAAA,CAAA,EAAA,MAAA;EAGb;EAWJ,IAAA,CAAA,EAAA,MAAA;EAsCD;EAKK,EAAA,CAAA,EAAA,OAAA,GAAU,QAAA,GAAA,QAAA;EAAA;EAAA,MAQT,CAAA,EAAA,MAAA;EAAc;EAed,YAAA,CAAA,EAAA,MAAA;EAMF;EAAgB,KAAA,CAAA,EApGvB,UAoGuB;EAAA;EAEN,gBAAf,CAAA,EAAA,MAAA;EAAI;EACF,CAAA,GAAA,EAAA,KAAA,MAAA,EAAA,CAAA,EAAA,OAAA;AAUb;AASA;;;AAEiB,UAlHA,UAAA,CAkHA;EAAM,QACpB,CAAA,EAlHS,SAkHT;EAAc,QAAA,CAAA,EAjHL,SAiHK;sBAhHI;sBACA;;UAGJ,SAAA;;;;UAIR;;;;;;cAOI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAsCD,uBAAA,gBAAuC;;;;UAKlC,UAAA;;;;;;;;mBAQC;;;;;;;;;;;;;;;aAeN;;;;;iBAMI,gBAAA,yBAEL,KAAK,sBACb;;;;iBAUa,uBAAA,wBAEL;;;;iBAOK,iBAAA,+BAEC,eAAe,kBAC7B"}
@@ -1,8 +1,8 @@
1
- import { ConstructType } from "./Construct-C4rPE67v.cjs";
1
+ import { ConstructType } from "./Construct-E8QPyHh4.mjs";
2
+ import { Service } from "@geekmidas/services";
2
3
  import { AuditStorage } from "@geekmidas/audit";
3
4
  import { EventPublisher, MappedEvent } from "@geekmidas/events";
4
5
  import { Logger } from "@geekmidas/logger";
5
- import { Service } from "@geekmidas/services";
6
6
  import { StandardSchemaV1 } from "@standard-schema/spec";
7
7
  import { ComposableStandardSchema, InferComposableStandardSchema } from "@geekmidas/schema";
8
8
 
@@ -39,4 +39,4 @@ declare abstract class BaseFunctionBuilder<TInput extends ComposableStandardSche
39
39
 
40
40
  //#endregion
41
41
  export { BaseFunctionBuilder };
42
- //# sourceMappingURL=BaseFunctionBuilder-BAtutR6q.d.cts.map
42
+ //# sourceMappingURL=BaseFunctionBuilder-BqZCqIeU.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseFunctionBuilder-BqZCqIeU.d.mts","names":[],"sources":["../src/functions/BaseFunctionBuilder.ts"],"sourcesContent":[],"mappings":";;;;;;;;;uBAesB,mCACN,4CACG,4DACA,gCACF,SAAS,gCACD,uHAEF;QAsDC;EA7DF,UAAA,WAAA,CAAmB,EAYhB,MAZgB;EAAA,UAAA,YAAA,CAAA,EAaf,SAbe;EAAA,UACzB,QAAA,CAAA,EAAA,MAAA;EAAwB,SACrB,EAcA,SAdA;EAAgB,OAChB,EAcF,OAdE;EAAO,UACT,OAAA,EAeG,WAfH,CAee,eAff,EAegC,SAfhC,CAAA,EAAA;EAAM,UAAG,UAAA,CAAA,EAgBF,OAhBE,CAgBM,0BAhBN,EAgBkC,eAhBlC,CAAA;EAAM,UACP,eAAA,CAAA,EAgBI,OAhBJ,CAgBY,wBAhBZ,EAgBsC,aAhBtC,CAAA;EAAc,UAEhB,gBAAA,CAAA,EAeO,OAfP,CAee,oBAff,EAeqC,SAfrC,CAAA;EAAY,OAsDX,kBAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,IArCqB,gBAqCrB;EAAA,OAjDC,6BAAA,CAAA,UAmBb,wBAnBa,GAAA,SAAA,CAAA,CAAA,IAAA,EAAA,OAAA,EAAA,MAAA,EAoBC,CApBD,CAAA,EAoBK,OApBL,CAoBa,6BApBb,CAoB2C,CApB3C,CAAA,CAAA;EAAM,WACL,CAAA,IAAA,CAAA,EAgDF,aAhDE;EAAS,SAGhB,QAAA,CAAA,UA+CU,OA/CV,EAAA,CAAA,CAAA,QAAA,EA+C+B,CA/C/B,CAAA,EAAA,GAAA;EAAS,SACX,MAAA,CAAA,UAgDU,MAhDV,CAAA,CAAA,MAAA,EAgD0B,CAhD1B,CAAA,EAAA,GAAA;EAAO,OAEQ,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EAAe,SAAE,MAAA,CAAA,UAqDtB,gBArDsB,CAAA,CAAA,MAAA,EAqDI,CArDJ,CAAA,EAAA,GAAA;EAAS,SAAtC,KAAA,CAAA,UAuDM,wBAvDN,CAAA,CAAA,MAAA,EAuDwC,CAvDxC,CAAA,EAAA,GAAA;EAAW,KACC,CAAA,eAwDV,WAxDU,CAwDE,eAxDF,EAwDmB,SAxDnB,CAAA,CAAA,CAAA,KAAA,EAyDvB,MAzDuB,CAAA,EAAA,IAAA;EAA0B,SAAE,CAAA,UA+DvC,cA/DuC,CAAA,GAAA,CAAA,EAAA,cAAA,MAAA,CAAA,CAAA,SAAA,EAgE/C,OAhE+C,CAgEvC,KAhEuC,EAgEhC,CAhEgC,CAAA,CAAA,EAiExD,mBAjEwD,CAkE1D,MAlE0D,EAmE1D,SAnE0D,EAoE1D,SApE0D,EAqE1D,OArE0D,EAsE1D,CAtE0D,EAuE1D,KAvE0D,EAwE1D,aAxE0D,EAyE1D,wBAzE0D,EA0E1D,SA1E0D,EA2E1D,oBA3E0D,CAAA;EAAe,OAAnD,CAAA,UAgGL,YAhGK,EAAA,cAAA,MAAA,CAAA,CAAA,OAAA,EAiGb,OAjGa,CAiGL,KAjGK,EAiGE,CAjGF,CAAA,CAAA,EAkGpB,mBAlGoB,CAmGtB,MAnGsB,EAoGtB,SApGsB,EAqGtB,SArGsB,EAsGtB,OAtGsB,EAuGtB,eAvGsB,EAwGtB,0BAxGsB,EAyGtB,CAzGsB,EA0GtB,KA1GsB,EA2GtB,SA3GsB,EA4GtB,oBA5GsB,CAAA;EAAO;;;;EAE2B,QAAE,CAAA,CAAA,EAAA,cAAA,MAAA,CAAA,CAAA,OAAA,EAoIjD,OApIiD,CAoIzC,KApIyC,EAoIlC,CApIkC,CAAA,CAAA,EAqIxD,mBArIwD,CAsI1D,MAtI0D,EAuI1D,SAvI0D,EAwI1D,SAxI0D,EAyI1D,OAzI0D,EA0I1D,eA1I0D,EA2I1D,0BA3I0D,EA4I1D,aA5I0D,EA6I1D,wBA7I0D,EA8I1D,CA9I0D,EA+I1D,KA/I0D,CAAA"}
@@ -1,8 +1,8 @@
1
- import { ConstructType } from "./Construct-XrijZFFh.mjs";
2
- import { Service } from "@geekmidas/services";
1
+ import { ConstructType } from "./Construct-Dl0l2d8d.cjs";
3
2
  import { AuditStorage } from "@geekmidas/audit";
4
3
  import { EventPublisher, MappedEvent } from "@geekmidas/events";
5
4
  import { Logger } from "@geekmidas/logger";
5
+ import { Service } from "@geekmidas/services";
6
6
  import { StandardSchemaV1 } from "@standard-schema/spec";
7
7
  import { ComposableStandardSchema, InferComposableStandardSchema } from "@geekmidas/schema";
8
8
 
@@ -39,4 +39,4 @@ declare abstract class BaseFunctionBuilder<TInput extends ComposableStandardSche
39
39
 
40
40
  //#endregion
41
41
  export { BaseFunctionBuilder };
42
- //# sourceMappingURL=BaseFunctionBuilder-DRY419e7.d.mts.map
42
+ //# sourceMappingURL=BaseFunctionBuilder-CcK691ni.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseFunctionBuilder-CcK691ni.d.cts","names":[],"sources":["../src/functions/BaseFunctionBuilder.ts"],"sourcesContent":[],"mappings":";;;;;;;;;uBAesB,mCACN,4CACG,4DACA,gCACF,SAAS,gCACD,uHAEF;QAsDC;EA7DF,UAAA,WAAA,CAAmB,EAYhB,MAZgB;EAAA,UAAA,YAAA,CAAA,EAaf,SAbe;EAAA,UACzB,QAAA,CAAA,EAAA,MAAA;EAAwB,SACrB,EAcA,SAdA;EAAgB,OAChB,EAcF,OAdE;EAAO,UACT,OAAA,EAeG,WAfH,CAee,eAff,EAegC,SAfhC,CAAA,EAAA;EAAM,UAAG,UAAA,CAAA,EAgBF,OAhBE,CAgBM,0BAhBN,EAgBkC,eAhBlC,CAAA;EAAM,UACP,eAAA,CAAA,EAgBI,OAhBJ,CAgBY,wBAhBZ,EAgBsC,aAhBtC,CAAA;EAAc,UAEhB,gBAAA,CAAA,EAeO,OAfP,CAee,oBAff,EAeqC,SAfrC,CAAA;EAAY,OAsDX,kBAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,IArCqB,gBAqCrB;EAAA,OAjDC,6BAAA,CAAA,UAmBb,wBAnBa,GAAA,SAAA,CAAA,CAAA,IAAA,EAAA,OAAA,EAAA,MAAA,EAoBC,CApBD,CAAA,EAoBK,OApBL,CAoBa,6BApBb,CAoB2C,CApB3C,CAAA,CAAA;EAAM,WACL,CAAA,IAAA,CAAA,EAgDF,aAhDE;EAAS,SAGhB,QAAA,CAAA,UA+CU,OA/CV,EAAA,CAAA,CAAA,QAAA,EA+C+B,CA/C/B,CAAA,EAAA,GAAA;EAAS,SACX,MAAA,CAAA,UAgDU,MAhDV,CAAA,CAAA,MAAA,EAgD0B,CAhD1B,CAAA,EAAA,GAAA;EAAO,OAEQ,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EAAe,SAAE,MAAA,CAAA,UAqDtB,gBArDsB,CAAA,CAAA,MAAA,EAqDI,CArDJ,CAAA,EAAA,GAAA;EAAS,SAAtC,KAAA,CAAA,UAuDM,wBAvDN,CAAA,CAAA,MAAA,EAuDwC,CAvDxC,CAAA,EAAA,GAAA;EAAW,KACC,CAAA,eAwDV,WAxDU,CAwDE,eAxDF,EAwDmB,SAxDnB,CAAA,CAAA,CAAA,KAAA,EAyDvB,MAzDuB,CAAA,EAAA,IAAA;EAA0B,SAAE,CAAA,UA+DvC,cA/DuC,CAAA,GAAA,CAAA,EAAA,cAAA,MAAA,CAAA,CAAA,SAAA,EAgE/C,OAhE+C,CAgEvC,KAhEuC,EAgEhC,CAhEgC,CAAA,CAAA,EAiExD,mBAjEwD,CAkE1D,MAlE0D,EAmE1D,SAnE0D,EAoE1D,SApE0D,EAqE1D,OArE0D,EAsE1D,CAtE0D,EAuE1D,KAvE0D,EAwE1D,aAxE0D,EAyE1D,wBAzE0D,EA0E1D,SA1E0D,EA2E1D,oBA3E0D,CAAA;EAAe,OAAnD,CAAA,UAgGL,YAhGK,EAAA,cAAA,MAAA,CAAA,CAAA,OAAA,EAiGb,OAjGa,CAiGL,KAjGK,EAiGE,CAjGF,CAAA,CAAA,EAkGpB,mBAlGoB,CAmGtB,MAnGsB,EAoGtB,SApGsB,EAqGtB,SArGsB,EAsGtB,OAtGsB,EAuGtB,eAvGsB,EAwGtB,0BAxGsB,EAyGtB,CAzGsB,EA0GtB,KA1GsB,EA2GtB,SA3GsB,EA4GtB,oBA5GsB,CAAA;EAAO;;;;EAE2B,QAAE,CAAA,CAAA,EAAA,cAAA,MAAA,CAAA,CAAA,OAAA,EAoIjD,OApIiD,CAoIzC,KApIyC,EAoIlC,CApIkC,CAAA,CAAA,EAqIxD,mBArIwD,CAsI1D,MAtI0D,EAuI1D,SAvI0D,EAwI1D,SAxI0D,EAyI1D,OAzI0D,EA0I1D,eA1I0D,EA2I1D,0BA3I0D,EA4I1D,aA5I0D,EA6I1D,wBA7I0D,EA8I1D,CA9I0D,EA+I1D,KA/I0D,CAAA"}
@@ -1,4 +1,4 @@
1
- import { ConstructType } from "./Construct-DdyGHuag.mjs";
1
+ import { ConstructType } from "./Construct-BNDLJJfD.mjs";
2
2
  import { ConsoleLogger } from "@geekmidas/logger/console";
3
3
  import get from "lodash.get";
4
4
 
@@ -67,4 +67,4 @@ var BaseFunctionBuilder = class BaseFunctionBuilder {
67
67
 
68
68
  //#endregion
69
69
  export { BaseFunctionBuilder };
70
- //# sourceMappingURL=BaseFunctionBuilder-Czi1Jwza.mjs.map
70
+ //# sourceMappingURL=BaseFunctionBuilder-Dsqe6pnn.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseFunctionBuilder-Dsqe6pnn.mjs","names":["DEFAULT_LOGGER","s: unknown","data: unknown","schema: T","result: any","timeout: number","event: TEvent","publisher: Service<TName, T>","storage: Service<TName, T>","service: Service<TName, T>"],"sources":["../src/functions/BaseFunctionBuilder.ts"],"sourcesContent":["import type { AuditStorage } from '@geekmidas/audit';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type {\n\tComposableStandardSchema,\n\tInferComposableStandardSchema,\n} from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport get from 'lodash.get';\nimport { ConstructType } from '../Construct';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport abstract class BaseFunctionBuilder<\n\tTInput extends ComposableStandardSchema,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n> {\n\tprotected inputSchema?: TInput;\n\tprotected outputSchema?: OutSchema;\n\tprotected _timeout?: number;\n\n\tpublic _services: TServices = [] as Service[] as TServices;\n\tpublic _logger: TLogger = DEFAULT_LOGGER;\n\n\tprotected _events: MappedEvent<TEventPublisher, OutSchema>[] = [];\n\tprotected _publisher?: Service<TEventPublisherServiceName, TEventPublisher>;\n\tprotected _auditorStorage?: Service<TAuditStorageServiceName, TAuditStorage>;\n\tprotected _databaseService?: Service<TDatabaseServiceName, TDatabase>;\n\n\tstatic isStandardSchemaV1(s: unknown): s is StandardSchemaV1 {\n\t\tconst schema = (s as StandardSchemaV1)['~standard'];\n\n\t\treturn schema && typeof schema.validate === 'function';\n\t}\n\n\tstatic async parseComposableStandardSchema<\n\t\tT extends ComposableStandardSchema | undefined,\n\t>(data: unknown, schema: T): Promise<InferComposableStandardSchema<T>> {\n\t\tif (BaseFunctionBuilder.isStandardSchemaV1(schema)) {\n\t\t\tconst validated = await schema['~standard'].validate(data);\n\n\t\t\tif (validated.issues) {\n\t\t\t\tthrow validated.issues;\n\t\t\t}\n\n\t\t\treturn validated.value as InferComposableStandardSchema<T>;\n\t\t}\n\n\t\tconst result: any = {};\n\t\tfor (const key in schema) {\n\t\t\tconst item = schema[key];\n\t\t\tif (BaseFunctionBuilder.isStandardSchemaV1(item)) {\n\t\t\t\tconst value = get(data, key);\n\t\t\t\tconst validated = await item['~standard'].validate(value);\n\n\t\t\t\tif (validated.issues) {\n\t\t\t\t\tthrow validated.issues;\n\t\t\t\t}\n\n\t\t\t\tresult[key] = validated.value;\n\t\t\t}\n\t\t}\n\n\t\treturn result as InferComposableStandardSchema<T>;\n\t}\n\n\tconstructor(public type = ConstructType.Function) {}\n\n\tabstract services<T extends Service[]>(services: T): any;\n\n\tabstract logger<T extends Logger>(logger: T): any;\n\n\ttimeout(timeout: number): this {\n\t\tthis._timeout = timeout;\n\t\treturn this;\n\t}\n\n\tabstract output<T extends StandardSchemaV1>(schema: T): any;\n\n\tabstract input<T extends ComposableStandardSchema>(schema: T): any;\n\n\tevent<TEvent extends MappedEvent<TEventPublisher, OutSchema>>(\n\t\tevent: TEvent,\n\t): this {\n\t\tthis._events.push(event);\n\t\treturn this;\n\t}\n\n\tpublisher<T extends EventPublisher<any>, TName extends string>(\n\t\tpublisher: Service<TName, T>,\n\t): BaseFunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tT,\n\t\tTName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._publisher = publisher as unknown as Service<\n\t\t\tTEventPublisherServiceName,\n\t\t\tTEventPublisher\n\t\t>;\n\n\t\treturn this as unknown as BaseFunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\tauditor<T extends AuditStorage, TName extends string>(\n\t\tstorage: Service<TName, T>,\n\t): BaseFunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tT,\n\t\tTName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._auditorStorage = storage as unknown as Service<\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditStorage\n\t\t>;\n\n\t\treturn this as unknown as BaseFunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\t/**\n\t * Set the database service for this function.\n\t * The database will be available in the handler context as `db`.\n\t */\n\tdatabase<T, TName extends string>(\n\t\tservice: Service<TName, T>,\n\t): BaseFunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tT,\n\t\tTName\n\t> {\n\t\tthis._databaseService = service as unknown as Service<\n\t\t\tTDatabaseServiceName,\n\t\t\tTDatabase\n\t\t>;\n\n\t\treturn this as unknown as BaseFunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tT,\n\t\t\tTName\n\t\t>;\n\t}\n}\n"],"mappings":";;;;;AAaA,MAAMA,mBAAiB,IAAI;AAE3B,IAAsB,sBAAtB,MAAsB,oBAWpB;CACD,AAAU;CACV,AAAU;CACV,AAAU;CAEV,AAAO,YAAuB,CAAE;CAChC,AAAO,UAAmBA;CAE1B,AAAU,UAAqD,CAAE;CACjE,AAAU;CACV,AAAU;CACV,AAAU;CAEV,OAAO,mBAAmBC,GAAmC;EAC5D,MAAM,SAAU,EAAuB;AAEvC,SAAO,iBAAiB,OAAO,aAAa;CAC5C;CAED,aAAa,8BAEXC,MAAeC,QAAsD;AACtE,MAAI,oBAAoB,mBAAmB,OAAO,EAAE;GACnD,MAAM,YAAY,MAAM,OAAO,aAAa,SAAS,KAAK;AAE1D,OAAI,UAAU,OACb,OAAM,UAAU;AAGjB,UAAO,UAAU;EACjB;EAED,MAAMC,SAAc,CAAE;AACtB,OAAK,MAAM,OAAO,QAAQ;GACzB,MAAM,OAAO,OAAO;AACpB,OAAI,oBAAoB,mBAAmB,KAAK,EAAE;IACjD,MAAM,QAAQ,IAAI,MAAM,IAAI;IAC5B,MAAM,YAAY,MAAM,KAAK,aAAa,SAAS,MAAM;AAEzD,QAAI,UAAU,OACb,OAAM,UAAU;AAGjB,WAAO,OAAO,UAAU;GACxB;EACD;AAED,SAAO;CACP;CAED,YAAmB,OAAO,cAAc,UAAU;EAA/B;CAAiC;CAMpD,QAAQC,SAAuB;AAC9B,OAAK,WAAW;AAChB,SAAO;CACP;CAMD,MACCC,OACO;AACP,OAAK,QAAQ,KAAK,MAAM;AACxB,SAAO;CACP;CAED,UACCC,WAYC;AACD,OAAK,aAAa;AAKlB,SAAO;CAYP;CAED,QACCC,SAYC;AACD,OAAK,kBAAkB;AAKvB,SAAO;CAYP;;;;;CAMD,SACCC,SAYC;AACD,OAAK,mBAAmB;AAKxB,SAAO;CAYP;AACD"}
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const require_Construct = require('./Construct-Ba5cMxib.cjs');
2
+ const require_Construct = require('./Construct-CPrCF8NK.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
 
@@ -73,4 +73,4 @@ Object.defineProperty(exports, 'BaseFunctionBuilder', {
73
73
  return BaseFunctionBuilder;
74
74
  }
75
75
  });
76
- //# sourceMappingURL=BaseFunctionBuilder-MYG3C9ug.cjs.map
76
+ //# sourceMappingURL=BaseFunctionBuilder-Z0XwrKB5.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseFunctionBuilder-Z0XwrKB5.cjs","names":["ConsoleLogger","s: unknown","data: unknown","schema: T","result: any","ConstructType","timeout: number","event: TEvent","publisher: Service<TName, T>","storage: Service<TName, T>","service: Service<TName, T>"],"sources":["../src/functions/BaseFunctionBuilder.ts"],"sourcesContent":["import type { AuditStorage } from '@geekmidas/audit';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type {\n\tComposableStandardSchema,\n\tInferComposableStandardSchema,\n} from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport get from 'lodash.get';\nimport { ConstructType } from '../Construct';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport abstract class BaseFunctionBuilder<\n\tTInput extends ComposableStandardSchema,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n> {\n\tprotected inputSchema?: TInput;\n\tprotected outputSchema?: OutSchema;\n\tprotected _timeout?: number;\n\n\tpublic _services: TServices = [] as Service[] as TServices;\n\tpublic _logger: TLogger = DEFAULT_LOGGER;\n\n\tprotected _events: MappedEvent<TEventPublisher, OutSchema>[] = [];\n\tprotected _publisher?: Service<TEventPublisherServiceName, TEventPublisher>;\n\tprotected _auditorStorage?: Service<TAuditStorageServiceName, TAuditStorage>;\n\tprotected _databaseService?: Service<TDatabaseServiceName, TDatabase>;\n\n\tstatic isStandardSchemaV1(s: unknown): s is StandardSchemaV1 {\n\t\tconst schema = (s as StandardSchemaV1)['~standard'];\n\n\t\treturn schema && typeof schema.validate === 'function';\n\t}\n\n\tstatic async parseComposableStandardSchema<\n\t\tT extends ComposableStandardSchema | undefined,\n\t>(data: unknown, schema: T): Promise<InferComposableStandardSchema<T>> {\n\t\tif (BaseFunctionBuilder.isStandardSchemaV1(schema)) {\n\t\t\tconst validated = await schema['~standard'].validate(data);\n\n\t\t\tif (validated.issues) {\n\t\t\t\tthrow validated.issues;\n\t\t\t}\n\n\t\t\treturn validated.value as InferComposableStandardSchema<T>;\n\t\t}\n\n\t\tconst result: any = {};\n\t\tfor (const key in schema) {\n\t\t\tconst item = schema[key];\n\t\t\tif (BaseFunctionBuilder.isStandardSchemaV1(item)) {\n\t\t\t\tconst value = get(data, key);\n\t\t\t\tconst validated = await item['~standard'].validate(value);\n\n\t\t\t\tif (validated.issues) {\n\t\t\t\t\tthrow validated.issues;\n\t\t\t\t}\n\n\t\t\t\tresult[key] = validated.value;\n\t\t\t}\n\t\t}\n\n\t\treturn result as InferComposableStandardSchema<T>;\n\t}\n\n\tconstructor(public type = ConstructType.Function) {}\n\n\tabstract services<T extends Service[]>(services: T): any;\n\n\tabstract logger<T extends Logger>(logger: T): any;\n\n\ttimeout(timeout: number): this {\n\t\tthis._timeout = timeout;\n\t\treturn this;\n\t}\n\n\tabstract output<T extends StandardSchemaV1>(schema: T): any;\n\n\tabstract input<T extends ComposableStandardSchema>(schema: T): any;\n\n\tevent<TEvent extends MappedEvent<TEventPublisher, OutSchema>>(\n\t\tevent: TEvent,\n\t): this {\n\t\tthis._events.push(event);\n\t\treturn this;\n\t}\n\n\tpublisher<T extends EventPublisher<any>, TName extends string>(\n\t\tpublisher: Service<TName, T>,\n\t): BaseFunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tT,\n\t\tTName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._publisher = publisher as unknown as Service<\n\t\t\tTEventPublisherServiceName,\n\t\t\tTEventPublisher\n\t\t>;\n\n\t\treturn this as unknown as BaseFunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\tauditor<T extends AuditStorage, TName extends string>(\n\t\tstorage: Service<TName, T>,\n\t): BaseFunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tT,\n\t\tTName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._auditorStorage = storage as unknown as Service<\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditStorage\n\t\t>;\n\n\t\treturn this as unknown as BaseFunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\t/**\n\t * Set the database service for this function.\n\t * The database will be available in the handler context as `db`.\n\t */\n\tdatabase<T, TName extends string>(\n\t\tservice: Service<TName, T>,\n\t): BaseFunctionBuilder<\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tT,\n\t\tTName\n\t> {\n\t\tthis._databaseService = service as unknown as Service<\n\t\t\tTDatabaseServiceName,\n\t\t\tTDatabase\n\t\t>;\n\n\t\treturn this as unknown as BaseFunctionBuilder<\n\t\t\tTInput,\n\t\t\tOutSchema,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tT,\n\t\t\tTName\n\t\t>;\n\t}\n}\n"],"mappings":";;;;;;AAaA,MAAM,iBAAiB,IAAIA;AAE3B,IAAsB,sBAAtB,MAAsB,oBAWpB;CACD,AAAU;CACV,AAAU;CACV,AAAU;CAEV,AAAO,YAAuB,CAAE;CAChC,AAAO,UAAmB;CAE1B,AAAU,UAAqD,CAAE;CACjE,AAAU;CACV,AAAU;CACV,AAAU;CAEV,OAAO,mBAAmBC,GAAmC;EAC5D,MAAM,SAAU,EAAuB;AAEvC,SAAO,iBAAiB,OAAO,aAAa;CAC5C;CAED,aAAa,8BAEXC,MAAeC,QAAsD;AACtE,MAAI,oBAAoB,mBAAmB,OAAO,EAAE;GACnD,MAAM,YAAY,MAAM,OAAO,aAAa,SAAS,KAAK;AAE1D,OAAI,UAAU,OACb,OAAM,UAAU;AAGjB,UAAO,UAAU;EACjB;EAED,MAAMC,SAAc,CAAE;AACtB,OAAK,MAAM,OAAO,QAAQ;GACzB,MAAM,OAAO,OAAO;AACpB,OAAI,oBAAoB,mBAAmB,KAAK,EAAE;IACjD,MAAM,QAAQ,wBAAI,MAAM,IAAI;IAC5B,MAAM,YAAY,MAAM,KAAK,aAAa,SAAS,MAAM;AAEzD,QAAI,UAAU,OACb,OAAM,UAAU;AAGjB,WAAO,OAAO,UAAU;GACxB;EACD;AAED,SAAO;CACP;CAED,YAAmB,OAAOC,gCAAc,UAAU;EAA/B;CAAiC;CAMpD,QAAQC,SAAuB;AAC9B,OAAK,WAAW;AAChB,SAAO;CACP;CAMD,MACCC,OACO;AACP,OAAK,QAAQ,KAAK,MAAM;AACxB,SAAO;CACP;CAED,UACCC,WAYC;AACD,OAAK,aAAa;AAKlB,SAAO;CAYP;CAED,QACCC,SAYC;AACD,OAAK,kBAAkB;AAKvB,SAAO;CAYP;;;;;CAMD,SACCC,SAYC;AACD,OAAK,mBAAmB;AAKxB,SAAO;CAYP;AACD"}
@@ -0,0 +1,150 @@
1
+ import { SnifferEnvironmentParser } from "@geekmidas/envkit/sniffer";
2
+ import compact from "lodash.compact";
3
+
4
+ //#region src/Construct.ts
5
+ const serviceEnvCache = /* @__PURE__ */ new Map();
6
+ /**
7
+ * Noop context for environment sniffing.
8
+ * Used when calling service.register() to detect env vars without a real request.
9
+ * Returns dummy values since services should only use context in instance methods,
10
+ * not during registration.
11
+ */
12
+ const snifferContext = {
13
+ getLogger() {
14
+ return {
15
+ debug: () => {},
16
+ info: () => {},
17
+ warn: () => {},
18
+ error: () => {},
19
+ child: () => snifferContext.getLogger()
20
+ };
21
+ },
22
+ getRequestId() {
23
+ return "sniffer-context";
24
+ },
25
+ getRequestStartTime() {
26
+ return Date.now();
27
+ },
28
+ hasContext() {
29
+ return false;
30
+ }
31
+ };
32
+ var Construct = class {
33
+ constructor(type, logger, services, events = [], publisherService, outputSchema, timeout, memorySize, auditorStorageService) {
34
+ this.type = type;
35
+ this.logger = logger;
36
+ this.services = services;
37
+ this.events = events;
38
+ this.publisherService = publisherService;
39
+ this.outputSchema = outputSchema;
40
+ this.timeout = timeout;
41
+ this.memorySize = memorySize;
42
+ this.auditorStorageService = auditorStorageService;
43
+ }
44
+ /**
45
+ * Returns an array of environment variable names required by this construct's services.
46
+ * This is determined by running a "sniffer" EnvironmentParser through each service's
47
+ * register method to track which environment variables are accessed.
48
+ *
49
+ * Results are cached per service class to handle singleton patterns where
50
+ * subsequent register() calls may short-circuit and not access env vars.
51
+ *
52
+ * @returns Promise that resolves to array of environment variable names, sorted alphabetically
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * const endpoint = e
57
+ * .services([databaseService, authService])
58
+ * .get('/users')
59
+ * .handle(async () => []);
60
+ *
61
+ * const envVars = await endpoint.getEnvironment(); // ['AUTH_SECRET', 'DATABASE_URL']
62
+ * ```
63
+ */
64
+ async getEnvironment() {
65
+ const envVars = /* @__PURE__ */ new Set();
66
+ const services = compact([
67
+ ...this.services,
68
+ this.publisherService,
69
+ this.auditorStorageService
70
+ ]);
71
+ try {
72
+ for (const service of services) {
73
+ if (serviceEnvCache.has(service)) {
74
+ const cached = serviceEnvCache.get(service);
75
+ cached.forEach((v) => envVars.add(v));
76
+ continue;
77
+ }
78
+ const result = await sniffService(service);
79
+ if (result.error) this.logger.warn({
80
+ error: result.error.message,
81
+ service: service.serviceName
82
+ }, "Service threw error during env sniffing (env vars still captured)");
83
+ if (result.unhandledRejections.length > 0) this.logger.warn({
84
+ errors: result.unhandledRejections.map((e) => e.message),
85
+ service: service.serviceName
86
+ }, "Fire-and-forget rejections during env sniffing (suppressed)");
87
+ serviceEnvCache.set(service, result.envVars);
88
+ result.envVars.forEach((v) => envVars.add(v));
89
+ }
90
+ return Array.from(envVars).sort();
91
+ } catch (error) {
92
+ this.logger.error({ error }, "Error determining environment variables for construct");
93
+ return [];
94
+ }
95
+ }
96
+ };
97
+ let ConstructType = /* @__PURE__ */ function(ConstructType$1) {
98
+ ConstructType$1["Cron"] = "dev.geekmidas.function.cron";
99
+ ConstructType$1["Endpoint"] = "dev.geekmidas.function.endpoint";
100
+ ConstructType$1["Function"] = "dev.geekmidas.function.function";
101
+ ConstructType$1["Subscriber"] = "dev.geekmidas.function.subscriber";
102
+ return ConstructType$1;
103
+ }({});
104
+ /**
105
+ * Utility to test sniffing a service for environment variables.
106
+ * Useful for debugging services that throw errors during sniffing.
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * import { sniffService } from '@geekmidas/constructs';
111
+ * import { authService } from './services/AuthService';
112
+ *
113
+ * const result = await sniffService(authService);
114
+ * console.log('Env vars:', result.envVars);
115
+ * console.log('Error:', result.error);
116
+ * ```
117
+ */
118
+ async function sniffService(service) {
119
+ const sniffer = new SnifferEnvironmentParser();
120
+ const unhandledRejections = [];
121
+ const captureRejection = (reason) => {
122
+ const err = reason instanceof Error ? reason : new Error(String(reason));
123
+ unhandledRejections.push(err);
124
+ };
125
+ process.on("unhandledRejection", captureRejection);
126
+ let error;
127
+ try {
128
+ const result = service.register({
129
+ envParser: sniffer,
130
+ context: snifferContext
131
+ });
132
+ if (result && typeof result === "object" && "then" in result) await Promise.resolve(result).catch((e) => {
133
+ error = e;
134
+ });
135
+ } catch (e) {
136
+ error = e;
137
+ } finally {
138
+ await new Promise((resolve) => setTimeout(resolve, 100));
139
+ process.off("unhandledRejection", captureRejection);
140
+ }
141
+ return {
142
+ envVars: sniffer.getEnvironmentVariables(),
143
+ error,
144
+ unhandledRejections
145
+ };
146
+ }
147
+
148
+ //#endregion
149
+ export { Construct, ConstructType, sniffService, snifferContext };
150
+ //# sourceMappingURL=Construct-BNDLJJfD.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Construct-BNDLJJfD.mjs","names":["snifferContext: ServiceContext","type: ConstructType","logger: TLogger","services: TServices","events: MappedEvent<T, any>[]","publisherService?: Service<TServiceName, T>","outputSchema?: OutSchema","timeout?: number","memorySize?: number","auditorStorageService?: Service<\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditStorage\n\t\t>","services: Service[]","service: Service","unhandledRejections: Error[]","reason: unknown","error: Error | undefined"],"sources":["../src/Construct.ts"],"sourcesContent":["import type { AuditStorage } from '@geekmidas/audit';\nimport { SnifferEnvironmentParser } from '@geekmidas/envkit/sniffer';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { Service, ServiceContext } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport compact from 'lodash.compact';\n\n// Cache for service environment variables to handle singleton services\n// Key: service class/constructor, Value: array of env var names\nconst serviceEnvCache = new Map<Service, string[]>();\n\n/**\n * Noop context for environment sniffing.\n * Used when calling service.register() to detect env vars without a real request.\n * Returns dummy values since services should only use context in instance methods,\n * not during registration.\n */\nconst snifferContext: ServiceContext = {\n\tgetLogger() {\n\t\t// Return a noop logger for sniffing - services shouldn't log during registration\n\t\treturn {\n\t\t\tdebug: () => {},\n\t\t\tinfo: () => {},\n\t\t\twarn: () => {},\n\t\t\terror: () => {},\n\t\t\tchild: () => snifferContext.getLogger(),\n\t\t} as unknown as Logger;\n\t},\n\tgetRequestId() {\n\t\treturn 'sniffer-context';\n\t},\n\tgetRequestStartTime() {\n\t\treturn Date.now();\n\t},\n\thasContext() {\n\t\treturn false;\n\t},\n};\n\nexport abstract class Construct<\n\tTLogger extends Logger = Logger,\n\tTServiceName extends string = string,\n\tT extends EventPublisher<any> | undefined = undefined,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTAuditStorageServiceName extends string = string,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n> {\n\tconstructor(\n\t\tpublic readonly type: ConstructType,\n\t\tpublic readonly logger: TLogger,\n\t\tpublic readonly services: TServices,\n\t\tpublic readonly events: MappedEvent<T, any>[] = [],\n\n\t\tpublic readonly publisherService?: Service<TServiceName, T>,\n\t\tpublic outputSchema?: OutSchema,\n\t\tpublic readonly timeout?: number,\n\t\tpublic readonly memorySize?: number,\n\t\tpublic readonly auditorStorageService?: Service<\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditStorage\n\t\t>,\n\t) {}\n\n\t/**\n\t * Returns an array of environment variable names required by this construct's services.\n\t * This is determined by running a \"sniffer\" EnvironmentParser through each service's\n\t * register method to track which environment variables are accessed.\n\t *\n\t * Results are cached per service class to handle singleton patterns where\n\t * subsequent register() calls may short-circuit and not access env vars.\n\t *\n\t * @returns Promise that resolves to array of environment variable names, sorted alphabetically\n\t *\n\t * @example\n\t * ```typescript\n\t * const endpoint = e\n\t * .services([databaseService, authService])\n\t * .get('/users')\n\t * .handle(async () => []);\n\t *\n\t * const envVars = await endpoint.getEnvironment(); // ['AUTH_SECRET', 'DATABASE_URL']\n\t * ```\n\t */\n\tasync getEnvironment(): Promise<string[]> {\n\t\tconst envVars = new Set<string>();\n\t\tconst services: Service[] = compact([\n\t\t\t...this.services,\n\t\t\tthis.publisherService,\n\t\t\tthis.auditorStorageService,\n\t\t]);\n\n\t\ttry {\n\t\t\tfor (const service of services) {\n\t\t\t\t// Check cache first - handles singleton services that short-circuit\n\t\t\t\tif (serviceEnvCache.has(service)) {\n\t\t\t\t\tconst cached = serviceEnvCache.get(service)!;\n\t\t\t\t\tcached.forEach((v) => envVars.add(v));\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Use sniffService to properly handle all error scenarios\n\t\t\t\tconst result = await sniffService(service);\n\n\t\t\t\t// Log any issues for debugging\n\t\t\t\tif (result.error) {\n\t\t\t\t\tthis.logger.warn(\n\t\t\t\t\t\t{ error: result.error.message, service: service.serviceName },\n\t\t\t\t\t\t'Service threw error during env sniffing (env vars still captured)',\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (result.unhandledRejections.length > 0) {\n\t\t\t\t\tthis.logger.warn(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\terrors: result.unhandledRejections.map((e) => e.message),\n\t\t\t\t\t\t\tservice: service.serviceName,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'Fire-and-forget rejections during env sniffing (suppressed)',\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Cache and collect the env vars\n\t\t\t\tserviceEnvCache.set(service, result.envVars);\n\t\t\t\tresult.envVars.forEach((v) => envVars.add(v));\n\t\t\t}\n\n\t\t\treturn Array.from(envVars).sort();\n\t\t} catch (error) {\n\t\t\tthis.logger.error(\n\t\t\t\t{ error },\n\t\t\t\t'Error determining environment variables for construct',\n\t\t\t);\n\n\t\t\treturn [];\n\t\t}\n\t}\n}\n\nexport enum ConstructType {\n\tCron = 'dev.geekmidas.function.cron',\n\tEndpoint = 'dev.geekmidas.function.endpoint',\n\tFunction = 'dev.geekmidas.function.function',\n\tSubscriber = 'dev.geekmidas.function.subscriber',\n}\n\n/**\n * Utility to test sniffing a service for environment variables.\n * Useful for debugging services that throw errors during sniffing.\n *\n * @example\n * ```typescript\n * import { sniffService } from '@geekmidas/constructs';\n * import { authService } from './services/AuthService';\n *\n * const result = await sniffService(authService);\n * console.log('Env vars:', result.envVars);\n * console.log('Error:', result.error);\n * ```\n */\nexport async function sniffService(service: Service): Promise<{\n\tenvVars: string[];\n\terror?: Error;\n\tunhandledRejections: Error[];\n}> {\n\tconst sniffer = new SnifferEnvironmentParser();\n\tconst unhandledRejections: Error[] = [];\n\n\t// Capture unhandled rejections during sniffing (fire-and-forget promises)\n\tconst captureRejection = (reason: unknown) => {\n\t\tconst err = reason instanceof Error ? reason : new Error(String(reason));\n\t\tunhandledRejections.push(err);\n\t};\n\tprocess.on('unhandledRejection', captureRejection);\n\n\tlet error: Error | undefined;\n\n\ttry {\n\t\tconst result = service.register({\n\t\t\tenvParser: sniffer as any,\n\t\t\tcontext: snifferContext,\n\t\t});\n\n\t\tif (result && typeof result === 'object' && 'then' in result) {\n\t\t\tawait Promise.resolve(result).catch((e) => {\n\t\t\t\terror = e;\n\t\t\t});\n\t\t}\n\t} catch (e) {\n\t\terror = e as Error;\n\t} finally {\n\t\t// Wait for fire-and-forget promises to settle - some libraries like better-auth\n\t\t// create async operations that may reject after the initial event loop tick\n\t\tawait new Promise((resolve) => setTimeout(resolve, 100));\n\t\tprocess.off('unhandledRejection', captureRejection);\n\t}\n\n\treturn {\n\t\tenvVars: sniffer.getEnvironmentVariables(),\n\t\terror,\n\t\tunhandledRejections,\n\t};\n}\n\n// Export for testing\nexport { snifferContext };\n"],"mappings":";;;;AAUA,MAAM,kCAAkB,IAAI;;;;;;;AAQ5B,MAAMA,iBAAiC;CACtC,YAAY;AAEX,SAAO;GACN,OAAO,MAAM,CAAE;GACf,MAAM,MAAM,CAAE;GACd,MAAM,MAAM,CAAE;GACd,OAAO,MAAM,CAAE;GACf,OAAO,MAAM,eAAe,WAAW;EACvC;CACD;CACD,eAAe;AACd,SAAO;CACP;CACD,sBAAsB;AACrB,SAAO,KAAK,KAAK;CACjB;CACD,aAAa;AACZ,SAAO;CACP;AACD;AAED,IAAsB,YAAtB,MAQE;CACD,YACiBC,MACAC,QACAC,UACAC,SAAgC,CAAE,GAElCC,kBACTC,cACSC,SACAC,YACAC,uBAIf;EAbe;EACA;EACA;EACA;EAEA;EACT;EACS;EACA;EACA;CAIb;;;;;;;;;;;;;;;;;;;;;CAsBJ,MAAM,iBAAoC;EACzC,MAAM,0BAAU,IAAI;EACpB,MAAMC,WAAsB,QAAQ;GACnC,GAAG,KAAK;GACR,KAAK;GACL,KAAK;EACL,EAAC;AAEF,MAAI;AACH,QAAK,MAAM,WAAW,UAAU;AAE/B,QAAI,gBAAgB,IAAI,QAAQ,EAAE;KACjC,MAAM,SAAS,gBAAgB,IAAI,QAAQ;AAC3C,YAAO,QAAQ,CAAC,MAAM,QAAQ,IAAI,EAAE,CAAC;AACrC;IACA;IAGD,MAAM,SAAS,MAAM,aAAa,QAAQ;AAG1C,QAAI,OAAO,MACV,MAAK,OAAO,KACX;KAAE,OAAO,OAAO,MAAM;KAAS,SAAS,QAAQ;IAAa,GAC7D,oEACA;AAEF,QAAI,OAAO,oBAAoB,SAAS,EACvC,MAAK,OAAO,KACX;KACC,QAAQ,OAAO,oBAAoB,IAAI,CAAC,MAAM,EAAE,QAAQ;KACxD,SAAS,QAAQ;IACjB,GACD,8DACA;AAIF,oBAAgB,IAAI,SAAS,OAAO,QAAQ;AAC5C,WAAO,QAAQ,QAAQ,CAAC,MAAM,QAAQ,IAAI,EAAE,CAAC;GAC7C;AAED,UAAO,MAAM,KAAK,QAAQ,CAAC,MAAM;EACjC,SAAQ,OAAO;AACf,QAAK,OAAO,MACX,EAAE,MAAO,GACT,wDACA;AAED,UAAO,CAAE;EACT;CACD;AACD;AAED,IAAY,0DAAL;AACN;AACA;AACA;AACA;;AACA;;;;;;;;;;;;;;;AAgBD,eAAsB,aAAaC,SAIhC;CACF,MAAM,UAAU,IAAI;CACpB,MAAMC,sBAA+B,CAAE;CAGvC,MAAM,mBAAmB,CAACC,WAAoB;EAC7C,MAAM,MAAM,kBAAkB,QAAQ,SAAS,IAAI,MAAM,OAAO,OAAO;AACvE,sBAAoB,KAAK,IAAI;CAC7B;AACD,SAAQ,GAAG,sBAAsB,iBAAiB;CAElD,IAAIC;AAEJ,KAAI;EACH,MAAM,SAAS,QAAQ,SAAS;GAC/B,WAAW;GACX,SAAS;EACT,EAAC;AAEF,MAAI,iBAAiB,WAAW,YAAY,UAAU,OACrD,OAAM,QAAQ,QAAQ,OAAO,CAAC,MAAM,CAAC,MAAM;AAC1C,WAAQ;EACR,EAAC;CAEH,SAAQ,GAAG;AACX,UAAQ;CACR,UAAS;AAGT,QAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,IAAI;AACvD,UAAQ,IAAI,sBAAsB,iBAAiB;CACnD;AAED,QAAO;EACN,SAAS,QAAQ,yBAAyB;EAC1C;EACA;CACA;AACD"}
@@ -4,6 +4,32 @@ const lodash_compact = require_chunk.__toESM(require("lodash.compact"));
4
4
 
5
5
  //#region src/Construct.ts
6
6
  const serviceEnvCache = /* @__PURE__ */ new Map();
7
+ /**
8
+ * Noop context for environment sniffing.
9
+ * Used when calling service.register() to detect env vars without a real request.
10
+ * Returns dummy values since services should only use context in instance methods,
11
+ * not during registration.
12
+ */
13
+ const snifferContext = {
14
+ getLogger() {
15
+ return {
16
+ debug: () => {},
17
+ info: () => {},
18
+ warn: () => {},
19
+ error: () => {},
20
+ child: () => snifferContext.getLogger()
21
+ };
22
+ },
23
+ getRequestId() {
24
+ return "sniffer-context";
25
+ },
26
+ getRequestStartTime() {
27
+ return Date.now();
28
+ },
29
+ hasContext() {
30
+ return false;
31
+ }
32
+ };
7
33
  var Construct = class {
8
34
  constructor(type, logger, services, events = [], publisherService, outputSchema, timeout, memorySize, auditorStorageService) {
9
35
  this.type = type;
@@ -50,14 +76,17 @@ var Construct = class {
50
76
  cached.forEach((v) => envVars.add(v));
51
77
  continue;
52
78
  }
53
- const sniffer = new __geekmidas_envkit_sniffer.SnifferEnvironmentParser();
54
- try {
55
- const result = service.register(sniffer);
56
- if (result && typeof result === "object" && "then" in result) await Promise.resolve(result);
57
- } catch {}
58
- const serviceEnvVars = sniffer.getEnvironmentVariables();
59
- serviceEnvCache.set(service, serviceEnvVars);
60
- serviceEnvVars.forEach((v) => envVars.add(v));
79
+ const result = await sniffService(service);
80
+ if (result.error) this.logger.warn({
81
+ error: result.error.message,
82
+ service: service.serviceName
83
+ }, "Service threw error during env sniffing (env vars still captured)");
84
+ if (result.unhandledRejections.length > 0) this.logger.warn({
85
+ errors: result.unhandledRejections.map((e) => e.message),
86
+ service: service.serviceName
87
+ }, "Fire-and-forget rejections during env sniffing (suppressed)");
88
+ serviceEnvCache.set(service, result.envVars);
89
+ result.envVars.forEach((v) => envVars.add(v));
61
90
  }
62
91
  return Array.from(envVars).sort();
63
92
  } catch (error) {
@@ -73,6 +102,49 @@ let ConstructType = /* @__PURE__ */ function(ConstructType$1) {
73
102
  ConstructType$1["Subscriber"] = "dev.geekmidas.function.subscriber";
74
103
  return ConstructType$1;
75
104
  }({});
105
+ /**
106
+ * Utility to test sniffing a service for environment variables.
107
+ * Useful for debugging services that throw errors during sniffing.
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * import { sniffService } from '@geekmidas/constructs';
112
+ * import { authService } from './services/AuthService';
113
+ *
114
+ * const result = await sniffService(authService);
115
+ * console.log('Env vars:', result.envVars);
116
+ * console.log('Error:', result.error);
117
+ * ```
118
+ */
119
+ async function sniffService(service) {
120
+ const sniffer = new __geekmidas_envkit_sniffer.SnifferEnvironmentParser();
121
+ const unhandledRejections = [];
122
+ const captureRejection = (reason) => {
123
+ const err = reason instanceof Error ? reason : new Error(String(reason));
124
+ unhandledRejections.push(err);
125
+ };
126
+ process.on("unhandledRejection", captureRejection);
127
+ let error;
128
+ try {
129
+ const result = service.register({
130
+ envParser: sniffer,
131
+ context: snifferContext
132
+ });
133
+ if (result && typeof result === "object" && "then" in result) await Promise.resolve(result).catch((e) => {
134
+ error = e;
135
+ });
136
+ } catch (e) {
137
+ error = e;
138
+ } finally {
139
+ await new Promise((resolve) => setTimeout(resolve, 100));
140
+ process.off("unhandledRejection", captureRejection);
141
+ }
142
+ return {
143
+ envVars: sniffer.getEnvironmentVariables(),
144
+ error,
145
+ unhandledRejections
146
+ };
147
+ }
76
148
 
77
149
  //#endregion
78
150
  Object.defineProperty(exports, 'Construct', {
@@ -87,4 +159,16 @@ Object.defineProperty(exports, 'ConstructType', {
87
159
  return ConstructType;
88
160
  }
89
161
  });
90
- //# sourceMappingURL=Construct-Ba5cMxib.cjs.map
162
+ Object.defineProperty(exports, 'sniffService', {
163
+ enumerable: true,
164
+ get: function () {
165
+ return sniffService;
166
+ }
167
+ });
168
+ Object.defineProperty(exports, 'snifferContext', {
169
+ enumerable: true,
170
+ get: function () {
171
+ return snifferContext;
172
+ }
173
+ });
174
+ //# sourceMappingURL=Construct-CPrCF8NK.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Construct-CPrCF8NK.cjs","names":["snifferContext: ServiceContext","type: ConstructType","logger: TLogger","services: TServices","events: MappedEvent<T, any>[]","publisherService?: Service<TServiceName, T>","outputSchema?: OutSchema","timeout?: number","memorySize?: number","auditorStorageService?: Service<\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditStorage\n\t\t>","services: Service[]","service: Service","SnifferEnvironmentParser","unhandledRejections: Error[]","reason: unknown","error: Error | undefined"],"sources":["../src/Construct.ts"],"sourcesContent":["import type { AuditStorage } from '@geekmidas/audit';\nimport { SnifferEnvironmentParser } from '@geekmidas/envkit/sniffer';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { Service, ServiceContext } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport compact from 'lodash.compact';\n\n// Cache for service environment variables to handle singleton services\n// Key: service class/constructor, Value: array of env var names\nconst serviceEnvCache = new Map<Service, string[]>();\n\n/**\n * Noop context for environment sniffing.\n * Used when calling service.register() to detect env vars without a real request.\n * Returns dummy values since services should only use context in instance methods,\n * not during registration.\n */\nconst snifferContext: ServiceContext = {\n\tgetLogger() {\n\t\t// Return a noop logger for sniffing - services shouldn't log during registration\n\t\treturn {\n\t\t\tdebug: () => {},\n\t\t\tinfo: () => {},\n\t\t\twarn: () => {},\n\t\t\terror: () => {},\n\t\t\tchild: () => snifferContext.getLogger(),\n\t\t} as unknown as Logger;\n\t},\n\tgetRequestId() {\n\t\treturn 'sniffer-context';\n\t},\n\tgetRequestStartTime() {\n\t\treturn Date.now();\n\t},\n\thasContext() {\n\t\treturn false;\n\t},\n};\n\nexport abstract class Construct<\n\tTLogger extends Logger = Logger,\n\tTServiceName extends string = string,\n\tT extends EventPublisher<any> | undefined = undefined,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTAuditStorageServiceName extends string = string,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n> {\n\tconstructor(\n\t\tpublic readonly type: ConstructType,\n\t\tpublic readonly logger: TLogger,\n\t\tpublic readonly services: TServices,\n\t\tpublic readonly events: MappedEvent<T, any>[] = [],\n\n\t\tpublic readonly publisherService?: Service<TServiceName, T>,\n\t\tpublic outputSchema?: OutSchema,\n\t\tpublic readonly timeout?: number,\n\t\tpublic readonly memorySize?: number,\n\t\tpublic readonly auditorStorageService?: Service<\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditStorage\n\t\t>,\n\t) {}\n\n\t/**\n\t * Returns an array of environment variable names required by this construct's services.\n\t * This is determined by running a \"sniffer\" EnvironmentParser through each service's\n\t * register method to track which environment variables are accessed.\n\t *\n\t * Results are cached per service class to handle singleton patterns where\n\t * subsequent register() calls may short-circuit and not access env vars.\n\t *\n\t * @returns Promise that resolves to array of environment variable names, sorted alphabetically\n\t *\n\t * @example\n\t * ```typescript\n\t * const endpoint = e\n\t * .services([databaseService, authService])\n\t * .get('/users')\n\t * .handle(async () => []);\n\t *\n\t * const envVars = await endpoint.getEnvironment(); // ['AUTH_SECRET', 'DATABASE_URL']\n\t * ```\n\t */\n\tasync getEnvironment(): Promise<string[]> {\n\t\tconst envVars = new Set<string>();\n\t\tconst services: Service[] = compact([\n\t\t\t...this.services,\n\t\t\tthis.publisherService,\n\t\t\tthis.auditorStorageService,\n\t\t]);\n\n\t\ttry {\n\t\t\tfor (const service of services) {\n\t\t\t\t// Check cache first - handles singleton services that short-circuit\n\t\t\t\tif (serviceEnvCache.has(service)) {\n\t\t\t\t\tconst cached = serviceEnvCache.get(service)!;\n\t\t\t\t\tcached.forEach((v) => envVars.add(v));\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Use sniffService to properly handle all error scenarios\n\t\t\t\tconst result = await sniffService(service);\n\n\t\t\t\t// Log any issues for debugging\n\t\t\t\tif (result.error) {\n\t\t\t\t\tthis.logger.warn(\n\t\t\t\t\t\t{ error: result.error.message, service: service.serviceName },\n\t\t\t\t\t\t'Service threw error during env sniffing (env vars still captured)',\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (result.unhandledRejections.length > 0) {\n\t\t\t\t\tthis.logger.warn(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\terrors: result.unhandledRejections.map((e) => e.message),\n\t\t\t\t\t\t\tservice: service.serviceName,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'Fire-and-forget rejections during env sniffing (suppressed)',\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Cache and collect the env vars\n\t\t\t\tserviceEnvCache.set(service, result.envVars);\n\t\t\t\tresult.envVars.forEach((v) => envVars.add(v));\n\t\t\t}\n\n\t\t\treturn Array.from(envVars).sort();\n\t\t} catch (error) {\n\t\t\tthis.logger.error(\n\t\t\t\t{ error },\n\t\t\t\t'Error determining environment variables for construct',\n\t\t\t);\n\n\t\t\treturn [];\n\t\t}\n\t}\n}\n\nexport enum ConstructType {\n\tCron = 'dev.geekmidas.function.cron',\n\tEndpoint = 'dev.geekmidas.function.endpoint',\n\tFunction = 'dev.geekmidas.function.function',\n\tSubscriber = 'dev.geekmidas.function.subscriber',\n}\n\n/**\n * Utility to test sniffing a service for environment variables.\n * Useful for debugging services that throw errors during sniffing.\n *\n * @example\n * ```typescript\n * import { sniffService } from '@geekmidas/constructs';\n * import { authService } from './services/AuthService';\n *\n * const result = await sniffService(authService);\n * console.log('Env vars:', result.envVars);\n * console.log('Error:', result.error);\n * ```\n */\nexport async function sniffService(service: Service): Promise<{\n\tenvVars: string[];\n\terror?: Error;\n\tunhandledRejections: Error[];\n}> {\n\tconst sniffer = new SnifferEnvironmentParser();\n\tconst unhandledRejections: Error[] = [];\n\n\t// Capture unhandled rejections during sniffing (fire-and-forget promises)\n\tconst captureRejection = (reason: unknown) => {\n\t\tconst err = reason instanceof Error ? reason : new Error(String(reason));\n\t\tunhandledRejections.push(err);\n\t};\n\tprocess.on('unhandledRejection', captureRejection);\n\n\tlet error: Error | undefined;\n\n\ttry {\n\t\tconst result = service.register({\n\t\t\tenvParser: sniffer as any,\n\t\t\tcontext: snifferContext,\n\t\t});\n\n\t\tif (result && typeof result === 'object' && 'then' in result) {\n\t\t\tawait Promise.resolve(result).catch((e) => {\n\t\t\t\terror = e;\n\t\t\t});\n\t\t}\n\t} catch (e) {\n\t\terror = e as Error;\n\t} finally {\n\t\t// Wait for fire-and-forget promises to settle - some libraries like better-auth\n\t\t// create async operations that may reject after the initial event loop tick\n\t\tawait new Promise((resolve) => setTimeout(resolve, 100));\n\t\tprocess.off('unhandledRejection', captureRejection);\n\t}\n\n\treturn {\n\t\tenvVars: sniffer.getEnvironmentVariables(),\n\t\terror,\n\t\tunhandledRejections,\n\t};\n}\n\n// Export for testing\nexport { snifferContext };\n"],"mappings":";;;;;AAUA,MAAM,kCAAkB,IAAI;;;;;;;AAQ5B,MAAMA,iBAAiC;CACtC,YAAY;AAEX,SAAO;GACN,OAAO,MAAM,CAAE;GACf,MAAM,MAAM,CAAE;GACd,MAAM,MAAM,CAAE;GACd,OAAO,MAAM,CAAE;GACf,OAAO,MAAM,eAAe,WAAW;EACvC;CACD;CACD,eAAe;AACd,SAAO;CACP;CACD,sBAAsB;AACrB,SAAO,KAAK,KAAK;CACjB;CACD,aAAa;AACZ,SAAO;CACP;AACD;AAED,IAAsB,YAAtB,MAQE;CACD,YACiBC,MACAC,QACAC,UACAC,SAAgC,CAAE,GAElCC,kBACTC,cACSC,SACAC,YACAC,uBAIf;EAbe;EACA;EACA;EACA;EAEA;EACT;EACS;EACA;EACA;CAIb;;;;;;;;;;;;;;;;;;;;;CAsBJ,MAAM,iBAAoC;EACzC,MAAM,0BAAU,IAAI;EACpB,MAAMC,WAAsB,4BAAQ;GACnC,GAAG,KAAK;GACR,KAAK;GACL,KAAK;EACL,EAAC;AAEF,MAAI;AACH,QAAK,MAAM,WAAW,UAAU;AAE/B,QAAI,gBAAgB,IAAI,QAAQ,EAAE;KACjC,MAAM,SAAS,gBAAgB,IAAI,QAAQ;AAC3C,YAAO,QAAQ,CAAC,MAAM,QAAQ,IAAI,EAAE,CAAC;AACrC;IACA;IAGD,MAAM,SAAS,MAAM,aAAa,QAAQ;AAG1C,QAAI,OAAO,MACV,MAAK,OAAO,KACX;KAAE,OAAO,OAAO,MAAM;KAAS,SAAS,QAAQ;IAAa,GAC7D,oEACA;AAEF,QAAI,OAAO,oBAAoB,SAAS,EACvC,MAAK,OAAO,KACX;KACC,QAAQ,OAAO,oBAAoB,IAAI,CAAC,MAAM,EAAE,QAAQ;KACxD,SAAS,QAAQ;IACjB,GACD,8DACA;AAIF,oBAAgB,IAAI,SAAS,OAAO,QAAQ;AAC5C,WAAO,QAAQ,QAAQ,CAAC,MAAM,QAAQ,IAAI,EAAE,CAAC;GAC7C;AAED,UAAO,MAAM,KAAK,QAAQ,CAAC,MAAM;EACjC,SAAQ,OAAO;AACf,QAAK,OAAO,MACX,EAAE,MAAO,GACT,wDACA;AAED,UAAO,CAAE;EACT;CACD;AACD;AAED,IAAY,0DAAL;AACN;AACA;AACA;AACA;;AACA;;;;;;;;;;;;;;;AAgBD,eAAsB,aAAaC,SAIhC;CACF,MAAM,UAAU,IAAIC;CACpB,MAAMC,sBAA+B,CAAE;CAGvC,MAAM,mBAAmB,CAACC,WAAoB;EAC7C,MAAM,MAAM,kBAAkB,QAAQ,SAAS,IAAI,MAAM,OAAO,OAAO;AACvE,sBAAoB,KAAK,IAAI;CAC7B;AACD,SAAQ,GAAG,sBAAsB,iBAAiB;CAElD,IAAIC;AAEJ,KAAI;EACH,MAAM,SAAS,QAAQ,SAAS;GAC/B,WAAW;GACX,SAAS;EACT,EAAC;AAEF,MAAI,iBAAiB,WAAW,YAAY,UAAU,OACrD,OAAM,QAAQ,QAAQ,OAAO,CAAC,MAAM,CAAC,MAAM;AAC1C,WAAQ;EACR,EAAC;CAEH,SAAQ,GAAG;AACX,UAAQ;CACR,UAAS;AAGT,QAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,IAAI;AACvD,UAAQ,IAAI,sBAAsB,iBAAiB;CACnD;AAED,QAAO;EACN,SAAS,QAAQ,yBAAyB;EAC1C;EACA;CACA;AACD"}
@@ -1,10 +1,18 @@
1
1
  import { AuditStorage } from "@geekmidas/audit";
2
2
  import { EventPublisher, MappedEvent } from "@geekmidas/events";
3
3
  import { Logger } from "@geekmidas/logger";
4
- import { Service } from "@geekmidas/services";
4
+ import { Service, ServiceContext } from "@geekmidas/services";
5
5
  import { StandardSchemaV1 } from "@standard-schema/spec";
6
6
 
7
7
  //#region src/Construct.d.ts
8
+
9
+ /**
10
+ * Noop context for environment sniffing.
11
+ * Used when calling service.register() to detect env vars without a real request.
12
+ * Returns dummy values since services should only use context in instance methods,
13
+ * not during registration.
14
+ */
15
+ declare const snifferContext: ServiceContext;
8
16
  declare abstract class Construct<TLogger extends Logger = Logger, TServiceName extends string = string, T extends EventPublisher<any> | undefined = undefined, OutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TAuditStorageServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined> {
9
17
  readonly type: ConstructType;
10
18
  readonly logger: TLogger;
@@ -44,7 +52,25 @@ declare enum ConstructType {
44
52
  Function = "dev.geekmidas.function.function",
45
53
  Subscriber = "dev.geekmidas.function.subscriber",
46
54
  }
47
- //# sourceMappingURL=Construct.d.ts.map
55
+ /**
56
+ * Utility to test sniffing a service for environment variables.
57
+ * Useful for debugging services that throw errors during sniffing.
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * import { sniffService } from '@geekmidas/constructs';
62
+ * import { authService } from './services/AuthService';
63
+ *
64
+ * const result = await sniffService(authService);
65
+ * console.log('Env vars:', result.envVars);
66
+ * console.log('Error:', result.error);
67
+ * ```
68
+ */
69
+ declare function sniffService(service: Service): Promise<{
70
+ envVars: string[];
71
+ error?: Error;
72
+ unhandledRejections: Error[];
73
+ }>;
48
74
  //#endregion
49
- export { Construct, ConstructType };
50
- //# sourceMappingURL=Construct-C4rPE67v.d.cts.map
75
+ export { Construct, ConstructType, sniffService, snifferContext };
76
+ //# sourceMappingURL=Construct-Dl0l2d8d.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Construct-Dl0l2d8d.d.cts","names":[],"sources":["../src/Construct.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;AAK8D;AAmC9D;;;cAtBM,cAuBoB,EAvBJ,cAuBI;AAEf,uBAHW,SAGX,CAAA,gBAFM,MAEN,GAFe,MAEf,EAAA,qBAAA,MAAA,GAAA,MAAA,EAAA,UAAA,cAAA,CAAA,GAAA,CAAA,GAAA,SAAA,GAAA,SAAA,EAAA,kBACQ,gBADR,GAAA,SAAA,GAAA,SAAA,EAAA,kBAEQ,OAFR,EAAA,GAAA,EAAA,EAAA,iCAAA,MAAA,GAAA,MAAA,EAAA,sBAIY,YAJZ,GAAA,SAAA,GAAA,SAAA,CAAA,CAAA;EAAc,SACN,IAAA,EAMK,aANL;EAAgB,SAChB,MAAA,EAMO,OANP;EAAO,SAEH,QAAA,EAKK,SALL;EAAY,SAGX,MAAA,EAGE,WAHF,CAGc,CAHd,EAAA,GAAA,CAAA,EAAA;EAAa,SACX,gBAAA,CAAA,EAIW,OAJX,CAImB,YAJnB,EAIiC,CAJjC,CAAA,GAAA,SAAA;EAAO,YACL,CAAA,EAIJ,SAJI,GAAA,SAAA;EAAS,SACC,OAAA,CAAA,EAAA,MAAA,GAAA,SAAA;EAAC,SAAb,UAAA,CAAA,EAAA,MAAA,GAAA,SAAA;EAAW,SAEQ,qBAAA,CAAA,EAIH,OAJG,CAK1C,wBAL0C,EAM1C,aAN0C,CAAA,GAAA,SAAA;EAAY,WAAE,CAAA,IAAA,EALnC,aAKmC,EAAA,MAAA,EAJjC,OAIiC,EAAA,QAAA,EAH/B,SAG+B,EAAA,MAAA,CAAA,EAFjC,WAEiC,CAFrB,CAEqB,EAAA,GAAA,CAAA,EAAA,EAAA,gBAAA,CAAA,EAAtB,OAAsB,CAAd,YAAc,EAAA,CAAA,CAAA,GAAA,SAAA,EAAA,YAAA,CAAA,EACnC,SADmC,GAAA,SAAA,EAAA,OAAA,CAAA,EAAA,MAAA,GAAA,SAAA,EAAA,UAAA,CAAA,EAAA,MAAA,GAAA,SAAA,EAAA,qBAAA,CAAA,EAIjB,OAJiB,CAKxD,wBALwD,EAMxD,aANwD,CAAA,GAAA,SAAA;EAAC;;;;;;;;;;;;;;;;;;AA8B5B;AAsDhC;EAqBsB,cAAA,CAAA,CAAY,EA3ET,OA2ES,CAAA,MAAA,EAAA,CAAA;;AAAU,aArBhC,aAAA;EAqBuC,IAE1C,GAAA,6BAAA;EAAK,QACQ,GAAA,iCAAA;EAAK,QAH2B,GAAA,iCAAA;EAAO,UAAA,GAAA,mCAAA;;;;;;;;;;;;;;;;iBAAvC,YAAA,UAAsB,UAAU;;UAE7C;uBACa"}
@@ -1,10 +1,18 @@
1
- import { Service } from "@geekmidas/services";
1
+ import { Service, ServiceContext } from "@geekmidas/services";
2
2
  import { AuditStorage } from "@geekmidas/audit";
3
3
  import { EventPublisher, MappedEvent } from "@geekmidas/events";
4
4
  import { Logger } from "@geekmidas/logger";
5
5
  import { StandardSchemaV1 } from "@standard-schema/spec";
6
6
 
7
7
  //#region src/Construct.d.ts
8
+
9
+ /**
10
+ * Noop context for environment sniffing.
11
+ * Used when calling service.register() to detect env vars without a real request.
12
+ * Returns dummy values since services should only use context in instance methods,
13
+ * not during registration.
14
+ */
15
+ declare const snifferContext: ServiceContext;
8
16
  declare abstract class Construct<TLogger extends Logger = Logger, TServiceName extends string = string, T extends EventPublisher<any> | undefined = undefined, OutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TAuditStorageServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined> {
9
17
  readonly type: ConstructType;
10
18
  readonly logger: TLogger;
@@ -44,7 +52,25 @@ declare enum ConstructType {
44
52
  Function = "dev.geekmidas.function.function",
45
53
  Subscriber = "dev.geekmidas.function.subscriber",
46
54
  }
47
- //# sourceMappingURL=Construct.d.ts.map
55
+ /**
56
+ * Utility to test sniffing a service for environment variables.
57
+ * Useful for debugging services that throw errors during sniffing.
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * import { sniffService } from '@geekmidas/constructs';
62
+ * import { authService } from './services/AuthService';
63
+ *
64
+ * const result = await sniffService(authService);
65
+ * console.log('Env vars:', result.envVars);
66
+ * console.log('Error:', result.error);
67
+ * ```
68
+ */
69
+ declare function sniffService(service: Service): Promise<{
70
+ envVars: string[];
71
+ error?: Error;
72
+ unhandledRejections: Error[];
73
+ }>;
48
74
  //#endregion
49
- export { Construct, ConstructType };
50
- //# sourceMappingURL=Construct-XrijZFFh.d.mts.map
75
+ export { Construct, ConstructType, sniffService, snifferContext };
76
+ //# sourceMappingURL=Construct-E8QPyHh4.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Construct-E8QPyHh4.d.mts","names":[],"sources":["../src/Construct.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;AAK8D;AAmC9D;;;cAtBM,cAuBoB,EAvBJ,cAuBI;AAEf,uBAHW,SAGX,CAAA,gBAFM,MAEN,GAFe,MAEf,EAAA,qBAAA,MAAA,GAAA,MAAA,EAAA,UAAA,cAAA,CAAA,GAAA,CAAA,GAAA,SAAA,GAAA,SAAA,EAAA,kBACQ,gBADR,GAAA,SAAA,GAAA,SAAA,EAAA,kBAEQ,OAFR,EAAA,GAAA,EAAA,EAAA,iCAAA,MAAA,GAAA,MAAA,EAAA,sBAIY,YAJZ,GAAA,SAAA,GAAA,SAAA,CAAA,CAAA;EAAc,SACN,IAAA,EAMK,aANL;EAAgB,SAChB,MAAA,EAMO,OANP;EAAO,SAEH,QAAA,EAKK,SALL;EAAY,SAGX,MAAA,EAGE,WAHF,CAGc,CAHd,EAAA,GAAA,CAAA,EAAA;EAAa,SACX,gBAAA,CAAA,EAIW,OAJX,CAImB,YAJnB,EAIiC,CAJjC,CAAA,GAAA,SAAA;EAAO,YACL,CAAA,EAIJ,SAJI,GAAA,SAAA;EAAS,SACC,OAAA,CAAA,EAAA,MAAA,GAAA,SAAA;EAAC,SAAb,UAAA,CAAA,EAAA,MAAA,GAAA,SAAA;EAAW,SAEQ,qBAAA,CAAA,EAIH,OAJG,CAK1C,wBAL0C,EAM1C,aAN0C,CAAA,GAAA,SAAA;EAAY,WAAE,CAAA,IAAA,EALnC,aAKmC,EAAA,MAAA,EAJjC,OAIiC,EAAA,QAAA,EAH/B,SAG+B,EAAA,MAAA,CAAA,EAFjC,WAEiC,CAFrB,CAEqB,EAAA,GAAA,CAAA,EAAA,EAAA,gBAAA,CAAA,EAAtB,OAAsB,CAAd,YAAc,EAAA,CAAA,CAAA,GAAA,SAAA,EAAA,YAAA,CAAA,EACnC,SADmC,GAAA,SAAA,EAAA,OAAA,CAAA,EAAA,MAAA,GAAA,SAAA,EAAA,UAAA,CAAA,EAAA,MAAA,GAAA,SAAA,EAAA,qBAAA,CAAA,EAIjB,OAJiB,CAKxD,wBALwD,EAMxD,aANwD,CAAA,GAAA,SAAA;EAAC;;;;;;;;;;;;;;;;;;AA8B5B;AAsDhC;EAqBsB,cAAA,CAAA,CAAY,EA3ET,OA2ES,CAAA,MAAA,EAAA,CAAA;;AAAU,aArBhC,aAAA;EAqBuC,IAE1C,GAAA,6BAAA;EAAK,QACQ,GAAA,iCAAA;EAAK,QAH2B,GAAA,iCAAA;EAAO,UAAA,GAAA,mCAAA;;;;;;;;;;;;;;;;iBAAvC,YAAA,UAAsB,UAAU;;UAE7C;uBACa"}
@@ -1,4 +1,6 @@
1
- const require_Construct = require('./Construct-Ba5cMxib.cjs');
1
+ const require_Construct = require('./Construct-CPrCF8NK.cjs');
2
2
 
3
3
  exports.Construct = require_Construct.Construct;
4
- exports.ConstructType = require_Construct.ConstructType;
4
+ exports.ConstructType = require_Construct.ConstructType;
5
+ exports.sniffService = require_Construct.sniffService;
6
+ exports.snifferContext = require_Construct.snifferContext;
@@ -1,2 +1,2 @@
1
- import { Construct, ConstructType } from "./Construct-C4rPE67v.cjs";
2
- export { Construct, ConstructType };
1
+ import { Construct, ConstructType, sniffService, snifferContext } from "./Construct-Dl0l2d8d.cjs";
2
+ export { Construct, ConstructType, sniffService, snifferContext };
@@ -1,2 +1,2 @@
1
- import { Construct, ConstructType } from "./Construct-XrijZFFh.mjs";
2
- export { Construct, ConstructType };
1
+ import { Construct, ConstructType, sniffService, snifferContext } from "./Construct-E8QPyHh4.mjs";
2
+ export { Construct, ConstructType, sniffService, snifferContext };
@@ -1,3 +1,3 @@
1
- import { Construct, ConstructType } from "./Construct-DdyGHuag.mjs";
1
+ import { Construct, ConstructType, sniffService, snifferContext } from "./Construct-BNDLJJfD.mjs";
2
2
 
3
- export { Construct, ConstructType };
3
+ export { Construct, ConstructType, sniffService, snifferContext };
@@ -1,5 +1,5 @@
1
- const require_Construct = require('./Construct-Ba5cMxib.cjs');
2
- const require_Function = require('./Function-DDZb1525.cjs');
1
+ const require_Construct = require('./Construct-CPrCF8NK.cjs');
2
+ const require_Function = require('./Function-2qWSZqYB.cjs');
3
3
 
4
4
  //#region src/crons/Cron.ts
5
5
  var Cron = class extends require_Function.Function {
@@ -22,4 +22,4 @@ Object.defineProperty(exports, 'Cron', {
22
22
  return Cron;
23
23
  }
24
24
  });
25
- //# sourceMappingURL=Cron-CGF4YAfM.cjs.map
25
+ //# sourceMappingURL=Cron-BmPNTLla.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cron-BmPNTLla.cjs","names":["Function","obj: any","ConstructType","fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>","timeout?: number","_schedule?: ScheduleExpression","input?: TInput","outputSchema?: OutSchema","services: TServices","logger?: TLogger","publisherService?: Service<TEventPublisherServiceName, TEventPublisher>","events: any[]","memorySize?: number","databaseService?: Service<TDatabaseServiceName, TDatabase>"],"sources":["../src/crons/Cron.ts"],"sourcesContent":["import type { AuditableAction } from '@geekmidas/audit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\n\nimport { ConstructType } from '../Construct';\nimport { Function, type FunctionHandler } from '../functions';\n\nexport class Cron<\n\tTInput extends ComposableStandardSchema | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n> extends Function<\n\tTInput,\n\tTServices,\n\tTLogger,\n\tOutSchema,\n\tTEventPublisher,\n\tTEventPublisherServiceName,\n\tundefined,\n\tstring,\n\tTDatabase,\n\tTDatabaseServiceName,\n\tAuditableAction<string, unknown>,\n\tFunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>\n> {\n\tstatic isCron(obj: any): obj is Cron<any, any, any, any> {\n\t\treturn Boolean(\n\t\t\tobj &&\n\t\t\t\t(obj as Function).__IS_FUNCTION__ === true &&\n\t\t\t\tobj.type === ConstructType.Cron,\n\t\t);\n\t}\n\n\tconstructor(\n\t\tfn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>,\n\t\ttimeout?: number,\n\t\tprotected _schedule?: ScheduleExpression,\n\t\tinput?: TInput,\n\t\toutputSchema?: OutSchema,\n\t\tservices: TServices = [] as unknown as TServices,\n\t\tlogger?: TLogger,\n\t\tpublisherService?: Service<TEventPublisherServiceName, TEventPublisher>,\n\t\tevents: any[] = [],\n\t\tmemorySize?: number,\n\t\tdatabaseService?: Service<TDatabaseServiceName, TDatabase>,\n\t) {\n\t\tsuper(\n\t\t\tfn,\n\t\t\ttimeout,\n\t\t\tConstructType.Cron,\n\t\t\tinput,\n\t\t\toutputSchema,\n\t\t\tservices,\n\t\t\tlogger,\n\t\t\tpublisherService,\n\t\t\tevents,\n\t\t\tmemorySize,\n\t\t\tundefined, // auditorStorageService\n\t\t\tdatabaseService,\n\t\t);\n\t}\n\n\tget schedule(): ScheduleExpression | undefined {\n\t\treturn this._schedule;\n\t}\n}\n\nexport type RateExpression = `rate(${string})`;\n\ntype CronMinute =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| `${number},${number}`\n\t| string; // Allow more complex patterns\n\ntype CronHour =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| `${number},${number}`\n\t| string; // Allow more complex patterns\n\ntype CronDay =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| `${number},${number}`\n\t| string; // Allow more complex patterns\n\ntype CronMonth =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| 'JAN'\n\t| 'FEB'\n\t| 'MAR'\n\t| 'APR'\n\t| 'MAY'\n\t| 'JUN'\n\t| 'JUL'\n\t| 'AUG'\n\t| 'SEP'\n\t| 'OCT'\n\t| 'NOV'\n\t| 'DEC'\n\t| string; // Allow more complex patterns\n\ntype CronWeekday =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| 'SUN'\n\t| 'MON'\n\t| 'TUE'\n\t| 'WED'\n\t| 'THU'\n\t| 'FRI'\n\t| 'SAT'\n\t| `${string}-${string}` // Allow patterns like MON-FRI\n\t| string; // Allow more complex patterns\n\nexport type CronExpression =\n\t`cron(${CronMinute} ${CronHour} ${CronDay} ${CronMonth} ${CronWeekday})`;\n\nexport type ScheduleExpression = RateExpression | CronExpression;\n"],"mappings":";;;;AAUA,IAAa,OAAb,cASUA,0BAaR;CACD,OAAO,OAAOC,KAA2C;AACxD,SAAO,QACN,OACE,IAAiB,oBAAoB,QACtC,IAAI,SAASC,gCAAc,KAC5B;CACD;CAED,YACCC,IACAC,SACUC,WACVC,OACAC,cACAC,WAAsB,CAAE,GACxBC,QACAC,kBACAC,SAAgB,CAAE,GAClBC,YACAC,iBACC;AACD,QACC,IACA,SACAX,gCAAc,MACd,OACA,cACA,UACA,QACA,kBACA,QACA,oBAEA,gBACA;EAvBS;CAwBV;CAED,IAAI,WAA2C;AAC9C,SAAO,KAAK;CACZ;AACD"}
@@ -1,5 +1,5 @@
1
- import { ConstructType } from "./Construct-DdyGHuag.mjs";
2
- import { Function } from "./Function-BVHqIDp9.mjs";
1
+ import { ConstructType } from "./Construct-BNDLJJfD.mjs";
2
+ import { Function } from "./Function-CdF1HmFu.mjs";
3
3
 
4
4
  //#region src/crons/Cron.ts
5
5
  var Cron = class extends Function {
@@ -17,4 +17,4 @@ var Cron = class extends Function {
17
17
 
18
18
  //#endregion
19
19
  export { Cron };
20
- //# sourceMappingURL=Cron-BxhGs5up.mjs.map
20
+ //# sourceMappingURL=Cron-BpJONaFv.mjs.map