@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,21 +1,737 @@
1
- require('../Construct-BXG8cFSm.cjs');
2
- require('../publisher-lFQleddL.cjs');
3
- require('../BaseFunctionBuilder-DXf6HK-N.cjs');
4
- require('../Function-DgQ_no6B.cjs');
5
- require('../FunctionBuilder-C_xG9As7.cjs');
6
- require('../functions-rOD3pXQd.cjs');
7
- require('../Endpoint-BcxvF4F3.cjs');
8
- require('../processAudits-CzHkPokQ.cjs');
9
- require('../AmazonApiGatewayEndpointAdaptor-BIltcbAc.cjs');
10
- require('../parseQueryParams-B4RK1za3.cjs');
11
- const require_AmazonApiGatewayV1EndpointAdaptor = require('../AmazonApiGatewayV1EndpointAdaptor-DEETT6Wj.cjs');
12
- require('../lazyAccessors-BVEtB9lU.cjs');
13
- const require_AmazonApiGatewayV2EndpointAdaptor = require('../AmazonApiGatewayV2EndpointAdaptor-C2qO8FN6.cjs');
14
- require('../FunctionExecutionWrapper-KKHP6fDY.cjs');
15
- const require_AWSLambdaFunction = require('../AWSLambdaFunction-CPEAl5nZ.cjs');
16
- const require_AWSLambdaSubscriberAdaptor = require('../AWSLambdaSubscriberAdaptor-eZ3qoKvK.cjs');
17
-
18
- exports.AWSLambdaFunction = require_AWSLambdaFunction.AWSLambdaFunction;
19
- exports.AWSLambdaSubscriber = require_AWSLambdaSubscriberAdaptor.AWSLambdaSubscriber;
20
- exports.AmazonApiGatewayV1Endpoint = require_AmazonApiGatewayV1EndpointAdaptor.AmazonApiGatewayV1Endpoint;
21
- exports.AmazonApiGatewayV2Endpoint = require_AmazonApiGatewayV2EndpointAdaptor.AmazonApiGatewayV2Endpoint;
1
+ const require_Construct = require('../Construct-B14miJ6P.cjs');
2
+ const require_lazyAccessors = require('../lazyAccessors-DHvDeww0.cjs');
3
+ const require_functions = require('../functions-DiaRAdfp.cjs');
4
+ const require_processAudits = require('../processAudits-CUko08pi.cjs');
5
+ const __geekmidas_db_rls = require_Construct.__toESM(require("@geekmidas/db/rls"));
6
+ const __middy_core = require_Construct.__toESM(require("@middy/core"));
7
+ const __geekmidas_errors = require_Construct.__toESM(require("@geekmidas/errors"));
8
+ const __geekmidas_services = require_Construct.__toESM(require("@geekmidas/services"));
9
+ const __geekmidas_audit = require_Construct.__toESM(require("@geekmidas/audit"));
10
+ const qs = require_Construct.__toESM(require("qs"));
11
+ const __geekmidas_audit_kysely = require_Construct.__toESM(require("@geekmidas/audit/kysely"));
12
+
13
+ //#region src/endpoints/AmazonApiGatewayEndpointAdaptor.ts
14
+ var import_lodash = require_Construct.__toESM(require_lazyAccessors.require_lodash(), 1);
15
+ var AmazonApiGatewayEndpoint = class {
16
+ options;
17
+ constructor(envParser, endpoint, options = {}) {
18
+ this.envParser = envParser;
19
+ this.endpoint = endpoint;
20
+ this.options = options;
21
+ }
22
+ error() {
23
+ return { onError: (req) => {
24
+ (req.event.logger || this.endpoint.logger).error(req.error || {}, "Error processing request");
25
+ const wrappedError = (0, __geekmidas_errors.wrapError)(req.error);
26
+ req.response = {
27
+ statusCode: wrappedError.statusCode,
28
+ body: wrappedError.body
29
+ };
30
+ } };
31
+ }
32
+ /**
33
+ * Decodes the raw body from an API Gateway event.
34
+ * Uses Content-Type to decide parsing strategy (like Express/Fastify/Hono):
35
+ * - `application/json` (or missing) → JSON.parse the decoded string
36
+ * - Anything else → return decoded string as-is, let the schema handle it
37
+ *
38
+ * Defaults to JSON when no Content-Type is provided for backwards compatibility.
39
+ */
40
+ static decodeBody(body, isBase64Encoded, contentType) {
41
+ if (!body) return void 0;
42
+ const raw = isBase64Encoded ? Buffer.from(body, "base64").toString("utf-8") : body;
43
+ const isJson = !contentType || contentType.toLowerCase().includes("application/json");
44
+ if (isJson) return JSON.parse(raw);
45
+ return raw;
46
+ }
47
+ getCookies(e) {
48
+ const headers = e.headers;
49
+ return require_lazyAccessors.Endpoint.createCookies(headers?.cookie);
50
+ }
51
+ input() {
52
+ return { before: async (req) => {
53
+ try {
54
+ const { body, query, params } = this.getInput(req.event);
55
+ const headers = req.event.headers;
56
+ const header = require_lazyAccessors.Endpoint.createHeaders(headers);
57
+ const cookie = this.getCookies(req.event);
58
+ (0, import_lodash.default)(req.event, "body", await this.endpoint.parseInput(body, "body"));
59
+ (0, import_lodash.default)(req.event, "query", await this.endpoint.parseInput(query, "query"));
60
+ (0, import_lodash.default)(req.event, "params", await this.endpoint.parseInput(params, "params"));
61
+ (0, import_lodash.default)(req.event, "header", header);
62
+ (0, import_lodash.default)(req.event, "cookie", cookie);
63
+ } catch (error) {
64
+ if (error && typeof error === "object" && Array.isArray(error)) throw new __geekmidas_errors.UnprocessableEntityError("Validation failed", error);
65
+ throw error;
66
+ }
67
+ } };
68
+ }
69
+ logger() {
70
+ return { before: (req) => {
71
+ req.event.logger = this.endpoint.logger.child({
72
+ route: this.endpoint.route,
73
+ host: req.event.headers?.host,
74
+ method: this.endpoint.method,
75
+ ...this.getLoggerContext(req.event, req.context)
76
+ });
77
+ } };
78
+ }
79
+ services() {
80
+ return { before: async (req) => {
81
+ const _logger = req.event.logger;
82
+ const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
83
+ const services = await serviceDiscovery.register(this.endpoint.services);
84
+ req.event.services = services;
85
+ } };
86
+ }
87
+ authorize() {
88
+ return { before: async (req) => {
89
+ const logger = req.event.logger;
90
+ const services = req.event.services;
91
+ const header = req.event.header;
92
+ const cookie = req.event.cookie;
93
+ const session = req.event.session;
94
+ const isAuthorized = await this.endpoint.authorize({
95
+ header,
96
+ cookie,
97
+ services,
98
+ logger,
99
+ session,
100
+ ...req.event.db !== void 0 && { db: req.event.db },
101
+ body: req.event.body,
102
+ query: req.event.query,
103
+ params: req.event.params
104
+ });
105
+ if (!isAuthorized) {
106
+ logger.warn("Unauthorized access attempt");
107
+ throw new __geekmidas_errors.UnauthorizedError("Unauthorized access to the endpoint", "You do not have permission to access this resource.");
108
+ }
109
+ } };
110
+ }
111
+ database() {
112
+ return { before: async (req) => {
113
+ if (!this.endpoint.databaseService) return;
114
+ const _logger = req.event.logger;
115
+ const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
116
+ const db = await serviceDiscovery.register([this.endpoint.databaseService]).then((s) => s[this.endpoint.databaseService?.serviceName]);
117
+ req.event.db = db;
118
+ } };
119
+ }
120
+ session() {
121
+ return { before: async (req) => {
122
+ const logger = req.event.logger;
123
+ const services = req.event.services;
124
+ const db = req.event.db;
125
+ req.event.session = await this.endpoint.getSession({
126
+ logger,
127
+ services,
128
+ header: req.event.header,
129
+ cookie: req.event.cookie,
130
+ ...db !== void 0 && { db }
131
+ });
132
+ } };
133
+ }
134
+ events() {
135
+ return { after: async (req) => {
136
+ const event = req.event;
137
+ const response = event.__response;
138
+ const statusCode = req.response?.statusCode ?? this.endpoint.status;
139
+ if (require_lazyAccessors.Endpoint.isSuccessStatus(statusCode)) {
140
+ const logger = event.logger;
141
+ const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
142
+ await require_lazyAccessors.publishConstructEvents(this.endpoint, response, serviceDiscovery, logger);
143
+ }
144
+ } };
145
+ }
146
+ async _handler(event) {
147
+ const input = this.endpoint.refineInput(event);
148
+ const logger = event.logger;
149
+ const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
150
+ const auditContext = await require_processAudits.createAuditContext(this.endpoint, serviceDiscovery, logger, {
151
+ session: event.session,
152
+ header: event.header,
153
+ cookie: event.cookie,
154
+ services: event.services
155
+ });
156
+ const audits = this.endpoint.audits;
157
+ if (!auditContext && audits?.length) logger.warn("No auditor storage service available");
158
+ const rawDb = event.db;
159
+ const rlsActive = this.endpoint.rlsConfig && !this.endpoint.rlsBypass && rawDb !== void 0;
160
+ const rlsContext = rlsActive ? await this.endpoint.rlsConfig?.extractor({
161
+ services: event.services,
162
+ session: event.session,
163
+ header: event.header,
164
+ cookie: event.cookie,
165
+ logger
166
+ }) : void 0;
167
+ const result = await require_processAudits.executeWithAuditTransaction(auditContext, async (auditor) => {
168
+ const sameDatabase = auditContext?.storage?.databaseServiceName && auditContext.storage.databaseServiceName === this.endpoint.databaseService?.serviceName;
169
+ const baseDb = sameDatabase ? auditor?.getTransaction?.() ?? rawDb : rawDb;
170
+ const executeHandler = async (db) => {
171
+ const responseBuilder = new require_lazyAccessors.ResponseBuilder();
172
+ const response = await this.endpoint.handler({
173
+ header: event.header,
174
+ cookie: event.cookie,
175
+ logger: event.logger,
176
+ services: event.services,
177
+ session: event.session,
178
+ auditor,
179
+ db,
180
+ ...input
181
+ }, responseBuilder);
182
+ let data = response;
183
+ let metadata$1 = responseBuilder.getMetadata();
184
+ if (require_lazyAccessors.Endpoint.hasMetadata(response)) {
185
+ data = response.data;
186
+ metadata$1 = response.metadata;
187
+ }
188
+ const output$1 = this.endpoint.outputSchema ? await this.endpoint.parseOutput(data) : void 0;
189
+ return {
190
+ output: output$1,
191
+ metadata: metadata$1,
192
+ responseBuilder
193
+ };
194
+ };
195
+ if (rlsActive && rlsContext && baseDb) return (0, __geekmidas_db_rls.withRlsContext)(baseDb, rlsContext, async (trx) => executeHandler(trx), { prefix: this.endpoint.rlsConfig?.prefix });
196
+ return executeHandler(baseDb);
197
+ }, async (result$1, auditor) => {
198
+ if (!audits?.length) return;
199
+ for (const audit of audits) {
200
+ if (audit.when && !audit.when(result$1.output)) continue;
201
+ const payload = audit.payload(result$1.output);
202
+ const entityId = audit.entityId?.(result$1.output);
203
+ auditor.audit(audit.type, payload, {
204
+ table: audit.table,
205
+ entityId
206
+ });
207
+ }
208
+ }, { db: rawDb });
209
+ const { output, metadata } = result;
210
+ const body = output !== void 0 ? JSON.stringify(output) : void 0;
211
+ event.__response = output;
212
+ const lambdaResponse = {
213
+ statusCode: metadata.status ?? this.endpoint.status,
214
+ body
215
+ };
216
+ if (metadata.headers && Object.keys(metadata.headers).length > 0) lambdaResponse.headers = { ...metadata.headers };
217
+ if (metadata.cookies && metadata.cookies.size > 0) {
218
+ const setCookieHeaders = [];
219
+ for (const [name, { value, options }] of metadata.cookies) setCookieHeaders.push(require_lazyAccessors.Endpoint.formatCookieHeader(name, value, options));
220
+ if (setCookieHeaders.length > 0) lambdaResponse.multiValueHeaders = {
221
+ ...lambdaResponse.multiValueHeaders,
222
+ "Set-Cookie": setCookieHeaders
223
+ };
224
+ }
225
+ return lambdaResponse;
226
+ }
227
+ /**
228
+ * Convert Telemetry interface to Middy middleware
229
+ */
230
+ telemetry() {
231
+ if (!this.options.telemetry) return null;
232
+ const telemetry = this.options.telemetry;
233
+ let ctx;
234
+ return {
235
+ before: (request) => {
236
+ ctx = telemetry.onRequestStart({
237
+ event: request.event,
238
+ context: request.context
239
+ });
240
+ },
241
+ after: (request) => {
242
+ if (ctx) telemetry.onRequestEnd(ctx, {
243
+ statusCode: request.response?.statusCode ?? 200,
244
+ body: request.response?.body,
245
+ headers: request.response?.headers
246
+ });
247
+ },
248
+ onError: (request) => {
249
+ if (ctx && request.error) telemetry.onRequestError(ctx, request.error instanceof Error ? request.error : new Error(String(request.error)));
250
+ }
251
+ };
252
+ }
253
+ get handler() {
254
+ const handler = this._handler.bind(this);
255
+ let chain = (0, __middy_core.default)(handler).use(this.logger()).use(this.error()).use(this.services()).use(this.input()).use(this.database()).use(this.session()).use(this.authorize()).use(this.events());
256
+ const telemetryMiddleware = this.telemetry();
257
+ if (telemetryMiddleware) chain = chain.use(telemetryMiddleware);
258
+ if (this.options.telescope?.middleware) chain = chain.use(this.options.telescope.middleware);
259
+ const wrappedHandler = async (event, context) => {
260
+ const startTime = Date.now();
261
+ const requestId = context.awsRequestId;
262
+ const logger = this.endpoint.logger.child({ requestId });
263
+ return (0, __geekmidas_services.runWithRequestContext)({
264
+ logger,
265
+ requestId,
266
+ startTime
267
+ }, () => chain(event, context));
268
+ };
269
+ return wrappedHandler;
270
+ }
271
+ };
272
+
273
+ //#endregion
274
+ //#region src/endpoints/parseQueryParams.ts
275
+ /**
276
+ * Parse query parameters from a flat object into a nested structure
277
+ * Uses qs bracket notation for standard interoperability
278
+ *
279
+ * @example
280
+ * parseQueryParams({ 'tags[]': ['a', 'b'], 'filter[name]': 'john' })
281
+ * // Returns: { tags: ['a', 'b'], filter: { name: 'john' } }
282
+ */
283
+ function parseQueryParams(queryParams) {
284
+ if (!queryParams) return {};
285
+ const parts = [];
286
+ for (const [key, value] of Object.entries(queryParams)) {
287
+ if (value === void 0) continue;
288
+ if (Array.isArray(value)) for (const v of value) parts.push(`${encodeURIComponent(key)}=${encodeURIComponent(v)}`);
289
+ else parts.push(`${encodeURIComponent(key)}=${encodeURIComponent(value)}`);
290
+ }
291
+ return qs.default.parse(parts.join("&"));
292
+ }
293
+
294
+ //#endregion
295
+ //#region src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts
296
+ var AmazonApiGatewayV1Endpoint = class extends AmazonApiGatewayEndpoint {
297
+ getInput(e) {
298
+ const multiValueParams = e.multiValueQueryStringParameters || {};
299
+ const singleValueParams = e.queryStringParameters || {};
300
+ const mergedParams = {};
301
+ for (const [key, value] of Object.entries(singleValueParams)) if (value !== void 0) mergedParams[key] = value;
302
+ for (const [key, values] of Object.entries(multiValueParams)) if (values && values.length > 1) mergedParams[key] = values;
303
+ return {
304
+ body: AmazonApiGatewayEndpoint.decodeBody(e.body, e.isBase64Encoded, e.headers?.["Content-Type"] ?? e.headers?.["content-type"]),
305
+ query: parseQueryParams(mergedParams),
306
+ params: e.pathParameters || {}
307
+ };
308
+ }
309
+ getLoggerContext(data, context) {
310
+ return {
311
+ fn: {
312
+ name: context.functionName,
313
+ version: context.functionVersion
314
+ },
315
+ req: {
316
+ id: data.requestContext.requestId,
317
+ awsRequestId: context.awsRequestId,
318
+ ip: data.requestContext.identity.sourceIp,
319
+ userAgent: data.requestContext.identity.userAgent || void 0,
320
+ path: data.requestContext.path
321
+ }
322
+ };
323
+ }
324
+ constructor(envParser, endpoint, options = {}) {
325
+ super(envParser, endpoint, options);
326
+ this.envParser = envParser;
327
+ this.endpoint = endpoint;
328
+ }
329
+ };
330
+
331
+ //#endregion
332
+ //#region src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts
333
+ var AmazonApiGatewayV2Endpoint = class extends AmazonApiGatewayEndpoint {
334
+ getCookies(e) {
335
+ return require_lazyAccessors.createApiGatewayCookies(e.cookies, e.headers?.cookie);
336
+ }
337
+ getInput(e) {
338
+ const raw = AmazonApiGatewayEndpoint.decodeBody(e.body, e.isBase64Encoded, e.headers?.["content-type"]);
339
+ return {
340
+ body: raw,
341
+ query: qs.default.parse(e.rawQueryString),
342
+ params: e.pathParameters || {}
343
+ };
344
+ }
345
+ getLoggerContext(event, context) {
346
+ return {
347
+ fn: {
348
+ name: context.functionName,
349
+ version: context.functionVersion
350
+ },
351
+ req: {
352
+ id: event.requestContext.requestId,
353
+ awsRequestId: context.awsRequestId,
354
+ ip: event.requestContext.http.sourceIp,
355
+ userAgent: event.requestContext.http.userAgent || void 0,
356
+ path: event.requestContext.http.path
357
+ }
358
+ };
359
+ }
360
+ constructor(envParser, endpoint, options = {}) {
361
+ super(envParser, endpoint, options);
362
+ this.envParser = envParser;
363
+ this.endpoint = endpoint;
364
+ }
365
+ };
366
+
367
+ //#endregion
368
+ //#region src/functions/FunctionExecutionWrapper.ts
369
+ var FunctionExecutionWrapper = class {
370
+ constructor(envParser, fn) {
371
+ this.envParser = envParser;
372
+ this.fn = fn;
373
+ }
374
+ _logger;
375
+ get logger() {
376
+ return this._logger || this.fn.logger;
377
+ }
378
+ get serviceDiscovery() {
379
+ const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
380
+ return serviceDiscovery;
381
+ }
382
+ getServices() {
383
+ return this.serviceDiscovery.register(this.fn.services);
384
+ }
385
+ async getDatabase() {
386
+ if (!this.fn.databaseService) return void 0;
387
+ const services = await this.serviceDiscovery.register([this.fn.databaseService]);
388
+ return services[this.fn.databaseService.serviceName];
389
+ }
390
+ /**
391
+ * Get the audit storage service if configured.
392
+ * Returns undefined if no auditor storage is configured.
393
+ */
394
+ async getAuditStorage() {
395
+ if (!this.fn.auditorStorageService) return void 0;
396
+ const services = await this.serviceDiscovery.register([this.fn.auditorStorageService]);
397
+ return services[this.fn.auditorStorageService.serviceName];
398
+ }
399
+ /**
400
+ * Create an auditor instance for the function.
401
+ * Returns undefined if no auditor storage is configured.
402
+ */
403
+ async createAuditor() {
404
+ const storage = await this.getAuditStorage();
405
+ if (!storage) return void 0;
406
+ return new __geekmidas_audit.DefaultAuditor({
407
+ actor: {
408
+ id: "system",
409
+ type: "system"
410
+ },
411
+ storage,
412
+ metadata: { function: this.fn.type }
413
+ });
414
+ }
415
+ /**
416
+ * Execute handler with audit transaction support.
417
+ * If the audit storage has a database (via getDatabase()), wraps execution
418
+ * in a transaction so audits are atomic with handler's database operations.
419
+ *
420
+ * @param handler - The handler function to execute (receives auditor and db)
421
+ * @returns The handler result
422
+ */
423
+ async executeWithAudit(handler) {
424
+ const auditor = await this.createAuditor();
425
+ const storage = await this.getAuditStorage();
426
+ if (!auditor || !storage) {
427
+ const db$1 = await this.getDatabase();
428
+ return handler({ db: db$1 });
429
+ }
430
+ const storageDb = storage.getDatabase?.();
431
+ const databaseServiceName = this.fn.databaseService?.serviceName;
432
+ const auditDbServiceName = this.fn.auditorStorageService?.serviceName;
433
+ if (storageDb && databaseServiceName && auditDbServiceName) return (0, __geekmidas_audit_kysely.withAuditableTransaction)(storageDb, auditor, async (trx) => {
434
+ const response$1 = await handler({
435
+ auditor,
436
+ db: trx
437
+ });
438
+ return response$1;
439
+ });
440
+ const db = await this.getDatabase();
441
+ const response = await handler({
442
+ auditor,
443
+ db
444
+ });
445
+ await auditor.flush();
446
+ return response;
447
+ }
448
+ async getFunctionInput(event) {
449
+ const parsedInput = await require_functions.FunctionBuilder.parseComposableStandardSchema(event, this.fn.input);
450
+ return parsedInput;
451
+ }
452
+ async publishEvents(response) {
453
+ await require_lazyAccessors.publishEvents(this.logger, this.serviceDiscovery, this.fn.events, response, this.fn.publisherService);
454
+ }
455
+ async parseComposableStandardSchema(data, schema) {
456
+ return require_functions.FunctionBuilder.parseComposableStandardSchema(data, schema);
457
+ }
458
+ };
459
+
460
+ //#endregion
461
+ //#region src/functions/AWSLambdaFunction.ts
462
+ var AWSLambdaFunction = class extends FunctionExecutionWrapper {
463
+ constructor(envParser, fn) {
464
+ super(envParser, fn);
465
+ this.fn = fn;
466
+ }
467
+ error() {
468
+ return { onError: (req) => {
469
+ const logger = req.event?.logger || this.fn.logger;
470
+ logger.error(req.error || {}, "Error processing function");
471
+ throw (0, __geekmidas_errors.wrapError)(req.error);
472
+ } };
473
+ }
474
+ baseInput() {
475
+ return { before: (_req) => {} };
476
+ }
477
+ input() {
478
+ return { before: async (req) => {
479
+ try {
480
+ if (this.fn.input) {
481
+ const parsedInput = await require_functions.FunctionBuilder.parseComposableStandardSchema(req.event, this.fn.input);
482
+ req.event.parsedInput = parsedInput;
483
+ } else req.event.parsedInput = req.event;
484
+ } catch (error) {
485
+ this.logger.error({
486
+ error,
487
+ event: req.event
488
+ }, "Failed to parse input");
489
+ throw error;
490
+ }
491
+ } };
492
+ }
493
+ loggerMiddleware() {
494
+ return { before: (req) => {
495
+ this._logger = this.fn.logger.child({
496
+ fn: {
497
+ name: req.context.functionName,
498
+ version: req.context.functionVersion,
499
+ memory: req.context.memoryLimitInMB
500
+ },
501
+ req: { id: req.context.awsRequestId }
502
+ });
503
+ req.event.logger = this._logger;
504
+ } };
505
+ }
506
+ services() {
507
+ return { before: async (req) => {
508
+ req.event.services = await this.getServices();
509
+ } };
510
+ }
511
+ database() {
512
+ return { before: async (req) => {
513
+ req.event.db = await this.getDatabase();
514
+ } };
515
+ }
516
+ auditor() {
517
+ return {
518
+ before: async (req) => {
519
+ req.event.auditor = await this.createAuditor();
520
+ },
521
+ after: async (req) => {
522
+ if (req.event.auditor) {
523
+ const records = req.event.auditor.getRecords();
524
+ if (records.length > 0) {
525
+ this.logger.debug({ auditCount: records.length }, "Flushing function audits");
526
+ await req.event.auditor.flush();
527
+ }
528
+ }
529
+ }
530
+ };
531
+ }
532
+ events() {
533
+ return { after: async (req) => {
534
+ const response = req.response || void 0;
535
+ await this.publishEvents(response);
536
+ } };
537
+ }
538
+ async _handler(event) {
539
+ const result = await this.fn.fn({
540
+ input: event.parsedInput,
541
+ services: event.services,
542
+ logger: event.logger,
543
+ db: event.db,
544
+ auditor: event.auditor
545
+ });
546
+ const output = await this.fn.parseOutput(result);
547
+ return output;
548
+ }
549
+ get handler() {
550
+ const handler = this._handler.bind(this);
551
+ const chain = (0, __middy_core.default)(handler).use(this.loggerMiddleware()).use(this.baseInput()).use(this.error()).use(this.services()).use(this.database()).use(this.auditor()).use(this.input()).use(this.events());
552
+ const wrappedHandler = async (event, context) => {
553
+ const startTime = Date.now();
554
+ const requestId = context.awsRequestId;
555
+ const logger = this.fn.logger.child({ requestId });
556
+ return (0, __geekmidas_services.runWithRequestContext)({
557
+ logger,
558
+ requestId,
559
+ startTime
560
+ }, () => chain(event, context));
561
+ };
562
+ return wrappedHandler;
563
+ }
564
+ };
565
+
566
+ //#endregion
567
+ //#region src/subscribers/AWSLambdaSubscriberAdaptor.ts
568
+ var AWSLambdaSubscriber = class {
569
+ _logger;
570
+ _services;
571
+ constructor(envParser, subscriber) {
572
+ this.envParser = envParser;
573
+ this.subscriber = subscriber;
574
+ this._logger = subscriber.logger;
575
+ }
576
+ get logger() {
577
+ return this._logger;
578
+ }
579
+ async getServices() {
580
+ if (this._services) return this._services;
581
+ const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
582
+ if (this.subscriber.services.length > 0) {
583
+ const registered = await serviceDiscovery.register(this.subscriber.services);
584
+ this._services = registered;
585
+ } else this._services = {};
586
+ return this._services;
587
+ }
588
+ error() {
589
+ return { onError: (req) => {
590
+ const logger = req.event?.logger || this.subscriber.logger;
591
+ logger.error(req.error || {}, "Error processing subscriber");
592
+ throw (0, __geekmidas_errors.wrapError)(req.error);
593
+ } };
594
+ }
595
+ loggerMiddleware() {
596
+ return { before: (req) => {
597
+ this._logger = this.subscriber.logger.child({
598
+ subscriber: {
599
+ name: req.context.functionName,
600
+ version: req.context.functionVersion,
601
+ memory: req.context.memoryLimitInMB
602
+ },
603
+ req: { id: req.context.awsRequestId }
604
+ });
605
+ req.event.logger = this._logger;
606
+ } };
607
+ }
608
+ services() {
609
+ return { before: async (req) => {
610
+ req.event.services = await this.getServices();
611
+ } };
612
+ }
613
+ parseEvents() {
614
+ return { before: async (req) => {
615
+ const { logger,...e } = req.event;
616
+ const rawEvent = e;
617
+ logger.info({ rawEvent });
618
+ const events = [];
619
+ if ("Records" in rawEvent) {
620
+ if (this.isSQSEvent(rawEvent)) for (const record of rawEvent.Records) try {
621
+ const event = this.parseSQSRecord(record);
622
+ if (this.shouldIncludeEvent(event)) events.push(event);
623
+ } catch (error) {
624
+ this.logger.error({
625
+ error,
626
+ record
627
+ }, "Failed to parse SQS record");
628
+ }
629
+ else if (this.isSNSEvent(rawEvent)) for (const record of rawEvent.Records) try {
630
+ const event = this.parseSNSRecord(record);
631
+ if (this.shouldIncludeEvent(event)) events.push(event);
632
+ } catch (error) {
633
+ this.logger.error({
634
+ error,
635
+ record
636
+ }, "Failed to parse SNS record");
637
+ }
638
+ }
639
+ req.event.events = events;
640
+ } };
641
+ }
642
+ isSQSEvent(event) {
643
+ const firstRecord = event.Records[0];
644
+ return "Records" in event && event.Records.length > 0 && firstRecord !== void 0 && "eventSource" in firstRecord && firstRecord.eventSource === "aws:sqs";
645
+ }
646
+ isSNSEvent(event) {
647
+ const firstRecord = event.Records[0];
648
+ return "Records" in event && event.Records.length > 0 && firstRecord !== void 0 && "EventSource" in firstRecord && firstRecord.EventSource === "aws:sns";
649
+ }
650
+ parseSNSRecord(record) {
651
+ const message = this.safeJsonParse(record.Sns.Message);
652
+ const messageType = record.Sns.MessageAttributes?.type?.Value;
653
+ if (message === null) return messageType ? {
654
+ type: messageType,
655
+ payload: record.Sns.Message
656
+ } : record.Sns.Message;
657
+ const resolvedType = messageType ?? message.type;
658
+ if (message.type) return message;
659
+ return resolvedType ? {
660
+ type: resolvedType,
661
+ payload: message
662
+ } : message;
663
+ }
664
+ parseSQSRecord(record) {
665
+ const body = this.safeJsonParse(record.body);
666
+ if (body === null) return record.body;
667
+ if (body.Type === "Notification" && body.Message) {
668
+ const snsMessage = this.safeJsonParse(body.Message);
669
+ const messageType = body.MessageAttributes?.type?.Value;
670
+ if (snsMessage === null) return messageType ? {
671
+ type: messageType,
672
+ payload: body.Message
673
+ } : body.Message;
674
+ if (snsMessage.type) return snsMessage;
675
+ const resolvedType = messageType ?? snsMessage.type;
676
+ return resolvedType ? {
677
+ type: resolvedType,
678
+ payload: snsMessage
679
+ } : snsMessage;
680
+ }
681
+ return body;
682
+ }
683
+ safeJsonParse(value) {
684
+ try {
685
+ return JSON.parse(value);
686
+ } catch {
687
+ return null;
688
+ }
689
+ }
690
+ shouldIncludeEvent(event) {
691
+ if (typeof event !== "object" || !event?.type) return true;
692
+ if (!this.subscriber.subscribedEvents) return true;
693
+ return this.subscriber.subscribedEvents.includes(event.type);
694
+ }
695
+ async _handler(event) {
696
+ if (event.events.length === 0) {
697
+ this.logger.info("No subscribed events to process");
698
+ return { batchItemFailures: [] };
699
+ }
700
+ const result = await this.subscriber.handler({
701
+ events: event.events,
702
+ services: event.services,
703
+ logger: event.logger
704
+ });
705
+ if (this.subscriber.outputSchema && result) {
706
+ const validationResult = await this.subscriber.outputSchema["~standard"].validate(result);
707
+ if (validationResult.issues) {
708
+ this.logger.error({ issues: validationResult.issues }, "Subscriber output validation failed");
709
+ throw new Error("Subscriber output validation failed");
710
+ }
711
+ return validationResult.value;
712
+ }
713
+ return result;
714
+ }
715
+ get handler() {
716
+ const handler = this._handler.bind(this);
717
+ const chain = (0, __middy_core.default)(handler).use(this.loggerMiddleware()).use(this.parseEvents()).use(this.error()).use(this.services());
718
+ const wrappedHandler = async (event, context) => {
719
+ const startTime = Date.now();
720
+ const requestId = context.awsRequestId;
721
+ const logger = this.subscriber.logger.child({ requestId });
722
+ return (0, __geekmidas_services.runWithRequestContext)({
723
+ logger,
724
+ requestId,
725
+ startTime
726
+ }, () => chain(event, context));
727
+ };
728
+ return wrappedHandler;
729
+ }
730
+ };
731
+
732
+ //#endregion
733
+ exports.AWSLambdaFunction = AWSLambdaFunction;
734
+ exports.AWSLambdaSubscriber = AWSLambdaSubscriber;
735
+ exports.AmazonApiGatewayV1Endpoint = AmazonApiGatewayV1Endpoint;
736
+ exports.AmazonApiGatewayV2Endpoint = AmazonApiGatewayV2Endpoint;
737
+ //# sourceMappingURL=aws.cjs.map