@geekmidas/constructs 3.0.7 → 3.0.9

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 (467) 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-BjpXFNxy.d.mts → Construct-CXqvzglu.d.cts} +11 -6
  5. package/dist/{Construct-BjpXFNxy.d.mts.map → Construct-CXqvzglu.d.cts.map} +1 -1
  6. package/dist/{Construct-CQ9zV58W.mjs → Construct-CdJY2DJS.mjs} +83 -9
  7. package/dist/Construct-CdJY2DJS.mjs.map +1 -0
  8. package/dist/{Construct-CX7HyFfT.d.cts → Construct-D0n7QTaI.d.mts} +13 -8
  9. package/dist/Construct-D0n7QTaI.d.mts.map +1 -0
  10. package/dist/{Endpoint-CGdCGJkC.d.cts → Endpoint-CE7qHX5S.d.cts} +143 -28
  11. package/dist/Endpoint-CE7qHX5S.d.cts.map +1 -0
  12. package/dist/{Endpoint-BET0JSZK.d.mts → Endpoint-NvjIednd.d.mts} +143 -28
  13. package/dist/Endpoint-NvjIednd.d.mts.map +1 -0
  14. package/dist/{HonoEndpointAdaptor-B5fKdLi7.cjs → HonoEndpointAdaptor-Dl8BW_9u.cjs} +91 -25
  15. package/dist/HonoEndpointAdaptor-Dl8BW_9u.cjs.map +1 -0
  16. package/dist/{HonoEndpointAdaptor-DOUODM7n.mjs → HonoEndpointAdaptor-nHYMdbBi.mjs} +74 -8
  17. package/dist/HonoEndpointAdaptor-nHYMdbBi.mjs.map +1 -0
  18. package/dist/{Subscriber-1rDE7HuM.d.cts → Subscriber-D8WkA8np.d.cts} +3 -3
  19. package/dist/{Subscriber-1rDE7HuM.d.cts.map → Subscriber-D8WkA8np.d.cts.map} +1 -1
  20. package/dist/{Subscriber-9ObcUdcC.d.mts → Subscriber-Tft61-YG.d.mts} +5 -5
  21. package/dist/Subscriber-Tft61-YG.d.mts.map +1 -0
  22. package/dist/adaptors/aws.cjs +742 -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 +739 -18
  29. package/dist/adaptors/aws.mjs.map +1 -0
  30. package/dist/adaptors/hono.cjs +5 -12
  31. package/dist/adaptors/hono.d.cts +52 -10
  32. package/dist/adaptors/hono.d.cts.map +1 -0
  33. package/dist/adaptors/hono.d.mts +52 -10
  34. package/dist/adaptors/hono.d.mts.map +1 -0
  35. package/dist/adaptors/hono.mjs +5 -12
  36. package/dist/adaptors/testing.cjs +392 -21
  37. package/dist/adaptors/testing.cjs.map +1 -0
  38. package/dist/adaptors/testing.d.cts +177 -14
  39. package/dist/adaptors/testing.d.cts.map +1 -0
  40. package/dist/adaptors/testing.d.mts +177 -14
  41. package/dist/adaptors/testing.d.mts.map +1 -0
  42. package/dist/adaptors/testing.mjs +388 -17
  43. package/dist/adaptors/testing.mjs.map +1 -0
  44. package/dist/crons/index.cjs +82 -10
  45. package/dist/crons/index.cjs.map +1 -1
  46. package/dist/crons/index.d.cts +44 -7
  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 +741 -23
  53. package/dist/endpoints/index.cjs.map +1 -1
  54. package/dist/endpoints/index.d.cts +336 -14
  55. package/dist/endpoints/index.d.cts.map +1 -1
  56. package/dist/endpoints/index.d.mts +335 -14
  57. package/dist/endpoints/index.d.mts.map +1 -1
  58. package/dist/endpoints/index.mjs +730 -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-5h-aWohM.mjs +1894 -0
  77. package/dist/lazyAccessors-5h-aWohM.mjs.map +1 -0
  78. package/dist/lazyAccessors-Bc1u42WC.cjs +1971 -0
  79. package/dist/lazyAccessors-Bc1u42WC.cjs.map +1 -0
  80. package/dist/processAudits-B0PbJf1Z.mjs +80 -0
  81. package/dist/processAudits-B0PbJf1Z.mjs.map +1 -0
  82. package/dist/processAudits-CUko08pi.cjs +92 -0
  83. package/dist/processAudits-CUko08pi.cjs.map +1 -0
  84. package/dist/subscribers/index.cjs +77 -6
  85. package/dist/subscribers/index.cjs.map +1 -1
  86. package/dist/subscribers/index.d.cts +27 -5
  87. package/dist/subscribers/index.d.cts.map +1 -1
  88. package/dist/subscribers/index.d.mts +26 -5
  89. package/dist/subscribers/index.d.mts.map +1 -1
  90. package/dist/subscribers/index.mjs +74 -3
  91. package/dist/subscribers/index.mjs.map +1 -1
  92. package/dist/{telemetry-BTaiRqPo.d.cts → telemetry-Bt0vK4ma.d.cts} +1 -1
  93. package/dist/{telemetry-BJo1gcV1.d.mts.map → telemetry-Bt0vK4ma.d.cts.map} +1 -1
  94. package/dist/{telemetry-BJo1gcV1.d.mts → telemetry-COvVBKBM.d.mts} +1 -1
  95. package/dist/{telemetry-BTaiRqPo.d.cts.map → telemetry-COvVBKBM.d.mts.map} +1 -1
  96. package/dist/{types-B5H3piDg.d.cts → types-B8YlI4cx.d.cts} +1 -1
  97. package/dist/{types-B5H3piDg.d.cts.map → types-B8YlI4cx.d.cts.map} +1 -1
  98. package/dist/{types-BqPOdHEm.d.mts → types-BA3eK4xj.d.mts} +1 -1
  99. package/dist/{types-BqPOdHEm.d.mts.map → types-BA3eK4xj.d.mts.map} +1 -1
  100. package/dist/types.d.cts +1 -1
  101. package/dist/types.d.mts +1 -1
  102. package/package.json +12 -12
  103. package/src/Construct.ts +26 -8
  104. package/src/__tests__/Construct.environment.spec.ts +123 -0
  105. package/src/endpoints/AmazonApiGatewayEndpointAdaptor.ts +23 -4
  106. package/src/endpoints/Endpoint.ts +14 -1
  107. package/src/endpoints/EndpointBuilder.ts +25 -0
  108. package/src/endpoints/HonoEndpointAdaptor.ts +24 -1
  109. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.responseType.spec.ts +111 -0
  110. package/src/endpoints/__tests__/Endpoint.spec.ts +29 -0
  111. package/src/endpoints/__tests__/EndpointBuilder.responseType.spec.ts +47 -0
  112. package/src/endpoints/__tests__/HonoEndpointAdaptor.responseType.spec.ts +128 -0
  113. package/src/endpoints/__tests__/MswEndpointAdaptor.spec.ts +1 -9
  114. package/tsdown.config.ts +30 -1
  115. package/dist/AWSLambdaFunction-CC8gMZhz.d.mts +0 -32
  116. package/dist/AWSLambdaFunction-CC8gMZhz.d.mts.map +0 -1
  117. package/dist/AWSLambdaFunction-CPEAl5nZ.cjs +0 -120
  118. package/dist/AWSLambdaFunction-CPEAl5nZ.cjs.map +0 -1
  119. package/dist/AWSLambdaFunction-DJiCAPAf.mjs +0 -114
  120. package/dist/AWSLambdaFunction-DJiCAPAf.mjs.map +0 -1
  121. package/dist/AWSLambdaFunction-tzqv5XU6.d.cts +0 -32
  122. package/dist/AWSLambdaFunction-tzqv5XU6.d.cts.map +0 -1
  123. package/dist/AWSLambdaSubscriberAdaptor-Cj1wjkUP.d.cts +0 -36
  124. package/dist/AWSLambdaSubscriberAdaptor-Cj1wjkUP.d.cts.map +0 -1
  125. package/dist/AWSLambdaSubscriberAdaptor-Cmx9OQGG.d.mts +0 -36
  126. package/dist/AWSLambdaSubscriberAdaptor-Cmx9OQGG.d.mts.map +0 -1
  127. package/dist/AWSLambdaSubscriberAdaptor-RKwKYLl1.mjs +0 -172
  128. package/dist/AWSLambdaSubscriberAdaptor-RKwKYLl1.mjs.map +0 -1
  129. package/dist/AWSLambdaSubscriberAdaptor-eZ3qoKvK.cjs +0 -178
  130. package/dist/AWSLambdaSubscriberAdaptor-eZ3qoKvK.cjs.map +0 -1
  131. package/dist/AmazonApiGatewayEndpointAdaptor-BIltcbAc.cjs +0 -277
  132. package/dist/AmazonApiGatewayEndpointAdaptor-BIltcbAc.cjs.map +0 -1
  133. package/dist/AmazonApiGatewayEndpointAdaptor-BpYtYCeW.mjs +0 -271
  134. package/dist/AmazonApiGatewayEndpointAdaptor-BpYtYCeW.mjs.map +0 -1
  135. package/dist/AmazonApiGatewayEndpointAdaptor-DA0rS_1Y.d.mts +0 -124
  136. package/dist/AmazonApiGatewayEndpointAdaptor-DA0rS_1Y.d.mts.map +0 -1
  137. package/dist/AmazonApiGatewayEndpointAdaptor-DqNcQGMf.d.cts +0 -124
  138. package/dist/AmazonApiGatewayEndpointAdaptor-DqNcQGMf.d.cts.map +0 -1
  139. package/dist/AmazonApiGatewayV1EndpointAdaptor-C7rJzNvG.d.mts +0 -23
  140. package/dist/AmazonApiGatewayV1EndpointAdaptor-C7rJzNvG.d.mts.map +0 -1
  141. package/dist/AmazonApiGatewayV1EndpointAdaptor-CRwyWT6t.mjs +0 -42
  142. package/dist/AmazonApiGatewayV1EndpointAdaptor-CRwyWT6t.mjs.map +0 -1
  143. package/dist/AmazonApiGatewayV1EndpointAdaptor-DEETT6Wj.cjs +0 -47
  144. package/dist/AmazonApiGatewayV1EndpointAdaptor-DEETT6Wj.cjs.map +0 -1
  145. package/dist/AmazonApiGatewayV1EndpointAdaptor-DcN2fYsv.d.cts +0 -23
  146. package/dist/AmazonApiGatewayV1EndpointAdaptor-DcN2fYsv.d.cts.map +0 -1
  147. package/dist/AmazonApiGatewayV2EndpointAdaptor-C2qO8FN6.cjs +0 -48
  148. package/dist/AmazonApiGatewayV2EndpointAdaptor-C2qO8FN6.cjs.map +0 -1
  149. package/dist/AmazonApiGatewayV2EndpointAdaptor-Cn9UoRgB.d.cts +0 -22
  150. package/dist/AmazonApiGatewayV2EndpointAdaptor-Cn9UoRgB.d.cts.map +0 -1
  151. package/dist/AmazonApiGatewayV2EndpointAdaptor-d7NP-bZX.d.mts +0 -22
  152. package/dist/AmazonApiGatewayV2EndpointAdaptor-d7NP-bZX.d.mts.map +0 -1
  153. package/dist/AmazonApiGatewayV2EndpointAdaptor-m9YKI294.mjs +0 -42
  154. package/dist/AmazonApiGatewayV2EndpointAdaptor-m9YKI294.mjs.map +0 -1
  155. package/dist/Authorizer-BZ1LcZFt.cjs +0 -92
  156. package/dist/Authorizer-BZ1LcZFt.cjs.map +0 -1
  157. package/dist/Authorizer-C5_FC_Rq.d.mts +0 -126
  158. package/dist/Authorizer-C5_FC_Rq.d.mts.map +0 -1
  159. package/dist/Authorizer-CZpg1Jqk.mjs +0 -68
  160. package/dist/Authorizer-CZpg1Jqk.mjs.map +0 -1
  161. package/dist/Authorizer-DWtwC8we.d.cts +0 -126
  162. package/dist/Authorizer-DWtwC8we.d.cts.map +0 -1
  163. package/dist/BaseFunctionBuilder-C-4hYTfj.d.cts +0 -42
  164. package/dist/BaseFunctionBuilder-C-4hYTfj.d.cts.map +0 -1
  165. package/dist/BaseFunctionBuilder-C3rQMoWb.mjs +0 -70
  166. package/dist/BaseFunctionBuilder-C3rQMoWb.mjs.map +0 -1
  167. package/dist/BaseFunctionBuilder-DXf6HK-N.cjs +0 -76
  168. package/dist/BaseFunctionBuilder-DXf6HK-N.cjs.map +0 -1
  169. package/dist/BaseFunctionBuilder-Q5qIlF-F.d.mts +0 -42
  170. package/dist/BaseFunctionBuilder-Q5qIlF-F.d.mts.map +0 -1
  171. package/dist/Construct-BXG8cFSm.cjs.map +0 -1
  172. package/dist/Construct-CQ9zV58W.mjs.map +0 -1
  173. package/dist/Construct-CX7HyFfT.d.cts.map +0 -1
  174. package/dist/Construct.cjs +0 -6
  175. package/dist/Construct.d.cts +0 -2
  176. package/dist/Construct.d.mts +0 -2
  177. package/dist/Construct.mjs +0 -3
  178. package/dist/Cron-BljK1gsV.d.mts +0 -26
  179. package/dist/Cron-BljK1gsV.d.mts.map +0 -1
  180. package/dist/Cron-C1vyfJ8B.cjs +0 -25
  181. package/dist/Cron-C1vyfJ8B.cjs.map +0 -1
  182. package/dist/Cron-CjWQEad0.mjs +0 -20
  183. package/dist/Cron-CjWQEad0.mjs.map +0 -1
  184. package/dist/Cron-CllHkk3z.d.cts +0 -26
  185. package/dist/Cron-CllHkk3z.d.cts.map +0 -1
  186. package/dist/CronBuilder-CAJFtnmZ.mjs +0 -68
  187. package/dist/CronBuilder-CAJFtnmZ.mjs.map +0 -1
  188. package/dist/CronBuilder-CG54f9LM.d.mts +0 -32
  189. package/dist/CronBuilder-CG54f9LM.d.mts.map +0 -1
  190. package/dist/CronBuilder-CSMd02lu.cjs +0 -74
  191. package/dist/CronBuilder-CSMd02lu.cjs.map +0 -1
  192. package/dist/CronBuilder-i23l40xs.d.cts +0 -32
  193. package/dist/CronBuilder-i23l40xs.d.cts.map +0 -1
  194. package/dist/Endpoint-BET0JSZK.d.mts.map +0 -1
  195. package/dist/Endpoint-BcxvF4F3.cjs +0 -440
  196. package/dist/Endpoint-BcxvF4F3.cjs.map +0 -1
  197. package/dist/Endpoint-CGdCGJkC.d.cts.map +0 -1
  198. package/dist/Endpoint-DvY3aqAy.mjs +0 -422
  199. package/dist/Endpoint-DvY3aqAy.mjs.map +0 -1
  200. package/dist/EndpointBuilder-6kdrQyIh.d.mts +0 -146
  201. package/dist/EndpointBuilder-6kdrQyIh.d.mts.map +0 -1
  202. package/dist/EndpointBuilder-CSwIguiR.d.cts +0 -146
  203. package/dist/EndpointBuilder-CSwIguiR.d.cts.map +0 -1
  204. package/dist/EndpointBuilder-EptJojG9.cjs +0 -268
  205. package/dist/EndpointBuilder-EptJojG9.cjs.map +0 -1
  206. package/dist/EndpointBuilder-iDpnACRb.mjs +0 -262
  207. package/dist/EndpointBuilder-iDpnACRb.mjs.map +0 -1
  208. package/dist/EndpointFactory-CBagQW5j.d.mts +0 -142
  209. package/dist/EndpointFactory-CBagQW5j.d.mts.map +0 -1
  210. package/dist/EndpointFactory-D2QxeaAh.cjs +0 -393
  211. package/dist/EndpointFactory-D2QxeaAh.cjs.map +0 -1
  212. package/dist/EndpointFactory-DQYSH8XK.d.cts +0 -142
  213. package/dist/EndpointFactory-DQYSH8XK.d.cts.map +0 -1
  214. package/dist/EndpointFactory-wgcqWod-.mjs +0 -381
  215. package/dist/EndpointFactory-wgcqWod-.mjs.map +0 -1
  216. package/dist/Function-CwlB89lS.d.cts +0 -76
  217. package/dist/Function-CwlB89lS.d.cts.map +0 -1
  218. package/dist/Function-D74HrBnX.d.mts +0 -76
  219. package/dist/Function-D74HrBnX.d.mts.map +0 -1
  220. package/dist/Function-DgQ_no6B.cjs +0 -84
  221. package/dist/Function-DgQ_no6B.cjs.map +0 -1
  222. package/dist/Function-xfQbftdE.mjs +0 -72
  223. package/dist/Function-xfQbftdE.mjs.map +0 -1
  224. package/dist/FunctionBuilder-CBeqX18X.mjs +0 -80
  225. package/dist/FunctionBuilder-CBeqX18X.mjs.map +0 -1
  226. package/dist/FunctionBuilder-C_qPxC8g.d.mts +0 -40
  227. package/dist/FunctionBuilder-C_qPxC8g.d.mts.map +0 -1
  228. package/dist/FunctionBuilder-C_xG9As7.cjs +0 -86
  229. package/dist/FunctionBuilder-C_xG9As7.cjs.map +0 -1
  230. package/dist/FunctionBuilder-D_7f5MfS.d.cts +0 -40
  231. package/dist/FunctionBuilder-D_7f5MfS.d.cts.map +0 -1
  232. package/dist/FunctionExecutionWrapper-B0ZAssiy.mjs +0 -101
  233. package/dist/FunctionExecutionWrapper-B0ZAssiy.mjs.map +0 -1
  234. package/dist/FunctionExecutionWrapper-Cg8HjuHL.d.cts +0 -50
  235. package/dist/FunctionExecutionWrapper-Cg8HjuHL.d.cts.map +0 -1
  236. package/dist/FunctionExecutionWrapper-KKHP6fDY.cjs +0 -107
  237. package/dist/FunctionExecutionWrapper-KKHP6fDY.cjs.map +0 -1
  238. package/dist/FunctionExecutionWrapper-xbTmBARx.d.mts +0 -50
  239. package/dist/FunctionExecutionWrapper-xbTmBARx.d.mts.map +0 -1
  240. package/dist/HonoEndpointAdaptor-B5fKdLi7.cjs.map +0 -1
  241. package/dist/HonoEndpointAdaptor-C2deTEwW.d.mts +0 -50
  242. package/dist/HonoEndpointAdaptor-C2deTEwW.d.mts.map +0 -1
  243. package/dist/HonoEndpointAdaptor-D3IgM-0B.d.cts +0 -50
  244. package/dist/HonoEndpointAdaptor-D3IgM-0B.d.cts.map +0 -1
  245. package/dist/HonoEndpointAdaptor-DOUODM7n.mjs.map +0 -1
  246. package/dist/MswEndpointAdaptor-B41INCc7.mjs +0 -108
  247. package/dist/MswEndpointAdaptor-B41INCc7.mjs.map +0 -1
  248. package/dist/MswEndpointAdaptor-CA_fu6Wx.cjs +0 -120
  249. package/dist/MswEndpointAdaptor-CA_fu6Wx.cjs.map +0 -1
  250. package/dist/MswEndpointAdaptor-CXgYbOxw.d.mts +0 -101
  251. package/dist/MswEndpointAdaptor-CXgYbOxw.d.mts.map +0 -1
  252. package/dist/MswEndpointAdaptor-CsYvrQeB.d.cts +0 -101
  253. package/dist/MswEndpointAdaptor-CsYvrQeB.d.cts.map +0 -1
  254. package/dist/Subscriber-9ObcUdcC.d.mts.map +0 -1
  255. package/dist/Subscriber-BH76wgkL.mjs +0 -28
  256. package/dist/Subscriber-BH76wgkL.mjs.map +0 -1
  257. package/dist/Subscriber-BgspJeS4.cjs +0 -34
  258. package/dist/Subscriber-BgspJeS4.cjs.map +0 -1
  259. package/dist/SubscriberBuilder-B4md5wzs.mjs +0 -54
  260. package/dist/SubscriberBuilder-B4md5wzs.mjs.map +0 -1
  261. package/dist/SubscriberBuilder-Be7WBbCL.d.cts +0 -28
  262. package/dist/SubscriberBuilder-Be7WBbCL.d.cts.map +0 -1
  263. package/dist/SubscriberBuilder-BtL22ZJ9.cjs +0 -60
  264. package/dist/SubscriberBuilder-BtL22ZJ9.cjs.map +0 -1
  265. package/dist/SubscriberBuilder-DsfIkgTF.d.mts +0 -28
  266. package/dist/SubscriberBuilder-DsfIkgTF.d.mts.map +0 -1
  267. package/dist/TestEndpointAdaptor-BFmgf7Fn.mjs +0 -174
  268. package/dist/TestEndpointAdaptor-BFmgf7Fn.mjs.map +0 -1
  269. package/dist/TestEndpointAdaptor-C79Z-QS4.d.mts +0 -45
  270. package/dist/TestEndpointAdaptor-C79Z-QS4.d.mts.map +0 -1
  271. package/dist/TestEndpointAdaptor-DYLDyAAC.cjs +0 -180
  272. package/dist/TestEndpointAdaptor-DYLDyAAC.cjs.map +0 -1
  273. package/dist/TestEndpointAdaptor-pM8yskbb.d.cts +0 -45
  274. package/dist/TestEndpointAdaptor-pM8yskbb.d.cts.map +0 -1
  275. package/dist/TestFunctionAdaptor-B859kIeb.cjs +0 -81
  276. package/dist/TestFunctionAdaptor-B859kIeb.cjs.map +0 -1
  277. package/dist/TestFunctionAdaptor-C0A-VqnM.d.mts +0 -30
  278. package/dist/TestFunctionAdaptor-C0A-VqnM.d.mts.map +0 -1
  279. package/dist/TestFunctionAdaptor-CqdSlhx1.mjs +0 -75
  280. package/dist/TestFunctionAdaptor-CqdSlhx1.mjs.map +0 -1
  281. package/dist/TestFunctionAdaptor-Dbq55dKP.d.cts +0 -30
  282. package/dist/TestFunctionAdaptor-Dbq55dKP.d.cts.map +0 -1
  283. package/dist/TestSubscriberAdaptor-BEyCFP9G.d.mts +0 -26
  284. package/dist/TestSubscriberAdaptor-BEyCFP9G.d.mts.map +0 -1
  285. package/dist/TestSubscriberAdaptor-BknOLRQw.d.cts +0 -26
  286. package/dist/TestSubscriberAdaptor-BknOLRQw.d.cts.map +0 -1
  287. package/dist/TestSubscriberAdaptor-CCcviuKa.mjs +0 -51
  288. package/dist/TestSubscriberAdaptor-CCcviuKa.mjs.map +0 -1
  289. package/dist/TestSubscriberAdaptor-_69o1d0f.cjs +0 -57
  290. package/dist/TestSubscriberAdaptor-_69o1d0f.cjs.map +0 -1
  291. package/dist/chunk-CUT6urMc.cjs +0 -30
  292. package/dist/crons/Cron.cjs +0 -8
  293. package/dist/crons/Cron.d.cts +0 -7
  294. package/dist/crons/Cron.d.mts +0 -7
  295. package/dist/crons/Cron.mjs +0 -8
  296. package/dist/crons/CronBuilder.cjs +0 -9
  297. package/dist/crons/CronBuilder.d.cts +0 -8
  298. package/dist/crons/CronBuilder.d.mts +0 -8
  299. package/dist/crons/CronBuilder.mjs +0 -9
  300. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +0 -11
  301. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +0 -11
  302. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +0 -11
  303. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +0 -11
  304. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +0 -13
  305. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +0 -12
  306. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +0 -12
  307. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +0 -13
  308. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +0 -13
  309. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +0 -12
  310. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +0 -12
  311. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +0 -13
  312. package/dist/endpoints/Authorizer.cjs +0 -6
  313. package/dist/endpoints/Authorizer.d.cts +0 -2
  314. package/dist/endpoints/Authorizer.d.mts +0 -2
  315. package/dist/endpoints/Authorizer.mjs +0 -3
  316. package/dist/endpoints/Endpoint.cjs +0 -10
  317. package/dist/endpoints/Endpoint.d.cts +0 -9
  318. package/dist/endpoints/Endpoint.d.mts +0 -9
  319. package/dist/endpoints/Endpoint.mjs +0 -8
  320. package/dist/endpoints/EndpointBuilder.cjs +0 -11
  321. package/dist/endpoints/EndpointBuilder.d.cts +0 -10
  322. package/dist/endpoints/EndpointBuilder.d.mts +0 -10
  323. package/dist/endpoints/EndpointBuilder.mjs +0 -11
  324. package/dist/endpoints/EndpointFactory.cjs +0 -13
  325. package/dist/endpoints/EndpointFactory.d.cts +0 -11
  326. package/dist/endpoints/EndpointFactory.d.mts +0 -11
  327. package/dist/endpoints/EndpointFactory.mjs +0 -12
  328. package/dist/endpoints/HonoEndpointAdaptor.cjs +0 -14
  329. package/dist/endpoints/HonoEndpointAdaptor.d.cts +0 -10
  330. package/dist/endpoints/HonoEndpointAdaptor.d.mts +0 -10
  331. package/dist/endpoints/HonoEndpointAdaptor.mjs +0 -14
  332. package/dist/endpoints/MswEndpointAdaptor.cjs +0 -16
  333. package/dist/endpoints/MswEndpointAdaptor.d.cts +0 -10
  334. package/dist/endpoints/MswEndpointAdaptor.d.mts +0 -10
  335. package/dist/endpoints/MswEndpointAdaptor.mjs +0 -15
  336. package/dist/endpoints/TestEndpointAdaptor.cjs +0 -12
  337. package/dist/endpoints/TestEndpointAdaptor.d.cts +0 -10
  338. package/dist/endpoints/TestEndpointAdaptor.d.mts +0 -10
  339. package/dist/endpoints/TestEndpointAdaptor.mjs +0 -12
  340. package/dist/endpoints/audit.cjs +0 -0
  341. package/dist/endpoints/audit.d.cts +0 -9
  342. package/dist/endpoints/audit.d.mts +0 -9
  343. package/dist/endpoints/audit.mjs +0 -0
  344. package/dist/endpoints/helpers.cjs +0 -10
  345. package/dist/endpoints/helpers.d.cts +0 -60
  346. package/dist/endpoints/helpers.d.cts.map +0 -1
  347. package/dist/endpoints/helpers.d.mts +0 -60
  348. package/dist/endpoints/helpers.d.mts.map +0 -1
  349. package/dist/endpoints/helpers.mjs +0 -9
  350. package/dist/endpoints/lazyAccessors.cjs +0 -10
  351. package/dist/endpoints/lazyAccessors.d.cts +0 -10
  352. package/dist/endpoints/lazyAccessors.d.mts +0 -10
  353. package/dist/endpoints/lazyAccessors.mjs +0 -3
  354. package/dist/endpoints/parseHonoQuery.cjs +0 -3
  355. package/dist/endpoints/parseHonoQuery.d.cts +0 -14
  356. package/dist/endpoints/parseHonoQuery.d.cts.map +0 -1
  357. package/dist/endpoints/parseHonoQuery.d.mts +0 -14
  358. package/dist/endpoints/parseHonoQuery.d.mts.map +0 -1
  359. package/dist/endpoints/parseHonoQuery.mjs +0 -3
  360. package/dist/endpoints/parseQueryParams.cjs +0 -3
  361. package/dist/endpoints/parseQueryParams.d.cts +0 -14
  362. package/dist/endpoints/parseQueryParams.d.cts.map +0 -1
  363. package/dist/endpoints/parseQueryParams.d.mts +0 -14
  364. package/dist/endpoints/parseQueryParams.d.mts.map +0 -1
  365. package/dist/endpoints/parseQueryParams.mjs +0 -3
  366. package/dist/endpoints/processAudits.cjs +0 -5
  367. package/dist/endpoints/processAudits.d.cts +0 -95
  368. package/dist/endpoints/processAudits.d.cts.map +0 -1
  369. package/dist/endpoints/processAudits.d.mts +0 -95
  370. package/dist/endpoints/processAudits.d.mts.map +0 -1
  371. package/dist/endpoints/processAudits.mjs +0 -3
  372. package/dist/endpoints/rls.cjs +0 -3
  373. package/dist/endpoints/rls.d.cts +0 -9
  374. package/dist/endpoints/rls.d.mts +0 -9
  375. package/dist/endpoints/rls.mjs +0 -3
  376. package/dist/functions/AWSLambdaFunction.cjs +0 -9
  377. package/dist/functions/AWSLambdaFunction.d.cts +0 -5
  378. package/dist/functions/AWSLambdaFunction.d.mts +0 -5
  379. package/dist/functions/AWSLambdaFunction.mjs +0 -9
  380. package/dist/functions/BaseFunctionBuilder.cjs +0 -4
  381. package/dist/functions/BaseFunctionBuilder.d.cts +0 -3
  382. package/dist/functions/BaseFunctionBuilder.d.mts +0 -3
  383. package/dist/functions/BaseFunctionBuilder.mjs +0 -4
  384. package/dist/functions/Function.cjs +0 -5
  385. package/dist/functions/Function.d.cts +0 -3
  386. package/dist/functions/Function.d.mts +0 -3
  387. package/dist/functions/Function.mjs +0 -4
  388. package/dist/functions/FunctionBuilder.cjs +0 -6
  389. package/dist/functions/FunctionBuilder.d.cts +0 -5
  390. package/dist/functions/FunctionBuilder.d.mts +0 -5
  391. package/dist/functions/FunctionBuilder.mjs +0 -6
  392. package/dist/functions/FunctionExecutionWrapper.cjs +0 -8
  393. package/dist/functions/FunctionExecutionWrapper.d.cts +0 -4
  394. package/dist/functions/FunctionExecutionWrapper.d.mts +0 -4
  395. package/dist/functions/FunctionExecutionWrapper.mjs +0 -8
  396. package/dist/functions/TestFunctionAdaptor.cjs +0 -8
  397. package/dist/functions/TestFunctionAdaptor.d.cts +0 -4
  398. package/dist/functions/TestFunctionAdaptor.d.mts +0 -4
  399. package/dist/functions/TestFunctionAdaptor.mjs +0 -8
  400. package/dist/functions-B1mrMoUH.mjs +0 -8
  401. package/dist/functions-B1mrMoUH.mjs.map +0 -1
  402. package/dist/functions-rOD3pXQd.cjs +0 -13
  403. package/dist/functions-rOD3pXQd.cjs.map +0 -1
  404. package/dist/helpers-BYyX0qTA.cjs +0 -95
  405. package/dist/helpers-BYyX0qTA.cjs.map +0 -1
  406. package/dist/helpers-BtwC2IW8.mjs +0 -83
  407. package/dist/helpers-BtwC2IW8.mjs.map +0 -1
  408. package/dist/index-BfeupgMl.d.cts +0 -12
  409. package/dist/index-BfeupgMl.d.cts.map +0 -1
  410. package/dist/index-Cg2UDz1r.d.mts +0 -12
  411. package/dist/index-Cg2UDz1r.d.mts.map +0 -1
  412. package/dist/lazyAccessors-BVEtB9lU.cjs +0 -223
  413. package/dist/lazyAccessors-BVEtB9lU.cjs.map +0 -1
  414. package/dist/lazyAccessors-Bxy5DBp4.d.cts +0 -49
  415. package/dist/lazyAccessors-Bxy5DBp4.d.cts.map +0 -1
  416. package/dist/lazyAccessors-CWFdtzSR.d.mts +0 -49
  417. package/dist/lazyAccessors-CWFdtzSR.d.mts.map +0 -1
  418. package/dist/lazyAccessors-DM6HcXQk.mjs +0 -175
  419. package/dist/lazyAccessors-DM6HcXQk.mjs.map +0 -1
  420. package/dist/parseHonoQuery-BBs8CX-H.cjs +0 -24
  421. package/dist/parseHonoQuery-BBs8CX-H.cjs.map +0 -1
  422. package/dist/parseHonoQuery-Cp8CII0P.mjs +0 -18
  423. package/dist/parseHonoQuery-Cp8CII0P.mjs.map +0 -1
  424. package/dist/parseQueryParams-B4RK1za3.cjs +0 -31
  425. package/dist/parseQueryParams-B4RK1za3.cjs.map +0 -1
  426. package/dist/parseQueryParams-DS3Qmrbd.mjs +0 -25
  427. package/dist/parseQueryParams-DS3Qmrbd.mjs.map +0 -1
  428. package/dist/processAudits-CzHkPokQ.cjs +0 -180
  429. package/dist/processAudits-CzHkPokQ.cjs.map +0 -1
  430. package/dist/processAudits-Dj8UGqcW.mjs +0 -162
  431. package/dist/processAudits-Dj8UGqcW.mjs.map +0 -1
  432. package/dist/publisher-BUDHcaz3.d.cts +0 -16
  433. package/dist/publisher-BUDHcaz3.d.cts.map +0 -1
  434. package/dist/publisher-Bw4770Hi.mjs +0 -41
  435. package/dist/publisher-Bw4770Hi.mjs.map +0 -1
  436. package/dist/publisher-DXglijK_.d.mts +0 -16
  437. package/dist/publisher-DXglijK_.d.mts.map +0 -1
  438. package/dist/publisher-lFQleddL.cjs +0 -53
  439. package/dist/publisher-lFQleddL.cjs.map +0 -1
  440. package/dist/publisher.cjs +0 -4
  441. package/dist/publisher.d.cts +0 -3
  442. package/dist/publisher.d.mts +0 -3
  443. package/dist/publisher.mjs +0 -3
  444. package/dist/rls-C0r4UKVm.mjs +0 -9
  445. package/dist/rls-C0r4UKVm.mjs.map +0 -1
  446. package/dist/rls-Cfb6w-tQ.cjs +0 -15
  447. package/dist/rls-Cfb6w-tQ.cjs.map +0 -1
  448. package/dist/subscribers/AWSLambdaSubscriberAdaptor.cjs +0 -3
  449. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.cts +0 -4
  450. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +0 -4
  451. package/dist/subscribers/AWSLambdaSubscriberAdaptor.mjs +0 -3
  452. package/dist/subscribers/Subscriber.cjs +0 -4
  453. package/dist/subscribers/Subscriber.d.cts +0 -3
  454. package/dist/subscribers/Subscriber.d.mts +0 -3
  455. package/dist/subscribers/Subscriber.mjs +0 -4
  456. package/dist/subscribers/SubscriberBuilder.cjs +0 -5
  457. package/dist/subscribers/SubscriberBuilder.d.cts +0 -4
  458. package/dist/subscribers/SubscriberBuilder.d.mts +0 -4
  459. package/dist/subscribers/SubscriberBuilder.mjs +0 -5
  460. package/dist/subscribers/TestSubscriberAdaptor.cjs +0 -4
  461. package/dist/subscribers/TestSubscriberAdaptor.d.cts +0 -4
  462. package/dist/subscribers/TestSubscriberAdaptor.d.mts +0 -4
  463. package/dist/subscribers/TestSubscriberAdaptor.mjs +0 -4
  464. package/dist/telemetry.cjs +0 -0
  465. package/dist/telemetry.d.cts +0 -2
  466. package/dist/telemetry.d.mts +0 -2
  467. package/dist/telemetry.mjs +0 -0
@@ -1,21 +1,742 @@
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-Bc1u42WC.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 isJsonResponse = this.endpoint.responseType === "application/json";
211
+ const body = output === void 0 ? void 0 : isJsonResponse ? JSON.stringify(output) : typeof output === "string" ? output : String(output);
212
+ event.__response = output;
213
+ const lambdaResponse = {
214
+ statusCode: metadata.status ?? this.endpoint.status,
215
+ body
216
+ };
217
+ const baseHeaders = isJsonResponse ? void 0 : { "content-type": this.endpoint.responseType };
218
+ if (baseHeaders || metadata.headers && Object.keys(metadata.headers).length > 0) lambdaResponse.headers = {
219
+ ...baseHeaders ?? {},
220
+ ...metadata.headers ?? {}
221
+ };
222
+ if (metadata.cookies && metadata.cookies.size > 0) {
223
+ const setCookieHeaders = [];
224
+ for (const [name, { value, options }] of metadata.cookies) setCookieHeaders.push(require_lazyAccessors.Endpoint.formatCookieHeader(name, value, options));
225
+ if (setCookieHeaders.length > 0) lambdaResponse.multiValueHeaders = {
226
+ ...lambdaResponse.multiValueHeaders,
227
+ "Set-Cookie": setCookieHeaders
228
+ };
229
+ }
230
+ return lambdaResponse;
231
+ }
232
+ /**
233
+ * Convert Telemetry interface to Middy middleware
234
+ */
235
+ telemetry() {
236
+ if (!this.options.telemetry) return null;
237
+ const telemetry = this.options.telemetry;
238
+ let ctx;
239
+ return {
240
+ before: (request) => {
241
+ ctx = telemetry.onRequestStart({
242
+ event: request.event,
243
+ context: request.context
244
+ });
245
+ },
246
+ after: (request) => {
247
+ if (ctx) telemetry.onRequestEnd(ctx, {
248
+ statusCode: request.response?.statusCode ?? 200,
249
+ body: request.response?.body,
250
+ headers: request.response?.headers
251
+ });
252
+ },
253
+ onError: (request) => {
254
+ if (ctx && request.error) telemetry.onRequestError(ctx, request.error instanceof Error ? request.error : new Error(String(request.error)));
255
+ }
256
+ };
257
+ }
258
+ get handler() {
259
+ const handler = this._handler.bind(this);
260
+ 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());
261
+ const telemetryMiddleware = this.telemetry();
262
+ if (telemetryMiddleware) chain = chain.use(telemetryMiddleware);
263
+ if (this.options.telescope?.middleware) chain = chain.use(this.options.telescope.middleware);
264
+ const wrappedHandler = async (event, context) => {
265
+ const startTime = Date.now();
266
+ const requestId = context.awsRequestId;
267
+ const logger = this.endpoint.logger.child({ requestId });
268
+ return (0, __geekmidas_services.runWithRequestContext)({
269
+ logger,
270
+ requestId,
271
+ startTime
272
+ }, () => chain(event, context));
273
+ };
274
+ return wrappedHandler;
275
+ }
276
+ };
277
+
278
+ //#endregion
279
+ //#region src/endpoints/parseQueryParams.ts
280
+ /**
281
+ * Parse query parameters from a flat object into a nested structure
282
+ * Uses qs bracket notation for standard interoperability
283
+ *
284
+ * @example
285
+ * parseQueryParams({ 'tags[]': ['a', 'b'], 'filter[name]': 'john' })
286
+ * // Returns: { tags: ['a', 'b'], filter: { name: 'john' } }
287
+ */
288
+ function parseQueryParams(queryParams) {
289
+ if (!queryParams) return {};
290
+ const parts = [];
291
+ for (const [key, value] of Object.entries(queryParams)) {
292
+ if (value === void 0) continue;
293
+ if (Array.isArray(value)) for (const v of value) parts.push(`${encodeURIComponent(key)}=${encodeURIComponent(v)}`);
294
+ else parts.push(`${encodeURIComponent(key)}=${encodeURIComponent(value)}`);
295
+ }
296
+ return qs.default.parse(parts.join("&"));
297
+ }
298
+
299
+ //#endregion
300
+ //#region src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts
301
+ var AmazonApiGatewayV1Endpoint = class extends AmazonApiGatewayEndpoint {
302
+ getInput(e) {
303
+ const multiValueParams = e.multiValueQueryStringParameters || {};
304
+ const singleValueParams = e.queryStringParameters || {};
305
+ const mergedParams = {};
306
+ for (const [key, value] of Object.entries(singleValueParams)) if (value !== void 0) mergedParams[key] = value;
307
+ for (const [key, values] of Object.entries(multiValueParams)) if (values && values.length > 1) mergedParams[key] = values;
308
+ return {
309
+ body: AmazonApiGatewayEndpoint.decodeBody(e.body, e.isBase64Encoded, e.headers?.["Content-Type"] ?? e.headers?.["content-type"]),
310
+ query: parseQueryParams(mergedParams),
311
+ params: e.pathParameters || {}
312
+ };
313
+ }
314
+ getLoggerContext(data, context) {
315
+ return {
316
+ fn: {
317
+ name: context.functionName,
318
+ version: context.functionVersion
319
+ },
320
+ req: {
321
+ id: data.requestContext.requestId,
322
+ awsRequestId: context.awsRequestId,
323
+ ip: data.requestContext.identity.sourceIp,
324
+ userAgent: data.requestContext.identity.userAgent || void 0,
325
+ path: data.requestContext.path
326
+ }
327
+ };
328
+ }
329
+ constructor(envParser, endpoint, options = {}) {
330
+ super(envParser, endpoint, options);
331
+ this.envParser = envParser;
332
+ this.endpoint = endpoint;
333
+ }
334
+ };
335
+
336
+ //#endregion
337
+ //#region src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts
338
+ var AmazonApiGatewayV2Endpoint = class extends AmazonApiGatewayEndpoint {
339
+ getCookies(e) {
340
+ return require_lazyAccessors.createApiGatewayCookies(e.cookies, e.headers?.cookie);
341
+ }
342
+ getInput(e) {
343
+ const raw = AmazonApiGatewayEndpoint.decodeBody(e.body, e.isBase64Encoded, e.headers?.["content-type"]);
344
+ return {
345
+ body: raw,
346
+ query: qs.default.parse(e.rawQueryString),
347
+ params: e.pathParameters || {}
348
+ };
349
+ }
350
+ getLoggerContext(event, context) {
351
+ return {
352
+ fn: {
353
+ name: context.functionName,
354
+ version: context.functionVersion
355
+ },
356
+ req: {
357
+ id: event.requestContext.requestId,
358
+ awsRequestId: context.awsRequestId,
359
+ ip: event.requestContext.http.sourceIp,
360
+ userAgent: event.requestContext.http.userAgent || void 0,
361
+ path: event.requestContext.http.path
362
+ }
363
+ };
364
+ }
365
+ constructor(envParser, endpoint, options = {}) {
366
+ super(envParser, endpoint, options);
367
+ this.envParser = envParser;
368
+ this.endpoint = endpoint;
369
+ }
370
+ };
371
+
372
+ //#endregion
373
+ //#region src/functions/FunctionExecutionWrapper.ts
374
+ var FunctionExecutionWrapper = class {
375
+ constructor(envParser, fn) {
376
+ this.envParser = envParser;
377
+ this.fn = fn;
378
+ }
379
+ _logger;
380
+ get logger() {
381
+ return this._logger || this.fn.logger;
382
+ }
383
+ get serviceDiscovery() {
384
+ const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
385
+ return serviceDiscovery;
386
+ }
387
+ getServices() {
388
+ return this.serviceDiscovery.register(this.fn.services);
389
+ }
390
+ async getDatabase() {
391
+ if (!this.fn.databaseService) return void 0;
392
+ const services = await this.serviceDiscovery.register([this.fn.databaseService]);
393
+ return services[this.fn.databaseService.serviceName];
394
+ }
395
+ /**
396
+ * Get the audit storage service if configured.
397
+ * Returns undefined if no auditor storage is configured.
398
+ */
399
+ async getAuditStorage() {
400
+ if (!this.fn.auditorStorageService) return void 0;
401
+ const services = await this.serviceDiscovery.register([this.fn.auditorStorageService]);
402
+ return services[this.fn.auditorStorageService.serviceName];
403
+ }
404
+ /**
405
+ * Create an auditor instance for the function.
406
+ * Returns undefined if no auditor storage is configured.
407
+ */
408
+ async createAuditor() {
409
+ const storage = await this.getAuditStorage();
410
+ if (!storage) return void 0;
411
+ return new __geekmidas_audit.DefaultAuditor({
412
+ actor: {
413
+ id: "system",
414
+ type: "system"
415
+ },
416
+ storage,
417
+ metadata: { function: this.fn.type }
418
+ });
419
+ }
420
+ /**
421
+ * Execute handler with audit transaction support.
422
+ * If the audit storage has a database (via getDatabase()), wraps execution
423
+ * in a transaction so audits are atomic with handler's database operations.
424
+ *
425
+ * @param handler - The handler function to execute (receives auditor and db)
426
+ * @returns The handler result
427
+ */
428
+ async executeWithAudit(handler) {
429
+ const auditor = await this.createAuditor();
430
+ const storage = await this.getAuditStorage();
431
+ if (!auditor || !storage) {
432
+ const db$1 = await this.getDatabase();
433
+ return handler({ db: db$1 });
434
+ }
435
+ const storageDb = storage.getDatabase?.();
436
+ const databaseServiceName = this.fn.databaseService?.serviceName;
437
+ const auditDbServiceName = this.fn.auditorStorageService?.serviceName;
438
+ if (storageDb && databaseServiceName && auditDbServiceName) return (0, __geekmidas_audit_kysely.withAuditableTransaction)(storageDb, auditor, async (trx) => {
439
+ const response$1 = await handler({
440
+ auditor,
441
+ db: trx
442
+ });
443
+ return response$1;
444
+ });
445
+ const db = await this.getDatabase();
446
+ const response = await handler({
447
+ auditor,
448
+ db
449
+ });
450
+ await auditor.flush();
451
+ return response;
452
+ }
453
+ async getFunctionInput(event) {
454
+ const parsedInput = await require_functions.FunctionBuilder.parseComposableStandardSchema(event, this.fn.input);
455
+ return parsedInput;
456
+ }
457
+ async publishEvents(response) {
458
+ await require_lazyAccessors.publishEvents(this.logger, this.serviceDiscovery, this.fn.events, response, this.fn.publisherService);
459
+ }
460
+ async parseComposableStandardSchema(data, schema) {
461
+ return require_functions.FunctionBuilder.parseComposableStandardSchema(data, schema);
462
+ }
463
+ };
464
+
465
+ //#endregion
466
+ //#region src/functions/AWSLambdaFunction.ts
467
+ var AWSLambdaFunction = class extends FunctionExecutionWrapper {
468
+ constructor(envParser, fn) {
469
+ super(envParser, fn);
470
+ this.fn = fn;
471
+ }
472
+ error() {
473
+ return { onError: (req) => {
474
+ const logger = req.event?.logger || this.fn.logger;
475
+ logger.error(req.error || {}, "Error processing function");
476
+ throw (0, __geekmidas_errors.wrapError)(req.error);
477
+ } };
478
+ }
479
+ baseInput() {
480
+ return { before: (_req) => {} };
481
+ }
482
+ input() {
483
+ return { before: async (req) => {
484
+ try {
485
+ if (this.fn.input) {
486
+ const parsedInput = await require_functions.FunctionBuilder.parseComposableStandardSchema(req.event, this.fn.input);
487
+ req.event.parsedInput = parsedInput;
488
+ } else req.event.parsedInput = req.event;
489
+ } catch (error) {
490
+ this.logger.error({
491
+ error,
492
+ event: req.event
493
+ }, "Failed to parse input");
494
+ throw error;
495
+ }
496
+ } };
497
+ }
498
+ loggerMiddleware() {
499
+ return { before: (req) => {
500
+ this._logger = this.fn.logger.child({
501
+ fn: {
502
+ name: req.context.functionName,
503
+ version: req.context.functionVersion,
504
+ memory: req.context.memoryLimitInMB
505
+ },
506
+ req: { id: req.context.awsRequestId }
507
+ });
508
+ req.event.logger = this._logger;
509
+ } };
510
+ }
511
+ services() {
512
+ return { before: async (req) => {
513
+ req.event.services = await this.getServices();
514
+ } };
515
+ }
516
+ database() {
517
+ return { before: async (req) => {
518
+ req.event.db = await this.getDatabase();
519
+ } };
520
+ }
521
+ auditor() {
522
+ return {
523
+ before: async (req) => {
524
+ req.event.auditor = await this.createAuditor();
525
+ },
526
+ after: async (req) => {
527
+ if (req.event.auditor) {
528
+ const records = req.event.auditor.getRecords();
529
+ if (records.length > 0) {
530
+ this.logger.debug({ auditCount: records.length }, "Flushing function audits");
531
+ await req.event.auditor.flush();
532
+ }
533
+ }
534
+ }
535
+ };
536
+ }
537
+ events() {
538
+ return { after: async (req) => {
539
+ const response = req.response || void 0;
540
+ await this.publishEvents(response);
541
+ } };
542
+ }
543
+ async _handler(event) {
544
+ const result = await this.fn.fn({
545
+ input: event.parsedInput,
546
+ services: event.services,
547
+ logger: event.logger,
548
+ db: event.db,
549
+ auditor: event.auditor
550
+ });
551
+ const output = await this.fn.parseOutput(result);
552
+ return output;
553
+ }
554
+ get handler() {
555
+ const handler = this._handler.bind(this);
556
+ 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());
557
+ const wrappedHandler = async (event, context) => {
558
+ const startTime = Date.now();
559
+ const requestId = context.awsRequestId;
560
+ const logger = this.fn.logger.child({ requestId });
561
+ return (0, __geekmidas_services.runWithRequestContext)({
562
+ logger,
563
+ requestId,
564
+ startTime
565
+ }, () => chain(event, context));
566
+ };
567
+ return wrappedHandler;
568
+ }
569
+ };
570
+
571
+ //#endregion
572
+ //#region src/subscribers/AWSLambdaSubscriberAdaptor.ts
573
+ var AWSLambdaSubscriber = class {
574
+ _logger;
575
+ _services;
576
+ constructor(envParser, subscriber) {
577
+ this.envParser = envParser;
578
+ this.subscriber = subscriber;
579
+ this._logger = subscriber.logger;
580
+ }
581
+ get logger() {
582
+ return this._logger;
583
+ }
584
+ async getServices() {
585
+ if (this._services) return this._services;
586
+ const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
587
+ if (this.subscriber.services.length > 0) {
588
+ const registered = await serviceDiscovery.register(this.subscriber.services);
589
+ this._services = registered;
590
+ } else this._services = {};
591
+ return this._services;
592
+ }
593
+ error() {
594
+ return { onError: (req) => {
595
+ const logger = req.event?.logger || this.subscriber.logger;
596
+ logger.error(req.error || {}, "Error processing subscriber");
597
+ throw (0, __geekmidas_errors.wrapError)(req.error);
598
+ } };
599
+ }
600
+ loggerMiddleware() {
601
+ return { before: (req) => {
602
+ this._logger = this.subscriber.logger.child({
603
+ subscriber: {
604
+ name: req.context.functionName,
605
+ version: req.context.functionVersion,
606
+ memory: req.context.memoryLimitInMB
607
+ },
608
+ req: { id: req.context.awsRequestId }
609
+ });
610
+ req.event.logger = this._logger;
611
+ } };
612
+ }
613
+ services() {
614
+ return { before: async (req) => {
615
+ req.event.services = await this.getServices();
616
+ } };
617
+ }
618
+ parseEvents() {
619
+ return { before: async (req) => {
620
+ const { logger,...e } = req.event;
621
+ const rawEvent = e;
622
+ logger.info({ rawEvent });
623
+ const events = [];
624
+ if ("Records" in rawEvent) {
625
+ if (this.isSQSEvent(rawEvent)) for (const record of rawEvent.Records) try {
626
+ const event = this.parseSQSRecord(record);
627
+ if (this.shouldIncludeEvent(event)) events.push(event);
628
+ } catch (error) {
629
+ this.logger.error({
630
+ error,
631
+ record
632
+ }, "Failed to parse SQS record");
633
+ }
634
+ else if (this.isSNSEvent(rawEvent)) for (const record of rawEvent.Records) try {
635
+ const event = this.parseSNSRecord(record);
636
+ if (this.shouldIncludeEvent(event)) events.push(event);
637
+ } catch (error) {
638
+ this.logger.error({
639
+ error,
640
+ record
641
+ }, "Failed to parse SNS record");
642
+ }
643
+ }
644
+ req.event.events = events;
645
+ } };
646
+ }
647
+ isSQSEvent(event) {
648
+ const firstRecord = event.Records[0];
649
+ return "Records" in event && event.Records.length > 0 && firstRecord !== void 0 && "eventSource" in firstRecord && firstRecord.eventSource === "aws:sqs";
650
+ }
651
+ isSNSEvent(event) {
652
+ const firstRecord = event.Records[0];
653
+ return "Records" in event && event.Records.length > 0 && firstRecord !== void 0 && "EventSource" in firstRecord && firstRecord.EventSource === "aws:sns";
654
+ }
655
+ parseSNSRecord(record) {
656
+ const message = this.safeJsonParse(record.Sns.Message);
657
+ const messageType = record.Sns.MessageAttributes?.type?.Value;
658
+ if (message === null) return messageType ? {
659
+ type: messageType,
660
+ payload: record.Sns.Message
661
+ } : record.Sns.Message;
662
+ const resolvedType = messageType ?? message.type;
663
+ if (message.type) return message;
664
+ return resolvedType ? {
665
+ type: resolvedType,
666
+ payload: message
667
+ } : message;
668
+ }
669
+ parseSQSRecord(record) {
670
+ const body = this.safeJsonParse(record.body);
671
+ if (body === null) return record.body;
672
+ if (body.Type === "Notification" && body.Message) {
673
+ const snsMessage = this.safeJsonParse(body.Message);
674
+ const messageType = body.MessageAttributes?.type?.Value;
675
+ if (snsMessage === null) return messageType ? {
676
+ type: messageType,
677
+ payload: body.Message
678
+ } : body.Message;
679
+ if (snsMessage.type) return snsMessage;
680
+ const resolvedType = messageType ?? snsMessage.type;
681
+ return resolvedType ? {
682
+ type: resolvedType,
683
+ payload: snsMessage
684
+ } : snsMessage;
685
+ }
686
+ return body;
687
+ }
688
+ safeJsonParse(value) {
689
+ try {
690
+ return JSON.parse(value);
691
+ } catch {
692
+ return null;
693
+ }
694
+ }
695
+ shouldIncludeEvent(event) {
696
+ if (typeof event !== "object" || !event?.type) return true;
697
+ if (!this.subscriber.subscribedEvents) return true;
698
+ return this.subscriber.subscribedEvents.includes(event.type);
699
+ }
700
+ async _handler(event) {
701
+ if (event.events.length === 0) {
702
+ this.logger.info("No subscribed events to process");
703
+ return { batchItemFailures: [] };
704
+ }
705
+ const result = await this.subscriber.handler({
706
+ events: event.events,
707
+ services: event.services,
708
+ logger: event.logger
709
+ });
710
+ if (this.subscriber.outputSchema && result) {
711
+ const validationResult = await this.subscriber.outputSchema["~standard"].validate(result);
712
+ if (validationResult.issues) {
713
+ this.logger.error({ issues: validationResult.issues }, "Subscriber output validation failed");
714
+ throw new Error("Subscriber output validation failed");
715
+ }
716
+ return validationResult.value;
717
+ }
718
+ return result;
719
+ }
720
+ get handler() {
721
+ const handler = this._handler.bind(this);
722
+ const chain = (0, __middy_core.default)(handler).use(this.loggerMiddleware()).use(this.parseEvents()).use(this.error()).use(this.services());
723
+ const wrappedHandler = async (event, context) => {
724
+ const startTime = Date.now();
725
+ const requestId = context.awsRequestId;
726
+ const logger = this.subscriber.logger.child({ requestId });
727
+ return (0, __geekmidas_services.runWithRequestContext)({
728
+ logger,
729
+ requestId,
730
+ startTime
731
+ }, () => chain(event, context));
732
+ };
733
+ return wrappedHandler;
734
+ }
735
+ };
736
+
737
+ //#endregion
738
+ exports.AWSLambdaFunction = AWSLambdaFunction;
739
+ exports.AWSLambdaSubscriber = AWSLambdaSubscriber;
740
+ exports.AmazonApiGatewayV1Endpoint = AmazonApiGatewayV1Endpoint;
741
+ exports.AmazonApiGatewayV2Endpoint = AmazonApiGatewayV2Endpoint;
742
+ //# sourceMappingURL=aws.cjs.map