@geekmidas/constructs 10.0.0-alpha.1 → 10.0.0-alpha.100

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 (422) hide show
  1. package/README.md +223 -158
  2. package/dist/{Construct-CdhThxDI.mjs → Construct-B1vGBPme.mjs} +45 -33
  3. package/dist/Construct-B1vGBPme.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-roId57cU.cjs → Construct-DUSXuTHP.cjs} +65 -47
  7. package/dist/Construct-DUSXuTHP.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-DI3nKoic.d.cts +45 -0
  11. package/dist/Cron-DI3nKoic.d.cts.map +1 -0
  12. package/dist/Cron-uYAHPnp7.d.mts +45 -0
  13. package/dist/Cron-uYAHPnp7.d.mts.map +1 -0
  14. package/dist/CronBuilder-C0Ek1-RA.cjs +121 -0
  15. package/dist/CronBuilder-C0Ek1-RA.cjs.map +1 -0
  16. package/dist/CronBuilder-DaSUm2Na.d.mts +47 -0
  17. package/dist/CronBuilder-DaSUm2Na.d.mts.map +1 -0
  18. package/dist/CronBuilder-Dmix_Pen.mjs +109 -0
  19. package/dist/CronBuilder-Dmix_Pen.mjs.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-BTj58Gob.mjs → Endpoint-BG4UJ9oA.mjs} +146 -109
  23. package/dist/Endpoint-BG4UJ9oA.mjs.map +1 -0
  24. package/dist/{Endpoint-BBkV6l0k.cjs → Endpoint-BoUg8ocM.cjs} +174 -131
  25. package/dist/Endpoint-BoUg8ocM.cjs.map +1 -0
  26. package/dist/{Endpoint-BKR5QH6O.d.mts → Endpoint-Du-NwPX2.d.mts} +83 -91
  27. package/dist/Endpoint-Du-NwPX2.d.mts.map +1 -0
  28. package/dist/{Endpoint-BQ9O0P1w.d.cts → Endpoint-aCvBMPoH.d.cts} +82 -90
  29. package/dist/Endpoint-aCvBMPoH.d.cts.map +1 -0
  30. package/dist/{EndpointFactory-BejSTzbB.mjs → EndpointFactory-BDtsrEvJ.mjs} +60 -77
  31. package/dist/EndpointFactory-BDtsrEvJ.mjs.map +1 -0
  32. package/dist/{EndpointFactory-DYoGLaIT.cjs → EndpointFactory-DJ7gXLpR.cjs} +96 -113
  33. package/dist/EndpointFactory-DJ7gXLpR.cjs.map +1 -0
  34. package/dist/{index-D5zqAJ2e.d.cts → EndpointFactory-DMYdJCOj.d.mts} +78 -134
  35. package/dist/EndpointFactory-DMYdJCOj.d.mts.map +1 -0
  36. package/dist/{index-Cvz551AO.d.mts → EndpointFactory-I7s1co3Y.d.cts} +79 -135
  37. package/dist/EndpointFactory-I7s1co3Y.d.cts.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-7aYNdqJq.mjs → HonoEndpointAdaptor-PtPlbeKY.mjs} +75 -57
  43. package/dist/HonoEndpointAdaptor-PtPlbeKY.mjs.map +1 -0
  44. package/dist/{HonoEndpointAdaptor-wMsCyMgt.cjs → HonoEndpointAdaptor-zVzVLJEO.cjs} +83 -62
  45. package/dist/HonoEndpointAdaptor-zVzVLJEO.cjs.map +1 -0
  46. package/dist/Queue-A3wfD0it.cjs +109 -0
  47. package/dist/Queue-A3wfD0it.cjs.map +1 -0
  48. package/dist/Queue-D6USGS4q.mjs +104 -0
  49. package/dist/Queue-D6USGS4q.mjs.map +1 -0
  50. package/dist/{Queue-D6WeziRD.d.cts → Queue-DlsHRzUp.d.mts} +48 -48
  51. package/dist/Queue-DlsHRzUp.d.mts.map +1 -0
  52. package/dist/{Queue-DpUeqdC8.d.mts → Queue-HPyi0e1i.d.cts} +49 -49
  53. package/dist/Queue-HPyi0e1i.d.cts.map +1 -0
  54. package/dist/QueueBuilder-BjuF0UBl.cjs +135 -0
  55. package/dist/QueueBuilder-BjuF0UBl.cjs.map +1 -0
  56. package/dist/QueueBuilder-Cue73M4t.mjs +118 -0
  57. package/dist/QueueBuilder-Cue73M4t.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-4rBJgDKI.d.mts → Subscriber-Bpp02cGr.d.cts} +30 -21
  63. package/dist/Subscriber-Bpp02cGr.d.cts.map +1 -0
  64. package/dist/{Subscriber-DVQowdyj.d.cts → Subscriber-CtN9R48-.d.mts} +29 -20
  65. package/dist/Subscriber-CtN9R48-.d.mts.map +1 -0
  66. package/dist/SubscriberBuilder-CDy4nHCz.mjs +134 -0
  67. package/dist/SubscriberBuilder-CDy4nHCz.mjs.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-D_owVoHo.cjs +145 -0
  71. package/dist/SubscriberBuilder-D_owVoHo.cjs.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-D74b5cgs.mjs +99 -0
  75. package/dist/Topic-D74b5cgs.mjs.map +1 -0
  76. package/dist/Topic-GHxcU8AG.cjs +104 -0
  77. package/dist/Topic-GHxcU8AG.cjs.map +1 -0
  78. package/dist/adaptors/aws.cjs +332 -188
  79. package/dist/adaptors/aws.cjs.map +1 -1
  80. package/dist/adaptors/aws.d.cts +114 -44
  81. package/dist/adaptors/aws.d.cts.map +1 -1
  82. package/dist/adaptors/aws.d.mts +114 -44
  83. package/dist/adaptors/aws.d.mts.map +1 -1
  84. package/dist/adaptors/aws.mjs +308 -166
  85. package/dist/adaptors/aws.mjs.map +1 -1
  86. package/dist/adaptors/hono.cjs +3 -11
  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 -11
  92. package/dist/adaptors/testing.cjs +743 -90
  93. package/dist/adaptors/testing.cjs.map +1 -1
  94. package/dist/adaptors/testing.d.cts +351 -54
  95. package/dist/adaptors/testing.d.cts.map +1 -1
  96. package/dist/adaptors/testing.d.mts +351 -54
  97. package/dist/adaptors/testing.d.mts.map +1 -1
  98. package/dist/adaptors/testing.mjs +706 -71
  99. package/dist/adaptors/testing.mjs.map +1 -1
  100. package/dist/auth-BMCJN30Y.d.cts +268 -0
  101. package/dist/auth-BMCJN30Y.d.cts.map +1 -0
  102. package/dist/auth-CcuceLYo.d.mts +268 -0
  103. package/dist/auth-CcuceLYo.d.mts.map +1 -0
  104. package/dist/auth.cjs +302 -34
  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 +290 -28
  109. package/dist/auth.mjs.map +1 -1
  110. package/dist/{cache-CdQ7OLpR.d.cts → cache-CXh6GIgb.d.mts} +4 -7
  111. package/dist/cache-CXh6GIgb.d.mts.map +1 -0
  112. package/dist/{cache-DYoJFcfd.d.mts → cache-DnGDGly3.d.cts} +4 -7
  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-BqwRNYA2.d.mts → construct-interface-B1AfqRl4.d.cts} +43 -12
  129. package/dist/construct-interface-B1AfqRl4.d.cts.map +1 -0
  130. package/dist/{construct-interface-D2nNkHUN.d.cts → construct-interface-DluK3_da.d.mts} +43 -12
  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 +77 -17
  139. package/dist/credential.cjs.map +1 -1
  140. package/dist/credential.d.cts +34 -9
  141. package/dist/credential.d.cts.map +1 -1
  142. package/dist/credential.d.mts +34 -9
  143. package/dist/credential.d.mts.map +1 -1
  144. package/dist/credential.mjs +71 -13
  145. package/dist/credential.mjs.map +1 -1
  146. package/dist/crons/index.cjs +189 -85
  147. package/dist/crons/index.cjs.map +1 -1
  148. package/dist/crons/index.d.cts +70 -48
  149. package/dist/crons/index.d.cts.map +1 -1
  150. package/dist/crons/index.d.mts +70 -48
  151. package/dist/crons/index.d.mts.map +1 -1
  152. package/dist/crons/index.mjs +183 -81
  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 -11
  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 -11
  180. package/dist/external-api-MJ8id87V.d.mts +105 -0
  181. package/dist/external-api-MJ8id87V.d.mts.map +1 -0
  182. package/dist/external-api-O107yzZJ.d.cts +105 -0
  183. package/dist/external-api-O107yzZJ.d.cts.map +1 -0
  184. package/dist/external-api.cjs +142 -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 +139 -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 +2 -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-Cpff1uZH.mjs → functions-BFizikJU.mjs} +394 -243
  203. package/dist/functions-BFizikJU.mjs.map +1 -0
  204. package/dist/{functions-DukjG8ov.cjs → functions-CfzJG9hK.cjs} +432 -275
  205. package/dist/functions-CfzJG9hK.cjs.map +1 -0
  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 +27 -4
  216. package/dist/index.d.cts.map +1 -0
  217. package/dist/index.d.mts +27 -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-Bii4l6eP.mjs +370 -0
  225. package/dist/kysely-Bii4l6eP.mjs.map +1 -0
  226. package/dist/kysely-CO_Dk43W.cjs +383 -0
  227. package/dist/kysely-CO_Dk43W.cjs.map +1 -0
  228. package/dist/kysely-D0bpzgPs.d.cts +175 -0
  229. package/dist/kysely-D0bpzgPs.d.cts.map +1 -0
  230. package/dist/kysely-DUqC3Ie0.d.mts +175 -0
  231. package/dist/kysely-DUqC3Ie0.d.mts.map +1 -0
  232. package/dist/{telemetry-C3L0iS28.d.cts → lambdaTelemetry-8vnmVZQ5.d.cts} +3 -6
  233. package/dist/lambdaTelemetry-8vnmVZQ5.d.cts.map +1 -0
  234. package/dist/{telemetry-D7bVFLGi.d.mts → lambdaTelemetry-8vnmVZQ5.d.mts} +3 -6
  235. package/dist/lambdaTelemetry-8vnmVZQ5.d.mts.map +1 -0
  236. package/dist/{lazyAccessors-DM6HcXQk.mjs → lazyAccessors-CFanua0O.mjs} +20 -21
  237. package/dist/lazyAccessors-CFanua0O.mjs.map +1 -0
  238. package/dist/{lazyAccessors-DrJj8NpA.cjs → lazyAccessors-hJKGv8Ay.cjs} +60 -62
  239. package/dist/lazyAccessors-hJKGv8Ay.cjs.map +1 -0
  240. package/dist/mobile-app.cjs +73 -0
  241. package/dist/mobile-app.cjs.map +1 -0
  242. package/dist/mobile-app.d.cts +61 -0
  243. package/dist/mobile-app.d.cts.map +1 -0
  244. package/dist/mobile-app.d.mts +61 -0
  245. package/dist/mobile-app.d.mts.map +1 -0
  246. package/dist/mobile-app.mjs +72 -0
  247. package/dist/mobile-app.mjs.map +1 -0
  248. package/dist/object-storage.cjs +18 -10
  249. package/dist/object-storage.cjs.map +1 -1
  250. package/dist/object-storage.d.cts +3 -7
  251. package/dist/object-storage.d.cts.map +1 -1
  252. package/dist/object-storage.d.mts +3 -7
  253. package/dist/object-storage.d.mts.map +1 -1
  254. package/dist/object-storage.mjs +11 -3
  255. package/dist/object-storage.mjs.map +1 -1
  256. package/dist/processAudits-BRRVVHUB.mjs +131 -0
  257. package/dist/processAudits-BRRVVHUB.mjs.map +1 -0
  258. package/dist/processAudits-DasOZjPl.cjs +154 -0
  259. package/dist/processAudits-DasOZjPl.cjs.map +1 -0
  260. package/dist/queue/index.cjs +6 -189
  261. package/dist/queue/index.d.cts +3 -60
  262. package/dist/queue/index.d.mts +3 -60
  263. package/dist/queue/index.mjs +3 -186
  264. package/dist/rest-api.cjs +92 -63
  265. package/dist/rest-api.cjs.map +1 -1
  266. package/dist/rest-api.d.cts +81 -61
  267. package/dist/rest-api.d.cts.map +1 -1
  268. package/dist/rest-api.d.mts +81 -61
  269. package/dist/rest-api.d.mts.map +1 -1
  270. package/dist/rest-api.mjs +84 -55
  271. package/dist/rest-api.mjs.map +1 -1
  272. package/dist/{chunk-DWy1uDak.cjs → rolldown-runtime-y5ARvAq5.cjs} +14 -18
  273. package/dist/runSubscriber-BHvJ8POr.mjs +109 -0
  274. package/dist/runSubscriber-BHvJ8POr.mjs.map +1 -0
  275. package/dist/runSubscriber-D8nLXIv1.cjs +126 -0
  276. package/dist/runSubscriber-D8nLXIv1.cjs.map +1 -0
  277. package/dist/shutdown-BMJmAhSt.cjs +38 -0
  278. package/dist/shutdown-BMJmAhSt.cjs.map +1 -0
  279. package/dist/shutdown-C7xa8x9S.mjs +27 -0
  280. package/dist/shutdown-C7xa8x9S.mjs.map +1 -0
  281. package/dist/site.cjs +35 -9
  282. package/dist/site.cjs.map +1 -1
  283. package/dist/site.d.cts +25 -22
  284. package/dist/site.d.cts.map +1 -1
  285. package/dist/site.d.mts +25 -22
  286. package/dist/site.d.mts.map +1 -1
  287. package/dist/site.mjs +31 -5
  288. package/dist/site.mjs.map +1 -1
  289. package/dist/stages-BSCF19o2.d.cts +56 -0
  290. package/dist/stages-BSCF19o2.d.cts.map +1 -0
  291. package/dist/stages-BSCF19o2.d.mts +56 -0
  292. package/dist/stages-BSCF19o2.d.mts.map +1 -0
  293. package/dist/subscribers/index.cjs +111 -101
  294. package/dist/subscribers/index.cjs.map +1 -1
  295. package/dist/subscribers/index.d.cts +44 -56
  296. package/dist/subscribers/index.d.cts.map +1 -1
  297. package/dist/subscribers/index.d.mts +44 -56
  298. package/dist/subscribers/index.d.mts.map +1 -1
  299. package/dist/subscribers/index.mjs +108 -98
  300. package/dist/subscribers/index.mjs.map +1 -1
  301. package/dist/surfaceEnv-CNimK76p.cjs +56 -0
  302. package/dist/surfaceEnv-CNimK76p.cjs.map +1 -0
  303. package/dist/surfaceEnv-wMT5QzgZ.mjs +45 -0
  304. package/dist/surfaceEnv-wMT5QzgZ.mjs.map +1 -0
  305. package/dist/telemetry-B48RLjyk.d.cts +40 -0
  306. package/dist/telemetry-B48RLjyk.d.cts.map +1 -0
  307. package/dist/telemetry-DRtT1_0A.d.mts +40 -0
  308. package/dist/telemetry-DRtT1_0A.d.mts.map +1 -0
  309. package/dist/telemetry.cjs +56 -0
  310. package/dist/telemetry.cjs.map +1 -0
  311. package/dist/telemetry.d.cts +2 -0
  312. package/dist/telemetry.d.mts +2 -0
  313. package/dist/telemetry.mjs +55 -0
  314. package/dist/telemetry.mjs.map +1 -0
  315. package/dist/topic/index.cjs +3 -137
  316. package/dist/topic/index.d.cts +2 -32
  317. package/dist/topic/index.d.mts +2 -32
  318. package/dist/topic/index.mjs +2 -134
  319. package/dist/tracing-CxaZ98IB.mjs +110 -0
  320. package/dist/tracing-CxaZ98IB.mjs.map +1 -0
  321. package/dist/tracing-DPMidF_r.cjs +127 -0
  322. package/dist/tracing-DPMidF_r.cjs.map +1 -0
  323. package/dist/{types-BlAkSuGI.d.cts → types-DMuSQeLL.d.cts} +3 -5
  324. package/dist/types-DMuSQeLL.d.cts.map +1 -0
  325. package/dist/{types-aKksMEWL.d.mts → types-DMuSQeLL.d.mts} +3 -5
  326. package/dist/types-DMuSQeLL.d.mts.map +1 -0
  327. package/dist/types.d.cts +1 -1
  328. package/dist/types.d.mts +1 -1
  329. package/dist/types.mjs +1 -0
  330. package/dist/worker.cjs +191 -0
  331. package/dist/worker.cjs.map +1 -0
  332. package/dist/worker.d.cts +171 -0
  333. package/dist/worker.d.cts.map +1 -0
  334. package/dist/worker.d.mts +171 -0
  335. package/dist/worker.d.mts.map +1 -0
  336. package/dist/worker.mjs +190 -0
  337. package/dist/worker.mjs.map +1 -0
  338. package/package.json +116 -70
  339. package/dist/AWSScheduledFunction-9bJS4WdJ.d.cts +0 -122
  340. package/dist/AWSScheduledFunction-9bJS4WdJ.d.cts.map +0 -1
  341. package/dist/AWSScheduledFunction-BJjj8B5V.mjs +0 -243
  342. package/dist/AWSScheduledFunction-BJjj8B5V.mjs.map +0 -1
  343. package/dist/AWSScheduledFunction-BO5iEMSh.d.mts +0 -122
  344. package/dist/AWSScheduledFunction-BO5iEMSh.d.mts.map +0 -1
  345. package/dist/AWSScheduledFunction-qu4ieRZR.cjs +0 -255
  346. package/dist/AWSScheduledFunction-qu4ieRZR.cjs.map +0 -1
  347. package/dist/Construct-B-xc0SE9.d.mts +0 -104
  348. package/dist/Construct-B-xc0SE9.d.mts.map +0 -1
  349. package/dist/Construct-CdhThxDI.mjs.map +0 -1
  350. package/dist/Construct-WhCXIOPV.d.cts +0 -104
  351. package/dist/Construct-WhCXIOPV.d.cts.map +0 -1
  352. package/dist/Construct-roId57cU.cjs.map +0 -1
  353. package/dist/Endpoint-BBkV6l0k.cjs.map +0 -1
  354. package/dist/Endpoint-BKR5QH6O.d.mts.map +0 -1
  355. package/dist/Endpoint-BQ9O0P1w.d.cts.map +0 -1
  356. package/dist/Endpoint-BTj58Gob.mjs.map +0 -1
  357. package/dist/EndpointFactory-BejSTzbB.mjs.map +0 -1
  358. package/dist/EndpointFactory-DYoGLaIT.cjs.map +0 -1
  359. package/dist/HonoEndpointAdaptor-7aYNdqJq.mjs.map +0 -1
  360. package/dist/HonoEndpointAdaptor-wMsCyMgt.cjs.map +0 -1
  361. package/dist/Queue-D6WeziRD.d.cts.map +0 -1
  362. package/dist/Queue-DpUeqdC8.d.mts.map +0 -1
  363. package/dist/Subscriber-4rBJgDKI.d.mts.map +0 -1
  364. package/dist/Subscriber-DVQowdyj.d.cts.map +0 -1
  365. package/dist/Topic-Ohx9dvWr.d.cts +0 -91
  366. package/dist/Topic-Ohx9dvWr.d.cts.map +0 -1
  367. package/dist/Topic-cmy2jOUy.d.mts +0 -91
  368. package/dist/Topic-cmy2jOUy.d.mts.map +0 -1
  369. package/dist/auth.d.cts.map +0 -1
  370. package/dist/auth.d.mts.map +0 -1
  371. package/dist/cache-0ANvRQnD.mjs +0 -51
  372. package/dist/cache-0ANvRQnD.mjs.map +0 -1
  373. package/dist/cache-3WSvAulx.cjs +0 -57
  374. package/dist/cache-3WSvAulx.cjs.map +0 -1
  375. package/dist/cache-CdQ7OLpR.d.cts.map +0 -1
  376. package/dist/cache-DYoJFcfd.d.mts.map +0 -1
  377. package/dist/clone-DblgEZZa.mjs.map +0 -1
  378. package/dist/clone-Dy0cR2SZ.cjs.map +0 -1
  379. package/dist/construct-interface-BfjcOD_E.cjs +0 -117
  380. package/dist/construct-interface-BfjcOD_E.cjs.map +0 -1
  381. package/dist/construct-interface-BqwRNYA2.d.mts.map +0 -1
  382. package/dist/construct-interface-D2nNkHUN.d.cts.map +0 -1
  383. package/dist/construct-interface-Z4CpS8tK.mjs +0 -81
  384. package/dist/construct-interface-Z4CpS8tK.mjs.map +0 -1
  385. package/dist/database/kysely.cjs.map +0 -1
  386. package/dist/database/kysely.d.cts.map +0 -1
  387. package/dist/database/kysely.d.mts.map +0 -1
  388. package/dist/database/kysely.mjs.map +0 -1
  389. package/dist/functions-Cpff1uZH.mjs.map +0 -1
  390. package/dist/functions-DukjG8ov.cjs.map +0 -1
  391. package/dist/index-BTvozlUD.d.cts +0 -163
  392. package/dist/index-BTvozlUD.d.cts.map +0 -1
  393. package/dist/index-Cvz551AO.d.mts.map +0 -1
  394. package/dist/index-D5zqAJ2e.d.cts.map +0 -1
  395. package/dist/index-L7pz0R0T.d.mts +0 -162
  396. package/dist/index-L7pz0R0T.d.mts.map +0 -1
  397. package/dist/lazyAccessors-DM6HcXQk.mjs.map +0 -1
  398. package/dist/lazyAccessors-DrJj8NpA.cjs.map +0 -1
  399. package/dist/processAudits-Bc8rz6Ev.cjs +0 -92
  400. package/dist/processAudits-Bc8rz6Ev.cjs.map +0 -1
  401. package/dist/processAudits-D89tICM4.mjs +0 -80
  402. package/dist/processAudits-D89tICM4.mjs.map +0 -1
  403. package/dist/publisher-CGEo8UKD.mjs +0 -41
  404. package/dist/publisher-CGEo8UKD.mjs.map +0 -1
  405. package/dist/publisher-CqGsXB2X.cjs +0 -53
  406. package/dist/publisher-CqGsXB2X.cjs.map +0 -1
  407. package/dist/queue/index.cjs.map +0 -1
  408. package/dist/queue/index.d.cts.map +0 -1
  409. package/dist/queue/index.d.mts.map +0 -1
  410. package/dist/queue/index.mjs.map +0 -1
  411. package/dist/surfaceEnv-BFXEms2f.cjs +0 -39
  412. package/dist/surfaceEnv-BFXEms2f.cjs.map +0 -1
  413. package/dist/surfaceEnv-C3Ktahea.mjs +0 -27
  414. package/dist/surfaceEnv-C3Ktahea.mjs.map +0 -1
  415. package/dist/telemetry-C3L0iS28.d.cts.map +0 -1
  416. package/dist/telemetry-D7bVFLGi.d.mts.map +0 -1
  417. package/dist/topic/index.cjs.map +0 -1
  418. package/dist/topic/index.d.cts.map +0 -1
  419. package/dist/topic/index.d.mts.map +0 -1
  420. package/dist/topic/index.mjs.map +0 -1
  421. package/dist/types-BlAkSuGI.d.cts.map +0 -1
  422. package/dist/types-aKksMEWL.d.mts.map +0 -1
@@ -1,23 +1,249 @@
1
- const require_chunk = require('../chunk-DWy1uDak.cjs');
2
- require('../construct-interface-BfjcOD_E.cjs');
3
- require('../Construct-roId57cU.cjs');
4
- require('../functions-DukjG8ov.cjs');
5
- require('../clone-Dy0cR2SZ.cjs');
6
- const require_Endpoint = require('../Endpoint-BBkV6l0k.cjs');
7
- const require_surfaceEnv = require('../surfaceEnv-BFXEms2f.cjs');
8
- const require_publisher = require('../publisher-CqGsXB2X.cjs');
9
- const require_AWSScheduledFunction = require('../AWSScheduledFunction-qu4ieRZR.cjs');
10
- const require_processAudits = require('../processAudits-Bc8rz6Ev.cjs');
11
- const require_lazyAccessors = require('../lazyAccessors-DrJj8NpA.cjs');
12
- const __geekmidas_errors = require_chunk.__toESM(require("@geekmidas/errors"));
13
- const __geekmidas_services = require_chunk.__toESM(require("@geekmidas/services"));
14
- const __middy_core = require_chunk.__toESM(require("@middy/core"));
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_tracing = require("../tracing-DPMidF_r.cjs");
4
+ const require_functions = require("../functions-CfzJG9hK.cjs");
5
+ const require_Endpoint = require("../Endpoint-BoUg8ocM.cjs");
6
+ const require_surfaceEnv = require("../surfaceEnv-CNimK76p.cjs");
7
+ const require_lazyAccessors = require("../lazyAccessors-hJKGv8Ay.cjs");
8
+ const require_runSubscriber = require("../runSubscriber-D8nLXIv1.cjs");
9
+ const require_processAudits = require("../processAudits-DasOZjPl.cjs");
10
+ let _geekmidas_events = require("@geekmidas/events");
11
+ let _geekmidas_errors = require("@geekmidas/errors");
12
+ let _geekmidas_services = require("@geekmidas/services");
13
+ let qs = require("qs");
14
+ qs = require_rolldown_runtime.__toESM(qs, 1);
15
+ let _middy_core = require("@middy/core");
16
+ _middy_core = require_rolldown_runtime.__toESM(_middy_core, 1);
17
+ let _geekmidas_audit = require("@geekmidas/audit");
18
+ let _geekmidas_audit_kysely = require("@geekmidas/audit/kysely");
19
+ let _geekmidas_db_rls = require("@geekmidas/db/rls");
20
+ //#region src/functions/FunctionExecutionWrapper.ts
21
+ var FunctionExecutionWrapper = class {
22
+ envParser;
23
+ fn;
24
+ constructor(envParser, fn) {
25
+ this.envParser = envParser;
26
+ this.fn = fn;
27
+ }
28
+ _logger;
29
+ get logger() {
30
+ return this._logger || this.fn.logger;
31
+ }
32
+ get serviceDiscovery() {
33
+ return _geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
34
+ }
35
+ getServices() {
36
+ return this.serviceDiscovery.register(this.fn.services);
37
+ }
38
+ async getDatabase() {
39
+ if (!this.fn.databaseService) return;
40
+ return (await this.serviceDiscovery.register([this.fn.databaseService]))[this.fn.databaseService.serviceName];
41
+ }
42
+ /**
43
+ * Get the audit storage service if configured.
44
+ * Returns undefined if no auditor storage is configured.
45
+ */
46
+ async getAuditStorage() {
47
+ if (!this.fn.auditorStorageService) return;
48
+ return (await this.serviceDiscovery.register([this.fn.auditorStorageService]))[this.fn.auditorStorageService.serviceName];
49
+ }
50
+ /**
51
+ * Create an auditor instance for the function.
52
+ * Returns undefined if no auditor storage is configured.
53
+ */
54
+ async createAuditor() {
55
+ const storage = await this.getAuditStorage();
56
+ if (!storage) return;
57
+ return new _geekmidas_audit.DefaultAuditor({
58
+ actor: {
59
+ id: "system",
60
+ type: "system"
61
+ },
62
+ storage,
63
+ metadata: { function: this.fn.type }
64
+ });
65
+ }
66
+ /**
67
+ * Execute handler with audit transaction support.
68
+ * If the audit storage has a database (via getDatabase()), wraps execution
69
+ * in a transaction so audits are atomic with handler's database operations.
70
+ *
71
+ * @param handler - The handler function to execute (receives auditor and db)
72
+ * @returns The handler result
73
+ */
74
+ async executeWithAudit(handler) {
75
+ const auditor = await this.createAuditor();
76
+ const storage = await this.getAuditStorage();
77
+ if (!auditor || !storage) return handler({ db: await this.getDatabase() });
78
+ const storageDb = storage.getDatabase?.();
79
+ const databaseServiceName = this.fn.databaseService?.serviceName;
80
+ const auditDbServiceName = this.fn.auditorStorageService?.serviceName;
81
+ if (storageDb && databaseServiceName && auditDbServiceName) return (0, _geekmidas_audit_kysely.withAuditableTransaction)(storageDb, auditor, async (trx) => {
82
+ return await handler({
83
+ auditor,
84
+ db: trx
85
+ });
86
+ });
87
+ const response = await handler({
88
+ auditor,
89
+ db: await this.getDatabase()
90
+ });
91
+ await auditor.flush();
92
+ return response;
93
+ }
94
+ async getFunctionInput(event) {
95
+ return await require_functions.FunctionBuilder.parseComposableStandardSchema(event, this.fn.input);
96
+ }
97
+ async publishEvents(response) {
98
+ await require_functions.publishEvents(this.logger, this.serviceDiscovery, this.fn.events, response);
99
+ }
100
+ async parseComposableStandardSchema(data, schema) {
101
+ return require_functions.FunctionBuilder.parseComposableStandardSchema(data, schema);
102
+ }
103
+ };
104
+ //#endregion
105
+ //#region src/functions/AWSLambdaFunction.ts
106
+ var AWSLambdaFunction = class extends FunctionExecutionWrapper {
107
+ fn;
108
+ constructor(envParser, fn) {
109
+ super(envParser, fn);
110
+ this.fn = fn;
111
+ }
112
+ error() {
113
+ return { onError: (req) => {
114
+ (req.event?.logger || this.fn.logger).error(req.error || {}, "Error processing function");
115
+ throw (0, _geekmidas_errors.wrapError)(req.error);
116
+ } };
117
+ }
118
+ baseInput() {
119
+ return { before: (_req) => {} };
120
+ }
121
+ input() {
122
+ return { before: async (req) => {
123
+ try {
124
+ if (this.fn.input) {
125
+ const parsedInput = await require_functions.FunctionBuilder.parseComposableStandardSchema(req.event, this.fn.input);
126
+ req.event.parsedInput = parsedInput;
127
+ } else req.event.parsedInput = req.event;
128
+ } catch (error) {
129
+ this.logger.error({
130
+ err: error,
131
+ event: req.event
132
+ }, "Failed to parse input");
133
+ throw error;
134
+ }
135
+ } };
136
+ }
137
+ loggerMiddleware() {
138
+ return { before: (req) => {
139
+ this._logger = this.fn.logger.child({
140
+ fn: {
141
+ name: req.context.functionName,
142
+ version: req.context.functionVersion,
143
+ memory: req.context.memoryLimitInMB
144
+ },
145
+ req: { id: req.context.awsRequestId }
146
+ });
147
+ req.event.logger = this._logger;
148
+ } };
149
+ }
150
+ services() {
151
+ return { before: async (req) => {
152
+ req.event.services = await this.getServices();
153
+ } };
154
+ }
155
+ database() {
156
+ return { before: async (req) => {
157
+ req.event.db = await this.getDatabase();
158
+ } };
159
+ }
160
+ auditor() {
161
+ return {
162
+ before: async (req) => {
163
+ req.event.auditor = await this.createAuditor();
164
+ },
165
+ after: async (req) => {
166
+ if (req.event.auditor) {
167
+ const records = req.event.auditor.getRecords();
168
+ if (records.length > 0) {
169
+ this.logger.debug({ auditCount: records.length }, "Flushing function audits");
170
+ await req.event.auditor.flush();
171
+ }
172
+ }
173
+ }
174
+ };
175
+ }
176
+ events() {
177
+ return { after: async (req) => {
178
+ const response = req.response || void 0;
179
+ await this.publishEvents(response);
180
+ } };
181
+ }
182
+ async _handler(event) {
183
+ const result = await this.fn.fn({
184
+ input: event.parsedInput,
185
+ services: event.services,
186
+ logger: event.logger,
187
+ db: event.db,
188
+ auditor: event.auditor
189
+ });
190
+ return await this.fn.parseOutput(result);
191
+ }
192
+ get handler() {
193
+ const handler = this._handler.bind(this);
194
+ 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());
195
+ const wrappedHandler = async (event, context) => {
196
+ const startTime = Date.now();
197
+ const requestId = context.awsRequestId;
198
+ const logger = this.fn.logger.child({ requestId });
199
+ return (0, _geekmidas_services.runWithRequestContext)({
200
+ logger,
201
+ requestId,
202
+ startTime,
203
+ operation: context.functionName
204
+ }, () => chain(event, context));
205
+ };
206
+ return wrappedHandler;
207
+ }
208
+ };
209
+ //#endregion
210
+ //#region src/crons/AWSScheduledFunction.ts
211
+ /**
212
+ * AWS Lambda adaptor for {@link Cron} constructs.
213
+ *
214
+ * A `Cron` is a {@link import('../functions').Function} that is invoked on a
215
+ * schedule (an EventBridge rule) rather than by an API request. Because of
216
+ * that, the runtime execution pipeline is identical to a regular Lambda
217
+ * function: input parsing, service/database/auditor wiring, event publishing,
218
+ * error handling, and the `runWithRequestContext` wrapper that powers
219
+ * request-scoped logging via `serviceContext.getLogger()`.
220
+ *
221
+ * This adaptor therefore reuses {@link AWSLambdaFunction} wholesale and only
222
+ * narrows the constructor to accept a `Cron`. The schedule expression itself
223
+ * (`cron.schedule`) is **deploy-time** infrastructure consumed by the CLI to
224
+ * provision the EventBridge rule — it is not needed at runtime.
225
+ *
226
+ * @example
227
+ * ```typescript
228
+ * import { AWSScheduledFunction } from '@geekmidas/constructs/crons';
229
+ * import { cancelPastBookings } from '../../../src/crons/cancelPastBookings.js';
230
+ * import { envParser } from '../../../src/env';
231
+ *
232
+ * const adapter = new AWSScheduledFunction(envParser, cancelPastBookings);
233
+ *
234
+ * export const handler = adapter.handler;
235
+ * ```
236
+ */
237
+ var AWSScheduledFunction = class extends AWSLambdaFunction {
238
+ constructor(envParser, cron) {
239
+ super(envParser, cron);
240
+ }
241
+ };
242
+ //#endregion
18
243
  //#region src/endpoints/AmazonApiGatewayEndpointAdaptor.ts
19
- var import_lodash = require_chunk.__toESM(require_Endpoint.require_lodash(), 1);
244
+ var import_lodash_set = /* @__PURE__ */ require_rolldown_runtime.__toESM(require_Endpoint.require_lodash_set(), 1);
20
245
  var AmazonApiGatewayEndpoint = class {
246
+ endpoint;
21
247
  options;
22
248
  /**
23
249
  * The parser this adaptor discovers services with.
@@ -37,7 +263,7 @@ var AmazonApiGatewayEndpoint = class {
37
263
  error() {
38
264
  return { onError: (req) => {
39
265
  (req.event.logger || this.endpoint.logger).error(req.error || {}, "Error processing request");
40
- const wrappedError = (0, __geekmidas_errors.wrapError)(req.error);
266
+ const wrappedError = (0, _geekmidas_errors.wrapError)(req.error);
41
267
  req.response = {
42
268
  statusCode: wrappedError.statusCode,
43
269
  body: wrappedError.body
@@ -55,8 +281,7 @@ var AmazonApiGatewayEndpoint = class {
55
281
  static decodeBody(body, isBase64Encoded, contentType) {
56
282
  if (!body) return void 0;
57
283
  const raw = isBase64Encoded ? Buffer.from(body, "base64").toString("utf-8") : body;
58
- const isJson = !contentType || contentType.toLowerCase().includes("application/json");
59
- if (isJson) return JSON.parse(raw);
284
+ if (!contentType || contentType.toLowerCase().includes("application/json")) return JSON.parse(raw);
60
285
  return raw;
61
286
  }
62
287
  getCookies(e) {
@@ -70,13 +295,13 @@ var AmazonApiGatewayEndpoint = class {
70
295
  const headers = req.event.headers;
71
296
  const header = require_Endpoint.Endpoint.createHeaders(headers);
72
297
  const cookie = this.getCookies(req.event);
73
- (0, import_lodash.default)(req.event, "body", await this.endpoint.parseInput(body, "body"));
74
- (0, import_lodash.default)(req.event, "query", await this.endpoint.parseInput(query, "query"));
75
- (0, import_lodash.default)(req.event, "params", await this.endpoint.parseInput(params, "params"));
76
- (0, import_lodash.default)(req.event, "header", header);
77
- (0, import_lodash.default)(req.event, "cookie", cookie);
298
+ (0, import_lodash_set.default)(req.event, "body", await this.endpoint.parseInput(body, "body"));
299
+ (0, import_lodash_set.default)(req.event, "query", await this.endpoint.parseInput(query, "query"));
300
+ (0, import_lodash_set.default)(req.event, "params", await this.endpoint.parseInput(params, "params"));
301
+ (0, import_lodash_set.default)(req.event, "header", header);
302
+ (0, import_lodash_set.default)(req.event, "cookie", cookie);
78
303
  } catch (error) {
79
- if (error && typeof error === "object" && Array.isArray(error)) throw new __geekmidas_errors.UnprocessableEntityError("Validation failed", error);
304
+ if (error && typeof error === "object" && Array.isArray(error)) throw new _geekmidas_errors.UnprocessableEntityError("Validation failed", error);
80
305
  throw error;
81
306
  }
82
307
  } };
@@ -93,9 +318,8 @@ var AmazonApiGatewayEndpoint = class {
93
318
  }
94
319
  services() {
95
320
  return { before: async (req) => {
96
- const _logger = req.event.logger;
97
- const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
98
- const services = await serviceDiscovery.register(this.endpoint.services);
321
+ req.event.logger;
322
+ const services = await _geekmidas_services.ServiceDiscovery.getInstance(this.envParser).register(this.endpoint.services);
99
323
  req.event.services = services;
100
324
  } };
101
325
  }
@@ -106,7 +330,7 @@ var AmazonApiGatewayEndpoint = class {
106
330
  const header = req.event.header;
107
331
  const cookie = req.event.cookie;
108
332
  const session = req.event.session;
109
- const isAuthorized = await this.endpoint.authorize({
333
+ if (!await this.endpoint.authorize({
110
334
  header,
111
335
  cookie,
112
336
  services,
@@ -116,19 +340,17 @@ var AmazonApiGatewayEndpoint = class {
116
340
  body: req.event.body,
117
341
  query: req.event.query,
118
342
  params: req.event.params
119
- });
120
- if (!isAuthorized) {
343
+ })) {
121
344
  logger.warn("Forbidden access attempt");
122
- throw new __geekmidas_errors.ForbiddenError("Forbidden access to the endpoint", "You do not have permission to access this resource.");
345
+ throw new _geekmidas_errors.ForbiddenError("Forbidden access to the endpoint", "You do not have permission to access this resource.");
123
346
  }
124
347
  } };
125
348
  }
126
349
  database() {
127
350
  return { before: async (req) => {
128
351
  if (!this.endpoint.databaseService) return;
129
- const _logger = req.event.logger;
130
- const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
131
- const db = await serviceDiscovery.register([this.endpoint.databaseService]).then((s) => s[this.endpoint.databaseService?.serviceName]);
352
+ req.event.logger;
353
+ const db = await _geekmidas_services.ServiceDiscovery.getInstance(this.envParser).register([this.endpoint.databaseService]).then((s) => s[this.endpoint.databaseService?.serviceName]);
132
354
  req.event.db = db;
133
355
  } };
134
356
  }
@@ -153,15 +375,15 @@ var AmazonApiGatewayEndpoint = class {
153
375
  const statusCode = req.response?.statusCode ?? this.endpoint.status;
154
376
  if (require_Endpoint.Endpoint.isSuccessStatus(statusCode)) {
155
377
  const logger = event.logger;
156
- const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
157
- await require_publisher.publishConstructEvents(this.endpoint, response, serviceDiscovery, logger);
378
+ const serviceDiscovery = _geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
379
+ await require_functions.publishConstructEvents(this.endpoint, response, serviceDiscovery, logger);
158
380
  }
159
381
  } };
160
382
  }
161
383
  async _handler(event) {
162
384
  const input = this.endpoint.refineInput(event);
163
385
  const logger = event.logger;
164
- const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
386
+ const serviceDiscovery = _geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
165
387
  const auditContext = await require_processAudits.createAuditContext(this.endpoint, serviceDiscovery, logger, {
166
388
  session: event.session,
167
389
  header: event.header,
@@ -179,9 +401,8 @@ var AmazonApiGatewayEndpoint = class {
179
401
  cookie: event.cookie,
180
402
  logger
181
403
  }) : void 0;
182
- const result = await require_processAudits.executeWithAuditTransaction(auditContext, async (auditor) => {
183
- const sameDatabase = auditContext?.storage?.databaseServiceName && auditContext.storage.databaseServiceName === this.endpoint.databaseService?.serviceName;
184
- const baseDb = sameDatabase ? auditor?.getTransaction?.() ?? rawDb : rawDb;
404
+ const { output, metadata } = await require_processAudits.executeWithAuditTransaction(auditContext, async (auditor) => {
405
+ const baseDb = auditContext?.storage?.databaseServiceName && auditContext.storage.databaseServiceName === this.endpoint.databaseService?.serviceName ? auditor?.getTransaction?.() ?? rawDb : rawDb;
185
406
  const executeHandler = async (db) => {
186
407
  const responseBuilder = new require_Endpoint.ResponseBuilder();
187
408
  const response = await this.endpoint.handler({
@@ -195,33 +416,31 @@ var AmazonApiGatewayEndpoint = class {
195
416
  ...input
196
417
  }, responseBuilder);
197
418
  let data = response;
198
- let metadata$1 = responseBuilder.getMetadata();
419
+ let metadata = responseBuilder.getMetadata();
199
420
  if (require_Endpoint.Endpoint.hasMetadata(response)) {
200
421
  data = response.data;
201
- metadata$1 = response.metadata;
422
+ metadata = response.metadata;
202
423
  }
203
- const output$1 = this.endpoint.outputSchema ? await this.endpoint.parseOutput(data) : void 0;
204
424
  return {
205
- output: output$1,
206
- metadata: metadata$1,
425
+ output: this.endpoint.outputSchema ? await this.endpoint.parseOutput(data) : void 0,
426
+ metadata,
207
427
  responseBuilder
208
428
  };
209
429
  };
210
- if (rlsActive && rlsContext && baseDb) return (0, __geekmidas_db_rls.withRlsContext)(baseDb, rlsContext, async (trx) => executeHandler(trx), { prefix: this.endpoint.rlsConfig?.prefix });
430
+ if (rlsActive && rlsContext && baseDb) return (0, _geekmidas_db_rls.withRlsContext)(baseDb, rlsContext, async (trx) => executeHandler(trx), { prefix: this.endpoint.rlsConfig?.prefix });
211
431
  return executeHandler(baseDb);
212
- }, async (result$1, auditor) => {
432
+ }, async (result, auditor) => {
213
433
  if (!audits?.length) return;
214
434
  for (const audit of audits) {
215
- if (audit.when && !audit.when(result$1.output)) continue;
216
- const payload = audit.payload(result$1.output);
217
- const entityId = audit.entityId?.(result$1.output);
435
+ if (audit.when && !audit.when(result.output)) continue;
436
+ const payload = audit.payload(result.output);
437
+ const entityId = audit.entityId?.(result.output);
218
438
  auditor.audit(audit.type, payload, {
219
439
  table: audit.table,
220
440
  entityId
221
441
  });
222
442
  }
223
443
  }, { db: rawDb });
224
- const { output, metadata } = result;
225
444
  const isJsonResponse = this.endpoint.responseType === "application/json";
226
445
  const body = output === void 0 ? void 0 : isJsonResponse ? JSON.stringify(output) : typeof output === "string" ? output : String(output);
227
446
  event.__response = output;
@@ -272,7 +491,7 @@ var AmazonApiGatewayEndpoint = class {
272
491
  }
273
492
  get handler() {
274
493
  const handler = this._handler.bind(this);
275
- 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());
494
+ 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());
276
495
  const telemetryMiddleware = this.telemetry();
277
496
  if (telemetryMiddleware) chain = chain.use(telemetryMiddleware);
278
497
  if (this.options.telescope?.middleware) chain = chain.use(this.options.telescope.middleware);
@@ -280,16 +499,17 @@ var AmazonApiGatewayEndpoint = class {
280
499
  const startTime = Date.now();
281
500
  const requestId = context.awsRequestId;
282
501
  const logger = this.endpoint.logger.child({ requestId });
283
- return (0, __geekmidas_services.runWithRequestContext)({
502
+ const operation = `${this.endpoint.method} ${this.endpoint.route}`;
503
+ return (0, _geekmidas_services.runWithRequestContext)({
284
504
  logger,
285
505
  requestId,
286
- startTime
506
+ startTime,
507
+ operation
287
508
  }, () => chain(event, context));
288
509
  };
289
510
  return wrappedHandler;
290
511
  }
291
512
  };
292
-
293
513
  //#endregion
294
514
  //#region src/endpoints/parseQueryParams.ts
295
515
  /**
@@ -310,10 +530,10 @@ function parseQueryParams(queryParams) {
310
530
  }
311
531
  return qs.default.parse(parts.join("&"));
312
532
  }
313
-
314
533
  //#endregion
315
534
  //#region src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts
316
535
  var AmazonApiGatewayV1Endpoint = class extends AmazonApiGatewayEndpoint {
536
+ endpoint;
317
537
  getInput(e) {
318
538
  const multiValueParams = e.multiValueQueryStringParameters || {};
319
539
  const singleValueParams = e.queryStringParameters || {};
@@ -346,17 +566,16 @@ var AmazonApiGatewayV1Endpoint = class extends AmazonApiGatewayEndpoint {
346
566
  this.endpoint = endpoint;
347
567
  }
348
568
  };
349
-
350
569
  //#endregion
351
570
  //#region src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts
352
571
  var AmazonApiGatewayV2Endpoint = class extends AmazonApiGatewayEndpoint {
572
+ endpoint;
353
573
  getCookies(e) {
354
574
  return require_lazyAccessors.createApiGatewayCookies(e.cookies, e.headers?.cookie);
355
575
  }
356
576
  getInput(e) {
357
- const raw = AmazonApiGatewayEndpoint.decodeBody(e.body, e.isBase64Encoded, e.headers?.["content-type"]);
358
577
  return {
359
- body: raw,
578
+ body: AmazonApiGatewayEndpoint.decodeBody(e.body, e.isBase64Encoded, e.headers?.["content-type"]),
360
579
  query: qs.default.parse(e.rawQueryString),
361
580
  params: e.pathParameters || {}
362
581
  };
@@ -381,7 +600,6 @@ var AmazonApiGatewayV2Endpoint = class extends AmazonApiGatewayEndpoint {
381
600
  this.endpoint = endpoint;
382
601
  }
383
602
  };
384
-
385
603
  //#endregion
386
604
  //#region src/queue/AWSLambdaQueueAdaptor.ts
387
605
  /**
@@ -396,6 +614,8 @@ var AmazonApiGatewayV2Endpoint = class extends AmazonApiGatewayEndpoint {
396
614
  * retries only those records.
397
615
  */
398
616
  var AWSLambdaQueue = class {
617
+ envParser;
618
+ queue;
399
619
  _services;
400
620
  constructor(envParser, queue) {
401
621
  this.envParser = envParser;
@@ -406,10 +626,16 @@ var AWSLambdaQueue = class {
406
626
  }
407
627
  async getServices() {
408
628
  if (this._services) return this._services;
409
- const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
629
+ const serviceDiscovery = _geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
410
630
  this._services = this.queue.services.length > 0 ? await serviceDiscovery.register(this.queue.services) : {};
411
631
  return this._services;
412
632
  }
633
+ /** The queue's database, registered as functions register theirs. */
634
+ async getDatabase() {
635
+ const service = this.queue.databaseService;
636
+ if (!service) return void 0;
637
+ return (await _geekmidas_services.ServiceDiscovery.getInstance(this.envParser).register([service]))[service.serviceName];
638
+ }
413
639
  safeJsonParse(value) {
414
640
  try {
415
641
  return JSON.parse(value);
@@ -435,6 +661,7 @@ var AWSLambdaQueue = class {
435
661
  req: { id: context.awsRequestId }
436
662
  });
437
663
  const services = await this.getServices();
664
+ const db = await this.getDatabase();
438
665
  const schema = this.queue.messageSchema;
439
666
  const batchItemFailures = [];
440
667
  const messages = [];
@@ -452,7 +679,7 @@ var AWSLambdaQueue = class {
452
679
  messages.push(validation.value);
453
680
  } catch (error) {
454
681
  logger.error({
455
- error,
682
+ err: error,
456
683
  messageId: record.messageId
457
684
  }, "Failed to parse SQS record");
458
685
  batchItemFailures.push({ itemIdentifier: record.messageId });
@@ -462,34 +689,39 @@ var AWSLambdaQueue = class {
462
689
  await this.queue.handler({
463
690
  messages,
464
691
  services,
465
- logger
692
+ logger,
693
+ db
466
694
  });
467
695
  } catch (error) {
468
- logger.error((0, __geekmidas_errors.wrapError)(error), "Queue handler failed; retrying batch");
696
+ logger.error((0, _geekmidas_errors.wrapError)(error), "Queue handler failed; retrying batch");
469
697
  for (const record of event.Records) if (!batchItemFailures.some((f) => f.itemIdentifier === record.messageId)) batchItemFailures.push({ itemIdentifier: record.messageId });
470
698
  }
471
699
  return { batchItemFailures };
472
700
  }
473
701
  get handler() {
474
702
  const handler = this._handler.bind(this);
475
- return async (event, context) => {
703
+ return (async (event, context) => {
476
704
  const startTime = Date.now();
477
705
  const requestId = context.awsRequestId;
478
706
  const logger = this.queue.logger.child({ requestId });
479
- return (0, __geekmidas_services.runWithRequestContext)({
707
+ return (0, _geekmidas_services.runWithRequestContext)({
480
708
  logger,
481
709
  requestId,
482
- startTime
483
- }, () => handler(event, context));
484
- };
710
+ startTime,
711
+ operation: `queue ${this.queue.name}`
712
+ }, () => (0, _geekmidas_events.consumeBatchTraced)({
713
+ system: "aws_sqs",
714
+ destination: this.queue.name
715
+ }, event.Records.map(require_tracing.recordCarrier), () => handler(event, context)));
716
+ });
485
717
  }
486
718
  };
487
-
488
719
  //#endregion
489
720
  //#region src/subscribers/AWSLambdaSubscriberAdaptor.ts
490
721
  var AWSLambdaSubscriber = class {
722
+ envParser;
723
+ subscriber;
491
724
  _logger;
492
- _services;
493
725
  constructor(envParser, subscriber) {
494
726
  this.envParser = envParser;
495
727
  this.subscriber = subscriber;
@@ -498,20 +730,10 @@ var AWSLambdaSubscriber = class {
498
730
  get logger() {
499
731
  return this._logger;
500
732
  }
501
- async getServices() {
502
- if (this._services) return this._services;
503
- const serviceDiscovery = __geekmidas_services.ServiceDiscovery.getInstance(this.envParser);
504
- if (this.subscriber.services.length > 0) {
505
- const registered = await serviceDiscovery.register(this.subscriber.services);
506
- this._services = registered;
507
- } else this._services = {};
508
- return this._services;
509
- }
510
733
  error() {
511
734
  return { onError: (req) => {
512
- const logger = req.event?.logger || this.subscriber.logger;
513
- logger.error(req.error || {}, "Error processing subscriber");
514
- throw (0, __geekmidas_errors.wrapError)(req.error);
735
+ (req.event?.logger || this.subscriber.logger).error(req.error || {}, "Error processing subscriber");
736
+ throw (0, _geekmidas_errors.wrapError)(req.error);
515
737
  } };
516
738
  }
517
739
  loggerMiddleware() {
@@ -529,133 +751,55 @@ var AWSLambdaSubscriber = class {
529
751
  }
530
752
  services() {
531
753
  return { before: async (req) => {
532
- req.event.services = await this.getServices();
754
+ const { services, db } = await require_runSubscriber.subscriberContext(this.subscriber, this.envParser);
755
+ req.event.services = services;
756
+ req.event.db = db;
533
757
  } };
534
758
  }
535
759
  parseEvents() {
536
760
  return { before: async (req) => {
537
- const { logger,...e } = req.event;
538
- const rawEvent = e;
761
+ const { logger, ...rawEvent } = req.event;
539
762
  logger.info({ rawEvent });
540
- const events = [];
541
- if ("Records" in rawEvent) {
542
- if (this.isSQSEvent(rawEvent)) for (const record of rawEvent.Records) try {
543
- const event = this.parseSQSRecord(record);
544
- if (this.shouldIncludeEvent(event)) events.push(event);
545
- } catch (error) {
546
- this.logger.error({
547
- error,
548
- record
549
- }, "Failed to parse SQS record");
550
- }
551
- else if (this.isSNSEvent(rawEvent)) for (const record of rawEvent.Records) try {
552
- const event = this.parseSNSRecord(record);
553
- if (this.shouldIncludeEvent(event)) events.push(event);
554
- } catch (error) {
555
- this.logger.error({
556
- error,
557
- record
558
- }, "Failed to parse SNS record");
559
- }
560
- }
561
- req.event.events = events;
763
+ req.event.events = require_runSubscriber.subscribedEvents(this.subscriber, rawEvent, this.logger);
562
764
  } };
563
765
  }
564
- isSQSEvent(event) {
565
- const firstRecord = event.Records[0];
566
- return "Records" in event && event.Records.length > 0 && firstRecord !== void 0 && "eventSource" in firstRecord && firstRecord.eventSource === "aws:sqs";
567
- }
568
- isSNSEvent(event) {
569
- const firstRecord = event.Records[0];
570
- return "Records" in event && event.Records.length > 0 && firstRecord !== void 0 && "EventSource" in firstRecord && firstRecord.EventSource === "aws:sns";
571
- }
572
- parseSNSRecord(record) {
573
- const message = this.safeJsonParse(record.Sns.Message);
574
- const messageType = record.Sns.MessageAttributes?.type?.Value;
575
- if (message === null) return messageType ? {
576
- type: messageType,
577
- payload: record.Sns.Message
578
- } : record.Sns.Message;
579
- const resolvedType = messageType ?? message.type;
580
- if (message.type) return message;
581
- return resolvedType ? {
582
- type: resolvedType,
583
- payload: message
584
- } : message;
585
- }
586
- parseSQSRecord(record) {
587
- const body = this.safeJsonParse(record.body);
588
- if (body === null) return record.body;
589
- if (body.Type === "Notification" && body.Message) {
590
- const snsMessage = this.safeJsonParse(body.Message);
591
- const messageType = body.MessageAttributes?.type?.Value;
592
- if (snsMessage === null) return messageType ? {
593
- type: messageType,
594
- payload: body.Message
595
- } : body.Message;
596
- if (snsMessage.type) return snsMessage;
597
- const resolvedType = messageType ?? snsMessage.type;
598
- return resolvedType ? {
599
- type: resolvedType,
600
- payload: snsMessage
601
- } : snsMessage;
602
- }
603
- return body;
604
- }
605
- safeJsonParse(value) {
606
- try {
607
- return JSON.parse(value);
608
- } catch {
609
- return null;
610
- }
611
- }
612
- shouldIncludeEvent(event) {
613
- if (typeof event !== "object" || !event?.type) return true;
614
- if (!this.subscriber.subscribedEvents) return true;
615
- return this.subscriber.subscribedEvents.includes(event.type);
616
- }
617
766
  async _handler(event) {
618
- if (event.events.length === 0) {
619
- this.logger.info("No subscribed events to process");
620
- return { batchItemFailures: [] };
621
- }
622
- const result = await this.subscriber.handler({
623
- events: event.events,
624
- services: event.services,
625
- logger: event.logger
767
+ const { events, services, logger, db } = event;
768
+ return require_runSubscriber.runSubscriber(this.subscriber, {
769
+ events,
770
+ services,
771
+ logger,
772
+ db
626
773
  });
627
- if (this.subscriber.outputSchema && result) {
628
- const validationResult = await this.subscriber.outputSchema["~standard"].validate(result);
629
- if (validationResult.issues) {
630
- this.logger.error({ issues: validationResult.issues }, "Subscriber output validation failed");
631
- throw new Error("Subscriber output validation failed");
632
- }
633
- return validationResult.value;
634
- }
635
- return result;
636
774
  }
637
775
  get handler() {
638
776
  const handler = this._handler.bind(this);
639
- const chain = (0, __middy_core.default)(handler).use(this.loggerMiddleware()).use(this.parseEvents()).use(this.error()).use(this.services());
777
+ const chain = (0, _middy_core.default)(handler).use(this.loggerMiddleware()).use(this.parseEvents()).use(this.error()).use(this.services());
640
778
  const wrappedHandler = async (event, context) => {
641
779
  const startTime = Date.now();
642
780
  const requestId = context.awsRequestId;
643
781
  const logger = this.subscriber.logger.child({ requestId });
644
- return (0, __geekmidas_services.runWithRequestContext)({
782
+ const operation = `subscriber ${this.subscriber.topicName ?? context.functionName}`;
783
+ const records = event?.Records ?? [];
784
+ return (0, _geekmidas_services.runWithRequestContext)({
645
785
  logger,
646
786
  requestId,
647
- startTime
648
- }, () => chain(event, context));
787
+ startTime,
788
+ operation
789
+ }, () => (0, _geekmidas_events.consumeBatchTraced)({
790
+ system: records[0]?.Sns ? "aws_sns" : "aws_sqs",
791
+ destination: this.subscriber.topicName ?? context.functionName
792
+ }, records.map(require_tracing.recordCarrier), () => chain(event, context)));
649
793
  };
650
794
  return wrappedHandler;
651
795
  }
652
796
  };
653
-
654
797
  //#endregion
655
- exports.AWSLambdaFunction = require_AWSScheduledFunction.AWSLambdaFunction;
798
+ exports.AWSLambdaFunction = AWSLambdaFunction;
656
799
  exports.AWSLambdaQueue = AWSLambdaQueue;
657
800
  exports.AWSLambdaSubscriber = AWSLambdaSubscriber;
658
- exports.AWSScheduledFunction = require_AWSScheduledFunction.AWSScheduledFunction;
801
+ exports.AWSScheduledFunction = AWSScheduledFunction;
659
802
  exports.AmazonApiGatewayV1Endpoint = AmazonApiGatewayV1Endpoint;
660
803
  exports.AmazonApiGatewayV2Endpoint = AmazonApiGatewayV2Endpoint;
804
+
661
805
  //# sourceMappingURL=aws.cjs.map