@geekmidas/constructs 10.0.0-alpha.9 → 10.0.0-alpha.91
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.
- package/README.md +222 -158
- package/dist/{Construct-BD5neF7w.mjs → Construct-B1vGBPme.mjs} +33 -34
- package/dist/Construct-B1vGBPme.mjs.map +1 -0
- package/dist/Construct-BQALFCh2.d.cts +230 -0
- package/dist/Construct-BQALFCh2.d.cts.map +1 -0
- package/dist/{Construct-CyS3RpTL.cjs → Construct-DUSXuTHP.cjs} +53 -48
- package/dist/Construct-DUSXuTHP.cjs.map +1 -0
- package/dist/Construct-QXnl3VqT.d.mts +230 -0
- package/dist/Construct-QXnl3VqT.d.mts.map +1 -0
- package/dist/{Cron-DmQ8vQ4b.d.cts → Cron-DI3nKoic.d.cts} +15 -9
- package/dist/Cron-DI3nKoic.d.cts.map +1 -0
- package/dist/{Cron-dh4rUgib.d.mts → Cron-uYAHPnp7.d.mts} +15 -9
- package/dist/Cron-uYAHPnp7.d.mts.map +1 -0
- package/dist/{CronBuilder-Da0C0edR.cjs → CronBuilder-C0Ek1-RA.cjs} +47 -31
- package/dist/CronBuilder-C0Ek1-RA.cjs.map +1 -0
- package/dist/CronBuilder-DaSUm2Na.d.mts +47 -0
- package/dist/CronBuilder-DaSUm2Na.d.mts.map +1 -0
- package/dist/{CronBuilder-CYKT5RiO.mjs → CronBuilder-Dmix_Pen.mjs} +37 -21
- package/dist/CronBuilder-Dmix_Pen.mjs.map +1 -0
- package/dist/CronBuilder-g1lZLWyG.d.cts +47 -0
- package/dist/CronBuilder-g1lZLWyG.d.cts.map +1 -0
- package/dist/{Endpoint-DCQPMdUX.mjs → Endpoint-BG4UJ9oA.mjs} +146 -109
- package/dist/Endpoint-BG4UJ9oA.mjs.map +1 -0
- package/dist/{Endpoint-DcWXE-SZ.cjs → Endpoint-BoUg8ocM.cjs} +174 -131
- package/dist/Endpoint-BoUg8ocM.cjs.map +1 -0
- package/dist/{Endpoint-BjWKinFA.d.mts → Endpoint-Du-NwPX2.d.mts} +83 -91
- package/dist/Endpoint-Du-NwPX2.d.mts.map +1 -0
- package/dist/{Endpoint-dav89W6-.d.cts → Endpoint-aCvBMPoH.d.cts} +82 -90
- package/dist/Endpoint-aCvBMPoH.d.cts.map +1 -0
- package/dist/{EndpointFactory-CjV8F_lJ.mjs → EndpointFactory-BDtsrEvJ.mjs} +57 -76
- package/dist/EndpointFactory-BDtsrEvJ.mjs.map +1 -0
- package/dist/{EndpointFactory-CdWB7wPw.cjs → EndpointFactory-DJ7gXLpR.cjs} +93 -112
- package/dist/EndpointFactory-DJ7gXLpR.cjs.map +1 -0
- package/dist/{index-Bd5FqCoe.d.cts → EndpointFactory-DMYdJCOj.d.mts} +78 -134
- package/dist/EndpointFactory-DMYdJCOj.d.mts.map +1 -0
- package/dist/{index-lAO9egTb.d.mts → EndpointFactory-I7s1co3Y.d.cts} +79 -135
- package/dist/EndpointFactory-I7s1co3Y.d.cts.map +1 -0
- package/dist/Function-DuqGcbOI.d.mts +76 -0
- package/dist/Function-DuqGcbOI.d.mts.map +1 -0
- package/dist/Function-Pu-1kKZz.d.cts +76 -0
- package/dist/Function-Pu-1kKZz.d.cts.map +1 -0
- package/dist/{HonoEndpointAdaptor-P1ahhZHu.mjs → HonoEndpointAdaptor-PtPlbeKY.mjs} +75 -56
- package/dist/HonoEndpointAdaptor-PtPlbeKY.mjs.map +1 -0
- package/dist/{HonoEndpointAdaptor-DtL9j19R.cjs → HonoEndpointAdaptor-zVzVLJEO.cjs} +83 -61
- package/dist/HonoEndpointAdaptor-zVzVLJEO.cjs.map +1 -0
- package/dist/Queue-A3wfD0it.cjs +109 -0
- package/dist/Queue-A3wfD0it.cjs.map +1 -0
- package/dist/Queue-D6USGS4q.mjs +104 -0
- package/dist/Queue-D6USGS4q.mjs.map +1 -0
- package/dist/{Queue-D7ZuwBhy.d.cts → Queue-DlsHRzUp.d.mts} +48 -48
- package/dist/Queue-DlsHRzUp.d.mts.map +1 -0
- package/dist/{Queue-gVGfi2Yk.d.mts → Queue-HPyi0e1i.d.cts} +49 -49
- package/dist/Queue-HPyi0e1i.d.cts.map +1 -0
- package/dist/QueueBuilder-BjuF0UBl.cjs +135 -0
- package/dist/QueueBuilder-BjuF0UBl.cjs.map +1 -0
- package/dist/QueueBuilder-Cue73M4t.mjs +118 -0
- package/dist/QueueBuilder-Cue73M4t.mjs.map +1 -0
- package/dist/QueueBuilder-OSi6LkV9.d.cts +75 -0
- package/dist/QueueBuilder-OSi6LkV9.d.cts.map +1 -0
- package/dist/QueueBuilder-QHsnVt1P.d.mts +75 -0
- package/dist/QueueBuilder-QHsnVt1P.d.mts.map +1 -0
- package/dist/{Subscriber-2mEi0ImH.d.cts → Subscriber-Bpp02cGr.d.cts} +29 -20
- package/dist/Subscriber-Bpp02cGr.d.cts.map +1 -0
- package/dist/{Subscriber-xTJ9ayPN.d.mts → Subscriber-CtN9R48-.d.mts} +29 -20
- package/dist/Subscriber-CtN9R48-.d.mts.map +1 -0
- package/dist/{SubscriberBuilder-BjkbeT9l.mjs → SubscriberBuilder-CDy4nHCz.mjs} +50 -24
- package/dist/SubscriberBuilder-CDy4nHCz.mjs.map +1 -0
- package/dist/SubscriberBuilder-CuCMFpYW.d.mts +67 -0
- package/dist/SubscriberBuilder-CuCMFpYW.d.mts.map +1 -0
- package/dist/{SubscriberBuilder-4OPehf2R.cjs → SubscriberBuilder-D_owVoHo.cjs} +61 -36
- package/dist/SubscriberBuilder-D_owVoHo.cjs.map +1 -0
- package/dist/SubscriberBuilder-g3fAVWgs.d.cts +67 -0
- package/dist/SubscriberBuilder-g3fAVWgs.d.cts.map +1 -0
- package/dist/Topic-D74b5cgs.mjs +99 -0
- package/dist/Topic-D74b5cgs.mjs.map +1 -0
- package/dist/Topic-GHxcU8AG.cjs +104 -0
- package/dist/Topic-GHxcU8AG.cjs.map +1 -0
- package/dist/adaptors/aws.cjs +131 -220
- package/dist/adaptors/aws.cjs.map +1 -1
- package/dist/adaptors/aws.d.cts +34 -53
- package/dist/adaptors/aws.d.cts.map +1 -1
- package/dist/adaptors/aws.d.mts +34 -53
- package/dist/adaptors/aws.d.mts.map +1 -1
- package/dist/adaptors/aws.mjs +102 -193
- package/dist/adaptors/aws.mjs.map +1 -1
- package/dist/adaptors/hono.cjs +3 -10
- package/dist/adaptors/hono.d.cts +7 -16
- package/dist/adaptors/hono.d.cts.map +1 -1
- package/dist/adaptors/hono.d.mts +8 -17
- package/dist/adaptors/hono.d.mts.map +1 -1
- package/dist/adaptors/hono.mjs +2 -10
- package/dist/adaptors/testing.cjs +743 -89
- package/dist/adaptors/testing.cjs.map +1 -1
- package/dist/adaptors/testing.d.cts +351 -54
- package/dist/adaptors/testing.d.cts.map +1 -1
- package/dist/adaptors/testing.d.mts +351 -54
- package/dist/adaptors/testing.d.mts.map +1 -1
- package/dist/adaptors/testing.mjs +706 -70
- package/dist/adaptors/testing.mjs.map +1 -1
- package/dist/auth-BMCJN30Y.d.cts +268 -0
- package/dist/auth-BMCJN30Y.d.cts.map +1 -0
- package/dist/auth-CcuceLYo.d.mts +268 -0
- package/dist/auth-CcuceLYo.d.mts.map +1 -0
- package/dist/auth.cjs +301 -33
- package/dist/auth.cjs.map +1 -1
- package/dist/auth.d.cts +2 -108
- package/dist/auth.d.mts +2 -108
- package/dist/auth.mjs +289 -27
- package/dist/auth.mjs.map +1 -1
- package/dist/{cache-BrRz3fEB.d.mts → cache-CXh6GIgb.d.mts} +3 -6
- package/dist/cache-CXh6GIgb.d.mts.map +1 -0
- package/dist/{cache-BtZY_tHe.d.cts → cache-DnGDGly3.d.cts} +3 -6
- package/dist/cache-DnGDGly3.d.cts.map +1 -0
- package/dist/cache.cjs +68 -2
- package/dist/cache.cjs.map +1 -0
- package/dist/cache.d.cts +1 -2
- package/dist/cache.d.mts +1 -2
- package/dist/cache.mjs +67 -2
- package/dist/cache.mjs.map +1 -0
- package/dist/cipher-C1lEFX63.mjs +225 -0
- package/dist/cipher-C1lEFX63.mjs.map +1 -0
- package/dist/cipher-CVxfwLjk.cjs +332 -0
- package/dist/cipher-CVxfwLjk.cjs.map +1 -0
- package/dist/{clone-DblgEZZa.mjs → clone-EKNovYHu.mjs} +3 -3
- package/dist/clone-EKNovYHu.mjs.map +1 -0
- package/dist/{clone-Dy0cR2SZ.cjs → clone-UGJpvQnL.cjs} +7 -8
- package/dist/clone-UGJpvQnL.cjs.map +1 -0
- package/dist/{construct-interface-D9d4Gm4p.d.cts → construct-interface-B1AfqRl4.d.cts} +42 -11
- package/dist/construct-interface-B1AfqRl4.d.cts.map +1 -0
- package/dist/{construct-interface-g5GM5pwR.d.mts → construct-interface-DluK3_da.d.mts} +42 -11
- package/dist/construct-interface-DluK3_da.d.mts.map +1 -0
- package/dist/construct-interface.cjs +113 -7
- package/dist/construct-interface.cjs.map +1 -0
- package/dist/construct-interface.d.cts +2 -2
- package/dist/construct-interface.d.mts +2 -2
- package/dist/construct-interface.mjs +106 -2
- package/dist/construct-interface.mjs.map +1 -0
- package/dist/credential.cjs +77 -17
- package/dist/credential.cjs.map +1 -1
- package/dist/credential.d.cts +34 -9
- package/dist/credential.d.cts.map +1 -1
- package/dist/credential.d.mts +34 -9
- package/dist/credential.d.mts.map +1 -1
- package/dist/credential.mjs +71 -13
- package/dist/credential.mjs.map +1 -1
- package/dist/crons/index.cjs +129 -7
- package/dist/crons/index.cjs.map +1 -1
- package/dist/crons/index.d.cts +45 -11
- package/dist/crons/index.d.cts.map +1 -1
- package/dist/crons/index.d.mts +45 -11
- package/dist/crons/index.d.mts.map +1 -1
- package/dist/crons/index.mjs +127 -8
- package/dist/crons/index.mjs.map +1 -1
- package/dist/database/kysely.cjs +4 -181
- package/dist/database/kysely.d.cts +2 -152
- package/dist/database/kysely.d.mts +2 -152
- package/dist/database/kysely.mjs +2 -180
- package/dist/email.cjs +25 -12
- package/dist/email.cjs.map +1 -1
- package/dist/email.d.cts +3 -7
- package/dist/email.d.cts.map +1 -1
- package/dist/email.d.mts +3 -7
- package/dist/email.d.mts.map +1 -1
- package/dist/email.mjs +16 -3
- package/dist/email.mjs.map +1 -1
- package/dist/encryption.cjs +96 -0
- package/dist/encryption.cjs.map +1 -0
- package/dist/encryption.d.cts +117 -0
- package/dist/encryption.d.cts.map +1 -0
- package/dist/encryption.d.mts +117 -0
- package/dist/encryption.d.mts.map +1 -0
- package/dist/encryption.mjs +83 -0
- package/dist/encryption.mjs.map +1 -0
- package/dist/endpoints/index.cjs +8 -10
- package/dist/endpoints/index.d.cts +51 -7
- package/dist/endpoints/index.d.cts.map +1 -0
- package/dist/endpoints/index.d.mts +51 -7
- package/dist/endpoints/index.d.mts.map +1 -0
- package/dist/endpoints/index.mjs +6 -10
- package/dist/external-api-MJ8id87V.d.mts +105 -0
- package/dist/external-api-MJ8id87V.d.mts.map +1 -0
- package/dist/external-api-O107yzZJ.d.cts +105 -0
- package/dist/external-api-O107yzZJ.d.cts.map +1 -0
- package/dist/external-api.cjs +142 -0
- package/dist/external-api.cjs.map +1 -0
- package/dist/external-api.d.cts +2 -0
- package/dist/external-api.d.mts +2 -0
- package/dist/external-api.mjs +139 -0
- package/dist/external-api.mjs.map +1 -0
- package/dist/file-server.cjs +42 -10
- package/dist/file-server.cjs.map +1 -1
- package/dist/file-server.d.cts +6 -10
- package/dist/file-server.d.cts.map +1 -1
- package/dist/file-server.d.mts +6 -10
- package/dist/file-server.d.mts.map +1 -1
- package/dist/file-server.mjs +34 -2
- package/dist/file-server.mjs.map +1 -1
- package/dist/functions/index.cjs +3 -6
- package/dist/functions/index.d.cts +3 -4
- package/dist/functions/index.d.mts +3 -4
- package/dist/functions/index.mjs +2 -6
- package/dist/{functions-14lpEFL4.mjs → functions-BFizikJU.mjs} +376 -238
- package/dist/{functions-14lpEFL4.mjs.map → functions-BFizikJU.mjs.map} +1 -1
- package/dist/{functions-i_la-N5r.cjs → functions-CfzJG9hK.cjs} +414 -264
- package/dist/functions-CfzJG9hK.cjs.map +1 -0
- package/dist/index-BuzRvKOQ.d.cts +115 -0
- package/dist/index-BuzRvKOQ.d.cts.map +1 -0
- package/dist/index-CTkKOer4.d.mts +115 -0
- package/dist/index-CTkKOer4.d.mts.map +1 -0
- package/dist/index-CeEtxDmK.d.cts +79 -0
- package/dist/index-CeEtxDmK.d.cts.map +1 -0
- package/dist/index-CeEtxDmK.d.mts +79 -0
- package/dist/index-CeEtxDmK.d.mts.map +1 -0
- package/dist/index.cjs +6 -3
- package/dist/index.d.cts +27 -4
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +27 -4
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +3 -3
- package/dist/kms-B-Hm3d5r.cjs +85 -0
- package/dist/kms-B-Hm3d5r.cjs.map +1 -0
- package/dist/kms-BdUlMJEZ.mjs +85 -0
- package/dist/kms-BdUlMJEZ.mjs.map +1 -0
- package/dist/kysely-Bii4l6eP.mjs +370 -0
- package/dist/kysely-Bii4l6eP.mjs.map +1 -0
- package/dist/kysely-CO_Dk43W.cjs +383 -0
- package/dist/kysely-CO_Dk43W.cjs.map +1 -0
- package/dist/kysely-D0bpzgPs.d.cts +175 -0
- package/dist/kysely-D0bpzgPs.d.cts.map +1 -0
- package/dist/kysely-DUqC3Ie0.d.mts +175 -0
- package/dist/kysely-DUqC3Ie0.d.mts.map +1 -0
- package/dist/{telemetry-C3L0iS28.d.cts → lambdaTelemetry-8vnmVZQ5.d.cts} +3 -6
- package/dist/lambdaTelemetry-8vnmVZQ5.d.cts.map +1 -0
- package/dist/{telemetry-D7bVFLGi.d.mts → lambdaTelemetry-8vnmVZQ5.d.mts} +3 -6
- package/dist/lambdaTelemetry-8vnmVZQ5.d.mts.map +1 -0
- package/dist/{lazyAccessors-BoJN3SMd.mjs → lazyAccessors-CFanua0O.mjs} +20 -60
- package/dist/lazyAccessors-CFanua0O.mjs.map +1 -0
- package/dist/{lazyAccessors-e3j2oE2m.cjs → lazyAccessors-hJKGv8Ay.cjs} +60 -113
- package/dist/lazyAccessors-hJKGv8Ay.cjs.map +1 -0
- package/dist/mobile-app.cjs +73 -0
- package/dist/mobile-app.cjs.map +1 -0
- package/dist/mobile-app.d.cts +61 -0
- package/dist/mobile-app.d.cts.map +1 -0
- package/dist/mobile-app.d.mts +61 -0
- package/dist/mobile-app.d.mts.map +1 -0
- package/dist/mobile-app.mjs +72 -0
- package/dist/mobile-app.mjs.map +1 -0
- package/dist/object-storage.cjs +18 -10
- package/dist/object-storage.cjs.map +1 -1
- package/dist/object-storage.d.cts +3 -7
- package/dist/object-storage.d.cts.map +1 -1
- package/dist/object-storage.d.mts +3 -7
- package/dist/object-storage.d.mts.map +1 -1
- package/dist/object-storage.mjs +11 -3
- package/dist/object-storage.mjs.map +1 -1
- package/dist/processAudits-BRRVVHUB.mjs +131 -0
- package/dist/processAudits-BRRVVHUB.mjs.map +1 -0
- package/dist/processAudits-DasOZjPl.cjs +154 -0
- package/dist/processAudits-DasOZjPl.cjs.map +1 -0
- package/dist/queue/index.cjs +6 -189
- package/dist/queue/index.d.cts +3 -60
- package/dist/queue/index.d.mts +3 -60
- package/dist/queue/index.mjs +3 -186
- package/dist/rest-api.cjs +90 -59
- package/dist/rest-api.cjs.map +1 -1
- package/dist/rest-api.d.cts +70 -42
- package/dist/rest-api.d.cts.map +1 -1
- package/dist/rest-api.d.mts +70 -42
- package/dist/rest-api.d.mts.map +1 -1
- package/dist/rest-api.mjs +82 -51
- package/dist/rest-api.mjs.map +1 -1
- package/dist/{chunk-DWy1uDak.cjs → rolldown-runtime-y5ARvAq5.cjs} +14 -18
- package/dist/runSubscriber-BHvJ8POr.mjs +109 -0
- package/dist/runSubscriber-BHvJ8POr.mjs.map +1 -0
- package/dist/runSubscriber-D8nLXIv1.cjs +126 -0
- package/dist/runSubscriber-D8nLXIv1.cjs.map +1 -0
- package/dist/shutdown-BMJmAhSt.cjs +38 -0
- package/dist/shutdown-BMJmAhSt.cjs.map +1 -0
- package/dist/shutdown-C7xa8x9S.mjs +27 -0
- package/dist/shutdown-C7xa8x9S.mjs.map +1 -0
- package/dist/site.cjs +33 -7
- package/dist/site.cjs.map +1 -1
- package/dist/site.d.cts +17 -7
- package/dist/site.d.cts.map +1 -1
- package/dist/site.d.mts +17 -7
- package/dist/site.d.mts.map +1 -1
- package/dist/site.mjs +29 -3
- package/dist/site.mjs.map +1 -1
- package/dist/stages-BSCF19o2.d.cts +56 -0
- package/dist/stages-BSCF19o2.d.cts.map +1 -0
- package/dist/stages-BSCF19o2.d.mts +56 -0
- package/dist/stages-BSCF19o2.d.mts.map +1 -0
- package/dist/subscribers/index.cjs +118 -6
- package/dist/subscribers/index.cjs.map +1 -0
- package/dist/subscribers/index.d.cts +51 -6
- package/dist/subscribers/index.d.cts.map +1 -0
- package/dist/subscribers/index.d.mts +51 -6
- package/dist/subscribers/index.d.mts.map +1 -0
- package/dist/subscribers/index.mjs +115 -5
- package/dist/subscribers/index.mjs.map +1 -0
- package/dist/surfaceEnv-CNimK76p.cjs +56 -0
- package/dist/surfaceEnv-CNimK76p.cjs.map +1 -0
- package/dist/surfaceEnv-wMT5QzgZ.mjs +45 -0
- package/dist/surfaceEnv-wMT5QzgZ.mjs.map +1 -0
- package/dist/telemetry-B48RLjyk.d.cts +40 -0
- package/dist/telemetry-B48RLjyk.d.cts.map +1 -0
- package/dist/telemetry-DRtT1_0A.d.mts +40 -0
- package/dist/telemetry-DRtT1_0A.d.mts.map +1 -0
- package/dist/telemetry.cjs +56 -0
- package/dist/telemetry.cjs.map +1 -0
- package/dist/telemetry.d.cts +2 -0
- package/dist/telemetry.d.mts +2 -0
- package/dist/telemetry.mjs +55 -0
- package/dist/telemetry.mjs.map +1 -0
- package/dist/topic/index.cjs +3 -137
- package/dist/topic/index.d.cts +2 -4
- package/dist/topic/index.d.mts +2 -4
- package/dist/topic/index.mjs +2 -134
- package/dist/tracing-CxaZ98IB.mjs +110 -0
- package/dist/tracing-CxaZ98IB.mjs.map +1 -0
- package/dist/tracing-DPMidF_r.cjs +127 -0
- package/dist/tracing-DPMidF_r.cjs.map +1 -0
- package/dist/{types-BlAkSuGI.d.cts → types-DMuSQeLL.d.cts} +3 -5
- package/dist/types-DMuSQeLL.d.cts.map +1 -0
- package/dist/{types-aKksMEWL.d.mts → types-DMuSQeLL.d.mts} +3 -5
- package/dist/types-DMuSQeLL.d.mts.map +1 -0
- package/dist/types.d.cts +1 -1
- package/dist/types.d.mts +1 -1
- package/dist/types.mjs +1 -0
- package/dist/worker.cjs +59 -34
- package/dist/worker.cjs.map +1 -1
- package/dist/worker.d.cts +70 -45
- package/dist/worker.d.cts.map +1 -1
- package/dist/worker.d.mts +70 -44
- package/dist/worker.d.mts.map +1 -1
- package/dist/worker.mjs +54 -29
- package/dist/worker.mjs.map +1 -1
- package/package.json +96 -42
- package/dist/Construct-BD5neF7w.mjs.map +0 -1
- package/dist/Construct-C0ijr2qp.d.cts +0 -117
- package/dist/Construct-C0ijr2qp.d.cts.map +0 -1
- package/dist/Construct-Ct8nalEi.d.mts +0 -117
- package/dist/Construct-Ct8nalEi.d.mts.map +0 -1
- package/dist/Construct-CyS3RpTL.cjs.map +0 -1
- package/dist/Cron-DmQ8vQ4b.d.cts.map +0 -1
- package/dist/Cron-dh4rUgib.d.mts.map +0 -1
- package/dist/CronBuilder-BquXDbDI.d.cts +0 -44
- package/dist/CronBuilder-BquXDbDI.d.cts.map +0 -1
- package/dist/CronBuilder-CGgY2080.d.mts +0 -44
- package/dist/CronBuilder-CGgY2080.d.mts.map +0 -1
- package/dist/CronBuilder-CYKT5RiO.mjs.map +0 -1
- package/dist/CronBuilder-Da0C0edR.cjs.map +0 -1
- package/dist/Endpoint-BjWKinFA.d.mts.map +0 -1
- package/dist/Endpoint-DCQPMdUX.mjs.map +0 -1
- package/dist/Endpoint-DcWXE-SZ.cjs.map +0 -1
- package/dist/Endpoint-dav89W6-.d.cts.map +0 -1
- package/dist/EndpointFactory-CdWB7wPw.cjs.map +0 -1
- package/dist/EndpointFactory-CjV8F_lJ.mjs.map +0 -1
- package/dist/HonoEndpointAdaptor-DtL9j19R.cjs.map +0 -1
- package/dist/HonoEndpointAdaptor-P1ahhZHu.mjs.map +0 -1
- package/dist/Queue-D7ZuwBhy.d.cts.map +0 -1
- package/dist/Queue-gVGfi2Yk.d.mts.map +0 -1
- package/dist/Subscriber-2mEi0ImH.d.cts.map +0 -1
- package/dist/Subscriber-xTJ9ayPN.d.mts.map +0 -1
- package/dist/SubscriberBuilder-4OPehf2R.cjs.map +0 -1
- package/dist/SubscriberBuilder-BjkbeT9l.mjs.map +0 -1
- package/dist/SubscriberBuilder-Dptmo-1A.d.mts +0 -62
- package/dist/SubscriberBuilder-Dptmo-1A.d.mts.map +0 -1
- package/dist/SubscriberBuilder-waNhzjSM.d.cts +0 -62
- package/dist/SubscriberBuilder-waNhzjSM.d.cts.map +0 -1
- package/dist/Topic-19QeHBIR.d.cts +0 -91
- package/dist/Topic-19QeHBIR.d.cts.map +0 -1
- package/dist/Topic-DuFeqkBh.d.mts +0 -91
- package/dist/Topic-DuFeqkBh.d.mts.map +0 -1
- package/dist/auth.d.cts.map +0 -1
- package/dist/auth.d.mts.map +0 -1
- package/dist/cache-0ANvRQnD.mjs +0 -51
- package/dist/cache-0ANvRQnD.mjs.map +0 -1
- package/dist/cache-3WSvAulx.cjs +0 -57
- package/dist/cache-3WSvAulx.cjs.map +0 -1
- package/dist/cache-BrRz3fEB.d.mts.map +0 -1
- package/dist/cache-BtZY_tHe.d.cts.map +0 -1
- package/dist/clone-DblgEZZa.mjs.map +0 -1
- package/dist/clone-Dy0cR2SZ.cjs.map +0 -1
- package/dist/construct-interface-BfjcOD_E.cjs +0 -117
- package/dist/construct-interface-BfjcOD_E.cjs.map +0 -1
- package/dist/construct-interface-D9d4Gm4p.d.cts.map +0 -1
- package/dist/construct-interface-Z4CpS8tK.mjs +0 -81
- package/dist/construct-interface-Z4CpS8tK.mjs.map +0 -1
- package/dist/construct-interface-g5GM5pwR.d.mts.map +0 -1
- package/dist/database/kysely.cjs.map +0 -1
- package/dist/database/kysely.d.cts.map +0 -1
- package/dist/database/kysely.d.mts.map +0 -1
- package/dist/database/kysely.mjs.map +0 -1
- package/dist/functions-i_la-N5r.cjs.map +0 -1
- package/dist/index-Bd5FqCoe.d.cts.map +0 -1
- package/dist/index-BknhM6Ux.d.mts +0 -31
- package/dist/index-BknhM6Ux.d.mts.map +0 -1
- package/dist/index-CBSfrowv.d.cts +0 -31
- package/dist/index-CBSfrowv.d.cts.map +0 -1
- package/dist/index-D24Xm79M.d.cts +0 -171
- package/dist/index-D24Xm79M.d.cts.map +0 -1
- package/dist/index-_ajboYxK.d.mts +0 -171
- package/dist/index-_ajboYxK.d.mts.map +0 -1
- package/dist/index-lAO9egTb.d.mts.map +0 -1
- package/dist/lazyAccessors-BoJN3SMd.mjs.map +0 -1
- package/dist/lazyAccessors-e3j2oE2m.cjs.map +0 -1
- package/dist/processAudits-CGqttuXm.cjs +0 -92
- package/dist/processAudits-CGqttuXm.cjs.map +0 -1
- package/dist/processAudits-Dmts9H_b.mjs +0 -80
- package/dist/processAudits-Dmts9H_b.mjs.map +0 -1
- package/dist/queue/index.cjs.map +0 -1
- package/dist/queue/index.d.cts.map +0 -1
- package/dist/queue/index.d.mts.map +0 -1
- package/dist/queue/index.mjs.map +0 -1
- package/dist/surfaceEnv-BFXEms2f.cjs +0 -39
- package/dist/surfaceEnv-BFXEms2f.cjs.map +0 -1
- package/dist/surfaceEnv-C3Ktahea.mjs +0 -27
- package/dist/surfaceEnv-C3Ktahea.mjs.map +0 -1
- package/dist/telemetry-C3L0iS28.d.cts.map +0 -1
- package/dist/telemetry-D7bVFLGi.d.mts.map +0 -1
- package/dist/topic/index.cjs.map +0 -1
- package/dist/topic/index.mjs.map +0 -1
- package/dist/types-BlAkSuGI.d.cts.map +0 -1
- package/dist/types-aKksMEWL.d.mts.map +0 -1
package/dist/adaptors/aws.mjs
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
|
-
import { __toESM } from "../Construct-
|
|
2
|
-
import "../
|
|
3
|
-
import { FunctionBuilder } from "../functions-
|
|
4
|
-
import "../
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
1
|
+
import { o as __toESM } from "../Construct-B1vGBPme.mjs";
|
|
2
|
+
import { n as recordCarrier } from "../tracing-CxaZ98IB.mjs";
|
|
3
|
+
import { a as publishEvents, i as publishConstructEvents, t as FunctionBuilder } from "../functions-BFizikJU.mjs";
|
|
4
|
+
import { i as require_lodash_set, n as ResponseBuilder, t as Endpoint } from "../Endpoint-BG4UJ9oA.mjs";
|
|
5
|
+
import { n as envParserFor } from "../surfaceEnv-wMT5QzgZ.mjs";
|
|
6
|
+
import { t as createApiGatewayCookies } from "../lazyAccessors-CFanua0O.mjs";
|
|
7
|
+
import { n as subscribedEvents, r as subscriberContext, t as runSubscriber } from "../runSubscriber-BHvJ8POr.mjs";
|
|
8
|
+
import { n as executeWithAuditTransaction, t as createAuditContext } from "../processAudits-BRRVVHUB.mjs";
|
|
9
|
+
import { consumeBatchTraced } from "@geekmidas/events";
|
|
9
10
|
import { ForbiddenError, UnprocessableEntityError, wrapError } from "@geekmidas/errors";
|
|
10
11
|
import { ServiceDiscovery, runWithRequestContext } from "@geekmidas/services";
|
|
12
|
+
import qs from "qs";
|
|
11
13
|
import middy from "@middy/core";
|
|
12
14
|
import { DefaultAuditor } from "@geekmidas/audit";
|
|
13
15
|
import { withAuditableTransaction } from "@geekmidas/audit/kysely";
|
|
14
16
|
import { withRlsContext } from "@geekmidas/db/rls";
|
|
15
|
-
import qs from "qs";
|
|
16
|
-
|
|
17
17
|
//#region src/functions/FunctionExecutionWrapper.ts
|
|
18
18
|
var FunctionExecutionWrapper = class {
|
|
19
|
+
envParser;
|
|
20
|
+
fn;
|
|
19
21
|
constructor(envParser, fn) {
|
|
20
22
|
this.envParser = envParser;
|
|
21
23
|
this.fn = fn;
|
|
@@ -25,25 +27,22 @@ var FunctionExecutionWrapper = class {
|
|
|
25
27
|
return this._logger || this.fn.logger;
|
|
26
28
|
}
|
|
27
29
|
get serviceDiscovery() {
|
|
28
|
-
|
|
29
|
-
return serviceDiscovery;
|
|
30
|
+
return ServiceDiscovery.getInstance(this.envParser);
|
|
30
31
|
}
|
|
31
32
|
getServices() {
|
|
32
33
|
return this.serviceDiscovery.register(this.fn.services);
|
|
33
34
|
}
|
|
34
35
|
async getDatabase() {
|
|
35
|
-
if (!this.fn.databaseService) return
|
|
36
|
-
|
|
37
|
-
return services[this.fn.databaseService.serviceName];
|
|
36
|
+
if (!this.fn.databaseService) return;
|
|
37
|
+
return (await this.serviceDiscovery.register([this.fn.databaseService]))[this.fn.databaseService.serviceName];
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
40
|
* Get the audit storage service if configured.
|
|
41
41
|
* Returns undefined if no auditor storage is configured.
|
|
42
42
|
*/
|
|
43
43
|
async getAuditStorage() {
|
|
44
|
-
if (!this.fn.auditorStorageService) return
|
|
45
|
-
|
|
46
|
-
return services[this.fn.auditorStorageService.serviceName];
|
|
44
|
+
if (!this.fn.auditorStorageService) return;
|
|
45
|
+
return (await this.serviceDiscovery.register([this.fn.auditorStorageService]))[this.fn.auditorStorageService.serviceName];
|
|
47
46
|
}
|
|
48
47
|
/**
|
|
49
48
|
* Create an auditor instance for the function.
|
|
@@ -51,7 +50,7 @@ var FunctionExecutionWrapper = class {
|
|
|
51
50
|
*/
|
|
52
51
|
async createAuditor() {
|
|
53
52
|
const storage = await this.getAuditStorage();
|
|
54
|
-
if (!storage) return
|
|
53
|
+
if (!storage) return;
|
|
55
54
|
return new DefaultAuditor({
|
|
56
55
|
actor: {
|
|
57
56
|
id: "system",
|
|
@@ -72,51 +71,44 @@ var FunctionExecutionWrapper = class {
|
|
|
72
71
|
async executeWithAudit(handler) {
|
|
73
72
|
const auditor = await this.createAuditor();
|
|
74
73
|
const storage = await this.getAuditStorage();
|
|
75
|
-
if (!auditor || !storage) {
|
|
76
|
-
const db$1 = await this.getDatabase();
|
|
77
|
-
return handler({ db: db$1 });
|
|
78
|
-
}
|
|
74
|
+
if (!auditor || !storage) return handler({ db: await this.getDatabase() });
|
|
79
75
|
const storageDb = storage.getDatabase?.();
|
|
80
76
|
const databaseServiceName = this.fn.databaseService?.serviceName;
|
|
81
77
|
const auditDbServiceName = this.fn.auditorStorageService?.serviceName;
|
|
82
78
|
if (storageDb && databaseServiceName && auditDbServiceName) return withAuditableTransaction(storageDb, auditor, async (trx) => {
|
|
83
|
-
|
|
79
|
+
return await handler({
|
|
84
80
|
auditor,
|
|
85
81
|
db: trx
|
|
86
82
|
});
|
|
87
|
-
return response$1;
|
|
88
83
|
});
|
|
89
|
-
const db = await this.getDatabase();
|
|
90
84
|
const response = await handler({
|
|
91
85
|
auditor,
|
|
92
|
-
db
|
|
86
|
+
db: await this.getDatabase()
|
|
93
87
|
});
|
|
94
88
|
await auditor.flush();
|
|
95
89
|
return response;
|
|
96
90
|
}
|
|
97
91
|
async getFunctionInput(event) {
|
|
98
|
-
|
|
99
|
-
return parsedInput;
|
|
92
|
+
return await FunctionBuilder.parseComposableStandardSchema(event, this.fn.input);
|
|
100
93
|
}
|
|
101
94
|
async publishEvents(response) {
|
|
102
|
-
await publishEvents(this.logger, this.serviceDiscovery, this.fn.events, response
|
|
95
|
+
await publishEvents(this.logger, this.serviceDiscovery, this.fn.events, response);
|
|
103
96
|
}
|
|
104
97
|
async parseComposableStandardSchema(data, schema) {
|
|
105
98
|
return FunctionBuilder.parseComposableStandardSchema(data, schema);
|
|
106
99
|
}
|
|
107
100
|
};
|
|
108
|
-
|
|
109
101
|
//#endregion
|
|
110
102
|
//#region src/functions/AWSLambdaFunction.ts
|
|
111
103
|
var AWSLambdaFunction = class extends FunctionExecutionWrapper {
|
|
104
|
+
fn;
|
|
112
105
|
constructor(envParser, fn) {
|
|
113
106
|
super(envParser, fn);
|
|
114
107
|
this.fn = fn;
|
|
115
108
|
}
|
|
116
109
|
error() {
|
|
117
110
|
return { onError: (req) => {
|
|
118
|
-
|
|
119
|
-
logger.error(req.error || {}, "Error processing function");
|
|
111
|
+
(req.event?.logger || this.fn.logger).error(req.error || {}, "Error processing function");
|
|
120
112
|
throw wrapError(req.error);
|
|
121
113
|
} };
|
|
122
114
|
}
|
|
@@ -132,7 +124,7 @@ var AWSLambdaFunction = class extends FunctionExecutionWrapper {
|
|
|
132
124
|
} else req.event.parsedInput = req.event;
|
|
133
125
|
} catch (error) {
|
|
134
126
|
this.logger.error({
|
|
135
|
-
error,
|
|
127
|
+
err: error,
|
|
136
128
|
event: req.event
|
|
137
129
|
}, "Failed to parse input");
|
|
138
130
|
throw error;
|
|
@@ -192,8 +184,7 @@ var AWSLambdaFunction = class extends FunctionExecutionWrapper {
|
|
|
192
184
|
db: event.db,
|
|
193
185
|
auditor: event.auditor
|
|
194
186
|
});
|
|
195
|
-
|
|
196
|
-
return output;
|
|
187
|
+
return await this.fn.parseOutput(result);
|
|
197
188
|
}
|
|
198
189
|
get handler() {
|
|
199
190
|
const handler = this._handler.bind(this);
|
|
@@ -205,13 +196,13 @@ var AWSLambdaFunction = class extends FunctionExecutionWrapper {
|
|
|
205
196
|
return runWithRequestContext({
|
|
206
197
|
logger,
|
|
207
198
|
requestId,
|
|
208
|
-
startTime
|
|
199
|
+
startTime,
|
|
200
|
+
operation: context.functionName
|
|
209
201
|
}, () => chain(event, context));
|
|
210
202
|
};
|
|
211
203
|
return wrappedHandler;
|
|
212
204
|
}
|
|
213
205
|
};
|
|
214
|
-
|
|
215
206
|
//#endregion
|
|
216
207
|
//#region src/crons/AWSScheduledFunction.ts
|
|
217
208
|
/**
|
|
@@ -245,11 +236,11 @@ var AWSScheduledFunction = class extends AWSLambdaFunction {
|
|
|
245
236
|
super(envParser, cron);
|
|
246
237
|
}
|
|
247
238
|
};
|
|
248
|
-
|
|
249
239
|
//#endregion
|
|
250
240
|
//#region src/endpoints/AmazonApiGatewayEndpointAdaptor.ts
|
|
251
|
-
var
|
|
241
|
+
var import_lodash_set = /* @__PURE__ */ __toESM(require_lodash_set(), 1);
|
|
252
242
|
var AmazonApiGatewayEndpoint = class {
|
|
243
|
+
endpoint;
|
|
253
244
|
options;
|
|
254
245
|
/**
|
|
255
246
|
* The parser this adaptor discovers services with.
|
|
@@ -287,8 +278,7 @@ var AmazonApiGatewayEndpoint = class {
|
|
|
287
278
|
static decodeBody(body, isBase64Encoded, contentType) {
|
|
288
279
|
if (!body) return void 0;
|
|
289
280
|
const raw = isBase64Encoded ? Buffer.from(body, "base64").toString("utf-8") : body;
|
|
290
|
-
|
|
291
|
-
if (isJson) return JSON.parse(raw);
|
|
281
|
+
if (!contentType || contentType.toLowerCase().includes("application/json")) return JSON.parse(raw);
|
|
292
282
|
return raw;
|
|
293
283
|
}
|
|
294
284
|
getCookies(e) {
|
|
@@ -302,11 +292,11 @@ var AmazonApiGatewayEndpoint = class {
|
|
|
302
292
|
const headers = req.event.headers;
|
|
303
293
|
const header = Endpoint.createHeaders(headers);
|
|
304
294
|
const cookie = this.getCookies(req.event);
|
|
305
|
-
(0,
|
|
306
|
-
(0,
|
|
307
|
-
(0,
|
|
308
|
-
(0,
|
|
309
|
-
(0,
|
|
295
|
+
(0, import_lodash_set.default)(req.event, "body", await this.endpoint.parseInput(body, "body"));
|
|
296
|
+
(0, import_lodash_set.default)(req.event, "query", await this.endpoint.parseInput(query, "query"));
|
|
297
|
+
(0, import_lodash_set.default)(req.event, "params", await this.endpoint.parseInput(params, "params"));
|
|
298
|
+
(0, import_lodash_set.default)(req.event, "header", header);
|
|
299
|
+
(0, import_lodash_set.default)(req.event, "cookie", cookie);
|
|
310
300
|
} catch (error) {
|
|
311
301
|
if (error && typeof error === "object" && Array.isArray(error)) throw new UnprocessableEntityError("Validation failed", error);
|
|
312
302
|
throw error;
|
|
@@ -325,9 +315,8 @@ var AmazonApiGatewayEndpoint = class {
|
|
|
325
315
|
}
|
|
326
316
|
services() {
|
|
327
317
|
return { before: async (req) => {
|
|
328
|
-
|
|
329
|
-
const
|
|
330
|
-
const services = await serviceDiscovery.register(this.endpoint.services);
|
|
318
|
+
req.event.logger;
|
|
319
|
+
const services = await ServiceDiscovery.getInstance(this.envParser).register(this.endpoint.services);
|
|
331
320
|
req.event.services = services;
|
|
332
321
|
} };
|
|
333
322
|
}
|
|
@@ -338,7 +327,7 @@ var AmazonApiGatewayEndpoint = class {
|
|
|
338
327
|
const header = req.event.header;
|
|
339
328
|
const cookie = req.event.cookie;
|
|
340
329
|
const session = req.event.session;
|
|
341
|
-
|
|
330
|
+
if (!await this.endpoint.authorize({
|
|
342
331
|
header,
|
|
343
332
|
cookie,
|
|
344
333
|
services,
|
|
@@ -348,8 +337,7 @@ var AmazonApiGatewayEndpoint = class {
|
|
|
348
337
|
body: req.event.body,
|
|
349
338
|
query: req.event.query,
|
|
350
339
|
params: req.event.params
|
|
351
|
-
})
|
|
352
|
-
if (!isAuthorized) {
|
|
340
|
+
})) {
|
|
353
341
|
logger.warn("Forbidden access attempt");
|
|
354
342
|
throw new ForbiddenError("Forbidden access to the endpoint", "You do not have permission to access this resource.");
|
|
355
343
|
}
|
|
@@ -358,9 +346,8 @@ var AmazonApiGatewayEndpoint = class {
|
|
|
358
346
|
database() {
|
|
359
347
|
return { before: async (req) => {
|
|
360
348
|
if (!this.endpoint.databaseService) return;
|
|
361
|
-
|
|
362
|
-
const
|
|
363
|
-
const db = await serviceDiscovery.register([this.endpoint.databaseService]).then((s) => s[this.endpoint.databaseService?.serviceName]);
|
|
349
|
+
req.event.logger;
|
|
350
|
+
const db = await ServiceDiscovery.getInstance(this.envParser).register([this.endpoint.databaseService]).then((s) => s[this.endpoint.databaseService?.serviceName]);
|
|
364
351
|
req.event.db = db;
|
|
365
352
|
} };
|
|
366
353
|
}
|
|
@@ -411,9 +398,8 @@ var AmazonApiGatewayEndpoint = class {
|
|
|
411
398
|
cookie: event.cookie,
|
|
412
399
|
logger
|
|
413
400
|
}) : void 0;
|
|
414
|
-
const
|
|
415
|
-
const
|
|
416
|
-
const baseDb = sameDatabase ? auditor?.getTransaction?.() ?? rawDb : rawDb;
|
|
401
|
+
const { output, metadata } = await executeWithAuditTransaction(auditContext, async (auditor) => {
|
|
402
|
+
const baseDb = auditContext?.storage?.databaseServiceName && auditContext.storage.databaseServiceName === this.endpoint.databaseService?.serviceName ? auditor?.getTransaction?.() ?? rawDb : rawDb;
|
|
417
403
|
const executeHandler = async (db) => {
|
|
418
404
|
const responseBuilder = new ResponseBuilder();
|
|
419
405
|
const response = await this.endpoint.handler({
|
|
@@ -427,33 +413,31 @@ var AmazonApiGatewayEndpoint = class {
|
|
|
427
413
|
...input
|
|
428
414
|
}, responseBuilder);
|
|
429
415
|
let data = response;
|
|
430
|
-
let metadata
|
|
416
|
+
let metadata = responseBuilder.getMetadata();
|
|
431
417
|
if (Endpoint.hasMetadata(response)) {
|
|
432
418
|
data = response.data;
|
|
433
|
-
metadata
|
|
419
|
+
metadata = response.metadata;
|
|
434
420
|
}
|
|
435
|
-
const output$1 = this.endpoint.outputSchema ? await this.endpoint.parseOutput(data) : void 0;
|
|
436
421
|
return {
|
|
437
|
-
output:
|
|
438
|
-
metadata
|
|
422
|
+
output: this.endpoint.outputSchema ? await this.endpoint.parseOutput(data) : void 0,
|
|
423
|
+
metadata,
|
|
439
424
|
responseBuilder
|
|
440
425
|
};
|
|
441
426
|
};
|
|
442
427
|
if (rlsActive && rlsContext && baseDb) return withRlsContext(baseDb, rlsContext, async (trx) => executeHandler(trx), { prefix: this.endpoint.rlsConfig?.prefix });
|
|
443
428
|
return executeHandler(baseDb);
|
|
444
|
-
}, async (result
|
|
429
|
+
}, async (result, auditor) => {
|
|
445
430
|
if (!audits?.length) return;
|
|
446
431
|
for (const audit of audits) {
|
|
447
|
-
if (audit.when && !audit.when(result
|
|
448
|
-
const payload = audit.payload(result
|
|
449
|
-
const entityId = audit.entityId?.(result
|
|
432
|
+
if (audit.when && !audit.when(result.output)) continue;
|
|
433
|
+
const payload = audit.payload(result.output);
|
|
434
|
+
const entityId = audit.entityId?.(result.output);
|
|
450
435
|
auditor.audit(audit.type, payload, {
|
|
451
436
|
table: audit.table,
|
|
452
437
|
entityId
|
|
453
438
|
});
|
|
454
439
|
}
|
|
455
440
|
}, { db: rawDb });
|
|
456
|
-
const { output, metadata } = result;
|
|
457
441
|
const isJsonResponse = this.endpoint.responseType === "application/json";
|
|
458
442
|
const body = output === void 0 ? void 0 : isJsonResponse ? JSON.stringify(output) : typeof output === "string" ? output : String(output);
|
|
459
443
|
event.__response = output;
|
|
@@ -512,16 +496,17 @@ var AmazonApiGatewayEndpoint = class {
|
|
|
512
496
|
const startTime = Date.now();
|
|
513
497
|
const requestId = context.awsRequestId;
|
|
514
498
|
const logger = this.endpoint.logger.child({ requestId });
|
|
499
|
+
const operation = `${this.endpoint.method} ${this.endpoint.route}`;
|
|
515
500
|
return runWithRequestContext({
|
|
516
501
|
logger,
|
|
517
502
|
requestId,
|
|
518
|
-
startTime
|
|
503
|
+
startTime,
|
|
504
|
+
operation
|
|
519
505
|
}, () => chain(event, context));
|
|
520
506
|
};
|
|
521
507
|
return wrappedHandler;
|
|
522
508
|
}
|
|
523
509
|
};
|
|
524
|
-
|
|
525
510
|
//#endregion
|
|
526
511
|
//#region src/endpoints/parseQueryParams.ts
|
|
527
512
|
/**
|
|
@@ -542,10 +527,10 @@ function parseQueryParams(queryParams) {
|
|
|
542
527
|
}
|
|
543
528
|
return qs.parse(parts.join("&"));
|
|
544
529
|
}
|
|
545
|
-
|
|
546
530
|
//#endregion
|
|
547
531
|
//#region src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts
|
|
548
532
|
var AmazonApiGatewayV1Endpoint = class extends AmazonApiGatewayEndpoint {
|
|
533
|
+
endpoint;
|
|
549
534
|
getInput(e) {
|
|
550
535
|
const multiValueParams = e.multiValueQueryStringParameters || {};
|
|
551
536
|
const singleValueParams = e.queryStringParameters || {};
|
|
@@ -578,17 +563,16 @@ var AmazonApiGatewayV1Endpoint = class extends AmazonApiGatewayEndpoint {
|
|
|
578
563
|
this.endpoint = endpoint;
|
|
579
564
|
}
|
|
580
565
|
};
|
|
581
|
-
|
|
582
566
|
//#endregion
|
|
583
567
|
//#region src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts
|
|
584
568
|
var AmazonApiGatewayV2Endpoint = class extends AmazonApiGatewayEndpoint {
|
|
569
|
+
endpoint;
|
|
585
570
|
getCookies(e) {
|
|
586
571
|
return createApiGatewayCookies(e.cookies, e.headers?.cookie);
|
|
587
572
|
}
|
|
588
573
|
getInput(e) {
|
|
589
|
-
const raw = AmazonApiGatewayEndpoint.decodeBody(e.body, e.isBase64Encoded, e.headers?.["content-type"]);
|
|
590
574
|
return {
|
|
591
|
-
body:
|
|
575
|
+
body: AmazonApiGatewayEndpoint.decodeBody(e.body, e.isBase64Encoded, e.headers?.["content-type"]),
|
|
592
576
|
query: qs.parse(e.rawQueryString),
|
|
593
577
|
params: e.pathParameters || {}
|
|
594
578
|
};
|
|
@@ -613,7 +597,6 @@ var AmazonApiGatewayV2Endpoint = class extends AmazonApiGatewayEndpoint {
|
|
|
613
597
|
this.endpoint = endpoint;
|
|
614
598
|
}
|
|
615
599
|
};
|
|
616
|
-
|
|
617
600
|
//#endregion
|
|
618
601
|
//#region src/queue/AWSLambdaQueueAdaptor.ts
|
|
619
602
|
/**
|
|
@@ -628,6 +611,8 @@ var AmazonApiGatewayV2Endpoint = class extends AmazonApiGatewayEndpoint {
|
|
|
628
611
|
* retries only those records.
|
|
629
612
|
*/
|
|
630
613
|
var AWSLambdaQueue = class {
|
|
614
|
+
envParser;
|
|
615
|
+
queue;
|
|
631
616
|
_services;
|
|
632
617
|
constructor(envParser, queue) {
|
|
633
618
|
this.envParser = envParser;
|
|
@@ -642,6 +627,12 @@ var AWSLambdaQueue = class {
|
|
|
642
627
|
this._services = this.queue.services.length > 0 ? await serviceDiscovery.register(this.queue.services) : {};
|
|
643
628
|
return this._services;
|
|
644
629
|
}
|
|
630
|
+
/** The queue's database, registered as functions register theirs. */
|
|
631
|
+
async getDatabase() {
|
|
632
|
+
const service = this.queue.databaseService;
|
|
633
|
+
if (!service) return void 0;
|
|
634
|
+
return (await ServiceDiscovery.getInstance(this.envParser).register([service]))[service.serviceName];
|
|
635
|
+
}
|
|
645
636
|
safeJsonParse(value) {
|
|
646
637
|
try {
|
|
647
638
|
return JSON.parse(value);
|
|
@@ -667,6 +658,7 @@ var AWSLambdaQueue = class {
|
|
|
667
658
|
req: { id: context.awsRequestId }
|
|
668
659
|
});
|
|
669
660
|
const services = await this.getServices();
|
|
661
|
+
const db = await this.getDatabase();
|
|
670
662
|
const schema = this.queue.messageSchema;
|
|
671
663
|
const batchItemFailures = [];
|
|
672
664
|
const messages = [];
|
|
@@ -684,7 +676,7 @@ var AWSLambdaQueue = class {
|
|
|
684
676
|
messages.push(validation.value);
|
|
685
677
|
} catch (error) {
|
|
686
678
|
logger.error({
|
|
687
|
-
error,
|
|
679
|
+
err: error,
|
|
688
680
|
messageId: record.messageId
|
|
689
681
|
}, "Failed to parse SQS record");
|
|
690
682
|
batchItemFailures.push({ itemIdentifier: record.messageId });
|
|
@@ -694,7 +686,8 @@ var AWSLambdaQueue = class {
|
|
|
694
686
|
await this.queue.handler({
|
|
695
687
|
messages,
|
|
696
688
|
services,
|
|
697
|
-
logger
|
|
689
|
+
logger,
|
|
690
|
+
db
|
|
698
691
|
});
|
|
699
692
|
} catch (error) {
|
|
700
693
|
logger.error(wrapError(error), "Queue handler failed; retrying batch");
|
|
@@ -704,24 +697,28 @@ var AWSLambdaQueue = class {
|
|
|
704
697
|
}
|
|
705
698
|
get handler() {
|
|
706
699
|
const handler = this._handler.bind(this);
|
|
707
|
-
return async (event, context) => {
|
|
700
|
+
return (async (event, context) => {
|
|
708
701
|
const startTime = Date.now();
|
|
709
702
|
const requestId = context.awsRequestId;
|
|
710
703
|
const logger = this.queue.logger.child({ requestId });
|
|
711
704
|
return runWithRequestContext({
|
|
712
705
|
logger,
|
|
713
706
|
requestId,
|
|
714
|
-
startTime
|
|
715
|
-
|
|
716
|
-
|
|
707
|
+
startTime,
|
|
708
|
+
operation: `queue ${this.queue.name}`
|
|
709
|
+
}, () => consumeBatchTraced({
|
|
710
|
+
system: "aws_sqs",
|
|
711
|
+
destination: this.queue.name
|
|
712
|
+
}, event.Records.map(recordCarrier), () => handler(event, context)));
|
|
713
|
+
});
|
|
717
714
|
}
|
|
718
715
|
};
|
|
719
|
-
|
|
720
716
|
//#endregion
|
|
721
717
|
//#region src/subscribers/AWSLambdaSubscriberAdaptor.ts
|
|
722
718
|
var AWSLambdaSubscriber = class {
|
|
719
|
+
envParser;
|
|
720
|
+
subscriber;
|
|
723
721
|
_logger;
|
|
724
|
-
_services;
|
|
725
722
|
constructor(envParser, subscriber) {
|
|
726
723
|
this.envParser = envParser;
|
|
727
724
|
this.subscriber = subscriber;
|
|
@@ -730,19 +727,9 @@ var AWSLambdaSubscriber = class {
|
|
|
730
727
|
get logger() {
|
|
731
728
|
return this._logger;
|
|
732
729
|
}
|
|
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
730
|
error() {
|
|
743
731
|
return { onError: (req) => {
|
|
744
|
-
|
|
745
|
-
logger.error(req.error || {}, "Error processing subscriber");
|
|
732
|
+
(req.event?.logger || this.subscriber.logger).error(req.error || {}, "Error processing subscriber");
|
|
746
733
|
throw wrapError(req.error);
|
|
747
734
|
} };
|
|
748
735
|
}
|
|
@@ -761,110 +748,26 @@ var AWSLambdaSubscriber = class {
|
|
|
761
748
|
}
|
|
762
749
|
services() {
|
|
763
750
|
return { before: async (req) => {
|
|
764
|
-
|
|
751
|
+
const { services, db } = await subscriberContext(this.subscriber, this.envParser);
|
|
752
|
+
req.event.services = services;
|
|
753
|
+
req.event.db = db;
|
|
765
754
|
} };
|
|
766
755
|
}
|
|
767
756
|
parseEvents() {
|
|
768
757
|
return { before: async (req) => {
|
|
769
|
-
const { logger
|
|
770
|
-
const rawEvent = e;
|
|
758
|
+
const { logger, ...rawEvent } = req.event;
|
|
771
759
|
logger.info({ rawEvent });
|
|
772
|
-
|
|
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;
|
|
760
|
+
req.event.events = subscribedEvents(this.subscriber, rawEvent, this.logger);
|
|
794
761
|
} };
|
|
795
762
|
}
|
|
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
763
|
async _handler(event) {
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
services: event.services,
|
|
857
|
-
logger: event.logger
|
|
764
|
+
const { events, services, logger, db } = event;
|
|
765
|
+
return runSubscriber(this.subscriber, {
|
|
766
|
+
events,
|
|
767
|
+
services,
|
|
768
|
+
logger,
|
|
769
|
+
db
|
|
858
770
|
});
|
|
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
771
|
}
|
|
869
772
|
get handler() {
|
|
870
773
|
const handler = this._handler.bind(this);
|
|
@@ -873,16 +776,22 @@ var AWSLambdaSubscriber = class {
|
|
|
873
776
|
const startTime = Date.now();
|
|
874
777
|
const requestId = context.awsRequestId;
|
|
875
778
|
const logger = this.subscriber.logger.child({ requestId });
|
|
779
|
+
const operation = `subscriber ${this.subscriber.topicName ?? context.functionName}`;
|
|
780
|
+
const records = event?.Records ?? [];
|
|
876
781
|
return runWithRequestContext({
|
|
877
782
|
logger,
|
|
878
783
|
requestId,
|
|
879
|
-
startTime
|
|
880
|
-
|
|
784
|
+
startTime,
|
|
785
|
+
operation
|
|
786
|
+
}, () => consumeBatchTraced({
|
|
787
|
+
system: records[0]?.Sns ? "aws_sns" : "aws_sqs",
|
|
788
|
+
destination: this.subscriber.topicName ?? context.functionName
|
|
789
|
+
}, records.map(recordCarrier), () => chain(event, context)));
|
|
881
790
|
};
|
|
882
791
|
return wrappedHandler;
|
|
883
792
|
}
|
|
884
793
|
};
|
|
885
|
-
|
|
886
794
|
//#endregion
|
|
887
795
|
export { AWSLambdaFunction, AWSLambdaQueue, AWSLambdaSubscriber, AWSScheduledFunction, AmazonApiGatewayV1Endpoint, AmazonApiGatewayV2Endpoint };
|
|
796
|
+
|
|
888
797
|
//# sourceMappingURL=aws.mjs.map
|