@geekmidas/constructs 10.0.0-alpha.6 → 10.0.0-alpha.61

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 (405) 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-DmQ8vQ4b.d.cts → Cron-DI3nKoic.d.cts} +15 -9
  11. package/dist/Cron-DI3nKoic.d.cts.map +1 -0
  12. package/dist/{Cron-dh4rUgib.d.mts → Cron-uYAHPnp7.d.mts} +15 -9
  13. package/dist/Cron-uYAHPnp7.d.mts.map +1 -0
  14. package/dist/{CronBuilder-Da0C0edR.cjs → CronBuilder-BoHzlWU_.cjs} +47 -31
  15. package/dist/CronBuilder-BoHzlWU_.cjs.map +1 -0
  16. package/dist/{CronBuilder-CYKT5RiO.mjs → CronBuilder-CCgt0wCE.mjs} +37 -21
  17. package/dist/CronBuilder-CCgt0wCE.mjs.map +1 -0
  18. package/dist/CronBuilder-DaSUm2Na.d.mts +47 -0
  19. package/dist/CronBuilder-DaSUm2Na.d.mts.map +1 -0
  20. package/dist/CronBuilder-g1lZLWyG.d.cts +47 -0
  21. package/dist/CronBuilder-g1lZLWyG.d.cts.map +1 -0
  22. package/dist/{Endpoint-BjWKinFA.d.mts → Endpoint-BJDBZBZu.d.mts} +75 -91
  23. package/dist/Endpoint-BJDBZBZu.d.mts.map +1 -0
  24. package/dist/{Endpoint-DCQPMdUX.mjs → Endpoint-CMWWrQ7u.mjs} +140 -109
  25. package/dist/Endpoint-CMWWrQ7u.mjs.map +1 -0
  26. package/dist/{Endpoint-dav89W6-.d.cts → Endpoint-DV3jK5sP.d.cts} +74 -90
  27. package/dist/Endpoint-DV3jK5sP.d.cts.map +1 -0
  28. package/dist/{Endpoint-DcWXE-SZ.cjs → Endpoint-DfiXTm_v.cjs} +168 -131
  29. package/dist/Endpoint-DfiXTm_v.cjs.map +1 -0
  30. package/dist/{EndpointFactory-CjV8F_lJ.mjs → EndpointFactory-7g4Dg6cW.mjs} +41 -75
  31. package/dist/EndpointFactory-7g4Dg6cW.mjs.map +1 -0
  32. package/dist/{EndpointFactory-CdWB7wPw.cjs → EndpointFactory-CLxrcS0O.cjs} +77 -111
  33. package/dist/EndpointFactory-CLxrcS0O.cjs.map +1 -0
  34. package/dist/{index-Bd5FqCoe.d.cts → EndpointFactory-CLzCLkLt.d.cts} +64 -133
  35. package/dist/EndpointFactory-CLzCLkLt.d.cts.map +1 -0
  36. package/dist/{index-lAO9egTb.d.mts → EndpointFactory-gaF4yRpP.d.mts} +65 -134
  37. package/dist/EndpointFactory-gaF4yRpP.d.mts.map +1 -0
  38. package/dist/Function-DuqGcbOI.d.mts +76 -0
  39. package/dist/Function-DuqGcbOI.d.mts.map +1 -0
  40. package/dist/Function-Pu-1kKZz.d.cts +76 -0
  41. package/dist/Function-Pu-1kKZz.d.cts.map +1 -0
  42. package/dist/{HonoEndpointAdaptor-DtL9j19R.cjs → HonoEndpointAdaptor-B22boEAR.cjs} +52 -54
  43. package/dist/HonoEndpointAdaptor-B22boEAR.cjs.map +1 -0
  44. package/dist/{HonoEndpointAdaptor-P1ahhZHu.mjs → HonoEndpointAdaptor-vY4JKG8i.mjs} +42 -47
  45. package/dist/HonoEndpointAdaptor-vY4JKG8i.mjs.map +1 -0
  46. package/dist/Queue-D5jcw0mu.cjs +109 -0
  47. package/dist/Queue-D5jcw0mu.cjs.map +1 -0
  48. package/dist/{Queue-D7ZuwBhy.d.cts → Queue-DlsHRzUp.d.mts} +48 -48
  49. package/dist/Queue-DlsHRzUp.d.mts.map +1 -0
  50. package/dist/{Queue-gVGfi2Yk.d.mts → Queue-HPyi0e1i.d.cts} +49 -49
  51. package/dist/Queue-HPyi0e1i.d.cts.map +1 -0
  52. package/dist/Queue-hwPN-t31.mjs +104 -0
  53. package/dist/Queue-hwPN-t31.mjs.map +1 -0
  54. package/dist/QueueBuilder-BFQn3OzZ.cjs +135 -0
  55. package/dist/QueueBuilder-BFQn3OzZ.cjs.map +1 -0
  56. package/dist/QueueBuilder-DCuYdjMw.mjs +118 -0
  57. package/dist/QueueBuilder-DCuYdjMw.mjs.map +1 -0
  58. package/dist/QueueBuilder-OSi6LkV9.d.cts +75 -0
  59. package/dist/QueueBuilder-OSi6LkV9.d.cts.map +1 -0
  60. package/dist/QueueBuilder-QHsnVt1P.d.mts +75 -0
  61. package/dist/QueueBuilder-QHsnVt1P.d.mts.map +1 -0
  62. package/dist/{Subscriber-2mEi0ImH.d.cts → Subscriber-Bpp02cGr.d.cts} +29 -20
  63. package/dist/Subscriber-Bpp02cGr.d.cts.map +1 -0
  64. package/dist/{Subscriber-xTJ9ayPN.d.mts → Subscriber-CtN9R48-.d.mts} +29 -20
  65. package/dist/Subscriber-CtN9R48-.d.mts.map +1 -0
  66. package/dist/{SubscriberBuilder-4OPehf2R.cjs → SubscriberBuilder-C2PwqwIl.cjs} +61 -36
  67. package/dist/SubscriberBuilder-C2PwqwIl.cjs.map +1 -0
  68. package/dist/SubscriberBuilder-CuCMFpYW.d.mts +67 -0
  69. package/dist/SubscriberBuilder-CuCMFpYW.d.mts.map +1 -0
  70. package/dist/{SubscriberBuilder-BjkbeT9l.mjs → SubscriberBuilder-DMFk_Ap1.mjs} +50 -24
  71. package/dist/SubscriberBuilder-DMFk_Ap1.mjs.map +1 -0
  72. package/dist/SubscriberBuilder-g3fAVWgs.d.cts +67 -0
  73. package/dist/SubscriberBuilder-g3fAVWgs.d.cts.map +1 -0
  74. package/dist/Topic-CkxOTrMv.cjs +104 -0
  75. package/dist/Topic-CkxOTrMv.cjs.map +1 -0
  76. package/dist/Topic-hPffOsot.mjs +99 -0
  77. package/dist/Topic-hPffOsot.mjs.map +1 -0
  78. package/dist/adaptors/aws.cjs +118 -216
  79. package/dist/adaptors/aws.cjs.map +1 -1
  80. package/dist/adaptors/aws.d.cts +34 -53
  81. package/dist/adaptors/aws.d.cts.map +1 -1
  82. package/dist/adaptors/aws.d.mts +35 -54
  83. package/dist/adaptors/aws.d.mts.map +1 -1
  84. package/dist/adaptors/aws.mjs +91 -191
  85. package/dist/adaptors/aws.mjs.map +1 -1
  86. package/dist/adaptors/hono.cjs +3 -10
  87. package/dist/adaptors/hono.d.cts +7 -16
  88. package/dist/adaptors/hono.d.cts.map +1 -1
  89. package/dist/adaptors/hono.d.mts +8 -17
  90. package/dist/adaptors/hono.d.mts.map +1 -1
  91. package/dist/adaptors/hono.mjs +2 -10
  92. package/dist/adaptors/testing.cjs +711 -89
  93. package/dist/adaptors/testing.cjs.map +1 -1
  94. package/dist/adaptors/testing.d.cts +325 -54
  95. package/dist/adaptors/testing.d.cts.map +1 -1
  96. package/dist/adaptors/testing.d.mts +325 -54
  97. package/dist/adaptors/testing.d.mts.map +1 -1
  98. package/dist/adaptors/testing.mjs +676 -70
  99. package/dist/adaptors/testing.mjs.map +1 -1
  100. package/dist/auth-CIFXNuDk.d.cts +194 -0
  101. package/dist/auth-CIFXNuDk.d.cts.map +1 -0
  102. package/dist/auth-CJ9Ff6Lu.d.mts +194 -0
  103. package/dist/auth-CJ9Ff6Lu.d.mts.map +1 -0
  104. package/dist/auth.cjs +172 -31
  105. package/dist/auth.cjs.map +1 -1
  106. package/dist/auth.d.cts +2 -108
  107. package/dist/auth.d.mts +2 -108
  108. package/dist/auth.mjs +161 -24
  109. package/dist/auth.mjs.map +1 -1
  110. package/dist/{cache-BrRz3fEB.d.mts → cache-CXh6GIgb.d.mts} +3 -6
  111. package/dist/cache-CXh6GIgb.d.mts.map +1 -0
  112. package/dist/{cache-BtZY_tHe.d.cts → cache-DnGDGly3.d.cts} +3 -6
  113. package/dist/cache-DnGDGly3.d.cts.map +1 -0
  114. package/dist/cache.cjs +68 -2
  115. package/dist/cache.cjs.map +1 -0
  116. package/dist/cache.d.cts +1 -2
  117. package/dist/cache.d.mts +1 -2
  118. package/dist/cache.mjs +67 -2
  119. package/dist/cache.mjs.map +1 -0
  120. package/dist/cipher-C1lEFX63.mjs +225 -0
  121. package/dist/cipher-C1lEFX63.mjs.map +1 -0
  122. package/dist/cipher-CVxfwLjk.cjs +332 -0
  123. package/dist/cipher-CVxfwLjk.cjs.map +1 -0
  124. package/dist/{clone-DblgEZZa.mjs → clone-EKNovYHu.mjs} +3 -3
  125. package/dist/clone-EKNovYHu.mjs.map +1 -0
  126. package/dist/{clone-Dy0cR2SZ.cjs → clone-UGJpvQnL.cjs} +7 -8
  127. package/dist/clone-UGJpvQnL.cjs.map +1 -0
  128. package/dist/{construct-interface-D9d4Gm4p.d.cts → construct-interface-B1AfqRl4.d.cts} +42 -11
  129. package/dist/construct-interface-B1AfqRl4.d.cts.map +1 -0
  130. package/dist/{construct-interface-g5GM5pwR.d.mts → construct-interface-DluK3_da.d.mts} +42 -11
  131. package/dist/construct-interface-DluK3_da.d.mts.map +1 -0
  132. package/dist/construct-interface.cjs +113 -7
  133. package/dist/construct-interface.cjs.map +1 -0
  134. package/dist/construct-interface.d.cts +2 -2
  135. package/dist/construct-interface.d.mts +2 -2
  136. package/dist/construct-interface.mjs +106 -2
  137. package/dist/construct-interface.mjs.map +1 -0
  138. package/dist/credential.cjs +63 -16
  139. package/dist/credential.cjs.map +1 -1
  140. package/dist/credential.d.cts +16 -9
  141. package/dist/credential.d.cts.map +1 -1
  142. package/dist/credential.d.mts +16 -9
  143. package/dist/credential.d.mts.map +1 -1
  144. package/dist/credential.mjs +58 -12
  145. package/dist/credential.mjs.map +1 -1
  146. package/dist/crons/index.cjs +105 -7
  147. package/dist/crons/index.cjs.map +1 -1
  148. package/dist/crons/index.d.cts +40 -11
  149. package/dist/crons/index.d.cts.map +1 -1
  150. package/dist/crons/index.d.mts +40 -11
  151. package/dist/crons/index.d.mts.map +1 -1
  152. package/dist/crons/index.mjs +103 -8
  153. package/dist/crons/index.mjs.map +1 -1
  154. package/dist/database/kysely.cjs +4 -181
  155. package/dist/database/kysely.d.cts +2 -152
  156. package/dist/database/kysely.d.mts +2 -152
  157. package/dist/database/kysely.mjs +2 -180
  158. package/dist/email.cjs +25 -12
  159. package/dist/email.cjs.map +1 -1
  160. package/dist/email.d.cts +3 -7
  161. package/dist/email.d.cts.map +1 -1
  162. package/dist/email.d.mts +3 -7
  163. package/dist/email.d.mts.map +1 -1
  164. package/dist/email.mjs +16 -3
  165. package/dist/email.mjs.map +1 -1
  166. package/dist/encryption.cjs +96 -0
  167. package/dist/encryption.cjs.map +1 -0
  168. package/dist/encryption.d.cts +117 -0
  169. package/dist/encryption.d.cts.map +1 -0
  170. package/dist/encryption.d.mts +117 -0
  171. package/dist/encryption.d.mts.map +1 -0
  172. package/dist/encryption.mjs +83 -0
  173. package/dist/encryption.mjs.map +1 -0
  174. package/dist/endpoints/index.cjs +8 -10
  175. package/dist/endpoints/index.d.cts +51 -7
  176. package/dist/endpoints/index.d.cts.map +1 -0
  177. package/dist/endpoints/index.d.mts +51 -7
  178. package/dist/endpoints/index.d.mts.map +1 -0
  179. package/dist/endpoints/index.mjs +6 -10
  180. package/dist/external-api-CWY9orcO.d.mts +86 -0
  181. package/dist/external-api-CWY9orcO.d.mts.map +1 -0
  182. package/dist/external-api-D-5WB-sr.d.cts +86 -0
  183. package/dist/external-api-D-5WB-sr.d.cts.map +1 -0
  184. package/dist/external-api.cjs +124 -0
  185. package/dist/external-api.cjs.map +1 -0
  186. package/dist/external-api.d.cts +2 -0
  187. package/dist/external-api.d.mts +2 -0
  188. package/dist/external-api.mjs +121 -0
  189. package/dist/external-api.mjs.map +1 -0
  190. package/dist/file-server.cjs +42 -10
  191. package/dist/file-server.cjs.map +1 -1
  192. package/dist/file-server.d.cts +6 -10
  193. package/dist/file-server.d.cts.map +1 -1
  194. package/dist/file-server.d.mts +6 -10
  195. package/dist/file-server.d.mts.map +1 -1
  196. package/dist/file-server.mjs +34 -2
  197. package/dist/file-server.mjs.map +1 -1
  198. package/dist/functions/index.cjs +3 -6
  199. package/dist/functions/index.d.cts +3 -4
  200. package/dist/functions/index.d.mts +3 -4
  201. package/dist/functions/index.mjs +2 -6
  202. package/dist/{functions-i_la-N5r.cjs → functions-CbP5ZKma.cjs} +414 -264
  203. package/dist/functions-CbP5ZKma.cjs.map +1 -0
  204. package/dist/{functions-14lpEFL4.mjs → functions-Di6n5ltG.mjs} +376 -238
  205. package/dist/{functions-14lpEFL4.mjs.map → functions-Di6n5ltG.mjs.map} +1 -1
  206. package/dist/index-BuzRvKOQ.d.cts +115 -0
  207. package/dist/index-BuzRvKOQ.d.cts.map +1 -0
  208. package/dist/index-CTkKOer4.d.mts +115 -0
  209. package/dist/index-CTkKOer4.d.mts.map +1 -0
  210. package/dist/index-CeEtxDmK.d.cts +79 -0
  211. package/dist/index-CeEtxDmK.d.cts.map +1 -0
  212. package/dist/index-CeEtxDmK.d.mts +79 -0
  213. package/dist/index-CeEtxDmK.d.mts.map +1 -0
  214. package/dist/index.cjs +6 -3
  215. package/dist/index.d.cts +26 -4
  216. package/dist/index.d.cts.map +1 -0
  217. package/dist/index.d.mts +26 -4
  218. package/dist/index.d.mts.map +1 -0
  219. package/dist/index.mjs +3 -3
  220. package/dist/kms-B-Hm3d5r.cjs +85 -0
  221. package/dist/kms-B-Hm3d5r.cjs.map +1 -0
  222. package/dist/kms-BdUlMJEZ.mjs +85 -0
  223. package/dist/kms-BdUlMJEZ.mjs.map +1 -0
  224. package/dist/kysely-BEm5sDlU.d.cts +173 -0
  225. package/dist/kysely-BEm5sDlU.d.cts.map +1 -0
  226. package/dist/kysely-BRzzawr2.cjs +301 -0
  227. package/dist/kysely-BRzzawr2.cjs.map +1 -0
  228. package/dist/kysely-BYfM6Zby.mjs +288 -0
  229. package/dist/kysely-BYfM6Zby.mjs.map +1 -0
  230. package/dist/kysely-CjuvdXEV.d.mts +173 -0
  231. package/dist/kysely-CjuvdXEV.d.mts.map +1 -0
  232. package/dist/{lazyAccessors-BoJN3SMd.mjs → lazyAccessors-CFanua0O.mjs} +20 -60
  233. package/dist/lazyAccessors-CFanua0O.mjs.map +1 -0
  234. package/dist/{lazyAccessors-e3j2oE2m.cjs → lazyAccessors-hJKGv8Ay.cjs} +60 -113
  235. package/dist/lazyAccessors-hJKGv8Ay.cjs.map +1 -0
  236. package/dist/mobile-app.cjs +73 -0
  237. package/dist/mobile-app.cjs.map +1 -0
  238. package/dist/mobile-app.d.cts +61 -0
  239. package/dist/mobile-app.d.cts.map +1 -0
  240. package/dist/mobile-app.d.mts +61 -0
  241. package/dist/mobile-app.d.mts.map +1 -0
  242. package/dist/mobile-app.mjs +72 -0
  243. package/dist/mobile-app.mjs.map +1 -0
  244. package/dist/object-storage.cjs +18 -10
  245. package/dist/object-storage.cjs.map +1 -1
  246. package/dist/object-storage.d.cts +3 -7
  247. package/dist/object-storage.d.cts.map +1 -1
  248. package/dist/object-storage.d.mts +3 -7
  249. package/dist/object-storage.d.mts.map +1 -1
  250. package/dist/object-storage.mjs +11 -3
  251. package/dist/object-storage.mjs.map +1 -1
  252. package/dist/{processAudits-Dmts9H_b.mjs → processAudits-BpRlPQMW.mjs} +16 -19
  253. package/dist/processAudits-BpRlPQMW.mjs.map +1 -0
  254. package/dist/{processAudits-CGqttuXm.cjs → processAudits-D_2W5x8k.cjs} +26 -30
  255. package/dist/processAudits-D_2W5x8k.cjs.map +1 -0
  256. package/dist/queue/index.cjs +6 -189
  257. package/dist/queue/index.d.cts +3 -60
  258. package/dist/queue/index.d.mts +3 -60
  259. package/dist/queue/index.mjs +3 -186
  260. package/dist/rest-api.cjs +88 -63
  261. package/dist/rest-api.cjs.map +1 -1
  262. package/dist/rest-api.d.cts +68 -61
  263. package/dist/rest-api.d.cts.map +1 -1
  264. package/dist/rest-api.d.mts +68 -61
  265. package/dist/rest-api.d.mts.map +1 -1
  266. package/dist/rest-api.mjs +80 -55
  267. package/dist/rest-api.mjs.map +1 -1
  268. package/dist/{chunk-DWy1uDak.cjs → rolldown-runtime-y5ARvAq5.cjs} +14 -18
  269. package/dist/runSubscriber-BRp9a_qi.cjs +126 -0
  270. package/dist/runSubscriber-BRp9a_qi.cjs.map +1 -0
  271. package/dist/runSubscriber-BYEY_bfA.mjs +109 -0
  272. package/dist/runSubscriber-BYEY_bfA.mjs.map +1 -0
  273. package/dist/shutdown-BMJmAhSt.cjs +38 -0
  274. package/dist/shutdown-BMJmAhSt.cjs.map +1 -0
  275. package/dist/shutdown-C7xa8x9S.mjs +27 -0
  276. package/dist/shutdown-C7xa8x9S.mjs.map +1 -0
  277. package/dist/site.cjs +34 -9
  278. package/dist/site.cjs.map +1 -1
  279. package/dist/site.d.cts +17 -22
  280. package/dist/site.d.cts.map +1 -1
  281. package/dist/site.d.mts +17 -22
  282. package/dist/site.d.mts.map +1 -1
  283. package/dist/site.mjs +30 -5
  284. package/dist/site.mjs.map +1 -1
  285. package/dist/subscribers/index.cjs +111 -6
  286. package/dist/subscribers/index.cjs.map +1 -0
  287. package/dist/subscribers/index.d.cts +50 -6
  288. package/dist/subscribers/index.d.cts.map +1 -0
  289. package/dist/subscribers/index.d.mts +50 -6
  290. package/dist/subscribers/index.d.mts.map +1 -0
  291. package/dist/subscribers/index.mjs +108 -5
  292. package/dist/subscribers/index.mjs.map +1 -0
  293. package/dist/surfaceEnv-CNimK76p.cjs +56 -0
  294. package/dist/surfaceEnv-CNimK76p.cjs.map +1 -0
  295. package/dist/surfaceEnv-wMT5QzgZ.mjs +45 -0
  296. package/dist/surfaceEnv-wMT5QzgZ.mjs.map +1 -0
  297. package/dist/{telemetry-C3L0iS28.d.cts → telemetry-DGcFlVpB.d.cts} +2 -5
  298. package/dist/telemetry-DGcFlVpB.d.cts.map +1 -0
  299. package/dist/{telemetry-D7bVFLGi.d.mts → telemetry-DGcFlVpB.d.mts} +2 -5
  300. package/dist/telemetry-DGcFlVpB.d.mts.map +1 -0
  301. package/dist/topic/index.cjs +3 -137
  302. package/dist/topic/index.d.cts +2 -4
  303. package/dist/topic/index.d.mts +2 -4
  304. package/dist/topic/index.mjs +2 -134
  305. package/dist/{types-BlAkSuGI.d.cts → types-DMuSQeLL.d.cts} +3 -5
  306. package/dist/types-DMuSQeLL.d.cts.map +1 -0
  307. package/dist/{types-aKksMEWL.d.mts → types-DMuSQeLL.d.mts} +3 -5
  308. package/dist/types-DMuSQeLL.d.mts.map +1 -0
  309. package/dist/types.d.cts +1 -1
  310. package/dist/types.d.mts +1 -1
  311. package/dist/types.mjs +1 -0
  312. package/dist/worker.cjs +58 -34
  313. package/dist/worker.cjs.map +1 -1
  314. package/dist/worker.d.cts +63 -45
  315. package/dist/worker.d.cts.map +1 -1
  316. package/dist/worker.d.mts +63 -44
  317. package/dist/worker.d.mts.map +1 -1
  318. package/dist/worker.mjs +53 -29
  319. package/dist/worker.mjs.map +1 -1
  320. package/package.json +82 -41
  321. package/dist/Construct-BD5neF7w.mjs.map +0 -1
  322. package/dist/Construct-C0ijr2qp.d.cts +0 -117
  323. package/dist/Construct-C0ijr2qp.d.cts.map +0 -1
  324. package/dist/Construct-Ct8nalEi.d.mts +0 -117
  325. package/dist/Construct-Ct8nalEi.d.mts.map +0 -1
  326. package/dist/Construct-CyS3RpTL.cjs.map +0 -1
  327. package/dist/Cron-DmQ8vQ4b.d.cts.map +0 -1
  328. package/dist/Cron-dh4rUgib.d.mts.map +0 -1
  329. package/dist/CronBuilder-BquXDbDI.d.cts +0 -44
  330. package/dist/CronBuilder-BquXDbDI.d.cts.map +0 -1
  331. package/dist/CronBuilder-CGgY2080.d.mts +0 -44
  332. package/dist/CronBuilder-CGgY2080.d.mts.map +0 -1
  333. package/dist/CronBuilder-CYKT5RiO.mjs.map +0 -1
  334. package/dist/CronBuilder-Da0C0edR.cjs.map +0 -1
  335. package/dist/Endpoint-BjWKinFA.d.mts.map +0 -1
  336. package/dist/Endpoint-DCQPMdUX.mjs.map +0 -1
  337. package/dist/Endpoint-DcWXE-SZ.cjs.map +0 -1
  338. package/dist/Endpoint-dav89W6-.d.cts.map +0 -1
  339. package/dist/EndpointFactory-CdWB7wPw.cjs.map +0 -1
  340. package/dist/EndpointFactory-CjV8F_lJ.mjs.map +0 -1
  341. package/dist/HonoEndpointAdaptor-DtL9j19R.cjs.map +0 -1
  342. package/dist/HonoEndpointAdaptor-P1ahhZHu.mjs.map +0 -1
  343. package/dist/Queue-D7ZuwBhy.d.cts.map +0 -1
  344. package/dist/Queue-gVGfi2Yk.d.mts.map +0 -1
  345. package/dist/Subscriber-2mEi0ImH.d.cts.map +0 -1
  346. package/dist/Subscriber-xTJ9ayPN.d.mts.map +0 -1
  347. package/dist/SubscriberBuilder-4OPehf2R.cjs.map +0 -1
  348. package/dist/SubscriberBuilder-BjkbeT9l.mjs.map +0 -1
  349. package/dist/SubscriberBuilder-Dptmo-1A.d.mts +0 -62
  350. package/dist/SubscriberBuilder-Dptmo-1A.d.mts.map +0 -1
  351. package/dist/SubscriberBuilder-waNhzjSM.d.cts +0 -62
  352. package/dist/SubscriberBuilder-waNhzjSM.d.cts.map +0 -1
  353. package/dist/Topic-19QeHBIR.d.cts +0 -91
  354. package/dist/Topic-19QeHBIR.d.cts.map +0 -1
  355. package/dist/Topic-DuFeqkBh.d.mts +0 -91
  356. package/dist/Topic-DuFeqkBh.d.mts.map +0 -1
  357. package/dist/auth.d.cts.map +0 -1
  358. package/dist/auth.d.mts.map +0 -1
  359. package/dist/cache-0ANvRQnD.mjs +0 -51
  360. package/dist/cache-0ANvRQnD.mjs.map +0 -1
  361. package/dist/cache-3WSvAulx.cjs +0 -57
  362. package/dist/cache-3WSvAulx.cjs.map +0 -1
  363. package/dist/cache-BrRz3fEB.d.mts.map +0 -1
  364. package/dist/cache-BtZY_tHe.d.cts.map +0 -1
  365. package/dist/clone-DblgEZZa.mjs.map +0 -1
  366. package/dist/clone-Dy0cR2SZ.cjs.map +0 -1
  367. package/dist/construct-interface-BfjcOD_E.cjs +0 -117
  368. package/dist/construct-interface-BfjcOD_E.cjs.map +0 -1
  369. package/dist/construct-interface-D9d4Gm4p.d.cts.map +0 -1
  370. package/dist/construct-interface-Z4CpS8tK.mjs +0 -81
  371. package/dist/construct-interface-Z4CpS8tK.mjs.map +0 -1
  372. package/dist/construct-interface-g5GM5pwR.d.mts.map +0 -1
  373. package/dist/database/kysely.cjs.map +0 -1
  374. package/dist/database/kysely.d.cts.map +0 -1
  375. package/dist/database/kysely.d.mts.map +0 -1
  376. package/dist/database/kysely.mjs.map +0 -1
  377. package/dist/functions-i_la-N5r.cjs.map +0 -1
  378. package/dist/index-Bd5FqCoe.d.cts.map +0 -1
  379. package/dist/index-BknhM6Ux.d.mts +0 -31
  380. package/dist/index-BknhM6Ux.d.mts.map +0 -1
  381. package/dist/index-CBSfrowv.d.cts +0 -31
  382. package/dist/index-CBSfrowv.d.cts.map +0 -1
  383. package/dist/index-D24Xm79M.d.cts +0 -171
  384. package/dist/index-D24Xm79M.d.cts.map +0 -1
  385. package/dist/index-_ajboYxK.d.mts +0 -171
  386. package/dist/index-_ajboYxK.d.mts.map +0 -1
  387. package/dist/index-lAO9egTb.d.mts.map +0 -1
  388. package/dist/lazyAccessors-BoJN3SMd.mjs.map +0 -1
  389. package/dist/lazyAccessors-e3j2oE2m.cjs.map +0 -1
  390. package/dist/processAudits-CGqttuXm.cjs.map +0 -1
  391. package/dist/processAudits-Dmts9H_b.mjs.map +0 -1
  392. package/dist/queue/index.cjs.map +0 -1
  393. package/dist/queue/index.d.cts.map +0 -1
  394. package/dist/queue/index.d.mts.map +0 -1
  395. package/dist/queue/index.mjs.map +0 -1
  396. package/dist/surfaceEnv-BFXEms2f.cjs +0 -39
  397. package/dist/surfaceEnv-BFXEms2f.cjs.map +0 -1
  398. package/dist/surfaceEnv-C3Ktahea.mjs +0 -27
  399. package/dist/surfaceEnv-C3Ktahea.mjs.map +0 -1
  400. package/dist/telemetry-C3L0iS28.d.cts.map +0 -1
  401. package/dist/telemetry-D7bVFLGi.d.mts.map +0 -1
  402. package/dist/topic/index.cjs.map +0 -1
  403. package/dist/topic/index.mjs.map +0 -1
  404. package/dist/types-BlAkSuGI.d.cts.map +0 -1
  405. 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-14lpEFL4.mjs";
4
- import "../clone-DblgEZZa.mjs";
5
- import { Endpoint, ResponseBuilder, require_lodash } from "../Endpoint-DCQPMdUX.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-Di6n5ltG.mjs";
3
+ import { i as require_lodash_set, n as ResponseBuilder, t as Endpoint } from "../Endpoint-CMWWrQ7u.mjs";
4
+ import { n as envParserFor } from "../surfaceEnv-wMT5QzgZ.mjs";
5
+ import { t as createApiGatewayCookies } from "../lazyAccessors-CFanua0O.mjs";
6
+ import { n as subscribedEvents, r as subscriberContext, t as runSubscriber } from "../runSubscriber-BYEY_bfA.mjs";
7
+ import { n as executeWithAuditTransaction, t as createAuditContext } from "../processAudits-BpRlPQMW.mjs";
9
8
  import { ForbiddenError, UnprocessableEntityError, wrapError } from "@geekmidas/errors";
10
9
  import { ServiceDiscovery, runWithRequestContext } from "@geekmidas/services";
11
- import middy from "@middy/core";
12
- import { DefaultAuditor } from "@geekmidas/audit";
13
- import { withAuditableTransaction } from "@geekmidas/audit/kysely";
14
10
  import { withRlsContext } from "@geekmidas/db/rls";
15
11
  import qs from "qs";
16
-
12
+ import { DefaultAuditor } from "@geekmidas/audit";
13
+ import middy from "@middy/core";
14
+ import { withAuditableTransaction } from "@geekmidas/audit/kysely";
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);
@@ -205,13 +194,13 @@ var AWSLambdaFunction = class extends FunctionExecutionWrapper {
205
194
  return runWithRequestContext({
206
195
  logger,
207
196
  requestId,
208
- startTime
197
+ startTime,
198
+ operation: context.functionName
209
199
  }, () => chain(event, context));
210
200
  };
211
201
  return wrappedHandler;
212
202
  }
213
203
  };
214
-
215
204
  //#endregion
216
205
  //#region src/crons/AWSScheduledFunction.ts
217
206
  /**
@@ -245,11 +234,11 @@ var AWSScheduledFunction = class extends AWSLambdaFunction {
245
234
  super(envParser, cron);
246
235
  }
247
236
  };
248
-
249
237
  //#endregion
250
238
  //#region src/endpoints/AmazonApiGatewayEndpointAdaptor.ts
251
- var import_lodash = __toESM(require_lodash(), 1);
239
+ var import_lodash_set = /* @__PURE__ */ __toESM(require_lodash_set(), 1);
252
240
  var AmazonApiGatewayEndpoint = class {
241
+ endpoint;
253
242
  options;
254
243
  /**
255
244
  * The parser this adaptor discovers services with.
@@ -287,8 +276,7 @@ var AmazonApiGatewayEndpoint = class {
287
276
  static decodeBody(body, isBase64Encoded, contentType) {
288
277
  if (!body) return void 0;
289
278
  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);
279
+ if (!contentType || contentType.toLowerCase().includes("application/json")) return JSON.parse(raw);
292
280
  return raw;
293
281
  }
294
282
  getCookies(e) {
@@ -302,11 +290,11 @@ var AmazonApiGatewayEndpoint = class {
302
290
  const headers = req.event.headers;
303
291
  const header = Endpoint.createHeaders(headers);
304
292
  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);
293
+ (0, import_lodash_set.default)(req.event, "body", await this.endpoint.parseInput(body, "body"));
294
+ (0, import_lodash_set.default)(req.event, "query", await this.endpoint.parseInput(query, "query"));
295
+ (0, import_lodash_set.default)(req.event, "params", await this.endpoint.parseInput(params, "params"));
296
+ (0, import_lodash_set.default)(req.event, "header", header);
297
+ (0, import_lodash_set.default)(req.event, "cookie", cookie);
310
298
  } catch (error) {
311
299
  if (error && typeof error === "object" && Array.isArray(error)) throw new UnprocessableEntityError("Validation failed", error);
312
300
  throw error;
@@ -325,9 +313,8 @@ var AmazonApiGatewayEndpoint = class {
325
313
  }
326
314
  services() {
327
315
  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);
316
+ req.event.logger;
317
+ const services = await ServiceDiscovery.getInstance(this.envParser).register(this.endpoint.services);
331
318
  req.event.services = services;
332
319
  } };
333
320
  }
@@ -338,7 +325,7 @@ var AmazonApiGatewayEndpoint = class {
338
325
  const header = req.event.header;
339
326
  const cookie = req.event.cookie;
340
327
  const session = req.event.session;
341
- const isAuthorized = await this.endpoint.authorize({
328
+ if (!await this.endpoint.authorize({
342
329
  header,
343
330
  cookie,
344
331
  services,
@@ -348,8 +335,7 @@ var AmazonApiGatewayEndpoint = class {
348
335
  body: req.event.body,
349
336
  query: req.event.query,
350
337
  params: req.event.params
351
- });
352
- if (!isAuthorized) {
338
+ })) {
353
339
  logger.warn("Forbidden access attempt");
354
340
  throw new ForbiddenError("Forbidden access to the endpoint", "You do not have permission to access this resource.");
355
341
  }
@@ -358,9 +344,8 @@ var AmazonApiGatewayEndpoint = class {
358
344
  database() {
359
345
  return { before: async (req) => {
360
346
  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]);
347
+ req.event.logger;
348
+ const db = await ServiceDiscovery.getInstance(this.envParser).register([this.endpoint.databaseService]).then((s) => s[this.endpoint.databaseService?.serviceName]);
364
349
  req.event.db = db;
365
350
  } };
366
351
  }
@@ -411,9 +396,8 @@ var AmazonApiGatewayEndpoint = class {
411
396
  cookie: event.cookie,
412
397
  logger
413
398
  }) : 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;
399
+ const { output, metadata } = await executeWithAuditTransaction(auditContext, async (auditor) => {
400
+ const baseDb = auditContext?.storage?.databaseServiceName && auditContext.storage.databaseServiceName === this.endpoint.databaseService?.serviceName ? auditor?.getTransaction?.() ?? rawDb : rawDb;
417
401
  const executeHandler = async (db) => {
418
402
  const responseBuilder = new ResponseBuilder();
419
403
  const response = await this.endpoint.handler({
@@ -427,33 +411,31 @@ var AmazonApiGatewayEndpoint = class {
427
411
  ...input
428
412
  }, responseBuilder);
429
413
  let data = response;
430
- let metadata$1 = responseBuilder.getMetadata();
414
+ let metadata = responseBuilder.getMetadata();
431
415
  if (Endpoint.hasMetadata(response)) {
432
416
  data = response.data;
433
- metadata$1 = response.metadata;
417
+ metadata = response.metadata;
434
418
  }
435
- const output$1 = this.endpoint.outputSchema ? await this.endpoint.parseOutput(data) : void 0;
436
419
  return {
437
- output: output$1,
438
- metadata: metadata$1,
420
+ output: this.endpoint.outputSchema ? await this.endpoint.parseOutput(data) : void 0,
421
+ metadata,
439
422
  responseBuilder
440
423
  };
441
424
  };
442
425
  if (rlsActive && rlsContext && baseDb) return withRlsContext(baseDb, rlsContext, async (trx) => executeHandler(trx), { prefix: this.endpoint.rlsConfig?.prefix });
443
426
  return executeHandler(baseDb);
444
- }, async (result$1, auditor) => {
427
+ }, async (result, auditor) => {
445
428
  if (!audits?.length) return;
446
429
  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);
430
+ if (audit.when && !audit.when(result.output)) continue;
431
+ const payload = audit.payload(result.output);
432
+ const entityId = audit.entityId?.(result.output);
450
433
  auditor.audit(audit.type, payload, {
451
434
  table: audit.table,
452
435
  entityId
453
436
  });
454
437
  }
455
438
  }, { db: rawDb });
456
- const { output, metadata } = result;
457
439
  const isJsonResponse = this.endpoint.responseType === "application/json";
458
440
  const body = output === void 0 ? void 0 : isJsonResponse ? JSON.stringify(output) : typeof output === "string" ? output : String(output);
459
441
  event.__response = output;
@@ -512,16 +494,17 @@ var AmazonApiGatewayEndpoint = class {
512
494
  const startTime = Date.now();
513
495
  const requestId = context.awsRequestId;
514
496
  const logger = this.endpoint.logger.child({ requestId });
497
+ const operation = `${this.endpoint.method} ${this.endpoint.route}`;
515
498
  return runWithRequestContext({
516
499
  logger,
517
500
  requestId,
518
- startTime
501
+ startTime,
502
+ operation
519
503
  }, () => chain(event, context));
520
504
  };
521
505
  return wrappedHandler;
522
506
  }
523
507
  };
524
-
525
508
  //#endregion
526
509
  //#region src/endpoints/parseQueryParams.ts
527
510
  /**
@@ -542,10 +525,10 @@ function parseQueryParams(queryParams) {
542
525
  }
543
526
  return qs.parse(parts.join("&"));
544
527
  }
545
-
546
528
  //#endregion
547
529
  //#region src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts
548
530
  var AmazonApiGatewayV1Endpoint = class extends AmazonApiGatewayEndpoint {
531
+ endpoint;
549
532
  getInput(e) {
550
533
  const multiValueParams = e.multiValueQueryStringParameters || {};
551
534
  const singleValueParams = e.queryStringParameters || {};
@@ -578,17 +561,16 @@ var AmazonApiGatewayV1Endpoint = class extends AmazonApiGatewayEndpoint {
578
561
  this.endpoint = endpoint;
579
562
  }
580
563
  };
581
-
582
564
  //#endregion
583
565
  //#region src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts
584
566
  var AmazonApiGatewayV2Endpoint = class extends AmazonApiGatewayEndpoint {
567
+ endpoint;
585
568
  getCookies(e) {
586
569
  return createApiGatewayCookies(e.cookies, e.headers?.cookie);
587
570
  }
588
571
  getInput(e) {
589
- const raw = AmazonApiGatewayEndpoint.decodeBody(e.body, e.isBase64Encoded, e.headers?.["content-type"]);
590
572
  return {
591
- body: raw,
573
+ body: AmazonApiGatewayEndpoint.decodeBody(e.body, e.isBase64Encoded, e.headers?.["content-type"]),
592
574
  query: qs.parse(e.rawQueryString),
593
575
  params: e.pathParameters || {}
594
576
  };
@@ -613,7 +595,6 @@ var AmazonApiGatewayV2Endpoint = class extends AmazonApiGatewayEndpoint {
613
595
  this.endpoint = endpoint;
614
596
  }
615
597
  };
616
-
617
598
  //#endregion
618
599
  //#region src/queue/AWSLambdaQueueAdaptor.ts
619
600
  /**
@@ -628,6 +609,8 @@ var AmazonApiGatewayV2Endpoint = class extends AmazonApiGatewayEndpoint {
628
609
  * retries only those records.
629
610
  */
630
611
  var AWSLambdaQueue = class {
612
+ envParser;
613
+ queue;
631
614
  _services;
632
615
  constructor(envParser, queue) {
633
616
  this.envParser = envParser;
@@ -642,6 +625,12 @@ var AWSLambdaQueue = class {
642
625
  this._services = this.queue.services.length > 0 ? await serviceDiscovery.register(this.queue.services) : {};
643
626
  return this._services;
644
627
  }
628
+ /** The queue's database, registered as functions register theirs. */
629
+ async getDatabase() {
630
+ const service = this.queue.databaseService;
631
+ if (!service) return void 0;
632
+ return (await ServiceDiscovery.getInstance(this.envParser).register([service]))[service.serviceName];
633
+ }
645
634
  safeJsonParse(value) {
646
635
  try {
647
636
  return JSON.parse(value);
@@ -667,6 +656,7 @@ var AWSLambdaQueue = class {
667
656
  req: { id: context.awsRequestId }
668
657
  });
669
658
  const services = await this.getServices();
659
+ const db = await this.getDatabase();
670
660
  const schema = this.queue.messageSchema;
671
661
  const batchItemFailures = [];
672
662
  const messages = [];
@@ -694,7 +684,8 @@ var AWSLambdaQueue = class {
694
684
  await this.queue.handler({
695
685
  messages,
696
686
  services,
697
- logger
687
+ logger,
688
+ db
698
689
  });
699
690
  } catch (error) {
700
691
  logger.error(wrapError(error), "Queue handler failed; retrying batch");
@@ -704,24 +695,25 @@ var AWSLambdaQueue = class {
704
695
  }
705
696
  get handler() {
706
697
  const handler = this._handler.bind(this);
707
- return async (event, context) => {
698
+ return (async (event, context) => {
708
699
  const startTime = Date.now();
709
700
  const requestId = context.awsRequestId;
710
701
  const logger = this.queue.logger.child({ requestId });
711
702
  return runWithRequestContext({
712
703
  logger,
713
704
  requestId,
714
- startTime
705
+ startTime,
706
+ operation: `queue ${this.queue.name}`
715
707
  }, () => handler(event, context));
716
- };
708
+ });
717
709
  }
718
710
  };
719
-
720
711
  //#endregion
721
712
  //#region src/subscribers/AWSLambdaSubscriberAdaptor.ts
722
713
  var AWSLambdaSubscriber = class {
714
+ envParser;
715
+ subscriber;
723
716
  _logger;
724
- _services;
725
717
  constructor(envParser, subscriber) {
726
718
  this.envParser = envParser;
727
719
  this.subscriber = subscriber;
@@ -730,19 +722,9 @@ var AWSLambdaSubscriber = class {
730
722
  get logger() {
731
723
  return this._logger;
732
724
  }
733
- async getServices() {
734
- if (this._services) return this._services;
735
- const serviceDiscovery = ServiceDiscovery.getInstance(this.envParser);
736
- if (this.subscriber.services.length > 0) {
737
- const registered = await serviceDiscovery.register(this.subscriber.services);
738
- this._services = registered;
739
- } else this._services = {};
740
- return this._services;
741
- }
742
725
  error() {
743
726
  return { onError: (req) => {
744
- const logger = req.event?.logger || this.subscriber.logger;
745
- logger.error(req.error || {}, "Error processing subscriber");
727
+ (req.event?.logger || this.subscriber.logger).error(req.error || {}, "Error processing subscriber");
746
728
  throw wrapError(req.error);
747
729
  } };
748
730
  }
@@ -761,110 +743,26 @@ var AWSLambdaSubscriber = class {
761
743
  }
762
744
  services() {
763
745
  return { before: async (req) => {
764
- req.event.services = await this.getServices();
746
+ const { services, db } = await subscriberContext(this.subscriber, this.envParser);
747
+ req.event.services = services;
748
+ req.event.db = db;
765
749
  } };
766
750
  }
767
751
  parseEvents() {
768
752
  return { before: async (req) => {
769
- const { logger,...e } = req.event;
770
- const rawEvent = e;
753
+ const { logger, ...rawEvent } = req.event;
771
754
  logger.info({ rawEvent });
772
- const events = [];
773
- if ("Records" in rawEvent) {
774
- if (this.isSQSEvent(rawEvent)) for (const record of rawEvent.Records) try {
775
- const event = this.parseSQSRecord(record);
776
- if (this.shouldIncludeEvent(event)) events.push(event);
777
- } catch (error) {
778
- this.logger.error({
779
- error,
780
- record
781
- }, "Failed to parse SQS record");
782
- }
783
- else if (this.isSNSEvent(rawEvent)) for (const record of rawEvent.Records) try {
784
- const event = this.parseSNSRecord(record);
785
- if (this.shouldIncludeEvent(event)) events.push(event);
786
- } catch (error) {
787
- this.logger.error({
788
- error,
789
- record
790
- }, "Failed to parse SNS record");
791
- }
792
- }
793
- req.event.events = events;
755
+ req.event.events = subscribedEvents(this.subscriber, rawEvent, this.logger);
794
756
  } };
795
757
  }
796
- isSQSEvent(event) {
797
- const firstRecord = event.Records[0];
798
- return "Records" in event && event.Records.length > 0 && firstRecord !== void 0 && "eventSource" in firstRecord && firstRecord.eventSource === "aws:sqs";
799
- }
800
- isSNSEvent(event) {
801
- const firstRecord = event.Records[0];
802
- return "Records" in event && event.Records.length > 0 && firstRecord !== void 0 && "EventSource" in firstRecord && firstRecord.EventSource === "aws:sns";
803
- }
804
- parseSNSRecord(record) {
805
- const message = this.safeJsonParse(record.Sns.Message);
806
- const messageType = record.Sns.MessageAttributes?.type?.Value;
807
- if (message === null) return messageType ? {
808
- type: messageType,
809
- payload: record.Sns.Message
810
- } : record.Sns.Message;
811
- const resolvedType = messageType ?? message.type;
812
- if (message.type) return message;
813
- return resolvedType ? {
814
- type: resolvedType,
815
- payload: message
816
- } : message;
817
- }
818
- parseSQSRecord(record) {
819
- const body = this.safeJsonParse(record.body);
820
- if (body === null) return record.body;
821
- if (body.Type === "Notification" && body.Message) {
822
- const snsMessage = this.safeJsonParse(body.Message);
823
- const messageType = body.MessageAttributes?.type?.Value;
824
- if (snsMessage === null) return messageType ? {
825
- type: messageType,
826
- payload: body.Message
827
- } : body.Message;
828
- if (snsMessage.type) return snsMessage;
829
- const resolvedType = messageType ?? snsMessage.type;
830
- return resolvedType ? {
831
- type: resolvedType,
832
- payload: snsMessage
833
- } : snsMessage;
834
- }
835
- return body;
836
- }
837
- safeJsonParse(value) {
838
- try {
839
- return JSON.parse(value);
840
- } catch {
841
- return null;
842
- }
843
- }
844
- shouldIncludeEvent(event) {
845
- if (typeof event !== "object" || !event?.type) return true;
846
- if (!this.subscriber.subscribedEvents) return true;
847
- return this.subscriber.subscribedEvents.includes(event.type);
848
- }
849
758
  async _handler(event) {
850
- if (event.events.length === 0) {
851
- this.logger.info("No subscribed events to process");
852
- return { batchItemFailures: [] };
853
- }
854
- const result = await this.subscriber.handler({
855
- events: event.events,
856
- services: event.services,
857
- logger: event.logger
759
+ const { events, services, logger, db } = event;
760
+ return runSubscriber(this.subscriber, {
761
+ events,
762
+ services,
763
+ logger,
764
+ db
858
765
  });
859
- if (this.subscriber.outputSchema && result) {
860
- const validationResult = await this.subscriber.outputSchema["~standard"].validate(result);
861
- if (validationResult.issues) {
862
- this.logger.error({ issues: validationResult.issues }, "Subscriber output validation failed");
863
- throw new Error("Subscriber output validation failed");
864
- }
865
- return validationResult.value;
866
- }
867
- return result;
868
766
  }
869
767
  get handler() {
870
768
  const handler = this._handler.bind(this);
@@ -873,16 +771,18 @@ var AWSLambdaSubscriber = class {
873
771
  const startTime = Date.now();
874
772
  const requestId = context.awsRequestId;
875
773
  const logger = this.subscriber.logger.child({ requestId });
774
+ const operation = `subscriber ${this.subscriber.topicName ?? context.functionName}`;
876
775
  return runWithRequestContext({
877
776
  logger,
878
777
  requestId,
879
- startTime
778
+ startTime,
779
+ operation
880
780
  }, () => chain(event, context));
881
781
  };
882
782
  return wrappedHandler;
883
783
  }
884
784
  };
885
-
886
785
  //#endregion
887
786
  export { AWSLambdaFunction, AWSLambdaQueue, AWSLambdaSubscriber, AWSScheduledFunction, AmazonApiGatewayV1Endpoint, AmazonApiGatewayV2Endpoint };
787
+
888
788
  //# sourceMappingURL=aws.mjs.map