@geekmidas/cli 10.0.0-alpha.123 → 10.0.0-alpha.124
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/dist/{EndpointGenerator-BDa6pPgE.cjs → EndpointGenerator-B2MUa4M2.cjs} +2 -2
- package/dist/{EndpointGenerator-BDa6pPgE.cjs.map → EndpointGenerator-B2MUa4M2.cjs.map} +1 -1
- package/dist/{EndpointGenerator-CP_z_E3e.mjs → EndpointGenerator-Z_BUTocT.mjs} +2 -2
- package/dist/{EndpointGenerator-CP_z_E3e.mjs.map → EndpointGenerator-Z_BUTocT.mjs.map} +1 -1
- package/dist/{GoDaddyProvider-Dubq-pCc.cjs → GoDaddyProvider-0z5RAN1k.cjs} +3 -3
- package/dist/{GoDaddyProvider-Dubq-pCc.cjs.map → GoDaddyProvider-0z5RAN1k.cjs.map} +1 -1
- package/dist/{GoDaddyProvider-BlB5nJky.mjs → GoDaddyProvider-55x4o-4z.mjs} +3 -3
- package/dist/{GoDaddyProvider-BlB5nJky.mjs.map → GoDaddyProvider-55x4o-4z.mjs.map} +1 -1
- package/dist/{HostingerProvider-BNpS9aRJ.mjs → HostingerProvider-Cjh_2Ml6.mjs} +2 -2
- package/dist/{HostingerProvider-BNpS9aRJ.mjs.map → HostingerProvider-Cjh_2Ml6.mjs.map} +1 -1
- package/dist/{HostingerProvider-DR1iws1P.cjs → HostingerProvider-OdQmKXE3.cjs} +2 -2
- package/dist/{HostingerProvider-DR1iws1P.cjs.map → HostingerProvider-OdQmKXE3.cjs.map} +1 -1
- package/dist/{LegacyStateStore-DGALQGZu.mjs → LegacyStateStore-C-vumKSN.mjs} +3 -3
- package/dist/{LegacyStateStore-DGALQGZu.mjs.map → LegacyStateStore-C-vumKSN.mjs.map} +1 -1
- package/dist/{LegacyStateStore-ClvUC8qy.cjs → LegacyStateStore-DRpB-yC5.cjs} +3 -3
- package/dist/{LegacyStateStore-ClvUC8qy.cjs.map → LegacyStateStore-DRpB-yC5.cjs.map} +1 -1
- package/dist/{LocalStateStore-43kSYNpw.cjs → LocalStateStore-C3ummuDT.cjs} +2 -2
- package/dist/{LocalStateStore-43kSYNpw.cjs.map → LocalStateStore-C3ummuDT.cjs.map} +1 -1
- package/dist/{LocalStateStore-CBYUzVR5.mjs → LocalStateStore-CtOjpV1w.mjs} +2 -2
- package/dist/{LocalStateStore-CBYUzVR5.mjs.map → LocalStateStore-CtOjpV1w.mjs.map} +1 -1
- package/dist/{OpenApiTsGenerator-CsrukCE-.mjs → OpenApiTsGenerator-MtnMQL_g.mjs} +2 -2
- package/dist/{OpenApiTsGenerator-CsrukCE-.mjs.map → OpenApiTsGenerator-MtnMQL_g.mjs.map} +1 -1
- package/dist/{OpenApiTsGenerator-FNhY7Ssz.cjs → OpenApiTsGenerator-t3_E98Fi.cjs} +2 -2
- package/dist/{OpenApiTsGenerator-FNhY7Ssz.cjs.map → OpenApiTsGenerator-t3_E98Fi.cjs.map} +1 -1
- package/dist/{S3StateStore-DLHjDYYP.mjs → S3StateStore-BC4Jm3Tw.mjs} +2 -2
- package/dist/{S3StateStore-DLHjDYYP.mjs.map → S3StateStore-BC4Jm3Tw.mjs.map} +1 -1
- package/dist/{S3StateStore-ahE7hSNK.cjs → S3StateStore-BeArp0aF.cjs} +2 -2
- package/dist/{S3StateStore-ahE7hSNK.cjs.map → S3StateStore-BeArp0aF.cjs.map} +1 -1
- package/dist/{SSMStateStore-j5RuMkch.mjs → SSMStateStore-Crl76aYZ.mjs} +2 -2
- package/dist/{SSMStateStore-j5RuMkch.mjs.map → SSMStateStore-Crl76aYZ.mjs.map} +1 -1
- package/dist/{SSMStateStore-qIzIuazA.cjs → SSMStateStore-DcstR6cW.cjs} +2 -2
- package/dist/{SSMStateStore-qIzIuazA.cjs.map → SSMStateStore-DcstR6cW.cjs.map} +1 -1
- package/dist/{SubscriberGenerator-C8CPxrCK.cjs → SubscriberGenerator-C3QTae-R.cjs} +237 -54
- package/dist/SubscriberGenerator-C3QTae-R.cjs.map +1 -0
- package/dist/{SubscriberGenerator-y3pncae_.mjs → SubscriberGenerator-COAVPgM-.mjs} +227 -56
- package/dist/SubscriberGenerator-COAVPgM-.mjs.map +1 -0
- package/dist/{add-C2CvXrYw.cjs → add-BFjb6mMq.cjs} +6 -6
- package/dist/{add-C2CvXrYw.cjs.map → add-BFjb6mMq.cjs.map} +1 -1
- package/dist/{add-Bm-C56lH.mjs → add-CIjmgzkb.mjs} +5 -5
- package/dist/{add-Bm-C56lH.mjs.map → add-CIjmgzkb.mjs.map} +1 -1
- package/dist/{bundler-Dk7tAvAX.cjs → bundler-CiUoIsku.cjs} +5 -5
- package/dist/{bundler-Dk7tAvAX.cjs.map → bundler-CiUoIsku.cjs.map} +1 -1
- package/dist/{bundler-DnkFt4mn.mjs → bundler-D6KFNpQk.mjs} +5 -5
- package/dist/{bundler-DnkFt4mn.mjs.map → bundler-D6KFNpQk.mjs.map} +1 -1
- package/dist/{cli-CVeHFXNE.mjs → cli-DNtSTtMc.mjs} +4 -4
- package/dist/{cli-CVeHFXNE.mjs.map → cli-DNtSTtMc.mjs.map} +1 -1
- package/dist/{cli-Di464j1O.cjs → cli-r4eUr98C.cjs} +4 -4
- package/dist/{cli-Di464j1O.cjs.map → cli-r4eUr98C.cjs.map} +1 -1
- package/dist/{compose-ChVvb3xM.cjs → compose-BfXXWJSp.cjs} +328 -54
- package/dist/compose-BfXXWJSp.cjs.map +1 -0
- package/dist/{compose-cHkF---f.mjs → compose-DJvvmF3X.mjs} +299 -25
- package/dist/compose-DJvvmF3X.mjs.map +1 -0
- package/dist/{config-DrOX29sT.d.mts → config-IgK6YaGp.d.cts} +3 -4
- package/dist/config-IgK6YaGp.d.cts.map +1 -0
- package/dist/{config-B3iz9BtK.d.cts → config-kE-p5hxq.d.mts} +3 -4
- package/dist/config-kE-p5hxq.d.mts.map +1 -0
- package/dist/config.cjs +1 -1
- package/dist/config.d.cts +3 -3
- package/dist/config.d.mts +3 -3
- package/dist/config.mjs +1 -1
- package/dist/{credentialSchemas-B67WJOOm.cjs → credentialSchemas-AhIBuQxQ.cjs} +2 -2
- package/dist/{credentialSchemas-B67WJOOm.cjs.map → credentialSchemas-AhIBuQxQ.cjs.map} +1 -1
- package/dist/{credentialSchemas-DDOLRCLF.mjs → credentialSchemas-DLKbxYBy.mjs} +2 -2
- package/dist/{credentialSchemas-DDOLRCLF.mjs.map → credentialSchemas-DLKbxYBy.mjs.map} +1 -1
- package/dist/{credentials-Zqr3QQYB.cjs → credentials-D7XJypNd.cjs} +173 -3
- package/dist/credentials-D7XJypNd.cjs.map +1 -0
- package/dist/{credentials-B5N5yKk6.mjs → credentials-DpfnUvIR.mjs} +132 -4
- package/dist/credentials-DpfnUvIR.mjs.map +1 -0
- package/dist/deploy/public.cjs +15 -16
- package/dist/deploy/public.cjs.map +1 -1
- package/dist/deploy/public.d.cts +3 -5
- package/dist/deploy/public.d.cts.map +1 -1
- package/dist/deploy/public.d.mts +3 -5
- package/dist/deploy/public.d.mts.map +1 -1
- package/dist/deploy/public.mjs +10 -11
- package/dist/deploy/public.mjs.map +1 -1
- package/dist/{deploy-BffR_uEN.cjs → deploy-BbI1UMh3.cjs} +476 -156
- package/dist/deploy-BbI1UMh3.cjs.map +1 -0
- package/dist/{deploy-DO4djCHb.mjs → deploy-CiRYwFmr.mjs} +454 -116
- package/dist/deploy-CiRYwFmr.mjs.map +1 -0
- package/dist/{discover-C5roJuc9.mjs → discover-BvJOVsYG.mjs} +66 -14
- package/dist/discover-BvJOVsYG.mjs.map +1 -0
- package/dist/{discover-DozUKs8f.cjs → discover-ojkcbxHw.cjs} +88 -12
- package/dist/discover-ojkcbxHw.cjs.map +1 -0
- package/dist/{dokploy-CsdvfH3t.cjs → dokploy-C0aQrCgs.cjs} +2 -2
- package/dist/{dokploy-CsdvfH3t.cjs.map → dokploy-C0aQrCgs.cjs.map} +1 -1
- package/dist/{dokploy-BcZm93Cc.mjs → dokploy-MM7c3IE0.mjs} +2 -2
- package/dist/{dokploy-BcZm93Cc.mjs.map → dokploy-MM7c3IE0.mjs.map} +1 -1
- package/dist/{drivers-DbjiYpW6.cjs → drivers-CQ32PB5w.cjs} +2 -2
- package/dist/{drivers-DbjiYpW6.cjs.map → drivers-CQ32PB5w.cjs.map} +1 -1
- package/dist/{drivers-BjGDYfnC.mjs → drivers-Chb5Akov.mjs} +2 -2
- package/dist/{drivers-BjGDYfnC.mjs.map → drivers-Chb5Akov.mjs.map} +1 -1
- package/dist/{eas-CBShP20v.mjs → eas-1Ee6kql0.mjs} +2 -2
- package/dist/{eas-CBShP20v.mjs.map → eas-1Ee6kql0.mjs.map} +1 -1
- package/dist/{eas-CN_cUXth.cjs → eas-CJoys9yh.cjs} +2 -2
- package/dist/{eas-CN_cUXth.cjs.map → eas-CJoys9yh.cjs.map} +1 -1
- package/dist/{emit-C1e8qD08.mjs → emit-CNpuV_6Q.mjs} +17 -1
- package/dist/emit-CNpuV_6Q.mjs.map +1 -0
- package/dist/{emit-Dmc1nvdS.cjs → emit-qvHxMV9b.cjs} +17 -1
- package/dist/emit-qvHxMV9b.cjs.map +1 -0
- package/dist/{encryption-CITa6dXL.mjs → encryption-B8Bk1Mvu.mjs} +2 -2
- package/dist/{encryption-CITa6dXL.mjs.map → encryption-B8Bk1Mvu.mjs.map} +1 -1
- package/dist/{encryption-CPDM49Hi.cjs → encryption-Bo9VlRnl.cjs} +2 -2
- package/dist/{encryption-CPDM49Hi.cjs.map → encryption-Bo9VlRnl.cjs.map} +1 -1
- package/dist/{engine-CTnHmHjz.mjs → engine-BuinpJfS.mjs} +6 -7
- package/dist/{engine-CTnHmHjz.mjs.map → engine-BuinpJfS.mjs.map} +1 -1
- package/dist/{engine-D-jfMVj-.cjs → engine-esxTxcIx.cjs} +9 -10
- package/dist/{engine-D-jfMVj-.cjs.map → engine-esxTxcIx.cjs.map} +1 -1
- package/dist/{github-D56PSK39.cjs → github-BEA4K3_X.cjs} +79 -46
- package/dist/github-BEA4K3_X.cjs.map +1 -0
- package/dist/{github-9RlA7EjN.mjs → github-BUlKJfOV.mjs} +77 -44
- package/dist/github-BUlKJfOV.mjs.map +1 -0
- package/dist/{googlePlay-COi5LXON.mjs → googlePlay-CK05QiTq.mjs} +4 -4
- package/dist/{googlePlay-COi5LXON.mjs.map → googlePlay-CK05QiTq.mjs.map} +1 -1
- package/dist/{googlePlay-SX_jQeJf.cjs → googlePlay-CiqAS2ma.cjs} +5 -5
- package/dist/{googlePlay-SX_jQeJf.cjs.map → googlePlay-CiqAS2ma.cjs.map} +1 -1
- package/dist/{index-DcyRA5Rf.d.mts → index-4CO0HD27.d.cts} +2 -2
- package/dist/{index-DcyRA5Rf.d.mts.map → index-4CO0HD27.d.cts.map} +1 -1
- package/dist/{index-DjLSMgAL.d.cts → index-DhUf0B0m.d.mts} +2 -2
- package/dist/{index-DjLSMgAL.d.cts.map → index-DhUf0B0m.d.mts.map} +1 -1
- package/dist/index.cjs +79 -80
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +62 -63
- package/dist/index.mjs.map +1 -1
- package/dist/{local-BwC2v2Y8.mjs → local-B7Zv1NoA.mjs} +2 -2
- package/dist/{local-BwC2v2Y8.mjs.map → local-B7Zv1NoA.mjs.map} +1 -1
- package/dist/{local-DNhnkugT.cjs → local-OPC9BCZt.cjs} +3 -3
- package/dist/{local-DNhnkugT.cjs.map → local-OPC9BCZt.cjs.map} +1 -1
- package/dist/{migrate-DJa_Dlsl.mjs → migrate-BzCHT9qs.mjs} +2 -2
- package/dist/{migrate-DJa_Dlsl.mjs.map → migrate-BzCHT9qs.mjs.map} +1 -1
- package/dist/{migrate-BCz1lkh_.cjs → migrate-C-hmbjpG.cjs} +2 -2
- package/dist/{migrate-BCz1lkh_.cjs.map → migrate-C-hmbjpG.cjs.map} +1 -1
- package/dist/{migrate-0J6gsfrQ.mjs → migrate-CnbvrVag.mjs} +3 -3
- package/dist/{migrate-0J6gsfrQ.mjs.map → migrate-CnbvrVag.mjs.map} +1 -1
- package/dist/{migrate-CrtxXeGY.cjs → migrate-DeQJBexh.cjs} +3 -3
- package/dist/{migrate-CrtxXeGY.cjs.map → migrate-DeQJBexh.cjs.map} +1 -1
- package/dist/openapi.cjs +2 -2
- package/dist/openapi.d.cts +1 -1
- package/dist/openapi.d.mts +1 -1
- package/dist/openapi.mjs +2 -2
- package/dist/{publish-CuQlOW5p.mjs → publish-BISBrrqR.mjs} +2 -2
- package/dist/{publish-CuQlOW5p.mjs.map → publish-BISBrrqR.mjs.map} +1 -1
- package/dist/{publish-qSpnvmdX.cjs → publish-DtSIB-hZ.cjs} +2 -2
- package/dist/{publish-qSpnvmdX.cjs.map → publish-DtSIB-hZ.cjs.map} +1 -1
- package/dist/{ready-BOfogqzr.mjs → ready-DqsyadOs.mjs} +6 -6
- package/dist/{ready-BOfogqzr.mjs.map → ready-DqsyadOs.mjs.map} +1 -1
- package/dist/{ready-BFFP838V.cjs → ready-IVGu-q18.cjs} +6 -6
- package/dist/{ready-BFFP838V.cjs.map → ready-IVGu-q18.cjs.map} +1 -1
- package/dist/reconcile/public.cjs +2 -2
- package/dist/reconcile/public.d.cts +1 -2
- package/dist/reconcile/public.d.cts.map +1 -1
- package/dist/reconcile/public.d.mts +1 -2
- package/dist/reconcile/public.d.mts.map +1 -1
- package/dist/reconcile/public.mjs +2 -2
- package/dist/{resolve-j8hUcbGz.mjs → resolve-BT7fkPN5.mjs} +4 -4
- package/dist/{resolve-j8hUcbGz.mjs.map → resolve-BT7fkPN5.mjs.map} +1 -1
- package/dist/{resolve-AsfohXd1.cjs → resolve-C7GKQcE4.cjs} +4 -4
- package/dist/{resolve-AsfohXd1.cjs.map → resolve-C7GKQcE4.cjs.map} +1 -1
- package/dist/{rollback-Bxq_URgL.cjs → rollback-BEiB-Pje.cjs} +6 -6
- package/dist/{rollback-Bxq_URgL.cjs.map → rollback-BEiB-Pje.cjs.map} +1 -1
- package/dist/{rollback-JgbAY43C.mjs → rollback-DbP0KuDw.mjs} +6 -6
- package/dist/{rollback-JgbAY43C.mjs.map → rollback-DbP0KuDw.mjs.map} +1 -1
- package/dist/{runtime-DIZTeGJV.d.cts → runtime-BFJQNqwd.d.mts} +2 -2
- package/dist/{runtime-DIZTeGJV.d.cts.map → runtime-BFJQNqwd.d.mts.map} +1 -1
- package/dist/{runtime-WMLJY-db.d.mts → runtime-BJO-FFef.d.cts} +2 -2
- package/dist/{runtime-WMLJY-db.d.mts.map → runtime-BJO-FFef.d.cts.map} +1 -1
- package/dist/sandbox/credentials-worker.cjs +2 -2
- package/dist/sandbox/credentials-worker.mjs +2 -2
- package/dist/sandbox/discover-worker.cjs +1 -1
- package/dist/sandbox/discover-worker.mjs +1 -1
- package/dist/sandbox/migrate-worker.cjs +1 -1
- package/dist/sandbox/migrate-worker.mjs +1 -1
- package/dist/{seeds-BWC-qjSI.cjs → seeds-DOfxmDRO.cjs} +360 -32
- package/dist/seeds-DOfxmDRO.cjs.map +1 -0
- package/dist/{seeds-Dv78P9LS.mjs → seeds-rG-Evfz9.mjs} +339 -29
- package/dist/seeds-rG-Evfz9.mjs.map +1 -0
- package/dist/{serverSetup-CtV80a5M.cjs → serverSetup-CWWVcU6Y.cjs} +5 -5
- package/dist/{serverSetup-CtV80a5M.cjs.map → serverSetup-CWWVcU6Y.cjs.map} +1 -1
- package/dist/{serverSetup-DB6sKwAy.mjs → serverSetup-xGw1fxuZ.mjs} +5 -5
- package/dist/{serverSetup-DB6sKwAy.mjs.map → serverSetup-xGw1fxuZ.mjs.map} +1 -1
- package/dist/{sniffer-ctpwBBkT.cjs → sniffer-C7O9Pna_.cjs} +8 -8
- package/dist/{sniffer-ctpwBBkT.cjs.map → sniffer-C7O9Pna_.cjs.map} +1 -1
- package/dist/{sniffer-qDFUQmWP.mjs → sniffer-DVPgfyHr.mjs} +8 -8
- package/dist/{sniffer-qDFUQmWP.mjs.map → sniffer-DVPgfyHr.mjs.map} +1 -1
- package/dist/{dns-Bmnuttja.cjs → snsSubscriptions-CSkteK2J.cjs} +338 -2
- package/dist/snsSubscriptions-CSkteK2J.cjs.map +1 -0
- package/dist/{dns-DFvO5a53.mjs → snsSubscriptions-CvBIGGp0.mjs} +279 -3
- package/dist/snsSubscriptions-CvBIGGp0.mjs.map +1 -0
- package/dist/{sst-C1pxbFEd.mjs → sst-CTqZZl1_.mjs} +3 -4
- package/dist/{sst-C1pxbFEd.mjs.map → sst-CTqZZl1_.mjs.map} +1 -1
- package/dist/{sst-B-Uz4cvm.cjs → sst-lEkBwzGc.cjs} +4 -5
- package/dist/{sst-B-Uz4cvm.cjs.map → sst-lEkBwzGc.cjs.map} +1 -1
- package/dist/{stage-C7lf36az.mjs → stage-2EKpzPQ1.mjs} +5 -5
- package/dist/{stage-C7lf36az.mjs.map → stage-2EKpzPQ1.mjs.map} +1 -1
- package/dist/{stage-DzALYUwY.cjs → stage-fRfFtLwj.cjs} +6 -6
- package/dist/{stage-DzALYUwY.cjs.map → stage-fRfFtLwj.cjs.map} +1 -1
- package/dist/target/public.cjs +1 -1
- package/dist/target/public.d.cts +2 -2
- package/dist/target/public.d.mts +2 -2
- package/dist/target/public.mjs +1 -1
- package/dist/{terminal-CW_dWeTe.mjs → terminal-BAVrDhhN.mjs} +3 -3
- package/dist/{terminal-CW_dWeTe.mjs.map → terminal-BAVrDhhN.mjs.map} +1 -1
- package/dist/{terminal-DJlqcW_U.cjs → terminal-D1aeTkgv.cjs} +3 -3
- package/dist/{terminal-DJlqcW_U.cjs.map → terminal-D1aeTkgv.cjs.map} +1 -1
- package/dist/{types-C8gXOLWL.d.mts → types-CFU2uvrz.d.cts} +242 -3
- package/dist/types-CFU2uvrz.d.cts.map +1 -0
- package/dist/{types-Q2SC_ly2.d.cts → types-D3BeGucy.d.mts} +241 -4
- package/dist/types-D3BeGucy.d.mts.map +1 -0
- package/dist/vitest.cjs +1 -1
- package/dist/vitest.mjs +1 -1
- package/dist/workspace/index.d.cts +2 -2
- package/dist/workspace/index.d.mts +2 -2
- package/package.json +15 -15
- package/dist/SubscriberGenerator-C8CPxrCK.cjs.map +0 -1
- package/dist/SubscriberGenerator-y3pncae_.mjs.map +0 -1
- package/dist/compose-ChVvb3xM.cjs.map +0 -1
- package/dist/compose-cHkF---f.mjs.map +0 -1
- package/dist/config-B3iz9BtK.d.cts.map +0 -1
- package/dist/config-DrOX29sT.d.mts.map +0 -1
- package/dist/credentials-B5N5yKk6.mjs.map +0 -1
- package/dist/credentials-Zqr3QQYB.cjs.map +0 -1
- package/dist/deploy-BffR_uEN.cjs.map +0 -1
- package/dist/deploy-DO4djCHb.mjs.map +0 -1
- package/dist/discover-C08meHhu.d.mts +0 -125
- package/dist/discover-C08meHhu.d.mts.map +0 -1
- package/dist/discover-C5roJuc9.mjs.map +0 -1
- package/dist/discover-DipvfWpK.d.cts +0 -125
- package/dist/discover-DipvfWpK.d.cts.map +0 -1
- package/dist/discover-DozUKs8f.cjs.map +0 -1
- package/dist/dns-Bmnuttja.cjs.map +0 -1
- package/dist/dns-DFvO5a53.mjs.map +0 -1
- package/dist/emit-C1e8qD08.mjs.map +0 -1
- package/dist/emit-Dmc1nvdS.cjs.map +0 -1
- package/dist/github-9RlA7EjN.mjs.map +0 -1
- package/dist/github-D56PSK39.cjs.map +0 -1
- package/dist/run-BJLIerMM.mjs +0 -133
- package/dist/run-BJLIerMM.mjs.map +0 -1
- package/dist/run-fVZ-rLnc.cjs +0 -174
- package/dist/run-fVZ-rLnc.cjs.map +0 -1
- package/dist/sandbox-Co1y2CmF.d.mts +0 -104
- package/dist/sandbox-Co1y2CmF.d.mts.map +0 -1
- package/dist/sandbox-DvNqr6od.d.cts +0 -104
- package/dist/sandbox-DvNqr6od.d.cts.map +0 -1
- package/dist/seeds-BWC-qjSI.cjs.map +0 -1
- package/dist/seeds-Dv78P9LS.mjs.map +0 -1
- package/dist/types-C8gXOLWL.d.mts.map +0 -1
- package/dist/types-Q2SC_ly2.d.cts.map +0 -1
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
const require_rolldown_runtime = require("./rolldown-runtime-C0BPl7ul.cjs");
|
|
2
2
|
const require_errors = require("./errors-DMC4Umsb.cjs");
|
|
3
|
+
const require_credentials = require("./credentials-D7XJypNd.cjs");
|
|
3
4
|
const require_workspace = require("./workspace-C82GLPnf.cjs");
|
|
4
|
-
const require_seeds = require("./seeds-
|
|
5
|
+
const require_seeds = require("./seeds-DOfxmDRO.cjs");
|
|
5
6
|
const require_derive = require("./derive-DAbo49sm.cjs");
|
|
6
7
|
let node_path = require("node:path");
|
|
7
8
|
let node_fs = require("node:fs");
|
|
@@ -470,6 +471,79 @@ function saltFor(password) {
|
|
|
470
471
|
return `$2a$10$${salt}`;
|
|
471
472
|
}
|
|
472
473
|
//#endregion
|
|
474
|
+
//#region src/providers/aws.ts
|
|
475
|
+
/**
|
|
476
|
+
* The AWS account a provider provisions in — the stage's, found the way the
|
|
477
|
+
* SSM and Secrets Manager stores find it.
|
|
478
|
+
*
|
|
479
|
+
* 1. `--profile`, resolved on its own: exported keys left over from another
|
|
480
|
+
* account never win over a profile someone named.
|
|
481
|
+
* 2. `AWS_PROFILE`, else `AWS_ACCESS_KEY_ID`/`AWS_SECRET_ACCESS_KEY` — the
|
|
482
|
+
* deploy's own `aws` credential kind (`storedCredentials`).
|
|
483
|
+
* 3. The SDK's default chain: `~/.aws` default profile, SSO, a role. In CI,
|
|
484
|
+
* whatever `aws-actions/configure-aws-credentials` exported.
|
|
485
|
+
*
|
|
486
|
+
* None of them: the provider has no provisioning credentials, and the stage
|
|
487
|
+
* is treated as `external`.
|
|
488
|
+
*/
|
|
489
|
+
async function awsProvisioningCredentials(lookup) {
|
|
490
|
+
const region = lookup.env.AWS_REGION ?? lookup.env.AWS_DEFAULT_REGION;
|
|
491
|
+
const where = region ? { region } : {};
|
|
492
|
+
if (lookup.profile) return {
|
|
493
|
+
profile: lookup.profile,
|
|
494
|
+
...where
|
|
495
|
+
};
|
|
496
|
+
const stored = await require_credentials.storedCredentials({
|
|
497
|
+
env: lookup.env,
|
|
498
|
+
...lookup.home ? { home: lookup.home } : {}
|
|
499
|
+
}).get({
|
|
500
|
+
kind: "aws",
|
|
501
|
+
stage: lookup.stage
|
|
502
|
+
});
|
|
503
|
+
if (stored) return stored;
|
|
504
|
+
try {
|
|
505
|
+
const { fromNodeProviderChain } = await import("@aws-sdk/credential-providers");
|
|
506
|
+
await fromNodeProviderChain({
|
|
507
|
+
timeout: 1e3,
|
|
508
|
+
maxRetries: 0
|
|
509
|
+
})();
|
|
510
|
+
return {
|
|
511
|
+
chain: true,
|
|
512
|
+
...where
|
|
513
|
+
};
|
|
514
|
+
} catch {
|
|
515
|
+
return;
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* An S3-compatible endpoint the environment points the SDK at — the AWS
|
|
520
|
+
* emulator in tests. The SDK reads it itself; it is read here too, because
|
|
521
|
+
* an emulator takes path-style requests, and a key written for one has to
|
|
522
|
+
* say where it is.
|
|
523
|
+
*/
|
|
524
|
+
function awsEndpoint(env, service) {
|
|
525
|
+
return env[`AWS_ENDPOINT_URL_${service}`] ?? env.AWS_ENDPOINT_URL;
|
|
526
|
+
}
|
|
527
|
+
/** An SDK client's config for a provisioning credential. */
|
|
528
|
+
async function awsClientConfig(credential, region) {
|
|
529
|
+
if ("profile" in credential) {
|
|
530
|
+
const { fromIni } = await import("@aws-sdk/credential-providers");
|
|
531
|
+
return {
|
|
532
|
+
region,
|
|
533
|
+
credentials: fromIni({ profile: credential.profile })
|
|
534
|
+
};
|
|
535
|
+
}
|
|
536
|
+
if ("accessKeyId" in credential) return {
|
|
537
|
+
region,
|
|
538
|
+
credentials: {
|
|
539
|
+
accessKeyId: credential.accessKeyId,
|
|
540
|
+
secretAccessKey: credential.secretAccessKey,
|
|
541
|
+
...credential.sessionToken ? { sessionToken: credential.sessionToken } : {}
|
|
542
|
+
}
|
|
543
|
+
};
|
|
544
|
+
return { region };
|
|
545
|
+
}
|
|
546
|
+
//#endregion
|
|
473
547
|
//#region src/compose/dns.ts
|
|
474
548
|
/**
|
|
475
549
|
* A compose stage's DNS: the records its public hosts need, and the check that
|
|
@@ -1210,6 +1284,208 @@ async function stageDns(input) {
|
|
|
1210
1284
|
};
|
|
1211
1285
|
}
|
|
1212
1286
|
//#endregion
|
|
1287
|
+
//#region src/deploy/snsSubscriptions.ts
|
|
1288
|
+
/** The type every recorded subscription has in the stage's state. */
|
|
1289
|
+
const SUBSCRIPTION_TYPE = "sns-subscription";
|
|
1290
|
+
/** The state key a subscriber's SNS subscription is recorded under. */
|
|
1291
|
+
const subscriptionKey = (worker, name) => `${SUBSCRIPTION_TYPE}:${worker}/${name}`;
|
|
1292
|
+
/** What a recorded subscription is written to the stage's state as. */
|
|
1293
|
+
function subscriptionResource(subscription, arn) {
|
|
1294
|
+
const { name, ...data } = subscription;
|
|
1295
|
+
return {
|
|
1296
|
+
key: subscriptionKey(subscription.worker, name),
|
|
1297
|
+
type: SUBSCRIPTION_TYPE,
|
|
1298
|
+
id: arn,
|
|
1299
|
+
status: "ready",
|
|
1300
|
+
data: {
|
|
1301
|
+
...data,
|
|
1302
|
+
...data.events ? { events: [...data.events] } : {}
|
|
1303
|
+
}
|
|
1304
|
+
};
|
|
1305
|
+
}
|
|
1306
|
+
/** The subscription a record holds, as an endpoint to reconcile. */
|
|
1307
|
+
function specOf(record) {
|
|
1308
|
+
const events = record.data?.events;
|
|
1309
|
+
return {
|
|
1310
|
+
name: record.key.split("/").pop(),
|
|
1311
|
+
endpoint: String(record.data?.endpoint),
|
|
1312
|
+
...record.data?.deadLetterQueueArn ? { deadLetterQueueArn: String(record.data.deadLetterQueueArn) } : {},
|
|
1313
|
+
...Array.isArray(events) ? { events: events.map(String) } : {}
|
|
1314
|
+
};
|
|
1315
|
+
}
|
|
1316
|
+
/**
|
|
1317
|
+
* The subscriptions the deploy recorded, by worker and export — what each
|
|
1318
|
+
* worker is handed as `GKM_SNS_SUBSCRIPTIONS`.
|
|
1319
|
+
*/
|
|
1320
|
+
function recordedPushSubscriptions(resources) {
|
|
1321
|
+
const byWorker = {};
|
|
1322
|
+
for (const record of Object.values(resources ?? {})) {
|
|
1323
|
+
if (record.type !== "sns-subscription" || !record.id) continue;
|
|
1324
|
+
const [worker, name] = record.key.slice(`${SUBSCRIPTION_TYPE}:`.length).split("/");
|
|
1325
|
+
if (!worker || !name) continue;
|
|
1326
|
+
byWorker[worker] = {
|
|
1327
|
+
...byWorker[worker],
|
|
1328
|
+
[name]: record.id
|
|
1329
|
+
};
|
|
1330
|
+
}
|
|
1331
|
+
return byWorker;
|
|
1332
|
+
}
|
|
1333
|
+
/** A topic connection string the deploy cannot sign with. */
|
|
1334
|
+
var TopicSubscriptionUnsigned = class extends require_errors.GkmError {
|
|
1335
|
+
connectionKey;
|
|
1336
|
+
constructor(connectionKey) {
|
|
1337
|
+
super(`'${connectionKey}' carries no keys, and the deploy found no AWS credentials of its own to subscribe the worker's routes with. Put accessKeyId and secretAccessKey in it — keys allowed sns:Subscribe, sns:ListSubscriptionsByTopic, sns:GetSubscriptionAttributes, sns:SetSubscriptionAttributes and sns:Unsubscribe on the topic — or sign in with \`gkm login\`.`);
|
|
1338
|
+
this.connectionKey = connectionKey;
|
|
1339
|
+
this.name = "TopicSubscriptionUnsigned";
|
|
1340
|
+
}
|
|
1341
|
+
};
|
|
1342
|
+
/**
|
|
1343
|
+
* A connection to the topic a stage's connection string names, signed with
|
|
1344
|
+
* its own keys — or, carrying none, the deploy's.
|
|
1345
|
+
*
|
|
1346
|
+
* The emulator the environment points the SDK at stands in for SNS, as it
|
|
1347
|
+
* does for every provider: a string with no `endpoint` is SNS itself.
|
|
1348
|
+
*
|
|
1349
|
+
* @throws {TopicSubscriptionUnsigned} with no keys from either
|
|
1350
|
+
*/
|
|
1351
|
+
async function topicConnection(input) {
|
|
1352
|
+
const { SNSConnection, snsUrl } = await import("@geekmidas/events/sns");
|
|
1353
|
+
const { topicArn, region, endpoint } = snsUrl.parse(input.connectionString);
|
|
1354
|
+
const params = new URL(input.connectionString).searchParams;
|
|
1355
|
+
const accessKeyId = params.get("accessKeyId");
|
|
1356
|
+
const secretAccessKey = params.get("secretAccessKey");
|
|
1357
|
+
const where = region ?? topicArn.split(":")[3];
|
|
1358
|
+
let credentials;
|
|
1359
|
+
if (accessKeyId && secretAccessKey) {
|
|
1360
|
+
const sessionToken = params.get("sessionToken");
|
|
1361
|
+
credentials = {
|
|
1362
|
+
accessKeyId,
|
|
1363
|
+
secretAccessKey,
|
|
1364
|
+
...sessionToken ? { sessionToken } : {}
|
|
1365
|
+
};
|
|
1366
|
+
} else {
|
|
1367
|
+
const provisioning = await awsProvisioningCredentials({
|
|
1368
|
+
stage: input.stage,
|
|
1369
|
+
env: input.env,
|
|
1370
|
+
...input.home ? { home: input.home } : {}
|
|
1371
|
+
});
|
|
1372
|
+
if (!provisioning) throw new TopicSubscriptionUnsigned(input.connectionKey);
|
|
1373
|
+
credentials = (await awsClientConfig(provisioning, where ?? "us-east-1")).credentials;
|
|
1374
|
+
}
|
|
1375
|
+
const override = endpoint ?? awsEndpoint(input.env, "SNS");
|
|
1376
|
+
return new SNSConnection({
|
|
1377
|
+
topicArn,
|
|
1378
|
+
...where ? { region: where } : {},
|
|
1379
|
+
...override ? { endpoint: override } : {},
|
|
1380
|
+
...credentials ? { credentials } : {}
|
|
1381
|
+
});
|
|
1382
|
+
}
|
|
1383
|
+
/** A subscription still waiting to be confirmed once its worker is up. */
|
|
1384
|
+
var PushSubscriptionsUnconfirmed = class extends require_errors.GkmError {
|
|
1385
|
+
endpoints;
|
|
1386
|
+
constructor(endpoints) {
|
|
1387
|
+
super(`SNS still waits for ${endpoints.join(", ")} to confirm ${endpoints.length === 1 ? "its subscription" : "their subscriptions"}, so nothing is pushed there yet. Check the worker's logs for the confirmation it refused, and that its host answers from the internet; the next deploy sends the confirmation again.`);
|
|
1388
|
+
this.endpoints = endpoints;
|
|
1389
|
+
this.name = "PushSubscriptionsUnconfirmed";
|
|
1390
|
+
}
|
|
1391
|
+
};
|
|
1392
|
+
/**
|
|
1393
|
+
* Once the workers are up: every subscription recorded as pending is
|
|
1394
|
+
* subscribed again — SNS resends its confirmation to a worker now there to
|
|
1395
|
+
* answer it — and waited on until confirmed.
|
|
1396
|
+
*
|
|
1397
|
+
* The first deploy needs it: the subscription is made before the worker
|
|
1398
|
+
* starts, so SNS's first confirmation finds nobody.
|
|
1399
|
+
*
|
|
1400
|
+
* A bucket's subscriptions are reached with the deploy's provisioning
|
|
1401
|
+
* credentials; a hand-set topic's with the connection string they were made
|
|
1402
|
+
* with, read from the stage's secrets.
|
|
1403
|
+
*
|
|
1404
|
+
* @returns what is still pending when the wait ran out — none, normally.
|
|
1405
|
+
*/
|
|
1406
|
+
async function confirmPendingSubscriptions(input) {
|
|
1407
|
+
const env = input.env ?? process.env;
|
|
1408
|
+
const records = Object.values(input.resources ?? {}).filter((r) => r.type === "sns-subscription" && r.id);
|
|
1409
|
+
if (!records.some((r) => r.data?.pending === true)) return [];
|
|
1410
|
+
const { SNSConnection, reconcileHttpSubscriptions } = await import("@geekmidas/events/sns");
|
|
1411
|
+
const { GetSubscriptionAttributesCommand } = await import("@aws-sdk/client-sns");
|
|
1412
|
+
const endpoint = awsEndpoint(env, "SNS");
|
|
1413
|
+
let provisioning = null;
|
|
1414
|
+
const groups = /* @__PURE__ */ new Map();
|
|
1415
|
+
for (const record of records) {
|
|
1416
|
+
const host = new URL(String(record.data?.endpoint)).host;
|
|
1417
|
+
const group = `${record.data?.topicArn}|${host}`;
|
|
1418
|
+
groups.set(group, [...groups.get(group) ?? [], record]);
|
|
1419
|
+
}
|
|
1420
|
+
const left = [];
|
|
1421
|
+
for (const [group, members] of groups) {
|
|
1422
|
+
const pending = members.filter((r) => r.data?.pending === true);
|
|
1423
|
+
if (pending.length === 0) continue;
|
|
1424
|
+
const [topicArn, host] = group.split("|");
|
|
1425
|
+
const unreachable = () => left.push(...pending.map((r) => String(r.data?.endpoint)));
|
|
1426
|
+
let connection;
|
|
1427
|
+
const connectionKey = members[0].data?.connectionKey;
|
|
1428
|
+
if (typeof connectionKey === "string") {
|
|
1429
|
+
const connectionString = input.secrets?.[connectionKey];
|
|
1430
|
+
if (!connectionString?.startsWith("sns:")) {
|
|
1431
|
+
unreachable();
|
|
1432
|
+
continue;
|
|
1433
|
+
}
|
|
1434
|
+
connection = await topicConnection({
|
|
1435
|
+
connectionKey,
|
|
1436
|
+
connectionString,
|
|
1437
|
+
stage: input.stage,
|
|
1438
|
+
env,
|
|
1439
|
+
...input.home ? { home: input.home } : {}
|
|
1440
|
+
});
|
|
1441
|
+
} else {
|
|
1442
|
+
if (provisioning === null) provisioning = await awsProvisioningCredentials({
|
|
1443
|
+
stage: input.stage,
|
|
1444
|
+
env,
|
|
1445
|
+
...input.home ? { home: input.home } : {}
|
|
1446
|
+
});
|
|
1447
|
+
if (!provisioning) {
|
|
1448
|
+
unreachable();
|
|
1449
|
+
continue;
|
|
1450
|
+
}
|
|
1451
|
+
const region = topicArn.split(":")[3];
|
|
1452
|
+
const { credentials } = await awsClientConfig(provisioning, region);
|
|
1453
|
+
connection = new SNSConnection({
|
|
1454
|
+
topicArn,
|
|
1455
|
+
region,
|
|
1456
|
+
...endpoint ? { endpoint } : {},
|
|
1457
|
+
...credentials ? { credentials } : {}
|
|
1458
|
+
});
|
|
1459
|
+
}
|
|
1460
|
+
await reconcileHttpSubscriptions(connection, {
|
|
1461
|
+
endpoints: members.map(specOf),
|
|
1462
|
+
ownedHost: host
|
|
1463
|
+
});
|
|
1464
|
+
const deadline = Date.now() + (input.timeoutMs ?? 6e4);
|
|
1465
|
+
for (const record of pending) {
|
|
1466
|
+
let confirmed = false;
|
|
1467
|
+
while (!confirmed) {
|
|
1468
|
+
const { Attributes = {} } = await connection.snsClient.send(new GetSubscriptionAttributesCommand({ SubscriptionArn: record.id }));
|
|
1469
|
+
confirmed = Attributes.PendingConfirmation !== "true";
|
|
1470
|
+
if (confirmed || Date.now() > deadline) break;
|
|
1471
|
+
await new Promise((resolve) => setTimeout(resolve, 1e3));
|
|
1472
|
+
}
|
|
1473
|
+
if (confirmed) {
|
|
1474
|
+
input.log?.(` ✓ ${record.data?.endpoint} confirmed its subscription`);
|
|
1475
|
+
await input.record?.({
|
|
1476
|
+
...record,
|
|
1477
|
+
data: {
|
|
1478
|
+
...record.data,
|
|
1479
|
+
pending: false
|
|
1480
|
+
}
|
|
1481
|
+
});
|
|
1482
|
+
} else left.push(String(record.data?.endpoint));
|
|
1483
|
+
}
|
|
1484
|
+
await connection.close();
|
|
1485
|
+
}
|
|
1486
|
+
return left;
|
|
1487
|
+
}
|
|
1488
|
+
//#endregion
|
|
1213
1489
|
Object.defineProperty(exports, "BACKUPS_SERVICE", {
|
|
1214
1490
|
enumerable: true,
|
|
1215
1491
|
get: function() {
|
|
@@ -1228,18 +1504,48 @@ Object.defineProperty(exports, "HostNotPointingAtServer", {
|
|
|
1228
1504
|
return HostNotPointingAtServer;
|
|
1229
1505
|
}
|
|
1230
1506
|
});
|
|
1507
|
+
Object.defineProperty(exports, "PushSubscriptionsUnconfirmed", {
|
|
1508
|
+
enumerable: true,
|
|
1509
|
+
get: function() {
|
|
1510
|
+
return PushSubscriptionsUnconfirmed;
|
|
1511
|
+
}
|
|
1512
|
+
});
|
|
1231
1513
|
Object.defineProperty(exports, "RUNNER_PATH", {
|
|
1232
1514
|
enumerable: true,
|
|
1233
1515
|
get: function() {
|
|
1234
1516
|
return RUNNER_PATH;
|
|
1235
1517
|
}
|
|
1236
1518
|
});
|
|
1519
|
+
Object.defineProperty(exports, "SUBSCRIPTION_TYPE", {
|
|
1520
|
+
enumerable: true,
|
|
1521
|
+
get: function() {
|
|
1522
|
+
return SUBSCRIPTION_TYPE;
|
|
1523
|
+
}
|
|
1524
|
+
});
|
|
1237
1525
|
Object.defineProperty(exports, "assertSitePasswordTarget", {
|
|
1238
1526
|
enumerable: true,
|
|
1239
1527
|
get: function() {
|
|
1240
1528
|
return assertSitePasswordTarget;
|
|
1241
1529
|
}
|
|
1242
1530
|
});
|
|
1531
|
+
Object.defineProperty(exports, "awsClientConfig", {
|
|
1532
|
+
enumerable: true,
|
|
1533
|
+
get: function() {
|
|
1534
|
+
return awsClientConfig;
|
|
1535
|
+
}
|
|
1536
|
+
});
|
|
1537
|
+
Object.defineProperty(exports, "awsEndpoint", {
|
|
1538
|
+
enumerable: true,
|
|
1539
|
+
get: function() {
|
|
1540
|
+
return awsEndpoint;
|
|
1541
|
+
}
|
|
1542
|
+
});
|
|
1543
|
+
Object.defineProperty(exports, "awsProvisioningCredentials", {
|
|
1544
|
+
enumerable: true,
|
|
1545
|
+
get: function() {
|
|
1546
|
+
return awsProvisioningCredentials;
|
|
1547
|
+
}
|
|
1548
|
+
});
|
|
1243
1549
|
Object.defineProperty(exports, "backupDatabases", {
|
|
1244
1550
|
enumerable: true,
|
|
1245
1551
|
get: function() {
|
|
@@ -1276,6 +1582,12 @@ Object.defineProperty(exports, "backupsService", {
|
|
|
1276
1582
|
return backupsService;
|
|
1277
1583
|
}
|
|
1278
1584
|
});
|
|
1585
|
+
Object.defineProperty(exports, "confirmPendingSubscriptions", {
|
|
1586
|
+
enumerable: true,
|
|
1587
|
+
get: function() {
|
|
1588
|
+
return confirmPendingSubscriptions;
|
|
1589
|
+
}
|
|
1590
|
+
});
|
|
1279
1591
|
Object.defineProperty(exports, "deploysWithCompose", {
|
|
1280
1592
|
enumerable: true,
|
|
1281
1593
|
get: function() {
|
|
@@ -1300,6 +1612,12 @@ Object.defineProperty(exports, "passwordSites", {
|
|
|
1300
1612
|
return passwordSites;
|
|
1301
1613
|
}
|
|
1302
1614
|
});
|
|
1615
|
+
Object.defineProperty(exports, "recordedPushSubscriptions", {
|
|
1616
|
+
enumerable: true,
|
|
1617
|
+
get: function() {
|
|
1618
|
+
return recordedPushSubscriptions;
|
|
1619
|
+
}
|
|
1620
|
+
});
|
|
1303
1621
|
Object.defineProperty(exports, "requiredServerAddress", {
|
|
1304
1622
|
enumerable: true,
|
|
1305
1623
|
get: function() {
|
|
@@ -1360,12 +1678,30 @@ Object.defineProperty(exports, "stageDnsDomains", {
|
|
|
1360
1678
|
return stageDnsDomains;
|
|
1361
1679
|
}
|
|
1362
1680
|
});
|
|
1681
|
+
Object.defineProperty(exports, "subscriptionKey", {
|
|
1682
|
+
enumerable: true,
|
|
1683
|
+
get: function() {
|
|
1684
|
+
return subscriptionKey;
|
|
1685
|
+
}
|
|
1686
|
+
});
|
|
1687
|
+
Object.defineProperty(exports, "subscriptionResource", {
|
|
1688
|
+
enumerable: true,
|
|
1689
|
+
get: function() {
|
|
1690
|
+
return subscriptionResource;
|
|
1691
|
+
}
|
|
1692
|
+
});
|
|
1363
1693
|
Object.defineProperty(exports, "systemLookup", {
|
|
1364
1694
|
enumerable: true,
|
|
1365
1695
|
get: function() {
|
|
1366
1696
|
return systemLookup;
|
|
1367
1697
|
}
|
|
1368
1698
|
});
|
|
1699
|
+
Object.defineProperty(exports, "topicConnection", {
|
|
1700
|
+
enumerable: true,
|
|
1701
|
+
get: function() {
|
|
1702
|
+
return topicConnection;
|
|
1703
|
+
}
|
|
1704
|
+
});
|
|
1369
1705
|
Object.defineProperty(exports, "withSitePasswords", {
|
|
1370
1706
|
enumerable: true,
|
|
1371
1707
|
get: function() {
|
|
@@ -1373,4 +1709,4 @@ Object.defineProperty(exports, "withSitePasswords", {
|
|
|
1373
1709
|
}
|
|
1374
1710
|
});
|
|
1375
1711
|
|
|
1376
|
-
//# sourceMappingURL=
|
|
1712
|
+
//# sourceMappingURL=snsSubscriptions-CSkteK2J.cjs.map
|