@geekmidas/constructs 3.0.6 → 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 (449) hide show
  1. package/CHANGELOG.md +15 -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-C2SyofdS.d.mts → Construct-CXqvzglu.d.cts} +11 -6
  5. package/dist/{Construct-C2SyofdS.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-DtFQFL63.d.mts → Endpoint-C991gK3T.d.cts} +133 -30
  11. package/dist/Endpoint-C991gK3T.d.cts.map +1 -0
  12. package/dist/{Endpoint-CGdCGJkC.d.cts → Endpoint-CRHpLPV3.d.mts} +133 -30
  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-BgB3RRxb.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 -15
  37. package/dist/adaptors/testing.cjs.map +1 -0
  38. package/dist/adaptors/testing.d.cts +177 -13
  39. package/dist/adaptors/testing.d.cts.map +1 -0
  40. package/dist/adaptors/testing.d.mts +177 -13
  41. package/dist/adaptors/testing.d.mts.map +1 -0
  42. package/dist/adaptors/testing.mjs +389 -14
  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-BTaiRqPo.d.cts.map → telemetry-Bt0vK4ma.d.cts.map} +1 -1
  94. package/dist/{telemetry-C-kNOW3C.d.mts → telemetry-COvVBKBM.d.mts} +1 -1
  95. package/dist/{telemetry-C-kNOW3C.d.mts.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-aFmq5cKh.d.mts → types-BA3eK4xj.d.mts} +1 -1
  99. package/dist/{types-aFmq5cKh.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 +18 -13
  103. package/src/Construct.ts +26 -8
  104. package/src/__tests__/Construct.environment.spec.ts +123 -0
  105. package/src/adaptors/testing.ts +7 -0
  106. package/src/endpoints/MswEndpointAdaptor.ts +226 -0
  107. package/src/endpoints/__tests__/MswEndpointAdaptor.spec.ts +211 -0
  108. package/tsdown.config.ts +30 -1
  109. package/dist/AWSLambdaFunction-BF1gJJjG.d.mts +0 -32
  110. package/dist/AWSLambdaFunction-BF1gJJjG.d.mts.map +0 -1
  111. package/dist/AWSLambdaFunction-CPEAl5nZ.cjs +0 -120
  112. package/dist/AWSLambdaFunction-CPEAl5nZ.cjs.map +0 -1
  113. package/dist/AWSLambdaFunction-DJiCAPAf.mjs +0 -114
  114. package/dist/AWSLambdaFunction-DJiCAPAf.mjs.map +0 -1
  115. package/dist/AWSLambdaFunction-tzqv5XU6.d.cts +0 -32
  116. package/dist/AWSLambdaFunction-tzqv5XU6.d.cts.map +0 -1
  117. package/dist/AWSLambdaSubscriberAdaptor-Cj1wjkUP.d.cts +0 -36
  118. package/dist/AWSLambdaSubscriberAdaptor-Cj1wjkUP.d.cts.map +0 -1
  119. package/dist/AWSLambdaSubscriberAdaptor-OQvj2lKI.d.mts +0 -36
  120. package/dist/AWSLambdaSubscriberAdaptor-OQvj2lKI.d.mts.map +0 -1
  121. package/dist/AWSLambdaSubscriberAdaptor-RKwKYLl1.mjs +0 -172
  122. package/dist/AWSLambdaSubscriberAdaptor-RKwKYLl1.mjs.map +0 -1
  123. package/dist/AWSLambdaSubscriberAdaptor-eZ3qoKvK.cjs +0 -178
  124. package/dist/AWSLambdaSubscriberAdaptor-eZ3qoKvK.cjs.map +0 -1
  125. package/dist/AmazonApiGatewayEndpointAdaptor-BIltcbAc.cjs +0 -277
  126. package/dist/AmazonApiGatewayEndpointAdaptor-BIltcbAc.cjs.map +0 -1
  127. package/dist/AmazonApiGatewayEndpointAdaptor-BpYtYCeW.mjs +0 -271
  128. package/dist/AmazonApiGatewayEndpointAdaptor-BpYtYCeW.mjs.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/AmazonApiGatewayEndpointAdaptor-Hi8Pbp2d.d.mts +0 -124
  132. package/dist/AmazonApiGatewayEndpointAdaptor-Hi8Pbp2d.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/AmazonApiGatewayV1EndpointAdaptor-cpwJzU4W.d.mts +0 -23
  140. package/dist/AmazonApiGatewayV1EndpointAdaptor-cpwJzU4W.d.mts.map +0 -1
  141. package/dist/AmazonApiGatewayV2EndpointAdaptor-C2qO8FN6.cjs +0 -48
  142. package/dist/AmazonApiGatewayV2EndpointAdaptor-C2qO8FN6.cjs.map +0 -1
  143. package/dist/AmazonApiGatewayV2EndpointAdaptor-Cn9UoRgB.d.cts +0 -22
  144. package/dist/AmazonApiGatewayV2EndpointAdaptor-Cn9UoRgB.d.cts.map +0 -1
  145. package/dist/AmazonApiGatewayV2EndpointAdaptor-LzH3hkB-.d.mts +0 -22
  146. package/dist/AmazonApiGatewayV2EndpointAdaptor-LzH3hkB-.d.mts.map +0 -1
  147. package/dist/AmazonApiGatewayV2EndpointAdaptor-m9YKI294.mjs +0 -42
  148. package/dist/AmazonApiGatewayV2EndpointAdaptor-m9YKI294.mjs.map +0 -1
  149. package/dist/Authorizer-4unKN3Xn.mjs +0 -68
  150. package/dist/Authorizer-4unKN3Xn.mjs.map +0 -1
  151. package/dist/Authorizer-DBsrDTuf.d.mts +0 -126
  152. package/dist/Authorizer-DBsrDTuf.d.mts.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/Authorizer-Dx57psuM.cjs +0 -92
  156. package/dist/Authorizer-Dx57psuM.cjs.map +0 -1
  157. package/dist/BaseFunctionBuilder-C-4hYTfj.d.cts +0 -42
  158. package/dist/BaseFunctionBuilder-C-4hYTfj.d.cts.map +0 -1
  159. package/dist/BaseFunctionBuilder-C3rQMoWb.mjs +0 -70
  160. package/dist/BaseFunctionBuilder-C3rQMoWb.mjs.map +0 -1
  161. package/dist/BaseFunctionBuilder-CsvFjzA8.d.mts +0 -42
  162. package/dist/BaseFunctionBuilder-CsvFjzA8.d.mts.map +0 -1
  163. package/dist/BaseFunctionBuilder-DXf6HK-N.cjs +0 -76
  164. package/dist/BaseFunctionBuilder-DXf6HK-N.cjs.map +0 -1
  165. package/dist/Construct-BXG8cFSm.cjs.map +0 -1
  166. package/dist/Construct-CQ9zV58W.mjs.map +0 -1
  167. package/dist/Construct-CX7HyFfT.d.cts.map +0 -1
  168. package/dist/Construct.cjs +0 -6
  169. package/dist/Construct.d.cts +0 -2
  170. package/dist/Construct.d.mts +0 -2
  171. package/dist/Construct.mjs +0 -3
  172. package/dist/Cron-B3vrGuaD.mjs +0 -20
  173. package/dist/Cron-B3vrGuaD.mjs.map +0 -1
  174. package/dist/Cron-BDxW6fYg.d.cts +0 -26
  175. package/dist/Cron-BDxW6fYg.d.cts.map +0 -1
  176. package/dist/Cron-CWxjO2Fg.d.mts +0 -26
  177. package/dist/Cron-CWxjO2Fg.d.mts.map +0 -1
  178. package/dist/Cron-DEKZg5j4.cjs +0 -25
  179. package/dist/Cron-DEKZg5j4.cjs.map +0 -1
  180. package/dist/CronBuilder-BHpY6w3b.cjs +0 -74
  181. package/dist/CronBuilder-BHpY6w3b.cjs.map +0 -1
  182. package/dist/CronBuilder-CginrW3H.d.cts +0 -32
  183. package/dist/CronBuilder-CginrW3H.d.cts.map +0 -1
  184. package/dist/CronBuilder-DJnXbDGK.d.mts +0 -32
  185. package/dist/CronBuilder-DJnXbDGK.d.mts.map +0 -1
  186. package/dist/CronBuilder-VXpyNfp2.mjs +0 -68
  187. package/dist/CronBuilder-VXpyNfp2.mjs.map +0 -1
  188. package/dist/Endpoint-BcxvF4F3.cjs +0 -440
  189. package/dist/Endpoint-BcxvF4F3.cjs.map +0 -1
  190. package/dist/Endpoint-CGdCGJkC.d.cts.map +0 -1
  191. package/dist/Endpoint-DtFQFL63.d.mts.map +0 -1
  192. package/dist/Endpoint-DvY3aqAy.mjs +0 -422
  193. package/dist/Endpoint-DvY3aqAy.mjs.map +0 -1
  194. package/dist/EndpointBuilder-CMzbGG2c.mjs +0 -262
  195. package/dist/EndpointBuilder-CMzbGG2c.mjs.map +0 -1
  196. package/dist/EndpointBuilder-DIAsH97h.d.mts +0 -146
  197. package/dist/EndpointBuilder-DIAsH97h.d.mts.map +0 -1
  198. package/dist/EndpointBuilder-Dzqcm8Yv.d.cts +0 -146
  199. package/dist/EndpointBuilder-Dzqcm8Yv.d.cts.map +0 -1
  200. package/dist/EndpointBuilder-QdDf3x87.cjs +0 -268
  201. package/dist/EndpointBuilder-QdDf3x87.cjs.map +0 -1
  202. package/dist/EndpointFactory-AsfUsn-v.cjs +0 -393
  203. package/dist/EndpointFactory-AsfUsn-v.cjs.map +0 -1
  204. package/dist/EndpointFactory-C1rh407J.d.cts +0 -142
  205. package/dist/EndpointFactory-C1rh407J.d.cts.map +0 -1
  206. package/dist/EndpointFactory-CkPaFZA0.mjs +0 -381
  207. package/dist/EndpointFactory-CkPaFZA0.mjs.map +0 -1
  208. package/dist/EndpointFactory-pCuCu_1H.d.mts +0 -142
  209. package/dist/EndpointFactory-pCuCu_1H.d.mts.map +0 -1
  210. package/dist/Function-CZw1DRQ6.d.mts +0 -76
  211. package/dist/Function-CZw1DRQ6.d.mts.map +0 -1
  212. package/dist/Function-CwlB89lS.d.cts +0 -76
  213. package/dist/Function-CwlB89lS.d.cts.map +0 -1
  214. package/dist/Function-DgQ_no6B.cjs +0 -84
  215. package/dist/Function-DgQ_no6B.cjs.map +0 -1
  216. package/dist/Function-xfQbftdE.mjs +0 -72
  217. package/dist/Function-xfQbftdE.mjs.map +0 -1
  218. package/dist/FunctionBuilder-CBeqX18X.mjs +0 -80
  219. package/dist/FunctionBuilder-CBeqX18X.mjs.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/FunctionBuilder-m5BNA2Ap.d.mts +0 -40
  225. package/dist/FunctionBuilder-m5BNA2Ap.d.mts.map +0 -1
  226. package/dist/FunctionExecutionWrapper-B0ZAssiy.mjs +0 -101
  227. package/dist/FunctionExecutionWrapper-B0ZAssiy.mjs.map +0 -1
  228. package/dist/FunctionExecutionWrapper-C7yYXIq-.d.mts +0 -50
  229. package/dist/FunctionExecutionWrapper-C7yYXIq-.d.mts.map +0 -1
  230. package/dist/FunctionExecutionWrapper-Cg8HjuHL.d.cts +0 -50
  231. package/dist/FunctionExecutionWrapper-Cg8HjuHL.d.cts.map +0 -1
  232. package/dist/FunctionExecutionWrapper-KKHP6fDY.cjs +0 -107
  233. package/dist/FunctionExecutionWrapper-KKHP6fDY.cjs.map +0 -1
  234. package/dist/HonoEndpointAdaptor-B5fKdLi7.cjs.map +0 -1
  235. package/dist/HonoEndpointAdaptor-BXga7Jqh.d.mts +0 -50
  236. package/dist/HonoEndpointAdaptor-BXga7Jqh.d.mts.map +0 -1
  237. package/dist/HonoEndpointAdaptor-D3IgM-0B.d.cts +0 -50
  238. package/dist/HonoEndpointAdaptor-D3IgM-0B.d.cts.map +0 -1
  239. package/dist/HonoEndpointAdaptor-DOUODM7n.mjs.map +0 -1
  240. package/dist/Subscriber-BEhOdNQi.mjs +0 -28
  241. package/dist/Subscriber-BEhOdNQi.mjs.map +0 -1
  242. package/dist/Subscriber-BgB3RRxb.d.mts.map +0 -1
  243. package/dist/Subscriber-Scz7hrV6.cjs +0 -34
  244. package/dist/Subscriber-Scz7hrV6.cjs.map +0 -1
  245. package/dist/SubscriberBuilder-B82h4v-S.cjs +0 -60
  246. package/dist/SubscriberBuilder-B82h4v-S.cjs.map +0 -1
  247. package/dist/SubscriberBuilder-B9uva8fZ.d.cts +0 -28
  248. package/dist/SubscriberBuilder-B9uva8fZ.d.cts.map +0 -1
  249. package/dist/SubscriberBuilder-DaQkh2Nt.d.mts +0 -28
  250. package/dist/SubscriberBuilder-DaQkh2Nt.d.mts.map +0 -1
  251. package/dist/SubscriberBuilder-DlUaG0Ej.mjs +0 -54
  252. package/dist/SubscriberBuilder-DlUaG0Ej.mjs.map +0 -1
  253. package/dist/TestEndpointAdaptor-Clz_L8Xj.d.cts +0 -45
  254. package/dist/TestEndpointAdaptor-Clz_L8Xj.d.cts.map +0 -1
  255. package/dist/TestEndpointAdaptor-DxXJoBBf.d.mts +0 -45
  256. package/dist/TestEndpointAdaptor-DxXJoBBf.d.mts.map +0 -1
  257. package/dist/TestEndpointAdaptor-G2T789bH.mjs +0 -174
  258. package/dist/TestEndpointAdaptor-G2T789bH.mjs.map +0 -1
  259. package/dist/TestEndpointAdaptor-YlwOEisx.cjs +0 -180
  260. package/dist/TestEndpointAdaptor-YlwOEisx.cjs.map +0 -1
  261. package/dist/TestFunctionAdaptor-BHk2bDOV.d.cts +0 -30
  262. package/dist/TestFunctionAdaptor-BHk2bDOV.d.cts.map +0 -1
  263. package/dist/TestFunctionAdaptor-C5CLuR-9.mjs +0 -75
  264. package/dist/TestFunctionAdaptor-C5CLuR-9.mjs.map +0 -1
  265. package/dist/TestFunctionAdaptor-CH6-gO_B.cjs +0 -81
  266. package/dist/TestFunctionAdaptor-CH6-gO_B.cjs.map +0 -1
  267. package/dist/TestFunctionAdaptor-DzT8GRdR.d.mts +0 -30
  268. package/dist/TestFunctionAdaptor-DzT8GRdR.d.mts.map +0 -1
  269. package/dist/TestSubscriberAdaptor-CPEiqSfE.d.mts +0 -26
  270. package/dist/TestSubscriberAdaptor-CPEiqSfE.d.mts.map +0 -1
  271. package/dist/TestSubscriberAdaptor-CwP3qNJ4.mjs +0 -51
  272. package/dist/TestSubscriberAdaptor-CwP3qNJ4.mjs.map +0 -1
  273. package/dist/TestSubscriberAdaptor-DQk5xzb0.d.cts +0 -26
  274. package/dist/TestSubscriberAdaptor-DQk5xzb0.d.cts.map +0 -1
  275. package/dist/TestSubscriberAdaptor-Dgxr_0vL.cjs +0 -57
  276. package/dist/TestSubscriberAdaptor-Dgxr_0vL.cjs.map +0 -1
  277. package/dist/chunk-CUT6urMc.cjs +0 -30
  278. package/dist/crons/Cron.cjs +0 -8
  279. package/dist/crons/Cron.d.cts +0 -7
  280. package/dist/crons/Cron.d.mts +0 -7
  281. package/dist/crons/Cron.mjs +0 -8
  282. package/dist/crons/CronBuilder.cjs +0 -9
  283. package/dist/crons/CronBuilder.d.cts +0 -8
  284. package/dist/crons/CronBuilder.d.mts +0 -8
  285. package/dist/crons/CronBuilder.mjs +0 -9
  286. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +0 -11
  287. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +0 -11
  288. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +0 -11
  289. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +0 -11
  290. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +0 -13
  291. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +0 -12
  292. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +0 -12
  293. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +0 -13
  294. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +0 -13
  295. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +0 -12
  296. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +0 -12
  297. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +0 -13
  298. package/dist/endpoints/Authorizer.cjs +0 -6
  299. package/dist/endpoints/Authorizer.d.cts +0 -2
  300. package/dist/endpoints/Authorizer.d.mts +0 -2
  301. package/dist/endpoints/Authorizer.mjs +0 -3
  302. package/dist/endpoints/Endpoint.cjs +0 -10
  303. package/dist/endpoints/Endpoint.d.cts +0 -9
  304. package/dist/endpoints/Endpoint.d.mts +0 -9
  305. package/dist/endpoints/Endpoint.mjs +0 -8
  306. package/dist/endpoints/EndpointBuilder.cjs +0 -11
  307. package/dist/endpoints/EndpointBuilder.d.cts +0 -10
  308. package/dist/endpoints/EndpointBuilder.d.mts +0 -10
  309. package/dist/endpoints/EndpointBuilder.mjs +0 -11
  310. package/dist/endpoints/EndpointFactory.cjs +0 -13
  311. package/dist/endpoints/EndpointFactory.d.cts +0 -11
  312. package/dist/endpoints/EndpointFactory.d.mts +0 -11
  313. package/dist/endpoints/EndpointFactory.mjs +0 -12
  314. package/dist/endpoints/HonoEndpointAdaptor.cjs +0 -14
  315. package/dist/endpoints/HonoEndpointAdaptor.d.cts +0 -10
  316. package/dist/endpoints/HonoEndpointAdaptor.d.mts +0 -10
  317. package/dist/endpoints/HonoEndpointAdaptor.mjs +0 -14
  318. package/dist/endpoints/TestEndpointAdaptor.cjs +0 -12
  319. package/dist/endpoints/TestEndpointAdaptor.d.cts +0 -10
  320. package/dist/endpoints/TestEndpointAdaptor.d.mts +0 -10
  321. package/dist/endpoints/TestEndpointAdaptor.mjs +0 -12
  322. package/dist/endpoints/audit.cjs +0 -0
  323. package/dist/endpoints/audit.d.cts +0 -9
  324. package/dist/endpoints/audit.d.mts +0 -9
  325. package/dist/endpoints/audit.mjs +0 -0
  326. package/dist/endpoints/helpers.cjs +0 -10
  327. package/dist/endpoints/helpers.d.cts +0 -60
  328. package/dist/endpoints/helpers.d.cts.map +0 -1
  329. package/dist/endpoints/helpers.d.mts +0 -60
  330. package/dist/endpoints/helpers.d.mts.map +0 -1
  331. package/dist/endpoints/helpers.mjs +0 -9
  332. package/dist/endpoints/lazyAccessors.cjs +0 -10
  333. package/dist/endpoints/lazyAccessors.d.cts +0 -10
  334. package/dist/endpoints/lazyAccessors.d.mts +0 -10
  335. package/dist/endpoints/lazyAccessors.mjs +0 -3
  336. package/dist/endpoints/parseHonoQuery.cjs +0 -3
  337. package/dist/endpoints/parseHonoQuery.d.cts +0 -14
  338. package/dist/endpoints/parseHonoQuery.d.cts.map +0 -1
  339. package/dist/endpoints/parseHonoQuery.d.mts +0 -14
  340. package/dist/endpoints/parseHonoQuery.d.mts.map +0 -1
  341. package/dist/endpoints/parseHonoQuery.mjs +0 -3
  342. package/dist/endpoints/parseQueryParams.cjs +0 -3
  343. package/dist/endpoints/parseQueryParams.d.cts +0 -14
  344. package/dist/endpoints/parseQueryParams.d.cts.map +0 -1
  345. package/dist/endpoints/parseQueryParams.d.mts +0 -14
  346. package/dist/endpoints/parseQueryParams.d.mts.map +0 -1
  347. package/dist/endpoints/parseQueryParams.mjs +0 -3
  348. package/dist/endpoints/processAudits.cjs +0 -5
  349. package/dist/endpoints/processAudits.d.cts +0 -95
  350. package/dist/endpoints/processAudits.d.cts.map +0 -1
  351. package/dist/endpoints/processAudits.d.mts +0 -95
  352. package/dist/endpoints/processAudits.d.mts.map +0 -1
  353. package/dist/endpoints/processAudits.mjs +0 -3
  354. package/dist/endpoints/rls.cjs +0 -3
  355. package/dist/endpoints/rls.d.cts +0 -9
  356. package/dist/endpoints/rls.d.mts +0 -9
  357. package/dist/endpoints/rls.mjs +0 -3
  358. package/dist/functions/AWSLambdaFunction.cjs +0 -9
  359. package/dist/functions/AWSLambdaFunction.d.cts +0 -5
  360. package/dist/functions/AWSLambdaFunction.d.mts +0 -5
  361. package/dist/functions/AWSLambdaFunction.mjs +0 -9
  362. package/dist/functions/BaseFunctionBuilder.cjs +0 -4
  363. package/dist/functions/BaseFunctionBuilder.d.cts +0 -3
  364. package/dist/functions/BaseFunctionBuilder.d.mts +0 -3
  365. package/dist/functions/BaseFunctionBuilder.mjs +0 -4
  366. package/dist/functions/Function.cjs +0 -5
  367. package/dist/functions/Function.d.cts +0 -3
  368. package/dist/functions/Function.d.mts +0 -3
  369. package/dist/functions/Function.mjs +0 -4
  370. package/dist/functions/FunctionBuilder.cjs +0 -6
  371. package/dist/functions/FunctionBuilder.d.cts +0 -5
  372. package/dist/functions/FunctionBuilder.d.mts +0 -5
  373. package/dist/functions/FunctionBuilder.mjs +0 -6
  374. package/dist/functions/FunctionExecutionWrapper.cjs +0 -8
  375. package/dist/functions/FunctionExecutionWrapper.d.cts +0 -4
  376. package/dist/functions/FunctionExecutionWrapper.d.mts +0 -4
  377. package/dist/functions/FunctionExecutionWrapper.mjs +0 -8
  378. package/dist/functions/TestFunctionAdaptor.cjs +0 -8
  379. package/dist/functions/TestFunctionAdaptor.d.cts +0 -4
  380. package/dist/functions/TestFunctionAdaptor.d.mts +0 -4
  381. package/dist/functions/TestFunctionAdaptor.mjs +0 -8
  382. package/dist/functions-B1mrMoUH.mjs +0 -8
  383. package/dist/functions-B1mrMoUH.mjs.map +0 -1
  384. package/dist/functions-rOD3pXQd.cjs +0 -13
  385. package/dist/functions-rOD3pXQd.cjs.map +0 -1
  386. package/dist/helpers-BYyX0qTA.cjs +0 -95
  387. package/dist/helpers-BYyX0qTA.cjs.map +0 -1
  388. package/dist/helpers-BtwC2IW8.mjs +0 -83
  389. package/dist/helpers-BtwC2IW8.mjs.map +0 -1
  390. package/dist/index-BfeupgMl.d.cts +0 -12
  391. package/dist/index-BfeupgMl.d.cts.map +0 -1
  392. package/dist/index-DQo_Csy7.d.mts +0 -12
  393. package/dist/index-DQo_Csy7.d.mts.map +0 -1
  394. package/dist/lazyAccessors-BVEtB9lU.cjs +0 -223
  395. package/dist/lazyAccessors-BVEtB9lU.cjs.map +0 -1
  396. package/dist/lazyAccessors-Bled3FVc.d.mts +0 -49
  397. package/dist/lazyAccessors-Bled3FVc.d.mts.map +0 -1
  398. package/dist/lazyAccessors-C8AF1hNi.d.cts +0 -49
  399. package/dist/lazyAccessors-C8AF1hNi.d.cts.map +0 -1
  400. package/dist/lazyAccessors-DM6HcXQk.mjs +0 -175
  401. package/dist/lazyAccessors-DM6HcXQk.mjs.map +0 -1
  402. package/dist/parseHonoQuery-BBs8CX-H.cjs +0 -24
  403. package/dist/parseHonoQuery-BBs8CX-H.cjs.map +0 -1
  404. package/dist/parseHonoQuery-Cp8CII0P.mjs +0 -18
  405. package/dist/parseHonoQuery-Cp8CII0P.mjs.map +0 -1
  406. package/dist/parseQueryParams-B4RK1za3.cjs +0 -31
  407. package/dist/parseQueryParams-B4RK1za3.cjs.map +0 -1
  408. package/dist/parseQueryParams-DS3Qmrbd.mjs +0 -25
  409. package/dist/parseQueryParams-DS3Qmrbd.mjs.map +0 -1
  410. package/dist/processAudits-CzHkPokQ.cjs +0 -180
  411. package/dist/processAudits-CzHkPokQ.cjs.map +0 -1
  412. package/dist/processAudits-Dj8UGqcW.mjs +0 -162
  413. package/dist/processAudits-Dj8UGqcW.mjs.map +0 -1
  414. package/dist/publisher-BrzPGnm4.d.cts +0 -16
  415. package/dist/publisher-BrzPGnm4.d.cts.map +0 -1
  416. package/dist/publisher-Bw4770Hi.mjs +0 -41
  417. package/dist/publisher-Bw4770Hi.mjs.map +0 -1
  418. package/dist/publisher-CP4gpv-4.d.mts +0 -16
  419. package/dist/publisher-CP4gpv-4.d.mts.map +0 -1
  420. package/dist/publisher-lFQleddL.cjs +0 -53
  421. package/dist/publisher-lFQleddL.cjs.map +0 -1
  422. package/dist/publisher.cjs +0 -4
  423. package/dist/publisher.d.cts +0 -3
  424. package/dist/publisher.d.mts +0 -3
  425. package/dist/publisher.mjs +0 -3
  426. package/dist/rls-7XXX7DvY.mjs +0 -9
  427. package/dist/rls-7XXX7DvY.mjs.map +0 -1
  428. package/dist/rls-DxFqdIA0.cjs +0 -15
  429. package/dist/rls-DxFqdIA0.cjs.map +0 -1
  430. package/dist/subscribers/AWSLambdaSubscriberAdaptor.cjs +0 -3
  431. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.cts +0 -4
  432. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +0 -4
  433. package/dist/subscribers/AWSLambdaSubscriberAdaptor.mjs +0 -3
  434. package/dist/subscribers/Subscriber.cjs +0 -4
  435. package/dist/subscribers/Subscriber.d.cts +0 -3
  436. package/dist/subscribers/Subscriber.d.mts +0 -3
  437. package/dist/subscribers/Subscriber.mjs +0 -4
  438. package/dist/subscribers/SubscriberBuilder.cjs +0 -5
  439. package/dist/subscribers/SubscriberBuilder.d.cts +0 -4
  440. package/dist/subscribers/SubscriberBuilder.d.mts +0 -4
  441. package/dist/subscribers/SubscriberBuilder.mjs +0 -5
  442. package/dist/subscribers/TestSubscriberAdaptor.cjs +0 -4
  443. package/dist/subscribers/TestSubscriberAdaptor.d.cts +0 -4
  444. package/dist/subscribers/TestSubscriberAdaptor.d.mts +0 -4
  445. package/dist/subscribers/TestSubscriberAdaptor.mjs +0 -4
  446. package/dist/telemetry.cjs +0 -0
  447. package/dist/telemetry.d.cts +0 -2
  448. package/dist/telemetry.d.mts +0 -2
  449. package/dist/telemetry.mjs +0 -0
@@ -1,16 +1,710 @@
1
- import "../Construct-CQ9zV58W.mjs";
2
- import { publishConstructEvents } from "../publisher-Bw4770Hi.mjs";
3
- import "../BaseFunctionBuilder-C3rQMoWb.mjs";
4
- import "../Function-xfQbftdE.mjs";
5
- import "../FunctionBuilder-CBeqX18X.mjs";
6
- import "../functions-B1mrMoUH.mjs";
7
- import { Endpoint, ResponseBuilder } from "../Endpoint-DvY3aqAy.mjs";
8
- import { createApiGatewayCookies, createApiGatewayHeaders, createHonoCookies, createHonoHeaders, createNoopCookies, createNoopHeaders } from "../lazyAccessors-DM6HcXQk.mjs";
9
- import { BUILT_IN_SECURITY_SCHEMES, createAuthorizer, getSecurityScheme, isBuiltInSecurityScheme } from "../Authorizer-4unKN3Xn.mjs";
10
- import { RLS_BYPASS } from "../rls-7XXX7DvY.mjs";
11
- import { EndpointBuilder } from "../EndpointBuilder-CMzbGG2c.mjs";
12
- import { EndpointFactory } from "../EndpointFactory-CkPaFZA0.mjs";
1
+ import { ConstructType, __toESM } from "../Construct-CdJY2DJS.mjs";
2
+ import { Endpoint, ResponseBuilder, createApiGatewayCookies, createApiGatewayHeaders, createHonoCookies, createHonoHeaders, createNoopCookies, createNoopHeaders, publishConstructEvents } from "../lazyAccessors-CJZYs9uM.mjs";
3
+ import { BaseFunctionBuilder, require_lodash } from "../functions-GmSHFbpr.mjs";
4
+ import { ConsoleLogger } from "@geekmidas/logger/console";
13
5
 
6
+ //#region src/endpoints/Authorizer.ts
7
+ /**
8
+ * Built-in security schemes available by default.
9
+ * Users can use these without defining them via .securitySchemes().
10
+ */
11
+ const BUILT_IN_SECURITY_SCHEMES = {
12
+ jwt: {
13
+ type: "http",
14
+ scheme: "bearer",
15
+ bearerFormat: "JWT",
16
+ description: "JWT Bearer token authentication"
17
+ },
18
+ bearer: {
19
+ type: "http",
20
+ scheme: "bearer",
21
+ description: "Bearer token authentication"
22
+ },
23
+ apiKey: {
24
+ type: "apiKey",
25
+ in: "header",
26
+ name: "X-API-Key",
27
+ description: "API key authentication via header"
28
+ },
29
+ oauth2: {
30
+ type: "oauth2",
31
+ flows: {},
32
+ description: "OAuth 2.0 authentication"
33
+ },
34
+ oidc: {
35
+ type: "openIdConnect",
36
+ openIdConnectUrl: "",
37
+ description: "OpenID Connect authentication"
38
+ },
39
+ iam: {
40
+ type: "apiKey",
41
+ in: "header",
42
+ name: "Authorization",
43
+ description: "AWS IAM Signature Version 4 authentication",
44
+ "x-amazon-apigateway-authtype": "awsSigv4"
45
+ }
46
+ };
47
+ /**
48
+ * Helper to create an authorizer configuration
49
+ */
50
+ function createAuthorizer(name, options) {
51
+ return {
52
+ name,
53
+ ...options
54
+ };
55
+ }
56
+ /**
57
+ * Check if a name is a built-in security scheme
58
+ */
59
+ function isBuiltInSecurityScheme(name) {
60
+ return name in BUILT_IN_SECURITY_SCHEMES;
61
+ }
62
+ /**
63
+ * Get a security scheme by name (built-in or custom)
64
+ */
65
+ function getSecurityScheme(name, customSchemes) {
66
+ if (customSchemes && name in customSchemes) return customSchemes[name];
67
+ if (isBuiltInSecurityScheme(name)) return BUILT_IN_SECURITY_SCHEMES[name];
68
+ return void 0;
69
+ }
70
+
71
+ //#endregion
72
+ //#region src/endpoints/rls.ts
73
+ /**
74
+ * Symbol used to bypass RLS for an endpoint.
75
+ */
76
+ const RLS_BYPASS = Symbol.for("geekmidas.rls.bypass");
77
+
78
+ //#endregion
79
+ //#region src/endpoints/EndpointBuilder.ts
80
+ var import_lodash$1 = __toESM(require_lodash(), 1);
81
+ var EndpointBuilder = class extends BaseFunctionBuilder {
82
+ schemas = {};
83
+ _description;
84
+ _status;
85
+ _tags;
86
+ _memorySize;
87
+ _getSession = () => ({});
88
+ _authorize = () => true;
89
+ _rateLimit;
90
+ _availableAuthorizers = [];
91
+ _authorizerName;
92
+ _actorExtractor;
93
+ _audits = [];
94
+ _customSecuritySchemes = {};
95
+ _rlsConfig;
96
+ _rlsBypass;
97
+ constructor(route, method) {
98
+ super(ConstructType.Endpoint);
99
+ this.route = route;
100
+ this.method = method;
101
+ }
102
+ _setPublisher(publisher) {
103
+ this._publisher = publisher;
104
+ }
105
+ _setAuditorStorage(storage) {
106
+ this._auditorStorage = storage;
107
+ }
108
+ _setDatabaseService(service) {
109
+ this._databaseService = service;
110
+ }
111
+ description(description) {
112
+ this._description = description;
113
+ return this;
114
+ }
115
+ status(status) {
116
+ this._status = status;
117
+ return this;
118
+ }
119
+ event(event) {
120
+ this._events.push(event);
121
+ return this;
122
+ }
123
+ tags(tags) {
124
+ this._tags = tags;
125
+ return this;
126
+ }
127
+ memorySize(memorySize) {
128
+ this._memorySize = memorySize;
129
+ return this;
130
+ }
131
+ publisher(publisher) {
132
+ this._publisher = publisher;
133
+ return this;
134
+ }
135
+ body(schema) {
136
+ this.schemas.body = schema;
137
+ return this;
138
+ }
139
+ search(schema) {
140
+ this.schemas.query = schema;
141
+ return this;
142
+ }
143
+ query(schema) {
144
+ return this.search(schema);
145
+ }
146
+ params(schema) {
147
+ this.schemas.params = schema;
148
+ return this;
149
+ }
150
+ authorize(fn) {
151
+ this._authorize = fn;
152
+ return this;
153
+ }
154
+ rateLimit(config) {
155
+ this._rateLimit = config;
156
+ return this;
157
+ }
158
+ authorizer(name) {
159
+ if (name === "none") {
160
+ this._authorizerName = void 0;
161
+ return this;
162
+ }
163
+ const authorizerExists = this._availableAuthorizers.some((a) => a.name === name);
164
+ if (!authorizerExists && this._availableAuthorizers.length > 0) {
165
+ const available = this._availableAuthorizers.map((a) => a.name).join(", ");
166
+ throw new Error(`Authorizer "${name}" not found in available authorizers: ${available}`);
167
+ }
168
+ this._authorizerName = name;
169
+ return this;
170
+ }
171
+ services(services) {
172
+ this._services = (0, import_lodash$1.default)([...this._services, ...services], (s) => s.serviceName);
173
+ return this;
174
+ }
175
+ logger(logger) {
176
+ this._logger = logger;
177
+ return this;
178
+ }
179
+ output(schema) {
180
+ this.outputSchema = schema;
181
+ return this;
182
+ }
183
+ /**
184
+ * Set the auditor storage service for this endpoint.
185
+ * This enables audit functionality and makes `auditor` available in the handler context.
186
+ * The audit action type is automatically inferred from the storage's generic parameter.
187
+ */
188
+ auditor(storage) {
189
+ this._auditorStorage = storage;
190
+ return this;
191
+ }
192
+ /**
193
+ * Set the actor extractor function for audit records.
194
+ * The actor is extracted from the request context and attached to all audits.
195
+ */
196
+ actor(extractor) {
197
+ this._actorExtractor = extractor;
198
+ return this;
199
+ }
200
+ /**
201
+ * Add declarative audit definitions that are processed after the handler executes.
202
+ * Similar to `.event()` for events, but for audits.
203
+ *
204
+ * @example
205
+ * ```typescript
206
+ * .audit<AppAuditAction>([
207
+ * {
208
+ * type: 'user.created',
209
+ * payload: (response) => ({ userId: response.id, email: response.email }),
210
+ * when: (response) => response.active,
211
+ * entityId: (response) => response.id,
212
+ * table: 'users',
213
+ * },
214
+ * ])
215
+ * ```
216
+ */
217
+ audit(audits) {
218
+ this._audits = audits;
219
+ return this;
220
+ }
221
+ /**
222
+ * Set the database service for this endpoint.
223
+ * The database will be available in the handler context as `db`.
224
+ * When audit storage is configured and uses the same database,
225
+ * `db` will automatically be the transaction for ACID compliance.
226
+ *
227
+ * @example
228
+ * ```typescript
229
+ * .database(databaseService)
230
+ * .handle(async ({ db }) => {
231
+ * // db is the raw database or transaction (when auditor uses same db)
232
+ * return await db.selectFrom('users').selectAll().execute();
233
+ * })
234
+ * ```
235
+ */
236
+ database(service) {
237
+ this._databaseService = service;
238
+ return this;
239
+ }
240
+ /**
241
+ * Configure RLS (Row-Level Security) context for this endpoint.
242
+ * Pass `false` or `RLS_BYPASS` to explicitly bypass RLS for this endpoint.
243
+ *
244
+ * @example
245
+ * ```typescript
246
+ * // Custom RLS config for this endpoint
247
+ * .rls({
248
+ * extractor: ({ session }) => ({
249
+ * user_id: session.userId,
250
+ * tenant_id: session.tenantId,
251
+ * }),
252
+ * prefix: 'app',
253
+ * })
254
+ *
255
+ * // Bypass RLS (for admin endpoints)
256
+ * .rls(false)
257
+ * ```
258
+ */
259
+ rls(config) {
260
+ if (config === false || config === RLS_BYPASS) {
261
+ this._rlsBypass = true;
262
+ this._rlsConfig = void 0;
263
+ } else {
264
+ this._rlsConfig = config;
265
+ this._rlsBypass = false;
266
+ }
267
+ return this;
268
+ }
269
+ /**
270
+ * Explicitly bypass RLS for this endpoint.
271
+ * Useful for admin operations that need unrestricted database access.
272
+ *
273
+ * @example
274
+ * ```typescript
275
+ * .rlsBypass()
276
+ * .handle(async ({ db }) => {
277
+ * // Full access, no RLS filtering
278
+ * return db.selectFrom('orders').selectAll().execute();
279
+ * })
280
+ * ```
281
+ */
282
+ rlsBypass() {
283
+ this._rlsBypass = true;
284
+ this._rlsConfig = void 0;
285
+ return this;
286
+ }
287
+ input(_schema) {
288
+ throw new Error("EndpointBuilder does not support generic input. Use body(), query(), or params() instead.");
289
+ }
290
+ handle(fn) {
291
+ let authorizer;
292
+ if (this._authorizerName) {
293
+ const existingAuthorizer = this._availableAuthorizers.find((a) => a.name === this._authorizerName);
294
+ if (existingAuthorizer) authorizer = existingAuthorizer;
295
+ else {
296
+ const securityScheme = getSecurityScheme(this._authorizerName, this._customSecuritySchemes);
297
+ authorizer = {
298
+ name: this._authorizerName,
299
+ securityScheme
300
+ };
301
+ }
302
+ }
303
+ return new Endpoint({
304
+ fn,
305
+ method: this.method,
306
+ route: this.route,
307
+ description: this._description,
308
+ tags: this._tags,
309
+ input: this.schemas,
310
+ output: this.outputSchema,
311
+ services: this._services,
312
+ logger: this._logger,
313
+ timeout: this._timeout,
314
+ memorySize: this._memorySize,
315
+ authorize: this._authorize,
316
+ status: this._status,
317
+ getSession: this._getSession,
318
+ rateLimit: this._rateLimit,
319
+ publisherService: this._publisher,
320
+ events: this._events,
321
+ authorizer,
322
+ auditorStorageService: this._auditorStorage,
323
+ actorExtractor: this._actorExtractor,
324
+ audits: this._audits,
325
+ databaseService: this._databaseService,
326
+ rlsConfig: this._rlsConfig,
327
+ rlsBypass: this._rlsBypass
328
+ });
329
+ }
330
+ };
331
+
332
+ //#endregion
333
+ //#region src/endpoints/EndpointFactory.ts
334
+ var import_lodash = __toESM(require_lodash(), 1);
335
+ const DEFAULT_LOGGER$1 = new ConsoleLogger();
336
+ var EndpointFactory = class EndpointFactory {
337
+ defaultServices = [];
338
+ basePath = "";
339
+ defaultAuthorizeFn;
340
+ defaultEventPublisher;
341
+ defaultSessionExtractor;
342
+ defaultLogger = DEFAULT_LOGGER$1;
343
+ availableAuthorizers = [];
344
+ defaultAuthorizerName;
345
+ defaultAuditorStorage;
346
+ defaultDatabaseService;
347
+ defaultActorExtractor;
348
+ customSecuritySchemes = {};
349
+ defaultRlsConfig;
350
+ constructor({ basePath, defaultAuthorizeFn, defaultLogger, defaultSessionExtractor, defaultServices = [], defaultEventPublisher, availableAuthorizers = [], defaultAuthorizerName, defaultAuditorStorage, defaultDatabaseService, defaultActorExtractor, customSecuritySchemes = {}, defaultRlsConfig } = {}) {
351
+ this.defaultServices = (0, import_lodash.default)(defaultServices, (s) => s.serviceName);
352
+ this.basePath = basePath || "";
353
+ this.defaultAuthorizeFn = defaultAuthorizeFn;
354
+ this.defaultLogger = defaultLogger || DEFAULT_LOGGER$1;
355
+ this.defaultSessionExtractor = defaultSessionExtractor;
356
+ this.defaultEventPublisher = defaultEventPublisher;
357
+ this.availableAuthorizers = availableAuthorizers;
358
+ this.defaultAuthorizerName = defaultAuthorizerName;
359
+ this.defaultAuditorStorage = defaultAuditorStorage;
360
+ this.defaultDatabaseService = defaultDatabaseService;
361
+ this.defaultActorExtractor = defaultActorExtractor;
362
+ this.customSecuritySchemes = customSecuritySchemes;
363
+ this.defaultRlsConfig = defaultRlsConfig;
364
+ }
365
+ static joinPaths(path, basePath = "") {
366
+ if (!basePath && !path) return "/";
367
+ if (!basePath) return path.startsWith("/") ? path : `/${path}`;
368
+ if (!path) return basePath.startsWith("/") ? basePath : `/${basePath}`;
369
+ const base = basePath.endsWith("/") ? basePath.slice(0, -1) : basePath;
370
+ const segment = path.startsWith("/") ? path : `/${path}`;
371
+ let result = base + segment;
372
+ if (!result.startsWith("/")) result = `/${result}`;
373
+ result = result.replace(/^\/+/g, "/");
374
+ if (result.length > 1 && result.endsWith("/")) result = result.slice(0, -1);
375
+ return result;
376
+ }
377
+ authorizers(authorizers) {
378
+ const authorizerConfigs = authorizers.map((name) => ({
379
+ name,
380
+ securityScheme: getSecurityScheme(name, this.customSecuritySchemes)
381
+ }));
382
+ return new EndpointFactory({
383
+ defaultServices: this.defaultServices,
384
+ basePath: this.basePath,
385
+ defaultAuthorizeFn: this.defaultAuthorizeFn,
386
+ defaultLogger: this.defaultLogger,
387
+ defaultSessionExtractor: this.defaultSessionExtractor,
388
+ defaultEventPublisher: this.defaultEventPublisher,
389
+ availableAuthorizers: authorizerConfigs,
390
+ defaultAuthorizerName: this.defaultAuthorizerName,
391
+ defaultAuditorStorage: this.defaultAuditorStorage,
392
+ defaultDatabaseService: this.defaultDatabaseService,
393
+ defaultActorExtractor: this.defaultActorExtractor,
394
+ customSecuritySchemes: this.customSecuritySchemes,
395
+ defaultRlsConfig: this.defaultRlsConfig
396
+ });
397
+ }
398
+ /**
399
+ * Define custom security schemes for this factory.
400
+ * These extend the built-in schemes (jwt, bearer, apiKey, oauth2, oidc).
401
+ *
402
+ * @example
403
+ * ```typescript
404
+ * const router = e.securitySchemes({
405
+ * awsIamSigV4: {
406
+ * type: 'apiKey',
407
+ * in: 'header',
408
+ * name: 'Authorization',
409
+ * 'x-amazon-apigateway-authtype': 'awsSigv4',
410
+ * },
411
+ * });
412
+ * ```
413
+ */
414
+ securitySchemes(schemes) {
415
+ return new EndpointFactory({
416
+ defaultServices: this.defaultServices,
417
+ basePath: this.basePath,
418
+ defaultAuthorizeFn: this.defaultAuthorizeFn,
419
+ defaultLogger: this.defaultLogger,
420
+ defaultSessionExtractor: this.defaultSessionExtractor,
421
+ defaultEventPublisher: this.defaultEventPublisher,
422
+ availableAuthorizers: this.availableAuthorizers,
423
+ defaultAuthorizerName: this.defaultAuthorizerName,
424
+ defaultAuditorStorage: this.defaultAuditorStorage,
425
+ defaultDatabaseService: this.defaultDatabaseService,
426
+ defaultActorExtractor: this.defaultActorExtractor,
427
+ customSecuritySchemes: {
428
+ ...this.customSecuritySchemes,
429
+ ...schemes
430
+ },
431
+ defaultRlsConfig: this.defaultRlsConfig
432
+ });
433
+ }
434
+ /**
435
+ * Set the default authorizer for all endpoints created from this factory.
436
+ * Individual endpoints can override this by calling `.authorizer()` on the builder.
437
+ * Use `'none'` to explicitly disable authorization for all endpoints.
438
+ *
439
+ * Accepts:
440
+ * - Built-in security scheme names: 'jwt', 'bearer', 'apiKey', 'oauth2', 'oidc'
441
+ * - Custom security scheme names defined via `.securitySchemes()`
442
+ * - 'none' to disable authorization
443
+ */
444
+ authorizer(name) {
445
+ if (name !== "none" && this.availableAuthorizers.length > 0) {
446
+ const authorizerExists = this.availableAuthorizers.some((a) => a.name === name);
447
+ if (!authorizerExists) {
448
+ const available = this.availableAuthorizers.map((a) => a.name).join(", ");
449
+ throw new Error(`Authorizer "${name}" not found in available authorizers: ${available}`);
450
+ }
451
+ }
452
+ return new EndpointFactory({
453
+ defaultServices: this.defaultServices,
454
+ basePath: this.basePath,
455
+ defaultAuthorizeFn: this.defaultAuthorizeFn,
456
+ defaultLogger: this.defaultLogger,
457
+ defaultSessionExtractor: this.defaultSessionExtractor,
458
+ defaultEventPublisher: this.defaultEventPublisher,
459
+ availableAuthorizers: this.availableAuthorizers,
460
+ defaultAuthorizerName: name === "none" ? void 0 : name,
461
+ defaultAuditorStorage: this.defaultAuditorStorage,
462
+ defaultDatabaseService: this.defaultDatabaseService,
463
+ defaultActorExtractor: this.defaultActorExtractor,
464
+ customSecuritySchemes: this.customSecuritySchemes,
465
+ defaultRlsConfig: this.defaultRlsConfig
466
+ });
467
+ }
468
+ route(path) {
469
+ const newBasePath = EndpointFactory.joinPaths(path, this.basePath);
470
+ return new EndpointFactory({
471
+ defaultServices: this.defaultServices,
472
+ basePath: newBasePath,
473
+ defaultAuthorizeFn: this.defaultAuthorizeFn,
474
+ defaultLogger: this.defaultLogger,
475
+ defaultSessionExtractor: this.defaultSessionExtractor,
476
+ defaultEventPublisher: this.defaultEventPublisher,
477
+ availableAuthorizers: this.availableAuthorizers,
478
+ defaultAuthorizerName: this.defaultAuthorizerName,
479
+ defaultAuditorStorage: this.defaultAuditorStorage,
480
+ defaultDatabaseService: this.defaultDatabaseService,
481
+ defaultActorExtractor: this.defaultActorExtractor,
482
+ customSecuritySchemes: this.customSecuritySchemes,
483
+ defaultRlsConfig: this.defaultRlsConfig
484
+ });
485
+ }
486
+ authorize(fn) {
487
+ return new EndpointFactory({
488
+ defaultServices: this.defaultServices,
489
+ basePath: this.basePath,
490
+ defaultAuthorizeFn: fn,
491
+ defaultLogger: this.defaultLogger,
492
+ defaultSessionExtractor: this.defaultSessionExtractor,
493
+ defaultEventPublisher: this.defaultEventPublisher,
494
+ availableAuthorizers: this.availableAuthorizers,
495
+ defaultAuthorizerName: this.defaultAuthorizerName,
496
+ defaultAuditorStorage: this.defaultAuditorStorage,
497
+ defaultDatabaseService: this.defaultDatabaseService,
498
+ defaultActorExtractor: this.defaultActorExtractor,
499
+ customSecuritySchemes: this.customSecuritySchemes,
500
+ defaultRlsConfig: this.defaultRlsConfig
501
+ });
502
+ }
503
+ services(services) {
504
+ return new EndpointFactory({
505
+ defaultServices: [...services, ...this.defaultServices],
506
+ basePath: this.basePath,
507
+ defaultAuthorizeFn: this.defaultAuthorizeFn,
508
+ defaultLogger: this.defaultLogger,
509
+ defaultSessionExtractor: this.defaultSessionExtractor,
510
+ defaultEventPublisher: this.defaultEventPublisher,
511
+ availableAuthorizers: this.availableAuthorizers,
512
+ defaultAuthorizerName: this.defaultAuthorizerName,
513
+ defaultAuditorStorage: this.defaultAuditorStorage,
514
+ defaultDatabaseService: this.defaultDatabaseService,
515
+ defaultActorExtractor: this.defaultActorExtractor,
516
+ customSecuritySchemes: this.customSecuritySchemes,
517
+ defaultRlsConfig: this.defaultRlsConfig
518
+ });
519
+ }
520
+ logger(logger) {
521
+ return new EndpointFactory({
522
+ defaultServices: this.defaultServices,
523
+ basePath: this.basePath,
524
+ defaultAuthorizeFn: this.defaultAuthorizeFn,
525
+ defaultLogger: logger,
526
+ defaultSessionExtractor: this.defaultSessionExtractor,
527
+ defaultEventPublisher: this.defaultEventPublisher,
528
+ availableAuthorizers: this.availableAuthorizers,
529
+ defaultAuthorizerName: this.defaultAuthorizerName,
530
+ defaultAuditorStorage: this.defaultAuditorStorage,
531
+ defaultDatabaseService: this.defaultDatabaseService,
532
+ defaultActorExtractor: this.defaultActorExtractor,
533
+ customSecuritySchemes: this.customSecuritySchemes,
534
+ defaultRlsConfig: this.defaultRlsConfig
535
+ });
536
+ }
537
+ publisher(publisher) {
538
+ return new EndpointFactory({
539
+ defaultServices: this.defaultServices,
540
+ basePath: this.basePath,
541
+ defaultAuthorizeFn: this.defaultAuthorizeFn,
542
+ defaultLogger: this.defaultLogger,
543
+ defaultSessionExtractor: this.defaultSessionExtractor,
544
+ defaultEventPublisher: publisher,
545
+ availableAuthorizers: this.availableAuthorizers,
546
+ defaultAuthorizerName: this.defaultAuthorizerName,
547
+ defaultAuditorStorage: this.defaultAuditorStorage,
548
+ defaultDatabaseService: this.defaultDatabaseService,
549
+ defaultActorExtractor: this.defaultActorExtractor,
550
+ customSecuritySchemes: this.customSecuritySchemes,
551
+ defaultRlsConfig: this.defaultRlsConfig
552
+ });
553
+ }
554
+ session(session) {
555
+ return new EndpointFactory({
556
+ defaultServices: this.defaultServices,
557
+ basePath: this.basePath,
558
+ defaultAuthorizeFn: this.defaultAuthorizeFn,
559
+ defaultLogger: this.defaultLogger,
560
+ defaultSessionExtractor: session,
561
+ defaultEventPublisher: this.defaultEventPublisher,
562
+ availableAuthorizers: this.availableAuthorizers,
563
+ defaultAuthorizerName: this.defaultAuthorizerName,
564
+ defaultAuditorStorage: this.defaultAuditorStorage,
565
+ defaultDatabaseService: this.defaultDatabaseService,
566
+ defaultActorExtractor: this.defaultActorExtractor,
567
+ customSecuritySchemes: this.customSecuritySchemes,
568
+ defaultRlsConfig: this.defaultRlsConfig
569
+ });
570
+ }
571
+ /**
572
+ * Set the database service for endpoints created from this factory.
573
+ * The database will be available in handler context as `db`.
574
+ */
575
+ database(service) {
576
+ return new EndpointFactory({
577
+ defaultServices: this.defaultServices,
578
+ basePath: this.basePath,
579
+ defaultAuthorizeFn: this.defaultAuthorizeFn,
580
+ defaultLogger: this.defaultLogger,
581
+ defaultSessionExtractor: this.defaultSessionExtractor,
582
+ defaultEventPublisher: this.defaultEventPublisher,
583
+ availableAuthorizers: this.availableAuthorizers,
584
+ defaultAuthorizerName: this.defaultAuthorizerName,
585
+ defaultAuditorStorage: this.defaultAuditorStorage,
586
+ defaultDatabaseService: service,
587
+ customSecuritySchemes: this.customSecuritySchemes,
588
+ defaultRlsConfig: this.defaultRlsConfig
589
+ });
590
+ }
591
+ /**
592
+ * Set the auditor storage service for endpoints created from this factory.
593
+ * This enables audit functionality and makes `auditor` available in handler context.
594
+ * The audit action type is automatically inferred from the storage's generic parameter.
595
+ */
596
+ auditor(storage) {
597
+ return new EndpointFactory({
598
+ defaultServices: this.defaultServices,
599
+ basePath: this.basePath,
600
+ defaultAuthorizeFn: this.defaultAuthorizeFn,
601
+ defaultLogger: this.defaultLogger,
602
+ defaultSessionExtractor: this.defaultSessionExtractor,
603
+ defaultEventPublisher: this.defaultEventPublisher,
604
+ availableAuthorizers: this.availableAuthorizers,
605
+ defaultAuthorizerName: this.defaultAuthorizerName,
606
+ defaultAuditorStorage: storage,
607
+ defaultDatabaseService: this.defaultDatabaseService,
608
+ defaultActorExtractor: this.defaultActorExtractor,
609
+ customSecuritySchemes: this.customSecuritySchemes,
610
+ defaultRlsConfig: this.defaultRlsConfig
611
+ });
612
+ }
613
+ /**
614
+ * Set the actor extractor function for endpoints created from this factory.
615
+ * The actor is extracted from the request context and attached to all audits.
616
+ */
617
+ actor(extractor) {
618
+ return new EndpointFactory({
619
+ defaultServices: this.defaultServices,
620
+ basePath: this.basePath,
621
+ defaultAuthorizeFn: this.defaultAuthorizeFn,
622
+ defaultLogger: this.defaultLogger,
623
+ defaultSessionExtractor: this.defaultSessionExtractor,
624
+ defaultEventPublisher: this.defaultEventPublisher,
625
+ availableAuthorizers: this.availableAuthorizers,
626
+ defaultAuthorizerName: this.defaultAuthorizerName,
627
+ defaultAuditorStorage: this.defaultAuditorStorage,
628
+ defaultDatabaseService: this.defaultDatabaseService,
629
+ defaultActorExtractor: extractor,
630
+ customSecuritySchemes: this.customSecuritySchemes,
631
+ defaultRlsConfig: this.defaultRlsConfig
632
+ });
633
+ }
634
+ /**
635
+ * Set the RLS (Row-Level Security) configuration for endpoints created from this factory.
636
+ * This enables automatic PostgreSQL session variable setting for RLS policies.
637
+ *
638
+ * @example
639
+ * ```typescript
640
+ * const api = new EndpointFactory()
641
+ * .database(databaseService)
642
+ * .session(extractSession)
643
+ * .rls({
644
+ * extractor: ({ session }) => ({
645
+ * user_id: session.userId,
646
+ * tenant_id: session.tenantId,
647
+ * }),
648
+ * prefix: 'app',
649
+ * });
650
+ * ```
651
+ */
652
+ rls(config) {
653
+ return new EndpointFactory({
654
+ defaultServices: this.defaultServices,
655
+ basePath: this.basePath,
656
+ defaultAuthorizeFn: this.defaultAuthorizeFn,
657
+ defaultLogger: this.defaultLogger,
658
+ defaultSessionExtractor: this.defaultSessionExtractor,
659
+ defaultEventPublisher: this.defaultEventPublisher,
660
+ availableAuthorizers: this.availableAuthorizers,
661
+ defaultAuthorizerName: this.defaultAuthorizerName,
662
+ defaultAuditorStorage: this.defaultAuditorStorage,
663
+ defaultDatabaseService: this.defaultDatabaseService,
664
+ defaultActorExtractor: this.defaultActorExtractor,
665
+ customSecuritySchemes: this.customSecuritySchemes,
666
+ defaultRlsConfig: config
667
+ });
668
+ }
669
+ createBuilder(method, path) {
670
+ const fullPath = EndpointFactory.joinPaths(path, this.basePath);
671
+ const builder = new EndpointBuilder(fullPath, method);
672
+ if (this.defaultAuthorizeFn) builder._authorize = this.defaultAuthorizeFn;
673
+ if (this.defaultServices.length) builder._services = [...this.defaultServices];
674
+ if (this.defaultLogger) builder._logger = this.defaultLogger;
675
+ if (this.defaultSessionExtractor) builder._getSession = this.defaultSessionExtractor;
676
+ if (this.defaultEventPublisher) builder._setPublisher(this.defaultEventPublisher);
677
+ builder._availableAuthorizers = this.availableAuthorizers;
678
+ if (this.defaultAuthorizerName) builder._authorizerName = this.defaultAuthorizerName;
679
+ if (this.defaultAuditorStorage) builder._setAuditorStorage(this.defaultAuditorStorage);
680
+ if (this.defaultDatabaseService) builder._setDatabaseService(this.defaultDatabaseService);
681
+ if (this.defaultActorExtractor) builder._actorExtractor = this.defaultActorExtractor;
682
+ builder._customSecuritySchemes = this.customSecuritySchemes;
683
+ if (this.defaultRlsConfig) builder._rlsConfig = this.defaultRlsConfig;
684
+ return builder;
685
+ }
686
+ post(path) {
687
+ return this.createBuilder("POST", path);
688
+ }
689
+ get(path) {
690
+ return this.createBuilder("GET", path);
691
+ }
692
+ put(path) {
693
+ return this.createBuilder("PUT", path);
694
+ }
695
+ delete(path) {
696
+ return this.createBuilder("DELETE", path);
697
+ }
698
+ patch(path) {
699
+ return this.createBuilder("PATCH", path);
700
+ }
701
+ options(path) {
702
+ return this.createBuilder("OPTIONS", path);
703
+ }
704
+ };
705
+ const e$1 = new EndpointFactory();
706
+
707
+ //#endregion
14
708
  //#region src/endpoints/index.ts
15
709
  const e = new EndpointFactory();
16
710