@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
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { t as StandardSchemaV1 } from "./index-CeEtxDmK.cjs";
|
|
2
|
+
import { a as FunctionHandler, t as FunctionBuilder } from "./index-nBQT1tAh.cjs";
|
|
3
|
+
import { c as ServicesOf, r as Consumable } from "./construct-interface-DIaTNKax.cjs";
|
|
4
|
+
import { i as ScheduleExpression, t as Cron } from "./Cron-Bdcg9OAL.cjs";
|
|
5
5
|
import { EventPublisher } from "@geekmidas/events";
|
|
6
6
|
import { Logger } from "@geekmidas/logger";
|
|
7
7
|
import { ComposableStandardSchema } from "@geekmidas/schema";
|
|
8
|
-
import {
|
|
9
|
-
|
|
8
|
+
import { Service } from "@geekmidas/services";
|
|
10
9
|
//#region src/crons/CronBuilder.d.ts
|
|
11
10
|
declare class CronBuilder<TInput extends ComposableStandardSchema, TServices extends Service[], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string> extends FunctionBuilder<TInput, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName, undefined, string, TDatabase, TDatabaseServiceName> {
|
|
12
11
|
private _schedule?;
|
|
@@ -37,8 +36,6 @@ declare class CronBuilder<TInput extends ComposableStandardSchema, TServices ext
|
|
|
37
36
|
database<T, TName extends string>(source: Consumable<TName, T> | Service<TName, T>): CronBuilder<TInput, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName, T, TName>;
|
|
38
37
|
handle(fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>): Cron<TInput, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName, TDatabase, TDatabaseServiceName>;
|
|
39
38
|
}
|
|
40
|
-
//# sourceMappingURL=CronBuilder.d.ts.map
|
|
41
|
-
|
|
42
39
|
//#endregion
|
|
43
|
-
export { CronBuilder };
|
|
44
|
-
//# sourceMappingURL=CronBuilder-
|
|
40
|
+
export { CronBuilder as t };
|
|
41
|
+
//# sourceMappingURL=CronBuilder-DR21m9h2.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CronBuilder-DR21m9h2.d.cts","names":[],"sources":["../src/crons/CronBuilder.ts"],"mappings":";;;;;;;;;cAkBa,YACZ,eAAe,0BACf,kBAAkB,WAClB,gBAAgB,SAAS,QACzB,kBAAkB,0CAClB,wBAAwB,6CACxB,oDACA,uBACA,sDACS,gBACT,QACA,WACA,WACA,SACA,iBACA,+CAGA,WACA;UAEQ;EAER;EAIS,WAAW;EAIpB,SACC,aAAa,qBACX,YACF,QACA,WACA,SACA,WACA,iBACA,4BACA,WACA;EAKQ,MAAM,UAAU,0BACxB,QAAQ,IACN,YACF,GACA,WACA,SACA,WACA,iBACA,4BACA,WACA;EAgBQ,OAAO,UAAU,kBACzB,QAAQ,IACN,YACF,QACA,WACA,SACA,GACA,iBACA,4BACA,WACA;;;;;;;;;;;;EA2BQ,gBAAgB,mBAAmB,cAC3C,YAAY,IACV,YACF,YACI,cAAc,WAAW,KAC7B,SACA,WACA,iBACA,4BACA,WACA;EA6BQ,SAAS,UAAU,WAC3B,UAAU,IACR,YACF,YACI,cAAc,IAClB,SACA,WACA,iBACA,4BACA,WACA;EAmBQ,OAAO,UAAU,QACzB,QAAQ,IACN,YACF,QACA,WACA,GACA,WACA,iBACA,4BACA,WACA;EAgBQ,UAAU,UAAU,qBAAqB,sBACjD,WAAW,QAAQ,OAAO,KACxB,YACF,QACA,WACA,SACA,WACA,GACA,OACA,WACA;;;;;EAuBQ,SAAS,GAAG,sBACpB,QAAQ,WAAW,OAAO,KAAK,QAAQ,OAAO,KAC5C,YACF,QACA,WACA,SACA,WACA,iBACA,4BACA,GACA;EAqBQ,OACR,IAAI,gBAAgB,QAAQ,WAAW,SAAS,WAAW,aACzD,KACF,QACA,WACA,SACA,WACA,iBACA,4BACA,WACA"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { t as StandardSchemaV1 } from "./index-CeEtxDmK.mjs";
|
|
2
|
+
import { a as FunctionHandler, t as FunctionBuilder } from "./index-DU3Twmwh.mjs";
|
|
3
|
+
import { c as ServicesOf, r as Consumable } from "./construct-interface-Clz7_BwB.mjs";
|
|
4
|
+
import { i as ScheduleExpression, t as Cron } from "./Cron-AYpQq725.mjs";
|
|
4
5
|
import { EventPublisher } from "@geekmidas/events";
|
|
6
|
+
import { Service } from "@geekmidas/services";
|
|
5
7
|
import { Logger } from "@geekmidas/logger";
|
|
6
8
|
import { ComposableStandardSchema } from "@geekmidas/schema";
|
|
7
|
-
import { Service } from "@geekmidas/services";
|
|
8
|
-
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
9
|
-
|
|
10
9
|
//#region src/crons/CronBuilder.d.ts
|
|
11
10
|
declare class CronBuilder<TInput extends ComposableStandardSchema, TServices extends Service[], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string> extends FunctionBuilder<TInput, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName, undefined, string, TDatabase, TDatabaseServiceName> {
|
|
12
11
|
private _schedule?;
|
|
@@ -37,8 +36,6 @@ declare class CronBuilder<TInput extends ComposableStandardSchema, TServices ext
|
|
|
37
36
|
database<T, TName extends string>(source: Consumable<TName, T> | Service<TName, T>): CronBuilder<TInput, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName, T, TName>;
|
|
38
37
|
handle(fn: FunctionHandler<TInput, TServices, TLogger, OutSchema, TDatabase>): Cron<TInput, TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName, TDatabase, TDatabaseServiceName>;
|
|
39
38
|
}
|
|
40
|
-
//# sourceMappingURL=CronBuilder.d.ts.map
|
|
41
|
-
|
|
42
39
|
//#endregion
|
|
43
|
-
export { CronBuilder };
|
|
44
|
-
//# sourceMappingURL=CronBuilder-
|
|
40
|
+
export { CronBuilder as t };
|
|
41
|
+
//# sourceMappingURL=CronBuilder-DeBnPVIT.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CronBuilder-DeBnPVIT.d.mts","names":[],"sources":["../src/crons/CronBuilder.ts"],"mappings":";;;;;;;;;cAkBa,YACZ,eAAe,0BACf,kBAAkB,WAClB,gBAAgB,SAAS,QACzB,kBAAkB,0CAClB,wBAAwB,6CACxB,oDACA,uBACA,sDACS,gBACT,QACA,WACA,WACA,SACA,iBACA,+CAGA,WACA;UAEQ;EAER;EAIS,WAAW;EAIpB,SACC,aAAa,qBACX,YACF,QACA,WACA,SACA,WACA,iBACA,4BACA,WACA;EAKQ,MAAM,UAAU,0BACxB,QAAQ,IACN,YACF,GACA,WACA,SACA,WACA,iBACA,4BACA,WACA;EAgBQ,OAAO,UAAU,kBACzB,QAAQ,IACN,YACF,QACA,WACA,SACA,GACA,iBACA,4BACA,WACA;;;;;;;;;;;;EA2BQ,gBAAgB,mBAAmB,cAC3C,YAAY,IACV,YACF,YACI,cAAc,WAAW,KAC7B,SACA,WACA,iBACA,4BACA,WACA;EA6BQ,SAAS,UAAU,WAC3B,UAAU,IACR,YACF,YACI,cAAc,IAClB,SACA,WACA,iBACA,4BACA,WACA;EAmBQ,OAAO,UAAU,QACzB,QAAQ,IACN,YACF,QACA,WACA,GACA,WACA,iBACA,4BACA,WACA;EAgBQ,UAAU,UAAU,qBAAqB,sBACjD,WAAW,QAAQ,OAAO,KACxB,YACF,QACA,WACA,SACA,WACA,GACA,OACA,WACA;;;;;EAuBQ,SAAS,GAAG,sBACpB,QAAQ,WAAW,OAAO,KAAK,QAAQ,OAAO,KAC5C,YACF,QACA,WACA,SACA,WACA,iBACA,4BACA,GACA;EAqBQ,OACR,IAAI,gBAAgB,QAAQ,WAAW,SAAS,WAAW,aACzD,KACF,QACA,WACA,SACA,WACA,iBACA,4BACA,WACA"}
|
|
@@ -1,29 +1,36 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { idsOf, serviceOf, servicesOf } from "./construct-interface
|
|
3
|
-
import { Function, FunctionBuilder
|
|
4
|
-
import { cloneWith } from "./clone-
|
|
5
|
-
|
|
1
|
+
import { o as __toESM } from "./Construct-Detz65RA.mjs";
|
|
2
|
+
import { idsOf, serviceOf, servicesOf } from "./construct-interface.mjs";
|
|
3
|
+
import { i as require_lodash_uniqby, n as Function, t as FunctionBuilder } from "./functions-faoJOUmr.mjs";
|
|
4
|
+
import { t as cloneWith } from "./clone-EKNovYHu.mjs";
|
|
6
5
|
//#region src/crons/Cron.ts
|
|
6
|
+
var import_lodash_uniqby = /* @__PURE__ */ __toESM(require_lodash_uniqby(), 1);
|
|
7
7
|
var Cron = class extends Function {
|
|
8
|
+
_schedule;
|
|
9
|
+
/**
|
|
10
|
+
* Where this cron's schedule lives when a server runs it.
|
|
11
|
+
*
|
|
12
|
+
* Carried from the worker that built it, which declared it once with
|
|
13
|
+
* `.database(db)`. Unread on AWS, where the schedule is an EventBridge rule
|
|
14
|
+
* and nothing in this process fires anything.
|
|
15
|
+
*/
|
|
16
|
+
scheduleStore;
|
|
8
17
|
static isCron(obj) {
|
|
9
|
-
return Boolean(obj && obj.__IS_FUNCTION__ === true && obj.type ===
|
|
18
|
+
return Boolean(obj && obj.__IS_FUNCTION__ === true && obj.type === "dev.geekmidas.function.cron");
|
|
10
19
|
}
|
|
11
20
|
constructor(fn, timeout, _schedule, input, outputSchema, services = [], logger, publisherService, events = [], memorySize, databaseService, constructs = []) {
|
|
12
|
-
super(fn, timeout,
|
|
21
|
+
super(fn, timeout, "dev.geekmidas.function.cron", input, outputSchema, services, logger, publisherService, events, memorySize, void 0, databaseService, constructs);
|
|
13
22
|
this._schedule = _schedule;
|
|
14
23
|
}
|
|
15
24
|
get schedule() {
|
|
16
25
|
return this._schedule;
|
|
17
26
|
}
|
|
18
27
|
};
|
|
19
|
-
|
|
20
28
|
//#endregion
|
|
21
29
|
//#region src/crons/CronBuilder.ts
|
|
22
|
-
var import_lodash = __toESM(require_lodash(), 1);
|
|
23
30
|
var CronBuilder = class extends FunctionBuilder {
|
|
24
31
|
_schedule;
|
|
25
32
|
constructor() {
|
|
26
|
-
super(
|
|
33
|
+
super("dev.geekmidas.function.cron");
|
|
27
34
|
}
|
|
28
35
|
memorySize(memorySize) {
|
|
29
36
|
return cloneWith(this, { _memorySize: memorySize });
|
|
@@ -51,12 +58,12 @@ var CronBuilder = class extends FunctionBuilder {
|
|
|
51
58
|
dependsOn(constructs) {
|
|
52
59
|
const services = servicesOf(constructs);
|
|
53
60
|
return cloneWith(this, {
|
|
54
|
-
_services: (0,
|
|
61
|
+
_services: (0, import_lodash_uniqby.default)([...this._services, ...services], (s) => s.serviceName),
|
|
55
62
|
_constructs: idsOf(constructs, this._constructs)
|
|
56
63
|
});
|
|
57
64
|
}
|
|
58
65
|
services(services) {
|
|
59
|
-
return cloneWith(this, { _services: (0,
|
|
66
|
+
return cloneWith(this, { _services: (0, import_lodash_uniqby.default)([...this._services, ...services], (s) => s.serviceName) });
|
|
60
67
|
}
|
|
61
68
|
logger(logger) {
|
|
62
69
|
return cloneWith(this, { _logger: logger });
|
|
@@ -75,10 +82,11 @@ var CronBuilder = class extends FunctionBuilder {
|
|
|
75
82
|
handle(fn) {
|
|
76
83
|
const cron = new Cron(fn, this._timeout, this._schedule, this.inputSchema, this.outputSchema, this._services, this._logger, this._publisher, this._events, this._memorySize, this._databaseService, this._constructs);
|
|
77
84
|
cron.owner = this._owner;
|
|
85
|
+
cron.scheduleStore = this._scheduleStore;
|
|
78
86
|
return cron;
|
|
79
87
|
}
|
|
80
88
|
};
|
|
81
|
-
|
|
82
89
|
//#endregion
|
|
83
|
-
export { Cron, CronBuilder };
|
|
84
|
-
|
|
90
|
+
export { Cron as n, CronBuilder as t };
|
|
91
|
+
|
|
92
|
+
//# sourceMappingURL=CronBuilder-vkjuo1UP.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CronBuilder-vkjuo1UP.mjs","names":["uniqBy"],"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\t/**\n\t * Where this cron's schedule lives when a server runs it.\n\t *\n\t * Carried from the worker that built it, which declared it once with\n\t * `.database(db)`. Unread on AWS, where the schedule is an EventBridge rule\n\t * and nothing in this process fires anything.\n\t */\n\tscheduleStore?: unknown;\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// And where that process keeps the schedule, when a server is what runs\n\t\t// it. Declared once on the worker rather than repeated per cron.\n\t\tcron.scheduleStore = this._scheduleStore;\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;CAqBU;;;;;;;;CAbX;CAEA,OAAO,OAAO,KAA2C;EACxD,OAAO,QACN,OACE,IAAiB,oBAAoB,QACtC,IAAI,SAAA,6BACN;CACD;CAEA,YACC,IACA,SACA,WACA,OACA,cACA,WAAsB,CAAC,GACvB,QACA,kBACA,SAAgB,CAAC,GACjB,YACA,iBAKA,aAAuB,CAAC,GACvB;EACD,MACC,IACA,SAAA,+BAEA,OACA,cACA,UACA,QACA,kBACA,QACA,YACA,KAAA,GACA,iBACA,UACD;EA7BU,KAAA,YAAA;CA8BX;CAEA,IAAI,WAA2C;EAC9C,OAAO,KAAK;CACb;AACD;;;ACtEA,IAAa,cAAb,cASU,gBAWR;CACD;CAEA,cAAc;EACb,MAAA,6BAAwB;CACzB;CAEA,WAAoB,YAA0B;EAC7C,OAAO,UAAU,MAAM,EAAE,aAAa,WAAW,CAAC;CACnD;CAEA,SACC,aAUC;EACD,OAAO,UAAU,MAAM,EAAE,WAAW,YAAY,CAAC;CAClD;CAEA,MACC,QAUC;EACD,OAAO,UAAU,MAAM,EACtB,aAAa,OACd,CAAC;CAUF;CAEA,OACC,QAUC;EACD,OAAO,UAAU,MAAM,EACtB,cAAc,OACf,CAAC;CAUF;;;;;;;;;;;;CAaA,UACC,YAUC;EAQD,MAAM,WAAW,WAAW,UAAU;EAEtC,OAAO,UAAU,MAAM;GACtB,YAAA,GAAWA,qBAAAA,QAAAA,CACV,CAAC,GAAG,KAAK,WAAW,GAAG,QAAQ,IAC9B,MAAe,EAAE,WACnB;GACA,aAAa,MAAM,YAAY,KAAK,WAAW;EAChD,CAAC;CAUF;CAEA,SACC,UAUC;EACD,OAAO,UAAU,MAAM,EACtB,YAAA,GAAWA,qBAAAA,QAAAA,CACV,CAAC,GAAG,KAAK,WAAW,GAAG,QAAQ,IAC9B,MAAM,EAAE,WACV,EACD,CAAC;CAUF;CAEA,OACC,QAUC;EACD,OAAO,UAAU,MAAM,EACtB,SAAS,OACV,CAAC;CAUF;CAEA,UACC,WAUC;EACD,OAAO,UAAU,MAAM,EACtB,YAAY,UAIb,CAAC;CAUF;;;;;CAMA,SACC,QAUC;EACD,MAAM,UAAU,UAAU,MAAM;EAEhC,OAAO,UAAU,MAAM,EACtB,kBAAkB,QAInB,CAAC;CAUF;CAEA,OACC,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,WACN;EAIA,KAAK,QAAQ,KAAK;EAIlB,KAAK,gBAAgB,KAAK;EAQ1B,OAAO;CACR;AACD"}
|
|
@@ -1,30 +1,37 @@
|
|
|
1
|
-
const
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
const require_functions = require(
|
|
5
|
-
const require_clone = require(
|
|
6
|
-
|
|
1
|
+
const require_rolldown_runtime = require("./rolldown-runtime-y5ARvAq5.cjs");
|
|
2
|
+
require("./Construct-yG9Sw-5p.cjs");
|
|
3
|
+
const require_construct_interface = require("./construct-interface.cjs");
|
|
4
|
+
const require_functions = require("./functions-VnOTEp74.cjs");
|
|
5
|
+
const require_clone = require("./clone-UGJpvQnL.cjs");
|
|
7
6
|
//#region src/crons/Cron.ts
|
|
7
|
+
var import_lodash_uniqby = /* @__PURE__ */ require_rolldown_runtime.__toESM(require_functions.require_lodash_uniqby(), 1);
|
|
8
8
|
var Cron = class extends require_functions.Function {
|
|
9
|
+
_schedule;
|
|
10
|
+
/**
|
|
11
|
+
* Where this cron's schedule lives when a server runs it.
|
|
12
|
+
*
|
|
13
|
+
* Carried from the worker that built it, which declared it once with
|
|
14
|
+
* `.database(db)`. Unread on AWS, where the schedule is an EventBridge rule
|
|
15
|
+
* and nothing in this process fires anything.
|
|
16
|
+
*/
|
|
17
|
+
scheduleStore;
|
|
9
18
|
static isCron(obj) {
|
|
10
|
-
return Boolean(obj && obj.__IS_FUNCTION__ === true && obj.type ===
|
|
19
|
+
return Boolean(obj && obj.__IS_FUNCTION__ === true && obj.type === "dev.geekmidas.function.cron");
|
|
11
20
|
}
|
|
12
21
|
constructor(fn, timeout, _schedule, input, outputSchema, services = [], logger, publisherService, events = [], memorySize, databaseService, constructs = []) {
|
|
13
|
-
super(fn, timeout,
|
|
22
|
+
super(fn, timeout, "dev.geekmidas.function.cron", input, outputSchema, services, logger, publisherService, events, memorySize, void 0, databaseService, constructs);
|
|
14
23
|
this._schedule = _schedule;
|
|
15
24
|
}
|
|
16
25
|
get schedule() {
|
|
17
26
|
return this._schedule;
|
|
18
27
|
}
|
|
19
28
|
};
|
|
20
|
-
|
|
21
29
|
//#endregion
|
|
22
30
|
//#region src/crons/CronBuilder.ts
|
|
23
|
-
var import_lodash = require_chunk.__toESM(require_functions.require_lodash(), 1);
|
|
24
31
|
var CronBuilder = class extends require_functions.FunctionBuilder {
|
|
25
32
|
_schedule;
|
|
26
33
|
constructor() {
|
|
27
|
-
super(
|
|
34
|
+
super("dev.geekmidas.function.cron");
|
|
28
35
|
}
|
|
29
36
|
memorySize(memorySize) {
|
|
30
37
|
return require_clone.cloneWith(this, { _memorySize: memorySize });
|
|
@@ -52,12 +59,12 @@ var CronBuilder = class extends require_functions.FunctionBuilder {
|
|
|
52
59
|
dependsOn(constructs) {
|
|
53
60
|
const services = require_construct_interface.servicesOf(constructs);
|
|
54
61
|
return require_clone.cloneWith(this, {
|
|
55
|
-
_services: (0,
|
|
62
|
+
_services: (0, import_lodash_uniqby.default)([...this._services, ...services], (s) => s.serviceName),
|
|
56
63
|
_constructs: require_construct_interface.idsOf(constructs, this._constructs)
|
|
57
64
|
});
|
|
58
65
|
}
|
|
59
66
|
services(services) {
|
|
60
|
-
return require_clone.cloneWith(this, { _services: (0,
|
|
67
|
+
return require_clone.cloneWith(this, { _services: (0, import_lodash_uniqby.default)([...this._services, ...services], (s) => s.serviceName) });
|
|
61
68
|
}
|
|
62
69
|
logger(logger) {
|
|
63
70
|
return require_clone.cloneWith(this, { _logger: logger });
|
|
@@ -76,21 +83,22 @@ var CronBuilder = class extends require_functions.FunctionBuilder {
|
|
|
76
83
|
handle(fn) {
|
|
77
84
|
const cron = new Cron(fn, this._timeout, this._schedule, this.inputSchema, this.outputSchema, this._services, this._logger, this._publisher, this._events, this._memorySize, this._databaseService, this._constructs);
|
|
78
85
|
cron.owner = this._owner;
|
|
86
|
+
cron.scheduleStore = this._scheduleStore;
|
|
79
87
|
return cron;
|
|
80
88
|
}
|
|
81
89
|
};
|
|
82
|
-
|
|
83
90
|
//#endregion
|
|
84
|
-
Object.defineProperty(exports,
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
91
|
+
Object.defineProperty(exports, "Cron", {
|
|
92
|
+
enumerable: true,
|
|
93
|
+
get: function() {
|
|
94
|
+
return Cron;
|
|
95
|
+
}
|
|
89
96
|
});
|
|
90
|
-
Object.defineProperty(exports,
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
97
|
+
Object.defineProperty(exports, "CronBuilder", {
|
|
98
|
+
enumerable: true,
|
|
99
|
+
get: function() {
|
|
100
|
+
return CronBuilder;
|
|
101
|
+
}
|
|
95
102
|
});
|
|
96
|
-
|
|
103
|
+
|
|
104
|
+
//# sourceMappingURL=CronBuilder-zdTdaT-e.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CronBuilder-zdTdaT-e.cjs","names":["Function","FunctionBuilder","cloneWith","servicesOf","uniqBy","idsOf","serviceOf"],"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\t/**\n\t * Where this cron's schedule lives when a server runs it.\n\t *\n\t * Carried from the worker that built it, which declared it once with\n\t * `.database(db)`. Unread on AWS, where the schedule is an EventBridge rule\n\t * and nothing in this process fires anything.\n\t */\n\tscheduleStore?: unknown;\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// And where that process keeps the schedule, when a server is what runs\n\t\t// it. Declared once on the worker rather than repeated per cron.\n\t\tcron.scheduleStore = this._scheduleStore;\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,kBAAAA,SAaR;CAqBU;;;;;;;;CAbX;CAEA,OAAO,OAAO,KAA2C;EACxD,OAAO,QACN,OACE,IAAiB,oBAAoB,QACtC,IAAI,SAAA,6BACN;CACD;CAEA,YACC,IACA,SACA,WACA,OACA,cACA,WAAsB,CAAC,GACvB,QACA,kBACA,SAAgB,CAAC,GACjB,YACA,iBAKA,aAAuB,CAAC,GACvB;EACD,MACC,IACA,SAAA,+BAEA,OACA,cACA,UACA,QACA,kBACA,QACA,YACA,KAAA,GACA,iBACA,UACD;EA7BU,KAAA,YAAA;CA8BX;CAEA,IAAI,WAA2C;EAC9C,OAAO,KAAK;CACb;AACD;;;ACtEA,IAAa,cAAb,cASUC,kBAAAA,gBAWR;CACD;CAEA,cAAc;EACb,MAAA,6BAAwB;CACzB;CAEA,WAAoB,YAA0B;EAC7C,OAAOC,cAAAA,UAAU,MAAM,EAAE,aAAa,WAAW,CAAC;CACnD;CAEA,SACC,aAUC;EACD,OAAOA,cAAAA,UAAU,MAAM,EAAE,WAAW,YAAY,CAAC;CAClD;CAEA,MACC,QAUC;EACD,OAAOA,cAAAA,UAAU,MAAM,EACtB,aAAa,OACd,CAAC;CAUF;CAEA,OACC,QAUC;EACD,OAAOA,cAAAA,UAAU,MAAM,EACtB,cAAc,OACf,CAAC;CAUF;;;;;;;;;;;;CAaA,UACC,YAUC;EAQD,MAAM,WAAWC,4BAAAA,WAAW,UAAU;EAEtC,OAAOD,cAAAA,UAAU,MAAM;GACtB,YAAA,GAAWE,qBAAAA,QAAAA,CACV,CAAC,GAAG,KAAK,WAAW,GAAG,QAAQ,IAC9B,MAAe,EAAE,WACnB;GACA,aAAaC,4BAAAA,MAAM,YAAY,KAAK,WAAW;EAChD,CAAC;CAUF;CAEA,SACC,UAUC;EACD,OAAOH,cAAAA,UAAU,MAAM,EACtB,YAAA,GAAWE,qBAAAA,QAAAA,CACV,CAAC,GAAG,KAAK,WAAW,GAAG,QAAQ,IAC9B,MAAM,EAAE,WACV,EACD,CAAC;CAUF;CAEA,OACC,QAUC;EACD,OAAOF,cAAAA,UAAU,MAAM,EACtB,SAAS,OACV,CAAC;CAUF;CAEA,UACC,WAUC;EACD,OAAOA,cAAAA,UAAU,MAAM,EACtB,YAAY,UAIb,CAAC;CAUF;;;;;CAMA,SACC,QAUC;EACD,MAAM,UAAUI,4BAAAA,UAAU,MAAM;EAEhC,OAAOJ,cAAAA,UAAU,MAAM,EACtB,kBAAkB,QAInB,CAAC;CAUF;CAEA,OACC,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,WACN;EAIA,KAAK,QAAQ,KAAK;EAIlB,KAAK,gBAAgB,KAAK;EAQ1B,OAAO;CACR;AACD"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { t as StandardSchemaV1 } from "./index-CeEtxDmK.mjs";
|
|
2
|
+
import { a as FunctionHandler, r as Function } from "./index-DU3Twmwh.mjs";
|
|
3
|
+
import { t as Authenticator } from "./construct-interface-Clz7_BwB.mjs";
|
|
4
|
+
import { n as LowerHttpMethod, t as HttpMethod } from "./types-DMuSQeLL.mjs";
|
|
5
|
+
import { n as AuthSession } from "./auth-CHWIdcQO.mjs";
|
|
3
6
|
import { ComponentCollector, OpenApiSchemaOptions } from "@geekmidas/schema/openapi";
|
|
4
7
|
import { EnvironmentParser } from "@geekmidas/envkit";
|
|
8
|
+
import { EventPublisher, ExtractPublisherMessage, MappedEvent } from "@geekmidas/events";
|
|
9
|
+
import { RateLimitConfig } from "@geekmidas/rate-limit";
|
|
5
10
|
import { Service, ServiceRecord } from "@geekmidas/services";
|
|
6
11
|
import { AuditActor, AuditStorage, AuditableAction, Auditor, ExtractAuditPayload, ExtractAuditType } from "@geekmidas/audit";
|
|
7
|
-
import { RateLimitConfig } from "@geekmidas/rate-limit";
|
|
8
|
-
import { EventPublisher, ExtractPublisherMessage, MappedEvent } from "@geekmidas/events";
|
|
9
12
|
import { Logger } from "@geekmidas/logger";
|
|
10
13
|
import { InferComposableStandardSchema, InferStandardSchema, InferStandardSchemaInput } from "@geekmidas/schema";
|
|
11
|
-
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
12
14
|
import { OpenAPIV3_1 } from "openapi-types";
|
|
13
|
-
|
|
14
15
|
//#region src/endpoints/Authorizer.d.ts
|
|
15
16
|
/**
|
|
16
17
|
* OpenAPI 3.1 compliant security scheme definition.
|
|
@@ -57,38 +58,38 @@ interface OAuthFlow {
|
|
|
57
58
|
*/
|
|
58
59
|
declare const BUILT_IN_SECURITY_SCHEMES: {
|
|
59
60
|
readonly jwt: {
|
|
60
|
-
readonly type:
|
|
61
|
-
readonly scheme:
|
|
62
|
-
readonly bearerFormat:
|
|
63
|
-
readonly description:
|
|
61
|
+
readonly type: 'http';
|
|
62
|
+
readonly scheme: 'bearer';
|
|
63
|
+
readonly bearerFormat: 'JWT';
|
|
64
|
+
readonly description: 'JWT Bearer token authentication';
|
|
64
65
|
};
|
|
65
66
|
readonly bearer: {
|
|
66
|
-
readonly type:
|
|
67
|
-
readonly scheme:
|
|
68
|
-
readonly description:
|
|
67
|
+
readonly type: 'http';
|
|
68
|
+
readonly scheme: 'bearer';
|
|
69
|
+
readonly description: 'Bearer token authentication';
|
|
69
70
|
};
|
|
70
71
|
readonly apiKey: {
|
|
71
|
-
readonly type:
|
|
72
|
-
readonly in:
|
|
73
|
-
readonly name:
|
|
74
|
-
readonly description:
|
|
72
|
+
readonly type: 'apiKey';
|
|
73
|
+
readonly in: 'header';
|
|
74
|
+
readonly name: 'X-API-Key';
|
|
75
|
+
readonly description: 'API key authentication via header';
|
|
75
76
|
};
|
|
76
77
|
readonly oauth2: {
|
|
77
|
-
readonly type:
|
|
78
|
+
readonly type: 'oauth2';
|
|
78
79
|
readonly flows: {};
|
|
79
|
-
readonly description:
|
|
80
|
+
readonly description: 'OAuth 2.0 authentication';
|
|
80
81
|
};
|
|
81
82
|
readonly oidc: {
|
|
82
|
-
readonly type:
|
|
83
|
-
readonly openIdConnectUrl:
|
|
84
|
-
readonly description:
|
|
83
|
+
readonly type: 'openIdConnect';
|
|
84
|
+
readonly openIdConnectUrl: '';
|
|
85
|
+
readonly description: 'OpenID Connect authentication';
|
|
85
86
|
};
|
|
86
87
|
readonly iam: {
|
|
87
|
-
readonly type:
|
|
88
|
-
readonly in:
|
|
89
|
-
readonly name:
|
|
90
|
-
readonly description:
|
|
91
|
-
readonly 'x-amazon-apigateway-authtype':
|
|
88
|
+
readonly type: 'apiKey';
|
|
89
|
+
readonly in: 'header';
|
|
90
|
+
readonly name: 'Authorization';
|
|
91
|
+
readonly description: 'AWS IAM Signature Version 4 authentication';
|
|
92
|
+
readonly 'x-amazon-apigateway-authtype': 'awsSigv4';
|
|
92
93
|
};
|
|
93
94
|
};
|
|
94
95
|
/** Names of built-in security schemes */
|
|
@@ -133,7 +134,6 @@ declare function isBuiltInSecurityScheme(name: string): name is BuiltInSecurityS
|
|
|
133
134
|
* Get a security scheme by name (built-in or custom)
|
|
134
135
|
*/
|
|
135
136
|
declare function getSecurityScheme(name: string, customSchemes?: Record<string, SecurityScheme>): SecurityScheme | undefined;
|
|
136
|
-
//# sourceMappingURL=Authorizer.d.ts.map
|
|
137
137
|
//#endregion
|
|
138
138
|
//#region src/endpoints/audit.d.ts
|
|
139
139
|
/**
|
|
@@ -169,9 +169,6 @@ type ActorExtractor<TServices extends Service[] = [], TSession = unknown, TLogge
|
|
|
169
169
|
cookie: CookieFn;
|
|
170
170
|
logger: TLogger;
|
|
171
171
|
}) => AuditActor | Promise<AuditActor>;
|
|
172
|
-
/**
|
|
173
|
-
* Configuration for the auditor on an endpoint.
|
|
174
|
-
*/
|
|
175
172
|
//#endregion
|
|
176
173
|
//#region src/endpoints/rls.d.ts
|
|
177
174
|
/**
|
|
@@ -225,7 +222,23 @@ declare const RLS_BYPASS: unique symbol;
|
|
|
225
222
|
* Type for RLS bypass marker.
|
|
226
223
|
*/
|
|
227
224
|
type RlsBypass = typeof RLS_BYPASS;
|
|
228
|
-
//#
|
|
225
|
+
//#endregion
|
|
226
|
+
//#region src/endpoints/sessionAuth.d.ts
|
|
227
|
+
/**
|
|
228
|
+
* The surface's authenticator, as a session callback sees it.
|
|
229
|
+
*
|
|
230
|
+
* Bound to the request being handled, so reading the session takes no
|
|
231
|
+
* argument: `session(async ({ auth }) => auth.getSession())`.
|
|
232
|
+
*/
|
|
233
|
+
interface SessionAuth {
|
|
234
|
+
/** This request's session, verified by the `.auth()` construct — or `null`. */
|
|
235
|
+
getSession(): Promise<AuthSession | null>;
|
|
236
|
+
}
|
|
237
|
+
/** `auth.getSession()` was called on a surface that names no authenticator. */
|
|
238
|
+
declare class NoAuthenticator extends Error {
|
|
239
|
+
readonly surface: string | undefined;
|
|
240
|
+
constructor(surface: string | undefined);
|
|
241
|
+
}
|
|
229
242
|
//#endregion
|
|
230
243
|
//#region src/endpoints/Endpoint.d.ts
|
|
231
244
|
/**
|
|
@@ -319,7 +332,7 @@ declare class Endpoint<TRoute extends string, TMethod extends HttpMethod, TInput
|
|
|
319
332
|
* });
|
|
320
333
|
* ```
|
|
321
334
|
*/
|
|
322
|
-
static buildOpenApiSchema(endpoints: Endpoint<any, any, any, any, any, any>[], options?: OpenApiSchemaOptions): Promise<
|
|
335
|
+
static buildOpenApiSchema(endpoints: Endpoint<any, any, any, any, any, any>[], options?: OpenApiSchemaOptions): Promise<any>;
|
|
323
336
|
/**
|
|
324
337
|
* Gets the full path including HTTP method and route.
|
|
325
338
|
* @returns Formatted string like 'GET /users/{id}'
|
|
@@ -441,53 +454,8 @@ declare class Endpoint<TRoute extends string, TMethod extends HttpMethod, TInput
|
|
|
441
454
|
* @param options.status - Success HTTP status code (default: 200)
|
|
442
455
|
* @param options.authorizer - Optional authorizer configuration
|
|
443
456
|
*/
|
|
444
|
-
constructor({
|
|
445
|
-
fn,
|
|
446
|
-
method,
|
|
447
|
-
route,
|
|
448
|
-
description,
|
|
449
|
-
tags,
|
|
450
|
-
input,
|
|
451
|
-
logger,
|
|
452
|
-
output: outputSchema,
|
|
453
|
-
services,
|
|
454
|
-
constructs,
|
|
455
|
-
timeout,
|
|
456
|
-
memorySize,
|
|
457
|
-
getSession,
|
|
458
|
-
authorize,
|
|
459
|
-
rateLimit,
|
|
460
|
-
status,
|
|
461
|
-
publisherService,
|
|
462
|
-
events,
|
|
463
|
-
authorizer,
|
|
464
|
-
surface,
|
|
465
|
-
auditorStorageService,
|
|
466
|
-
actorExtractor,
|
|
467
|
-
audits,
|
|
468
|
-
databaseService,
|
|
469
|
-
rlsConfig,
|
|
470
|
-
rlsBypass,
|
|
471
|
-
responseType
|
|
472
|
-
}: EndpointOptions<TRoute, TMethod, TInput, OutSchema, TServices, TLogger, TSession, OutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>);
|
|
457
|
+
constructor({ fn, method, route, description, tags, input, logger, output: outputSchema, services, constructs, timeout, memorySize, getSession, authorize, rateLimit, status, publisherService, events, authorizer, surface, auditorStorageService, actorExtractor, audits, databaseService, rlsConfig, rlsBypass, responseType }: EndpointOptions<TRoute, TMethod, TInput, OutSchema, TServices, TLogger, TSession, OutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>);
|
|
473
458
|
}
|
|
474
|
-
/**
|
|
475
|
-
* Defines the input schema structure for an endpoint.
|
|
476
|
-
*
|
|
477
|
-
* @template TBody - Schema for request body validation
|
|
478
|
-
* @template TSearch - Schema for query string validation
|
|
479
|
-
* @template TParams - Schema for URL path parameters validation
|
|
480
|
-
*
|
|
481
|
-
* @example
|
|
482
|
-
* ```typescript
|
|
483
|
-
* type UserInput = EndpointInput<
|
|
484
|
-
* typeof createUserBodySchema,
|
|
485
|
-
* typeof userQuerySchema,
|
|
486
|
-
* typeof userParamsSchema
|
|
487
|
-
* >;
|
|
488
|
-
* ```
|
|
489
|
-
*/
|
|
490
|
-
|
|
491
459
|
/**
|
|
492
460
|
* The surface an endpoint was built from.
|
|
493
461
|
*
|
|
@@ -516,6 +484,11 @@ interface EndpointSurface {
|
|
|
516
484
|
* file or throws on a missing variable would do it at build time.
|
|
517
485
|
*/
|
|
518
486
|
envParser: EnvironmentParser<{}>;
|
|
487
|
+
/**
|
|
488
|
+
* What authenticates requests to this surface — the construct named in
|
|
489
|
+
* `RestApi.auth()`, which session callbacks read from as `auth`.
|
|
490
|
+
*/
|
|
491
|
+
auth?: Authenticator;
|
|
519
492
|
}
|
|
520
493
|
/**
|
|
521
494
|
* Configuration options for creating an Endpoint instance.
|
|
@@ -640,6 +613,12 @@ type BaseSessionContext<TServices extends Service[] = [], TLogger extends Logger
|
|
|
640
613
|
logger: TLogger;
|
|
641
614
|
header: HeaderFn;
|
|
642
615
|
cookie: CookieFn;
|
|
616
|
+
/**
|
|
617
|
+
* The surface's authenticator — the construct named in `.auth()` — bound to
|
|
618
|
+
* this request: `await auth.getSession()` is this request's session, or
|
|
619
|
+
* `null`.
|
|
620
|
+
*/
|
|
621
|
+
auth: SessionAuth;
|
|
643
622
|
};
|
|
644
623
|
/**
|
|
645
624
|
* Conditional database context for session - only present when database service is configured
|
|
@@ -706,9 +685,9 @@ type ConvertRouteParams<T extends string> = T extends `${infer Start}:${infer Pa
|
|
|
706
685
|
* // Results in: { '/users/{id}': { get: OperationObject, parameters?: ParameterObject[] } }
|
|
707
686
|
* ```
|
|
708
687
|
*/
|
|
709
|
-
type EndpointOpenApiSchema<TRoute extends string, TMethod extends HttpMethod> = { [key in ConvertRouteParams<TRoute>]: { [key in LowerHttpMethod<TMethod>]: OpenAPIV3_1.OperationObject<{}
|
|
688
|
+
type EndpointOpenApiSchema<TRoute extends string, TMethod extends HttpMethod> = { [key in ConvertRouteParams<TRoute>]: { [key in LowerHttpMethod<TMethod>]: OpenAPIV3_1.OperationObject<{}>; } & {
|
|
710
689
|
parameters?: OpenAPIV3_1.ParameterObject[];
|
|
711
|
-
} };
|
|
690
|
+
}; };
|
|
712
691
|
/**
|
|
713
692
|
* Function type for retrieving HTTP header values.
|
|
714
693
|
* Supports two calling patterns:
|
|
@@ -888,9 +867,9 @@ declare enum SuccessStatus {
|
|
|
888
867
|
/** Server successfully processed the request and is not returning any content, client should reset the document view */
|
|
889
868
|
ResetContent = 205,
|
|
890
869
|
/** Server is delivering only part of the resource due to a range header */
|
|
891
|
-
PartialContent = 206
|
|
870
|
+
PartialContent = 206
|
|
892
871
|
}
|
|
893
872
|
type EndpointOutput<T> = T extends Endpoint<any, any, any, infer OutSchema, any, any, any, any> ? InferStandardSchema<OutSchema> : never;
|
|
894
873
|
//#endregion
|
|
895
|
-
export {
|
|
896
|
-
//# sourceMappingURL=Endpoint-
|
|
874
|
+
export { getSecurityScheme as A, Authorizer as C, OAuthFlows as D, OAuthFlow as E, SecurityScheme as O, MappedAudit as S, BuiltInSecuritySchemeId as T, RlsBypass as _, EndpointContext as a, RlsContextExtractor as b, EndpointSchemas as c, ResponseBuilder as d, SessionFn as f, RLS_BYPASS as g, SessionAuth as h, Endpoint as i, isBuiltInSecurityScheme as j, createAuthorizer as k, EndpointSurface as l, NoAuthenticator as m, ConvertRouteParams as n, EndpointHandler as o, SuccessStatus as p, CookieFn as r, EndpointOutput as s, AuthorizeFn as t, HeaderFn as u, RlsConfig as v, BUILT_IN_SECURITY_SCHEMES as w, ActorExtractor as x, RlsContext as y };
|
|
875
|
+
//# sourceMappingURL=Endpoint-BxkRWQ8G.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Endpoint-BxkRWQ8G.d.mts","names":[],"sources":["../src/endpoints/Authorizer.ts","../src/endpoints/audit.ts","../src/endpoints/rls.ts","../src/endpoints/sessionAuth.ts","../src/endpoints/Endpoint.ts"],"mappings":"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"}
|