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