@geekmidas/constructs 10.0.0-alpha.2 → 10.0.0-alpha.21
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 +46 -3
- package/dist/{Construct-Ct8nalEi.d.mts → Construct-DTqYvkPG.d.cts} +11 -13
- package/dist/Construct-DTqYvkPG.d.cts.map +1 -0
- package/dist/{Construct-BD5neF7w.mjs → Construct-Detz65RA.mjs} +31 -29
- package/dist/Construct-Detz65RA.mjs.map +1 -0
- package/dist/{Construct-C0ijr2qp.d.cts → Construct-pVadmURD.d.mts} +10 -12
- package/dist/Construct-pVadmURD.d.mts.map +1 -0
- package/dist/{Construct-CyS3RpTL.cjs → Construct-yG9Sw-5p.cjs} +51 -43
- package/dist/Construct-yG9Sw-5p.cjs.map +1 -0
- package/dist/{Cron-ByxdOfpE.d.mts → Cron-AYpQq725.d.mts} +13 -6
- package/dist/Cron-AYpQq725.d.mts.map +1 -0
- package/dist/{Cron-Wqh464aO.d.cts → Cron-Bdcg9OAL.d.cts} +12 -5
- package/dist/Cron-Bdcg9OAL.d.cts.map +1 -0
- package/dist/{CronBuilder-BL0AP6fs.d.mts → CronBuilder-DR21m9h2.d.cts} +7 -10
- package/dist/CronBuilder-DR21m9h2.d.cts.map +1 -0
- package/dist/{CronBuilder-BqpEzMPQ.d.cts → CronBuilder-DeBnPVIT.d.mts} +7 -10
- package/dist/CronBuilder-DeBnPVIT.d.mts.map +1 -0
- package/dist/{CronBuilder-BmABazzH.mjs → CronBuilder-vkjuo1UP.mjs} +23 -15
- package/dist/CronBuilder-vkjuo1UP.mjs.map +1 -0
- package/dist/{CronBuilder-CkXPJiGO.cjs → CronBuilder-zdTdaT-e.cjs} +33 -25
- package/dist/CronBuilder-zdTdaT-e.cjs.map +1 -0
- package/dist/{Endpoint-2Wg7T7Cq.d.mts → Endpoint-BxkRWQ8G.d.mts} +63 -84
- package/dist/Endpoint-BxkRWQ8G.d.mts.map +1 -0
- package/dist/{Endpoint-BiaaMEn_.cjs → Endpoint-CtiPUpRX.cjs} +145 -131
- package/dist/Endpoint-CtiPUpRX.cjs.map +1 -0
- package/dist/{Endpoint-VIOpSo0S.mjs → Endpoint-DCr5tlbJ.mjs} +117 -109
- package/dist/Endpoint-DCr5tlbJ.mjs.map +1 -0
- package/dist/{Endpoint-CH9Fn1AD.d.cts → Endpoint-DbYQJgb-.d.cts} +61 -82
- package/dist/Endpoint-DbYQJgb-.d.cts.map +1 -0
- package/dist/{EndpointFactory-DTTCkGEL.mjs → EndpointFactory-Bs8pu-yY.mjs} +20 -29
- package/dist/EndpointFactory-Bs8pu-yY.mjs.map +1 -0
- package/dist/{index-BxHDdy6a.d.mts → EndpointFactory-DE6nKtFZ.d.cts} +12 -92
- package/dist/EndpointFactory-DE6nKtFZ.d.cts.map +1 -0
- package/dist/{index-V2nksZIJ.d.cts → EndpointFactory-T06kTFHg.d.mts} +12 -92
- package/dist/EndpointFactory-T06kTFHg.d.mts.map +1 -0
- package/dist/{EndpointFactory-ChxLZllA.cjs → EndpointFactory-vE2C1NG1.cjs} +57 -66
- package/dist/EndpointFactory-vE2C1NG1.cjs.map +1 -0
- package/dist/{HonoEndpointAdaptor-NKQQQbBY.mjs → HonoEndpointAdaptor-Be6UdK0r.mjs} +40 -47
- package/dist/{HonoEndpointAdaptor-D233Jvpk.cjs.map → HonoEndpointAdaptor-Be6UdK0r.mjs.map} +1 -1
- package/dist/{HonoEndpointAdaptor-D233Jvpk.cjs → HonoEndpointAdaptor-C9aivwKl.cjs} +48 -52
- package/dist/HonoEndpointAdaptor-C9aivwKl.cjs.map +1 -0
- package/dist/{Queue-D7ZuwBhy.d.cts → Queue-Bhzi2WQC.d.cts} +8 -9
- package/dist/Queue-Bhzi2WQC.d.cts.map +1 -0
- package/dist/{Queue-gVGfi2Yk.d.mts → Queue-BoUA-e83.d.mts} +9 -10
- package/dist/Queue-BoUA-e83.d.mts.map +1 -0
- package/dist/{Subscriber-2mEi0ImH.d.cts → Subscriber-CIO3pwji.d.mts} +7 -8
- package/dist/Subscriber-CIO3pwji.d.mts.map +1 -0
- package/dist/{Subscriber-xTJ9ayPN.d.mts → Subscriber-DQCaiOXF.d.cts} +7 -8
- package/dist/Subscriber-DQCaiOXF.d.cts.map +1 -0
- package/dist/{SubscriberBuilder-BjkbeT9l.mjs → SubscriberBuilder-B4YRTBng.mjs} +16 -10
- package/dist/SubscriberBuilder-B4YRTBng.mjs.map +1 -0
- package/dist/{SubscriberBuilder-4OPehf2R.cjs → SubscriberBuilder-C2bCOuPT.cjs} +28 -23
- package/dist/SubscriberBuilder-C2bCOuPT.cjs.map +1 -0
- package/dist/{SubscriberBuilder-Dptmo-1A.d.mts → SubscriberBuilder-ChX5v948.d.cts} +8 -11
- package/dist/SubscriberBuilder-ChX5v948.d.cts.map +1 -0
- package/dist/{SubscriberBuilder-waNhzjSM.d.cts → SubscriberBuilder-Dbiaskfi.d.mts} +8 -11
- package/dist/SubscriberBuilder-Dbiaskfi.d.mts.map +1 -0
- package/dist/{Topic-19QeHBIR.d.cts → Topic-D6blllEn.d.cts} +5 -7
- package/dist/Topic-D6blllEn.d.cts.map +1 -0
- package/dist/{Topic-DuFeqkBh.d.mts → Topic-DVvheJ_-.d.mts} +6 -8
- package/dist/Topic-DVvheJ_-.d.mts.map +1 -0
- package/dist/adaptors/aws.cjs +87 -106
- package/dist/adaptors/aws.cjs.map +1 -1
- package/dist/adaptors/aws.d.cts +14 -27
- package/dist/adaptors/aws.d.cts.map +1 -1
- package/dist/adaptors/aws.d.mts +16 -29
- package/dist/adaptors/aws.d.mts.map +1 -1
- package/dist/adaptors/aws.mjs +60 -81
- package/dist/adaptors/aws.mjs.map +1 -1
- package/dist/adaptors/hono.cjs +3 -10
- package/dist/adaptors/hono.d.cts +5 -13
- package/dist/adaptors/hono.d.cts.map +1 -1
- package/dist/adaptors/hono.d.mts +7 -15
- package/dist/adaptors/hono.d.mts.map +1 -1
- package/dist/adaptors/hono.mjs +2 -10
- package/dist/adaptors/testing.cjs +271 -82
- package/dist/adaptors/testing.cjs.map +1 -1
- package/dist/adaptors/testing.d.cts +62 -33
- package/dist/adaptors/testing.d.cts.map +1 -1
- package/dist/adaptors/testing.d.mts +63 -34
- package/dist/adaptors/testing.d.mts.map +1 -1
- package/dist/adaptors/testing.mjs +249 -63
- package/dist/adaptors/testing.mjs.map +1 -1
- package/dist/auth-BlO8MUkR.d.cts +123 -0
- package/dist/auth-BlO8MUkR.d.cts.map +1 -0
- package/dist/auth-CHWIdcQO.d.mts +123 -0
- package/dist/auth-CHWIdcQO.d.mts.map +1 -0
- package/dist/auth.cjs +41 -16
- 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 +32 -8
- package/dist/auth.mjs.map +1 -1
- package/dist/{cache-BrRz3fEB.d.mts → cache-AgQUMma6.d.mts} +3 -6
- package/dist/cache-AgQUMma6.d.mts.map +1 -0
- package/dist/{cache-BtZY_tHe.d.cts → cache-obq0fOIM.d.cts} +3 -6
- package/dist/cache-obq0fOIM.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/{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-Clz7_BwB.d.mts} +15 -6
- package/dist/construct-interface-Clz7_BwB.d.mts.map +1 -0
- package/dist/{construct-interface-D9d4Gm4p.d.cts → construct-interface-DIaTNKax.d.cts} +15 -6
- package/dist/construct-interface-DIaTNKax.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 +43 -9
- package/dist/credential.cjs.map +1 -1
- package/dist/credential.d.cts +5 -8
- package/dist/credential.d.cts.map +1 -1
- package/dist/credential.d.mts +5 -8
- package/dist/credential.d.mts.map +1 -1
- package/dist/credential.mjs +36 -2
- 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 +28 -14
- 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 +16 -4
- 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 +7 -10
- package/dist/endpoints/index.d.cts +60 -7
- package/dist/endpoints/index.d.cts.map +1 -0
- package/dist/endpoints/index.d.mts +60 -7
- package/dist/endpoints/index.d.mts.map +1 -0
- package/dist/endpoints/index.mjs +5 -10
- 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-Bd3TPxid.cjs → functions-VnOTEp74.cjs} +309 -264
- package/dist/functions-VnOTEp74.cjs.map +1 -0
- package/dist/{functions-Cxbo-pEd.mjs → functions-faoJOUmr.mjs} +282 -234
- package/dist/functions-faoJOUmr.mjs.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-JSf9xNIJ.d.cts → index-DU3Twmwh.d.mts} +19 -24
- package/dist/index-DU3Twmwh.d.mts.map +1 -0
- package/dist/index-fnpjXiA-.d.mts +26 -0
- package/dist/index-fnpjXiA-.d.mts.map +1 -0
- package/dist/{index-CubPzHd9.d.mts → index-nBQT1tAh.d.cts} +19 -24
- package/dist/index-nBQT1tAh.d.cts.map +1 -0
- package/dist/index-tE_119SX.d.cts +26 -0
- package/dist/index-tE_119SX.d.cts.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-CXi49zc2.d.cts +150 -0
- package/dist/kysely-CXi49zc2.d.cts.map +1 -0
- package/dist/kysely-D3-G5b0j.d.mts +150 -0
- package/dist/kysely-D3-G5b0j.d.mts.map +1 -0
- package/dist/{lazyAccessors-BoJN3SMd.mjs → lazyAccessors-BHtcqgz2.mjs} +22 -25
- package/dist/lazyAccessors-BHtcqgz2.mjs.map +1 -0
- package/dist/{lazyAccessors-e3j2oE2m.cjs → lazyAccessors-Dx9NLwJZ.cjs} +72 -76
- package/dist/lazyAccessors-Dx9NLwJZ.cjs.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 +25 -21
- package/dist/queue/index.cjs.map +1 -1
- package/dist/queue/index.d.cts +8 -15
- package/dist/queue/index.d.cts.map +1 -1
- package/dist/queue/index.d.mts +8 -15
- package/dist/queue/index.d.mts.map +1 -1
- package/dist/queue/index.mjs +15 -11
- package/dist/queue/index.mjs.map +1 -1
- package/dist/rest-api.cjs +88 -62
- package/dist/rest-api.cjs.map +1 -1
- package/dist/rest-api.d.cts +62 -60
- package/dist/rest-api.d.cts.map +1 -1
- package/dist/rest-api.d.mts +62 -60
- package/dist/rest-api.d.mts.map +1 -1
- package/dist/rest-api.mjs +80 -54
- 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 +18 -20
- package/dist/topic/index.cjs.map +1 -1
- package/dist/topic/index.d.cts +3 -32
- package/dist/topic/index.d.mts +3 -32
- package/dist/topic/index.mjs +8 -10
- package/dist/topic/index.mjs.map +1 -1
- 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 +109 -35
- package/dist/worker.cjs.map +1 -1
- package/dist/worker.d.cts +87 -42
- package/dist/worker.d.cts.map +1 -1
- package/dist/worker.d.mts +87 -42
- package/dist/worker.d.mts.map +1 -1
- package/dist/worker.mjs +104 -30
- package/dist/worker.mjs.map +1 -1
- package/package.json +59 -55
- package/dist/Construct-BD5neF7w.mjs.map +0 -1
- package/dist/Construct-C0ijr2qp.d.cts.map +0 -1
- package/dist/Construct-Ct8nalEi.d.mts.map +0 -1
- package/dist/Construct-CyS3RpTL.cjs.map +0 -1
- package/dist/Cron-ByxdOfpE.d.mts.map +0 -1
- package/dist/Cron-Wqh464aO.d.cts.map +0 -1
- package/dist/CronBuilder-BL0AP6fs.d.mts.map +0 -1
- package/dist/CronBuilder-BmABazzH.mjs.map +0 -1
- package/dist/CronBuilder-BqpEzMPQ.d.cts.map +0 -1
- package/dist/CronBuilder-CkXPJiGO.cjs.map +0 -1
- package/dist/Endpoint-2Wg7T7Cq.d.mts.map +0 -1
- package/dist/Endpoint-BiaaMEn_.cjs.map +0 -1
- package/dist/Endpoint-CH9Fn1AD.d.cts.map +0 -1
- package/dist/Endpoint-VIOpSo0S.mjs.map +0 -1
- package/dist/EndpointFactory-ChxLZllA.cjs.map +0 -1
- package/dist/EndpointFactory-DTTCkGEL.mjs.map +0 -1
- package/dist/HonoEndpointAdaptor-NKQQQbBY.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.map +0 -1
- package/dist/SubscriberBuilder-waNhzjSM.d.cts.map +0 -1
- package/dist/Topic-19QeHBIR.d.cts.map +0 -1
- 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-Bd3TPxid.cjs.map +0 -1
- package/dist/functions-Cxbo-pEd.mjs.map +0 -1
- package/dist/index-BxHDdy6a.d.mts.map +0 -1
- package/dist/index-CubPzHd9.d.mts.map +0 -1
- package/dist/index-JSf9xNIJ.d.cts.map +0 -1
- package/dist/index-V2nksZIJ.d.cts.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/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.d.cts.map +0 -1
- package/dist/topic/index.d.mts.map +0 -1
- package/dist/types-BlAkSuGI.d.cts.map +0 -1
- package/dist/types-aKksMEWL.d.mts.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@geekmidas/constructs",
|
|
3
|
-
"version": "10.0.0-alpha.
|
|
3
|
+
"version": "10.0.0-alpha.21",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -244,14 +244,14 @@
|
|
|
244
244
|
"lodash.set": "~4.3.2",
|
|
245
245
|
"lodash.uniqby": "~4.7.0",
|
|
246
246
|
"openapi-types": "~12.1.3",
|
|
247
|
-
"qs": "~6.
|
|
248
|
-
"@geekmidas/envkit": "^10.0.0-alpha.
|
|
249
|
-
"@geekmidas/errors": "^10.0.0-alpha.
|
|
250
|
-
"@geekmidas/events": "^10.0.0-alpha.
|
|
251
|
-
"@geekmidas/logger": "^10.0.0-alpha.
|
|
252
|
-
"@geekmidas/manifest": "^10.0.0-alpha.
|
|
253
|
-
"@geekmidas/schema": "^10.0.0-alpha.
|
|
254
|
-
"@geekmidas/services": "^10.0.0-alpha.
|
|
247
|
+
"qs": "~6.16.0",
|
|
248
|
+
"@geekmidas/envkit": "^10.0.0-alpha.21",
|
|
249
|
+
"@geekmidas/errors": "^10.0.0-alpha.21",
|
|
250
|
+
"@geekmidas/events": "^10.0.0-alpha.21",
|
|
251
|
+
"@geekmidas/logger": "^10.0.0-alpha.21",
|
|
252
|
+
"@geekmidas/manifest": "^10.0.0-alpha.21",
|
|
253
|
+
"@geekmidas/schema": "^10.0.0-alpha.21",
|
|
254
|
+
"@geekmidas/services": "^10.0.0-alpha.21"
|
|
255
255
|
},
|
|
256
256
|
"devDependencies": {
|
|
257
257
|
"@types/lodash.compact": "~3.0.9",
|
|
@@ -259,44 +259,45 @@
|
|
|
259
259
|
"@types/lodash.pick": "~4.4.9",
|
|
260
260
|
"@types/lodash.set": "~4.3.9",
|
|
261
261
|
"@types/lodash.uniqby": "~4.7.9",
|
|
262
|
-
"@types/pg": "~8.
|
|
263
|
-
"@types/qs": "~6.15.
|
|
264
|
-
"better-auth": "~1.
|
|
265
|
-
"kysely": "~0.29.
|
|
266
|
-
"msw": "~2.
|
|
267
|
-
"pg": "~8.
|
|
268
|
-
"zod": "~4.
|
|
269
|
-
"@geekmidas/audit": "^10.0.0-alpha.
|
|
270
|
-
"@geekmidas/auth": "10.0.0-alpha.
|
|
271
|
-
"@geekmidas/cache": "^10.0.0-alpha.
|
|
272
|
-
"@geekmidas/db": "^10.0.0-alpha.
|
|
273
|
-
"@geekmidas/emailkit": "^10.0.0-alpha.
|
|
274
|
-
"@geekmidas/envkit": "^10.0.0-alpha.
|
|
275
|
-
"@geekmidas/errors": "^10.0.0-alpha.
|
|
276
|
-
"@geekmidas/events": "^10.0.0-alpha.
|
|
277
|
-
"@geekmidas/logger": "^10.0.0-alpha.
|
|
278
|
-
"@geekmidas/rate-limit": "^10.0.0-alpha.
|
|
279
|
-
"@geekmidas/schema": "^10.0.0-alpha.
|
|
280
|
-
"@geekmidas/services": "^10.0.0-alpha.
|
|
281
|
-
"@geekmidas/telescope": "10.0.0-alpha.
|
|
282
|
-
"@geekmidas/testkit": "^10.0.0-alpha.
|
|
262
|
+
"@types/pg": "~8.23.1",
|
|
263
|
+
"@types/qs": "~6.15.1",
|
|
264
|
+
"better-auth": "~1.7.6",
|
|
265
|
+
"kysely": "~0.29.6",
|
|
266
|
+
"msw": "~2.15.0",
|
|
267
|
+
"pg": "~8.23.0",
|
|
268
|
+
"zod": "~4.6.5",
|
|
269
|
+
"@geekmidas/audit": "^10.0.0-alpha.21",
|
|
270
|
+
"@geekmidas/auth": "10.0.0-alpha.21",
|
|
271
|
+
"@geekmidas/cache": "^10.0.0-alpha.21",
|
|
272
|
+
"@geekmidas/db": "^10.0.0-alpha.21",
|
|
273
|
+
"@geekmidas/emailkit": "^10.0.0-alpha.21",
|
|
274
|
+
"@geekmidas/envkit": "^10.0.0-alpha.21",
|
|
275
|
+
"@geekmidas/errors": "^10.0.0-alpha.21",
|
|
276
|
+
"@geekmidas/events": "^10.0.0-alpha.21",
|
|
277
|
+
"@geekmidas/logger": "^10.0.0-alpha.21",
|
|
278
|
+
"@geekmidas/rate-limit": "^10.0.0-alpha.21",
|
|
279
|
+
"@geekmidas/schema": "^10.0.0-alpha.21",
|
|
280
|
+
"@geekmidas/services": "^10.0.0-alpha.21",
|
|
281
|
+
"@geekmidas/telescope": "10.0.0-alpha.21",
|
|
282
|
+
"@geekmidas/testkit": "^10.0.0-alpha.21"
|
|
283
283
|
},
|
|
284
284
|
"peerDependencies": {
|
|
285
|
-
"@middy/core": ">=
|
|
286
|
-
"@types/aws-lambda": ">=8.10.
|
|
287
|
-
"better-auth": ">=1.
|
|
288
|
-
"hono": ">=4.8
|
|
289
|
-
"kysely": "
|
|
290
|
-
"msw": ">=2.
|
|
291
|
-
"pg": "
|
|
292
|
-
"@geekmidas/audit": "^10.0.0-alpha.
|
|
293
|
-
"@geekmidas/auth": "10.0.0-alpha.
|
|
294
|
-
"@geekmidas/cache": "^10.0.0-alpha.
|
|
295
|
-
"@geekmidas/db": "^10.0.0-alpha.
|
|
296
|
-
"@geekmidas/emailkit": "^10.0.0-alpha.
|
|
297
|
-
"@geekmidas/rate-limit": "^10.0.0-alpha.
|
|
298
|
-
"@geekmidas/storage": "^10.0.0-alpha.
|
|
299
|
-
"@geekmidas/telescope": "10.0.0-alpha.
|
|
285
|
+
"@middy/core": ">=7.9.2",
|
|
286
|
+
"@types/aws-lambda": ">=8.10.163",
|
|
287
|
+
"better-auth": ">=1.7.5",
|
|
288
|
+
"hono": ">=4.13.8",
|
|
289
|
+
"kysely": "~0.29.6",
|
|
290
|
+
"msw": ">=2.15.0",
|
|
291
|
+
"pg": ">=8.23.0",
|
|
292
|
+
"@geekmidas/audit": "^10.0.0-alpha.21",
|
|
293
|
+
"@geekmidas/auth": "10.0.0-alpha.21",
|
|
294
|
+
"@geekmidas/cache": "^10.0.0-alpha.21",
|
|
295
|
+
"@geekmidas/db": "^10.0.0-alpha.21",
|
|
296
|
+
"@geekmidas/emailkit": "^10.0.0-alpha.21",
|
|
297
|
+
"@geekmidas/rate-limit": "^10.0.0-alpha.21",
|
|
298
|
+
"@geekmidas/storage": "^10.0.0-alpha.21",
|
|
299
|
+
"@geekmidas/telescope": "10.0.0-alpha.21",
|
|
300
|
+
"@geekmidas/testkit": "^10.0.0-alpha.21"
|
|
300
301
|
},
|
|
301
302
|
"peerDependenciesMeta": {
|
|
302
303
|
"@geekmidas/audit": {
|
|
@@ -308,37 +309,40 @@
|
|
|
308
309
|
"@geekmidas/db": {
|
|
309
310
|
"optional": true
|
|
310
311
|
},
|
|
312
|
+
"@geekmidas/emailkit": {
|
|
313
|
+
"optional": true
|
|
314
|
+
},
|
|
311
315
|
"@geekmidas/rate-limit": {
|
|
312
316
|
"optional": true
|
|
313
317
|
},
|
|
314
|
-
"@
|
|
318
|
+
"@geekmidas/storage": {
|
|
315
319
|
"optional": true
|
|
316
320
|
},
|
|
317
|
-
"@
|
|
321
|
+
"@geekmidas/telescope": {
|
|
318
322
|
"optional": true
|
|
319
323
|
},
|
|
320
|
-
"
|
|
324
|
+
"@geekmidas/testkit": {
|
|
321
325
|
"optional": true
|
|
322
326
|
},
|
|
323
|
-
"
|
|
327
|
+
"@middy/core": {
|
|
324
328
|
"optional": true
|
|
325
329
|
},
|
|
326
|
-
"@
|
|
330
|
+
"@types/aws-lambda": {
|
|
327
331
|
"optional": true
|
|
328
332
|
},
|
|
329
|
-
"
|
|
333
|
+
"better-auth": {
|
|
330
334
|
"optional": true
|
|
331
335
|
},
|
|
332
|
-
"
|
|
336
|
+
"hono": {
|
|
333
337
|
"optional": true
|
|
334
338
|
},
|
|
335
|
-
"
|
|
339
|
+
"kysely": {
|
|
336
340
|
"optional": true
|
|
337
341
|
},
|
|
338
|
-
"
|
|
342
|
+
"msw": {
|
|
339
343
|
"optional": true
|
|
340
344
|
},
|
|
341
|
-
"
|
|
345
|
+
"pg": {
|
|
342
346
|
"optional": true
|
|
343
347
|
}
|
|
344
348
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Construct-BD5neF7w.mjs","names":["compact","snifferContext: ServiceContext","type: ConstructType","logger: TLogger","services: TServices","events: MappedEvent<T, any>[]","publisherService?: Service<TServiceName, T>","outputSchema?: OutSchema","timeout?: number","memorySize?: number","auditorStorageService?: Service<\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditStorage\n\t\t>","constructs: string[]","opts: { markOptional?: boolean }","services: Service[]","service: Service"],"sources":["../../../node_modules/.pnpm/lodash.compact@3.0.1/node_modules/lodash.compact/index.js","../src/Construct.ts"],"sourcesContent":["/**\n * lodash 3.0.1 (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <https://lodash.com/license>\n */\n\n/**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\nfunction compact(array) {\n var index = -1,\n length = array ? array.length : 0,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = compact;\n","import type { AuditStorage } from '@geekmidas/audit';\nimport {\n\tSnifferEnvironmentParser,\n\ttype SniffResult,\n\tsniffWithFireAndForget,\n} from '@geekmidas/envkit/sniffer';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { Service, ServiceContext } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport compact from 'lodash.compact';\n\n// Cache for service environment variables to handle singleton services\n// Stores both the full list and the optional subset so the same sniff result\n// can satisfy both getEnvironment() and getEnvironment({ markOptional: true }).\nconst serviceEnvCache = new Map<\n\tService,\n\t{ envVars: string[]; optionalEnvVars: string[] }\n>();\n\n/**\n * Noop context for environment sniffing.\n * Used when calling service.register() to detect env vars without a real request.\n * Returns dummy values since services should only use context in instance methods,\n * not during registration.\n */\nconst snifferContext: ServiceContext = {\n\tgetLogger() {\n\t\t// Return a noop logger for sniffing - services shouldn't log during registration\n\t\treturn {\n\t\t\tdebug: () => {},\n\t\t\tinfo: () => {},\n\t\t\twarn: () => {},\n\t\t\terror: () => {},\n\t\t\tchild: () => snifferContext.getLogger(),\n\t\t} as unknown as Logger;\n\t},\n\tgetRequestId() {\n\t\treturn 'sniffer-context';\n\t},\n\tgetRequestStartTime() {\n\t\treturn Date.now();\n\t},\n\thasContext() {\n\t\treturn false;\n\t},\n};\n\nexport abstract class Construct<\n\tTLogger extends Logger = Logger,\n\tTServiceName extends string = string,\n\tT extends EventPublisher<any> | undefined = undefined,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTAuditStorageServiceName extends string = string,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTDatabase = unknown,\n> {\n\t/** Database service for this construct (used by Endpoint for RLS/audit context) */\n\tpublic databaseService?: Service<TDatabaseServiceName, TDatabase>;\n\n\t/**\n\t * The deploy unit that runs this, by construct id.\n\t *\n\t * What an endpoint's `surface` is to it, and for the same reason: something\n\t * has to say which process a runnable belongs to, and until this existed the\n\t * only thing that said so was the directory its file sat in. Set by the\n\t * factory it was built from — `worker.crons`, `api.endpoints` — so it is\n\t * carried rather than configured.\n\t *\n\t * Undefined for a construct built from a free-standing builder, which is\n\t * still how `c`, `s` and `f` work.\n\t */\n\tpublic owner?: string;\n\n\tconstructor(\n\t\tpublic readonly type: ConstructType,\n\t\tpublic readonly logger: TLogger,\n\t\tpublic readonly services: TServices,\n\t\tpublic readonly events: MappedEvent<T, any>[] = [],\n\t\tpublic readonly publisherService?: Service<TServiceName, T>,\n\t\tpublic outputSchema?: OutSchema,\n\t\tpublic readonly timeout?: number,\n\t\tpublic readonly memorySize?: number,\n\t\tpublic readonly auditorStorageService?: Service<\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditStorage\n\t\t>,\n\t\t/**\n\t\t * The constructs this one declared an edge to, by id.\n\t\t *\n\t\t * What the manifest records. `services` is the same information in the\n\t\t * form a handler runs with — clients, keyed by name — and an id cannot be\n\t\t * recovered from one of those reliably, so both are kept.\n\t\t *\n\t\t * Last in the list because every other parameter is positional and already\n\t\t * spoken for; a new one anywhere else silently rebinds existing callers.\n\t\t */\n\t\tpublic readonly constructs: string[] = [],\n\t) {}\n\n\t/**\n\t * Returns an array of environment variable names required by this construct's services.\n\t * This is determined by running a \"sniffer\" EnvironmentParser through each service's\n\t * register method to track which environment variables are accessed.\n\t *\n\t * Results are cached per service class to handle singleton patterns where\n\t * subsequent register() calls may short-circuit and not access env vars.\n\t *\n\t * @param markOptional - When true, optional vars (those accessed via `.optional()` or\n\t * `.default()`) are suffixed with `?` in the returned array (e.g. `'PORT?'`).\n\t * @returns Promise that resolves to array of environment variable names, sorted alphabetically\n\t *\n\t * @example\n\t * ```typescript\n\t * const endpoint = e\n\t * .services([databaseService, authService])\n\t * .get('/users')\n\t * .handle(async () => []);\n\t *\n\t * await endpoint.getEnvironment(); // ['AUTH_SECRET', 'DATABASE_URL']\n\t * await endpoint.getEnvironment({ markOptional: true }); // ['AUTH_SECRET', 'DATABASE_URL', 'PORT?']\n\t * ```\n\t */\n\tasync getEnvironment(\n\t\topts: { markOptional?: boolean } = {},\n\t): Promise<string[]> {\n\t\tconst { markOptional = false } = opts;\n\t\tconst envVars = new Set<string>();\n\t\tconst optionalVars = new Set<string>();\n\t\tconst services: Service[] = compact([\n\t\t\t...this.services,\n\t\t\tthis.publisherService,\n\t\t\tthis.publisherService,\n\t\t\tthis.auditorStorageService,\n\t\t\tthis.databaseService,\n\t\t]);\n\n\t\ttry {\n\t\t\tfor (const service of services) {\n\t\t\t\t// Check cache first - handles singleton services that short-circuit\n\t\t\t\tif (serviceEnvCache.has(service)) {\n\t\t\t\t\tconst cached = serviceEnvCache.get(service)!;\n\t\t\t\t\tcached.envVars.forEach((v) => envVars.add(v));\n\t\t\t\t\tcached.optionalEnvVars.forEach((v) => optionalVars.add(v));\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Use sniffService to properly handle all error scenarios\n\t\t\t\tconst result = await sniffService(service);\n\n\t\t\t\t// Log any issues for debugging\n\t\t\t\tif (result.error) {\n\t\t\t\t\tthis.logger.warn(\n\t\t\t\t\t\t{ error: result.error.message, service: service.serviceName },\n\t\t\t\t\t\t'Service threw error during env sniffing (env vars still captured)',\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (result.unhandledRejections.length > 0) {\n\t\t\t\t\tthis.logger.warn(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\terrors: result.unhandledRejections.map((e) => e.message),\n\t\t\t\t\t\t\tservice: service.serviceName,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'Fire-and-forget rejections during env sniffing (suppressed)',\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Cache and collect env vars (both required and optional)\n\t\t\t\tserviceEnvCache.set(service, {\n\t\t\t\t\tenvVars: result.envVars,\n\t\t\t\t\toptionalEnvVars: result.optionalEnvVars,\n\t\t\t\t});\n\t\t\t\tresult.envVars.forEach((v) => envVars.add(v));\n\t\t\t\tresult.optionalEnvVars.forEach((v) => optionalVars.add(v));\n\t\t\t}\n\n\t\t\tconst sorted = Array.from(envVars).sort();\n\t\t\tif (!markOptional || optionalVars.size === 0) return sorted;\n\t\t\treturn sorted.map((v) => (optionalVars.has(v) ? `${v}?` : v));\n\t\t} catch (error) {\n\t\t\tthis.logger.error(\n\t\t\t\t{ error },\n\t\t\t\t'Error determining environment variables for construct',\n\t\t\t);\n\n\t\t\treturn [];\n\t\t}\n\t}\n}\n\nexport enum ConstructType {\n\tCron = 'dev.geekmidas.function.cron',\n\tEndpoint = 'dev.geekmidas.function.endpoint',\n\tFunction = 'dev.geekmidas.function.function',\n\tSubscriber = 'dev.geekmidas.function.subscriber',\n\tQueue = 'dev.geekmidas.function.queue',\n\tTopic = 'dev.geekmidas.resource.topic',\n}\n\n/**\n * Utility to test sniffing a service for environment variables.\n * Useful for debugging services that throw errors during sniffing.\n *\n * @example\n * ```typescript\n * import { sniffService } from '@geekmidas/constructs';\n * import { authService } from './services/AuthService';\n *\n * const result = await sniffService(authService);\n * console.log('Env vars:', result.envVars);\n * console.log('Error:', result.error);\n * ```\n */\nexport async function sniffService(service: Service): Promise<SniffResult> {\n\tconst sniffer = new SnifferEnvironmentParser();\n\n\treturn sniffWithFireAndForget(sniffer, () =>\n\t\tservice.register({\n\t\t\tenvParser: sniffer as any,\n\t\t\tcontext: snifferContext,\n\t\t}),\n\t);\n}\n\n// Export for testing\nexport { snifferContext };\n"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBA,SAASA,UAAQ,OAAO;EACtB,IAAI,QAAQ,IACR,SAAS,QAAQ,MAAM,SAAS,GAChC,WAAW,GACX,SAAS,CAAE;AAEf,SAAO,EAAE,QAAQ,QAAQ;GACvB,IAAI,QAAQ,MAAM;AAClB,OAAI,MACF,QAAO,cAAc;EAExB;AACD,SAAO;CACR;AAED,QAAO,UAAUA;;;;;;ACvBjB,MAAM,kCAAkB,IAAI;;;;;;;AAW5B,MAAMC,iBAAiC;CACtC,YAAY;AAEX,SAAO;GACN,OAAO,MAAM,CAAE;GACf,MAAM,MAAM,CAAE;GACd,MAAM,MAAM,CAAE;GACd,OAAO,MAAM,CAAE;GACf,OAAO,MAAM,eAAe,WAAW;EACvC;CACD;CACD,eAAe;AACd,SAAO;CACP;CACD,sBAAsB;AACrB,SAAO,KAAK,KAAK;CACjB;CACD,aAAa;AACZ,SAAO;CACP;AACD;AAED,IAAsB,YAAtB,MAUE;;CAED,AAAO;;;;;;;;;;;;;CAcP,AAAO;CAEP,YACiBC,MACAC,QACAC,UACAC,SAAgC,CAAE,GAClCC,kBACTC,cACSC,SACAC,YACAC,uBAcAC,aAAuB,CAAE,GACxC;EAvBe;EACA;EACA;EACA;EACA;EACT;EACS;EACA;EACA;EAcA;CACb;;;;;;;;;;;;;;;;;;;;;;;;CAyBJ,MAAM,eACLC,OAAmC,CAAE,GACjB;EACpB,MAAM,EAAE,eAAe,OAAO,GAAG;EACjC,MAAM,0BAAU,IAAI;EACpB,MAAM,+BAAe,IAAI;EACzB,MAAMC,WAAsB,2BAAQ;GACnC,GAAG,KAAK;GACR,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;EACL,EAAC;AAEF,MAAI;AACH,QAAK,MAAM,WAAW,UAAU;AAE/B,QAAI,gBAAgB,IAAI,QAAQ,EAAE;KACjC,MAAM,SAAS,gBAAgB,IAAI,QAAQ;AAC3C,YAAO,QAAQ,QAAQ,CAAC,MAAM,QAAQ,IAAI,EAAE,CAAC;AAC7C,YAAO,gBAAgB,QAAQ,CAAC,MAAM,aAAa,IAAI,EAAE,CAAC;AAC1D;IACA;IAGD,MAAM,SAAS,MAAM,aAAa,QAAQ;AAG1C,QAAI,OAAO,MACV,MAAK,OAAO,KACX;KAAE,OAAO,OAAO,MAAM;KAAS,SAAS,QAAQ;IAAa,GAC7D,oEACA;AAEF,QAAI,OAAO,oBAAoB,SAAS,EACvC,MAAK,OAAO,KACX;KACC,QAAQ,OAAO,oBAAoB,IAAI,CAAC,MAAM,EAAE,QAAQ;KACxD,SAAS,QAAQ;IACjB,GACD,8DACA;AAIF,oBAAgB,IAAI,SAAS;KAC5B,SAAS,OAAO;KAChB,iBAAiB,OAAO;IACxB,EAAC;AACF,WAAO,QAAQ,QAAQ,CAAC,MAAM,QAAQ,IAAI,EAAE,CAAC;AAC7C,WAAO,gBAAgB,QAAQ,CAAC,MAAM,aAAa,IAAI,EAAE,CAAC;GAC1D;GAED,MAAM,SAAS,MAAM,KAAK,QAAQ,CAAC,MAAM;AACzC,QAAK,gBAAgB,aAAa,SAAS,EAAG,QAAO;AACrD,UAAO,OAAO,IAAI,CAAC,MAAO,aAAa,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAG;EAC7D,SAAQ,OAAO;AACf,QAAK,OAAO,MACX,EAAE,MAAO,GACT,wDACA;AAED,UAAO,CAAE;EACT;CACD;AACD;AAED,IAAY,0DAAL;AACN;AACA;AACA;AACA;AACA;AACA;;AACA;;;;;;;;;;;;;;;AAgBD,eAAsB,aAAaC,SAAwC;CAC1E,MAAM,UAAU,IAAI;AAEpB,QAAO,uBAAuB,SAAS,MACtC,QAAQ,SAAS;EAChB,WAAW;EACX,SAAS;CACT,EAAC,CACF;AACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Construct-C0ijr2qp.d.cts","names":[],"sources":["../src/Construct.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;AAS8D;AAuC9D;;;cAtBM,cAuBoB,EAvBJ,cAuBI;AAEf,uBAHW,SAGX,CAAA,gBAFM,MAEN,GAFe,MAEf,EAAA,qBAAA,MAAA,GAAA,MAAA,EAAA,UAAA,cAAA,CAAA,GAAA,CAAA,GAAA,SAAA,GAAA,SAAA,EAAA,kBACQ,gBADR,GAAA,SAAA,GAAA,SAAA,EAAA,kBAEQ,OAFR,EAAA,GAAA,EAAA,EAAA,iCAAA,MAAA,GAAA,MAAA,EAAA,sBAIY,YAJZ,GAAA,SAAA,GAAA,SAAA,EAAA,6BAAA,MAAA,GAAA,MAAA,EAAA,YAAA,OAAA,CAAA,CAAA;EAAc,SACN,IAAA,EAyBK,aAzBL;EAAgB,SAChB,MAAA,EAyBO,OAzBP;EAAO,SAEH,QAAA,EAwBK,SAxBL;EAAY,SAsBX,MAAA,EAGE,WAHF,CAGc,CAHd,EAAA,GAAA,CAAA,EAAA;EAAa,SACX,gBAAA,CAAA,EAGW,OAHX,CAGmB,YAHnB,EAGiC,CAHjC,CAAA,GAAA,SAAA;EAAO,YACL,CAAA,EAGJ,SAHI,GAAA,SAAA;EAAS,SACC,OAAA,CAAA,EAAA,MAAA,GAAA,SAAA;EAAC,SAAb,UAAA,CAAA,EAAA,MAAA,GAAA,SAAA;EAAW,SACQ,qBAAA,CAAA,EAIH,OAJG,CAK1C,wBAL0C,EAM1C,aAN0C,CAAA,GAAA,SAAA;EAAY;;;;;;;;;;EAJpB,SACX,UAAA,EAAA,MAAA,EAAA;EAAO;EACI,eACC,CAAA,EApBZ,OAoBY,CApBJ,oBAoBI,EApBkB,SAoBlB,CAAA;EAAC;;;;;;;;;AA+C5B;AAiEX;AAuBA;EAAkC,KAAA,CAAA,EAAA,MAAA;EAAA,WAAU,CAAA,IAAA,EA1IpB,aA0IoB,EAAA,MAAA,EAzIlB,OAyIkB,EAAA,QAAA,EAxIhB,SAwIgB,EAAA,MAAA,CAAA,EAvIlB,WAuIkB,CAvIN,CAuIM,EAAA,GAAA,CAAA,EAAA,EAAA,gBAAA,CAAA,EAtIP,OAsIO,CAtIC,YAsID,EAtIe,CAsIf,CAAA,GAAA,SAAA,EAAA,YAAA,CAAA,EArIpB,SAqIoB,GAAA,SAAA,EAAA,OAAA,CAAA,EAAA,MAAA,GAAA,SAAA,EAAA,UAAA,CAAA,EAAA,MAAA,GAAA,SAAA,EAAA,qBAAA,CAAA,EAlIF,OAkIE,CAjIzC,wBAiIyC,EAhIzC,aAgIyC,CAAA,GAAA,SAAA;EAAO;;AAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAxFzD;;aAiEQ,aAAA;;;;;;;;;;;;;;;;;;;;;;iBAuBU,YAAA,UAAsB,UAAU,QAAQ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Construct-Ct8nalEi.d.mts","names":[],"sources":["../src/Construct.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;AAS8D;AAuC9D;;;cAtBM,cAuBoB,EAvBJ,cAuBI;AAEf,uBAHW,SAGX,CAAA,gBAFM,MAEN,GAFe,MAEf,EAAA,qBAAA,MAAA,GAAA,MAAA,EAAA,UAAA,cAAA,CAAA,GAAA,CAAA,GAAA,SAAA,GAAA,SAAA,EAAA,kBACQ,gBADR,GAAA,SAAA,GAAA,SAAA,EAAA,kBAEQ,OAFR,EAAA,GAAA,EAAA,EAAA,iCAAA,MAAA,GAAA,MAAA,EAAA,sBAIY,YAJZ,GAAA,SAAA,GAAA,SAAA,EAAA,6BAAA,MAAA,GAAA,MAAA,EAAA,YAAA,OAAA,CAAA,CAAA;EAAc,SACN,IAAA,EAyBK,aAzBL;EAAgB,SAChB,MAAA,EAyBO,OAzBP;EAAO,SAEH,QAAA,EAwBK,SAxBL;EAAY,SAsBX,MAAA,EAGE,WAHF,CAGc,CAHd,EAAA,GAAA,CAAA,EAAA;EAAa,SACX,gBAAA,CAAA,EAGW,OAHX,CAGmB,YAHnB,EAGiC,CAHjC,CAAA,GAAA,SAAA;EAAO,YACL,CAAA,EAGJ,SAHI,GAAA,SAAA;EAAS,SACC,OAAA,CAAA,EAAA,MAAA,GAAA,SAAA;EAAC,SAAb,UAAA,CAAA,EAAA,MAAA,GAAA,SAAA;EAAW,SACQ,qBAAA,CAAA,EAIH,OAJG,CAK1C,wBAL0C,EAM1C,aAN0C,CAAA,GAAA,SAAA;EAAY;;;;;;;;;;EAJpB,SACX,UAAA,EAAA,MAAA,EAAA;EAAO;EACI,eACC,CAAA,EApBZ,OAoBY,CApBJ,oBAoBI,EApBkB,SAoBlB,CAAA;EAAC;;;;;;;;;AA+C5B;AAiEX;AAuBA;EAAkC,KAAA,CAAA,EAAA,MAAA;EAAA,WAAU,CAAA,IAAA,EA1IpB,aA0IoB,EAAA,MAAA,EAzIlB,OAyIkB,EAAA,QAAA,EAxIhB,SAwIgB,EAAA,MAAA,CAAA,EAvIlB,WAuIkB,CAvIN,CAuIM,EAAA,GAAA,CAAA,EAAA,EAAA,gBAAA,CAAA,EAtIP,OAsIO,CAtIC,YAsID,EAtIe,CAsIf,CAAA,GAAA,SAAA,EAAA,YAAA,CAAA,EArIpB,SAqIoB,GAAA,SAAA,EAAA,OAAA,CAAA,EAAA,MAAA,GAAA,SAAA,EAAA,UAAA,CAAA,EAAA,MAAA,GAAA,SAAA,EAAA,qBAAA,CAAA,EAlIF,OAkIE,CAjIzC,wBAiIyC,EAhIzC,aAgIyC,CAAA,GAAA,SAAA;EAAO;;AAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAxFzD;;aAiEQ,aAAA;;;;;;;;;;;;;;;;;;;;;;iBAuBU,YAAA,UAAsB,UAAU,QAAQ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Construct-CyS3RpTL.cjs","names":["compact","snifferContext: ServiceContext","type: ConstructType","logger: TLogger","services: TServices","events: MappedEvent<T, any>[]","publisherService?: Service<TServiceName, T>","outputSchema?: OutSchema","timeout?: number","memorySize?: number","auditorStorageService?: Service<\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditStorage\n\t\t>","constructs: string[]","opts: { markOptional?: boolean }","services: Service[]","service: Service","SnifferEnvironmentParser"],"sources":["../../../node_modules/.pnpm/lodash.compact@3.0.1/node_modules/lodash.compact/index.js","../src/Construct.ts"],"sourcesContent":["/**\n * lodash 3.0.1 (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <https://lodash.com/license>\n */\n\n/**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\nfunction compact(array) {\n var index = -1,\n length = array ? array.length : 0,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = compact;\n","import type { AuditStorage } from '@geekmidas/audit';\nimport {\n\tSnifferEnvironmentParser,\n\ttype SniffResult,\n\tsniffWithFireAndForget,\n} from '@geekmidas/envkit/sniffer';\nimport type { EventPublisher, MappedEvent } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { Service, ServiceContext } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport compact from 'lodash.compact';\n\n// Cache for service environment variables to handle singleton services\n// Stores both the full list and the optional subset so the same sniff result\n// can satisfy both getEnvironment() and getEnvironment({ markOptional: true }).\nconst serviceEnvCache = new Map<\n\tService,\n\t{ envVars: string[]; optionalEnvVars: string[] }\n>();\n\n/**\n * Noop context for environment sniffing.\n * Used when calling service.register() to detect env vars without a real request.\n * Returns dummy values since services should only use context in instance methods,\n * not during registration.\n */\nconst snifferContext: ServiceContext = {\n\tgetLogger() {\n\t\t// Return a noop logger for sniffing - services shouldn't log during registration\n\t\treturn {\n\t\t\tdebug: () => {},\n\t\t\tinfo: () => {},\n\t\t\twarn: () => {},\n\t\t\terror: () => {},\n\t\t\tchild: () => snifferContext.getLogger(),\n\t\t} as unknown as Logger;\n\t},\n\tgetRequestId() {\n\t\treturn 'sniffer-context';\n\t},\n\tgetRequestStartTime() {\n\t\treturn Date.now();\n\t},\n\thasContext() {\n\t\treturn false;\n\t},\n};\n\nexport abstract class Construct<\n\tTLogger extends Logger = Logger,\n\tTServiceName extends string = string,\n\tT extends EventPublisher<any> | undefined = undefined,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTAuditStorageServiceName extends string = string,\n\tTAuditStorage extends AuditStorage | undefined = undefined,\n\tTDatabaseServiceName extends string = string,\n\tTDatabase = unknown,\n> {\n\t/** Database service for this construct (used by Endpoint for RLS/audit context) */\n\tpublic databaseService?: Service<TDatabaseServiceName, TDatabase>;\n\n\t/**\n\t * The deploy unit that runs this, by construct id.\n\t *\n\t * What an endpoint's `surface` is to it, and for the same reason: something\n\t * has to say which process a runnable belongs to, and until this existed the\n\t * only thing that said so was the directory its file sat in. Set by the\n\t * factory it was built from — `worker.crons`, `api.endpoints` — so it is\n\t * carried rather than configured.\n\t *\n\t * Undefined for a construct built from a free-standing builder, which is\n\t * still how `c`, `s` and `f` work.\n\t */\n\tpublic owner?: string;\n\n\tconstructor(\n\t\tpublic readonly type: ConstructType,\n\t\tpublic readonly logger: TLogger,\n\t\tpublic readonly services: TServices,\n\t\tpublic readonly events: MappedEvent<T, any>[] = [],\n\t\tpublic readonly publisherService?: Service<TServiceName, T>,\n\t\tpublic outputSchema?: OutSchema,\n\t\tpublic readonly timeout?: number,\n\t\tpublic readonly memorySize?: number,\n\t\tpublic readonly auditorStorageService?: Service<\n\t\t\tTAuditStorageServiceName,\n\t\t\tTAuditStorage\n\t\t>,\n\t\t/**\n\t\t * The constructs this one declared an edge to, by id.\n\t\t *\n\t\t * What the manifest records. `services` is the same information in the\n\t\t * form a handler runs with — clients, keyed by name — and an id cannot be\n\t\t * recovered from one of those reliably, so both are kept.\n\t\t *\n\t\t * Last in the list because every other parameter is positional and already\n\t\t * spoken for; a new one anywhere else silently rebinds existing callers.\n\t\t */\n\t\tpublic readonly constructs: string[] = [],\n\t) {}\n\n\t/**\n\t * Returns an array of environment variable names required by this construct's services.\n\t * This is determined by running a \"sniffer\" EnvironmentParser through each service's\n\t * register method to track which environment variables are accessed.\n\t *\n\t * Results are cached per service class to handle singleton patterns where\n\t * subsequent register() calls may short-circuit and not access env vars.\n\t *\n\t * @param markOptional - When true, optional vars (those accessed via `.optional()` or\n\t * `.default()`) are suffixed with `?` in the returned array (e.g. `'PORT?'`).\n\t * @returns Promise that resolves to array of environment variable names, sorted alphabetically\n\t *\n\t * @example\n\t * ```typescript\n\t * const endpoint = e\n\t * .services([databaseService, authService])\n\t * .get('/users')\n\t * .handle(async () => []);\n\t *\n\t * await endpoint.getEnvironment(); // ['AUTH_SECRET', 'DATABASE_URL']\n\t * await endpoint.getEnvironment({ markOptional: true }); // ['AUTH_SECRET', 'DATABASE_URL', 'PORT?']\n\t * ```\n\t */\n\tasync getEnvironment(\n\t\topts: { markOptional?: boolean } = {},\n\t): Promise<string[]> {\n\t\tconst { markOptional = false } = opts;\n\t\tconst envVars = new Set<string>();\n\t\tconst optionalVars = new Set<string>();\n\t\tconst services: Service[] = compact([\n\t\t\t...this.services,\n\t\t\tthis.publisherService,\n\t\t\tthis.publisherService,\n\t\t\tthis.auditorStorageService,\n\t\t\tthis.databaseService,\n\t\t]);\n\n\t\ttry {\n\t\t\tfor (const service of services) {\n\t\t\t\t// Check cache first - handles singleton services that short-circuit\n\t\t\t\tif (serviceEnvCache.has(service)) {\n\t\t\t\t\tconst cached = serviceEnvCache.get(service)!;\n\t\t\t\t\tcached.envVars.forEach((v) => envVars.add(v));\n\t\t\t\t\tcached.optionalEnvVars.forEach((v) => optionalVars.add(v));\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Use sniffService to properly handle all error scenarios\n\t\t\t\tconst result = await sniffService(service);\n\n\t\t\t\t// Log any issues for debugging\n\t\t\t\tif (result.error) {\n\t\t\t\t\tthis.logger.warn(\n\t\t\t\t\t\t{ error: result.error.message, service: service.serviceName },\n\t\t\t\t\t\t'Service threw error during env sniffing (env vars still captured)',\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (result.unhandledRejections.length > 0) {\n\t\t\t\t\tthis.logger.warn(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\terrors: result.unhandledRejections.map((e) => e.message),\n\t\t\t\t\t\t\tservice: service.serviceName,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'Fire-and-forget rejections during env sniffing (suppressed)',\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Cache and collect env vars (both required and optional)\n\t\t\t\tserviceEnvCache.set(service, {\n\t\t\t\t\tenvVars: result.envVars,\n\t\t\t\t\toptionalEnvVars: result.optionalEnvVars,\n\t\t\t\t});\n\t\t\t\tresult.envVars.forEach((v) => envVars.add(v));\n\t\t\t\tresult.optionalEnvVars.forEach((v) => optionalVars.add(v));\n\t\t\t}\n\n\t\t\tconst sorted = Array.from(envVars).sort();\n\t\t\tif (!markOptional || optionalVars.size === 0) return sorted;\n\t\t\treturn sorted.map((v) => (optionalVars.has(v) ? `${v}?` : v));\n\t\t} catch (error) {\n\t\t\tthis.logger.error(\n\t\t\t\t{ error },\n\t\t\t\t'Error determining environment variables for construct',\n\t\t\t);\n\n\t\t\treturn [];\n\t\t}\n\t}\n}\n\nexport enum ConstructType {\n\tCron = 'dev.geekmidas.function.cron',\n\tEndpoint = 'dev.geekmidas.function.endpoint',\n\tFunction = 'dev.geekmidas.function.function',\n\tSubscriber = 'dev.geekmidas.function.subscriber',\n\tQueue = 'dev.geekmidas.function.queue',\n\tTopic = 'dev.geekmidas.resource.topic',\n}\n\n/**\n * Utility to test sniffing a service for environment variables.\n * Useful for debugging services that throw errors during sniffing.\n *\n * @example\n * ```typescript\n * import { sniffService } from '@geekmidas/constructs';\n * import { authService } from './services/AuthService';\n *\n * const result = await sniffService(authService);\n * console.log('Env vars:', result.envVars);\n * console.log('Error:', result.error);\n * ```\n */\nexport async function sniffService(service: Service): Promise<SniffResult> {\n\tconst sniffer = new SnifferEnvironmentParser();\n\n\treturn sniffWithFireAndForget(sniffer, () =>\n\t\tservice.register({\n\t\t\tenvParser: sniffer as any,\n\t\t\tcontext: snifferContext,\n\t\t}),\n\t);\n}\n\n// Export for testing\nexport { snifferContext };\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Cron-ByxdOfpE.d.mts","names":[],"sources":["../src/crons/Cron.ts"],"sourcesContent":[],"mappings":";;;;;;;;;cAUa,oBACG,oEACG,gCACF,SAAS,0BACP,kEACM,8KAIf,SACT,QACA,WACA,SACA,WACA,iBACA,+CAGA,WACA,sBACA,kCACA,gBAAgB,QAAQ,WAAW,SAAS,WAAW;wBAahC;EAlCX,OAAI,MAAA,CAAA,GAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAuBgB,IAvBhB,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA;EAAA,WAAA,CAAA,EAAA,EAgCX,eAhCW,CAgCK,MAhCL,EAgCa,SAhCb,EAgCwB,OAhCxB,EAgCiC,SAhCjC,EAgC4C,SAhC5C,CAAA,EAAA,OAAA,CAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAkCO,kBAlCP,GAAA,SAAA,EAAA,KAAA,CAAA,EAmCP,MAnCO,EAAA,YAAA,CAAA,EAoCA,SApCA,EAAA,QAAA,CAAA,EAqCL,SArCK,EAAA,MAAA,CAAA,EAsCN,OAtCM,EAAA,gBAAA,CAAA,EAuCI,OAvCJ,CAuCY,0BAvCZ,EAuCwC,eAvCxC,CAAA,EAAA,MAAA,CAAA,EAAA,GAAA,EAAA,EAAA,UAAA,CAAA,EAAA,MAAA,EAAA,eAAA,CAAA,EA0CG,OA1CH,CA0CW,oBA1CX,EA0CiC,SA1CjC,CAAA;EAAA;;;;EAGe,UACb,CAAA,EAAA,MAAA,EAAA;EAAgB,IACV,QAAA,CAAA,CAAA,EA6DR,kBA7DQ,GAAA,SAAA;;AAMxB,KA4DW,cAAA,GA5DX,QAAA,MAAA,GAAA;KA8DI,UAAA,GA7DJ,GAAA,GAAA,MAAA,GAAA,GAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,KAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,MAAA;KAuEI,QAAA,GAtEJ,GAAA,GAAA,MAAA,GAAA,GAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,KAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,MAAA;KAgFI,OAAA,GA/EJ,GAAA,GAAA,MAAA,GAAA,GAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,KAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,MAAA;KAyFI,SAAA,GAxFJ,GAAA,GAAA,MAAA,GAAA,GAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,KAAA,MAAA,EAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,MAAA;KA6GI,WAAA,GA1GJ,GAAA,GAAA,MAAA,GAAA,GAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,KAAA,MAAA,EAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,MAAA;AACA,KA0HW,cAAA,GA1HX,QA2HQ,UA3HR,IA2HsB,QA3HtB,IA2HkC,OA3HlC,IA2H6C,SA3H7C,IA2H0D,WA3H1D,GAAA;AACA,KA4HW,kBAAA,GAAqB,cA5HhC,GA4HiD,cA5HjD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Cron-Wqh464aO.d.cts","names":[],"sources":["../src/crons/Cron.ts"],"sourcesContent":[],"mappings":";;;;;;;;;cAUa,oBACG,oEACG,gCACF,SAAS,0BACP,kEACM,8KAIf,SACT,QACA,WACA,SACA,WACA,iBACA,+CAGA,WACA,sBACA,kCACA,gBAAgB,QAAQ,WAAW,SAAS,WAAW;wBAahC;EAlCX,OAAI,MAAA,CAAA,GAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAuBgB,IAvBhB,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA;EAAA,WAAA,CAAA,EAAA,EAgCX,eAhCW,CAgCK,MAhCL,EAgCa,SAhCb,EAgCwB,OAhCxB,EAgCiC,SAhCjC,EAgC4C,SAhC5C,CAAA,EAAA,OAAA,CAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAkCO,kBAlCP,GAAA,SAAA,EAAA,KAAA,CAAA,EAmCP,MAnCO,EAAA,YAAA,CAAA,EAoCA,SApCA,EAAA,QAAA,CAAA,EAqCL,SArCK,EAAA,MAAA,CAAA,EAsCN,OAtCM,EAAA,gBAAA,CAAA,EAuCI,OAvCJ,CAuCY,0BAvCZ,EAuCwC,eAvCxC,CAAA,EAAA,MAAA,CAAA,EAAA,GAAA,EAAA,EAAA,UAAA,CAAA,EAAA,MAAA,EAAA,eAAA,CAAA,EA0CG,OA1CH,CA0CW,oBA1CX,EA0CiC,SA1CjC,CAAA;EAAA;;;;EAGe,UACb,CAAA,EAAA,MAAA,EAAA;EAAgB,IACV,QAAA,CAAA,CAAA,EA6DR,kBA7DQ,GAAA,SAAA;;AAMxB,KA4DW,cAAA,GA5DX,QAAA,MAAA,GAAA;KA8DI,UAAA,GA7DJ,GAAA,GAAA,MAAA,GAAA,GAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,KAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,MAAA;KAuEI,QAAA,GAtEJ,GAAA,GAAA,MAAA,GAAA,GAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,KAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,MAAA;KAgFI,OAAA,GA/EJ,GAAA,GAAA,MAAA,GAAA,GAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,KAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,MAAA;KAyFI,SAAA,GAxFJ,GAAA,GAAA,MAAA,GAAA,GAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,KAAA,MAAA,EAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,MAAA;KA6GI,WAAA,GA1GJ,GAAA,GAAA,MAAA,GAAA,GAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,KAAA,MAAA,EAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,GAAA,MAAA,IAAA,MAAA,EAAA,GAAA,MAAA;AACA,KA0HW,cAAA,GA1HX,QA2HQ,UA3HR,IA2HsB,QA3HtB,IA2HkC,OA3HlC,IA2H6C,SA3H7C,IA2H0D,WA3H1D,GAAA;AACA,KA4HW,kBAAA,GAAqB,cA5HhC,GA4HiD,cA5HjD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CronBuilder-BL0AP6fs.d.mts","names":[],"sources":["../src/crons/CronBuilder.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CronBuilder-BmABazzH.mjs","names":["obj: any","fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>","timeout?: number","_schedule?: ScheduleExpression","input?: TInput","outputSchema?: OutSchema","services: TServices","logger?: TLogger","publisherService?: Service<TEventPublisherServiceName, TEventPublisher>","events: any[]","memorySize?: number","databaseService?: Service<TDatabaseServiceName, TDatabase>","constructs: string[]","memorySize: number","_expression: ScheduleExpression","schema: T","constructs: T","s: Service","services: T","logger: T","publisher: Service<TName, T>","source: Consumable<TName, T> | Service<TName, T>","fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>"],"sources":["../src/crons/Cron.ts","../src/crons/CronBuilder.ts"],"sourcesContent":["import type { AuditableAction } from '@geekmidas/audit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\n\nimport { ConstructType } from '../Construct';\nimport { Function, type FunctionHandler } from '../functions';\n\nexport class Cron<\n\tTInput extends ComposableStandardSchema | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n> extends Function<\n\tTInput,\n\tTServices,\n\tTLogger,\n\tOutSchema,\n\tTEventPublisher,\n\tTEventPublisherServiceName,\n\tundefined,\n\tstring,\n\tTDatabase,\n\tTDatabaseServiceName,\n\tAuditableAction<string, unknown>,\n\tFunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>\n> {\n\tstatic isCron(obj: any): obj is Cron<any, any, any, any> {\n\t\treturn Boolean(\n\t\t\tobj &&\n\t\t\t\t(obj as Function).__IS_FUNCTION__ === true &&\n\t\t\t\tobj.type === ConstructType.Cron,\n\t\t);\n\t}\n\n\tconstructor(\n\t\tfn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>,\n\t\ttimeout?: number,\n\t\tprotected _schedule?: ScheduleExpression,\n\t\tinput?: TInput,\n\t\toutputSchema?: OutSchema,\n\t\tservices: TServices = [] as unknown as TServices,\n\t\tlogger?: TLogger,\n\t\tpublisherService?: Service<TEventPublisherServiceName, TEventPublisher>,\n\t\tevents: any[] = [],\n\t\tmemorySize?: number,\n\t\tdatabaseService?: Service<TDatabaseServiceName, TDatabase>,\n\t\t/**\n\t\t * The construct ids `.dependsOn()` named — last, so no existing positional\n\t\t * argument moves.\n\t\t */\n\t\tconstructs: string[] = [],\n\t) {\n\t\tsuper(\n\t\t\tfn,\n\t\t\ttimeout,\n\t\t\tConstructType.Cron,\n\t\t\tinput,\n\t\t\toutputSchema,\n\t\t\tservices,\n\t\t\tlogger,\n\t\t\tpublisherService,\n\t\t\tevents,\n\t\t\tmemorySize,\n\t\t\tundefined, // auditorStorageService\n\t\t\tdatabaseService,\n\t\t\tconstructs,\n\t\t);\n\t}\n\n\tget schedule(): ScheduleExpression | undefined {\n\t\treturn this._schedule;\n\t}\n}\n\nexport type RateExpression = `rate(${string})`;\n\ntype CronMinute =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| `${number},${number}`\n\t| string; // Allow more complex patterns\n\ntype CronHour =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| `${number},${number}`\n\t| string; // Allow more complex patterns\n\ntype CronDay =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| `${number},${number}`\n\t| string; // Allow more complex patterns\n\ntype CronMonth =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| 'JAN'\n\t| 'FEB'\n\t| 'MAR'\n\t| 'APR'\n\t| 'MAY'\n\t| 'JUN'\n\t| 'JUL'\n\t| 'AUG'\n\t| 'SEP'\n\t| 'OCT'\n\t| 'NOV'\n\t| 'DEC'\n\t| string; // Allow more complex patterns\n\ntype CronWeekday =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| 'SUN'\n\t| 'MON'\n\t| 'TUE'\n\t| 'WED'\n\t| 'THU'\n\t| 'FRI'\n\t| 'SAT'\n\t| `${string}-${string}` // Allow patterns like MON-FRI\n\t| string; // Allow more complex patterns\n\nexport type CronExpression =\n\t`cron(${CronMinute} ${CronHour} ${CronDay} ${CronMonth} ${CronWeekday})`;\n\nexport type ScheduleExpression = RateExpression | CronExpression;\n","import type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { cloneWith } from '../clone';\nimport {\n\ttype Consumable,\n\tidsOf,\n\ttype ServicesOf,\n\tserviceOf,\n\tservicesOf,\n} from '../construct-interface';\nimport { FunctionBuilder, type FunctionHandler } from '../functions';\nimport { Cron, type ScheduleExpression } from './Cron';\n\nexport class CronBuilder<\n\tTInput extends ComposableStandardSchema,\n\tTServices extends Service[],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n> extends FunctionBuilder<\n\tTInput,\n\tOutSchema,\n\tTServices,\n\tTLogger,\n\tTEventPublisher,\n\tTEventPublisherServiceName,\n\tundefined,\n\tstring,\n\tTDatabase,\n\tTDatabaseServiceName\n> {\n\tprivate _schedule?: ScheduleExpression;\n\n\tconstructor() {\n\t\tsuper(ConstructType.Cron);\n\t}\n\n\toverride memorySize(memorySize: number): this {\n\t\treturn cloneWith(this, { _memorySize: memorySize });\n\t}\n\n\tschedule(\n\t\t_expression: ScheduleExpression,\n\t): CronBuilder<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\treturn cloneWith(this, { _schedule: _expression });\n\t}\n\n\toverride input<T extends ComposableStandardSchema>(\n\t\tschema: T,\n\t): CronBuilder<\n\t\tT,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\treturn cloneWith(this, {\n\t\t\tinputSchema: schema as unknown as TInput,\n\t\t}) as unknown as CronBuilder<\n\t\t\tT,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\toverride output<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): CronBuilder<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tT,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\treturn cloneWith(this, {\n\t\t\toutputSchema: schema as unknown as OutSchema,\n\t\t}) as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tT,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\t/**\n\t * Depend on constructs — a database, a bucket, a mail sender, a queue, a\n\t * topic.\n\t *\n\t * It records the edge and dissolves each construct's client into the\n\t * handler's service record under the construct's own id, so\n\t * `.dependsOn([uploads])` is what makes `services.uploads` exist and type.\n\t *\n\t * Constructs only. A `Service` does not match the shape, which is what keeps\n\t * env sniffing confined to `.services()` and the explicit lift.\n\t */\n\toverride dependsOn<const T extends readonly Consumable[]>(\n\t\tconstructs: T,\n\t): CronBuilder<\n\t\tTInput,\n\t\t[...TServices, ...ServicesOf<T>],\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\t// Both halves of the edge, from one call and one clone: the services the\n\t\t// handler runs with, and the ids the manifest records. Recording them\n\t\t// separately is what let them drift apart.\n\t\t//\n\t\t// `servicesOf` is the half that validates, so it runs first — recording\n\t\t// ids ahead of it left a caught `NotAConstruct` with `undefined` already\n\t\t// on a `string[]`.\n\t\tconst services = servicesOf(constructs) as unknown as Service[];\n\n\t\treturn cloneWith(this, {\n\t\t\t_services: uniqBy(\n\t\t\t\t[...this._services, ...services],\n\t\t\t\t(s: Service) => s.serviceName,\n\t\t\t),\n\t\t\t_constructs: idsOf(constructs, this._constructs),\n\t\t}) as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\t[...TServices, ...ServicesOf<T>],\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\toverride services<T extends Service[]>(\n\t\tservices: T,\n\t): CronBuilder<\n\t\tTInput,\n\t\t[...TServices, ...T],\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\treturn cloneWith(this, {\n\t\t\t_services: uniqBy(\n\t\t\t\t[...this._services, ...services],\n\t\t\t\t(s) => s.serviceName,\n\t\t\t) as TServices,\n\t\t}) as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\t[...TServices, ...T],\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\toverride logger<T extends Logger>(\n\t\tlogger: T,\n\t): CronBuilder<\n\t\tTInput,\n\t\tTServices,\n\t\tT,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\treturn cloneWith(this, {\n\t\t\t_logger: logger as unknown as TLogger,\n\t\t}) as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tT,\n\t\t\tOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\toverride publisher<T extends EventPublisher<any>, TName extends string>(\n\t\tpublisher: Service<TName, T>,\n\t): CronBuilder<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tT,\n\t\tTName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\treturn cloneWith(this, {\n\t\t\t_publisher: publisher as unknown as Service<\n\t\t\t\tTEventPublisherServiceName,\n\t\t\t\tTEventPublisher\n\t\t\t>,\n\t\t}) as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\t/**\n\t * Set the database service for this cron job.\n\t * The database will be available in the handler context as `db`.\n\t */\n\toverride database<T, TName extends string>(\n\t\tsource: Consumable<TName, T> | Service<TName, T>,\n\t): CronBuilder<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tT,\n\t\tTName\n\t> {\n\t\tconst service = serviceOf(source);\n\n\t\treturn cloneWith(this, {\n\t\t\t_databaseService: service as unknown as Service<\n\t\t\t\tTDatabaseServiceName,\n\t\t\t\tTDatabase\n\t\t\t>,\n\t\t}) as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tT,\n\t\t\tTName\n\t\t>;\n\t}\n\n\toverride handle(\n\t\tfn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>,\n\t): Cron<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tconst cron = new Cron(\n\t\t\tfn,\n\t\t\tthis._timeout,\n\t\t\tthis._schedule,\n\t\t\tthis.inputSchema,\n\t\t\tthis.outputSchema,\n\t\t\tthis._services,\n\t\t\tthis._logger,\n\t\t\tthis._publisher,\n\t\t\tthis._events,\n\t\t\tthis._memorySize,\n\t\t\tthis._databaseService,\n\t\t\tthis._constructs,\n\t\t);\n\n\t\t// Which process runs it. Carried from the factory rather than inferred\n\t\t// from the directory the file happens to sit in.\n\t\tcron.owner = this._owner;\n\n\t\t// No reset. `.handle()` reads this builder and leaves it alone, so a\n\t\t// configured base — `const fn = f.logger(log).timeout(60_000)` — keeps\n\t\t// its configuration for every construct built from it. The reset that\n\t\t// used to be here wiped the base on first use, which made a base usable\n\t\t// exactly once, and quietly reverted the logger to the default.\n\n\t\treturn cron;\n\t}\n}\n"],"mappings":";;;;;;AAUA,IAAa,OAAb,cASU,SAaR;CACD,OAAO,OAAOA,KAA2C;AACxD,SAAO,QACN,OACE,IAAiB,oBAAoB,QACtC,IAAI,SAAS,cAAc,KAC5B;CACD;CAED,YACCC,IACAC,SACUC,WACVC,OACAC,cACAC,WAAsB,CAAE,GACxBC,QACAC,kBACAC,SAAgB,CAAE,GAClBC,YACAC,iBAKAC,aAAuB,CAAE,GACxB;AACD,QACC,IACA,SACA,cAAc,MACd,OACA,cACA,UACA,QACA,kBACA,QACA,oBAEA,iBACA,WACA;EA7BS;CA8BV;CAED,IAAI,WAA2C;AAC9C,SAAO,KAAK;CACZ;AACD;;;;;AC7DD,IAAa,cAAb,cASU,gBAWR;CACD,AAAQ;CAER,cAAc;AACb,QAAM,cAAc,KAAK;CACzB;CAED,AAAS,WAAWC,YAA0B;AAC7C,SAAO,UAAU,MAAM,EAAE,aAAa,WAAY,EAAC;CACnD;CAED,SACCC,aAUC;AACD,SAAO,UAAU,MAAM,EAAE,WAAW,YAAa,EAAC;CAClD;CAED,AAAS,MACRC,QAUC;AACD,SAAO,UAAU,MAAM,EACtB,aAAa,OACb,EAAC;CAUF;CAED,AAAS,OACRA,QAUC;AACD,SAAO,UAAU,MAAM,EACtB,cAAc,OACd,EAAC;CAUF;;;;;;;;;;;;CAaD,AAAS,UACRC,YAUC;EAQD,MAAM,WAAW,WAAW,WAAW;AAEvC,SAAO,UAAU,MAAM;GACtB,WAAW,2BACV,CAAC,GAAG,KAAK,WAAW,GAAG,QAAS,GAChC,CAACC,MAAe,EAAE,YAClB;GACD,aAAa,MAAM,YAAY,KAAK,YAAY;EAChD,EAAC;CAUF;CAED,AAAS,SACRC,UAUC;AACD,SAAO,UAAU,MAAM,EACtB,WAAW,2BACV,CAAC,GAAG,KAAK,WAAW,GAAG,QAAS,GAChC,CAAC,MAAM,EAAE,YACT,CACD,EAAC;CAUF;CAED,AAAS,OACRC,QAUC;AACD,SAAO,UAAU,MAAM,EACtB,SAAS,OACT,EAAC;CAUF;CAED,AAAS,UACRC,WAUC;AACD,SAAO,UAAU,MAAM,EACtB,YAAY,UAIZ,EAAC;CAUF;;;;;CAMD,AAAS,SACRC,QAUC;EACD,MAAM,UAAU,UAAU,OAAO;AAEjC,SAAO,UAAU,MAAM,EACtB,kBAAkB,QAIlB,EAAC;CAUF;CAED,AAAS,OACRC,IAUC;EACD,MAAM,OAAO,IAAI,KAChB,IACA,KAAK,UACL,KAAK,WACL,KAAK,aACL,KAAK,cACL,KAAK,WACL,KAAK,SACL,KAAK,YACL,KAAK,SACL,KAAK,aACL,KAAK,kBACL,KAAK;AAKN,OAAK,QAAQ,KAAK;AAQlB,SAAO;CACP;AACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CronBuilder-BqpEzMPQ.d.cts","names":[],"sources":["../src/crons/CronBuilder.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CronBuilder-CkXPJiGO.cjs","names":["Function","obj: any","ConstructType","fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>","timeout?: number","_schedule?: ScheduleExpression","input?: TInput","outputSchema?: OutSchema","services: TServices","logger?: TLogger","publisherService?: Service<TEventPublisherServiceName, TEventPublisher>","events: any[]","memorySize?: number","databaseService?: Service<TDatabaseServiceName, TDatabase>","constructs: string[]","FunctionBuilder","ConstructType","memorySize: number","_expression: ScheduleExpression","schema: T","constructs: T","s: Service","services: T","logger: T","publisher: Service<TName, T>","source: Consumable<TName, T> | Service<TName, T>","fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>"],"sources":["../src/crons/Cron.ts","../src/crons/CronBuilder.ts"],"sourcesContent":["import type { AuditableAction } from '@geekmidas/audit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\n\nimport { ConstructType } from '../Construct';\nimport { Function, type FunctionHandler } from '../functions';\n\nexport class Cron<\n\tTInput extends ComposableStandardSchema | undefined = undefined,\n\tTServices extends Service[] = [],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n> extends Function<\n\tTInput,\n\tTServices,\n\tTLogger,\n\tOutSchema,\n\tTEventPublisher,\n\tTEventPublisherServiceName,\n\tundefined,\n\tstring,\n\tTDatabase,\n\tTDatabaseServiceName,\n\tAuditableAction<string, unknown>,\n\tFunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>\n> {\n\tstatic isCron(obj: any): obj is Cron<any, any, any, any> {\n\t\treturn Boolean(\n\t\t\tobj &&\n\t\t\t\t(obj as Function).__IS_FUNCTION__ === true &&\n\t\t\t\tobj.type === ConstructType.Cron,\n\t\t);\n\t}\n\n\tconstructor(\n\t\tfn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>,\n\t\ttimeout?: number,\n\t\tprotected _schedule?: ScheduleExpression,\n\t\tinput?: TInput,\n\t\toutputSchema?: OutSchema,\n\t\tservices: TServices = [] as unknown as TServices,\n\t\tlogger?: TLogger,\n\t\tpublisherService?: Service<TEventPublisherServiceName, TEventPublisher>,\n\t\tevents: any[] = [],\n\t\tmemorySize?: number,\n\t\tdatabaseService?: Service<TDatabaseServiceName, TDatabase>,\n\t\t/**\n\t\t * The construct ids `.dependsOn()` named — last, so no existing positional\n\t\t * argument moves.\n\t\t */\n\t\tconstructs: string[] = [],\n\t) {\n\t\tsuper(\n\t\t\tfn,\n\t\t\ttimeout,\n\t\t\tConstructType.Cron,\n\t\t\tinput,\n\t\t\toutputSchema,\n\t\t\tservices,\n\t\t\tlogger,\n\t\t\tpublisherService,\n\t\t\tevents,\n\t\t\tmemorySize,\n\t\t\tundefined, // auditorStorageService\n\t\t\tdatabaseService,\n\t\t\tconstructs,\n\t\t);\n\t}\n\n\tget schedule(): ScheduleExpression | undefined {\n\t\treturn this._schedule;\n\t}\n}\n\nexport type RateExpression = `rate(${string})`;\n\ntype CronMinute =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| `${number},${number}`\n\t| string; // Allow more complex patterns\n\ntype CronHour =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| `${number},${number}`\n\t| string; // Allow more complex patterns\n\ntype CronDay =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| `${number},${number}`\n\t| string; // Allow more complex patterns\n\ntype CronMonth =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| 'JAN'\n\t| 'FEB'\n\t| 'MAR'\n\t| 'APR'\n\t| 'MAY'\n\t| 'JUN'\n\t| 'JUL'\n\t| 'AUG'\n\t| 'SEP'\n\t| 'OCT'\n\t| 'NOV'\n\t| 'DEC'\n\t| string; // Allow more complex patterns\n\ntype CronWeekday =\n\t| '*'\n\t| number\n\t| `${number}`\n\t| `${number}-${number}`\n\t| `${number}/${number}`\n\t| `*/${number}`\n\t| 'SUN'\n\t| 'MON'\n\t| 'TUE'\n\t| 'WED'\n\t| 'THU'\n\t| 'FRI'\n\t| 'SAT'\n\t| `${string}-${string}` // Allow patterns like MON-FRI\n\t| string; // Allow more complex patterns\n\nexport type CronExpression =\n\t`cron(${CronMinute} ${CronHour} ${CronDay} ${CronMonth} ${CronWeekday})`;\n\nexport type ScheduleExpression = RateExpression | CronExpression;\n","import type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { cloneWith } from '../clone';\nimport {\n\ttype Consumable,\n\tidsOf,\n\ttype ServicesOf,\n\tserviceOf,\n\tservicesOf,\n} from '../construct-interface';\nimport { FunctionBuilder, type FunctionHandler } from '../functions';\nimport { Cron, type ScheduleExpression } from './Cron';\n\nexport class CronBuilder<\n\tTInput extends ComposableStandardSchema,\n\tTServices extends Service[],\n\tTLogger extends Logger = Logger,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n\tTEventPublisher extends EventPublisher<any> | undefined = undefined,\n\tTEventPublisherServiceName extends string = string,\n\tTDatabase = undefined,\n\tTDatabaseServiceName extends string = string,\n> extends FunctionBuilder<\n\tTInput,\n\tOutSchema,\n\tTServices,\n\tTLogger,\n\tTEventPublisher,\n\tTEventPublisherServiceName,\n\tundefined,\n\tstring,\n\tTDatabase,\n\tTDatabaseServiceName\n> {\n\tprivate _schedule?: ScheduleExpression;\n\n\tconstructor() {\n\t\tsuper(ConstructType.Cron);\n\t}\n\n\toverride memorySize(memorySize: number): this {\n\t\treturn cloneWith(this, { _memorySize: memorySize });\n\t}\n\n\tschedule(\n\t\t_expression: ScheduleExpression,\n\t): CronBuilder<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\treturn cloneWith(this, { _schedule: _expression });\n\t}\n\n\toverride input<T extends ComposableStandardSchema>(\n\t\tschema: T,\n\t): CronBuilder<\n\t\tT,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\treturn cloneWith(this, {\n\t\t\tinputSchema: schema as unknown as TInput,\n\t\t}) as unknown as CronBuilder<\n\t\t\tT,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\toverride output<T extends StandardSchemaV1>(\n\t\tschema: T,\n\t): CronBuilder<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tT,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\treturn cloneWith(this, {\n\t\t\toutputSchema: schema as unknown as OutSchema,\n\t\t}) as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tT,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\t/**\n\t * Depend on constructs — a database, a bucket, a mail sender, a queue, a\n\t * topic.\n\t *\n\t * It records the edge and dissolves each construct's client into the\n\t * handler's service record under the construct's own id, so\n\t * `.dependsOn([uploads])` is what makes `services.uploads` exist and type.\n\t *\n\t * Constructs only. A `Service` does not match the shape, which is what keeps\n\t * env sniffing confined to `.services()` and the explicit lift.\n\t */\n\toverride dependsOn<const T extends readonly Consumable[]>(\n\t\tconstructs: T,\n\t): CronBuilder<\n\t\tTInput,\n\t\t[...TServices, ...ServicesOf<T>],\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\t// Both halves of the edge, from one call and one clone: the services the\n\t\t// handler runs with, and the ids the manifest records. Recording them\n\t\t// separately is what let them drift apart.\n\t\t//\n\t\t// `servicesOf` is the half that validates, so it runs first — recording\n\t\t// ids ahead of it left a caught `NotAConstruct` with `undefined` already\n\t\t// on a `string[]`.\n\t\tconst services = servicesOf(constructs) as unknown as Service[];\n\n\t\treturn cloneWith(this, {\n\t\t\t_services: uniqBy(\n\t\t\t\t[...this._services, ...services],\n\t\t\t\t(s: Service) => s.serviceName,\n\t\t\t),\n\t\t\t_constructs: idsOf(constructs, this._constructs),\n\t\t}) as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\t[...TServices, ...ServicesOf<T>],\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\toverride services<T extends Service[]>(\n\t\tservices: T,\n\t): CronBuilder<\n\t\tTInput,\n\t\t[...TServices, ...T],\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\treturn cloneWith(this, {\n\t\t\t_services: uniqBy(\n\t\t\t\t[...this._services, ...services],\n\t\t\t\t(s) => s.serviceName,\n\t\t\t) as TServices,\n\t\t}) as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\t[...TServices, ...T],\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\toverride logger<T extends Logger>(\n\t\tlogger: T,\n\t): CronBuilder<\n\t\tTInput,\n\t\tTServices,\n\t\tT,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\treturn cloneWith(this, {\n\t\t\t_logger: logger as unknown as TLogger,\n\t\t}) as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tT,\n\t\t\tOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\toverride publisher<T extends EventPublisher<any>, TName extends string>(\n\t\tpublisher: Service<TName, T>,\n\t): CronBuilder<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tT,\n\t\tTName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\treturn cloneWith(this, {\n\t\t\t_publisher: publisher as unknown as Service<\n\t\t\t\tTEventPublisherServiceName,\n\t\t\t\tTEventPublisher\n\t\t\t>,\n\t\t}) as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tT,\n\t\t\tTName,\n\t\t\tTDatabase,\n\t\t\tTDatabaseServiceName\n\t\t>;\n\t}\n\n\t/**\n\t * Set the database service for this cron job.\n\t * The database will be available in the handler context as `db`.\n\t */\n\toverride database<T, TName extends string>(\n\t\tsource: Consumable<TName, T> | Service<TName, T>,\n\t): CronBuilder<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tT,\n\t\tTName\n\t> {\n\t\tconst service = serviceOf(source);\n\n\t\treturn cloneWith(this, {\n\t\t\t_databaseService: service as unknown as Service<\n\t\t\t\tTDatabaseServiceName,\n\t\t\t\tTDatabase\n\t\t\t>,\n\t\t}) as unknown as CronBuilder<\n\t\t\tTInput,\n\t\t\tTServices,\n\t\t\tTLogger,\n\t\t\tOutSchema,\n\t\t\tTEventPublisher,\n\t\t\tTEventPublisherServiceName,\n\t\t\tT,\n\t\t\tTName\n\t\t>;\n\t}\n\n\toverride handle(\n\t\tfn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>,\n\t): Cron<\n\t\tTInput,\n\t\tTServices,\n\t\tTLogger,\n\t\tOutSchema,\n\t\tTEventPublisher,\n\t\tTEventPublisherServiceName,\n\t\tTDatabase,\n\t\tTDatabaseServiceName\n\t> {\n\t\tconst cron = new Cron(\n\t\t\tfn,\n\t\t\tthis._timeout,\n\t\t\tthis._schedule,\n\t\t\tthis.inputSchema,\n\t\t\tthis.outputSchema,\n\t\t\tthis._services,\n\t\t\tthis._logger,\n\t\t\tthis._publisher,\n\t\t\tthis._events,\n\t\t\tthis._memorySize,\n\t\t\tthis._databaseService,\n\t\t\tthis._constructs,\n\t\t);\n\n\t\t// Which process runs it. Carried from the factory rather than inferred\n\t\t// from the directory the file happens to sit in.\n\t\tcron.owner = this._owner;\n\n\t\t// No reset. `.handle()` reads this builder and leaves it alone, so a\n\t\t// configured base — `const fn = f.logger(log).timeout(60_000)` — keeps\n\t\t// its configuration for every construct built from it. The reset that\n\t\t// used to be here wiped the base on first use, which made a base usable\n\t\t// exactly once, and quietly reverted the logger to the default.\n\n\t\treturn cron;\n\t}\n}\n"],"mappings":";;;;;;;AAUA,IAAa,OAAb,cASUA,2BAaR;CACD,OAAO,OAAOC,KAA2C;AACxD,SAAO,QACN,OACE,IAAiB,oBAAoB,QACtC,IAAI,SAASC,gCAAc,KAC5B;CACD;CAED,YACCC,IACAC,SACUC,WACVC,OACAC,cACAC,WAAsB,CAAE,GACxBC,QACAC,kBACAC,SAAgB,CAAE,GAClBC,YACAC,iBAKAC,aAAuB,CAAE,GACxB;AACD,QACC,IACA,SACAZ,gCAAc,MACd,OACA,cACA,UACA,QACA,kBACA,QACA,oBAEA,iBACA,WACA;EA7BS;CA8BV;CAED,IAAI,WAA2C;AAC9C,SAAO,KAAK;CACZ;AACD;;;;;AC7DD,IAAa,cAAb,cASUa,kCAWR;CACD,AAAQ;CAER,cAAc;AACb,QAAMC,gCAAc,KAAK;CACzB;CAED,AAAS,WAAWC,YAA0B;AAC7C,SAAO,wBAAU,MAAM,EAAE,aAAa,WAAY,EAAC;CACnD;CAED,SACCC,aAUC;AACD,SAAO,wBAAU,MAAM,EAAE,WAAW,YAAa,EAAC;CAClD;CAED,AAAS,MACRC,QAUC;AACD,SAAO,wBAAU,MAAM,EACtB,aAAa,OACb,EAAC;CAUF;CAED,AAAS,OACRA,QAUC;AACD,SAAO,wBAAU,MAAM,EACtB,cAAc,OACd,EAAC;CAUF;;;;;;;;;;;;CAaD,AAAS,UACRC,YAUC;EAQD,MAAM,WAAW,uCAAW,WAAW;AAEvC,SAAO,wBAAU,MAAM;GACtB,WAAW,2BACV,CAAC,GAAG,KAAK,WAAW,GAAG,QAAS,GAChC,CAACC,MAAe,EAAE,YAClB;GACD,aAAa,kCAAM,YAAY,KAAK,YAAY;EAChD,EAAC;CAUF;CAED,AAAS,SACRC,UAUC;AACD,SAAO,wBAAU,MAAM,EACtB,WAAW,2BACV,CAAC,GAAG,KAAK,WAAW,GAAG,QAAS,GAChC,CAAC,MAAM,EAAE,YACT,CACD,EAAC;CAUF;CAED,AAAS,OACRC,QAUC;AACD,SAAO,wBAAU,MAAM,EACtB,SAAS,OACT,EAAC;CAUF;CAED,AAAS,UACRC,WAUC;AACD,SAAO,wBAAU,MAAM,EACtB,YAAY,UAIZ,EAAC;CAUF;;;;;CAMD,AAAS,SACRC,QAUC;EACD,MAAM,UAAU,sCAAU,OAAO;AAEjC,SAAO,wBAAU,MAAM,EACtB,kBAAkB,QAIlB,EAAC;CAUF;CAED,AAAS,OACRC,IAUC;EACD,MAAM,OAAO,IAAI,KAChB,IACA,KAAK,UACL,KAAK,WACL,KAAK,aACL,KAAK,cACL,KAAK,WACL,KAAK,SACL,KAAK,YACL,KAAK,SACL,KAAK,aACL,KAAK,kBACL,KAAK;AAKN,OAAK,QAAQ,KAAK;AAQlB,SAAO;CACP;AACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Endpoint-2Wg7T7Cq.d.mts","names":[],"sources":["../src/endpoints/Authorizer.ts","../src/endpoints/audit.ts","../src/endpoints/rls.ts","../src/endpoints/Endpoint.ts"],"sourcesContent":[],"mappings":"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"}
|