@geekmidas/constructs 3.0.7 → 3.0.8

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 (459) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/{Construct-BXG8cFSm.cjs → Construct-B14miJ6P.cjs} +95 -10
  3. package/dist/Construct-B14miJ6P.cjs.map +1 -0
  4. package/dist/{Construct-BjpXFNxy.d.mts → Construct-CXqvzglu.d.cts} +11 -6
  5. package/dist/{Construct-BjpXFNxy.d.mts.map → Construct-CXqvzglu.d.cts.map} +1 -1
  6. package/dist/{Construct-CQ9zV58W.mjs → Construct-CdJY2DJS.mjs} +83 -9
  7. package/dist/Construct-CdJY2DJS.mjs.map +1 -0
  8. package/dist/{Construct-CX7HyFfT.d.cts → Construct-D0n7QTaI.d.mts} +13 -8
  9. package/dist/Construct-D0n7QTaI.d.mts.map +1 -0
  10. package/dist/{Endpoint-CGdCGJkC.d.cts → Endpoint-C991gK3T.d.cts} +130 -27
  11. package/dist/Endpoint-C991gK3T.d.cts.map +1 -0
  12. package/dist/{Endpoint-BET0JSZK.d.mts → Endpoint-CRHpLPV3.d.mts} +130 -27
  13. package/dist/Endpoint-CRHpLPV3.d.mts.map +1 -0
  14. package/dist/{HonoEndpointAdaptor-B5fKdLi7.cjs → HonoEndpointAdaptor-BDz1qM4z.cjs} +81 -24
  15. package/dist/HonoEndpointAdaptor-BDz1qM4z.cjs.map +1 -0
  16. package/dist/{HonoEndpointAdaptor-DOUODM7n.mjs → HonoEndpointAdaptor-DPBfEPZj.mjs} +64 -7
  17. package/dist/HonoEndpointAdaptor-DPBfEPZj.mjs.map +1 -0
  18. package/dist/{Subscriber-1rDE7HuM.d.cts → Subscriber-D8WkA8np.d.cts} +3 -3
  19. package/dist/{Subscriber-1rDE7HuM.d.cts.map → Subscriber-D8WkA8np.d.cts.map} +1 -1
  20. package/dist/{Subscriber-9ObcUdcC.d.mts → Subscriber-Tft61-YG.d.mts} +5 -5
  21. package/dist/Subscriber-Tft61-YG.d.mts.map +1 -0
  22. package/dist/adaptors/aws.cjs +737 -21
  23. package/dist/adaptors/aws.cjs.map +1 -0
  24. package/dist/adaptors/aws.d.cts +221 -17
  25. package/dist/adaptors/aws.d.cts.map +1 -0
  26. package/dist/adaptors/aws.d.mts +221 -17
  27. package/dist/adaptors/aws.d.mts.map +1 -0
  28. package/dist/adaptors/aws.mjs +734 -18
  29. package/dist/adaptors/aws.mjs.map +1 -0
  30. package/dist/adaptors/hono.cjs +5 -12
  31. package/dist/adaptors/hono.d.cts +52 -10
  32. package/dist/adaptors/hono.d.cts.map +1 -0
  33. package/dist/adaptors/hono.d.mts +52 -10
  34. package/dist/adaptors/hono.d.mts.map +1 -0
  35. package/dist/adaptors/hono.mjs +5 -12
  36. package/dist/adaptors/testing.cjs +392 -21
  37. package/dist/adaptors/testing.cjs.map +1 -0
  38. package/dist/adaptors/testing.d.cts +177 -14
  39. package/dist/adaptors/testing.d.cts.map +1 -0
  40. package/dist/adaptors/testing.d.mts +177 -14
  41. package/dist/adaptors/testing.d.mts.map +1 -0
  42. package/dist/adaptors/testing.mjs +388 -17
  43. package/dist/adaptors/testing.mjs.map +1 -0
  44. package/dist/crons/index.cjs +82 -10
  45. package/dist/crons/index.cjs.map +1 -1
  46. package/dist/crons/index.d.cts +48 -11
  47. package/dist/crons/index.d.cts.map +1 -1
  48. package/dist/crons/index.d.mts +45 -11
  49. package/dist/crons/index.d.mts.map +1 -1
  50. package/dist/crons/index.mjs +79 -7
  51. package/dist/crons/index.mjs.map +1 -1
  52. package/dist/endpoints/index.cjs +717 -23
  53. package/dist/endpoints/index.cjs.map +1 -1
  54. package/dist/endpoints/index.d.cts +316 -14
  55. package/dist/endpoints/index.d.cts.map +1 -1
  56. package/dist/endpoints/index.d.mts +315 -14
  57. package/dist/endpoints/index.d.mts.map +1 -1
  58. package/dist/endpoints/index.mjs +706 -12
  59. package/dist/endpoints/index.mjs.map +1 -1
  60. package/dist/functions/index.cjs +5 -8
  61. package/dist/functions/index.d.cts +2 -5
  62. package/dist/functions/index.d.mts +2 -5
  63. package/dist/functions/index.mjs +2 -5
  64. package/dist/functions-DiaRAdfp.cjs +2893 -0
  65. package/dist/functions-DiaRAdfp.cjs.map +1 -0
  66. package/dist/functions-GmSHFbpr.mjs +2864 -0
  67. package/dist/functions-GmSHFbpr.mjs.map +1 -0
  68. package/dist/index-Cq4fz8uM.d.mts +132 -0
  69. package/dist/index-Cq4fz8uM.d.mts.map +1 -0
  70. package/dist/index-CzIMpK-e.d.cts +135 -0
  71. package/dist/index-CzIMpK-e.d.cts.map +1 -0
  72. package/dist/index.cjs +1 -1
  73. package/dist/index.d.cts +3 -3
  74. package/dist/index.d.mts +3 -3
  75. package/dist/index.mjs +1 -1
  76. package/dist/lazyAccessors-CJZYs9uM.mjs +1887 -0
  77. package/dist/lazyAccessors-CJZYs9uM.mjs.map +1 -0
  78. package/dist/lazyAccessors-DHvDeww0.cjs +1964 -0
  79. package/dist/lazyAccessors-DHvDeww0.cjs.map +1 -0
  80. package/dist/processAudits-B0PbJf1Z.mjs +80 -0
  81. package/dist/processAudits-B0PbJf1Z.mjs.map +1 -0
  82. package/dist/processAudits-CUko08pi.cjs +92 -0
  83. package/dist/processAudits-CUko08pi.cjs.map +1 -0
  84. package/dist/subscribers/index.cjs +77 -6
  85. package/dist/subscribers/index.cjs.map +1 -1
  86. package/dist/subscribers/index.d.cts +27 -5
  87. package/dist/subscribers/index.d.cts.map +1 -1
  88. package/dist/subscribers/index.d.mts +26 -5
  89. package/dist/subscribers/index.d.mts.map +1 -1
  90. package/dist/subscribers/index.mjs +74 -3
  91. package/dist/subscribers/index.mjs.map +1 -1
  92. package/dist/{telemetry-BTaiRqPo.d.cts → telemetry-Bt0vK4ma.d.cts} +1 -1
  93. package/dist/{telemetry-BJo1gcV1.d.mts.map → telemetry-Bt0vK4ma.d.cts.map} +1 -1
  94. package/dist/{telemetry-BJo1gcV1.d.mts → telemetry-COvVBKBM.d.mts} +1 -1
  95. package/dist/{telemetry-BTaiRqPo.d.cts.map → telemetry-COvVBKBM.d.mts.map} +1 -1
  96. package/dist/{types-B5H3piDg.d.cts → types-B8YlI4cx.d.cts} +1 -1
  97. package/dist/{types-B5H3piDg.d.cts.map → types-B8YlI4cx.d.cts.map} +1 -1
  98. package/dist/{types-BqPOdHEm.d.mts → types-BA3eK4xj.d.mts} +1 -1
  99. package/dist/{types-BqPOdHEm.d.mts.map → types-BA3eK4xj.d.mts.map} +1 -1
  100. package/dist/types.d.cts +1 -1
  101. package/dist/types.d.mts +1 -1
  102. package/package.json +9 -9
  103. package/src/Construct.ts +26 -8
  104. package/src/__tests__/Construct.environment.spec.ts +123 -0
  105. package/src/endpoints/__tests__/MswEndpointAdaptor.spec.ts +1 -9
  106. package/tsdown.config.ts +30 -1
  107. package/dist/AWSLambdaFunction-CC8gMZhz.d.mts +0 -32
  108. package/dist/AWSLambdaFunction-CC8gMZhz.d.mts.map +0 -1
  109. package/dist/AWSLambdaFunction-CPEAl5nZ.cjs +0 -120
  110. package/dist/AWSLambdaFunction-CPEAl5nZ.cjs.map +0 -1
  111. package/dist/AWSLambdaFunction-DJiCAPAf.mjs +0 -114
  112. package/dist/AWSLambdaFunction-DJiCAPAf.mjs.map +0 -1
  113. package/dist/AWSLambdaFunction-tzqv5XU6.d.cts +0 -32
  114. package/dist/AWSLambdaFunction-tzqv5XU6.d.cts.map +0 -1
  115. package/dist/AWSLambdaSubscriberAdaptor-Cj1wjkUP.d.cts +0 -36
  116. package/dist/AWSLambdaSubscriberAdaptor-Cj1wjkUP.d.cts.map +0 -1
  117. package/dist/AWSLambdaSubscriberAdaptor-Cmx9OQGG.d.mts +0 -36
  118. package/dist/AWSLambdaSubscriberAdaptor-Cmx9OQGG.d.mts.map +0 -1
  119. package/dist/AWSLambdaSubscriberAdaptor-RKwKYLl1.mjs +0 -172
  120. package/dist/AWSLambdaSubscriberAdaptor-RKwKYLl1.mjs.map +0 -1
  121. package/dist/AWSLambdaSubscriberAdaptor-eZ3qoKvK.cjs +0 -178
  122. package/dist/AWSLambdaSubscriberAdaptor-eZ3qoKvK.cjs.map +0 -1
  123. package/dist/AmazonApiGatewayEndpointAdaptor-BIltcbAc.cjs +0 -277
  124. package/dist/AmazonApiGatewayEndpointAdaptor-BIltcbAc.cjs.map +0 -1
  125. package/dist/AmazonApiGatewayEndpointAdaptor-BpYtYCeW.mjs +0 -271
  126. package/dist/AmazonApiGatewayEndpointAdaptor-BpYtYCeW.mjs.map +0 -1
  127. package/dist/AmazonApiGatewayEndpointAdaptor-DA0rS_1Y.d.mts +0 -124
  128. package/dist/AmazonApiGatewayEndpointAdaptor-DA0rS_1Y.d.mts.map +0 -1
  129. package/dist/AmazonApiGatewayEndpointAdaptor-DqNcQGMf.d.cts +0 -124
  130. package/dist/AmazonApiGatewayEndpointAdaptor-DqNcQGMf.d.cts.map +0 -1
  131. package/dist/AmazonApiGatewayV1EndpointAdaptor-C7rJzNvG.d.mts +0 -23
  132. package/dist/AmazonApiGatewayV1EndpointAdaptor-C7rJzNvG.d.mts.map +0 -1
  133. package/dist/AmazonApiGatewayV1EndpointAdaptor-CRwyWT6t.mjs +0 -42
  134. package/dist/AmazonApiGatewayV1EndpointAdaptor-CRwyWT6t.mjs.map +0 -1
  135. package/dist/AmazonApiGatewayV1EndpointAdaptor-DEETT6Wj.cjs +0 -47
  136. package/dist/AmazonApiGatewayV1EndpointAdaptor-DEETT6Wj.cjs.map +0 -1
  137. package/dist/AmazonApiGatewayV1EndpointAdaptor-DcN2fYsv.d.cts +0 -23
  138. package/dist/AmazonApiGatewayV1EndpointAdaptor-DcN2fYsv.d.cts.map +0 -1
  139. package/dist/AmazonApiGatewayV2EndpointAdaptor-C2qO8FN6.cjs +0 -48
  140. package/dist/AmazonApiGatewayV2EndpointAdaptor-C2qO8FN6.cjs.map +0 -1
  141. package/dist/AmazonApiGatewayV2EndpointAdaptor-Cn9UoRgB.d.cts +0 -22
  142. package/dist/AmazonApiGatewayV2EndpointAdaptor-Cn9UoRgB.d.cts.map +0 -1
  143. package/dist/AmazonApiGatewayV2EndpointAdaptor-d7NP-bZX.d.mts +0 -22
  144. package/dist/AmazonApiGatewayV2EndpointAdaptor-d7NP-bZX.d.mts.map +0 -1
  145. package/dist/AmazonApiGatewayV2EndpointAdaptor-m9YKI294.mjs +0 -42
  146. package/dist/AmazonApiGatewayV2EndpointAdaptor-m9YKI294.mjs.map +0 -1
  147. package/dist/Authorizer-BZ1LcZFt.cjs +0 -92
  148. package/dist/Authorizer-BZ1LcZFt.cjs.map +0 -1
  149. package/dist/Authorizer-C5_FC_Rq.d.mts +0 -126
  150. package/dist/Authorizer-C5_FC_Rq.d.mts.map +0 -1
  151. package/dist/Authorizer-CZpg1Jqk.mjs +0 -68
  152. package/dist/Authorizer-CZpg1Jqk.mjs.map +0 -1
  153. package/dist/Authorizer-DWtwC8we.d.cts +0 -126
  154. package/dist/Authorizer-DWtwC8we.d.cts.map +0 -1
  155. package/dist/BaseFunctionBuilder-C-4hYTfj.d.cts +0 -42
  156. package/dist/BaseFunctionBuilder-C-4hYTfj.d.cts.map +0 -1
  157. package/dist/BaseFunctionBuilder-C3rQMoWb.mjs +0 -70
  158. package/dist/BaseFunctionBuilder-C3rQMoWb.mjs.map +0 -1
  159. package/dist/BaseFunctionBuilder-DXf6HK-N.cjs +0 -76
  160. package/dist/BaseFunctionBuilder-DXf6HK-N.cjs.map +0 -1
  161. package/dist/BaseFunctionBuilder-Q5qIlF-F.d.mts +0 -42
  162. package/dist/BaseFunctionBuilder-Q5qIlF-F.d.mts.map +0 -1
  163. package/dist/Construct-BXG8cFSm.cjs.map +0 -1
  164. package/dist/Construct-CQ9zV58W.mjs.map +0 -1
  165. package/dist/Construct-CX7HyFfT.d.cts.map +0 -1
  166. package/dist/Construct.cjs +0 -6
  167. package/dist/Construct.d.cts +0 -2
  168. package/dist/Construct.d.mts +0 -2
  169. package/dist/Construct.mjs +0 -3
  170. package/dist/Cron-BljK1gsV.d.mts +0 -26
  171. package/dist/Cron-BljK1gsV.d.mts.map +0 -1
  172. package/dist/Cron-C1vyfJ8B.cjs +0 -25
  173. package/dist/Cron-C1vyfJ8B.cjs.map +0 -1
  174. package/dist/Cron-CjWQEad0.mjs +0 -20
  175. package/dist/Cron-CjWQEad0.mjs.map +0 -1
  176. package/dist/Cron-CllHkk3z.d.cts +0 -26
  177. package/dist/Cron-CllHkk3z.d.cts.map +0 -1
  178. package/dist/CronBuilder-CAJFtnmZ.mjs +0 -68
  179. package/dist/CronBuilder-CAJFtnmZ.mjs.map +0 -1
  180. package/dist/CronBuilder-CG54f9LM.d.mts +0 -32
  181. package/dist/CronBuilder-CG54f9LM.d.mts.map +0 -1
  182. package/dist/CronBuilder-CSMd02lu.cjs +0 -74
  183. package/dist/CronBuilder-CSMd02lu.cjs.map +0 -1
  184. package/dist/CronBuilder-i23l40xs.d.cts +0 -32
  185. package/dist/CronBuilder-i23l40xs.d.cts.map +0 -1
  186. package/dist/Endpoint-BET0JSZK.d.mts.map +0 -1
  187. package/dist/Endpoint-BcxvF4F3.cjs +0 -440
  188. package/dist/Endpoint-BcxvF4F3.cjs.map +0 -1
  189. package/dist/Endpoint-CGdCGJkC.d.cts.map +0 -1
  190. package/dist/Endpoint-DvY3aqAy.mjs +0 -422
  191. package/dist/Endpoint-DvY3aqAy.mjs.map +0 -1
  192. package/dist/EndpointBuilder-6kdrQyIh.d.mts +0 -146
  193. package/dist/EndpointBuilder-6kdrQyIh.d.mts.map +0 -1
  194. package/dist/EndpointBuilder-CSwIguiR.d.cts +0 -146
  195. package/dist/EndpointBuilder-CSwIguiR.d.cts.map +0 -1
  196. package/dist/EndpointBuilder-EptJojG9.cjs +0 -268
  197. package/dist/EndpointBuilder-EptJojG9.cjs.map +0 -1
  198. package/dist/EndpointBuilder-iDpnACRb.mjs +0 -262
  199. package/dist/EndpointBuilder-iDpnACRb.mjs.map +0 -1
  200. package/dist/EndpointFactory-CBagQW5j.d.mts +0 -142
  201. package/dist/EndpointFactory-CBagQW5j.d.mts.map +0 -1
  202. package/dist/EndpointFactory-D2QxeaAh.cjs +0 -393
  203. package/dist/EndpointFactory-D2QxeaAh.cjs.map +0 -1
  204. package/dist/EndpointFactory-DQYSH8XK.d.cts +0 -142
  205. package/dist/EndpointFactory-DQYSH8XK.d.cts.map +0 -1
  206. package/dist/EndpointFactory-wgcqWod-.mjs +0 -381
  207. package/dist/EndpointFactory-wgcqWod-.mjs.map +0 -1
  208. package/dist/Function-CwlB89lS.d.cts +0 -76
  209. package/dist/Function-CwlB89lS.d.cts.map +0 -1
  210. package/dist/Function-D74HrBnX.d.mts +0 -76
  211. package/dist/Function-D74HrBnX.d.mts.map +0 -1
  212. package/dist/Function-DgQ_no6B.cjs +0 -84
  213. package/dist/Function-DgQ_no6B.cjs.map +0 -1
  214. package/dist/Function-xfQbftdE.mjs +0 -72
  215. package/dist/Function-xfQbftdE.mjs.map +0 -1
  216. package/dist/FunctionBuilder-CBeqX18X.mjs +0 -80
  217. package/dist/FunctionBuilder-CBeqX18X.mjs.map +0 -1
  218. package/dist/FunctionBuilder-C_qPxC8g.d.mts +0 -40
  219. package/dist/FunctionBuilder-C_qPxC8g.d.mts.map +0 -1
  220. package/dist/FunctionBuilder-C_xG9As7.cjs +0 -86
  221. package/dist/FunctionBuilder-C_xG9As7.cjs.map +0 -1
  222. package/dist/FunctionBuilder-D_7f5MfS.d.cts +0 -40
  223. package/dist/FunctionBuilder-D_7f5MfS.d.cts.map +0 -1
  224. package/dist/FunctionExecutionWrapper-B0ZAssiy.mjs +0 -101
  225. package/dist/FunctionExecutionWrapper-B0ZAssiy.mjs.map +0 -1
  226. package/dist/FunctionExecutionWrapper-Cg8HjuHL.d.cts +0 -50
  227. package/dist/FunctionExecutionWrapper-Cg8HjuHL.d.cts.map +0 -1
  228. package/dist/FunctionExecutionWrapper-KKHP6fDY.cjs +0 -107
  229. package/dist/FunctionExecutionWrapper-KKHP6fDY.cjs.map +0 -1
  230. package/dist/FunctionExecutionWrapper-xbTmBARx.d.mts +0 -50
  231. package/dist/FunctionExecutionWrapper-xbTmBARx.d.mts.map +0 -1
  232. package/dist/HonoEndpointAdaptor-B5fKdLi7.cjs.map +0 -1
  233. package/dist/HonoEndpointAdaptor-C2deTEwW.d.mts +0 -50
  234. package/dist/HonoEndpointAdaptor-C2deTEwW.d.mts.map +0 -1
  235. package/dist/HonoEndpointAdaptor-D3IgM-0B.d.cts +0 -50
  236. package/dist/HonoEndpointAdaptor-D3IgM-0B.d.cts.map +0 -1
  237. package/dist/HonoEndpointAdaptor-DOUODM7n.mjs.map +0 -1
  238. package/dist/MswEndpointAdaptor-B41INCc7.mjs +0 -108
  239. package/dist/MswEndpointAdaptor-B41INCc7.mjs.map +0 -1
  240. package/dist/MswEndpointAdaptor-CA_fu6Wx.cjs +0 -120
  241. package/dist/MswEndpointAdaptor-CA_fu6Wx.cjs.map +0 -1
  242. package/dist/MswEndpointAdaptor-CXgYbOxw.d.mts +0 -101
  243. package/dist/MswEndpointAdaptor-CXgYbOxw.d.mts.map +0 -1
  244. package/dist/MswEndpointAdaptor-CsYvrQeB.d.cts +0 -101
  245. package/dist/MswEndpointAdaptor-CsYvrQeB.d.cts.map +0 -1
  246. package/dist/Subscriber-9ObcUdcC.d.mts.map +0 -1
  247. package/dist/Subscriber-BH76wgkL.mjs +0 -28
  248. package/dist/Subscriber-BH76wgkL.mjs.map +0 -1
  249. package/dist/Subscriber-BgspJeS4.cjs +0 -34
  250. package/dist/Subscriber-BgspJeS4.cjs.map +0 -1
  251. package/dist/SubscriberBuilder-B4md5wzs.mjs +0 -54
  252. package/dist/SubscriberBuilder-B4md5wzs.mjs.map +0 -1
  253. package/dist/SubscriberBuilder-Be7WBbCL.d.cts +0 -28
  254. package/dist/SubscriberBuilder-Be7WBbCL.d.cts.map +0 -1
  255. package/dist/SubscriberBuilder-BtL22ZJ9.cjs +0 -60
  256. package/dist/SubscriberBuilder-BtL22ZJ9.cjs.map +0 -1
  257. package/dist/SubscriberBuilder-DsfIkgTF.d.mts +0 -28
  258. package/dist/SubscriberBuilder-DsfIkgTF.d.mts.map +0 -1
  259. package/dist/TestEndpointAdaptor-BFmgf7Fn.mjs +0 -174
  260. package/dist/TestEndpointAdaptor-BFmgf7Fn.mjs.map +0 -1
  261. package/dist/TestEndpointAdaptor-C79Z-QS4.d.mts +0 -45
  262. package/dist/TestEndpointAdaptor-C79Z-QS4.d.mts.map +0 -1
  263. package/dist/TestEndpointAdaptor-DYLDyAAC.cjs +0 -180
  264. package/dist/TestEndpointAdaptor-DYLDyAAC.cjs.map +0 -1
  265. package/dist/TestEndpointAdaptor-pM8yskbb.d.cts +0 -45
  266. package/dist/TestEndpointAdaptor-pM8yskbb.d.cts.map +0 -1
  267. package/dist/TestFunctionAdaptor-B859kIeb.cjs +0 -81
  268. package/dist/TestFunctionAdaptor-B859kIeb.cjs.map +0 -1
  269. package/dist/TestFunctionAdaptor-C0A-VqnM.d.mts +0 -30
  270. package/dist/TestFunctionAdaptor-C0A-VqnM.d.mts.map +0 -1
  271. package/dist/TestFunctionAdaptor-CqdSlhx1.mjs +0 -75
  272. package/dist/TestFunctionAdaptor-CqdSlhx1.mjs.map +0 -1
  273. package/dist/TestFunctionAdaptor-Dbq55dKP.d.cts +0 -30
  274. package/dist/TestFunctionAdaptor-Dbq55dKP.d.cts.map +0 -1
  275. package/dist/TestSubscriberAdaptor-BEyCFP9G.d.mts +0 -26
  276. package/dist/TestSubscriberAdaptor-BEyCFP9G.d.mts.map +0 -1
  277. package/dist/TestSubscriberAdaptor-BknOLRQw.d.cts +0 -26
  278. package/dist/TestSubscriberAdaptor-BknOLRQw.d.cts.map +0 -1
  279. package/dist/TestSubscriberAdaptor-CCcviuKa.mjs +0 -51
  280. package/dist/TestSubscriberAdaptor-CCcviuKa.mjs.map +0 -1
  281. package/dist/TestSubscriberAdaptor-_69o1d0f.cjs +0 -57
  282. package/dist/TestSubscriberAdaptor-_69o1d0f.cjs.map +0 -1
  283. package/dist/chunk-CUT6urMc.cjs +0 -30
  284. package/dist/crons/Cron.cjs +0 -8
  285. package/dist/crons/Cron.d.cts +0 -7
  286. package/dist/crons/Cron.d.mts +0 -7
  287. package/dist/crons/Cron.mjs +0 -8
  288. package/dist/crons/CronBuilder.cjs +0 -9
  289. package/dist/crons/CronBuilder.d.cts +0 -8
  290. package/dist/crons/CronBuilder.d.mts +0 -8
  291. package/dist/crons/CronBuilder.mjs +0 -9
  292. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +0 -11
  293. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +0 -11
  294. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +0 -11
  295. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +0 -11
  296. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +0 -13
  297. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +0 -12
  298. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +0 -12
  299. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +0 -13
  300. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +0 -13
  301. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +0 -12
  302. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +0 -12
  303. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +0 -13
  304. package/dist/endpoints/Authorizer.cjs +0 -6
  305. package/dist/endpoints/Authorizer.d.cts +0 -2
  306. package/dist/endpoints/Authorizer.d.mts +0 -2
  307. package/dist/endpoints/Authorizer.mjs +0 -3
  308. package/dist/endpoints/Endpoint.cjs +0 -10
  309. package/dist/endpoints/Endpoint.d.cts +0 -9
  310. package/dist/endpoints/Endpoint.d.mts +0 -9
  311. package/dist/endpoints/Endpoint.mjs +0 -8
  312. package/dist/endpoints/EndpointBuilder.cjs +0 -11
  313. package/dist/endpoints/EndpointBuilder.d.cts +0 -10
  314. package/dist/endpoints/EndpointBuilder.d.mts +0 -10
  315. package/dist/endpoints/EndpointBuilder.mjs +0 -11
  316. package/dist/endpoints/EndpointFactory.cjs +0 -13
  317. package/dist/endpoints/EndpointFactory.d.cts +0 -11
  318. package/dist/endpoints/EndpointFactory.d.mts +0 -11
  319. package/dist/endpoints/EndpointFactory.mjs +0 -12
  320. package/dist/endpoints/HonoEndpointAdaptor.cjs +0 -14
  321. package/dist/endpoints/HonoEndpointAdaptor.d.cts +0 -10
  322. package/dist/endpoints/HonoEndpointAdaptor.d.mts +0 -10
  323. package/dist/endpoints/HonoEndpointAdaptor.mjs +0 -14
  324. package/dist/endpoints/MswEndpointAdaptor.cjs +0 -16
  325. package/dist/endpoints/MswEndpointAdaptor.d.cts +0 -10
  326. package/dist/endpoints/MswEndpointAdaptor.d.mts +0 -10
  327. package/dist/endpoints/MswEndpointAdaptor.mjs +0 -15
  328. package/dist/endpoints/TestEndpointAdaptor.cjs +0 -12
  329. package/dist/endpoints/TestEndpointAdaptor.d.cts +0 -10
  330. package/dist/endpoints/TestEndpointAdaptor.d.mts +0 -10
  331. package/dist/endpoints/TestEndpointAdaptor.mjs +0 -12
  332. package/dist/endpoints/audit.cjs +0 -0
  333. package/dist/endpoints/audit.d.cts +0 -9
  334. package/dist/endpoints/audit.d.mts +0 -9
  335. package/dist/endpoints/audit.mjs +0 -0
  336. package/dist/endpoints/helpers.cjs +0 -10
  337. package/dist/endpoints/helpers.d.cts +0 -60
  338. package/dist/endpoints/helpers.d.cts.map +0 -1
  339. package/dist/endpoints/helpers.d.mts +0 -60
  340. package/dist/endpoints/helpers.d.mts.map +0 -1
  341. package/dist/endpoints/helpers.mjs +0 -9
  342. package/dist/endpoints/lazyAccessors.cjs +0 -10
  343. package/dist/endpoints/lazyAccessors.d.cts +0 -10
  344. package/dist/endpoints/lazyAccessors.d.mts +0 -10
  345. package/dist/endpoints/lazyAccessors.mjs +0 -3
  346. package/dist/endpoints/parseHonoQuery.cjs +0 -3
  347. package/dist/endpoints/parseHonoQuery.d.cts +0 -14
  348. package/dist/endpoints/parseHonoQuery.d.cts.map +0 -1
  349. package/dist/endpoints/parseHonoQuery.d.mts +0 -14
  350. package/dist/endpoints/parseHonoQuery.d.mts.map +0 -1
  351. package/dist/endpoints/parseHonoQuery.mjs +0 -3
  352. package/dist/endpoints/parseQueryParams.cjs +0 -3
  353. package/dist/endpoints/parseQueryParams.d.cts +0 -14
  354. package/dist/endpoints/parseQueryParams.d.cts.map +0 -1
  355. package/dist/endpoints/parseQueryParams.d.mts +0 -14
  356. package/dist/endpoints/parseQueryParams.d.mts.map +0 -1
  357. package/dist/endpoints/parseQueryParams.mjs +0 -3
  358. package/dist/endpoints/processAudits.cjs +0 -5
  359. package/dist/endpoints/processAudits.d.cts +0 -95
  360. package/dist/endpoints/processAudits.d.cts.map +0 -1
  361. package/dist/endpoints/processAudits.d.mts +0 -95
  362. package/dist/endpoints/processAudits.d.mts.map +0 -1
  363. package/dist/endpoints/processAudits.mjs +0 -3
  364. package/dist/endpoints/rls.cjs +0 -3
  365. package/dist/endpoints/rls.d.cts +0 -9
  366. package/dist/endpoints/rls.d.mts +0 -9
  367. package/dist/endpoints/rls.mjs +0 -3
  368. package/dist/functions/AWSLambdaFunction.cjs +0 -9
  369. package/dist/functions/AWSLambdaFunction.d.cts +0 -5
  370. package/dist/functions/AWSLambdaFunction.d.mts +0 -5
  371. package/dist/functions/AWSLambdaFunction.mjs +0 -9
  372. package/dist/functions/BaseFunctionBuilder.cjs +0 -4
  373. package/dist/functions/BaseFunctionBuilder.d.cts +0 -3
  374. package/dist/functions/BaseFunctionBuilder.d.mts +0 -3
  375. package/dist/functions/BaseFunctionBuilder.mjs +0 -4
  376. package/dist/functions/Function.cjs +0 -5
  377. package/dist/functions/Function.d.cts +0 -3
  378. package/dist/functions/Function.d.mts +0 -3
  379. package/dist/functions/Function.mjs +0 -4
  380. package/dist/functions/FunctionBuilder.cjs +0 -6
  381. package/dist/functions/FunctionBuilder.d.cts +0 -5
  382. package/dist/functions/FunctionBuilder.d.mts +0 -5
  383. package/dist/functions/FunctionBuilder.mjs +0 -6
  384. package/dist/functions/FunctionExecutionWrapper.cjs +0 -8
  385. package/dist/functions/FunctionExecutionWrapper.d.cts +0 -4
  386. package/dist/functions/FunctionExecutionWrapper.d.mts +0 -4
  387. package/dist/functions/FunctionExecutionWrapper.mjs +0 -8
  388. package/dist/functions/TestFunctionAdaptor.cjs +0 -8
  389. package/dist/functions/TestFunctionAdaptor.d.cts +0 -4
  390. package/dist/functions/TestFunctionAdaptor.d.mts +0 -4
  391. package/dist/functions/TestFunctionAdaptor.mjs +0 -8
  392. package/dist/functions-B1mrMoUH.mjs +0 -8
  393. package/dist/functions-B1mrMoUH.mjs.map +0 -1
  394. package/dist/functions-rOD3pXQd.cjs +0 -13
  395. package/dist/functions-rOD3pXQd.cjs.map +0 -1
  396. package/dist/helpers-BYyX0qTA.cjs +0 -95
  397. package/dist/helpers-BYyX0qTA.cjs.map +0 -1
  398. package/dist/helpers-BtwC2IW8.mjs +0 -83
  399. package/dist/helpers-BtwC2IW8.mjs.map +0 -1
  400. package/dist/index-BfeupgMl.d.cts +0 -12
  401. package/dist/index-BfeupgMl.d.cts.map +0 -1
  402. package/dist/index-Cg2UDz1r.d.mts +0 -12
  403. package/dist/index-Cg2UDz1r.d.mts.map +0 -1
  404. package/dist/lazyAccessors-BVEtB9lU.cjs +0 -223
  405. package/dist/lazyAccessors-BVEtB9lU.cjs.map +0 -1
  406. package/dist/lazyAccessors-Bxy5DBp4.d.cts +0 -49
  407. package/dist/lazyAccessors-Bxy5DBp4.d.cts.map +0 -1
  408. package/dist/lazyAccessors-CWFdtzSR.d.mts +0 -49
  409. package/dist/lazyAccessors-CWFdtzSR.d.mts.map +0 -1
  410. package/dist/lazyAccessors-DM6HcXQk.mjs +0 -175
  411. package/dist/lazyAccessors-DM6HcXQk.mjs.map +0 -1
  412. package/dist/parseHonoQuery-BBs8CX-H.cjs +0 -24
  413. package/dist/parseHonoQuery-BBs8CX-H.cjs.map +0 -1
  414. package/dist/parseHonoQuery-Cp8CII0P.mjs +0 -18
  415. package/dist/parseHonoQuery-Cp8CII0P.mjs.map +0 -1
  416. package/dist/parseQueryParams-B4RK1za3.cjs +0 -31
  417. package/dist/parseQueryParams-B4RK1za3.cjs.map +0 -1
  418. package/dist/parseQueryParams-DS3Qmrbd.mjs +0 -25
  419. package/dist/parseQueryParams-DS3Qmrbd.mjs.map +0 -1
  420. package/dist/processAudits-CzHkPokQ.cjs +0 -180
  421. package/dist/processAudits-CzHkPokQ.cjs.map +0 -1
  422. package/dist/processAudits-Dj8UGqcW.mjs +0 -162
  423. package/dist/processAudits-Dj8UGqcW.mjs.map +0 -1
  424. package/dist/publisher-BUDHcaz3.d.cts +0 -16
  425. package/dist/publisher-BUDHcaz3.d.cts.map +0 -1
  426. package/dist/publisher-Bw4770Hi.mjs +0 -41
  427. package/dist/publisher-Bw4770Hi.mjs.map +0 -1
  428. package/dist/publisher-DXglijK_.d.mts +0 -16
  429. package/dist/publisher-DXglijK_.d.mts.map +0 -1
  430. package/dist/publisher-lFQleddL.cjs +0 -53
  431. package/dist/publisher-lFQleddL.cjs.map +0 -1
  432. package/dist/publisher.cjs +0 -4
  433. package/dist/publisher.d.cts +0 -3
  434. package/dist/publisher.d.mts +0 -3
  435. package/dist/publisher.mjs +0 -3
  436. package/dist/rls-C0r4UKVm.mjs +0 -9
  437. package/dist/rls-C0r4UKVm.mjs.map +0 -1
  438. package/dist/rls-Cfb6w-tQ.cjs +0 -15
  439. package/dist/rls-Cfb6w-tQ.cjs.map +0 -1
  440. package/dist/subscribers/AWSLambdaSubscriberAdaptor.cjs +0 -3
  441. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.cts +0 -4
  442. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +0 -4
  443. package/dist/subscribers/AWSLambdaSubscriberAdaptor.mjs +0 -3
  444. package/dist/subscribers/Subscriber.cjs +0 -4
  445. package/dist/subscribers/Subscriber.d.cts +0 -3
  446. package/dist/subscribers/Subscriber.d.mts +0 -3
  447. package/dist/subscribers/Subscriber.mjs +0 -4
  448. package/dist/subscribers/SubscriberBuilder.cjs +0 -5
  449. package/dist/subscribers/SubscriberBuilder.d.cts +0 -4
  450. package/dist/subscribers/SubscriberBuilder.d.mts +0 -4
  451. package/dist/subscribers/SubscriberBuilder.mjs +0 -5
  452. package/dist/subscribers/TestSubscriberAdaptor.cjs +0 -4
  453. package/dist/subscribers/TestSubscriberAdaptor.d.cts +0 -4
  454. package/dist/subscribers/TestSubscriberAdaptor.d.mts +0 -4
  455. package/dist/subscribers/TestSubscriberAdaptor.mjs +0 -4
  456. package/dist/telemetry.cjs +0 -0
  457. package/dist/telemetry.d.cts +0 -2
  458. package/dist/telemetry.d.mts +0 -2
  459. package/dist/telemetry.mjs +0 -0
@@ -1,146 +0,0 @@
1
- import { HttpMethod } from "./types-BqPOdHEm.mjs";
2
- import { BaseFunctionBuilder } from "./BaseFunctionBuilder-Q5qIlF-F.mjs";
3
- import { Authorizer, SecurityScheme } from "./Authorizer-C5_FC_Rq.mjs";
4
- import { ActorExtractor, AuthorizeFn, Endpoint, EndpointHandler, EndpointSchemas, MappedAudit, RlsBypass, RlsConfig, SessionFn, SuccessStatus } from "./Endpoint-BET0JSZK.mjs";
5
- import { Service } from "@geekmidas/services";
6
- import { AuditStorage, AuditableAction, ExtractStorageAuditAction } from "@geekmidas/audit";
7
- import { RateLimitConfig } from "@geekmidas/rate-limit";
8
- import { EventPublisher, MappedEvent } from "@geekmidas/events";
9
- import { Logger } from "@geekmidas/logger";
10
- import { StandardSchemaV1 } from "@standard-schema/spec";
11
-
12
- //#region src/endpoints/EndpointBuilder.d.ts
13
-
14
- declare class EndpointBuilder<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuthorizers extends readonly string[] = readonly string[], TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, TDatabase = undefined, TDatabaseServiceName extends string = string> extends BaseFunctionBuilder<TInput, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName> {
15
- readonly route: TRoute;
16
- readonly method: TMethod;
17
- protected schemas: TInput;
18
- protected _description?: string;
19
- protected _status?: SuccessStatus;
20
- protected _tags?: string[];
21
- protected _memorySize?: number;
22
- _getSession: SessionFn<TServices, TLogger, TSession, TDatabase>;
23
- _authorize: AuthorizeFn<TServices, TLogger, TSession, TInput, TDatabase>;
24
- _rateLimit?: RateLimitConfig;
25
- _availableAuthorizers: Authorizer[];
26
- _authorizerName?: TAuthorizers[number];
27
- _actorExtractor?: ActorExtractor<TServices, TSession, TLogger>;
28
- _audits: MappedAudit<TAuditAction, OutSchema>[];
29
- _customSecuritySchemes: Record<string, SecurityScheme>;
30
- _rlsConfig?: RlsConfig<TServices, TSession, TLogger>;
31
- _rlsBypass?: boolean;
32
- constructor(route: TRoute, method: TMethod);
33
- _setPublisher(publisher: Service<TEventPublisherServiceName, TEventPublisher>): void;
34
- _setAuditorStorage(storage: Service<TAuditStorageServiceName, TAuditStorage>): void;
35
- _setDatabaseService(service: Service<TDatabaseServiceName, TDatabase>): void;
36
- description(description: string): this;
37
- status(status: SuccessStatus): this;
38
- event<TEvent extends MappedEvent<TEventPublisher, OutSchema>>(event: TEvent): this;
39
- tags(tags: string[]): this;
40
- memorySize(memorySize: number): this;
41
- publisher<T extends EventPublisher<any>, TName extends string>(publisher: Service<TName, T>): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, OutSchema, TSession, T, TName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
42
- body<T extends StandardSchemaV1>(schema: T): EndpointBuilder<TRoute, TMethod, Omit<TInput, 'body'> & {
43
- body: T;
44
- }, TServices, TLogger, OutSchema, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
45
- search<T extends StandardSchemaV1>(schema: T): EndpointBuilder<TRoute, TMethod, Omit<TInput, 'query'> & {
46
- query: T;
47
- }, TServices, TLogger, OutSchema, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
48
- query<T extends StandardSchemaV1>(schema: T): EndpointBuilder<TRoute, TMethod, Omit<TInput, 'query'> & {
49
- query: T;
50
- }, TServices, TLogger, OutSchema, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
51
- params<T extends StandardSchemaV1>(schema: T): EndpointBuilder<TRoute, TMethod, Omit<TInput, 'params'> & {
52
- params: T;
53
- }, TServices, TLogger, OutSchema, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
54
- authorize(fn: AuthorizeFn<TServices, TLogger, TSession, TInput, TDatabase>): this;
55
- rateLimit(config: RateLimitConfig): this;
56
- authorizer(name: TAuthorizers[number] | 'none'): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, OutSchema, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
57
- services<T extends Service[]>(services: T): EndpointBuilder<TRoute, TMethod, TInput, [...TServices, ...T], TLogger, OutSchema, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
58
- logger<T extends Logger>(logger: T): EndpointBuilder<TRoute, TMethod, TInput, TServices, T, OutSchema, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
59
- output<T extends StandardSchemaV1>(schema: T): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, T, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
60
- /**
61
- * Set the auditor storage service for this endpoint.
62
- * This enables audit functionality and makes `auditor` available in the handler context.
63
- * The audit action type is automatically inferred from the storage's generic parameter.
64
- */
65
- auditor<T extends AuditStorage<any>, TName extends string>(storage: Service<TName, T>): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, OutSchema, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, T, TName, ExtractStorageAuditAction<T>, TDatabase, TDatabaseServiceName>;
66
- /**
67
- * Set the actor extractor function for audit records.
68
- * The actor is extracted from the request context and attached to all audits.
69
- */
70
- actor(extractor: ActorExtractor<TServices, TSession, TLogger>): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, OutSchema, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
71
- /**
72
- * Add declarative audit definitions that are processed after the handler executes.
73
- * Similar to `.event()` for events, but for audits.
74
- *
75
- * @example
76
- * ```typescript
77
- * .audit<AppAuditAction>([
78
- * {
79
- * type: 'user.created',
80
- * payload: (response) => ({ userId: response.id, email: response.email }),
81
- * when: (response) => response.active,
82
- * entityId: (response) => response.id,
83
- * table: 'users',
84
- * },
85
- * ])
86
- * ```
87
- */
88
- audit(audits: MappedAudit<TAuditAction, OutSchema>[]): this;
89
- /**
90
- * Set the database service for this endpoint.
91
- * The database will be available in the handler context as `db`.
92
- * When audit storage is configured and uses the same database,
93
- * `db` will automatically be the transaction for ACID compliance.
94
- *
95
- * @example
96
- * ```typescript
97
- * .database(databaseService)
98
- * .handle(async ({ db }) => {
99
- * // db is the raw database or transaction (when auditor uses same db)
100
- * return await db.selectFrom('users').selectAll().execute();
101
- * })
102
- * ```
103
- */
104
- database<T, TName extends string>(service: Service<TName, T>): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, OutSchema, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, T, TName>;
105
- /**
106
- * Configure RLS (Row-Level Security) context for this endpoint.
107
- * Pass `false` or `RLS_BYPASS` to explicitly bypass RLS for this endpoint.
108
- *
109
- * @example
110
- * ```typescript
111
- * // Custom RLS config for this endpoint
112
- * .rls({
113
- * extractor: ({ session }) => ({
114
- * user_id: session.userId,
115
- * tenant_id: session.tenantId,
116
- * }),
117
- * prefix: 'app',
118
- * })
119
- *
120
- * // Bypass RLS (for admin endpoints)
121
- * .rls(false)
122
- * ```
123
- */
124
- rls(config: RlsConfig<TServices, TSession, TLogger> | false | RlsBypass): this;
125
- /**
126
- * Explicitly bypass RLS for this endpoint.
127
- * Useful for admin operations that need unrestricted database access.
128
- *
129
- * @example
130
- * ```typescript
131
- * .rlsBypass()
132
- * .handle(async ({ db }) => {
133
- * // Full access, no RLS filtering
134
- * return db.selectFrom('orders').selectAll().execute();
135
- * })
136
- * ```
137
- */
138
- rlsBypass(): this;
139
- input(_schema: any): any;
140
- handle(fn: EndpointHandler<TInput, TServices, TLogger, OutSchema, TSession, TDatabase, TAuditStorage, TAuditAction>): Endpoint<TRoute, TMethod, TInput, OutSchema, TServices, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
141
- }
142
- //# sourceMappingURL=EndpointBuilder.d.ts.map
143
-
144
- //#endregion
145
- export { EndpointBuilder };
146
- //# sourceMappingURL=EndpointBuilder-6kdrQyIh.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EndpointBuilder-6kdrQyIh.d.mts","names":[],"sources":["../src/endpoints/EndpointBuilder.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,146 +0,0 @@
1
- import { HttpMethod } from "./types-B5H3piDg.cjs";
2
- import { BaseFunctionBuilder } from "./BaseFunctionBuilder-C-4hYTfj.cjs";
3
- import { Authorizer, SecurityScheme } from "./Authorizer-DWtwC8we.cjs";
4
- import { ActorExtractor, AuthorizeFn, Endpoint, EndpointHandler, EndpointSchemas, MappedAudit, RlsBypass, RlsConfig, SessionFn, SuccessStatus } from "./Endpoint-CGdCGJkC.cjs";
5
- import { AuditStorage, AuditableAction, ExtractStorageAuditAction } from "@geekmidas/audit";
6
- import { EventPublisher, MappedEvent } from "@geekmidas/events";
7
- import { Logger } from "@geekmidas/logger";
8
- import { Service } from "@geekmidas/services";
9
- import { StandardSchemaV1 } from "@standard-schema/spec";
10
- import { RateLimitConfig } from "@geekmidas/rate-limit";
11
-
12
- //#region src/endpoints/EndpointBuilder.d.ts
13
-
14
- declare class EndpointBuilder<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuthorizers extends readonly string[] = readonly string[], TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, TDatabase = undefined, TDatabaseServiceName extends string = string> extends BaseFunctionBuilder<TInput, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName> {
15
- readonly route: TRoute;
16
- readonly method: TMethod;
17
- protected schemas: TInput;
18
- protected _description?: string;
19
- protected _status?: SuccessStatus;
20
- protected _tags?: string[];
21
- protected _memorySize?: number;
22
- _getSession: SessionFn<TServices, TLogger, TSession, TDatabase>;
23
- _authorize: AuthorizeFn<TServices, TLogger, TSession, TInput, TDatabase>;
24
- _rateLimit?: RateLimitConfig;
25
- _availableAuthorizers: Authorizer[];
26
- _authorizerName?: TAuthorizers[number];
27
- _actorExtractor?: ActorExtractor<TServices, TSession, TLogger>;
28
- _audits: MappedAudit<TAuditAction, OutSchema>[];
29
- _customSecuritySchemes: Record<string, SecurityScheme>;
30
- _rlsConfig?: RlsConfig<TServices, TSession, TLogger>;
31
- _rlsBypass?: boolean;
32
- constructor(route: TRoute, method: TMethod);
33
- _setPublisher(publisher: Service<TEventPublisherServiceName, TEventPublisher>): void;
34
- _setAuditorStorage(storage: Service<TAuditStorageServiceName, TAuditStorage>): void;
35
- _setDatabaseService(service: Service<TDatabaseServiceName, TDatabase>): void;
36
- description(description: string): this;
37
- status(status: SuccessStatus): this;
38
- event<TEvent extends MappedEvent<TEventPublisher, OutSchema>>(event: TEvent): this;
39
- tags(tags: string[]): this;
40
- memorySize(memorySize: number): this;
41
- publisher<T extends EventPublisher<any>, TName extends string>(publisher: Service<TName, T>): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, OutSchema, TSession, T, TName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
42
- body<T extends StandardSchemaV1>(schema: T): EndpointBuilder<TRoute, TMethod, Omit<TInput, 'body'> & {
43
- body: T;
44
- }, TServices, TLogger, OutSchema, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
45
- search<T extends StandardSchemaV1>(schema: T): EndpointBuilder<TRoute, TMethod, Omit<TInput, 'query'> & {
46
- query: T;
47
- }, TServices, TLogger, OutSchema, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
48
- query<T extends StandardSchemaV1>(schema: T): EndpointBuilder<TRoute, TMethod, Omit<TInput, 'query'> & {
49
- query: T;
50
- }, TServices, TLogger, OutSchema, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
51
- params<T extends StandardSchemaV1>(schema: T): EndpointBuilder<TRoute, TMethod, Omit<TInput, 'params'> & {
52
- params: T;
53
- }, TServices, TLogger, OutSchema, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
54
- authorize(fn: AuthorizeFn<TServices, TLogger, TSession, TInput, TDatabase>): this;
55
- rateLimit(config: RateLimitConfig): this;
56
- authorizer(name: TAuthorizers[number] | 'none'): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, OutSchema, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
57
- services<T extends Service[]>(services: T): EndpointBuilder<TRoute, TMethod, TInput, [...TServices, ...T], TLogger, OutSchema, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
58
- logger<T extends Logger>(logger: T): EndpointBuilder<TRoute, TMethod, TInput, TServices, T, OutSchema, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
59
- output<T extends StandardSchemaV1>(schema: T): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, T, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
60
- /**
61
- * Set the auditor storage service for this endpoint.
62
- * This enables audit functionality and makes `auditor` available in the handler context.
63
- * The audit action type is automatically inferred from the storage's generic parameter.
64
- */
65
- auditor<T extends AuditStorage<any>, TName extends string>(storage: Service<TName, T>): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, OutSchema, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, T, TName, ExtractStorageAuditAction<T>, TDatabase, TDatabaseServiceName>;
66
- /**
67
- * Set the actor extractor function for audit records.
68
- * The actor is extracted from the request context and attached to all audits.
69
- */
70
- actor(extractor: ActorExtractor<TServices, TSession, TLogger>): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, OutSchema, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
71
- /**
72
- * Add declarative audit definitions that are processed after the handler executes.
73
- * Similar to `.event()` for events, but for audits.
74
- *
75
- * @example
76
- * ```typescript
77
- * .audit<AppAuditAction>([
78
- * {
79
- * type: 'user.created',
80
- * payload: (response) => ({ userId: response.id, email: response.email }),
81
- * when: (response) => response.active,
82
- * entityId: (response) => response.id,
83
- * table: 'users',
84
- * },
85
- * ])
86
- * ```
87
- */
88
- audit(audits: MappedAudit<TAuditAction, OutSchema>[]): this;
89
- /**
90
- * Set the database service for this endpoint.
91
- * The database will be available in the handler context as `db`.
92
- * When audit storage is configured and uses the same database,
93
- * `db` will automatically be the transaction for ACID compliance.
94
- *
95
- * @example
96
- * ```typescript
97
- * .database(databaseService)
98
- * .handle(async ({ db }) => {
99
- * // db is the raw database or transaction (when auditor uses same db)
100
- * return await db.selectFrom('users').selectAll().execute();
101
- * })
102
- * ```
103
- */
104
- database<T, TName extends string>(service: Service<TName, T>): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, OutSchema, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, T, TName>;
105
- /**
106
- * Configure RLS (Row-Level Security) context for this endpoint.
107
- * Pass `false` or `RLS_BYPASS` to explicitly bypass RLS for this endpoint.
108
- *
109
- * @example
110
- * ```typescript
111
- * // Custom RLS config for this endpoint
112
- * .rls({
113
- * extractor: ({ session }) => ({
114
- * user_id: session.userId,
115
- * tenant_id: session.tenantId,
116
- * }),
117
- * prefix: 'app',
118
- * })
119
- *
120
- * // Bypass RLS (for admin endpoints)
121
- * .rls(false)
122
- * ```
123
- */
124
- rls(config: RlsConfig<TServices, TSession, TLogger> | false | RlsBypass): this;
125
- /**
126
- * Explicitly bypass RLS for this endpoint.
127
- * Useful for admin operations that need unrestricted database access.
128
- *
129
- * @example
130
- * ```typescript
131
- * .rlsBypass()
132
- * .handle(async ({ db }) => {
133
- * // Full access, no RLS filtering
134
- * return db.selectFrom('orders').selectAll().execute();
135
- * })
136
- * ```
137
- */
138
- rlsBypass(): this;
139
- input(_schema: any): any;
140
- handle(fn: EndpointHandler<TInput, TServices, TLogger, OutSchema, TSession, TDatabase, TAuditStorage, TAuditAction>): Endpoint<TRoute, TMethod, TInput, OutSchema, TServices, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
141
- }
142
- //# sourceMappingURL=EndpointBuilder.d.ts.map
143
-
144
- //#endregion
145
- export { EndpointBuilder };
146
- //# sourceMappingURL=EndpointBuilder-CSwIguiR.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EndpointBuilder-CSwIguiR.d.cts","names":[],"sources":["../src/endpoints/EndpointBuilder.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,268 +0,0 @@
1
- const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const require_Construct = require('./Construct-BXG8cFSm.cjs');
3
- const require_BaseFunctionBuilder = require('./BaseFunctionBuilder-DXf6HK-N.cjs');
4
- const require_Endpoint = require('./Endpoint-BcxvF4F3.cjs');
5
- const require_Authorizer = require('./Authorizer-BZ1LcZFt.cjs');
6
- const require_rls = require('./rls-Cfb6w-tQ.cjs');
7
- const lodash_uniqby = require_chunk.__toESM(require("lodash.uniqby"));
8
-
9
- //#region src/endpoints/EndpointBuilder.ts
10
- var EndpointBuilder = class extends require_BaseFunctionBuilder.BaseFunctionBuilder {
11
- schemas = {};
12
- _description;
13
- _status;
14
- _tags;
15
- _memorySize;
16
- _getSession = () => ({});
17
- _authorize = () => true;
18
- _rateLimit;
19
- _availableAuthorizers = [];
20
- _authorizerName;
21
- _actorExtractor;
22
- _audits = [];
23
- _customSecuritySchemes = {};
24
- _rlsConfig;
25
- _rlsBypass;
26
- constructor(route, method) {
27
- super(require_Construct.ConstructType.Endpoint);
28
- this.route = route;
29
- this.method = method;
30
- }
31
- _setPublisher(publisher) {
32
- this._publisher = publisher;
33
- }
34
- _setAuditorStorage(storage) {
35
- this._auditorStorage = storage;
36
- }
37
- _setDatabaseService(service) {
38
- this._databaseService = service;
39
- }
40
- description(description) {
41
- this._description = description;
42
- return this;
43
- }
44
- status(status) {
45
- this._status = status;
46
- return this;
47
- }
48
- event(event) {
49
- this._events.push(event);
50
- return this;
51
- }
52
- tags(tags) {
53
- this._tags = tags;
54
- return this;
55
- }
56
- memorySize(memorySize) {
57
- this._memorySize = memorySize;
58
- return this;
59
- }
60
- publisher(publisher) {
61
- this._publisher = publisher;
62
- return this;
63
- }
64
- body(schema) {
65
- this.schemas.body = schema;
66
- return this;
67
- }
68
- search(schema) {
69
- this.schemas.query = schema;
70
- return this;
71
- }
72
- query(schema) {
73
- return this.search(schema);
74
- }
75
- params(schema) {
76
- this.schemas.params = schema;
77
- return this;
78
- }
79
- authorize(fn) {
80
- this._authorize = fn;
81
- return this;
82
- }
83
- rateLimit(config) {
84
- this._rateLimit = config;
85
- return this;
86
- }
87
- authorizer(name) {
88
- if (name === "none") {
89
- this._authorizerName = void 0;
90
- return this;
91
- }
92
- const authorizerExists = this._availableAuthorizers.some((a) => a.name === name);
93
- if (!authorizerExists && this._availableAuthorizers.length > 0) {
94
- const available = this._availableAuthorizers.map((a) => a.name).join(", ");
95
- throw new Error(`Authorizer "${name}" not found in available authorizers: ${available}`);
96
- }
97
- this._authorizerName = name;
98
- return this;
99
- }
100
- services(services) {
101
- this._services = (0, lodash_uniqby.default)([...this._services, ...services], (s) => s.serviceName);
102
- return this;
103
- }
104
- logger(logger) {
105
- this._logger = logger;
106
- return this;
107
- }
108
- output(schema) {
109
- this.outputSchema = schema;
110
- return this;
111
- }
112
- /**
113
- * Set the auditor storage service for this endpoint.
114
- * This enables audit functionality and makes `auditor` available in the handler context.
115
- * The audit action type is automatically inferred from the storage's generic parameter.
116
- */
117
- auditor(storage) {
118
- this._auditorStorage = storage;
119
- return this;
120
- }
121
- /**
122
- * Set the actor extractor function for audit records.
123
- * The actor is extracted from the request context and attached to all audits.
124
- */
125
- actor(extractor) {
126
- this._actorExtractor = extractor;
127
- return this;
128
- }
129
- /**
130
- * Add declarative audit definitions that are processed after the handler executes.
131
- * Similar to `.event()` for events, but for audits.
132
- *
133
- * @example
134
- * ```typescript
135
- * .audit<AppAuditAction>([
136
- * {
137
- * type: 'user.created',
138
- * payload: (response) => ({ userId: response.id, email: response.email }),
139
- * when: (response) => response.active,
140
- * entityId: (response) => response.id,
141
- * table: 'users',
142
- * },
143
- * ])
144
- * ```
145
- */
146
- audit(audits) {
147
- this._audits = audits;
148
- return this;
149
- }
150
- /**
151
- * Set the database service for this endpoint.
152
- * The database will be available in the handler context as `db`.
153
- * When audit storage is configured and uses the same database,
154
- * `db` will automatically be the transaction for ACID compliance.
155
- *
156
- * @example
157
- * ```typescript
158
- * .database(databaseService)
159
- * .handle(async ({ db }) => {
160
- * // db is the raw database or transaction (when auditor uses same db)
161
- * return await db.selectFrom('users').selectAll().execute();
162
- * })
163
- * ```
164
- */
165
- database(service) {
166
- this._databaseService = service;
167
- return this;
168
- }
169
- /**
170
- * Configure RLS (Row-Level Security) context for this endpoint.
171
- * Pass `false` or `RLS_BYPASS` to explicitly bypass RLS for this endpoint.
172
- *
173
- * @example
174
- * ```typescript
175
- * // Custom RLS config for this endpoint
176
- * .rls({
177
- * extractor: ({ session }) => ({
178
- * user_id: session.userId,
179
- * tenant_id: session.tenantId,
180
- * }),
181
- * prefix: 'app',
182
- * })
183
- *
184
- * // Bypass RLS (for admin endpoints)
185
- * .rls(false)
186
- * ```
187
- */
188
- rls(config) {
189
- if (config === false || config === require_rls.RLS_BYPASS) {
190
- this._rlsBypass = true;
191
- this._rlsConfig = void 0;
192
- } else {
193
- this._rlsConfig = config;
194
- this._rlsBypass = false;
195
- }
196
- return this;
197
- }
198
- /**
199
- * Explicitly bypass RLS for this endpoint.
200
- * Useful for admin operations that need unrestricted database access.
201
- *
202
- * @example
203
- * ```typescript
204
- * .rlsBypass()
205
- * .handle(async ({ db }) => {
206
- * // Full access, no RLS filtering
207
- * return db.selectFrom('orders').selectAll().execute();
208
- * })
209
- * ```
210
- */
211
- rlsBypass() {
212
- this._rlsBypass = true;
213
- this._rlsConfig = void 0;
214
- return this;
215
- }
216
- input(_schema) {
217
- throw new Error("EndpointBuilder does not support generic input. Use body(), query(), or params() instead.");
218
- }
219
- handle(fn) {
220
- let authorizer;
221
- if (this._authorizerName) {
222
- const existingAuthorizer = this._availableAuthorizers.find((a) => a.name === this._authorizerName);
223
- if (existingAuthorizer) authorizer = existingAuthorizer;
224
- else {
225
- const securityScheme = require_Authorizer.getSecurityScheme(this._authorizerName, this._customSecuritySchemes);
226
- authorizer = {
227
- name: this._authorizerName,
228
- securityScheme
229
- };
230
- }
231
- }
232
- return new require_Endpoint.Endpoint({
233
- fn,
234
- method: this.method,
235
- route: this.route,
236
- description: this._description,
237
- tags: this._tags,
238
- input: this.schemas,
239
- output: this.outputSchema,
240
- services: this._services,
241
- logger: this._logger,
242
- timeout: this._timeout,
243
- memorySize: this._memorySize,
244
- authorize: this._authorize,
245
- status: this._status,
246
- getSession: this._getSession,
247
- rateLimit: this._rateLimit,
248
- publisherService: this._publisher,
249
- events: this._events,
250
- authorizer,
251
- auditorStorageService: this._auditorStorage,
252
- actorExtractor: this._actorExtractor,
253
- audits: this._audits,
254
- databaseService: this._databaseService,
255
- rlsConfig: this._rlsConfig,
256
- rlsBypass: this._rlsBypass
257
- });
258
- }
259
- };
260
-
261
- //#endregion
262
- Object.defineProperty(exports, 'EndpointBuilder', {
263
- enumerable: true,
264
- get: function () {
265
- return EndpointBuilder;
266
- }
267
- });
268
- //# sourceMappingURL=EndpointBuilder-EptJojG9.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EndpointBuilder-EptJojG9.cjs","names":["BaseFunctionBuilder","route: TRoute","method: TMethod","ConstructType","publisher: Service<TEventPublisherServiceName, TEventPublisher>","storage: Service<TAuditStorageServiceName, TAuditStorage>","service: Service<TDatabaseServiceName, TDatabase>","description: string","status: SuccessStatus","event: TEvent","tags: string[]","memorySize: number","publisher: Service<TName, T>","schema: T","fn: AuthorizeFn<TServices, TLogger, TSession, TInput, TDatabase>","config: RateLimitConfig","name: TAuthorizers[number] | 'none'","services: T","logger: T","storage: Service<TName, T>","extractor: ActorExtractor<TServices, TSession, TLogger>","audits: MappedAudit<TAuditAction, OutSchema>[]","service: Service<TName, T>","config: RlsConfig<TServices, TSession, TLogger> | false | RlsBypass","RLS_BYPASS","_schema: any","fn: EndpointHandler<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tTDatabase,\n\t\t\tTAuditStorage,\n\t\t\tTAuditAction\n\t\t>","authorizer: Authorizer | undefined","Endpoint"],"sources":["../src/endpoints/EndpointBuilder.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 type { RateLimitConfig } from '@geekmidas/rate-limit';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { BaseFunctionBuilder } from '../functions';\nimport type { HttpMethod } from '../types';\nimport type { Authorizer, SecurityScheme } from './Authorizer';\nimport { getSecurityScheme } from './Authorizer';\nimport type { ActorExtractor, MappedAudit } from './audit';\nimport type {\n\tAuthorizeFn,\n\tEndpointHandler,\n\tSessionFn,\n\tSuccessStatus,\n} from './Endpoint';\nimport { Endpoint, type EndpointSchemas } from './Endpoint';\nimport type { RlsBypass, RlsConfig } from './rls';\nimport { RLS_BYPASS } from './rls';\n\nexport class EndpointBuilder<\n\tTRoute extends string,\n\tTMethod extends HttpMethod,\n\tTInput extends EndpointSchemas = {},\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\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\tTAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n\t\tstring,\n\t\tunknown\n\t>,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n> extends BaseFunctionBuilder<\n\tTInput,\n\tOutSchema,\n\tTServices,\n\tTLogger,\n\tTEventPublisher,\n\tTEventPublisherServiceName,\n\tTAuditStorage,\n\tTAuditStorageServiceName,\n\tTDatabase,\n\tTDatabaseServiceName\n> {\n\tprotected schemas: TInput = {} as TInput;\n\tprotected _description?: string;\n\tprotected _status?: SuccessStatus;\n\tprotected _tags?: string[];\n\tprotected _memorySize?: number;\n\t_getSession: SessionFn<TServices, TLogger, TSession, TDatabase> = () =>\n\t\t({}) as TSession;\n\t_authorize: AuthorizeFn<TServices, TLogger, TSession, TInput, TDatabase> =\n\t\t() => true;\n\t_rateLimit?: RateLimitConfig;\n\t_availableAuthorizers: Authorizer[] = [];\n\t_authorizerName?: TAuthorizers[number];\n\t_actorExtractor?: ActorExtractor<TServices, TSession, TLogger>;\n\t_audits: MappedAudit<TAuditAction, OutSchema>[] = [];\n\t_customSecuritySchemes: Record<string, SecurityScheme> = {};\n\t_rlsConfig?: RlsConfig<TServices, TSession, TLogger>;\n\t_rlsBypass?: boolean;\n\n\tconstructor(\n\t\treadonly route: TRoute,\n\t\treadonly method: TMethod,\n\t) {\n\t\tsuper(ConstructType.Endpoint);\n\t}\n\n\t// Internal setter for EndpointFactory to set default publisher\n\t_setPublisher(\n\t\tpublisher: Service<TEventPublisherServiceName, TEventPublisher>,\n\t) {\n\t\tthis._publisher = publisher;\n\t}\n\n\t// Internal setter for EndpointFactory to set default auditor storage\n\t_setAuditorStorage(\n\t\tstorage: Service<TAuditStorageServiceName, TAuditStorage>,\n\t) {\n\t\tthis._auditorStorage = storage;\n\t}\n\n\t// Internal setter for EndpointFactory to set default database service\n\t_setDatabaseService(service: Service<TDatabaseServiceName, TDatabase>) {\n\t\tthis._databaseService = service;\n\t}\n\n\tdescription(description: string): this {\n\t\tthis._description = description;\n\t\treturn this;\n\t}\n\n\tstatus(status: SuccessStatus): this {\n\t\tthis._status = status;\n\t\treturn this;\n\t}\n\n\toverride event<TEvent extends MappedEvent<TEventPublisher, OutSchema>>(\n\t\tevent: TEvent,\n\t): this {\n\t\tthis._events.push(event);\n\t\treturn this;\n\t}\n\n\ttags(tags: string[]): this {\n\t\tthis._tags = tags;\n\t\treturn this;\n\t}\n\n\tmemorySize(memorySize: number): this {\n\t\tthis._memorySize = memorySize;\n\t\treturn this;\n\t}\n\n\toverride publisher<T extends EventPublisher<any>, TName extends string>(\n\t\tpublisher: Service<TName, T>,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTSession,\n\t\tT,\n\t\tTName,\n\t\tTAuthorizers,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tthis._publisher = publisher as unknown as Service<\n\t\t\tTEventPublisherServiceName,\n\t\t\tTEventPublisher\n\t\t>;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tT,\n\t\t\tTName,\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>;\n\t}\n\n\tbody<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tOmit<TInput, 'body'> & { body: T },\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\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\tthis.schemas.body = schema as unknown as T;\n\t\t// @ts-expect-error\n\t\treturn this;\n\t}\n\n\tsearch<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tOmit<TInput, 'query'> & { query: T },\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\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\tthis.schemas.query = schema as unknown as T;\n\t\t// @ts-expect-error\n\t\treturn this;\n\t}\n\n\tquery<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tOmit<TInput, 'query'> & { query: T },\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\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\treturn this.search(schema);\n\t}\n\n\tparams<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tOmit<TInput, 'params'> & { params: T },\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\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\tthis.schemas.params = schema as unknown as T;\n\t\t// @ts-expect-error\n\t\treturn this;\n\t}\n\n\tauthorize(\n\t\tfn: AuthorizeFn<TServices, TLogger, TSession, TInput, TDatabase>,\n\t): this {\n\t\tthis._authorize = fn;\n\t\treturn this;\n\t}\n\n\trateLimit(config: RateLimitConfig): this {\n\t\tthis._rateLimit = config;\n\t\treturn this;\n\t}\n\n\tauthorizer(\n\t\tname: TAuthorizers[number] | 'none',\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\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\t// Special case: 'none' explicitly marks endpoint as having no authorizer\n\t\tif (name === 'none') {\n\t\t\tthis._authorizerName = undefined;\n\t\t\treturn this;\n\t\t}\n\n\t\t// Validate that the authorizer exists in available authorizers\n\t\tconst authorizerExists = this._availableAuthorizers.some(\n\t\t\t(a) => a.name === name,\n\t\t);\n\t\tif (!authorizerExists && this._availableAuthorizers.length > 0) {\n\t\t\tconst available = this._availableAuthorizers\n\t\t\t\t.map((a) => a.name)\n\t\t\t\t.join(', ');\n\t\t\tthrow new Error(\n\t\t\t\t`Authorizer \"${name as string}\" not found in available authorizers: ${available}`,\n\t\t\t);\n\t\t}\n\t\tthis._authorizerName = name;\n\t\treturn this;\n\t}\n\n\tservices<T extends Service[]>(\n\t\tservices: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\t[...TServices, ...T],\n\t\tTLogger,\n\t\tOutSchema,\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\tthis._services = uniqBy(\n\t\t\t[...this._services, ...services],\n\t\t\t(s) => s.serviceName,\n\t\t) as TServices;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\t[...TServices, ...T],\n\t\t\tTLogger,\n\t\t\tOutSchema,\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>;\n\t}\n\n\tlogger<T extends Logger>(\n\t\tlogger: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tT,\n\t\tOutSchema,\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\tthis._logger = logger as unknown as TLogger;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tT,\n\t\t\tOutSchema,\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>;\n\t}\n\n\toutput<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tT,\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\tthis.outputSchema = schema as unknown as OutSchema;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tT,\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>;\n\t}\n\n\t/**\n\t * Set the auditor storage service for this endpoint.\n\t * This enables audit functionality and makes `auditor` available in the handler context.\n\t * The audit action type is automatically inferred from the storage's generic parameter.\n\t */\n\toverride auditor<T extends AuditStorage<any>, TName extends string>(\n\t\tstorage: Service<TName, T>,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\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> {\n\t\tthis._auditorStorage = storage as unknown as Service<\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditStorage\n\t\t>;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\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>;\n\t}\n\n\t/**\n\t * Set the actor extractor function for audit records.\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): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\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\tthis._actorExtractor = extractor;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Add declarative audit definitions that are processed after the handler executes.\n\t * Similar to `.event()` for events, but for audits.\n\t *\n\t * @example\n\t * ```typescript\n\t * .audit<AppAuditAction>([\n\t * {\n\t * type: 'user.created',\n\t * payload: (response) => ({ userId: response.id, email: response.email }),\n\t * when: (response) => response.active,\n\t * entityId: (response) => response.id,\n\t * table: 'users',\n\t * },\n\t * ])\n\t * ```\n\t */\n\taudit(audits: MappedAudit<TAuditAction, OutSchema>[]): this {\n\t\tthis._audits = audits;\n\t\treturn this;\n\t}\n\n\t/**\n\t * Set the database service for this endpoint.\n\t * The database will be available in the handler context as `db`.\n\t * When audit storage is configured and uses the same database,\n\t * `db` will automatically be the transaction for ACID compliance.\n\t *\n\t * @example\n\t * ```typescript\n\t * .database(databaseService)\n\t * .handle(async ({ db }) => {\n\t * // db is the raw database or transaction (when auditor uses same db)\n\t * return await db.selectFrom('users').selectAll().execute();\n\t * })\n\t * ```\n\t */\n\toverride database<T, TName extends string>(\n\t\tservice: Service<TName, T>,\n\t): EndpointBuilder<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\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> {\n\t\tthis._databaseService = service as unknown as Service<\n\t\t\tTDatabaseServiceName,\n\t\t\tTDatabase\n\t\t>;\n\n\t\treturn this as unknown as EndpointBuilder<\n\t\t\tTRoute,\n\t\t\tTMethod,\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\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>;\n\t}\n\n\t/**\n\t * Configure RLS (Row-Level Security) context for this endpoint.\n\t * Pass `false` or `RLS_BYPASS` to explicitly bypass RLS for this endpoint.\n\t *\n\t * @example\n\t * ```typescript\n\t * // Custom RLS config for this endpoint\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 * // Bypass RLS (for admin endpoints)\n\t * .rls(false)\n\t * ```\n\t */\n\trls(\n\t\tconfig: RlsConfig<TServices, TSession, TLogger> | false | RlsBypass,\n\t): this {\n\t\tif (config === false || config === RLS_BYPASS) {\n\t\t\tthis._rlsBypass = true;\n\t\t\tthis._rlsConfig = undefined;\n\t\t} else {\n\t\t\tthis._rlsConfig = config;\n\t\t\tthis._rlsBypass = false;\n\t\t}\n\t\treturn this;\n\t}\n\n\t/**\n\t * Explicitly bypass RLS for this endpoint.\n\t * Useful for admin operations that need unrestricted database access.\n\t *\n\t * @example\n\t * ```typescript\n\t * .rlsBypass()\n\t * .handle(async ({ db }) => {\n\t * // Full access, no RLS filtering\n\t * return db.selectFrom('orders').selectAll().execute();\n\t * })\n\t * ```\n\t */\n\trlsBypass(): this {\n\t\tthis._rlsBypass = true;\n\t\tthis._rlsConfig = undefined;\n\t\treturn this;\n\t}\n\n\t// EndpointBuilder doesn't have a generic input method - it uses body, query, params instead\n\tinput(_schema: any): any {\n\t\tthrow new Error(\n\t\t\t'EndpointBuilder does not support generic input. Use body(), query(), or params() instead.',\n\t\t);\n\t}\n\n\thandle(\n\t\tfn: EndpointHandler<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTSession,\n\t\t\tTDatabase,\n\t\t\tTAuditStorage,\n\t\t\tTAuditAction\n\t\t>,\n\t): Endpoint<\n\t\tTRoute,\n\t\tTMethod,\n\t\tTInput,\n\t\tOutSchema,\n\t\tTServices,\n\t\tTLogger,\n\t\tTSession,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTAuditStorage,\n\t\tTAuditStorageServiceName,\n\t\tTAuditAction,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\t// Find authorizer metadata if name is set\n\t\t// If the authorizer name is set but not in availableAuthorizers, create a simple authorizer object\n\t\tlet authorizer: Authorizer | undefined;\n\t\tif (this._authorizerName) {\n\t\t\tconst existingAuthorizer = this._availableAuthorizers.find(\n\t\t\t\t(a) => a.name === this._authorizerName,\n\t\t\t);\n\n\t\t\tif (existingAuthorizer) {\n\t\t\t\tauthorizer = existingAuthorizer;\n\t\t\t} else {\n\t\t\t\t// Create authorizer with security scheme if available (built-in or custom)\n\t\t\t\tconst securityScheme = getSecurityScheme(\n\t\t\t\t\tthis._authorizerName as string,\n\t\t\t\t\tthis._customSecuritySchemes,\n\t\t\t\t);\n\t\t\t\tauthorizer = {\n\t\t\t\t\tname: this._authorizerName as string,\n\t\t\t\t\tsecurityScheme,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn new Endpoint({\n\t\t\tfn,\n\t\t\tmethod: this.method,\n\t\t\troute: this.route,\n\t\t\tdescription: this._description,\n\t\t\ttags: this._tags,\n\t\t\tinput: this.schemas,\n\t\t\toutput: this.outputSchema,\n\t\t\tservices: this._services,\n\t\t\tlogger: this._logger,\n\t\t\ttimeout: this._timeout,\n\t\t\tmemorySize: this._memorySize,\n\t\t\tauthorize: this._authorize,\n\t\t\tstatus: this._status,\n\t\t\tgetSession: this._getSession,\n\t\t\trateLimit: this._rateLimit,\n\t\t\tpublisherService: this._publisher,\n\t\t\tevents: this._events,\n\t\t\tauthorizer,\n\t\t\tauditorStorageService: this._auditorStorage,\n\t\t\tactorExtractor: this._actorExtractor,\n\t\t\taudits: this._audits,\n\t\t\tdatabaseService: this._databaseService,\n\t\t\trlsConfig: this._rlsConfig,\n\t\t\trlsBypass: this._rlsBypass,\n\t\t});\n\t}\n}\n"],"mappings":"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"}