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