@geekmidas/constructs 0.3.1 → 0.5.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 (549) hide show
  1. package/dist/{AWSLambdaFunction-EPGY4s7i.cjs → AWSLambdaFunction-Ba1DcsW2.cjs} +6 -6
  2. package/dist/AWSLambdaFunction-Ba1DcsW2.cjs.map +1 -0
  3. package/dist/{AWSLambdaFunction-BdebRMUh.d.mts → AWSLambdaFunction-CKe73Qr0.d.cts} +6 -6
  4. package/dist/AWSLambdaFunction-CKe73Qr0.d.cts.map +1 -0
  5. package/dist/{AWSLambdaFunction-D0tEOTXQ.d.cts → AWSLambdaFunction-CuG3HNZx.d.mts} +6 -6
  6. package/dist/AWSLambdaFunction-CuG3HNZx.d.mts.map +1 -0
  7. package/dist/{AWSLambdaFunction-C54a1doJ.mjs → AWSLambdaFunction-DnMm4xvz.mjs} +6 -6
  8. package/dist/AWSLambdaFunction-DnMm4xvz.mjs.map +1 -0
  9. package/dist/{AWSLambdaSubscriberAdaptor-Dx-Ks1Jp.d.cts → AWSLambdaSubscriberAdaptor-B4HH-WuQ.d.mts} +4 -4
  10. package/dist/AWSLambdaSubscriberAdaptor-B4HH-WuQ.d.mts.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-DrFAvHOp.d.mts → AWSLambdaSubscriberAdaptor-BEqQ96VJ.d.cts} +4 -4
  14. package/dist/AWSLambdaSubscriberAdaptor-BEqQ96VJ.d.cts.map +1 -0
  15. package/dist/{AWSLambdaSubscriberAdaptor-BNcYYZ-P.cjs → AWSLambdaSubscriberAdaptor-DQDnt1Xk.cjs} +3 -3
  16. package/dist/AWSLambdaSubscriberAdaptor-DQDnt1Xk.cjs.map +1 -0
  17. package/dist/{AmazonApiGatewayEndpointAdaptor-BT9JXihC.mjs → AmazonApiGatewayEndpointAdaptor-Bvy-Hgjf.mjs} +56 -14
  18. package/dist/AmazonApiGatewayEndpointAdaptor-Bvy-Hgjf.mjs.map +1 -0
  19. package/dist/{AmazonApiGatewayEndpointAdaptor-DNFvvdmW.cjs → AmazonApiGatewayEndpointAdaptor-Cpxluhfg.cjs} +55 -13
  20. package/dist/AmazonApiGatewayEndpointAdaptor-Cpxluhfg.cjs.map +1 -0
  21. package/dist/{AmazonApiGatewayEndpointAdaptor-qlKXuZxy.d.mts → AmazonApiGatewayEndpointAdaptor-DTgdZ8I1.d.mts} +52 -6
  22. package/dist/AmazonApiGatewayEndpointAdaptor-DTgdZ8I1.d.mts.map +1 -0
  23. package/dist/{AmazonApiGatewayEndpointAdaptor-DLqnYQ4E.d.cts → AmazonApiGatewayEndpointAdaptor-DsWnO6x9.d.cts} +51 -5
  24. package/dist/AmazonApiGatewayEndpointAdaptor-DsWnO6x9.d.cts.map +1 -0
  25. package/dist/{AmazonApiGatewayV1EndpointAdaptor-DyUaJIhB.d.cts → AmazonApiGatewayV1EndpointAdaptor-7ELXUBFK.d.cts} +4 -4
  26. package/dist/AmazonApiGatewayV1EndpointAdaptor-7ELXUBFK.d.cts.map +1 -0
  27. package/dist/{AmazonApiGatewayV1EndpointAdaptor-Ccl8B8kG.cjs → AmazonApiGatewayV1EndpointAdaptor-B8vIYYNh.cjs} +4 -4
  28. package/dist/AmazonApiGatewayV1EndpointAdaptor-B8vIYYNh.cjs.map +1 -0
  29. package/dist/{AmazonApiGatewayV1EndpointAdaptor-CShQI8Gk.mjs → AmazonApiGatewayV1EndpointAdaptor-ByXGIju8.mjs} +4 -4
  30. package/dist/AmazonApiGatewayV1EndpointAdaptor-ByXGIju8.mjs.map +1 -0
  31. package/dist/{AmazonApiGatewayV1EndpointAdaptor-MRUxs3Xi.d.mts → AmazonApiGatewayV1EndpointAdaptor-RWRmFPrN.d.mts} +5 -5
  32. package/dist/AmazonApiGatewayV1EndpointAdaptor-RWRmFPrN.d.mts.map +1 -0
  33. package/dist/{AmazonApiGatewayV2EndpointAdaptor-D8-0Aab4.cjs → AmazonApiGatewayV2EndpointAdaptor-DIetspUm.cjs} +4 -4
  34. package/dist/AmazonApiGatewayV2EndpointAdaptor-DIetspUm.cjs.map +1 -0
  35. package/dist/{AmazonApiGatewayV2EndpointAdaptor-lCRzGE4q.mjs → AmazonApiGatewayV2EndpointAdaptor-DWemCZvl.mjs} +4 -4
  36. package/dist/AmazonApiGatewayV2EndpointAdaptor-DWemCZvl.mjs.map +1 -0
  37. package/dist/{AmazonApiGatewayV2EndpointAdaptor-M1-w0U5R.d.cts → AmazonApiGatewayV2EndpointAdaptor-D_uMTmuJ.d.cts} +4 -6
  38. package/dist/AmazonApiGatewayV2EndpointAdaptor-D_uMTmuJ.d.cts.map +1 -0
  39. package/dist/{AmazonApiGatewayV2EndpointAdaptor-fuLM6M9k.d.mts → AmazonApiGatewayV2EndpointAdaptor-wnOMDv6o.d.mts} +5 -7
  40. package/dist/AmazonApiGatewayV2EndpointAdaptor-wnOMDv6o.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-Czi1Jwza.mjs → BaseFunctionBuilder-0qlenb9z.mjs} +2 -2
  50. package/dist/BaseFunctionBuilder-0qlenb9z.mjs.map +1 -0
  51. package/dist/BaseFunctionBuilder-BAtutR6q.d.cts.map +1 -1
  52. package/dist/{BaseFunctionBuilder-DRY419e7.d.mts → BaseFunctionBuilder-CDfDWWAQ.d.mts} +2 -2
  53. package/dist/BaseFunctionBuilder-CDfDWWAQ.d.mts.map +1 -0
  54. package/dist/{BaseFunctionBuilder-MYG3C9ug.cjs → BaseFunctionBuilder-D7o93EGv.cjs} +2 -2
  55. package/dist/BaseFunctionBuilder-D7o93EGv.cjs.map +1 -0
  56. package/dist/{Construct-Ba5cMxib.cjs → Construct-BlnyYtJC.cjs} +31 -2
  57. package/dist/Construct-BlnyYtJC.cjs.map +1 -0
  58. package/dist/Construct-C4rPE67v.d.cts.map +1 -1
  59. package/dist/{Construct-DdyGHuag.mjs → Construct-D5dCvxZ3.mjs} +31 -2
  60. package/dist/Construct-D5dCvxZ3.mjs.map +1 -0
  61. package/dist/{Construct-XrijZFFh.d.mts → Construct-dZiwVo0q.d.mts} +1 -1
  62. package/dist/Construct-dZiwVo0q.d.mts.map +1 -0
  63. package/dist/Construct.cjs +1 -1
  64. package/dist/Construct.d.mts +1 -1
  65. package/dist/Construct.mjs +1 -1
  66. package/dist/{Cron-bDLcTvV5.d.cts → Cron-B6FnTu7k.d.cts} +2 -2
  67. package/dist/Cron-B6FnTu7k.d.cts.map +1 -0
  68. package/dist/{Cron-CGF4YAfM.cjs → Cron-BAPQetlC.cjs} +3 -3
  69. package/dist/Cron-BAPQetlC.cjs.map +1 -0
  70. package/dist/{Cron-BxhGs5up.mjs → Cron-CAk_ddH8.mjs} +3 -3
  71. package/dist/Cron-CAk_ddH8.mjs.map +1 -0
  72. package/dist/{Cron-cdjlSKNp.d.mts → Cron-D3bEljxQ.d.mts} +2 -2
  73. package/dist/Cron-D3bEljxQ.d.mts.map +1 -0
  74. package/dist/{CronBuilder-DKVXyE0Q.d.cts → CronBuilder-CA8euP0z.d.cts} +4 -4
  75. package/dist/CronBuilder-CA8euP0z.d.cts.map +1 -0
  76. package/dist/{CronBuilder-BC4m5-p1.d.mts → CronBuilder-DvdiKzhq.d.mts} +4 -4
  77. package/dist/CronBuilder-DvdiKzhq.d.mts.map +1 -0
  78. package/dist/{CronBuilder-CcxKRtVP.cjs → CronBuilder-DxXA5ymv.cjs} +4 -4
  79. package/dist/CronBuilder-DxXA5ymv.cjs.map +1 -0
  80. package/dist/{CronBuilder-d2jh-IB2.mjs → CronBuilder-e8TaHPYm.mjs} +4 -4
  81. package/dist/CronBuilder-e8TaHPYm.mjs.map +1 -0
  82. package/dist/{Endpoint-BPv9_-m_.d.cts → Endpoint-BOlbY5iq.d.cts} +3 -3
  83. package/dist/Endpoint-BOlbY5iq.d.cts.map +1 -0
  84. package/dist/{Endpoint-CuOEswxJ.mjs → Endpoint-BbdNmtlM.mjs} +6 -6
  85. package/dist/Endpoint-BbdNmtlM.mjs.map +1 -0
  86. package/dist/{Endpoint-BdwG75G_.d.mts → Endpoint-Dlv7nxgj.d.mts} +4 -4
  87. package/dist/Endpoint-Dlv7nxgj.d.mts.map +1 -0
  88. package/dist/{Endpoint-BVGZXFyV.cjs → Endpoint-DxvnlfXg.cjs} +6 -6
  89. package/dist/Endpoint-DxvnlfXg.cjs.map +1 -0
  90. package/dist/{EndpointBuilder-Cgj1P_ra.cjs → EndpointBuilder-40Iz5CjY.cjs} +6 -6
  91. package/dist/EndpointBuilder-40Iz5CjY.cjs.map +1 -0
  92. package/dist/{EndpointBuilder-DnCB1h1j.mjs → EndpointBuilder-BaVvhW9m.mjs} +6 -6
  93. package/dist/EndpointBuilder-BaVvhW9m.mjs.map +1 -0
  94. package/dist/{EndpointBuilder-DIy_m1bu.d.cts → EndpointBuilder-CFfWWjUa.d.cts} +3 -3
  95. package/dist/EndpointBuilder-CFfWWjUa.d.cts.map +1 -0
  96. package/dist/{EndpointBuilder-B3az942t.d.mts → EndpointBuilder-T_K2NLWw.d.mts} +5 -5
  97. package/dist/EndpointBuilder-T_K2NLWw.d.mts.map +1 -0
  98. package/dist/{EndpointFactory-CyPbm3AD.d.cts → EndpointFactory-ChzBVEM9.d.cts} +4 -4
  99. package/dist/EndpointFactory-ChzBVEM9.d.cts.map +1 -0
  100. package/dist/{EndpointFactory-CbdxPCIH.mjs → EndpointFactory-DfNjSgVG.mjs} +7 -7
  101. package/dist/EndpointFactory-DfNjSgVG.mjs.map +1 -0
  102. package/dist/{EndpointFactory-C-0nE6Jg.d.mts → EndpointFactory-GAL_tuPf.d.mts} +4 -4
  103. package/dist/EndpointFactory-GAL_tuPf.d.mts.map +1 -0
  104. package/dist/{EndpointFactory-CYj6BYok.cjs → EndpointFactory-r6jxPvQ8.cjs} +7 -7
  105. package/dist/EndpointFactory-r6jxPvQ8.cjs.map +1 -0
  106. package/dist/{Function-BVHqIDp9.mjs → Function-D8tBamM3.mjs} +3 -3
  107. package/dist/Function-D8tBamM3.mjs.map +1 -0
  108. package/dist/{Function-DN2G6OT5.d.mts → Function-DBmU3uGI.d.mts} +3 -3
  109. package/dist/Function-DBmU3uGI.d.mts.map +1 -0
  110. package/dist/{Function-Cf7f_kCz.d.cts → Function-PNW4HdNE.d.cts} +2 -2
  111. package/dist/Function-PNW4HdNE.d.cts.map +1 -0
  112. package/dist/{Function-DDZb1525.cjs → Function-iLKrUXuw.cjs} +3 -3
  113. package/dist/Function-iLKrUXuw.cjs.map +1 -0
  114. package/dist/{FunctionBuilder-DswJ-9sD.cjs → FunctionBuilder-BEpPgeho.cjs} +4 -4
  115. package/dist/FunctionBuilder-BEpPgeho.cjs.map +1 -0
  116. package/dist/{FunctionBuilder-Cxx8D2na.d.mts → FunctionBuilder-Bv4H2I1a.d.mts} +4 -4
  117. package/dist/FunctionBuilder-Bv4H2I1a.d.mts.map +1 -0
  118. package/dist/{FunctionBuilder-CrDYgfiI.mjs → FunctionBuilder-BwNF99AB.mjs} +4 -4
  119. package/dist/FunctionBuilder-BwNF99AB.mjs.map +1 -0
  120. package/dist/{FunctionBuilder-CJBzzXL3.d.cts → FunctionBuilder-DCqXIHaq.d.cts} +2 -2
  121. package/dist/FunctionBuilder-DCqXIHaq.d.cts.map +1 -0
  122. package/dist/{FunctionExecutionWrapper-CLDh7Z2_.mjs → FunctionExecutionWrapper-B__HE_B-.mjs} +3 -3
  123. package/dist/FunctionExecutionWrapper-B__HE_B-.mjs.map +1 -0
  124. package/dist/{FunctionExecutionWrapper-DF260Aaj.d.mts → FunctionExecutionWrapper-BclgIztn.d.cts} +5 -5
  125. package/dist/FunctionExecutionWrapper-BclgIztn.d.cts.map +1 -0
  126. package/dist/{FunctionExecutionWrapper-BYI2bGTL.cjs → FunctionExecutionWrapper-BjF6t9Hb.cjs} +3 -3
  127. package/dist/FunctionExecutionWrapper-BjF6t9Hb.cjs.map +1 -0
  128. package/dist/{FunctionExecutionWrapper-Qy8bmgFR.d.cts → FunctionExecutionWrapper-Dq21c6vt.d.mts} +5 -5
  129. package/dist/FunctionExecutionWrapper-Dq21c6vt.d.mts.map +1 -0
  130. package/dist/HonoEndpointAdaptor-C_ym_Sbr.mjs +251 -0
  131. package/dist/HonoEndpointAdaptor-C_ym_Sbr.mjs.map +1 -0
  132. package/dist/HonoEndpointAdaptor-DiQH0eTb.cjs +257 -0
  133. package/dist/HonoEndpointAdaptor-DiQH0eTb.cjs.map +1 -0
  134. package/dist/{HonoEndpointAdaptor-Bqm6SEuP.d.cts → HonoEndpointAdaptor-Dkkemmbo.d.cts} +9 -4
  135. package/dist/HonoEndpointAdaptor-Dkkemmbo.d.cts.map +1 -0
  136. package/dist/{HonoEndpointAdaptor-CRe-ij5f.d.mts → HonoEndpointAdaptor-HukjdF6M.d.mts} +10 -5
  137. package/dist/HonoEndpointAdaptor-HukjdF6M.d.mts.map +1 -0
  138. package/dist/{Subscriber-COYMSevD.d.cts → Subscriber--zUjZDR6.d.cts} +1 -1
  139. package/dist/Subscriber--zUjZDR6.d.cts.map +1 -0
  140. package/dist/{Subscriber-ikctpU3I.d.mts → Subscriber-0Ac7cXID.d.mts} +2 -2
  141. package/dist/Subscriber-0Ac7cXID.d.mts.map +1 -0
  142. package/dist/{Subscriber-BmPf9GFb.mjs → Subscriber-BgZ8T-O2.mjs} +2 -2
  143. package/dist/Subscriber-BgZ8T-O2.mjs.map +1 -0
  144. package/dist/{Subscriber-BiHjVXtM.cjs → Subscriber-CoFmHMIM.cjs} +2 -2
  145. package/dist/Subscriber-CoFmHMIM.cjs.map +1 -0
  146. package/dist/{SubscriberBuilder-D_9zzllj.d.mts → SubscriberBuilder-D8cmUHee.d.mts} +2 -2
  147. package/dist/SubscriberBuilder-D8cmUHee.d.mts.map +1 -0
  148. package/dist/{SubscriberBuilder-DJPEeYDJ.mjs → SubscriberBuilder-DWXWZBPo.mjs} +2 -2
  149. package/dist/SubscriberBuilder-DWXWZBPo.mjs.map +1 -0
  150. package/dist/{SubscriberBuilder-ivHAGIVi.d.cts → SubscriberBuilder-DciTqb-7.d.cts} +2 -2
  151. package/dist/SubscriberBuilder-DciTqb-7.d.cts.map +1 -0
  152. package/dist/{SubscriberBuilder-Cp1C-xtT.cjs → SubscriberBuilder-JlxhyqGp.cjs} +2 -2
  153. package/dist/SubscriberBuilder-JlxhyqGp.cjs.map +1 -0
  154. package/dist/{TestEndpointAdaptor-DB7bREhS.d.mts → TestEndpointAdaptor-Boijwbmz.d.mts} +4 -4
  155. package/dist/TestEndpointAdaptor-Boijwbmz.d.mts.map +1 -0
  156. package/dist/{TestEndpointAdaptor-C10xBI--.d.cts → TestEndpointAdaptor-DdwpRyNh.d.cts} +3 -3
  157. package/dist/TestEndpointAdaptor-DdwpRyNh.d.cts.map +1 -0
  158. package/dist/TestEndpointAdaptor-Dk75ExxE.cjs +176 -0
  159. package/dist/TestEndpointAdaptor-Dk75ExxE.cjs.map +1 -0
  160. package/dist/TestEndpointAdaptor-OiA2JLDp.mjs +170 -0
  161. package/dist/TestEndpointAdaptor-OiA2JLDp.mjs.map +1 -0
  162. package/dist/adaptors/aws.cjs +12 -12
  163. package/dist/adaptors/aws.d.cts +13 -12
  164. package/dist/adaptors/aws.d.mts +16 -15
  165. package/dist/adaptors/aws.mjs +12 -12
  166. package/dist/adaptors/hono.cjs +10 -9
  167. package/dist/adaptors/hono.d.cts +6 -6
  168. package/dist/adaptors/hono.d.mts +9 -9
  169. package/dist/adaptors/hono.mjs +10 -9
  170. package/dist/adaptors/testing.cjs +8 -7
  171. package/dist/adaptors/testing.d.cts +6 -6
  172. package/dist/adaptors/testing.d.mts +9 -9
  173. package/dist/adaptors/testing.mjs +8 -7
  174. package/dist/crons/Cron.cjs +6 -6
  175. package/dist/crons/Cron.d.cts +4 -4
  176. package/dist/crons/Cron.d.mts +6 -6
  177. package/dist/crons/Cron.mjs +6 -6
  178. package/dist/crons/CronBuilder.cjs +7 -7
  179. package/dist/crons/CronBuilder.d.cts +5 -5
  180. package/dist/crons/CronBuilder.d.mts +7 -7
  181. package/dist/crons/CronBuilder.mjs +7 -7
  182. package/dist/crons/index.cjs +7 -7
  183. package/dist/crons/index.cjs.map +1 -1
  184. package/dist/crons/index.d.cts +5 -5
  185. package/dist/crons/index.d.mts +7 -7
  186. package/dist/crons/index.mjs +7 -7
  187. package/dist/crons/index.mjs.map +1 -1
  188. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +7 -7
  189. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +8 -7
  190. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +11 -10
  191. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +7 -7
  192. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +8 -8
  193. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +8 -7
  194. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +11 -10
  195. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +8 -8
  196. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +8 -8
  197. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +9 -8
  198. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +12 -11
  199. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +8 -8
  200. package/dist/endpoints/Authorizer.cjs +1 -1
  201. package/dist/endpoints/Authorizer.d.cts +1 -1
  202. package/dist/endpoints/Authorizer.d.mts +1 -1
  203. package/dist/endpoints/Authorizer.mjs +1 -1
  204. package/dist/endpoints/Endpoint.cjs +6 -6
  205. package/dist/endpoints/Endpoint.d.cts +5 -5
  206. package/dist/endpoints/Endpoint.d.mts +8 -8
  207. package/dist/endpoints/Endpoint.mjs +6 -6
  208. package/dist/endpoints/EndpointBuilder.cjs +9 -9
  209. package/dist/endpoints/EndpointBuilder.d.cts +6 -6
  210. package/dist/endpoints/EndpointBuilder.d.mts +9 -9
  211. package/dist/endpoints/EndpointBuilder.mjs +9 -9
  212. package/dist/endpoints/EndpointFactory.cjs +10 -10
  213. package/dist/endpoints/EndpointFactory.d.cts +7 -7
  214. package/dist/endpoints/EndpointFactory.d.mts +10 -10
  215. package/dist/endpoints/EndpointFactory.mjs +10 -10
  216. package/dist/endpoints/HonoEndpointAdaptor.cjs +10 -9
  217. package/dist/endpoints/HonoEndpointAdaptor.d.cts +6 -6
  218. package/dist/endpoints/HonoEndpointAdaptor.d.mts +9 -9
  219. package/dist/endpoints/HonoEndpointAdaptor.mjs +10 -9
  220. package/dist/endpoints/TestEndpointAdaptor.cjs +8 -7
  221. package/dist/endpoints/TestEndpointAdaptor.d.cts +6 -6
  222. package/dist/endpoints/TestEndpointAdaptor.d.mts +9 -9
  223. package/dist/endpoints/TestEndpointAdaptor.mjs +8 -7
  224. package/dist/endpoints/audit.d.cts +5 -5
  225. package/dist/endpoints/audit.d.mts +8 -8
  226. package/dist/endpoints/helpers.cjs +7 -7
  227. package/dist/endpoints/helpers.d.cts +5 -5
  228. package/dist/endpoints/helpers.d.cts.map +1 -1
  229. package/dist/endpoints/helpers.d.mts +8 -8
  230. package/dist/endpoints/helpers.d.mts.map +1 -1
  231. package/dist/endpoints/helpers.mjs +7 -7
  232. package/dist/endpoints/index.cjs +20 -10
  233. package/dist/endpoints/index.cjs.map +1 -1
  234. package/dist/endpoints/index.d.cts +10 -8
  235. package/dist/endpoints/index.d.cts.map +1 -1
  236. package/dist/endpoints/index.d.mts +13 -11
  237. package/dist/endpoints/index.d.mts.map +1 -1
  238. package/dist/endpoints/index.mjs +13 -11
  239. package/dist/endpoints/index.mjs.map +1 -1
  240. package/dist/endpoints/lazyAccessors.cjs +10 -0
  241. package/dist/endpoints/lazyAccessors.d.cts +10 -0
  242. package/dist/endpoints/lazyAccessors.d.mts +10 -0
  243. package/dist/endpoints/lazyAccessors.mjs +3 -0
  244. package/dist/endpoints/parseHonoQuery.cjs +1 -1
  245. package/dist/endpoints/parseHonoQuery.mjs +1 -1
  246. package/dist/endpoints/parseQueryParams.d.cts.map +1 -1
  247. package/dist/endpoints/parseQueryParams.d.mts.map +1 -1
  248. package/dist/endpoints/processAudits.d.cts +5 -5
  249. package/dist/endpoints/processAudits.d.cts.map +1 -1
  250. package/dist/endpoints/processAudits.d.mts +8 -8
  251. package/dist/endpoints/processAudits.d.mts.map +1 -1
  252. package/dist/endpoints/rls.cjs +1 -1
  253. package/dist/endpoints/rls.d.cts +5 -5
  254. package/dist/endpoints/rls.d.mts +8 -8
  255. package/dist/endpoints/rls.mjs +1 -1
  256. package/dist/functions/AWSLambdaFunction.cjs +6 -6
  257. package/dist/functions/AWSLambdaFunction.d.cts +3 -3
  258. package/dist/functions/AWSLambdaFunction.d.mts +4 -4
  259. package/dist/functions/AWSLambdaFunction.mjs +6 -6
  260. package/dist/functions/BaseFunctionBuilder.cjs +2 -2
  261. package/dist/functions/BaseFunctionBuilder.d.mts +2 -2
  262. package/dist/functions/BaseFunctionBuilder.mjs +2 -2
  263. package/dist/functions/Function.cjs +2 -2
  264. package/dist/functions/Function.d.cts +1 -1
  265. package/dist/functions/Function.d.mts +2 -2
  266. package/dist/functions/Function.mjs +2 -2
  267. package/dist/functions/FunctionBuilder.cjs +4 -4
  268. package/dist/functions/FunctionBuilder.d.cts +2 -2
  269. package/dist/functions/FunctionBuilder.d.mts +4 -4
  270. package/dist/functions/FunctionBuilder.mjs +4 -4
  271. package/dist/functions/FunctionExecutionWrapper.cjs +5 -5
  272. package/dist/functions/FunctionExecutionWrapper.d.cts +2 -2
  273. package/dist/functions/FunctionExecutionWrapper.d.mts +3 -3
  274. package/dist/functions/FunctionExecutionWrapper.mjs +5 -5
  275. package/dist/functions/TestFunctionAdaptor.cjs +7 -7
  276. package/dist/functions/TestFunctionAdaptor.cjs.map +1 -1
  277. package/dist/functions/TestFunctionAdaptor.d.cts +2 -2
  278. package/dist/functions/TestFunctionAdaptor.d.cts.map +1 -1
  279. package/dist/functions/TestFunctionAdaptor.d.mts +3 -3
  280. package/dist/functions/TestFunctionAdaptor.d.mts.map +1 -1
  281. package/dist/functions/TestFunctionAdaptor.mjs +7 -7
  282. package/dist/functions/TestFunctionAdaptor.mjs.map +1 -1
  283. package/dist/functions/index.cjs +5 -5
  284. package/dist/functions/index.d.cts +3 -3
  285. package/dist/functions/index.d.mts +5 -5
  286. package/dist/functions/index.mjs +5 -5
  287. package/dist/{functions-fTid0RMK.cjs → functions-BkKXVeHm.cjs} +2 -2
  288. package/dist/functions-BkKXVeHm.cjs.map +1 -0
  289. package/dist/functions-C3A1vMRW.mjs +8 -0
  290. package/dist/functions-C3A1vMRW.mjs.map +1 -0
  291. package/dist/{helpers-BcP1tXAi.cjs → helpers-BelEzV4U.cjs} +2 -2
  292. package/dist/helpers-BelEzV4U.cjs.map +1 -0
  293. package/dist/{helpers-ByRTDO_m.mjs → helpers-DgsMFMUV.mjs} +2 -2
  294. package/dist/helpers-DgsMFMUV.mjs.map +1 -0
  295. package/dist/{index-SI4V0XwK.d.cts → index-CgAQHr3f.d.mts} +2 -2
  296. package/dist/index-CgAQHr3f.d.mts.map +1 -0
  297. package/dist/{index-BWzGIj06.d.mts → index-D0fp_IK1.d.cts} +2 -2
  298. package/dist/index-D0fp_IK1.d.cts.map +1 -0
  299. package/dist/index.cjs +1 -1
  300. package/dist/index.d.cts +2 -1
  301. package/dist/index.d.mts +4 -3
  302. package/dist/index.mjs +1 -1
  303. package/dist/lazyAccessors-B-Jgkg2o.mjs +175 -0
  304. package/dist/lazyAccessors-B-Jgkg2o.mjs.map +1 -0
  305. package/dist/lazyAccessors-B2ILzU-j.d.mts +49 -0
  306. package/dist/lazyAccessors-B2ILzU-j.d.mts.map +1 -0
  307. package/dist/lazyAccessors-B8Hhras9.cjs +223 -0
  308. package/dist/lazyAccessors-B8Hhras9.cjs.map +1 -0
  309. package/dist/lazyAccessors-Bcpi06ed.d.cts +49 -0
  310. package/dist/lazyAccessors-Bcpi06ed.d.cts.map +1 -0
  311. package/dist/{parseHonoQuery-CZC5_97v.cjs → parseHonoQuery-D4MhxTRc.cjs} +1 -1
  312. package/dist/parseHonoQuery-D4MhxTRc.cjs.map +1 -0
  313. package/dist/{parseHonoQuery-DDgIkTO4.mjs → parseHonoQuery-DpK3sGPc.mjs} +1 -1
  314. package/dist/parseHonoQuery-DpK3sGPc.mjs.map +1 -0
  315. package/dist/parseQueryParams-BSNkjmZ9.cjs.map +1 -1
  316. package/dist/parseQueryParams-UMTRnRrW.mjs.map +1 -1
  317. package/dist/processAudits-CzHkPokQ.cjs.map +1 -1
  318. package/dist/processAudits-Dj8UGqcW.mjs.map +1 -1
  319. package/dist/publisher-Bw4770Hi.mjs.map +1 -1
  320. package/dist/publisher-C4BhHB5I.d.cts +16 -0
  321. package/dist/publisher-C4BhHB5I.d.cts.map +1 -0
  322. package/dist/publisher-NE-GnXL8.d.mts +16 -0
  323. package/dist/publisher-NE-GnXL8.d.mts.map +1 -0
  324. package/dist/publisher-lFQleddL.cjs.map +1 -1
  325. package/dist/publisher.d.cts +3 -16
  326. package/dist/publisher.d.mts +3 -16
  327. package/dist/{rls-CmJ7bRsz.cjs → rls-BrywnrQb.cjs} +1 -1
  328. package/dist/{rls-CmJ7bRsz.cjs.map → rls-BrywnrQb.cjs.map} +1 -1
  329. package/dist/{rls-Bf3FRwto.mjs → rls-C0cWOnk4.mjs} +1 -1
  330. package/dist/{rls-Bf3FRwto.mjs.map → rls-C0cWOnk4.mjs.map} +1 -1
  331. package/dist/subscribers/AWSLambdaSubscriberAdaptor.cjs +1 -1
  332. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.cts +2 -2
  333. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +3 -3
  334. package/dist/subscribers/AWSLambdaSubscriberAdaptor.mjs +1 -1
  335. package/dist/subscribers/Subscriber.cjs +2 -2
  336. package/dist/subscribers/Subscriber.d.cts +1 -1
  337. package/dist/subscribers/Subscriber.d.mts +2 -2
  338. package/dist/subscribers/Subscriber.mjs +2 -2
  339. package/dist/subscribers/SubscriberBuilder.cjs +3 -3
  340. package/dist/subscribers/SubscriberBuilder.d.cts +2 -2
  341. package/dist/subscribers/SubscriberBuilder.d.mts +3 -3
  342. package/dist/subscribers/SubscriberBuilder.mjs +3 -3
  343. package/dist/subscribers/index.cjs +3 -3
  344. package/dist/subscribers/index.cjs.map +1 -1
  345. package/dist/subscribers/index.d.cts +2 -2
  346. package/dist/subscribers/index.d.cts.map +1 -1
  347. package/dist/subscribers/index.d.mts +3 -3
  348. package/dist/subscribers/index.d.mts.map +1 -1
  349. package/dist/subscribers/index.mjs +3 -3
  350. package/dist/subscribers/index.mjs.map +1 -1
  351. package/dist/telemetry-BTaiRqPo.d.cts +95 -0
  352. package/dist/telemetry-BTaiRqPo.d.cts.map +1 -0
  353. package/dist/telemetry-yAHf5yDs.d.mts +95 -0
  354. package/dist/telemetry-yAHf5yDs.d.mts.map +1 -0
  355. package/dist/telemetry.cjs +0 -0
  356. package/dist/telemetry.d.cts +2 -0
  357. package/dist/telemetry.d.mts +2 -0
  358. package/dist/telemetry.mjs +0 -0
  359. package/dist/types-B5H3piDg.d.cts.map +1 -1
  360. package/dist/{types-DdIlpxAd.d.mts → types-Dw-iLd3Y.d.mts} +1 -1
  361. package/dist/types-Dw-iLd3Y.d.mts.map +1 -0
  362. package/dist/types.d.mts +1 -1
  363. package/package.json +18 -18
  364. package/src/Construct.ts +117 -86
  365. package/src/__benchmarks__/build-time-optimization.bench.ts +274 -0
  366. package/src/__benchmarks__/endpoint.bench.ts +375 -375
  367. package/src/__benchmarks__/fixtures.ts +241 -0
  368. package/src/__benchmarks__/hono-adaptor.bench.ts +533 -0
  369. package/src/__benchmarks__/hono-server.bench.ts +206 -206
  370. package/src/__benchmarks__/response-builder.bench.ts +428 -0
  371. package/src/__benchmarks__/strategies/strategy-a-lazy-services.ts +319 -0
  372. package/src/__benchmarks__/strategies/strategy-c-middleware.ts +530 -0
  373. package/src/__benchmarks__/strategies/strategy-d-opt-in-events.ts +567 -0
  374. package/src/__tests__/Construct.environment.spec.ts +349 -350
  375. package/src/__tests__/publisher.setting.spec.ts +496 -499
  376. package/src/__tests__/publisher.spec.ts +440 -442
  377. package/src/crons/Cron.ts +117 -117
  378. package/src/crons/CronBuilder.ts +237 -238
  379. package/src/crons/__tests__/Cron.spec.ts +448 -448
  380. package/src/crons/__tests__/CronBuilder.state-isolation.spec.ts +214 -214
  381. package/src/crons/index.ts +4 -4
  382. package/src/endpoints/AmazonApiGatewayEndpointAdaptor.ts +571 -463
  383. package/src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts +86 -86
  384. package/src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts +85 -81
  385. package/src/endpoints/Authorizer.ts +100 -100
  386. package/src/endpoints/Endpoint.ts +921 -937
  387. package/src/endpoints/EndpointBuilder.ts +703 -703
  388. package/src/endpoints/EndpointFactory.ts +1054 -1056
  389. package/src/endpoints/HonoEndpointAdaptor.ts +621 -548
  390. package/src/endpoints/TestEndpointAdaptor.ts +373 -354
  391. package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.audits.spec.ts +499 -0
  392. package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.events.spec.ts +541 -542
  393. package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.spec.ts +1172 -1174
  394. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.audits.spec.ts +599 -599
  395. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.events.spec.ts +710 -710
  396. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.factory-publisher.spec.ts +280 -280
  397. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.kysely-audit.integration.spec.ts +924 -730
  398. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.rls.spec.ts +307 -0
  399. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.spec.ts +408 -408
  400. package/src/endpoints/__tests__/Authorizer.spec.ts +286 -0
  401. package/src/endpoints/__tests__/Endpoint.cookies.spec.ts +162 -162
  402. package/src/endpoints/__tests__/Endpoint.headers.spec.ts +182 -182
  403. package/src/endpoints/__tests__/Endpoint.manifest.spec.ts +158 -159
  404. package/src/endpoints/__tests__/Endpoint.spec.ts +819 -822
  405. package/src/endpoints/__tests__/EndpointBuilder.audit.spec.ts +427 -427
  406. package/src/endpoints/__tests__/EndpointBuilder.spec.ts +478 -478
  407. package/src/endpoints/__tests__/EndpointFactory.authorizers.spec.ts +426 -426
  408. package/src/endpoints/__tests__/EndpointFactory.database-auditor.spec.ts +501 -501
  409. package/src/endpoints/__tests__/EndpointFactory.reference-audit.spec.ts +177 -177
  410. package/src/endpoints/__tests__/EndpointFactory.spec.ts +471 -471
  411. package/src/endpoints/__tests__/EndpointFactory.state-isolation.spec.ts +143 -143
  412. package/src/endpoints/__tests__/HonoEndpointAdaptor.audit-transactions.spec.ts +663 -663
  413. package/src/endpoints/__tests__/HonoEndpointAdaptor.audits.spec.ts +608 -608
  414. package/src/endpoints/__tests__/HonoEndpointAdaptor.events.spec.ts +561 -561
  415. package/src/endpoints/__tests__/HonoEndpointAdaptor.kysely-audit.integration.spec.ts +1036 -1036
  416. package/src/endpoints/__tests__/HonoEndpointAdaptor.openapi.spec.ts +278 -278
  417. package/src/endpoints/__tests__/HonoEndpointAdaptor.spec.ts +1093 -1093
  418. package/src/endpoints/__tests__/ResponseBuilder.spec.ts +230 -230
  419. package/src/endpoints/__tests__/TestEndpointAdaptor.audits.spec.ts +569 -569
  420. package/src/endpoints/__tests__/TestEndpointAdaptor.spec.ts +841 -841
  421. package/src/endpoints/__tests__/endpoint-types.test.ts +68 -68
  422. package/src/endpoints/__tests__/helpers.spec.ts +37 -0
  423. package/src/endpoints/__tests__/lazyAccessors.spec.ts +330 -0
  424. package/src/endpoints/__tests__/processAudits.spec.ts +631 -0
  425. package/src/endpoints/audit.ts +51 -51
  426. package/src/endpoints/helpers.ts +34 -35
  427. package/src/endpoints/index.ts +33 -23
  428. package/src/endpoints/lazyAccessors.ts +241 -0
  429. package/src/endpoints/parseHonoQuery.ts +41 -41
  430. package/src/endpoints/parseQueryParams.ts +36 -36
  431. package/src/endpoints/processAudits.ts +269 -269
  432. package/src/endpoints/rls.ts +16 -16
  433. package/src/functions/AWSLambdaFunction.ts +294 -295
  434. package/src/functions/BaseFunctionBuilder.ts +185 -185
  435. package/src/functions/Function.ts +190 -190
  436. package/src/functions/FunctionBuilder.ts +353 -353
  437. package/src/functions/FunctionExecutionWrapper.ts +199 -200
  438. package/src/functions/TestFunctionAdaptor.ts +191 -191
  439. package/src/functions/__tests__/AWSLambdaFunctionAdaptor.spec.ts +424 -424
  440. package/src/functions/__tests__/Function.audits.spec.ts +364 -364
  441. package/src/functions/__tests__/Function.spec.ts +453 -454
  442. package/src/functions/__tests__/FunctionBuilder.state-isolation.spec.ts +179 -179
  443. package/src/functions/__tests__/TestFunctionAdaptor.spec.ts +369 -369
  444. package/src/functions/index.ts +6 -4
  445. package/src/index.ts +13 -9
  446. package/src/publisher.ts +71 -72
  447. package/src/subscribers/AWSLambdaSubscriberAdaptor.ts +244 -248
  448. package/src/subscribers/Subscriber.ts +82 -84
  449. package/src/subscribers/SubscriberBuilder.ts +129 -129
  450. package/src/subscribers/__tests__/AWSLambdaSubscriberAdaptor.spec.ts +589 -589
  451. package/src/subscribers/__tests__/Subscriber.spec.ts +402 -404
  452. package/src/subscribers/index.ts +1 -0
  453. package/src/telemetry.ts +103 -0
  454. package/src/types.ts +7 -7
  455. package/test.ts +58 -59
  456. package/dist/AWSLambdaFunction-BdebRMUh.d.mts.map +0 -1
  457. package/dist/AWSLambdaFunction-C54a1doJ.mjs.map +0 -1
  458. package/dist/AWSLambdaFunction-D0tEOTXQ.d.cts.map +0 -1
  459. package/dist/AWSLambdaFunction-EPGY4s7i.cjs.map +0 -1
  460. package/dist/AWSLambdaSubscriberAdaptor-BLfO612H.mjs.map +0 -1
  461. package/dist/AWSLambdaSubscriberAdaptor-BNcYYZ-P.cjs.map +0 -1
  462. package/dist/AWSLambdaSubscriberAdaptor-DrFAvHOp.d.mts.map +0 -1
  463. package/dist/AWSLambdaSubscriberAdaptor-Dx-Ks1Jp.d.cts.map +0 -1
  464. package/dist/AmazonApiGatewayEndpointAdaptor-BT9JXihC.mjs.map +0 -1
  465. package/dist/AmazonApiGatewayEndpointAdaptor-DLqnYQ4E.d.cts.map +0 -1
  466. package/dist/AmazonApiGatewayEndpointAdaptor-DNFvvdmW.cjs.map +0 -1
  467. package/dist/AmazonApiGatewayEndpointAdaptor-qlKXuZxy.d.mts.map +0 -1
  468. package/dist/AmazonApiGatewayV1EndpointAdaptor-CShQI8Gk.mjs.map +0 -1
  469. package/dist/AmazonApiGatewayV1EndpointAdaptor-Ccl8B8kG.cjs.map +0 -1
  470. package/dist/AmazonApiGatewayV1EndpointAdaptor-DyUaJIhB.d.cts.map +0 -1
  471. package/dist/AmazonApiGatewayV1EndpointAdaptor-MRUxs3Xi.d.mts.map +0 -1
  472. package/dist/AmazonApiGatewayV2EndpointAdaptor-D8-0Aab4.cjs.map +0 -1
  473. package/dist/AmazonApiGatewayV2EndpointAdaptor-M1-w0U5R.d.cts.map +0 -1
  474. package/dist/AmazonApiGatewayV2EndpointAdaptor-fuLM6M9k.d.mts.map +0 -1
  475. package/dist/AmazonApiGatewayV2EndpointAdaptor-lCRzGE4q.mjs.map +0 -1
  476. package/dist/Authorizer-B-btowNd.d.cts.map +0 -1
  477. package/dist/Authorizer-C0ge_tc8.cjs.map +0 -1
  478. package/dist/Authorizer-gWxYsGEp.d.mts.map +0 -1
  479. package/dist/Authorizer-r9U3y_ms.mjs.map +0 -1
  480. package/dist/BaseFunctionBuilder-Czi1Jwza.mjs.map +0 -1
  481. package/dist/BaseFunctionBuilder-DRY419e7.d.mts.map +0 -1
  482. package/dist/BaseFunctionBuilder-MYG3C9ug.cjs.map +0 -1
  483. package/dist/Construct-Ba5cMxib.cjs.map +0 -1
  484. package/dist/Construct-DdyGHuag.mjs.map +0 -1
  485. package/dist/Construct-XrijZFFh.d.mts.map +0 -1
  486. package/dist/Cron-BxhGs5up.mjs.map +0 -1
  487. package/dist/Cron-CGF4YAfM.cjs.map +0 -1
  488. package/dist/Cron-bDLcTvV5.d.cts.map +0 -1
  489. package/dist/Cron-cdjlSKNp.d.mts.map +0 -1
  490. package/dist/CronBuilder-BC4m5-p1.d.mts.map +0 -1
  491. package/dist/CronBuilder-CcxKRtVP.cjs.map +0 -1
  492. package/dist/CronBuilder-DKVXyE0Q.d.cts.map +0 -1
  493. package/dist/CronBuilder-d2jh-IB2.mjs.map +0 -1
  494. package/dist/Endpoint-BPv9_-m_.d.cts.map +0 -1
  495. package/dist/Endpoint-BVGZXFyV.cjs.map +0 -1
  496. package/dist/Endpoint-BdwG75G_.d.mts.map +0 -1
  497. package/dist/Endpoint-CuOEswxJ.mjs.map +0 -1
  498. package/dist/EndpointBuilder-B3az942t.d.mts.map +0 -1
  499. package/dist/EndpointBuilder-Cgj1P_ra.cjs.map +0 -1
  500. package/dist/EndpointBuilder-DIy_m1bu.d.cts.map +0 -1
  501. package/dist/EndpointBuilder-DnCB1h1j.mjs.map +0 -1
  502. package/dist/EndpointFactory-C-0nE6Jg.d.mts.map +0 -1
  503. package/dist/EndpointFactory-CYj6BYok.cjs.map +0 -1
  504. package/dist/EndpointFactory-CbdxPCIH.mjs.map +0 -1
  505. package/dist/EndpointFactory-CyPbm3AD.d.cts.map +0 -1
  506. package/dist/Function-BVHqIDp9.mjs.map +0 -1
  507. package/dist/Function-Cf7f_kCz.d.cts.map +0 -1
  508. package/dist/Function-DDZb1525.cjs.map +0 -1
  509. package/dist/Function-DN2G6OT5.d.mts.map +0 -1
  510. package/dist/FunctionBuilder-CJBzzXL3.d.cts.map +0 -1
  511. package/dist/FunctionBuilder-CrDYgfiI.mjs.map +0 -1
  512. package/dist/FunctionBuilder-Cxx8D2na.d.mts.map +0 -1
  513. package/dist/FunctionBuilder-DswJ-9sD.cjs.map +0 -1
  514. package/dist/FunctionExecutionWrapper-BYI2bGTL.cjs.map +0 -1
  515. package/dist/FunctionExecutionWrapper-CLDh7Z2_.mjs.map +0 -1
  516. package/dist/FunctionExecutionWrapper-DF260Aaj.d.mts.map +0 -1
  517. package/dist/FunctionExecutionWrapper-Qy8bmgFR.d.cts.map +0 -1
  518. package/dist/HonoEndpointAdaptor-Bqm6SEuP.d.cts.map +0 -1
  519. package/dist/HonoEndpointAdaptor-CQe2FqMR.cjs +0 -234
  520. package/dist/HonoEndpointAdaptor-CQe2FqMR.cjs.map +0 -1
  521. package/dist/HonoEndpointAdaptor-CRe-ij5f.d.mts.map +0 -1
  522. package/dist/HonoEndpointAdaptor-Ce-2HBxn.mjs +0 -228
  523. package/dist/HonoEndpointAdaptor-Ce-2HBxn.mjs.map +0 -1
  524. package/dist/Subscriber-BiHjVXtM.cjs.map +0 -1
  525. package/dist/Subscriber-BmPf9GFb.mjs.map +0 -1
  526. package/dist/Subscriber-COYMSevD.d.cts.map +0 -1
  527. package/dist/Subscriber-ikctpU3I.d.mts.map +0 -1
  528. package/dist/SubscriberBuilder-Cp1C-xtT.cjs.map +0 -1
  529. package/dist/SubscriberBuilder-DJPEeYDJ.mjs.map +0 -1
  530. package/dist/SubscriberBuilder-D_9zzllj.d.mts.map +0 -1
  531. package/dist/SubscriberBuilder-ivHAGIVi.d.cts.map +0 -1
  532. package/dist/TestEndpointAdaptor-BXTofAKc.mjs +0 -163
  533. package/dist/TestEndpointAdaptor-BXTofAKc.mjs.map +0 -1
  534. package/dist/TestEndpointAdaptor-C10xBI--.d.cts.map +0 -1
  535. package/dist/TestEndpointAdaptor-D9IwhIYg.cjs +0 -169
  536. package/dist/TestEndpointAdaptor-D9IwhIYg.cjs.map +0 -1
  537. package/dist/TestEndpointAdaptor-DB7bREhS.d.mts.map +0 -1
  538. package/dist/functions-C6EK1xL6.mjs +0 -8
  539. package/dist/functions-C6EK1xL6.mjs.map +0 -1
  540. package/dist/functions-fTid0RMK.cjs.map +0 -1
  541. package/dist/helpers-BcP1tXAi.cjs.map +0 -1
  542. package/dist/helpers-ByRTDO_m.mjs.map +0 -1
  543. package/dist/index-BWzGIj06.d.mts.map +0 -1
  544. package/dist/index-SI4V0XwK.d.cts.map +0 -1
  545. package/dist/parseHonoQuery-CZC5_97v.cjs.map +0 -1
  546. package/dist/parseHonoQuery-DDgIkTO4.mjs.map +0 -1
  547. package/dist/publisher.d.cts.map +0 -1
  548. package/dist/publisher.d.mts.map +0 -1
  549. package/dist/types-DdIlpxAd.d.mts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndpointBuilder-CFfWWjUa.d.cts","names":[],"sources":["../src/endpoints/EndpointBuilder.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { HttpMethod } from "./types-DdIlpxAd.mjs";
2
- import { BaseFunctionBuilder } from "./BaseFunctionBuilder-DRY419e7.mjs";
3
- import { Authorizer, SecurityScheme } from "./Authorizer-gWxYsGEp.mjs";
4
- import { ActorExtractor, AuthorizeFn, Endpoint, EndpointHandler, EndpointSchemas, MappedAudit, RlsBypass, RlsConfig, SessionFn, SuccessStatus } from "./Endpoint-BdwG75G_.mjs";
1
+ import { HttpMethod } from "./types-Dw-iLd3Y.mjs";
2
+ import { BaseFunctionBuilder } from "./BaseFunctionBuilder-CDfDWWAQ.mjs";
3
+ import { Authorizer, SecurityScheme } from "./Authorizer-DCcYOx3h.mjs";
4
+ import { ActorExtractor, AuthorizeFn, Endpoint, EndpointHandler, EndpointSchemas, MappedAudit, RlsBypass, RlsConfig, SessionFn, SuccessStatus } from "./Endpoint-Dlv7nxgj.mjs";
5
5
  import { Service } from "@geekmidas/services";
6
6
  import { AuditStorage, AuditableAction, ExtractStorageAuditAction } from "@geekmidas/audit";
7
7
  import { RateLimitConfig } from "@geekmidas/rate-limit";
@@ -142,4 +142,4 @@ declare class EndpointBuilder<TRoute extends string, TMethod extends HttpMethod,
142
142
 
143
143
  //#endregion
144
144
  export { EndpointBuilder };
145
- //# sourceMappingURL=EndpointBuilder-B3az942t.d.mts.map
145
+ //# sourceMappingURL=EndpointBuilder-T_K2NLWw.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndpointBuilder-T_K2NLWw.d.mts","names":[],"sources":["../src/endpoints/EndpointBuilder.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { Authorizer, BuiltInSecuritySchemeId, SecurityScheme } from "./Authorizer-B-btowNd.cjs";
2
- import { ActorExtractor, AuthorizeFn, RlsConfig, SessionFn } from "./Endpoint-BPv9_-m_.cjs";
3
- import { EndpointBuilder } from "./EndpointBuilder-DIy_m1bu.cjs";
1
+ import { Authorizer, BuiltInSecuritySchemeId, SecurityScheme } from "./Authorizer-DWtwC8we.cjs";
2
+ import { ActorExtractor, AuthorizeFn, RlsConfig, SessionFn } from "./Endpoint-BOlbY5iq.cjs";
3
+ import { EndpointBuilder } from "./EndpointBuilder-CFfWWjUa.cjs";
4
4
  import { AuditStorage, AuditableAction, ExtractStorageAuditAction } from "@geekmidas/audit";
5
5
  import { EventPublisher, MappedEvent } from "@geekmidas/events";
6
6
  import { Logger } from "@geekmidas/logger";
@@ -139,4 +139,4 @@ declare const e: EndpointFactory<[], "", Logger, unknown, undefined, string, rea
139
139
 
140
140
  //#endregion
141
141
  export { EndpointFactory, EndpointFactoryOptions, JoinPaths, RemoveTrailingSlash, e };
142
- //# sourceMappingURL=EndpointFactory-CyPbm3AD.d.cts.map
142
+ //# sourceMappingURL=EndpointFactory-ChzBVEM9.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndpointFactory-ChzBVEM9.d.cts","names":[],"sources":["../src/endpoints/EndpointFactory.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { EndpointBuilder } from "./EndpointBuilder-DnCB1h1j.mjs";
1
+ import { EndpointBuilder } from "./EndpointBuilder-BaVvhW9m.mjs";
2
2
  import { ConsoleLogger } from "@geekmidas/logger/console";
3
3
  import uniqBy from "lodash.uniqby";
4
4
 
5
5
  //#region src/endpoints/EndpointFactory.ts
6
6
  const DEFAULT_LOGGER$1 = new ConsoleLogger();
7
7
  var EndpointFactory = class EndpointFactory {
8
- defaultServices;
8
+ defaultServices = [];
9
9
  basePath = "";
10
10
  defaultAuthorizeFn;
11
11
  defaultEventPublisher;
@@ -35,12 +35,12 @@ var EndpointFactory = class EndpointFactory {
35
35
  }
36
36
  static joinPaths(path, basePath = "") {
37
37
  if (!basePath && !path) return "/";
38
- if (!basePath) return path.startsWith("/") ? path : "/" + path;
39
- if (!path) return basePath.startsWith("/") ? basePath : "/" + basePath;
38
+ if (!basePath) return path.startsWith("/") ? path : `/${path}`;
39
+ if (!path) return basePath.startsWith("/") ? basePath : `/${basePath}`;
40
40
  const base = basePath.endsWith("/") ? basePath.slice(0, -1) : basePath;
41
- const segment = path.startsWith("/") ? path : "/" + path;
41
+ const segment = path.startsWith("/") ? path : `/${path}`;
42
42
  let result = base + segment;
43
- if (!result.startsWith("/")) result = "/" + result;
43
+ if (!result.startsWith("/")) result = `/${result}`;
44
44
  result = result.replace(/^\/+/g, "/");
45
45
  if (result.length > 1 && result.endsWith("/")) result = result.slice(0, -1);
46
46
  return result;
@@ -374,4 +374,4 @@ const e = new EndpointFactory();
374
374
 
375
375
  //#endregion
376
376
  export { EndpointFactory, e };
377
- //# sourceMappingURL=EndpointFactory-CbdxPCIH.mjs.map
377
+ //# sourceMappingURL=EndpointFactory-DfNjSgVG.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndpointFactory-DfNjSgVG.mjs","names":["DEFAULT_LOGGER","path: P","basePath: TBasePath","authorizers: T","schemes: T","name:\n\t\t\t| BuiltInSecuritySchemeId\n\t\t\t| keyof TSecuritySchemes\n\t\t\t| TAuthorizers[number]\n\t\t\t| 'none'","path: TPath","fn: AuthorizeFn<TServices, TLogger, TSession>","services: S","logger: L","publisher: Service<TServiceName, T>","session: SessionFn<TServices, TLogger, T, TDatabase>","service: Service<TName, T>","storage: Service<TName, T>","extractor: ActorExtractor<TServices, TSession, TLogger>","config: TConfig","method: TMethod"],"sources":["../src/endpoints/EndpointFactory.ts"],"sourcesContent":["import type {\n\tAuditableAction,\n\tAuditStorage,\n\tExtractStorageAuditAction,\n} from '@geekmidas/audit';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { Service } from '@geekmidas/services';\nimport uniqBy from 'lodash.uniqby';\nimport type { HttpMethod } from '../types';\nimport type {\n\tAuthorizer,\n\tBuiltInSecuritySchemeId,\n\tSecurityScheme,\n} from './Authorizer';\nimport type { ActorExtractor } from './audit';\nimport type { AuthorizeFn, SessionFn } from './Endpoint';\nimport { EndpointBuilder } from './EndpointBuilder';\nimport type { RlsConfig } from './rls';\n\n// Re-export SecurityScheme to make the type portable in declaration files\nexport type { SecurityScheme } from './Authorizer';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class EndpointFactory<\n\tTServices extends Service[] = [],\n\tTBasePath extends string = '',\n\tTLogger extends Logger = Logger,\n\tTSession = unknown,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuthorizers extends readonly string[] = readonly string[],\n\tTAuditStorage extends AuditStorage<any> | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTAuditAction extends AuditableAction<\n\t\tstring,\n\t\tunknown\n\t> = ExtractStorageAuditAction<NonNullable<TAuditStorage>>,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTSecuritySchemes extends Record<string, SecurityScheme> = Record<\n\t\tstring,\n\t\tSecurityScheme\n\t>,\n\tTRlsConfig extends\n\t\t| RlsConfig<TServices, TSession, TLogger>\n\t\t| undefined = undefined,\n> {\n\tprivate defaultServices: TServices = [] as unknown as TServices;\n\tprivate basePath: TBasePath = '' as TBasePath;\n\tprivate defaultAuthorizeFn?: AuthorizeFn<TServices, TLogger, TSession>;\n\tprivate defaultEventPublisher:\n\t\t| Service<TEventPublisherServiceName, TEventPublisher>\n\t\t| undefined;\n\tprivate defaultSessionExtractor?: SessionFn<\n\t\tTServices,\n\t\tTLogger,\n\t\tTSession,\n\t\tTDatabase\n\t>;\n\tprivate defaultLogger: TLogger = DEFAULT_LOGGER;\n\tprivate availableAuthorizers: Authorizer[] = [];\n\tprivate defaultAuthorizerName?: TAuthorizers[number];\n\tprivate defaultAuditorStorage:\n\t\t| Service<TAuditStorageServiceName, TAuditStorage>\n\t\t| undefined;\n\tprivate defaultDatabaseService:\n\t\t| Service<TDatabaseServiceName, TDatabase>\n\t\t| undefined;\n\tprivate defaultActorExtractor?: ActorExtractor<TServices, TSession, TLogger>;\n\tprivate customSecuritySchemes: TSecuritySchemes = {} as TSecuritySchemes;\n\tprivate defaultRlsConfig?: TRlsConfig;\n\n\tconstructor({\n\t\tbasePath,\n\t\tdefaultAuthorizeFn,\n\t\tdefaultLogger,\n\t\tdefaultSessionExtractor,\n\t\t// @ts-expect-error\n\t\tdefaultServices = [] as TServices,\n\t\tdefaultEventPublisher,\n\t\tavailableAuthorizers = [],\n\t\tdefaultAuthorizerName,\n\t\tdefaultAuditorStorage,\n\t\tdefaultDatabaseService,\n\t\tdefaultActorExtractor,\n\t\tcustomSecuritySchemes = {} as TSecuritySchemes,\n\t\tdefaultRlsConfig,\n\t}: EndpointFactoryOptions<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> = {}) {\n\t\t// Initialize default services\n\t\tthis.defaultServices = uniqBy(\n\t\t\tdefaultServices,\n\t\t\t(s) => s.serviceName,\n\t\t) as TServices;\n\n\t\tthis.basePath = basePath || ('' as TBasePath);\n\t\tthis.defaultAuthorizeFn = defaultAuthorizeFn;\n\t\tthis.defaultLogger = defaultLogger || (DEFAULT_LOGGER as TLogger);\n\t\tthis.defaultSessionExtractor = defaultSessionExtractor;\n\t\tthis.defaultEventPublisher = defaultEventPublisher;\n\t\tthis.availableAuthorizers = availableAuthorizers;\n\t\tthis.defaultAuthorizerName = defaultAuthorizerName;\n\t\tthis.defaultAuditorStorage = defaultAuditorStorage;\n\t\tthis.defaultDatabaseService = defaultDatabaseService;\n\t\tthis.defaultActorExtractor = defaultActorExtractor;\n\t\tthis.customSecuritySchemes = customSecuritySchemes;\n\t\tthis.defaultRlsConfig = defaultRlsConfig;\n\t}\n\n\tstatic joinPaths<TBasePath extends string, P extends string>(\n\t\tpath: P,\n\t\tbasePath: TBasePath = '' as TBasePath,\n\t): JoinPaths<TBasePath, P> {\n\t\t// Handle empty cases\n\t\tif (!basePath && !path) return '/' as JoinPaths<TBasePath, P>;\n\t\tif (!basePath)\n\t\t\treturn (path.startsWith('/') ? path : `/${path}`) as JoinPaths<\n\t\t\t\tTBasePath,\n\t\t\t\tP\n\t\t\t>;\n\t\tif (!path)\n\t\t\treturn (\n\t\t\t\tbasePath.startsWith('/') ? basePath : `/${basePath}`\n\t\t\t) as JoinPaths<TBasePath, P>;\n\n\t\tconst base = basePath.endsWith('/') ? basePath.slice(0, -1) : basePath;\n\t\tconst segment = path.startsWith('/') ? path : `/${path}`;\n\n\t\tlet result = base + segment;\n\n\t\t// Ensure leading slash\n\t\tif (!result.startsWith('/')) {\n\t\t\tresult = `/${result}`;\n\t\t}\n\n\t\t// Normalize multiple slashes (except in the middle of the path where they might be intentional)\n\t\tresult = result.replace(/^\\/+/g, '/');\n\n\t\t// Remove trailing slash unless it's the root path \"/\"\n\t\tif (result.length > 1 && result.endsWith('/')) {\n\t\t\tresult = result.slice(0, -1);\n\t\t}\n\n\t\treturn result as JoinPaths<TBasePath, P>;\n\t}\n\n\t// Configure available authorizers\n\tauthorizers<const T extends readonly string[]>(\n\t\tauthorizers: T,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tT,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\tconst authorizerConfigs = authorizers.map((name) => ({\n\t\t\tname,\n\t\t}));\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tT,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: authorizerConfigs,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Define custom security schemes for this factory.\n\t * These extend the built-in schemes (jwt, bearer, apiKey, oauth2, oidc).\n\t *\n\t * @example\n\t * ```typescript\n\t * const router = e.securitySchemes({\n\t * awsIamSigV4: {\n\t * type: 'apiKey',\n\t * in: 'header',\n\t * name: 'Authorization',\n\t * 'x-amazon-apigateway-authtype': 'awsSigv4',\n\t * },\n\t * });\n\t * ```\n\t */\n\tsecuritySchemes<T extends Record<string, SecurityScheme>>(\n\t\tschemes: T,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes & T,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes & T,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: {\n\t\t\t\t...this.customSecuritySchemes,\n\t\t\t\t...schemes,\n\t\t\t} as TSecuritySchemes & T,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Set the default authorizer for all endpoints created from this factory.\n\t * Individual endpoints can override this by calling `.authorizer()` on the builder.\n\t * Use `'none'` to explicitly disable authorization for all endpoints.\n\t *\n\t * Accepts:\n\t * - Built-in security scheme names: 'jwt', 'bearer', 'apiKey', 'oauth2', 'oidc'\n\t * - Custom security scheme names defined via `.securitySchemes()`\n\t * - 'none' to disable authorization\n\t */\n\tauthorizer(\n\t\tname:\n\t\t\t| BuiltInSecuritySchemeId\n\t\t\t| keyof TSecuritySchemes\n\t\t\t| TAuthorizers[number]\n\t\t\t| 'none',\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\t// Validate that the authorizer exists in available authorizers (if authorizers() was called)\n\t\tif (name !== 'none' && this.availableAuthorizers.length > 0) {\n\t\t\tconst authorizerExists = this.availableAuthorizers.some(\n\t\t\t\t(a) => a.name === name,\n\t\t\t);\n\t\t\tif (!authorizerExists) {\n\t\t\t\tconst available = this.availableAuthorizers\n\t\t\t\t\t.map((a) => a.name)\n\t\t\t\t\t.join(', ');\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Authorizer \"${name as string}\" not found in available authorizers: ${available}`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName:\n\t\t\t\tname === 'none' ? undefined : (name as TAuthorizers[number]),\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t// Create a sub-router with a path prefix\n\troute<TPath extends string>(\n\t\tpath: TPath,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tJoinPaths<TBasePath, TPath>,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\tconst newBasePath = EndpointFactory.joinPaths(path, this.basePath);\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tJoinPaths<TBasePath, TPath>,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: newBasePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t// Create a new factory with authorization\n\tauthorize(\n\t\tfn: AuthorizeFn<TServices, TLogger, TSession>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: fn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t// Create a new factory with services\n\tservices<S extends Service[]>(\n\t\tservices: S,\n\t): EndpointFactory<\n\t\t[...S, ...TServices],\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tundefined // Reset RLS config when services change - user should call .rls() after .services()\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\t[...S, ...TServices],\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tundefined\n\t\t>({\n\t\t\tdefaultServices: [...services, ...this.defaultServices],\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn as unknown as AuthorizeFn<\n\t\t\t\t[...S, ...TServices],\n\t\t\t\tTLogger,\n\t\t\t\tTSession\n\t\t\t>,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor as unknown as\n\t\t\t\t| SessionFn<[...S, ...TServices], TLogger, TSession, TDatabase>\n\t\t\t\t| undefined,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor as unknown as\n\t\t\t\t| ActorExtractor<[...S, ...TServices], TSession, TLogger>\n\t\t\t\t| undefined,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\t// Reset RLS config when services change since it depends on TServices\n\t\t\tdefaultRlsConfig: undefined,\n\t\t});\n\t}\n\n\tlogger<L extends Logger>(\n\t\tlogger: L,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tL,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tundefined // Reset RLS config when logger type changes - user should call .rls() after .logger()\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tL,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tundefined\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn as unknown as AuthorizeFn<\n\t\t\t\tTServices,\n\t\t\t\tL,\n\t\t\t\tTSession\n\t\t\t>,\n\t\t\tdefaultLogger: logger,\n\t\t\tdefaultSessionExtractor: this\n\t\t\t\t.defaultSessionExtractor as unknown as SessionFn<\n\t\t\t\tTServices,\n\t\t\t\tL,\n\t\t\t\tTSession\n\t\t\t>,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this\n\t\t\t\t.defaultActorExtractor as unknown as ActorExtractor<\n\t\t\t\tTServices,\n\t\t\t\tTSession,\n\t\t\t\tL\n\t\t\t>,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\t// Reset RLS config when logger type changes since it depends on TLogger\n\t\t\tdefaultRlsConfig: undefined,\n\t\t});\n\t}\n\n\tpublisher<\n\t\tT extends EventPublisher<any>,\n\t\tTServiceName extends string = string,\n\t>(\n\t\tpublisher: Service<TServiceName, T>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tT,\n\t\tTServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tT,\n\t\t\tTServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: publisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\tsession<T>(\n\t\tsession: SessionFn<TServices, TLogger, T, TDatabase>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tT,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tundefined // Reset RLS config when session type changes - user should call .rls() after .session()\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tT,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tundefined\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn as unknown as AuthorizeFn<\n\t\t\t\tTServices,\n\t\t\t\tTLogger,\n\t\t\t\tT\n\t\t\t>,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: session,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this\n\t\t\t\t.defaultActorExtractor as unknown as ActorExtractor<\n\t\t\t\tTServices,\n\t\t\t\tT,\n\t\t\t\tTLogger\n\t\t\t>,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\t// Reset RLS config when session type changes since it depends on TSession\n\t\t\tdefaultRlsConfig: undefined,\n\t\t});\n\t}\n\n\t/**\n\t * Set the database service for endpoints created from this factory.\n\t * The database will be available in handler context as `db`.\n\t */\n\tdatabase<T, TName extends string>(\n\t\tservice: Service<TName, T>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tT,\n\t\tTName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\t// Reset session extractor when database changes - user should call .session() after .database()\n\t\t\t// to get proper type inference for the new database type\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor as unknown as\n\t\t\t\t| SessionFn<TServices, TLogger, TSession, T>\n\t\t\t\t| undefined,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: service,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Set the auditor storage service for endpoints created from this factory.\n\t * This enables audit functionality and makes `auditor` available in handler context.\n\t * The audit action type is automatically inferred from the storage's generic parameter.\n\t */\n\tauditor<T extends AuditStorage<any>, TName extends string>(\n\t\tstorage: Service<TName, T>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tT,\n\t\tTName,\n\t\tExtractStorageAuditAction<T>,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tExtractStorageAuditAction<T>,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: storage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this\n\t\t\t\t.defaultActorExtractor as unknown as ActorExtractor<\n\t\t\t\tTServices,\n\t\t\t\tTSession,\n\t\t\t\tTLogger\n\t\t\t>,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Set the actor extractor function for endpoints created from this factory.\n\t * The actor is extracted from the request context and attached to all audits.\n\t */\n\tactor(\n\t\textractor: ActorExtractor<TServices, TSession, TLogger>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: extractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Set the RLS (Row-Level Security) configuration for endpoints created from this factory.\n\t * This enables automatic PostgreSQL session variable setting for RLS policies.\n\t *\n\t * @example\n\t * ```typescript\n\t * const api = new EndpointFactory()\n\t * .database(databaseService)\n\t * .session(extractSession)\n\t * .rls({\n\t * extractor: ({ session }) => ({\n\t * user_id: session.userId,\n\t * tenant_id: session.tenantId,\n\t * }),\n\t * prefix: 'app',\n\t * });\n\t * ```\n\t */\n\trls<TConfig extends RlsConfig<TServices, TSession, TLogger>>(\n\t\tconfig: TConfig,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: config,\n\t\t});\n\t}\n\n\tprivate createBuilder<TMethod extends HttpMethod, TPath extends string>(\n\t\tmethod: TMethod,\n\t\tpath: TPath,\n\t): EndpointBuilder<\n\t\tJoinPaths<TBasePath, TPath>,\n\t\tTMethod,\n\t\t{},\n\t\tTServices,\n\t\tTLogger,\n\t\tundefined,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tconst fullPath = EndpointFactory.joinPaths(path, this.basePath);\n\t\tconst builder = new EndpointBuilder<\n\t\t\tJoinPaths<TBasePath, TPath>,\n\t\t\tTMethod,\n\t\t\t{},\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tundefined,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>(fullPath, method);\n\n\t\tif (this.defaultAuthorizeFn) {\n\t\t\tbuilder._authorize = this.defaultAuthorizeFn;\n\t\t}\n\t\tif (this.defaultServices.length) {\n\t\t\t// Create a copy to avoid sharing references between builders\n\t\t\tbuilder._services = [...this.defaultServices] as TServices;\n\t\t}\n\n\t\tif (this.defaultLogger) {\n\t\t\tbuilder._logger = this.defaultLogger as TLogger;\n\t\t}\n\n\t\tif (this.defaultSessionExtractor) {\n\t\t\tbuilder._getSession = this.defaultSessionExtractor as SessionFn<\n\t\t\t\tTServices,\n\t\t\t\tTLogger,\n\t\t\t\tTSession\n\t\t\t>;\n\t\t}\n\n\t\tif (this.defaultEventPublisher) {\n\t\t\tbuilder._setPublisher(this.defaultEventPublisher);\n\t\t}\n\n\t\t// Set available authorizers and default\n\t\tbuilder._availableAuthorizers = this.availableAuthorizers;\n\t\tif (this.defaultAuthorizerName) {\n\t\t\tbuilder._authorizerName = this.defaultAuthorizerName;\n\t\t}\n\n\t\t// Set auditor storage if configured\n\t\tif (this.defaultAuditorStorage) {\n\t\t\tbuilder._setAuditorStorage(this.defaultAuditorStorage as any);\n\t\t}\n\n\t\t// Set database service if configured\n\t\tif (this.defaultDatabaseService) {\n\t\t\tbuilder._setDatabaseService(this.defaultDatabaseService as any);\n\t\t}\n\n\t\t// Set actor extractor if configured\n\t\tif (this.defaultActorExtractor) {\n\t\t\tbuilder._actorExtractor = this.defaultActorExtractor;\n\t\t}\n\n\t\t// Set custom security schemes\n\t\tbuilder._customSecuritySchemes = this.customSecuritySchemes;\n\n\t\t// Set RLS config if configured\n\t\tif (this.defaultRlsConfig) {\n\t\t\tbuilder._rlsConfig = this.defaultRlsConfig as any;\n\t\t}\n\n\t\treturn builder;\n\t}\n\n\tpost<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('POST', path);\n\t}\n\n\tget<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('GET', path);\n\t}\n\n\tput<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('PUT', path);\n\t}\n\n\tdelete<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('DELETE', path);\n\t}\n\n\tpatch<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('PATCH', path);\n\t}\n\n\toptions<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('OPTIONS', path);\n\t}\n}\n\nexport type RemoveTrailingSlash<T extends string> = T extends `${infer Rest}/`\n\t? Rest extends ''\n\t\t? T // Keep \"/\" as is\n\t\t: Rest\n\t: T;\n\nexport type JoinPaths<\n\tTBasePath extends string,\n\tTPath extends string,\n> = RemoveTrailingSlash<\n\tTBasePath extends ''\n\t\t? TPath\n\t\t: TPath extends ''\n\t\t\t? TBasePath\n\t\t\t: TBasePath extends '/'\n\t\t\t\t? TPath extends `/${string}`\n\t\t\t\t\t? TPath\n\t\t\t\t\t: `/${TPath}`\n\t\t\t\t: TBasePath extends `${infer Base}/`\n\t\t\t\t\t? TPath extends `/${infer Rest}`\n\t\t\t\t\t\t? `${Base}/${Rest}`\n\t\t\t\t\t\t: `${Base}/${TPath}`\n\t\t\t\t\t: TPath extends `/${infer Rest}`\n\t\t\t\t\t\t? `${TBasePath}/${Rest}`\n\t\t\t\t\t\t: `${TBasePath}/${TPath}`\n>;\n\nexport interface EndpointFactoryOptions<\n\tTServices extends Service[] = [],\n\tTBasePath extends string = '',\n\tTLogger extends Logger = Logger,\n\tTSession = unknown,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuthorizers extends readonly string[] = readonly string[],\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTSecuritySchemes extends Record<string, SecurityScheme> = Record<\n\t\tstring,\n\t\tSecurityScheme\n\t>,\n\tTRlsConfig extends\n\t\t| RlsConfig<TServices, TSession, TLogger>\n\t\t| undefined = undefined,\n> {\n\tdefaultServices?: TServices;\n\tbasePath?: TBasePath;\n\tdefaultAuthorizeFn?: AuthorizeFn<TServices, TLogger, TSession>;\n\tdefaultLogger?: TLogger;\n\tdefaultSessionExtractor?: SessionFn<TServices, TLogger, TSession, TDatabase>;\n\tdefaultEventPublisher?: Service<TEventPublisherServiceName, TEventPublisher>;\n\tdefaultEvents?: MappedEvent<TEventPublisher, undefined>[];\n\tavailableAuthorizers?: Authorizer[];\n\tdefaultAuthorizerName?: TAuthorizers[number];\n\tdefaultAuditorStorage?: Service<TAuditStorageServiceName, TAuditStorage>;\n\tdefaultDatabaseService?: Service<TDatabaseServiceName, TDatabase>;\n\tdefaultActorExtractor?: ActorExtractor<TServices, TSession, TLogger>;\n\tcustomSecuritySchemes?: TSecuritySchemes;\n\tdefaultRlsConfig?: TRlsConfig;\n}\n\nexport const e = new EndpointFactory();\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { Authorizer, BuiltInSecuritySchemeId, SecurityScheme } from "./Authorizer-gWxYsGEp.mjs";
2
- import { ActorExtractor, AuthorizeFn, RlsConfig, SessionFn } from "./Endpoint-BdwG75G_.mjs";
3
- import { EndpointBuilder } from "./EndpointBuilder-B3az942t.mjs";
1
+ import { Authorizer, BuiltInSecuritySchemeId, SecurityScheme } from "./Authorizer-DCcYOx3h.mjs";
2
+ import { ActorExtractor, AuthorizeFn, RlsConfig, SessionFn } from "./Endpoint-Dlv7nxgj.mjs";
3
+ import { EndpointBuilder } from "./EndpointBuilder-T_K2NLWw.mjs";
4
4
  import { Service } from "@geekmidas/services";
5
5
  import { AuditStorage, AuditableAction, ExtractStorageAuditAction } from "@geekmidas/audit";
6
6
  import { EventPublisher, MappedEvent } from "@geekmidas/events";
@@ -139,4 +139,4 @@ declare const e: EndpointFactory<[], "", Logger, unknown, undefined, string, rea
139
139
 
140
140
  //#endregion
141
141
  export { EndpointFactory, EndpointFactoryOptions, JoinPaths, RemoveTrailingSlash, e };
142
- //# sourceMappingURL=EndpointFactory-C-0nE6Jg.d.mts.map
142
+ //# sourceMappingURL=EndpointFactory-GAL_tuPf.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndpointFactory-GAL_tuPf.d.mts","names":[],"sources":["../src/endpoints/EndpointFactory.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const require_EndpointBuilder = require('./EndpointBuilder-Cgj1P_ra.cjs');
2
+ const require_EndpointBuilder = require('./EndpointBuilder-40Iz5CjY.cjs');
3
3
  const __geekmidas_logger_console = require_chunk.__toESM(require("@geekmidas/logger/console"));
4
4
  const lodash_uniqby = require_chunk.__toESM(require("lodash.uniqby"));
5
5
 
6
6
  //#region src/endpoints/EndpointFactory.ts
7
7
  const DEFAULT_LOGGER = new __geekmidas_logger_console.ConsoleLogger();
8
8
  var EndpointFactory = class EndpointFactory {
9
- defaultServices;
9
+ defaultServices = [];
10
10
  basePath = "";
11
11
  defaultAuthorizeFn;
12
12
  defaultEventPublisher;
@@ -36,12 +36,12 @@ var EndpointFactory = class EndpointFactory {
36
36
  }
37
37
  static joinPaths(path, basePath = "") {
38
38
  if (!basePath && !path) return "/";
39
- if (!basePath) return path.startsWith("/") ? path : "/" + path;
40
- if (!path) return basePath.startsWith("/") ? basePath : "/" + basePath;
39
+ if (!basePath) return path.startsWith("/") ? path : `/${path}`;
40
+ if (!path) return basePath.startsWith("/") ? basePath : `/${basePath}`;
41
41
  const base = basePath.endsWith("/") ? basePath.slice(0, -1) : basePath;
42
- const segment = path.startsWith("/") ? path : "/" + path;
42
+ const segment = path.startsWith("/") ? path : `/${path}`;
43
43
  let result = base + segment;
44
- if (!result.startsWith("/")) result = "/" + result;
44
+ if (!result.startsWith("/")) result = `/${result}`;
45
45
  result = result.replace(/^\/+/g, "/");
46
46
  if (result.length > 1 && result.endsWith("/")) result = result.slice(0, -1);
47
47
  return result;
@@ -386,4 +386,4 @@ Object.defineProperty(exports, 'e', {
386
386
  return e;
387
387
  }
388
388
  });
389
- //# sourceMappingURL=EndpointFactory-CYj6BYok.cjs.map
389
+ //# sourceMappingURL=EndpointFactory-r6jxPvQ8.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndpointFactory-r6jxPvQ8.cjs","names":["ConsoleLogger","path: P","basePath: TBasePath","authorizers: T","schemes: T","name:\n\t\t\t| BuiltInSecuritySchemeId\n\t\t\t| keyof TSecuritySchemes\n\t\t\t| TAuthorizers[number]\n\t\t\t| 'none'","path: TPath","fn: AuthorizeFn<TServices, TLogger, TSession>","services: S","logger: L","publisher: Service<TServiceName, T>","session: SessionFn<TServices, TLogger, T, TDatabase>","service: Service<TName, T>","storage: Service<TName, T>","extractor: ActorExtractor<TServices, TSession, TLogger>","config: TConfig","method: TMethod","EndpointBuilder"],"sources":["../src/endpoints/EndpointFactory.ts"],"sourcesContent":["import type {\n\tAuditableAction,\n\tAuditStorage,\n\tExtractStorageAuditAction,\n} from '@geekmidas/audit';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { Service } from '@geekmidas/services';\nimport uniqBy from 'lodash.uniqby';\nimport type { HttpMethod } from '../types';\nimport type {\n\tAuthorizer,\n\tBuiltInSecuritySchemeId,\n\tSecurityScheme,\n} from './Authorizer';\nimport type { ActorExtractor } from './audit';\nimport type { AuthorizeFn, SessionFn } from './Endpoint';\nimport { EndpointBuilder } from './EndpointBuilder';\nimport type { RlsConfig } from './rls';\n\n// Re-export SecurityScheme to make the type portable in declaration files\nexport type { SecurityScheme } from './Authorizer';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class EndpointFactory<\n\tTServices extends Service[] = [],\n\tTBasePath extends string = '',\n\tTLogger extends Logger = Logger,\n\tTSession = unknown,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuthorizers extends readonly string[] = readonly string[],\n\tTAuditStorage extends AuditStorage<any> | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTAuditAction extends AuditableAction<\n\t\tstring,\n\t\tunknown\n\t> = ExtractStorageAuditAction<NonNullable<TAuditStorage>>,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTSecuritySchemes extends Record<string, SecurityScheme> = Record<\n\t\tstring,\n\t\tSecurityScheme\n\t>,\n\tTRlsConfig extends\n\t\t| RlsConfig<TServices, TSession, TLogger>\n\t\t| undefined = undefined,\n> {\n\tprivate defaultServices: TServices = [] as unknown as TServices;\n\tprivate basePath: TBasePath = '' as TBasePath;\n\tprivate defaultAuthorizeFn?: AuthorizeFn<TServices, TLogger, TSession>;\n\tprivate defaultEventPublisher:\n\t\t| Service<TEventPublisherServiceName, TEventPublisher>\n\t\t| undefined;\n\tprivate defaultSessionExtractor?: SessionFn<\n\t\tTServices,\n\t\tTLogger,\n\t\tTSession,\n\t\tTDatabase\n\t>;\n\tprivate defaultLogger: TLogger = DEFAULT_LOGGER;\n\tprivate availableAuthorizers: Authorizer[] = [];\n\tprivate defaultAuthorizerName?: TAuthorizers[number];\n\tprivate defaultAuditorStorage:\n\t\t| Service<TAuditStorageServiceName, TAuditStorage>\n\t\t| undefined;\n\tprivate defaultDatabaseService:\n\t\t| Service<TDatabaseServiceName, TDatabase>\n\t\t| undefined;\n\tprivate defaultActorExtractor?: ActorExtractor<TServices, TSession, TLogger>;\n\tprivate customSecuritySchemes: TSecuritySchemes = {} as TSecuritySchemes;\n\tprivate defaultRlsConfig?: TRlsConfig;\n\n\tconstructor({\n\t\tbasePath,\n\t\tdefaultAuthorizeFn,\n\t\tdefaultLogger,\n\t\tdefaultSessionExtractor,\n\t\t// @ts-expect-error\n\t\tdefaultServices = [] as TServices,\n\t\tdefaultEventPublisher,\n\t\tavailableAuthorizers = [],\n\t\tdefaultAuthorizerName,\n\t\tdefaultAuditorStorage,\n\t\tdefaultDatabaseService,\n\t\tdefaultActorExtractor,\n\t\tcustomSecuritySchemes = {} as TSecuritySchemes,\n\t\tdefaultRlsConfig,\n\t}: EndpointFactoryOptions<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> = {}) {\n\t\t// Initialize default services\n\t\tthis.defaultServices = uniqBy(\n\t\t\tdefaultServices,\n\t\t\t(s) => s.serviceName,\n\t\t) as TServices;\n\n\t\tthis.basePath = basePath || ('' as TBasePath);\n\t\tthis.defaultAuthorizeFn = defaultAuthorizeFn;\n\t\tthis.defaultLogger = defaultLogger || (DEFAULT_LOGGER as TLogger);\n\t\tthis.defaultSessionExtractor = defaultSessionExtractor;\n\t\tthis.defaultEventPublisher = defaultEventPublisher;\n\t\tthis.availableAuthorizers = availableAuthorizers;\n\t\tthis.defaultAuthorizerName = defaultAuthorizerName;\n\t\tthis.defaultAuditorStorage = defaultAuditorStorage;\n\t\tthis.defaultDatabaseService = defaultDatabaseService;\n\t\tthis.defaultActorExtractor = defaultActorExtractor;\n\t\tthis.customSecuritySchemes = customSecuritySchemes;\n\t\tthis.defaultRlsConfig = defaultRlsConfig;\n\t}\n\n\tstatic joinPaths<TBasePath extends string, P extends string>(\n\t\tpath: P,\n\t\tbasePath: TBasePath = '' as TBasePath,\n\t): JoinPaths<TBasePath, P> {\n\t\t// Handle empty cases\n\t\tif (!basePath && !path) return '/' as JoinPaths<TBasePath, P>;\n\t\tif (!basePath)\n\t\t\treturn (path.startsWith('/') ? path : `/${path}`) as JoinPaths<\n\t\t\t\tTBasePath,\n\t\t\t\tP\n\t\t\t>;\n\t\tif (!path)\n\t\t\treturn (\n\t\t\t\tbasePath.startsWith('/') ? basePath : `/${basePath}`\n\t\t\t) as JoinPaths<TBasePath, P>;\n\n\t\tconst base = basePath.endsWith('/') ? basePath.slice(0, -1) : basePath;\n\t\tconst segment = path.startsWith('/') ? path : `/${path}`;\n\n\t\tlet result = base + segment;\n\n\t\t// Ensure leading slash\n\t\tif (!result.startsWith('/')) {\n\t\t\tresult = `/${result}`;\n\t\t}\n\n\t\t// Normalize multiple slashes (except in the middle of the path where they might be intentional)\n\t\tresult = result.replace(/^\\/+/g, '/');\n\n\t\t// Remove trailing slash unless it's the root path \"/\"\n\t\tif (result.length > 1 && result.endsWith('/')) {\n\t\t\tresult = result.slice(0, -1);\n\t\t}\n\n\t\treturn result as JoinPaths<TBasePath, P>;\n\t}\n\n\t// Configure available authorizers\n\tauthorizers<const T extends readonly string[]>(\n\t\tauthorizers: T,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tT,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\tconst authorizerConfigs = authorizers.map((name) => ({\n\t\t\tname,\n\t\t}));\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tT,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: authorizerConfigs,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Define custom security schemes for this factory.\n\t * These extend the built-in schemes (jwt, bearer, apiKey, oauth2, oidc).\n\t *\n\t * @example\n\t * ```typescript\n\t * const router = e.securitySchemes({\n\t * awsIamSigV4: {\n\t * type: 'apiKey',\n\t * in: 'header',\n\t * name: 'Authorization',\n\t * 'x-amazon-apigateway-authtype': 'awsSigv4',\n\t * },\n\t * });\n\t * ```\n\t */\n\tsecuritySchemes<T extends Record<string, SecurityScheme>>(\n\t\tschemes: T,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes & T,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes & T,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: {\n\t\t\t\t...this.customSecuritySchemes,\n\t\t\t\t...schemes,\n\t\t\t} as TSecuritySchemes & T,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Set the default authorizer for all endpoints created from this factory.\n\t * Individual endpoints can override this by calling `.authorizer()` on the builder.\n\t * Use `'none'` to explicitly disable authorization for all endpoints.\n\t *\n\t * Accepts:\n\t * - Built-in security scheme names: 'jwt', 'bearer', 'apiKey', 'oauth2', 'oidc'\n\t * - Custom security scheme names defined via `.securitySchemes()`\n\t * - 'none' to disable authorization\n\t */\n\tauthorizer(\n\t\tname:\n\t\t\t| BuiltInSecuritySchemeId\n\t\t\t| keyof TSecuritySchemes\n\t\t\t| TAuthorizers[number]\n\t\t\t| 'none',\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\t// Validate that the authorizer exists in available authorizers (if authorizers() was called)\n\t\tif (name !== 'none' && this.availableAuthorizers.length > 0) {\n\t\t\tconst authorizerExists = this.availableAuthorizers.some(\n\t\t\t\t(a) => a.name === name,\n\t\t\t);\n\t\t\tif (!authorizerExists) {\n\t\t\t\tconst available = this.availableAuthorizers\n\t\t\t\t\t.map((a) => a.name)\n\t\t\t\t\t.join(', ');\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Authorizer \"${name as string}\" not found in available authorizers: ${available}`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName:\n\t\t\t\tname === 'none' ? undefined : (name as TAuthorizers[number]),\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t// Create a sub-router with a path prefix\n\troute<TPath extends string>(\n\t\tpath: TPath,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tJoinPaths<TBasePath, TPath>,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\tconst newBasePath = EndpointFactory.joinPaths(path, this.basePath);\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tJoinPaths<TBasePath, TPath>,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: newBasePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t// Create a new factory with authorization\n\tauthorize(\n\t\tfn: AuthorizeFn<TServices, TLogger, TSession>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: fn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t// Create a new factory with services\n\tservices<S extends Service[]>(\n\t\tservices: S,\n\t): EndpointFactory<\n\t\t[...S, ...TServices],\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tundefined // Reset RLS config when services change - user should call .rls() after .services()\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\t[...S, ...TServices],\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tundefined\n\t\t>({\n\t\t\tdefaultServices: [...services, ...this.defaultServices],\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn as unknown as AuthorizeFn<\n\t\t\t\t[...S, ...TServices],\n\t\t\t\tTLogger,\n\t\t\t\tTSession\n\t\t\t>,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor as unknown as\n\t\t\t\t| SessionFn<[...S, ...TServices], TLogger, TSession, TDatabase>\n\t\t\t\t| undefined,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor as unknown as\n\t\t\t\t| ActorExtractor<[...S, ...TServices], TSession, TLogger>\n\t\t\t\t| undefined,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\t// Reset RLS config when services change since it depends on TServices\n\t\t\tdefaultRlsConfig: undefined,\n\t\t});\n\t}\n\n\tlogger<L extends Logger>(\n\t\tlogger: L,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tL,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tundefined // Reset RLS config when logger type changes - user should call .rls() after .logger()\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tL,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tundefined\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn as unknown as AuthorizeFn<\n\t\t\t\tTServices,\n\t\t\t\tL,\n\t\t\t\tTSession\n\t\t\t>,\n\t\t\tdefaultLogger: logger,\n\t\t\tdefaultSessionExtractor: this\n\t\t\t\t.defaultSessionExtractor as unknown as SessionFn<\n\t\t\t\tTServices,\n\t\t\t\tL,\n\t\t\t\tTSession\n\t\t\t>,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this\n\t\t\t\t.defaultActorExtractor as unknown as ActorExtractor<\n\t\t\t\tTServices,\n\t\t\t\tTSession,\n\t\t\t\tL\n\t\t\t>,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\t// Reset RLS config when logger type changes since it depends on TLogger\n\t\t\tdefaultRlsConfig: undefined,\n\t\t});\n\t}\n\n\tpublisher<\n\t\tT extends EventPublisher<any>,\n\t\tTServiceName extends string = string,\n\t>(\n\t\tpublisher: Service<TServiceName, T>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tT,\n\t\tTServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tT,\n\t\t\tTServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: publisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\tsession<T>(\n\t\tsession: SessionFn<TServices, TLogger, T, TDatabase>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tT,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tundefined // Reset RLS config when session type changes - user should call .rls() after .session()\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tT,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tundefined\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn as unknown as AuthorizeFn<\n\t\t\t\tTServices,\n\t\t\t\tTLogger,\n\t\t\t\tT\n\t\t\t>,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: session,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this\n\t\t\t\t.defaultActorExtractor as unknown as ActorExtractor<\n\t\t\t\tTServices,\n\t\t\t\tT,\n\t\t\t\tTLogger\n\t\t\t>,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\t// Reset RLS config when session type changes since it depends on TSession\n\t\t\tdefaultRlsConfig: undefined,\n\t\t});\n\t}\n\n\t/**\n\t * Set the database service for endpoints created from this factory.\n\t * The database will be available in handler context as `db`.\n\t */\n\tdatabase<T, TName extends string>(\n\t\tservice: Service<TName, T>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tT,\n\t\tTName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\t// Reset session extractor when database changes - user should call .session() after .database()\n\t\t\t// to get proper type inference for the new database type\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor as unknown as\n\t\t\t\t| SessionFn<TServices, TLogger, TSession, T>\n\t\t\t\t| undefined,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: service,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Set the auditor storage service for endpoints created from this factory.\n\t * This enables audit functionality and makes `auditor` available in handler context.\n\t * The audit action type is automatically inferred from the storage's generic parameter.\n\t */\n\tauditor<T extends AuditStorage<any>, TName extends string>(\n\t\tstorage: Service<TName, T>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tT,\n\t\tTName,\n\t\tExtractStorageAuditAction<T>,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tExtractStorageAuditAction<T>,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: storage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this\n\t\t\t\t.defaultActorExtractor as unknown as ActorExtractor<\n\t\t\t\tTServices,\n\t\t\t\tTSession,\n\t\t\t\tTLogger\n\t\t\t>,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Set the actor extractor function for endpoints created from this factory.\n\t * The actor is extracted from the request context and attached to all audits.\n\t */\n\tactor(\n\t\textractor: ActorExtractor<TServices, TSession, TLogger>,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTRlsConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTRlsConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: extractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: this.defaultRlsConfig,\n\t\t});\n\t}\n\n\t/**\n\t * Set the RLS (Row-Level Security) configuration for endpoints created from this factory.\n\t * This enables automatic PostgreSQL session variable setting for RLS policies.\n\t *\n\t * @example\n\t * ```typescript\n\t * const api = new EndpointFactory()\n\t * .database(databaseService)\n\t * .session(extractSession)\n\t * .rls({\n\t * extractor: ({ session }) => ({\n\t * user_id: session.userId,\n\t * tenant_id: session.tenantId,\n\t * }),\n\t * prefix: 'app',\n\t * });\n\t * ```\n\t */\n\trls<TConfig extends RlsConfig<TServices, TSession, TLogger>>(\n\t\tconfig: TConfig,\n\t): EndpointFactory<\n\t\tTServices,\n\t\tTBasePath,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName,\n\t\tTSecuritySchemes,\n\t\tTConfig\n\t> {\n\t\treturn new EndpointFactory<\n\t\t\tTServices,\n\t\t\tTBasePath,\n\t\t\tTLogger,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName,\n\t\t\tTSecuritySchemes,\n\t\t\tTConfig\n\t\t>({\n\t\t\tdefaultServices: this.defaultServices,\n\t\t\tbasePath: this.basePath,\n\t\t\tdefaultAuthorizeFn: this.defaultAuthorizeFn,\n\t\t\tdefaultLogger: this.defaultLogger,\n\t\t\tdefaultSessionExtractor: this.defaultSessionExtractor,\n\t\t\tdefaultEventPublisher: this.defaultEventPublisher,\n\t\t\tavailableAuthorizers: this.availableAuthorizers,\n\t\t\tdefaultAuthorizerName: this.defaultAuthorizerName,\n\t\t\tdefaultAuditorStorage: this.defaultAuditorStorage,\n\t\t\tdefaultDatabaseService: this.defaultDatabaseService,\n\t\t\tdefaultActorExtractor: this.defaultActorExtractor,\n\t\t\tcustomSecuritySchemes: this.customSecuritySchemes,\n\t\t\tdefaultRlsConfig: config,\n\t\t});\n\t}\n\n\tprivate createBuilder<TMethod extends HttpMethod, TPath extends string>(\n\t\tmethod: TMethod,\n\t\tpath: TPath,\n\t): EndpointBuilder<\n\t\tJoinPaths<TBasePath, TPath>,\n\t\tTMethod,\n\t\t{},\n\t\tTServices,\n\t\tTLogger,\n\t\tundefined,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tconst fullPath = EndpointFactory.joinPaths(path, this.basePath);\n\t\tconst builder = new EndpointBuilder<\n\t\t\tJoinPaths<TBasePath, TPath>,\n\t\t\tTMethod,\n\t\t\t{},\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tundefined,\n\t\t\tTSession,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTAuthorizers,\n\t\t\tTAuditStorage,\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditAction,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>(fullPath, method);\n\n\t\tif (this.defaultAuthorizeFn) {\n\t\t\tbuilder._authorize = this.defaultAuthorizeFn;\n\t\t}\n\t\tif (this.defaultServices.length) {\n\t\t\t// Create a copy to avoid sharing references between builders\n\t\t\tbuilder._services = [...this.defaultServices] as TServices;\n\t\t}\n\n\t\tif (this.defaultLogger) {\n\t\t\tbuilder._logger = this.defaultLogger as TLogger;\n\t\t}\n\n\t\tif (this.defaultSessionExtractor) {\n\t\t\tbuilder._getSession = this.defaultSessionExtractor as SessionFn<\n\t\t\t\tTServices,\n\t\t\t\tTLogger,\n\t\t\t\tTSession\n\t\t\t>;\n\t\t}\n\n\t\tif (this.defaultEventPublisher) {\n\t\t\tbuilder._setPublisher(this.defaultEventPublisher);\n\t\t}\n\n\t\t// Set available authorizers and default\n\t\tbuilder._availableAuthorizers = this.availableAuthorizers;\n\t\tif (this.defaultAuthorizerName) {\n\t\t\tbuilder._authorizerName = this.defaultAuthorizerName;\n\t\t}\n\n\t\t// Set auditor storage if configured\n\t\tif (this.defaultAuditorStorage) {\n\t\t\tbuilder._setAuditorStorage(this.defaultAuditorStorage as any);\n\t\t}\n\n\t\t// Set database service if configured\n\t\tif (this.defaultDatabaseService) {\n\t\t\tbuilder._setDatabaseService(this.defaultDatabaseService as any);\n\t\t}\n\n\t\t// Set actor extractor if configured\n\t\tif (this.defaultActorExtractor) {\n\t\t\tbuilder._actorExtractor = this.defaultActorExtractor;\n\t\t}\n\n\t\t// Set custom security schemes\n\t\tbuilder._customSecuritySchemes = this.customSecuritySchemes;\n\n\t\t// Set RLS config if configured\n\t\tif (this.defaultRlsConfig) {\n\t\t\tbuilder._rlsConfig = this.defaultRlsConfig as any;\n\t\t}\n\n\t\treturn builder;\n\t}\n\n\tpost<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('POST', path);\n\t}\n\n\tget<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('GET', path);\n\t}\n\n\tput<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('PUT', path);\n\t}\n\n\tdelete<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('DELETE', path);\n\t}\n\n\tpatch<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('PATCH', path);\n\t}\n\n\toptions<TPath extends string>(path: TPath) {\n\t\treturn this.createBuilder('OPTIONS', path);\n\t}\n}\n\nexport type RemoveTrailingSlash<T extends string> = T extends `${infer Rest}/`\n\t? Rest extends ''\n\t\t? T // Keep \"/\" as is\n\t\t: Rest\n\t: T;\n\nexport type JoinPaths<\n\tTBasePath extends string,\n\tTPath extends string,\n> = RemoveTrailingSlash<\n\tTBasePath extends ''\n\t\t? TPath\n\t\t: TPath extends ''\n\t\t\t? TBasePath\n\t\t\t: TBasePath extends '/'\n\t\t\t\t? TPath extends `/${string}`\n\t\t\t\t\t? TPath\n\t\t\t\t\t: `/${TPath}`\n\t\t\t\t: TBasePath extends `${infer Base}/`\n\t\t\t\t\t? TPath extends `/${infer Rest}`\n\t\t\t\t\t\t? `${Base}/${Rest}`\n\t\t\t\t\t\t: `${Base}/${TPath}`\n\t\t\t\t\t: TPath extends `/${infer Rest}`\n\t\t\t\t\t\t? `${TBasePath}/${Rest}`\n\t\t\t\t\t\t: `${TBasePath}/${TPath}`\n>;\n\nexport interface EndpointFactoryOptions<\n\tTServices extends Service[] = [],\n\tTBasePath extends string = '',\n\tTLogger extends Logger = Logger,\n\tTSession = unknown,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTAuthorizers extends readonly string[] = readonly string[],\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTSecuritySchemes extends Record<string, SecurityScheme> = Record<\n\t\tstring,\n\t\tSecurityScheme\n\t>,\n\tTRlsConfig extends\n\t\t| RlsConfig<TServices, TSession, TLogger>\n\t\t| undefined = undefined,\n> {\n\tdefaultServices?: TServices;\n\tbasePath?: TBasePath;\n\tdefaultAuthorizeFn?: AuthorizeFn<TServices, TLogger, TSession>;\n\tdefaultLogger?: TLogger;\n\tdefaultSessionExtractor?: SessionFn<TServices, TLogger, TSession, TDatabase>;\n\tdefaultEventPublisher?: Service<TEventPublisherServiceName, TEventPublisher>;\n\tdefaultEvents?: MappedEvent<TEventPublisher, undefined>[];\n\tavailableAuthorizers?: Authorizer[];\n\tdefaultAuthorizerName?: TAuthorizers[number];\n\tdefaultAuditorStorage?: Service<TAuditStorageServiceName, TAuditStorage>;\n\tdefaultDatabaseService?: Service<TDatabaseServiceName, TDatabase>;\n\tdefaultActorExtractor?: ActorExtractor<TServices, TSession, TLogger>;\n\tcustomSecuritySchemes?: TSecuritySchemes;\n\tdefaultRlsConfig?: TRlsConfig;\n}\n\nexport const e = new EndpointFactory();\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { Construct, ConstructType } from "./Construct-DdyGHuag.mjs";
2
- import { UnprocessableEntityError } from "@geekmidas/errors";
1
+ import { Construct, ConstructType } from "./Construct-D5dCvxZ3.mjs";
3
2
  import { ConsoleLogger } from "@geekmidas/logger/console";
3
+ import { UnprocessableEntityError } from "@geekmidas/errors";
4
4
  import { parseSchema } from "@geekmidas/schema/parser";
5
5
  import uniqBy from "lodash.uniqby";
6
6
 
@@ -69,4 +69,4 @@ var Function = class Function extends Construct {
69
69
 
70
70
  //#endregion
71
71
  export { Function, FunctionFactory };
72
- //# sourceMappingURL=Function-BVHqIDp9.mjs.map
72
+ //# sourceMappingURL=Function-D8tBamM3.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Function-D8tBamM3.mjs","names":["DEFAULT_LOGGER","defaultServices: TServices","defaultLogger: TLogger","services: S","logger: L","obj: any","schema: T","data: unknown","output: unknown","fn: Fn","type: ConstructType","input?: TInput","outputSchema?: OutSchema","services: TServices","logger: TLogger","publisherService?: Service<TEventPublisherServiceName, TEventPublisher>","events: MappedEvent<TEventPublisher, OutSchema>[]","memorySize?: number","auditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>","databaseService?: Service<TDatabaseServiceName, TDatabase>"],"sources":["../src/functions/Function.ts"],"sourcesContent":["import type { AuditableAction, Auditor, AuditStorage } from '@geekmidas/audit';\nimport { UnprocessableEntityError } from '@geekmidas/errors';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type {\n\tComposableStandardSchema,\n\tInferComposableStandardSchema,\n\tInferStandardSchema,\n} from '@geekmidas/schema';\nimport { parseSchema } from '@geekmidas/schema/parser';\nimport type { Service, ServiceRecord } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { Construct, ConstructType } from '../Construct';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class FunctionFactory<\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n> {\n\tprivate defaultServices: TServices;\n\tconstructor(\n\t\tdefaultServices: TServices,\n\t\tprivate defaultLogger: TLogger = DEFAULT_LOGGER,\n\t) {\n\t\t// Initialize default services\n\t\tthis.defaultServices = uniqBy(\n\t\t\tdefaultServices,\n\t\t\t(s) => s.serviceName,\n\t\t) as TServices;\n\t}\n\n\t// Create a new factory with services\n\tservices<S extends Service[]>(\n\t\tservices: S,\n\t): FunctionFactory<[...S, ...TServices], TLogger> {\n\t\treturn new FunctionFactory<[...S, ...TServices], TLogger>(\n\t\t\t[...services, ...this.defaultServices],\n\t\t\tthis.defaultLogger,\n\t\t);\n\t}\n\n\tlogger<L extends Logger>(logger: L): FunctionFactory<TServices, L> {\n\t\treturn new FunctionFactory<TServices, L>(this.defaultServices, logger);\n\t}\n}\n\nexport class Function<\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\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n\tFn extends FunctionHandler<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTDatabase,\n\t\tTAuditStorage,\n\t\tTAuditAction\n\t> = FunctionHandler<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTDatabase,\n\t\tTAuditStorage,\n\t\tTAuditAction\n\t>,\n> extends Construct<\n\tTLogger,\n\tTEventPublisherServiceName,\n\tTEventPublisher,\n\tOutSchema,\n\tTServices,\n\tTAuditStorageServiceName,\n\tTAuditStorage\n> {\n\t__IS_FUNCTION__ = true;\n\n\tstatic isFunction(obj: any): obj is Function<any, any, any, any, any> {\n\t\treturn Boolean(\n\t\t\tobj &&\n\t\t\t\tobj.__IS_FUNCTION__ === true &&\n\t\t\t\tobj.type === ConstructType.Function,\n\t\t);\n\t}\n\n\t/**\n\t * Validates data against a StandardSchema.\n\t *\n\t * @param schema - The StandardSchema to validate against\n\t * @param data - The data to validate\n\t * @returns Validation result with value or issues\n\t */\n\tstatic validate<T extends StandardSchemaV1>(schema: T, data: unknown) {\n\t\treturn schema['~standard'].validate(data);\n\t}\n\n\t/**\n\t * Parses and validates data against a schema, throwing an error if validation fails.\n\t *\n\t * @param schema - The StandardSchema to validate against\n\t * @param data - The data to parse and validate\n\t * @returns The validated data with proper typing\n\t * @throws {UnprocessableEntityError} When validation fails\n\t */\n\tstatic async parseSchema<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t\tdata: unknown,\n\t): Promise<InferStandardSchema<T>> {\n\t\ttry {\n\t\t\treturn await parseSchema(schema, data);\n\t\t} catch (issues) {\n\t\t\tthrow new UnprocessableEntityError('Validation failed', issues);\n\t\t}\n\t}\n\n\t/**\n\t * Parses and validates the endpoint output against the output schema.\n\t *\n\t * @param output - The raw output data to validate\n\t * @returns The validated output data\n\t * @throws {UnprocessableEntityError} When output validation fails\n\t */\n\tasync parseOutput(output: unknown): Promise<InferStandardSchema<OutSchema>> {\n\t\treturn Function.parseSchema(\n\t\t\tthis.outputSchema as StandardSchemaV1,\n\t\t\toutput,\n\t\t) as Promise<InferStandardSchema<OutSchema>>;\n\t}\n\n\tconstructor(\n\t\tpublic readonly fn: Fn,\n\t\ttimeout = 30000, // Default timeout of 30 seconds\n\t\ttype: ConstructType = ConstructType.Function,\n\t\tpublic input?: TInput,\n\t\toutputSchema?: OutSchema,\n\t\tservices: TServices = [] as unknown as TServices,\n\t\tlogger: TLogger = DEFAULT_LOGGER,\n\t\tpublisherService?: Service<TEventPublisherServiceName, TEventPublisher>,\n\t\tevents: MappedEvent<TEventPublisher, OutSchema>[] = [],\n\t\tmemorySize?: number,\n\t\tauditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>,\n\t\tpublic databaseService?: Service<TDatabaseServiceName, TDatabase>,\n\t) {\n\t\tsuper(\n\t\t\ttype,\n\t\t\tlogger,\n\t\t\tservices,\n\t\t\tevents,\n\t\t\tpublisherService,\n\t\t\toutputSchema,\n\t\t\ttimeout,\n\t\t\tmemorySize,\n\t\t\tauditorStorageService,\n\t\t);\n\t}\n}\n\nexport type FunctionHandler<\n\tTInput extends ComposableStandardSchema | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTDatabase = undefined,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n> = (\n\tctx: FunctionContext<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tTDatabase,\n\t\tTAuditStorage,\n\t\tTAuditAction\n\t>,\n) => OutSchema extends StandardSchemaV1\n\t? InferStandardSchema<OutSchema> | Promise<InferStandardSchema<OutSchema>>\n\t: any | Promise<any>;\n\n/**\n * Conditional type that adds `db` property only when TDatabase is configured.\n */\ntype DatabaseContext<TDatabase> = TDatabase extends undefined\n\t? {}\n\t: { db: TDatabase };\n\n/**\n * Conditional auditor context - only present when audit storage is configured.\n */\ntype AuditorContext<\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n\tTAuditStorage = undefined,\n> = TAuditStorage extends undefined\n\t? {}\n\t: {\n\t\t\t/**\n\t\t\t * Auditor instance for recording audit events.\n\t\t\t * Only present when audit storage is configured on the function.\n\t\t\t */\n\t\t\tauditor: Auditor<TAuditAction>;\n\t\t};\n\nexport type FunctionContext<\n\tInput extends ComposableStandardSchema | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tTDatabase = undefined,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n> = {\n\tservices: ServiceRecord<TServices>;\n\tlogger: TLogger;\n\tinput: InferComposableStandardSchema<Input>;\n} & DatabaseContext<TDatabase> &\n\tAuditorContext<TAuditAction, TAuditStorage>;\n"],"mappings":";;;;;;;AAgBA,MAAMA,mBAAiB,IAAI;AAE3B,IAAa,kBAAb,MAAa,gBAGX;CACD,AAAQ;CACR,YACCC,iBACQC,gBAAyBF,kBAChC;EADO;AAGR,OAAK,kBAAkB,OACtB,iBACA,CAAC,MAAM,EAAE,YACT;CACD;CAGD,SACCG,UACiD;AACjD,SAAO,IAAI,gBACV,CAAC,GAAG,UAAU,GAAG,KAAK,eAAgB,GACtC,KAAK;CAEN;CAED,OAAyBC,QAA0C;AAClE,SAAO,IAAI,gBAA8B,KAAK,iBAAiB;CAC/D;AACD;AAED,IAAa,WAAb,MAAa,iBAgCH,UAQR;CACD,kBAAkB;CAElB,OAAO,WAAWC,KAAoD;AACrE,SAAO,QACN,OACC,IAAI,oBAAoB,QACxB,IAAI,SAAS,cAAc,SAC5B;CACD;;;;;;;;CASD,OAAO,SAAqCC,QAAWC,MAAe;AACrE,SAAO,OAAO,aAAa,SAAS,KAAK;CACzC;;;;;;;;;CAUD,aAAa,YACZD,QACAC,MACkC;AAClC,MAAI;AACH,UAAO,MAAM,YAAY,QAAQ,KAAK;EACtC,SAAQ,QAAQ;AAChB,SAAM,IAAI,yBAAyB,qBAAqB;EACxD;CACD;;;;;;;;CASD,MAAM,YAAYC,QAA0D;AAC3E,SAAO,SAAS,YACf,KAAK,cACL,OACA;CACD;CAED,YACiBC,IAChB,UAAU,KACVC,OAAsB,cAAc,UAC7BC,OACPC,cACAC,WAAsB,CAAE,GACxBC,SAAkBd,kBAClBe,kBACAC,SAAoD,CAAE,GACtDC,YACAC,uBACOC,iBACN;AACD,QACC,MACA,QACA,UACA,QACA,kBACA,cACA,SACA,YACA,sBACA;EAvBe;EAGT;EAQA;CAaP;AACD"}
@@ -1,4 +1,4 @@
1
- import { Construct, ConstructType } from "./Construct-XrijZFFh.mjs";
1
+ import { Construct, ConstructType } from "./Construct-dZiwVo0q.mjs";
2
2
  import { Service, ServiceRecord } from "@geekmidas/services";
3
3
  import { AuditStorage, AuditableAction, Auditor } from "@geekmidas/audit";
4
4
  import { EventPublisher, MappedEvent } from "@geekmidas/events";
@@ -15,7 +15,7 @@ declare class FunctionFactory<TServices extends Service[] = [], TLogger extends
15
15
  logger<L extends Logger>(logger: L): FunctionFactory<TServices, L>;
16
16
  }
17
17
  declare class Function<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, Fn extends FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase, TAuditStorage, TAuditAction> = FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase, TAuditStorage, TAuditAction>> extends Construct<TLogger, TEventPublisherServiceName, TEventPublisher, OutSchema, TServices, TAuditStorageServiceName, TAuditStorage> {
18
- protected readonly fn: Fn;
18
+ readonly fn: Fn;
19
19
  input?: TInput | undefined;
20
20
  databaseService?: Service<TDatabaseServiceName, TDatabase> | undefined;
21
21
  __IS_FUNCTION__: boolean;
@@ -73,4 +73,4 @@ type FunctionContext<Input extends ComposableStandardSchema | undefined = undefi
73
73
  } & DatabaseContext<TDatabase> & AuditorContext<TAuditAction, TAuditStorage>;
74
74
  //#endregion
75
75
  export { Function, FunctionContext, FunctionFactory, FunctionHandler };
76
- //# sourceMappingURL=Function-DN2G6OT5.d.mts.map
76
+ //# sourceMappingURL=Function-DBmU3uGI.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Function-DBmU3uGI.d.mts","names":[],"sources":["../src/functions/Function.ts"],"sourcesContent":[],"mappings":";;;;;;;;;cAkBa,kCACM,gCACF,SAAS;;EAFb,QAAA,eAAe;EAAA,WAAA,CAAA,eAAA,EAMT,SANS,EAAA,aAAA,CAAA,EAOH,OAPG;EAAA,QACT,CAAA,UAgBC,OAhBD,EAAA,CAAA,CAAA,QAAA,EAiBP,CAjBO,CAAA,EAkBf,eAlBe,CAAA,CAAA,GAkBK,CAlBL,EAAA,GAkBW,SAlBX,CAAA,EAkBuB,OAlBvB,CAAA;EAAO,MACT,CAAA,UAwBC,MAxBD,CAAA,CAAA,MAAA,EAwBiB,CAxBjB,CAAA,EAwBqB,eAxBrB,CAwBqC,SAxBrC,EAwBgD,CAxBhD,CAAA;;AAIE,cAyBN,QAzBM,CAAA,eA0BH,wBA1BG,GAAA,SAAA,GAAA,SAAA,EAAA,kBA2BA,OA3BA,EAAA,GAAA,EAAA,EAAA,gBA4BF,MA5BE,GA4BO,MA5BP,EAAA,kBA6BA,gBA7BA,GAAA,SAAA,GAAA,SAAA,EAAA,wBA8BM,cA9BN,CAAA,GAAA,CAAA,GAAA,SAAA,GAAA,SAAA,EAAA,mCAAA,MAAA,GAAA,MAAA,EAAA,sBAgCI,YAhCJ,GAAA,SAAA,GAAA,SAAA,EAAA,iCAAA,MAAA,GAAA,MAAA,EAAA,YAAA,SAAA,EAAA,6BAAA,MAAA,GAAA,MAAA,EAAA,qBAoCG,eApCH,CAAA,MAAA,EAAA,OAAA,CAAA,GAoCsC,eApCtC,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,WAwCP,eAxCO,CAyCjB,MAzCiB,EA0CjB,SA1CiB,EA2CjB,OA3CiB,EA4CjB,SA5CiB,EA6CjB,SA7CiB,EA8CjB,aA9CiB,EA+CjB,YA/CiB,CAAA,GAgDd,eAhDc,CAiDjB,MAjDiB,EAkDjB,SAlDiB,EAmDjB,OAnDiB,EAoDjB,SApDiB,EAqDjB,SArDiB,EAsDjB,aAtDiB,EAuDjB,YAvDiB,CAAA,CAAA,SAyDT,SAzDS,CA0DlB,OA1DkB,EA2DlB,0BA3DkB,EA4DlB,eA5DkB,EA6DlB,SA7DkB,EA8DlB,SA9DkB,EA+DlB,wBA/DkB,EAgElB,aAhEkB,CAAA,CAAA;EAAS,SACH,EAAA,EAwHH,EAxHG;EAAwB,KAU7B,CAAA,EAiHH,MAjHG,GAAA,SAAA;EAAO,eACf,CAAA,EAwHe,OAxHf,CAwHuB,oBAxHvB,EAwH6C,SAxH7C,CAAA,GAAA,SAAA;EAAC,eACW,EAAA,OAAA;EAAC,OAAK,UAAA,CAAA,GAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAuDO,QAvDP,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA;EAAS;;;;;;;EAOc,OAAA,QAAA,CAAA,UA+D1B,gBA/D0B,CAAA,CAAA,MAAA,EA+DA,CA/DA,EAAA,IAAA,EAAA,OAAA,CAAA,EA+DgB,gBAAA,CAAA,MA/DhB,CAAA,OAAA,CAAA,GA+DgB,OA/DhB,CA+DgB,gBAAA,CAAA,MA/DhB,CAAA,OAAA,CAAA,CAAA;EAKxC;;;;;;;;EAK0B,OAEhB,WAAA,CAAA,UA+Da,gBA/Db,CAAA,CAAA,MAAA,EAgEb,CAhEa,EAAA,IAAA,EAAA,OAAA,CAAA,EAkEnB,OAlEmB,CAkEX,mBAlEW,CAkES,CAlET,CAAA,CAAA;EAAY;;;;;;;EAaxB,WACT,CAAA,MAAA,EAAA,OAAA,CAAA,EAmEmC,OAnEnC,CAmE2C,mBAnE3C,CAmE+D,SAnE/D,CAAA,CAAA;EAAa,WACb,CAAA,EAAA,EA0EoB,EA1EpB,EAAA,OAAA,CAAA,EAAA,MAAA;EAAA;EAAY,IAPF,CAAA,EAmFJ,aAnFI,EAAA,KAAA,CAAA,EAoFK,MApFL,GAAA,SAAA,EAAA,YAAA,CAAA,EAqFK,SArFL,EAAA,QAAA,CAAA,EAsFA,SAtFA,EAAA,MAAA,CAAA,EAuFF,OAvFE,EAAA,gBAAA,CAAA,EAwFS,OAxFT,CAwFiB,0BAxFjB,EAwF6C,eAxF7C,CAAA,EAAA,MAAA,CAAA,EAyFF,WAzFE,CAyFU,eAzFV,EAyF2B,SAzF3B,CAAA,EAAA,EAAA,UAAA,CAAA,EAAA,MAAA,EAAA,qBAAA,CAAA,EA2Fc,OA3Fd,CA2FsB,wBA3FtB,EA2FgD,aA3FhD,CAAA,EAAA,eAAA,CAAA,EA4Fe,OA5Ff,CA4FuB,oBA5FvB,EA4F6C,SA5F7C,CAAA,GAAA,SAAA;;AAUV,KAkGU,eAlGV,CAAA,eAmGc,wBAnGd,GAAA,SAAA,GAAA,SAAA,EAAA,kBAoGiB,OApGjB,EAAA,GAAA,EAAA,EAAA,gBAqGe,MArGf,GAqGwB,MArGxB,EAAA,kBAsGiB,gBAtGjB,GAAA,SAAA,GAAA,SAAA,EAAA,YAAA,SAAA,EAAA,sBAwGqB,YAxGrB,GAAA,SAAA,GAAA,SAAA,EAAA,qBAyGoB,eAzGpB,CAAA,MAAA,EAAA,OAAA,CAAA,GAyGuD,eAzGvD,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,EA8GI,eA9GJ,CA+GA,MA/GA,EAgHA,SAhHA,EAiHA,OAjHA,EAkHA,SAlHA,EAmHA,aAnHA,EAoHA,YApHA,CAAA,EAAA,GAsHG,SAtHH,SAsHqB,gBAtHrB,GAuHC,mBAvHD,CAuHqB,SAvHrB,CAAA,GAuHkC,OAvHlC,CAuH0C,mBAvH1C,CAuH8D,SAvH9D,CAAA,CAAA,GAAA,GAAA,GAwHO,OAxHP,CAAA,GAAA,CAAA;;;;KA6HG,eAzHH,CAAA,SAAA,CAAA,GAyHgC,SAzHhC,SAAA,SAAA,GAAA,CAAA,CAAA,GAAA;EAAa,EAAA,EA2HN,SA1HP;CAAY;;;;KA+HT,cAzHJ,CAAA,qBA0HqB,eA1HrB,CAAA,MAAA,EAAA,OAAA,CAAA,GA0HwD,eA1HxD,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,gBAAA,SAAA,CAAA,GA+HG,aA/HH,SAAA,SAAA,GAAA,CAAA,CAAA,GAAA;EAAS;;;;EA4Dc,OAGP,EAuEL,OAvEK,CAuEG,YAvEH,CAAA;CAAM;AAQkC,KAkE7C,eAlE6C,CAAA,cAmE1C,wBAnE0C,GAAA,SAAA,GAAA,SAAA,EAAA,kBAoEtC,OApEsC,EAAA,GAAA,EAAA,EAAA,gBAqExC,MArEwC,GAqE/B,MArE+B,EAAA,YAAA,SAAA,EAAA,sBAuElC,YAvEkC,GAAA,SAAA,GAAA,SAAA,EAAA,qBAwEnC,eAxEmC,CAAA,MAAA,EAAA,OAAA,CAAA,GAwEA,eAxEA,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,GAAA;EAAS,QAAvC,EA6EhB,aA7EgB,CA6EF,SA7EE,CAAA;EAAO,MAhEG,EA8I5B,OA9I4B;EAAQ,KAelB,EAgInB,6BAhImB,CAgIW,KAhIX,CAAA;CAAgB,GAiIvC,eAjIiD,CAiIjC,SAjIiC,CAAA,GAkIpD,cAlIoD,CAkIrC,YAlIqC,EAkIvB,aAlIuB,CAAA"}
@@ -15,7 +15,7 @@ declare class FunctionFactory<TServices extends Service[] = [], TLogger extends
15
15
  logger<L extends Logger>(logger: L): FunctionFactory<TServices, L>;
16
16
  }
17
17
  declare class Function<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, Fn extends FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase, TAuditStorage, TAuditAction> = FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase, TAuditStorage, TAuditAction>> extends Construct<TLogger, TEventPublisherServiceName, TEventPublisher, OutSchema, TServices, TAuditStorageServiceName, TAuditStorage> {
18
- protected readonly fn: Fn;
18
+ readonly fn: Fn;
19
19
  input?: TInput | undefined;
20
20
  databaseService?: Service<TDatabaseServiceName, TDatabase> | undefined;
21
21
  __IS_FUNCTION__: boolean;
@@ -73,4 +73,4 @@ type FunctionContext<Input extends ComposableStandardSchema | undefined = undefi
73
73
  } & DatabaseContext<TDatabase> & AuditorContext<TAuditAction, TAuditStorage>;
74
74
  //#endregion
75
75
  export { Function, FunctionContext, FunctionFactory, FunctionHandler };
76
- //# sourceMappingURL=Function-Cf7f_kCz.d.cts.map
76
+ //# sourceMappingURL=Function-PNW4HdNE.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Function-PNW4HdNE.d.cts","names":[],"sources":["../src/functions/Function.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const require_Construct = require('./Construct-Ba5cMxib.cjs');
3
- const __geekmidas_errors = require_chunk.__toESM(require("@geekmidas/errors"));
2
+ const require_Construct = require('./Construct-BlnyYtJC.cjs');
4
3
  const __geekmidas_logger_console = require_chunk.__toESM(require("@geekmidas/logger/console"));
4
+ const __geekmidas_errors = require_chunk.__toESM(require("@geekmidas/errors"));
5
5
  const __geekmidas_schema_parser = require_chunk.__toESM(require("@geekmidas/schema/parser"));
6
6
  const lodash_uniqby = require_chunk.__toESM(require("lodash.uniqby"));
7
7
 
@@ -81,4 +81,4 @@ Object.defineProperty(exports, 'FunctionFactory', {
81
81
  return FunctionFactory;
82
82
  }
83
83
  });
84
- //# sourceMappingURL=Function-DDZb1525.cjs.map
84
+ //# sourceMappingURL=Function-iLKrUXuw.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Function-iLKrUXuw.cjs","names":["ConsoleLogger","defaultServices: TServices","defaultLogger: TLogger","services: S","logger: L","Construct","obj: any","ConstructType","schema: T","data: unknown","UnprocessableEntityError","output: unknown","fn: Fn","type: ConstructType","input?: TInput","outputSchema?: OutSchema","services: TServices","logger: TLogger","publisherService?: Service<TEventPublisherServiceName, TEventPublisher>","events: MappedEvent<TEventPublisher, OutSchema>[]","memorySize?: number","auditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>","databaseService?: Service<TDatabaseServiceName, TDatabase>"],"sources":["../src/functions/Function.ts"],"sourcesContent":["import type { AuditableAction, Auditor, AuditStorage } from '@geekmidas/audit';\nimport { UnprocessableEntityError } from '@geekmidas/errors';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type {\n\tComposableStandardSchema,\n\tInferComposableStandardSchema,\n\tInferStandardSchema,\n} from '@geekmidas/schema';\nimport { parseSchema } from '@geekmidas/schema/parser';\nimport type { Service, ServiceRecord } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { Construct, ConstructType } from '../Construct';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class FunctionFactory<\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n> {\n\tprivate defaultServices: TServices;\n\tconstructor(\n\t\tdefaultServices: TServices,\n\t\tprivate defaultLogger: TLogger = DEFAULT_LOGGER,\n\t) {\n\t\t// Initialize default services\n\t\tthis.defaultServices = uniqBy(\n\t\t\tdefaultServices,\n\t\t\t(s) => s.serviceName,\n\t\t) as TServices;\n\t}\n\n\t// Create a new factory with services\n\tservices<S extends Service[]>(\n\t\tservices: S,\n\t): FunctionFactory<[...S, ...TServices], TLogger> {\n\t\treturn new FunctionFactory<[...S, ...TServices], TLogger>(\n\t\t\t[...services, ...this.defaultServices],\n\t\t\tthis.defaultLogger,\n\t\t);\n\t}\n\n\tlogger<L extends Logger>(logger: L): FunctionFactory<TServices, L> {\n\t\treturn new FunctionFactory<TServices, L>(this.defaultServices, logger);\n\t}\n}\n\nexport class Function<\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\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditStorageServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n\tFn extends FunctionHandler<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTDatabase,\n\t\tTAuditStorage,\n\t\tTAuditAction\n\t> = FunctionHandler<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTDatabase,\n\t\tTAuditStorage,\n\t\tTAuditAction\n\t>,\n> extends Construct<\n\tTLogger,\n\tTEventPublisherServiceName,\n\tTEventPublisher,\n\tOutSchema,\n\tTServices,\n\tTAuditStorageServiceName,\n\tTAuditStorage\n> {\n\t__IS_FUNCTION__ = true;\n\n\tstatic isFunction(obj: any): obj is Function<any, any, any, any, any> {\n\t\treturn Boolean(\n\t\t\tobj &&\n\t\t\t\tobj.__IS_FUNCTION__ === true &&\n\t\t\t\tobj.type === ConstructType.Function,\n\t\t);\n\t}\n\n\t/**\n\t * Validates data against a StandardSchema.\n\t *\n\t * @param schema - The StandardSchema to validate against\n\t * @param data - The data to validate\n\t * @returns Validation result with value or issues\n\t */\n\tstatic validate<T extends StandardSchemaV1>(schema: T, data: unknown) {\n\t\treturn schema['~standard'].validate(data);\n\t}\n\n\t/**\n\t * Parses and validates data against a schema, throwing an error if validation fails.\n\t *\n\t * @param schema - The StandardSchema to validate against\n\t * @param data - The data to parse and validate\n\t * @returns The validated data with proper typing\n\t * @throws {UnprocessableEntityError} When validation fails\n\t */\n\tstatic async parseSchema<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t\tdata: unknown,\n\t): Promise<InferStandardSchema<T>> {\n\t\ttry {\n\t\t\treturn await parseSchema(schema, data);\n\t\t} catch (issues) {\n\t\t\tthrow new UnprocessableEntityError('Validation failed', issues);\n\t\t}\n\t}\n\n\t/**\n\t * Parses and validates the endpoint output against the output schema.\n\t *\n\t * @param output - The raw output data to validate\n\t * @returns The validated output data\n\t * @throws {UnprocessableEntityError} When output validation fails\n\t */\n\tasync parseOutput(output: unknown): Promise<InferStandardSchema<OutSchema>> {\n\t\treturn Function.parseSchema(\n\t\t\tthis.outputSchema as StandardSchemaV1,\n\t\t\toutput,\n\t\t) as Promise<InferStandardSchema<OutSchema>>;\n\t}\n\n\tconstructor(\n\t\tpublic readonly fn: Fn,\n\t\ttimeout = 30000, // Default timeout of 30 seconds\n\t\ttype: ConstructType = ConstructType.Function,\n\t\tpublic input?: TInput,\n\t\toutputSchema?: OutSchema,\n\t\tservices: TServices = [] as unknown as TServices,\n\t\tlogger: TLogger = DEFAULT_LOGGER,\n\t\tpublisherService?: Service<TEventPublisherServiceName, TEventPublisher>,\n\t\tevents: MappedEvent<TEventPublisher, OutSchema>[] = [],\n\t\tmemorySize?: number,\n\t\tauditorStorageService?: Service<TAuditStorageServiceName, TAuditStorage>,\n\t\tpublic databaseService?: Service<TDatabaseServiceName, TDatabase>,\n\t) {\n\t\tsuper(\n\t\t\ttype,\n\t\t\tlogger,\n\t\t\tservices,\n\t\t\tevents,\n\t\t\tpublisherService,\n\t\t\toutputSchema,\n\t\t\ttimeout,\n\t\t\tmemorySize,\n\t\t\tauditorStorageService,\n\t\t);\n\t}\n}\n\nexport type FunctionHandler<\n\tTInput extends ComposableStandardSchema | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTDatabase = undefined,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n> = (\n\tctx: FunctionContext<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tTDatabase,\n\t\tTAuditStorage,\n\t\tTAuditAction\n\t>,\n) => OutSchema extends StandardSchemaV1\n\t? InferStandardSchema<OutSchema> | Promise<InferStandardSchema<OutSchema>>\n\t: any | Promise<any>;\n\n/**\n * Conditional type that adds `db` property only when TDatabase is configured.\n */\ntype DatabaseContext<TDatabase> = TDatabase extends undefined\n\t? {}\n\t: { db: TDatabase };\n\n/**\n * Conditional auditor context - only present when audit storage is configured.\n */\ntype AuditorContext<\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n\tTAuditStorage = undefined,\n> = TAuditStorage extends undefined\n\t? {}\n\t: {\n\t\t\t/**\n\t\t\t * Auditor instance for recording audit events.\n\t\t\t * Only present when audit storage is configured on the function.\n\t\t\t */\n\t\t\tauditor: Auditor<TAuditAction>;\n\t\t};\n\nexport type FunctionContext<\n\tInput extends ComposableStandardSchema | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tTDatabase = undefined,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n> = {\n\tservices: ServiceRecord<TServices>;\n\tlogger: TLogger;\n\tinput: InferComposableStandardSchema<Input>;\n} & DatabaseContext<TDatabase> &\n\tAuditorContext<TAuditAction, TAuditStorage>;\n"],"mappings":";;;;;;;;AAgBA,MAAM,iBAAiB,IAAIA;AAE3B,IAAa,kBAAb,MAAa,gBAGX;CACD,AAAQ;CACR,YACCC,iBACQC,gBAAyB,gBAChC;EADO;AAGR,OAAK,kBAAkB,2BACtB,iBACA,CAAC,MAAM,EAAE,YACT;CACD;CAGD,SACCC,UACiD;AACjD,SAAO,IAAI,gBACV,CAAC,GAAG,UAAU,GAAG,KAAK,eAAgB,GACtC,KAAK;CAEN;CAED,OAAyBC,QAA0C;AAClE,SAAO,IAAI,gBAA8B,KAAK,iBAAiB;CAC/D;AACD;AAED,IAAa,WAAb,MAAa,iBAgCHC,4BAQR;CACD,kBAAkB;CAElB,OAAO,WAAWC,KAAoD;AACrE,SAAO,QACN,OACC,IAAI,oBAAoB,QACxB,IAAI,SAASC,gCAAc,SAC5B;CACD;;;;;;;;CASD,OAAO,SAAqCC,QAAWC,MAAe;AACrE,SAAO,OAAO,aAAa,SAAS,KAAK;CACzC;;;;;;;;;CAUD,aAAa,YACZD,QACAC,MACkC;AAClC,MAAI;AACH,UAAO,MAAM,2CAAY,QAAQ,KAAK;EACtC,SAAQ,QAAQ;AAChB,SAAM,IAAIC,4CAAyB,qBAAqB;EACxD;CACD;;;;;;;;CASD,MAAM,YAAYC,QAA0D;AAC3E,SAAO,SAAS,YACf,KAAK,cACL,OACA;CACD;CAED,YACiBC,IAChB,UAAU,KACVC,OAAsBN,gCAAc,UAC7BO,OACPC,cACAC,WAAsB,CAAE,GACxBC,SAAkB,gBAClBC,kBACAC,SAAoD,CAAE,GACtDC,YACAC,uBACOC,iBACN;AACD,QACC,MACA,QACA,UACA,QACA,kBACA,cACA,SACA,YACA,sBACA;EAvBe;EAGT;EAQA;CAaP;AACD"}
@@ -1,7 +1,7 @@
1
1
  const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const require_Construct = require('./Construct-Ba5cMxib.cjs');
3
- const require_Function = require('./Function-DDZb1525.cjs');
4
- const require_BaseFunctionBuilder = require('./BaseFunctionBuilder-MYG3C9ug.cjs');
2
+ const require_Construct = require('./Construct-BlnyYtJC.cjs');
3
+ const require_BaseFunctionBuilder = require('./BaseFunctionBuilder-D7o93EGv.cjs');
4
+ const require_Function = require('./Function-iLKrUXuw.cjs');
5
5
  const __geekmidas_logger_console = require_chunk.__toESM(require("@geekmidas/logger/console"));
6
6
  const lodash_uniqby = require_chunk.__toESM(require("lodash.uniqby"));
7
7
 
@@ -83,4 +83,4 @@ Object.defineProperty(exports, 'FunctionBuilder', {
83
83
  return FunctionBuilder;
84
84
  }
85
85
  });
86
- //# sourceMappingURL=FunctionBuilder-DswJ-9sD.cjs.map
86
+ //# sourceMappingURL=FunctionBuilder-BEpPgeho.cjs.map