@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,21 +1,21 @@
1
- import { __toESM } from "../Construct-BD5neF7w.mjs";
2
- import "../construct-interface-Z4CpS8tK.mjs";
3
- import { FunctionBuilder } from "../functions-Ck21Uyq0.mjs";
4
- import "../clone-DblgEZZa.mjs";
5
- import { Endpoint, ResponseBuilder, require_lodash } from "../Endpoint-Dij_wOcc.mjs";
6
- import { envParserFor } from "../surfaceEnv-C3Ktahea.mjs";
7
- import { createApiGatewayCookies, publishConstructEvents, publishEvents } from "../lazyAccessors-BoJN3SMd.mjs";
8
- import { createAuditContext, executeWithAuditTransaction } from "../processAudits-Dmts9H_b.mjs";
1
+ import { o as __toESM } from "../Construct-BO1X-kt9.mjs";
2
+ import { a as publishEvents, i as publishConstructEvents, t as FunctionBuilder } from "../functions-DCIfCRR-.mjs";
3
+ import { i as require_lodash_set, n as ResponseBuilder, t as Endpoint } from "../Endpoint-CQAeh1Rh.mjs";
4
+ import { n as envParserFor } from "../surfaceEnv-wMT5QzgZ.mjs";
5
+ import { t as createApiGatewayCookies } from "../lazyAccessors-CFanua0O.mjs";
6
+ import { n as executeWithAuditTransaction, t as createAuditContext } from "../processAudits-BpRlPQMW.mjs";
9
7
  import { ForbiddenError, UnprocessableEntityError, wrapError } from "@geekmidas/errors";
8
+ import { withRlsContext } from "@geekmidas/db/rls";
10
9
  import { ServiceDiscovery, runWithRequestContext } from "@geekmidas/services";
11
- import middy from "@middy/core";
10
+ import qs from "qs";
12
11
  import { DefaultAuditor } from "@geekmidas/audit";
12
+ import middy from "@middy/core";
13
13
  import { withAuditableTransaction } from "@geekmidas/audit/kysely";
14
- import { withRlsContext } from "@geekmidas/db/rls";
15
- import qs from "qs";
16
-
14
+ import { confirmSnsSubscription, toSnsEvent, verifySnsMessage } from "@geekmidas/events/sns";
17
15
  //#region src/functions/FunctionExecutionWrapper.ts
18
16
  var FunctionExecutionWrapper = class {
17
+ envParser;
18
+ fn;
19
19
  constructor(envParser, fn) {
20
20
  this.envParser = envParser;
21
21
  this.fn = fn;
@@ -25,25 +25,22 @@ var FunctionExecutionWrapper = class {
25
25
  return this._logger || this.fn.logger;
26
26
  }
27
27
  get serviceDiscovery() {
28
- const serviceDiscovery = ServiceDiscovery.getInstance(this.envParser);
29
- return serviceDiscovery;
28
+ return ServiceDiscovery.getInstance(this.envParser);
30
29
  }
31
30
  getServices() {
32
31
  return this.serviceDiscovery.register(this.fn.services);
33
32
  }
34
33
  async getDatabase() {
35
- if (!this.fn.databaseService) return void 0;
36
- const services = await this.serviceDiscovery.register([this.fn.databaseService]);
37
- return services[this.fn.databaseService.serviceName];
34
+ if (!this.fn.databaseService) return;
35
+ return (await this.serviceDiscovery.register([this.fn.databaseService]))[this.fn.databaseService.serviceName];
38
36
  }
39
37
  /**
40
38
  * Get the audit storage service if configured.
41
39
  * Returns undefined if no auditor storage is configured.
42
40
  */
43
41
  async getAuditStorage() {
44
- if (!this.fn.auditorStorageService) return void 0;
45
- const services = await this.serviceDiscovery.register([this.fn.auditorStorageService]);
46
- return services[this.fn.auditorStorageService.serviceName];
42
+ if (!this.fn.auditorStorageService) return;
43
+ return (await this.serviceDiscovery.register([this.fn.auditorStorageService]))[this.fn.auditorStorageService.serviceName];
47
44
  }
48
45
  /**
49
46
  * Create an auditor instance for the function.
@@ -51,7 +48,7 @@ var FunctionExecutionWrapper = class {
51
48
  */
52
49
  async createAuditor() {
53
50
  const storage = await this.getAuditStorage();
54
- if (!storage) return void 0;
51
+ if (!storage) return;
55
52
  return new DefaultAuditor({
56
53
  actor: {
57
54
  id: "system",
@@ -72,51 +69,44 @@ var FunctionExecutionWrapper = class {
72
69
  async executeWithAudit(handler) {
73
70
  const auditor = await this.createAuditor();
74
71
  const storage = await this.getAuditStorage();
75
- if (!auditor || !storage) {
76
- const db$1 = await this.getDatabase();
77
- return handler({ db: db$1 });
78
- }
72
+ if (!auditor || !storage) return handler({ db: await this.getDatabase() });
79
73
  const storageDb = storage.getDatabase?.();
80
74
  const databaseServiceName = this.fn.databaseService?.serviceName;
81
75
  const auditDbServiceName = this.fn.auditorStorageService?.serviceName;
82
76
  if (storageDb && databaseServiceName && auditDbServiceName) return withAuditableTransaction(storageDb, auditor, async (trx) => {
83
- const response$1 = await handler({
77
+ return await handler({
84
78
  auditor,
85
79
  db: trx
86
80
  });
87
- return response$1;
88
81
  });
89
- const db = await this.getDatabase();
90
82
  const response = await handler({
91
83
  auditor,
92
- db
84
+ db: await this.getDatabase()
93
85
  });
94
86
  await auditor.flush();
95
87
  return response;
96
88
  }
97
89
  async getFunctionInput(event) {
98
- const parsedInput = await FunctionBuilder.parseComposableStandardSchema(event, this.fn.input);
99
- return parsedInput;
90
+ return await FunctionBuilder.parseComposableStandardSchema(event, this.fn.input);
100
91
  }
101
92
  async publishEvents(response) {
102
- await publishEvents(this.logger, this.serviceDiscovery, this.fn.events, response, this.fn.publisherService);
93
+ await publishEvents(this.logger, this.serviceDiscovery, this.fn.events, response);
103
94
  }
104
95
  async parseComposableStandardSchema(data, schema) {
105
96
  return FunctionBuilder.parseComposableStandardSchema(data, schema);
106
97
  }
107
98
  };
108
-
109
99
  //#endregion
110
100
  //#region src/functions/AWSLambdaFunction.ts
111
101
  var AWSLambdaFunction = class extends FunctionExecutionWrapper {
102
+ fn;
112
103
  constructor(envParser, fn) {
113
104
  super(envParser, fn);
114
105
  this.fn = fn;
115
106
  }
116
107
  error() {
117
108
  return { onError: (req) => {
118
- const logger = req.event?.logger || this.fn.logger;
119
- logger.error(req.error || {}, "Error processing function");
109
+ (req.event?.logger || this.fn.logger).error(req.error || {}, "Error processing function");
120
110
  throw wrapError(req.error);
121
111
  } };
122
112
  }
@@ -192,8 +182,7 @@ var AWSLambdaFunction = class extends FunctionExecutionWrapper {
192
182
  db: event.db,
193
183
  auditor: event.auditor
194
184
  });
195
- const output = await this.fn.parseOutput(result);
196
- return output;
185
+ return await this.fn.parseOutput(result);
197
186
  }
198
187
  get handler() {
199
188
  const handler = this._handler.bind(this);
@@ -211,7 +200,6 @@ var AWSLambdaFunction = class extends FunctionExecutionWrapper {
211
200
  return wrappedHandler;
212
201
  }
213
202
  };
214
-
215
203
  //#endregion
216
204
  //#region src/crons/AWSScheduledFunction.ts
217
205
  /**
@@ -245,11 +233,11 @@ var AWSScheduledFunction = class extends AWSLambdaFunction {
245
233
  super(envParser, cron);
246
234
  }
247
235
  };
248
-
249
236
  //#endregion
250
237
  //#region src/endpoints/AmazonApiGatewayEndpointAdaptor.ts
251
- var import_lodash = __toESM(require_lodash(), 1);
238
+ var import_lodash_set = /* @__PURE__ */ __toESM(require_lodash_set(), 1);
252
239
  var AmazonApiGatewayEndpoint = class {
240
+ endpoint;
253
241
  options;
254
242
  /**
255
243
  * The parser this adaptor discovers services with.
@@ -287,8 +275,7 @@ var AmazonApiGatewayEndpoint = class {
287
275
  static decodeBody(body, isBase64Encoded, contentType) {
288
276
  if (!body) return void 0;
289
277
  const raw = isBase64Encoded ? Buffer.from(body, "base64").toString("utf-8") : body;
290
- const isJson = !contentType || contentType.toLowerCase().includes("application/json");
291
- if (isJson) return JSON.parse(raw);
278
+ if (!contentType || contentType.toLowerCase().includes("application/json")) return JSON.parse(raw);
292
279
  return raw;
293
280
  }
294
281
  getCookies(e) {
@@ -302,11 +289,11 @@ var AmazonApiGatewayEndpoint = class {
302
289
  const headers = req.event.headers;
303
290
  const header = Endpoint.createHeaders(headers);
304
291
  const cookie = this.getCookies(req.event);
305
- (0, import_lodash.default)(req.event, "body", await this.endpoint.parseInput(body, "body"));
306
- (0, import_lodash.default)(req.event, "query", await this.endpoint.parseInput(query, "query"));
307
- (0, import_lodash.default)(req.event, "params", await this.endpoint.parseInput(params, "params"));
308
- (0, import_lodash.default)(req.event, "header", header);
309
- (0, import_lodash.default)(req.event, "cookie", cookie);
292
+ (0, import_lodash_set.default)(req.event, "body", await this.endpoint.parseInput(body, "body"));
293
+ (0, import_lodash_set.default)(req.event, "query", await this.endpoint.parseInput(query, "query"));
294
+ (0, import_lodash_set.default)(req.event, "params", await this.endpoint.parseInput(params, "params"));
295
+ (0, import_lodash_set.default)(req.event, "header", header);
296
+ (0, import_lodash_set.default)(req.event, "cookie", cookie);
310
297
  } catch (error) {
311
298
  if (error && typeof error === "object" && Array.isArray(error)) throw new UnprocessableEntityError("Validation failed", error);
312
299
  throw error;
@@ -325,9 +312,8 @@ var AmazonApiGatewayEndpoint = class {
325
312
  }
326
313
  services() {
327
314
  return { before: async (req) => {
328
- const _logger = req.event.logger;
329
- const serviceDiscovery = ServiceDiscovery.getInstance(this.envParser);
330
- const services = await serviceDiscovery.register(this.endpoint.services);
315
+ req.event.logger;
316
+ const services = await ServiceDiscovery.getInstance(this.envParser).register(this.endpoint.services);
331
317
  req.event.services = services;
332
318
  } };
333
319
  }
@@ -338,7 +324,7 @@ var AmazonApiGatewayEndpoint = class {
338
324
  const header = req.event.header;
339
325
  const cookie = req.event.cookie;
340
326
  const session = req.event.session;
341
- const isAuthorized = await this.endpoint.authorize({
327
+ if (!await this.endpoint.authorize({
342
328
  header,
343
329
  cookie,
344
330
  services,
@@ -348,8 +334,7 @@ var AmazonApiGatewayEndpoint = class {
348
334
  body: req.event.body,
349
335
  query: req.event.query,
350
336
  params: req.event.params
351
- });
352
- if (!isAuthorized) {
337
+ })) {
353
338
  logger.warn("Forbidden access attempt");
354
339
  throw new ForbiddenError("Forbidden access to the endpoint", "You do not have permission to access this resource.");
355
340
  }
@@ -358,9 +343,8 @@ var AmazonApiGatewayEndpoint = class {
358
343
  database() {
359
344
  return { before: async (req) => {
360
345
  if (!this.endpoint.databaseService) return;
361
- const _logger = req.event.logger;
362
- const serviceDiscovery = ServiceDiscovery.getInstance(this.envParser);
363
- const db = await serviceDiscovery.register([this.endpoint.databaseService]).then((s) => s[this.endpoint.databaseService?.serviceName]);
346
+ req.event.logger;
347
+ const db = await ServiceDiscovery.getInstance(this.envParser).register([this.endpoint.databaseService]).then((s) => s[this.endpoint.databaseService?.serviceName]);
364
348
  req.event.db = db;
365
349
  } };
366
350
  }
@@ -411,9 +395,8 @@ var AmazonApiGatewayEndpoint = class {
411
395
  cookie: event.cookie,
412
396
  logger
413
397
  }) : void 0;
414
- const result = await executeWithAuditTransaction(auditContext, async (auditor) => {
415
- const sameDatabase = auditContext?.storage?.databaseServiceName && auditContext.storage.databaseServiceName === this.endpoint.databaseService?.serviceName;
416
- const baseDb = sameDatabase ? auditor?.getTransaction?.() ?? rawDb : rawDb;
398
+ const { output, metadata } = await executeWithAuditTransaction(auditContext, async (auditor) => {
399
+ const baseDb = auditContext?.storage?.databaseServiceName && auditContext.storage.databaseServiceName === this.endpoint.databaseService?.serviceName ? auditor?.getTransaction?.() ?? rawDb : rawDb;
417
400
  const executeHandler = async (db) => {
418
401
  const responseBuilder = new ResponseBuilder();
419
402
  const response = await this.endpoint.handler({
@@ -427,33 +410,31 @@ var AmazonApiGatewayEndpoint = class {
427
410
  ...input
428
411
  }, responseBuilder);
429
412
  let data = response;
430
- let metadata$1 = responseBuilder.getMetadata();
413
+ let metadata = responseBuilder.getMetadata();
431
414
  if (Endpoint.hasMetadata(response)) {
432
415
  data = response.data;
433
- metadata$1 = response.metadata;
416
+ metadata = response.metadata;
434
417
  }
435
- const output$1 = this.endpoint.outputSchema ? await this.endpoint.parseOutput(data) : void 0;
436
418
  return {
437
- output: output$1,
438
- metadata: metadata$1,
419
+ output: this.endpoint.outputSchema ? await this.endpoint.parseOutput(data) : void 0,
420
+ metadata,
439
421
  responseBuilder
440
422
  };
441
423
  };
442
424
  if (rlsActive && rlsContext && baseDb) return withRlsContext(baseDb, rlsContext, async (trx) => executeHandler(trx), { prefix: this.endpoint.rlsConfig?.prefix });
443
425
  return executeHandler(baseDb);
444
- }, async (result$1, auditor) => {
426
+ }, async (result, auditor) => {
445
427
  if (!audits?.length) return;
446
428
  for (const audit of audits) {
447
- if (audit.when && !audit.when(result$1.output)) continue;
448
- const payload = audit.payload(result$1.output);
449
- const entityId = audit.entityId?.(result$1.output);
429
+ if (audit.when && !audit.when(result.output)) continue;
430
+ const payload = audit.payload(result.output);
431
+ const entityId = audit.entityId?.(result.output);
450
432
  auditor.audit(audit.type, payload, {
451
433
  table: audit.table,
452
434
  entityId
453
435
  });
454
436
  }
455
437
  }, { db: rawDb });
456
- const { output, metadata } = result;
457
438
  const isJsonResponse = this.endpoint.responseType === "application/json";
458
439
  const body = output === void 0 ? void 0 : isJsonResponse ? JSON.stringify(output) : typeof output === "string" ? output : String(output);
459
440
  event.__response = output;
@@ -521,7 +502,6 @@ var AmazonApiGatewayEndpoint = class {
521
502
  return wrappedHandler;
522
503
  }
523
504
  };
524
-
525
505
  //#endregion
526
506
  //#region src/endpoints/parseQueryParams.ts
527
507
  /**
@@ -542,10 +522,10 @@ function parseQueryParams(queryParams) {
542
522
  }
543
523
  return qs.parse(parts.join("&"));
544
524
  }
545
-
546
525
  //#endregion
547
526
  //#region src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts
548
527
  var AmazonApiGatewayV1Endpoint = class extends AmazonApiGatewayEndpoint {
528
+ endpoint;
549
529
  getInput(e) {
550
530
  const multiValueParams = e.multiValueQueryStringParameters || {};
551
531
  const singleValueParams = e.queryStringParameters || {};
@@ -578,17 +558,16 @@ var AmazonApiGatewayV1Endpoint = class extends AmazonApiGatewayEndpoint {
578
558
  this.endpoint = endpoint;
579
559
  }
580
560
  };
581
-
582
561
  //#endregion
583
562
  //#region src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts
584
563
  var AmazonApiGatewayV2Endpoint = class extends AmazonApiGatewayEndpoint {
564
+ endpoint;
585
565
  getCookies(e) {
586
566
  return createApiGatewayCookies(e.cookies, e.headers?.cookie);
587
567
  }
588
568
  getInput(e) {
589
- const raw = AmazonApiGatewayEndpoint.decodeBody(e.body, e.isBase64Encoded, e.headers?.["content-type"]);
590
569
  return {
591
- body: raw,
570
+ body: AmazonApiGatewayEndpoint.decodeBody(e.body, e.isBase64Encoded, e.headers?.["content-type"]),
592
571
  query: qs.parse(e.rawQueryString),
593
572
  params: e.pathParameters || {}
594
573
  };
@@ -613,7 +592,6 @@ var AmazonApiGatewayV2Endpoint = class extends AmazonApiGatewayEndpoint {
613
592
  this.endpoint = endpoint;
614
593
  }
615
594
  };
616
-
617
595
  //#endregion
618
596
  //#region src/queue/AWSLambdaQueueAdaptor.ts
619
597
  /**
@@ -628,6 +606,8 @@ var AmazonApiGatewayV2Endpoint = class extends AmazonApiGatewayEndpoint {
628
606
  * retries only those records.
629
607
  */
630
608
  var AWSLambdaQueue = class {
609
+ envParser;
610
+ queue;
631
611
  _services;
632
612
  constructor(envParser, queue) {
633
613
  this.envParser = envParser;
@@ -704,7 +684,7 @@ var AWSLambdaQueue = class {
704
684
  }
705
685
  get handler() {
706
686
  const handler = this._handler.bind(this);
707
- return async (event, context) => {
687
+ return (async (event, context) => {
708
688
  const startTime = Date.now();
709
689
  const requestId = context.awsRequestId;
710
690
  const logger = this.queue.logger.child({ requestId });
@@ -713,13 +693,14 @@ var AWSLambdaQueue = class {
713
693
  requestId,
714
694
  startTime
715
695
  }, () => handler(event, context));
716
- };
696
+ });
717
697
  }
718
698
  };
719
-
720
699
  //#endregion
721
700
  //#region src/subscribers/AWSLambdaSubscriberAdaptor.ts
722
701
  var AWSLambdaSubscriber = class {
702
+ envParser;
703
+ subscriber;
723
704
  _logger;
724
705
  _services;
725
706
  constructor(envParser, subscriber) {
@@ -741,8 +722,7 @@ var AWSLambdaSubscriber = class {
741
722
  }
742
723
  error() {
743
724
  return { onError: (req) => {
744
- const logger = req.event?.logger || this.subscriber.logger;
745
- logger.error(req.error || {}, "Error processing subscriber");
725
+ (req.event?.logger || this.subscriber.logger).error(req.error || {}, "Error processing subscriber");
746
726
  throw wrapError(req.error);
747
727
  } };
748
728
  }
@@ -766,7 +746,7 @@ var AWSLambdaSubscriber = class {
766
746
  }
767
747
  parseEvents() {
768
748
  return { before: async (req) => {
769
- const { logger,...e } = req.event;
749
+ const { logger, ...e } = req.event;
770
750
  const rawEvent = e;
771
751
  logger.info({ rawEvent });
772
752
  const events = [];
@@ -882,7 +862,87 @@ var AWSLambdaSubscriber = class {
882
862
  return wrappedHandler;
883
863
  }
884
864
  };
885
-
886
865
  //#endregion
887
- export { AWSLambdaFunction, AWSLambdaQueue, AWSLambdaSubscriber, AWSScheduledFunction, AmazonApiGatewayV1Endpoint, AmazonApiGatewayV2Endpoint };
866
+ //#region src/subscribers/SnsPushSubscriberAdaptor.ts
867
+ /**
868
+ * A topic subscriber run by SNS pushing to an HTTP endpoint, rather than by a
869
+ * poller.
870
+ *
871
+ * The notification is handed to {@link AWSLambdaSubscriber} as the Lambda
872
+ * event SNS would have invoked a function with, so the parsing, the services
873
+ * and the error handling are the ones that run deployed on Lambda — the
874
+ * endpoint is only a different way for the event to arrive.
875
+ */
876
+ var SnsPushSubscriberAdaptor = class {
877
+ subscriber;
878
+ options;
879
+ lambda;
880
+ constructor(envParser, subscriber, options) {
881
+ this.subscriber = subscriber;
882
+ this.options = options;
883
+ this.lambda = new AWSLambdaSubscriber(envParser, subscriber);
884
+ }
885
+ async handle(body) {
886
+ const message = body;
887
+ if (typeof message?.Type !== "string" || !message.TopicArn) return refuse(400, "not an SNS message");
888
+ if (message.TopicArn !== this.options.topicArn) return refuse(403, `not subscribed to ${message.TopicArn}`);
889
+ if (this.options.verify) try {
890
+ await verifySnsMessage(message);
891
+ } catch (error) {
892
+ this.subscriber.logger.warn({
893
+ error,
894
+ topicArn: message.TopicArn
895
+ }, "Refused an SNS message that did not verify");
896
+ return refuse(403, error.name);
897
+ }
898
+ switch (message.Type) {
899
+ case "SubscriptionConfirmation":
900
+ await confirmSnsSubscription(this.options.emulatorEndpoint && message.SubscribeURL ? {
901
+ ...message,
902
+ SubscribeURL: throughEndpoint(message.SubscribeURL, this.options.emulatorEndpoint)
903
+ } : message);
904
+ this.subscriber.logger.info({ topicArn: message.TopicArn }, "Confirmed SNS subscription");
905
+ return {
906
+ status: 200,
907
+ body: { status: "confirmed" }
908
+ };
909
+ case "Notification": try {
910
+ await this.lambda.handler(toSnsEvent(message), {
911
+ awsRequestId: message.MessageId,
912
+ functionName: this.subscriber.topicName ?? "subscriber"
913
+ }, () => {});
914
+ return {
915
+ status: 200,
916
+ body: { status: "ok" }
917
+ };
918
+ } catch (error) {
919
+ return refuse(500, error.name);
920
+ }
921
+ default: return {
922
+ status: 200,
923
+ body: { status: "ignored" }
924
+ };
925
+ }
926
+ }
927
+ };
928
+ /** `url`, sent to `endpoint`'s origin instead of its own. */
929
+ function throughEndpoint(url, endpoint) {
930
+ const target = new URL(url);
931
+ const origin = new URL(endpoint);
932
+ target.protocol = origin.protocol;
933
+ target.host = origin.host;
934
+ return target.toString();
935
+ }
936
+ function refuse(status, error) {
937
+ return {
938
+ status,
939
+ body: {
940
+ status: "refused",
941
+ error
942
+ }
943
+ };
944
+ }
945
+ //#endregion
946
+ export { AWSLambdaFunction, AWSLambdaQueue, AWSLambdaSubscriber, AWSScheduledFunction, AmazonApiGatewayV1Endpoint, AmazonApiGatewayV2Endpoint, SnsPushSubscriberAdaptor };
947
+
888
948
  //# sourceMappingURL=aws.mjs.map