@geekmidas/constructs 10.0.0-alpha.4 → 10.0.0-alpha.41

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 (370) hide show
  1. package/README.md +223 -158
  2. package/dist/{Construct-BD5neF7w.mjs → Construct-BO1X-kt9.mjs} +32 -33
  3. package/dist/Construct-BO1X-kt9.mjs.map +1 -0
  4. package/dist/Construct-BQALFCh2.d.cts +230 -0
  5. package/dist/Construct-BQALFCh2.d.cts.map +1 -0
  6. package/dist/{Construct-CyS3RpTL.cjs → Construct-DmvXceVY.cjs} +52 -47
  7. package/dist/Construct-DmvXceVY.cjs.map +1 -0
  8. package/dist/Construct-QXnl3VqT.d.mts +230 -0
  9. package/dist/Construct-QXnl3VqT.d.mts.map +1 -0
  10. package/dist/{Cron-B2OFsfDM.d.cts → Cron-CMEGfRs8.d.cts} +21 -8
  11. package/dist/Cron-CMEGfRs8.d.cts.map +1 -0
  12. package/dist/{Cron-ByxdOfpE.d.mts → Cron-D6X4-xjB.d.mts} +21 -8
  13. package/dist/Cron-D6X4-xjB.d.mts.map +1 -0
  14. package/dist/CronBuilder-CEK7aOqD.d.cts +46 -0
  15. package/dist/CronBuilder-CEK7aOqD.d.cts.map +1 -0
  16. package/dist/CronBuilder-DB35T5dL.cjs +116 -0
  17. package/dist/CronBuilder-DB35T5dL.cjs.map +1 -0
  18. package/dist/CronBuilder-Dv0IlZs0.mjs +104 -0
  19. package/dist/CronBuilder-Dv0IlZs0.mjs.map +1 -0
  20. package/dist/CronBuilder-O_gvButp.d.mts +46 -0
  21. package/dist/CronBuilder-O_gvButp.d.mts.map +1 -0
  22. package/dist/{Endpoint-Dij_wOcc.mjs → Endpoint-CQAeh1Rh.mjs} +117 -109
  23. package/dist/Endpoint-CQAeh1Rh.mjs.map +1 -0
  24. package/dist/{Endpoint-DODn1RhN.cjs → Endpoint-D1L9qu5C.cjs} +145 -131
  25. package/dist/Endpoint-D1L9qu5C.cjs.map +1 -0
  26. package/dist/{Endpoint-2Wg7T7Cq.d.mts → Endpoint-Dp5AKIXl.d.cts} +69 -93
  27. package/dist/Endpoint-Dp5AKIXl.d.cts.map +1 -0
  28. package/dist/{Endpoint-DrD8a1yH.d.cts → Endpoint-DtI7heFm.d.mts} +70 -94
  29. package/dist/Endpoint-DtI7heFm.d.mts.map +1 -0
  30. package/dist/{EndpointFactory-b4ituq-s.mjs → EndpointFactory-BBdNeaGJ.mjs} +39 -74
  31. package/dist/EndpointFactory-BBdNeaGJ.mjs.map +1 -0
  32. package/dist/{EndpointFactory-BHFMmFkV.cjs → EndpointFactory-BZOCOaK6.cjs} +75 -110
  33. package/dist/EndpointFactory-BZOCOaK6.cjs.map +1 -0
  34. package/dist/{index-BxHDdy6a.d.mts → EndpointFactory-CgMDvERK.d.mts} +63 -133
  35. package/dist/EndpointFactory-CgMDvERK.d.mts.map +1 -0
  36. package/dist/{index-B8g8POkr.d.cts → EndpointFactory-FeFRmlDZ.d.cts} +62 -132
  37. package/dist/EndpointFactory-FeFRmlDZ.d.cts.map +1 -0
  38. package/dist/{HonoEndpointAdaptor-BM2jbWht.mjs → HonoEndpointAdaptor-Aui-x9Lg.mjs} +41 -47
  39. package/dist/HonoEndpointAdaptor-Aui-x9Lg.mjs.map +1 -0
  40. package/dist/{HonoEndpointAdaptor-De6IlBZe.cjs → HonoEndpointAdaptor-Cq99r9H7.cjs} +50 -53
  41. package/dist/HonoEndpointAdaptor-Cq99r9H7.cjs.map +1 -0
  42. package/dist/Queue-C1uDgjxt.mjs +100 -0
  43. package/dist/Queue-C1uDgjxt.mjs.map +1 -0
  44. package/dist/Queue-Ckmudcm8.cjs +105 -0
  45. package/dist/Queue-Ckmudcm8.cjs.map +1 -0
  46. package/dist/{Queue-D7ZuwBhy.d.cts → Queue-CpQIGB_2.d.cts} +28 -40
  47. package/dist/Queue-CpQIGB_2.d.cts.map +1 -0
  48. package/dist/{Queue-gVGfi2Yk.d.mts → Queue-YmvN2vEP.d.mts} +28 -40
  49. package/dist/Queue-YmvN2vEP.d.mts.map +1 -0
  50. package/dist/QueueBuilder-CJNcv4dy.cjs +112 -0
  51. package/dist/QueueBuilder-CJNcv4dy.cjs.map +1 -0
  52. package/dist/QueueBuilder-CM0WUxfw.d.mts +62 -0
  53. package/dist/QueueBuilder-CM0WUxfw.d.mts.map +1 -0
  54. package/dist/QueueBuilder-XEnnOWGe.d.cts +62 -0
  55. package/dist/QueueBuilder-XEnnOWGe.d.cts.map +1 -0
  56. package/dist/QueueBuilder-XuPKZwKH.mjs +95 -0
  57. package/dist/QueueBuilder-XuPKZwKH.mjs.map +1 -0
  58. package/dist/{Subscriber-2mEi0ImH.d.cts → Subscriber-B91YSkZt.d.cts} +14 -16
  59. package/dist/Subscriber-B91YSkZt.d.cts.map +1 -0
  60. package/dist/{Subscriber-xTJ9ayPN.d.mts → Subscriber-BjHYe5hK.d.mts} +14 -16
  61. package/dist/Subscriber-BjHYe5hK.d.mts.map +1 -0
  62. package/dist/SubscriberBuilder-BSpQX1JT.d.cts +55 -0
  63. package/dist/SubscriberBuilder-BSpQX1JT.d.cts.map +1 -0
  64. package/dist/SubscriberBuilder-BhMphk4z.d.mts +55 -0
  65. package/dist/SubscriberBuilder-BhMphk4z.d.mts.map +1 -0
  66. package/dist/{SubscriberBuilder-4OPehf2R.cjs → SubscriberBuilder-Duk028pD.cjs} +34 -37
  67. package/dist/SubscriberBuilder-Duk028pD.cjs.map +1 -0
  68. package/dist/{SubscriberBuilder-BjkbeT9l.mjs → SubscriberBuilder-DzQUWE08.mjs} +23 -25
  69. package/dist/SubscriberBuilder-DzQUWE08.mjs.map +1 -0
  70. package/dist/Topic-CkxOTrMv.cjs +104 -0
  71. package/dist/Topic-CkxOTrMv.cjs.map +1 -0
  72. package/dist/Topic-hPffOsot.mjs +99 -0
  73. package/dist/Topic-hPffOsot.mjs.map +1 -0
  74. package/dist/adaptors/aws.cjs +171 -108
  75. package/dist/adaptors/aws.cjs.map +1 -1
  76. package/dist/adaptors/aws.d.cts +75 -43
  77. package/dist/adaptors/aws.d.cts.map +1 -1
  78. package/dist/adaptors/aws.d.mts +76 -44
  79. package/dist/adaptors/aws.d.mts.map +1 -1
  80. package/dist/adaptors/aws.mjs +143 -83
  81. package/dist/adaptors/aws.mjs.map +1 -1
  82. package/dist/adaptors/hono.cjs +3 -10
  83. package/dist/adaptors/hono.d.cts +7 -16
  84. package/dist/adaptors/hono.d.cts.map +1 -1
  85. package/dist/adaptors/hono.d.mts +8 -17
  86. package/dist/adaptors/hono.d.mts.map +1 -1
  87. package/dist/adaptors/hono.mjs +2 -10
  88. package/dist/adaptors/testing.cjs +515 -87
  89. package/dist/adaptors/testing.cjs.map +1 -1
  90. package/dist/adaptors/testing.d.cts +250 -48
  91. package/dist/adaptors/testing.d.cts.map +1 -1
  92. package/dist/adaptors/testing.d.mts +250 -48
  93. package/dist/adaptors/testing.d.mts.map +1 -1
  94. package/dist/adaptors/testing.mjs +484 -68
  95. package/dist/adaptors/testing.mjs.map +1 -1
  96. package/dist/auth-CMwml9QN.d.mts +188 -0
  97. package/dist/auth-CMwml9QN.d.mts.map +1 -0
  98. package/dist/auth-rVRDjIw_.d.cts +188 -0
  99. package/dist/auth-rVRDjIw_.d.cts.map +1 -0
  100. package/dist/auth.cjs +171 -31
  101. package/dist/auth.cjs.map +1 -1
  102. package/dist/auth.d.cts +2 -108
  103. package/dist/auth.d.mts +2 -108
  104. package/dist/auth.mjs +160 -24
  105. package/dist/auth.mjs.map +1 -1
  106. package/dist/{cache-BrRz3fEB.d.mts → cache-C9a_hVCc.d.cts} +4 -7
  107. package/dist/cache-C9a_hVCc.d.cts.map +1 -0
  108. package/dist/{cache-BtZY_tHe.d.cts → cache-CeTMI8LR.d.mts} +4 -7
  109. package/dist/cache-CeTMI8LR.d.mts.map +1 -0
  110. package/dist/cache.cjs +68 -2
  111. package/dist/cache.cjs.map +1 -0
  112. package/dist/cache.d.cts +1 -2
  113. package/dist/cache.d.mts +1 -2
  114. package/dist/cache.mjs +67 -2
  115. package/dist/cache.mjs.map +1 -0
  116. package/dist/{clone-DblgEZZa.mjs → clone-EKNovYHu.mjs} +3 -3
  117. package/dist/clone-EKNovYHu.mjs.map +1 -0
  118. package/dist/{clone-Dy0cR2SZ.cjs → clone-UGJpvQnL.cjs} +7 -8
  119. package/dist/clone-UGJpvQnL.cjs.map +1 -0
  120. package/dist/{construct-interface-g5GM5pwR.d.mts → construct-interface-_3zgxzXl.d.mts} +20 -11
  121. package/dist/construct-interface-_3zgxzXl.d.mts.map +1 -0
  122. package/dist/{construct-interface-D9d4Gm4p.d.cts → construct-interface-_xi4BPN8.d.cts} +20 -11
  123. package/dist/construct-interface-_xi4BPN8.d.cts.map +1 -0
  124. package/dist/construct-interface.cjs +87 -7
  125. package/dist/construct-interface.cjs.map +1 -0
  126. package/dist/construct-interface.d.cts +2 -2
  127. package/dist/construct-interface.d.mts +2 -2
  128. package/dist/construct-interface.mjs +81 -2
  129. package/dist/construct-interface.mjs.map +1 -0
  130. package/dist/credential.cjs +63 -16
  131. package/dist/credential.cjs.map +1 -1
  132. package/dist/credential.d.cts +16 -9
  133. package/dist/credential.d.cts.map +1 -1
  134. package/dist/credential.d.mts +16 -9
  135. package/dist/credential.d.mts.map +1 -1
  136. package/dist/credential.mjs +58 -12
  137. package/dist/credential.mjs.map +1 -1
  138. package/dist/crons/index.cjs +68 -10
  139. package/dist/crons/index.cjs.map +1 -1
  140. package/dist/crons/index.d.cts +32 -14
  141. package/dist/crons/index.d.cts.map +1 -1
  142. package/dist/crons/index.d.mts +32 -14
  143. package/dist/crons/index.d.mts.map +1 -1
  144. package/dist/crons/index.mjs +66 -10
  145. package/dist/crons/index.mjs.map +1 -1
  146. package/dist/database/kysely.cjs +40 -15
  147. package/dist/database/kysely.cjs.map +1 -1
  148. package/dist/database/kysely.d.cts +2 -152
  149. package/dist/database/kysely.d.mts +2 -152
  150. package/dist/database/kysely.mjs +28 -5
  151. package/dist/database/kysely.mjs.map +1 -1
  152. package/dist/email.cjs +25 -12
  153. package/dist/email.cjs.map +1 -1
  154. package/dist/email.d.cts +3 -7
  155. package/dist/email.d.cts.map +1 -1
  156. package/dist/email.d.mts +3 -7
  157. package/dist/email.d.mts.map +1 -1
  158. package/dist/email.mjs +16 -3
  159. package/dist/email.mjs.map +1 -1
  160. package/dist/endpoints/index.cjs +8 -10
  161. package/dist/endpoints/index.d.cts +51 -7
  162. package/dist/endpoints/index.d.cts.map +1 -0
  163. package/dist/endpoints/index.d.mts +51 -7
  164. package/dist/endpoints/index.d.mts.map +1 -0
  165. package/dist/endpoints/index.mjs +6 -10
  166. package/dist/external-api-DS3mujT5.d.mts +86 -0
  167. package/dist/external-api-DS3mujT5.d.mts.map +1 -0
  168. package/dist/external-api-LBfE-q3g.d.cts +86 -0
  169. package/dist/external-api-LBfE-q3g.d.cts.map +1 -0
  170. package/dist/external-api.cjs +124 -0
  171. package/dist/external-api.cjs.map +1 -0
  172. package/dist/external-api.d.cts +2 -0
  173. package/dist/external-api.d.mts +2 -0
  174. package/dist/external-api.mjs +121 -0
  175. package/dist/external-api.mjs.map +1 -0
  176. package/dist/file-server.cjs +42 -10
  177. package/dist/file-server.cjs.map +1 -1
  178. package/dist/file-server.d.cts +6 -10
  179. package/dist/file-server.d.cts.map +1 -1
  180. package/dist/file-server.d.mts +6 -10
  181. package/dist/file-server.d.mts.map +1 -1
  182. package/dist/file-server.mjs +34 -2
  183. package/dist/file-server.mjs.map +1 -1
  184. package/dist/functions/index.cjs +2 -6
  185. package/dist/functions/index.d.cts +2 -4
  186. package/dist/functions/index.d.mts +2 -4
  187. package/dist/functions/index.mjs +2 -6
  188. package/dist/{functions-Ck21Uyq0.mjs → functions-DCIfCRR-.mjs} +371 -241
  189. package/dist/functions-DCIfCRR-.mjs.map +1 -0
  190. package/dist/{functions-DJJA7VGc.cjs → functions-ZH60FE7H.cjs} +409 -273
  191. package/dist/functions-ZH60FE7H.cjs.map +1 -0
  192. package/dist/{index-AIfVzkhi.d.cts → index-B0kxstwf.d.cts} +49 -42
  193. package/dist/index-B0kxstwf.d.cts.map +1 -0
  194. package/dist/index-CeEtxDmK.d.cts +79 -0
  195. package/dist/index-CeEtxDmK.d.cts.map +1 -0
  196. package/dist/index-CeEtxDmK.d.mts +79 -0
  197. package/dist/index-CeEtxDmK.d.mts.map +1 -0
  198. package/dist/{index-CubPzHd9.d.mts → index-CjVEjOw0.d.mts} +49 -42
  199. package/dist/index-CjVEjOw0.d.mts.map +1 -0
  200. package/dist/index.cjs +3 -3
  201. package/dist/index.d.cts +4 -4
  202. package/dist/index.d.mts +4 -4
  203. package/dist/index.mjs +2 -3
  204. package/dist/kysely-BJ8IQ_1P.d.mts +159 -0
  205. package/dist/kysely-BJ8IQ_1P.d.mts.map +1 -0
  206. package/dist/kysely-DVF8wOT4.d.cts +159 -0
  207. package/dist/kysely-DVF8wOT4.d.cts.map +1 -0
  208. package/dist/{lazyAccessors-BoJN3SMd.mjs → lazyAccessors-CFanua0O.mjs} +20 -60
  209. package/dist/lazyAccessors-CFanua0O.mjs.map +1 -0
  210. package/dist/{lazyAccessors-e3j2oE2m.cjs → lazyAccessors-hJKGv8Ay.cjs} +60 -113
  211. package/dist/lazyAccessors-hJKGv8Ay.cjs.map +1 -0
  212. package/dist/mobile-app.cjs +70 -0
  213. package/dist/mobile-app.cjs.map +1 -0
  214. package/dist/mobile-app.d.cts +61 -0
  215. package/dist/mobile-app.d.cts.map +1 -0
  216. package/dist/mobile-app.d.mts +61 -0
  217. package/dist/mobile-app.d.mts.map +1 -0
  218. package/dist/mobile-app.mjs +69 -0
  219. package/dist/mobile-app.mjs.map +1 -0
  220. package/dist/object-storage.cjs +18 -10
  221. package/dist/object-storage.cjs.map +1 -1
  222. package/dist/object-storage.d.cts +3 -7
  223. package/dist/object-storage.d.cts.map +1 -1
  224. package/dist/object-storage.d.mts +3 -7
  225. package/dist/object-storage.d.mts.map +1 -1
  226. package/dist/object-storage.mjs +11 -3
  227. package/dist/object-storage.mjs.map +1 -1
  228. package/dist/{processAudits-Dmts9H_b.mjs → processAudits-BpRlPQMW.mjs} +16 -19
  229. package/dist/processAudits-BpRlPQMW.mjs.map +1 -0
  230. package/dist/{processAudits-CGqttuXm.cjs → processAudits-D_2W5x8k.cjs} +26 -30
  231. package/dist/processAudits-D_2W5x8k.cjs.map +1 -0
  232. package/dist/queue/index.cjs +6 -189
  233. package/dist/queue/index.d.cts +3 -60
  234. package/dist/queue/index.d.mts +3 -60
  235. package/dist/queue/index.mjs +3 -186
  236. package/dist/rest-api.cjs +87 -63
  237. package/dist/rest-api.cjs.map +1 -1
  238. package/dist/rest-api.d.cts +62 -61
  239. package/dist/rest-api.d.cts.map +1 -1
  240. package/dist/rest-api.d.mts +62 -61
  241. package/dist/rest-api.d.mts.map +1 -1
  242. package/dist/rest-api.mjs +79 -55
  243. package/dist/rest-api.mjs.map +1 -1
  244. package/dist/{chunk-DWy1uDak.cjs → rolldown-runtime-y5ARvAq5.cjs} +14 -18
  245. package/dist/site.cjs +33 -9
  246. package/dist/site.cjs.map +1 -1
  247. package/dist/site.d.cts +11 -22
  248. package/dist/site.d.cts.map +1 -1
  249. package/dist/site.d.mts +11 -22
  250. package/dist/site.d.mts.map +1 -1
  251. package/dist/site.mjs +29 -5
  252. package/dist/site.mjs.map +1 -1
  253. package/dist/subscribers/index.cjs +2 -11
  254. package/dist/subscribers/index.d.cts +3 -14
  255. package/dist/subscribers/index.d.mts +3 -14
  256. package/dist/subscribers/index.mjs +2 -11
  257. package/dist/surfaceEnv-CNimK76p.cjs +56 -0
  258. package/dist/surfaceEnv-CNimK76p.cjs.map +1 -0
  259. package/dist/surfaceEnv-wMT5QzgZ.mjs +45 -0
  260. package/dist/surfaceEnv-wMT5QzgZ.mjs.map +1 -0
  261. package/dist/{telemetry-C3L0iS28.d.cts → telemetry-DGcFlVpB.d.cts} +2 -5
  262. package/dist/telemetry-DGcFlVpB.d.cts.map +1 -0
  263. package/dist/{telemetry-D7bVFLGi.d.mts → telemetry-DGcFlVpB.d.mts} +2 -5
  264. package/dist/telemetry-DGcFlVpB.d.mts.map +1 -0
  265. package/dist/topic/index.cjs +3 -137
  266. package/dist/topic/index.d.cts +2 -32
  267. package/dist/topic/index.d.mts +2 -32
  268. package/dist/topic/index.mjs +2 -134
  269. package/dist/{types-BlAkSuGI.d.cts → types-DMuSQeLL.d.cts} +3 -5
  270. package/dist/types-DMuSQeLL.d.cts.map +1 -0
  271. package/dist/{types-aKksMEWL.d.mts → types-DMuSQeLL.d.mts} +3 -5
  272. package/dist/types-DMuSQeLL.d.mts.map +1 -0
  273. package/dist/types.d.cts +1 -1
  274. package/dist/types.d.mts +1 -1
  275. package/dist/types.mjs +1 -0
  276. package/dist/worker.cjs +118 -35
  277. package/dist/worker.cjs.map +1 -1
  278. package/dist/worker.d.cts +95 -42
  279. package/dist/worker.d.cts.map +1 -1
  280. package/dist/worker.d.mts +95 -42
  281. package/dist/worker.d.mts.map +1 -1
  282. package/dist/worker.mjs +113 -30
  283. package/dist/worker.mjs.map +1 -1
  284. package/package.json +66 -41
  285. package/dist/Construct-BD5neF7w.mjs.map +0 -1
  286. package/dist/Construct-C0ijr2qp.d.cts +0 -117
  287. package/dist/Construct-C0ijr2qp.d.cts.map +0 -1
  288. package/dist/Construct-Ct8nalEi.d.mts +0 -117
  289. package/dist/Construct-Ct8nalEi.d.mts.map +0 -1
  290. package/dist/Construct-CyS3RpTL.cjs.map +0 -1
  291. package/dist/Cron-B2OFsfDM.d.cts.map +0 -1
  292. package/dist/Cron-ByxdOfpE.d.mts.map +0 -1
  293. package/dist/CronBuilder-BL0AP6fs.d.mts +0 -44
  294. package/dist/CronBuilder-BL0AP6fs.d.mts.map +0 -1
  295. package/dist/CronBuilder-CdibiHNB.mjs +0 -84
  296. package/dist/CronBuilder-CdibiHNB.mjs.map +0 -1
  297. package/dist/CronBuilder-DyUr6nYz.cjs +0 -96
  298. package/dist/CronBuilder-DyUr6nYz.cjs.map +0 -1
  299. package/dist/CronBuilder-LSJMfqnq.d.cts +0 -44
  300. package/dist/CronBuilder-LSJMfqnq.d.cts.map +0 -1
  301. package/dist/Endpoint-2Wg7T7Cq.d.mts.map +0 -1
  302. package/dist/Endpoint-DODn1RhN.cjs.map +0 -1
  303. package/dist/Endpoint-Dij_wOcc.mjs.map +0 -1
  304. package/dist/Endpoint-DrD8a1yH.d.cts.map +0 -1
  305. package/dist/EndpointFactory-BHFMmFkV.cjs.map +0 -1
  306. package/dist/EndpointFactory-b4ituq-s.mjs.map +0 -1
  307. package/dist/HonoEndpointAdaptor-BM2jbWht.mjs.map +0 -1
  308. package/dist/HonoEndpointAdaptor-De6IlBZe.cjs.map +0 -1
  309. package/dist/Queue-D7ZuwBhy.d.cts.map +0 -1
  310. package/dist/Queue-gVGfi2Yk.d.mts.map +0 -1
  311. package/dist/Subscriber-2mEi0ImH.d.cts.map +0 -1
  312. package/dist/Subscriber-xTJ9ayPN.d.mts.map +0 -1
  313. package/dist/SubscriberBuilder-4OPehf2R.cjs.map +0 -1
  314. package/dist/SubscriberBuilder-BjkbeT9l.mjs.map +0 -1
  315. package/dist/SubscriberBuilder-Dptmo-1A.d.mts +0 -62
  316. package/dist/SubscriberBuilder-Dptmo-1A.d.mts.map +0 -1
  317. package/dist/SubscriberBuilder-waNhzjSM.d.cts +0 -62
  318. package/dist/SubscriberBuilder-waNhzjSM.d.cts.map +0 -1
  319. package/dist/Topic-19QeHBIR.d.cts +0 -91
  320. package/dist/Topic-19QeHBIR.d.cts.map +0 -1
  321. package/dist/Topic-DuFeqkBh.d.mts +0 -91
  322. package/dist/Topic-DuFeqkBh.d.mts.map +0 -1
  323. package/dist/auth.d.cts.map +0 -1
  324. package/dist/auth.d.mts.map +0 -1
  325. package/dist/cache-0ANvRQnD.mjs +0 -51
  326. package/dist/cache-0ANvRQnD.mjs.map +0 -1
  327. package/dist/cache-3WSvAulx.cjs +0 -57
  328. package/dist/cache-3WSvAulx.cjs.map +0 -1
  329. package/dist/cache-BrRz3fEB.d.mts.map +0 -1
  330. package/dist/cache-BtZY_tHe.d.cts.map +0 -1
  331. package/dist/clone-DblgEZZa.mjs.map +0 -1
  332. package/dist/clone-Dy0cR2SZ.cjs.map +0 -1
  333. package/dist/construct-interface-BfjcOD_E.cjs +0 -117
  334. package/dist/construct-interface-BfjcOD_E.cjs.map +0 -1
  335. package/dist/construct-interface-D9d4Gm4p.d.cts.map +0 -1
  336. package/dist/construct-interface-Z4CpS8tK.mjs +0 -81
  337. package/dist/construct-interface-Z4CpS8tK.mjs.map +0 -1
  338. package/dist/construct-interface-g5GM5pwR.d.mts.map +0 -1
  339. package/dist/database/kysely.d.cts.map +0 -1
  340. package/dist/database/kysely.d.mts.map +0 -1
  341. package/dist/functions-Ck21Uyq0.mjs.map +0 -1
  342. package/dist/functions-DJJA7VGc.cjs.map +0 -1
  343. package/dist/index-AIfVzkhi.d.cts.map +0 -1
  344. package/dist/index-B8g8POkr.d.cts.map +0 -1
  345. package/dist/index-BxHDdy6a.d.mts.map +0 -1
  346. package/dist/index-CubPzHd9.d.mts.map +0 -1
  347. package/dist/lazyAccessors-BoJN3SMd.mjs.map +0 -1
  348. package/dist/lazyAccessors-e3j2oE2m.cjs.map +0 -1
  349. package/dist/processAudits-CGqttuXm.cjs.map +0 -1
  350. package/dist/processAudits-Dmts9H_b.mjs.map +0 -1
  351. package/dist/queue/index.cjs.map +0 -1
  352. package/dist/queue/index.d.cts.map +0 -1
  353. package/dist/queue/index.d.mts.map +0 -1
  354. package/dist/queue/index.mjs.map +0 -1
  355. package/dist/subscribers/index.cjs.map +0 -1
  356. package/dist/subscribers/index.d.cts.map +0 -1
  357. package/dist/subscribers/index.d.mts.map +0 -1
  358. package/dist/subscribers/index.mjs.map +0 -1
  359. package/dist/surfaceEnv-BFXEms2f.cjs +0 -39
  360. package/dist/surfaceEnv-BFXEms2f.cjs.map +0 -1
  361. package/dist/surfaceEnv-C3Ktahea.mjs +0 -27
  362. package/dist/surfaceEnv-C3Ktahea.mjs.map +0 -1
  363. package/dist/telemetry-C3L0iS28.d.cts.map +0 -1
  364. package/dist/telemetry-D7bVFLGi.d.mts.map +0 -1
  365. package/dist/topic/index.cjs.map +0 -1
  366. package/dist/topic/index.d.cts.map +0 -1
  367. package/dist/topic/index.d.mts.map +0 -1
  368. package/dist/topic/index.mjs.map +0 -1
  369. package/dist/types-BlAkSuGI.d.cts.map +0 -1
  370. package/dist/types-aKksMEWL.d.mts.map +0 -1
@@ -1,22 +1,24 @@
1
- const require_chunk = require('../chunk-DWy1uDak.cjs');
2
- require('../construct-interface-BfjcOD_E.cjs');
3
- require('../Construct-CyS3RpTL.cjs');
4
- const require_functions = require('../functions-DJJA7VGc.cjs');
5
- require('../clone-Dy0cR2SZ.cjs');
6
- const require_Endpoint = require('../Endpoint-DODn1RhN.cjs');
7
- const require_surfaceEnv = require('../surfaceEnv-BFXEms2f.cjs');
8
- const require_lazyAccessors = require('../lazyAccessors-e3j2oE2m.cjs');
9
- const require_processAudits = require('../processAudits-CGqttuXm.cjs');
10
- const __geekmidas_errors = require_chunk.__toESM(require("@geekmidas/errors"));
11
- const __geekmidas_services = require_chunk.__toESM(require("@geekmidas/services"));
12
- const __middy_core = require_chunk.__toESM(require("@middy/core"));
13
- const __geekmidas_audit = require_chunk.__toESM(require("@geekmidas/audit"));
14
- const __geekmidas_audit_kysely = require_chunk.__toESM(require("@geekmidas/audit/kysely"));
15
- const __geekmidas_db_rls = require_chunk.__toESM(require("@geekmidas/db/rls"));
16
- const qs = require_chunk.__toESM(require("qs"));
17
-
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_rolldown_runtime = require("../rolldown-runtime-y5ARvAq5.cjs");
3
+ const require_functions = require("../functions-ZH60FE7H.cjs");
4
+ const require_Endpoint = require("../Endpoint-D1L9qu5C.cjs");
5
+ const require_surfaceEnv = require("../surfaceEnv-CNimK76p.cjs");
6
+ const require_lazyAccessors = require("../lazyAccessors-hJKGv8Ay.cjs");
7
+ const require_processAudits = require("../processAudits-D_2W5x8k.cjs");
8
+ let _geekmidas_errors = require("@geekmidas/errors");
9
+ let _geekmidas_db_rls = require("@geekmidas/db/rls");
10
+ let _geekmidas_services = require("@geekmidas/services");
11
+ let qs = require("qs");
12
+ qs = require_rolldown_runtime.__toESM(qs, 1);
13
+ let _geekmidas_audit = require("@geekmidas/audit");
14
+ let _middy_core = require("@middy/core");
15
+ _middy_core = require_rolldown_runtime.__toESM(_middy_core, 1);
16
+ let _geekmidas_audit_kysely = require("@geekmidas/audit/kysely");
17
+ let _geekmidas_events_sns = require("@geekmidas/events/sns");
18
18
  //#region src/functions/FunctionExecutionWrapper.ts
19
19
  var FunctionExecutionWrapper = class {
20
+ envParser;
21
+ fn;
20
22
  constructor(envParser, fn) {
21
23
  this.envParser = envParser;
22
24
  this.fn = fn;
@@ -26,25 +28,22 @@ var FunctionExecutionWrapper = class {
26
28
  return this._logger || this.fn.logger;
27
29
  }
28
30
  get serviceDiscovery() {
29
- const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
30
- return serviceDiscovery;
31
+ return _geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
31
32
  }
32
33
  getServices() {
33
34
  return this.serviceDiscovery.register(this.fn.services);
34
35
  }
35
36
  async getDatabase() {
36
- if (!this.fn.databaseService) return void 0;
37
- const services = await this.serviceDiscovery.register([this.fn.databaseService]);
38
- return services[this.fn.databaseService.serviceName];
37
+ if (!this.fn.databaseService) return;
38
+ return (await this.serviceDiscovery.register([this.fn.databaseService]))[this.fn.databaseService.serviceName];
39
39
  }
40
40
  /**
41
41
  * Get the audit storage service if configured.
42
42
  * Returns undefined if no auditor storage is configured.
43
43
  */
44
44
  async getAuditStorage() {
45
- if (!this.fn.auditorStorageService) return void 0;
46
- const services = await this.serviceDiscovery.register([this.fn.auditorStorageService]);
47
- return services[this.fn.auditorStorageService.serviceName];
45
+ if (!this.fn.auditorStorageService) return;
46
+ return (await this.serviceDiscovery.register([this.fn.auditorStorageService]))[this.fn.auditorStorageService.serviceName];
48
47
  }
49
48
  /**
50
49
  * Create an auditor instance for the function.
@@ -52,8 +51,8 @@ var FunctionExecutionWrapper = class {
52
51
  */
53
52
  async createAuditor() {
54
53
  const storage = await this.getAuditStorage();
55
- if (!storage) return void 0;
56
- return new __geekmidas_audit.DefaultAuditor({
54
+ if (!storage) return;
55
+ return new _geekmidas_audit.DefaultAuditor({
57
56
  actor: {
58
57
  id: "system",
59
58
  type: "system"
@@ -73,52 +72,45 @@ var FunctionExecutionWrapper = class {
73
72
  async executeWithAudit(handler) {
74
73
  const auditor = await this.createAuditor();
75
74
  const storage = await this.getAuditStorage();
76
- if (!auditor || !storage) {
77
- const db$1 = await this.getDatabase();
78
- return handler({ db: db$1 });
79
- }
75
+ if (!auditor || !storage) return handler({ db: await this.getDatabase() });
80
76
  const storageDb = storage.getDatabase?.();
81
77
  const databaseServiceName = this.fn.databaseService?.serviceName;
82
78
  const auditDbServiceName = this.fn.auditorStorageService?.serviceName;
83
- if (storageDb && databaseServiceName && auditDbServiceName) return (0, __geekmidas_audit_kysely.withAuditableTransaction)(storageDb, auditor, async (trx) => {
84
- const response$1 = await handler({
79
+ if (storageDb && databaseServiceName && auditDbServiceName) return (0, _geekmidas_audit_kysely.withAuditableTransaction)(storageDb, auditor, async (trx) => {
80
+ return await handler({
85
81
  auditor,
86
82
  db: trx
87
83
  });
88
- return response$1;
89
84
  });
90
- const db = await this.getDatabase();
91
85
  const response = await handler({
92
86
  auditor,
93
- db
87
+ db: await this.getDatabase()
94
88
  });
95
89
  await auditor.flush();
96
90
  return response;
97
91
  }
98
92
  async getFunctionInput(event) {
99
- const parsedInput = await require_functions.FunctionBuilder.parseComposableStandardSchema(event, this.fn.input);
100
- return parsedInput;
93
+ return await require_functions.FunctionBuilder.parseComposableStandardSchema(event, this.fn.input);
101
94
  }
102
95
  async publishEvents(response) {
103
- await require_lazyAccessors.publishEvents(this.logger, this.serviceDiscovery, this.fn.events, response, this.fn.publisherService);
96
+ await require_functions.publishEvents(this.logger, this.serviceDiscovery, this.fn.events, response);
104
97
  }
105
98
  async parseComposableStandardSchema(data, schema) {
106
99
  return require_functions.FunctionBuilder.parseComposableStandardSchema(data, schema);
107
100
  }
108
101
  };
109
-
110
102
  //#endregion
111
103
  //#region src/functions/AWSLambdaFunction.ts
112
104
  var AWSLambdaFunction = class extends FunctionExecutionWrapper {
105
+ fn;
113
106
  constructor(envParser, fn) {
114
107
  super(envParser, fn);
115
108
  this.fn = fn;
116
109
  }
117
110
  error() {
118
111
  return { onError: (req) => {
119
- const logger = req.event?.logger || this.fn.logger;
120
- logger.error(req.error || {}, "Error processing function");
121
- throw (0, __geekmidas_errors.wrapError)(req.error);
112
+ (req.event?.logger || this.fn.logger).error(req.error || {}, "Error processing function");
113
+ throw (0, _geekmidas_errors.wrapError)(req.error);
122
114
  } };
123
115
  }
124
116
  baseInput() {
@@ -193,17 +185,16 @@ var AWSLambdaFunction = class extends FunctionExecutionWrapper {
193
185
  db: event.db,
194
186
  auditor: event.auditor
195
187
  });
196
- const output = await this.fn.parseOutput(result);
197
- return output;
188
+ return await this.fn.parseOutput(result);
198
189
  }
199
190
  get handler() {
200
191
  const handler = this._handler.bind(this);
201
- 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());
192
+ 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());
202
193
  const wrappedHandler = async (event, context) => {
203
194
  const startTime = Date.now();
204
195
  const requestId = context.awsRequestId;
205
196
  const logger = this.fn.logger.child({ requestId });
206
- return (0, __geekmidas_services.runWithRequestContext)({
197
+ return (0, _geekmidas_services.runWithRequestContext)({
207
198
  logger,
208
199
  requestId,
209
200
  startTime
@@ -212,7 +203,6 @@ var AWSLambdaFunction = class extends FunctionExecutionWrapper {
212
203
  return wrappedHandler;
213
204
  }
214
205
  };
215
-
216
206
  //#endregion
217
207
  //#region src/crons/AWSScheduledFunction.ts
218
208
  /**
@@ -246,11 +236,11 @@ var AWSScheduledFunction = class extends AWSLambdaFunction {
246
236
  super(envParser, cron);
247
237
  }
248
238
  };
249
-
250
239
  //#endregion
251
240
  //#region src/endpoints/AmazonApiGatewayEndpointAdaptor.ts
252
- var import_lodash = require_chunk.__toESM(require_Endpoint.require_lodash(), 1);
241
+ var import_lodash_set = /* @__PURE__ */ require_rolldown_runtime.__toESM(require_Endpoint.require_lodash_set(), 1);
253
242
  var AmazonApiGatewayEndpoint = class {
243
+ endpoint;
254
244
  options;
255
245
  /**
256
246
  * The parser this adaptor discovers services with.
@@ -270,7 +260,7 @@ var AmazonApiGatewayEndpoint = class {
270
260
  error() {
271
261
  return { onError: (req) => {
272
262
  (req.event.logger || this.endpoint.logger).error(req.error || {}, "Error processing request");
273
- const wrappedError = (0, __geekmidas_errors.wrapError)(req.error);
263
+ const wrappedError = (0, _geekmidas_errors.wrapError)(req.error);
274
264
  req.response = {
275
265
  statusCode: wrappedError.statusCode,
276
266
  body: wrappedError.body
@@ -288,8 +278,7 @@ var AmazonApiGatewayEndpoint = class {
288
278
  static decodeBody(body, isBase64Encoded, contentType) {
289
279
  if (!body) return void 0;
290
280
  const raw = isBase64Encoded ? Buffer.from(body, "base64").toString("utf-8") : body;
291
- const isJson = !contentType || contentType.toLowerCase().includes("application/json");
292
- if (isJson) return JSON.parse(raw);
281
+ if (!contentType || contentType.toLowerCase().includes("application/json")) return JSON.parse(raw);
293
282
  return raw;
294
283
  }
295
284
  getCookies(e) {
@@ -303,13 +292,13 @@ var AmazonApiGatewayEndpoint = class {
303
292
  const headers = req.event.headers;
304
293
  const header = require_Endpoint.Endpoint.createHeaders(headers);
305
294
  const cookie = this.getCookies(req.event);
306
- (0, import_lodash.default)(req.event, "body", await this.endpoint.parseInput(body, "body"));
307
- (0, import_lodash.default)(req.event, "query", await this.endpoint.parseInput(query, "query"));
308
- (0, import_lodash.default)(req.event, "params", await this.endpoint.parseInput(params, "params"));
309
- (0, import_lodash.default)(req.event, "header", header);
310
- (0, import_lodash.default)(req.event, "cookie", cookie);
295
+ (0, import_lodash_set.default)(req.event, "body", await this.endpoint.parseInput(body, "body"));
296
+ (0, import_lodash_set.default)(req.event, "query", await this.endpoint.parseInput(query, "query"));
297
+ (0, import_lodash_set.default)(req.event, "params", await this.endpoint.parseInput(params, "params"));
298
+ (0, import_lodash_set.default)(req.event, "header", header);
299
+ (0, import_lodash_set.default)(req.event, "cookie", cookie);
311
300
  } catch (error) {
312
- if (error && typeof error === "object" && Array.isArray(error)) throw new __geekmidas_errors.UnprocessableEntityError("Validation failed", error);
301
+ if (error && typeof error === "object" && Array.isArray(error)) throw new _geekmidas_errors.UnprocessableEntityError("Validation failed", error);
313
302
  throw error;
314
303
  }
315
304
  } };
@@ -326,9 +315,8 @@ var AmazonApiGatewayEndpoint = class {
326
315
  }
327
316
  services() {
328
317
  return { before: async (req) => {
329
- const _logger = req.event.logger;
330
- const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
331
- const services = await serviceDiscovery.register(this.endpoint.services);
318
+ req.event.logger;
319
+ const services = await _geekmidas_services.ServiceDiscovery.getInstance(this.envParser).register(this.endpoint.services);
332
320
  req.event.services = services;
333
321
  } };
334
322
  }
@@ -339,7 +327,7 @@ var AmazonApiGatewayEndpoint = class {
339
327
  const header = req.event.header;
340
328
  const cookie = req.event.cookie;
341
329
  const session = req.event.session;
342
- const isAuthorized = await this.endpoint.authorize({
330
+ if (!await this.endpoint.authorize({
343
331
  header,
344
332
  cookie,
345
333
  services,
@@ -349,19 +337,17 @@ var AmazonApiGatewayEndpoint = class {
349
337
  body: req.event.body,
350
338
  query: req.event.query,
351
339
  params: req.event.params
352
- });
353
- if (!isAuthorized) {
340
+ })) {
354
341
  logger.warn("Forbidden access attempt");
355
- throw new __geekmidas_errors.ForbiddenError("Forbidden access to the endpoint", "You do not have permission to access this resource.");
342
+ throw new _geekmidas_errors.ForbiddenError("Forbidden access to the endpoint", "You do not have permission to access this resource.");
356
343
  }
357
344
  } };
358
345
  }
359
346
  database() {
360
347
  return { before: async (req) => {
361
348
  if (!this.endpoint.databaseService) return;
362
- const _logger = req.event.logger;
363
- const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
364
- const db = await serviceDiscovery.register([this.endpoint.databaseService]).then((s) => s[this.endpoint.databaseService?.serviceName]);
349
+ req.event.logger;
350
+ const db = await _geekmidas_services.ServiceDiscovery.getInstance(this.envParser).register([this.endpoint.databaseService]).then((s) => s[this.endpoint.databaseService?.serviceName]);
365
351
  req.event.db = db;
366
352
  } };
367
353
  }
@@ -386,15 +372,15 @@ var AmazonApiGatewayEndpoint = class {
386
372
  const statusCode = req.response?.statusCode ?? this.endpoint.status;
387
373
  if (require_Endpoint.Endpoint.isSuccessStatus(statusCode)) {
388
374
  const logger = event.logger;
389
- const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
390
- await require_lazyAccessors.publishConstructEvents(this.endpoint, response, serviceDiscovery, logger);
375
+ const serviceDiscovery = _geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
376
+ await require_functions.publishConstructEvents(this.endpoint, response, serviceDiscovery, logger);
391
377
  }
392
378
  } };
393
379
  }
394
380
  async _handler(event) {
395
381
  const input = this.endpoint.refineInput(event);
396
382
  const logger = event.logger;
397
- const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
383
+ const serviceDiscovery = _geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
398
384
  const auditContext = await require_processAudits.createAuditContext(this.endpoint, serviceDiscovery, logger, {
399
385
  session: event.session,
400
386
  header: event.header,
@@ -412,9 +398,8 @@ var AmazonApiGatewayEndpoint = class {
412
398
  cookie: event.cookie,
413
399
  logger
414
400
  }) : void 0;
415
- const result = await require_processAudits.executeWithAuditTransaction(auditContext, async (auditor) => {
416
- const sameDatabase = auditContext?.storage?.databaseServiceName && auditContext.storage.databaseServiceName === this.endpoint.databaseService?.serviceName;
417
- const baseDb = sameDatabase ? auditor?.getTransaction?.() ?? rawDb : rawDb;
401
+ const { output, metadata } = await require_processAudits.executeWithAuditTransaction(auditContext, async (auditor) => {
402
+ const baseDb = auditContext?.storage?.databaseServiceName && auditContext.storage.databaseServiceName === this.endpoint.databaseService?.serviceName ? auditor?.getTransaction?.() ?? rawDb : rawDb;
418
403
  const executeHandler = async (db) => {
419
404
  const responseBuilder = new require_Endpoint.ResponseBuilder();
420
405
  const response = await this.endpoint.handler({
@@ -428,33 +413,31 @@ var AmazonApiGatewayEndpoint = class {
428
413
  ...input
429
414
  }, responseBuilder);
430
415
  let data = response;
431
- let metadata$1 = responseBuilder.getMetadata();
416
+ let metadata = responseBuilder.getMetadata();
432
417
  if (require_Endpoint.Endpoint.hasMetadata(response)) {
433
418
  data = response.data;
434
- metadata$1 = response.metadata;
419
+ metadata = response.metadata;
435
420
  }
436
- const output$1 = this.endpoint.outputSchema ? await this.endpoint.parseOutput(data) : void 0;
437
421
  return {
438
- output: output$1,
439
- metadata: metadata$1,
422
+ output: this.endpoint.outputSchema ? await this.endpoint.parseOutput(data) : void 0,
423
+ metadata,
440
424
  responseBuilder
441
425
  };
442
426
  };
443
- if (rlsActive && rlsContext && baseDb) return (0, __geekmidas_db_rls.withRlsContext)(baseDb, rlsContext, async (trx) => executeHandler(trx), { prefix: this.endpoint.rlsConfig?.prefix });
427
+ if (rlsActive && rlsContext && baseDb) return (0, _geekmidas_db_rls.withRlsContext)(baseDb, rlsContext, async (trx) => executeHandler(trx), { prefix: this.endpoint.rlsConfig?.prefix });
444
428
  return executeHandler(baseDb);
445
- }, async (result$1, auditor) => {
429
+ }, async (result, auditor) => {
446
430
  if (!audits?.length) return;
447
431
  for (const audit of audits) {
448
- if (audit.when && !audit.when(result$1.output)) continue;
449
- const payload = audit.payload(result$1.output);
450
- const entityId = audit.entityId?.(result$1.output);
432
+ if (audit.when && !audit.when(result.output)) continue;
433
+ const payload = audit.payload(result.output);
434
+ const entityId = audit.entityId?.(result.output);
451
435
  auditor.audit(audit.type, payload, {
452
436
  table: audit.table,
453
437
  entityId
454
438
  });
455
439
  }
456
440
  }, { db: rawDb });
457
- const { output, metadata } = result;
458
441
  const isJsonResponse = this.endpoint.responseType === "application/json";
459
442
  const body = output === void 0 ? void 0 : isJsonResponse ? JSON.stringify(output) : typeof output === "string" ? output : String(output);
460
443
  event.__response = output;
@@ -505,7 +488,7 @@ var AmazonApiGatewayEndpoint = class {
505
488
  }
506
489
  get handler() {
507
490
  const handler = this._handler.bind(this);
508
- 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());
491
+ 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());
509
492
  const telemetryMiddleware = this.telemetry();
510
493
  if (telemetryMiddleware) chain = chain.use(telemetryMiddleware);
511
494
  if (this.options.telescope?.middleware) chain = chain.use(this.options.telescope.middleware);
@@ -513,7 +496,7 @@ var AmazonApiGatewayEndpoint = class {
513
496
  const startTime = Date.now();
514
497
  const requestId = context.awsRequestId;
515
498
  const logger = this.endpoint.logger.child({ requestId });
516
- return (0, __geekmidas_services.runWithRequestContext)({
499
+ return (0, _geekmidas_services.runWithRequestContext)({
517
500
  logger,
518
501
  requestId,
519
502
  startTime
@@ -522,7 +505,6 @@ var AmazonApiGatewayEndpoint = class {
522
505
  return wrappedHandler;
523
506
  }
524
507
  };
525
-
526
508
  //#endregion
527
509
  //#region src/endpoints/parseQueryParams.ts
528
510
  /**
@@ -543,10 +525,10 @@ function parseQueryParams(queryParams) {
543
525
  }
544
526
  return qs.default.parse(parts.join("&"));
545
527
  }
546
-
547
528
  //#endregion
548
529
  //#region src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts
549
530
  var AmazonApiGatewayV1Endpoint = class extends AmazonApiGatewayEndpoint {
531
+ endpoint;
550
532
  getInput(e) {
551
533
  const multiValueParams = e.multiValueQueryStringParameters || {};
552
534
  const singleValueParams = e.queryStringParameters || {};
@@ -579,17 +561,16 @@ var AmazonApiGatewayV1Endpoint = class extends AmazonApiGatewayEndpoint {
579
561
  this.endpoint = endpoint;
580
562
  }
581
563
  };
582
-
583
564
  //#endregion
584
565
  //#region src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts
585
566
  var AmazonApiGatewayV2Endpoint = class extends AmazonApiGatewayEndpoint {
567
+ endpoint;
586
568
  getCookies(e) {
587
569
  return require_lazyAccessors.createApiGatewayCookies(e.cookies, e.headers?.cookie);
588
570
  }
589
571
  getInput(e) {
590
- const raw = AmazonApiGatewayEndpoint.decodeBody(e.body, e.isBase64Encoded, e.headers?.["content-type"]);
591
572
  return {
592
- body: raw,
573
+ body: AmazonApiGatewayEndpoint.decodeBody(e.body, e.isBase64Encoded, e.headers?.["content-type"]),
593
574
  query: qs.default.parse(e.rawQueryString),
594
575
  params: e.pathParameters || {}
595
576
  };
@@ -614,7 +595,6 @@ var AmazonApiGatewayV2Endpoint = class extends AmazonApiGatewayEndpoint {
614
595
  this.endpoint = endpoint;
615
596
  }
616
597
  };
617
-
618
598
  //#endregion
619
599
  //#region src/queue/AWSLambdaQueueAdaptor.ts
620
600
  /**
@@ -629,6 +609,8 @@ var AmazonApiGatewayV2Endpoint = class extends AmazonApiGatewayEndpoint {
629
609
  * retries only those records.
630
610
  */
631
611
  var AWSLambdaQueue = class {
612
+ envParser;
613
+ queue;
632
614
  _services;
633
615
  constructor(envParser, queue) {
634
616
  this.envParser = envParser;
@@ -639,7 +621,7 @@ var AWSLambdaQueue = class {
639
621
  }
640
622
  async getServices() {
641
623
  if (this._services) return this._services;
642
- const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
624
+ const serviceDiscovery = _geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
643
625
  this._services = this.queue.services.length > 0 ? await serviceDiscovery.register(this.queue.services) : {};
644
626
  return this._services;
645
627
  }
@@ -698,29 +680,30 @@ var AWSLambdaQueue = class {
698
680
  logger
699
681
  });
700
682
  } catch (error) {
701
- logger.error((0, __geekmidas_errors.wrapError)(error), "Queue handler failed; retrying batch");
683
+ logger.error((0, _geekmidas_errors.wrapError)(error), "Queue handler failed; retrying batch");
702
684
  for (const record of event.Records) if (!batchItemFailures.some((f) => f.itemIdentifier === record.messageId)) batchItemFailures.push({ itemIdentifier: record.messageId });
703
685
  }
704
686
  return { batchItemFailures };
705
687
  }
706
688
  get handler() {
707
689
  const handler = this._handler.bind(this);
708
- return async (event, context) => {
690
+ return (async (event, context) => {
709
691
  const startTime = Date.now();
710
692
  const requestId = context.awsRequestId;
711
693
  const logger = this.queue.logger.child({ requestId });
712
- return (0, __geekmidas_services.runWithRequestContext)({
694
+ return (0, _geekmidas_services.runWithRequestContext)({
713
695
  logger,
714
696
  requestId,
715
697
  startTime
716
698
  }, () => handler(event, context));
717
- };
699
+ });
718
700
  }
719
701
  };
720
-
721
702
  //#endregion
722
703
  //#region src/subscribers/AWSLambdaSubscriberAdaptor.ts
723
704
  var AWSLambdaSubscriber = class {
705
+ envParser;
706
+ subscriber;
724
707
  _logger;
725
708
  _services;
726
709
  constructor(envParser, subscriber) {
@@ -733,7 +716,7 @@ var AWSLambdaSubscriber = class {
733
716
  }
734
717
  async getServices() {
735
718
  if (this._services) return this._services;
736
- const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
719
+ const serviceDiscovery = _geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
737
720
  if (this.subscriber.services.length > 0) {
738
721
  const registered = await serviceDiscovery.register(this.subscriber.services);
739
722
  this._services = registered;
@@ -742,9 +725,8 @@ var AWSLambdaSubscriber = class {
742
725
  }
743
726
  error() {
744
727
  return { onError: (req) => {
745
- const logger = req.event?.logger || this.subscriber.logger;
746
- logger.error(req.error || {}, "Error processing subscriber");
747
- throw (0, __geekmidas_errors.wrapError)(req.error);
728
+ (req.event?.logger || this.subscriber.logger).error(req.error || {}, "Error processing subscriber");
729
+ throw (0, _geekmidas_errors.wrapError)(req.error);
748
730
  } };
749
731
  }
750
732
  loggerMiddleware() {
@@ -767,7 +749,7 @@ var AWSLambdaSubscriber = class {
767
749
  }
768
750
  parseEvents() {
769
751
  return { before: async (req) => {
770
- const { logger,...e } = req.event;
752
+ const { logger, ...e } = req.event;
771
753
  const rawEvent = e;
772
754
  logger.info({ rawEvent });
773
755
  const events = [];
@@ -869,12 +851,12 @@ var AWSLambdaSubscriber = class {
869
851
  }
870
852
  get handler() {
871
853
  const handler = this._handler.bind(this);
872
- const chain = (0, __middy_core.default)(handler).use(this.loggerMiddleware()).use(this.parseEvents()).use(this.error()).use(this.services());
854
+ const chain = (0, _middy_core.default)(handler).use(this.loggerMiddleware()).use(this.parseEvents()).use(this.error()).use(this.services());
873
855
  const wrappedHandler = async (event, context) => {
874
856
  const startTime = Date.now();
875
857
  const requestId = context.awsRequestId;
876
858
  const logger = this.subscriber.logger.child({ requestId });
877
- return (0, __geekmidas_services.runWithRequestContext)({
859
+ return (0, _geekmidas_services.runWithRequestContext)({
878
860
  logger,
879
861
  requestId,
880
862
  startTime
@@ -883,7 +865,86 @@ var AWSLambdaSubscriber = class {
883
865
  return wrappedHandler;
884
866
  }
885
867
  };
886
-
868
+ //#endregion
869
+ //#region src/subscribers/SnsPushSubscriberAdaptor.ts
870
+ /**
871
+ * A topic subscriber run by SNS pushing to an HTTP endpoint, rather than by a
872
+ * poller.
873
+ *
874
+ * The notification is handed to {@link AWSLambdaSubscriber} as the Lambda
875
+ * event SNS would have invoked a function with, so the parsing, the services
876
+ * and the error handling are the ones that run deployed on Lambda — the
877
+ * endpoint is only a different way for the event to arrive.
878
+ */
879
+ var SnsPushSubscriberAdaptor = class {
880
+ subscriber;
881
+ options;
882
+ lambda;
883
+ constructor(envParser, subscriber, options) {
884
+ this.subscriber = subscriber;
885
+ this.options = options;
886
+ this.lambda = new AWSLambdaSubscriber(envParser, subscriber);
887
+ }
888
+ async handle(body) {
889
+ const message = body;
890
+ if (typeof message?.Type !== "string" || !message.TopicArn) return refuse(400, "not an SNS message");
891
+ if (message.TopicArn !== this.options.topicArn) return refuse(403, `not subscribed to ${message.TopicArn}`);
892
+ if (this.options.verify) try {
893
+ await (0, _geekmidas_events_sns.verifySnsMessage)(message);
894
+ } catch (error) {
895
+ this.subscriber.logger.warn({
896
+ error,
897
+ topicArn: message.TopicArn
898
+ }, "Refused an SNS message that did not verify");
899
+ return refuse(403, error.name);
900
+ }
901
+ switch (message.Type) {
902
+ case "SubscriptionConfirmation":
903
+ await (0, _geekmidas_events_sns.confirmSnsSubscription)(this.options.emulatorEndpoint && message.SubscribeURL ? {
904
+ ...message,
905
+ SubscribeURL: throughEndpoint(message.SubscribeURL, this.options.emulatorEndpoint)
906
+ } : message);
907
+ this.subscriber.logger.info({ topicArn: message.TopicArn }, "Confirmed SNS subscription");
908
+ return {
909
+ status: 200,
910
+ body: { status: "confirmed" }
911
+ };
912
+ case "Notification": try {
913
+ await this.lambda.handler((0, _geekmidas_events_sns.toSnsEvent)(message), {
914
+ awsRequestId: message.MessageId,
915
+ functionName: this.subscriber.topicName ?? "subscriber"
916
+ }, () => {});
917
+ return {
918
+ status: 200,
919
+ body: { status: "ok" }
920
+ };
921
+ } catch (error) {
922
+ return refuse(500, error.name);
923
+ }
924
+ default: return {
925
+ status: 200,
926
+ body: { status: "ignored" }
927
+ };
928
+ }
929
+ }
930
+ };
931
+ /** `url`, sent to `endpoint`'s origin instead of its own. */
932
+ function throughEndpoint(url, endpoint) {
933
+ const target = new URL(url);
934
+ const origin = new URL(endpoint);
935
+ target.protocol = origin.protocol;
936
+ target.host = origin.host;
937
+ return target.toString();
938
+ }
939
+ function refuse(status, error) {
940
+ return {
941
+ status,
942
+ body: {
943
+ status: "refused",
944
+ error
945
+ }
946
+ };
947
+ }
887
948
  //#endregion
888
949
  exports.AWSLambdaFunction = AWSLambdaFunction;
889
950
  exports.AWSLambdaQueue = AWSLambdaQueue;
@@ -891,4 +952,6 @@ exports.AWSLambdaSubscriber = AWSLambdaSubscriber;
891
952
  exports.AWSScheduledFunction = AWSScheduledFunction;
892
953
  exports.AmazonApiGatewayV1Endpoint = AmazonApiGatewayV1Endpoint;
893
954
  exports.AmazonApiGatewayV2Endpoint = AmazonApiGatewayV2Endpoint;
955
+ exports.SnsPushSubscriberAdaptor = SnsPushSubscriberAdaptor;
956
+
894
957
  //# sourceMappingURL=aws.cjs.map