@geekmidas/cli 10.0.0-alpha.6 → 10.0.0-alpha.61
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 +225 -268
- package/bin/adjacent-tsconfig.mjs +97 -0
- package/bin/gkm.mjs +16 -2
- package/bin/owning-tsconfig-jsx-register.mjs +18 -0
- package/bin/owning-tsconfig-jsx.mjs +108 -0
- package/dist/{HostingerProvider-h3EbEp-Z.cjs → HostingerProvider-CgDaD8VR.cjs} +21 -22
- package/dist/HostingerProvider-CgDaD8VR.cjs.map +1 -0
- package/dist/{HostingerProvider-Cft7lEYr.mjs → HostingerProvider-DI_Pr2VE.mjs} +20 -21
- package/dist/HostingerProvider-DI_Pr2VE.mjs.map +1 -0
- package/dist/LegacyStateStore-C7vFAxbu.mjs +89 -0
- package/dist/LegacyStateStore-C7vFAxbu.mjs.map +1 -0
- package/dist/LegacyStateStore-JbBVFp_2.cjs +89 -0
- package/dist/LegacyStateStore-JbBVFp_2.cjs.map +1 -0
- package/dist/LocalStateStore-DHj_-CQB.cjs +176 -0
- package/dist/LocalStateStore-DHj_-CQB.cjs.map +1 -0
- package/dist/LocalStateStore-DfUwQsL8.mjs +165 -0
- package/dist/LocalStateStore-DfUwQsL8.mjs.map +1 -0
- package/dist/{openapi-D-dx9Akj.cjs → OpenApiTsGenerator-BSrgw7B0.cjs} +360 -470
- package/dist/OpenApiTsGenerator-BSrgw7B0.cjs.map +1 -0
- package/dist/{openapi-Bw8DWFWz.mjs → OpenApiTsGenerator-q5B0z8Xg.mjs} +325 -404
- package/dist/OpenApiTsGenerator-q5B0z8Xg.mjs.map +1 -0
- package/dist/{Route53Provider-RdpUDJQk.mjs → Route53Provider-Cvj40A8I.mjs} +12 -12
- package/dist/Route53Provider-Cvj40A8I.mjs.map +1 -0
- package/dist/{Route53Provider-di2fMM5N.cjs → Route53Provider-DVILBsvV.cjs} +20 -21
- package/dist/Route53Provider-DVILBsvV.cjs.map +1 -0
- package/dist/S3StateStore-Dq6hHtzY.mjs +161 -0
- package/dist/S3StateStore-Dq6hHtzY.mjs.map +1 -0
- package/dist/S3StateStore-xqnpUrzy.cjs +160 -0
- package/dist/S3StateStore-xqnpUrzy.cjs.map +1 -0
- package/dist/SSMStateStore-5dBRwVlJ.cjs +153 -0
- package/dist/SSMStateStore-5dBRwVlJ.cjs.map +1 -0
- package/dist/SSMStateStore-SUmvAbLi.mjs +154 -0
- package/dist/SSMStateStore-SUmvAbLi.mjs.map +1 -0
- package/dist/appPorts-C9z9Pzn9.mjs +223 -0
- package/dist/appPorts-C9z9Pzn9.mjs.map +1 -0
- package/dist/appPorts-Cu79hJF6.cjs +264 -0
- package/dist/appPorts-Cu79hJF6.cjs.map +1 -0
- package/dist/aws-DkHdTV-p.cjs +61 -0
- package/dist/aws-DkHdTV-p.cjs.map +1 -0
- package/dist/aws-DojzQnLd.mjs +61 -0
- package/dist/aws-DojzQnLd.mjs.map +1 -0
- package/dist/{backup-provisioner-BrsHwYG0.cjs → backup-provisioner-BmhIO_Yr.cjs} +21 -19
- package/dist/backup-provisioner-BmhIO_Yr.cjs.map +1 -0
- package/dist/{backup-provisioner-Bgj5Vi_L.mjs → backup-provisioner-DIVCbfee.mjs} +10 -7
- package/dist/backup-provisioner-DIVCbfee.mjs.map +1 -0
- package/dist/{bundler-Be8Zg4Wd.mjs → bundler-B5VsKW-_.mjs} +18 -29
- package/dist/bundler-B5VsKW-_.mjs.map +1 -0
- package/dist/{bundler-BY1OmV1e.cjs → bundler-DXATpO1T.cjs} +20 -32
- package/dist/bundler-DXATpO1T.cjs.map +1 -0
- package/dist/cli-DEA_J3Sa.mjs +69 -0
- package/dist/cli-DEA_J3Sa.mjs.map +1 -0
- package/dist/cli-DQdrVkj2.cjs +69 -0
- package/dist/cli-DQdrVkj2.cjs.map +1 -0
- package/dist/{config-CxP7P-qG.mjs → config-C5-EEdmr.mjs} +144 -127
- package/dist/config-C5-EEdmr.mjs.map +1 -0
- package/dist/{config-CNz5KaSR.cjs → config-DXnkCEq0.cjs} +212 -184
- package/dist/config-DXnkCEq0.cjs.map +1 -0
- package/dist/config.cjs +9 -6
- package/dist/config.d.cts +124 -33
- package/dist/config.d.cts.map +1 -1
- package/dist/config.d.mts +124 -33
- package/dist/config.d.mts.map +1 -1
- package/dist/config.mjs +3 -5
- package/dist/deploy/public.cjs +22 -0
- package/dist/deploy/public.d.cts +459 -0
- package/dist/deploy/public.d.cts.map +1 -0
- package/dist/deploy/public.d.mts +459 -0
- package/dist/deploy/public.d.mts.map +1 -0
- package/dist/deploy/public.mjs +5 -0
- package/dist/deploy/sniffer-envkit-patch.cjs +18 -10
- package/dist/deploy/sniffer-envkit-patch.cjs.map +1 -1
- package/dist/deploy/sniffer-envkit-patch.d.cts +0 -2
- package/dist/deploy/sniffer-envkit-patch.d.cts.map +1 -1
- package/dist/deploy/sniffer-envkit-patch.d.mts +0 -2
- package/dist/deploy/sniffer-envkit-patch.d.mts.map +1 -1
- package/dist/deploy/sniffer-envkit-patch.mjs +10 -2
- package/dist/deploy/sniffer-envkit-patch.mjs.map +1 -1
- package/dist/deploy/sniffer-hooks.cjs +13 -7
- package/dist/deploy/sniffer-hooks.cjs.map +1 -1
- package/dist/deploy/sniffer-hooks.d.cts +1 -2
- package/dist/deploy/sniffer-hooks.d.cts.map +1 -1
- package/dist/deploy/sniffer-hooks.d.mts +1 -2
- package/dist/deploy/sniffer-hooks.d.mts.map +1 -1
- package/dist/deploy/sniffer-hooks.mjs +10 -3
- package/dist/deploy/sniffer-hooks.mjs.map +1 -1
- package/dist/deploy/sniffer-loader.cjs +16 -7
- package/dist/deploy/sniffer-loader.cjs.map +1 -1
- package/dist/deploy/sniffer-loader.d.cts +1 -1
- package/dist/deploy/sniffer-loader.d.mts +1 -1
- package/dist/deploy/sniffer-loader.mjs +14 -3
- package/dist/deploy/sniffer-loader.mjs.map +1 -1
- package/dist/deploy/sniffer-routes-worker.cjs +11 -11
- package/dist/deploy/sniffer-routes-worker.cjs.map +1 -1
- package/dist/deploy/sniffer-routes-worker.d.cts +1 -1
- package/dist/deploy/sniffer-routes-worker.d.mts +1 -1
- package/dist/deploy/sniffer-routes-worker.mjs +3 -3
- package/dist/deploy/sniffer-routes-worker.mjs.map +1 -1
- package/dist/deploy/sniffer-worker.cjs +15 -6
- package/dist/deploy/sniffer-worker.cjs.map +1 -1
- package/dist/deploy/sniffer-worker.d.cts +1 -3
- package/dist/deploy/sniffer-worker.d.cts.map +1 -1
- package/dist/deploy/sniffer-worker.d.mts +1 -3
- package/dist/deploy/sniffer-worker.d.mts.map +1 -1
- package/dist/deploy/sniffer-worker.mjs +15 -4
- package/dist/deploy/sniffer-worker.mjs.map +1 -1
- package/dist/deploy-BJcLmVTc.mjs +3282 -0
- package/dist/deploy-BJcLmVTc.mjs.map +1 -0
- package/dist/deploy-BbJdgQ2b.cjs +3365 -0
- package/dist/deploy-BbJdgQ2b.cjs.map +1 -0
- package/dist/{discover-DTmFeloL.cjs → discover-Bc-4eA_p.cjs} +131 -103
- package/dist/discover-Bc-4eA_p.cjs.map +1 -0
- package/dist/{discover-CAlFgYec.mjs → discover-FrYvzkeC.mjs} +91 -58
- package/dist/discover-FrYvzkeC.mjs.map +1 -0
- package/dist/{emit-CiZS_5Ub.mjs → emit-C1e8qD08.mjs} +13 -26
- package/dist/emit-C1e8qD08.mjs.map +1 -0
- package/dist/{emit-CbcRolsa.cjs → emit-Dmc1nvdS.cjs} +31 -57
- package/dist/emit-Dmc1nvdS.cjs.map +1 -0
- package/dist/encryption-DaA9gRXr.mjs +90 -0
- package/dist/encryption-DaA9gRXr.mjs.map +1 -0
- package/dist/encryption-ojzUo7-z.cjs +91 -0
- package/dist/encryption-ojzUo7-z.cjs.map +1 -0
- package/dist/fakes-C9RiT6XG.mjs +125 -0
- package/dist/fakes-C9RiT6XG.mjs.map +1 -0
- package/dist/fakes-zW-jNAbQ.cjs +148 -0
- package/dist/fakes-zW-jNAbQ.cjs.map +1 -0
- package/dist/github-Cq57poPj.cjs +213 -0
- package/dist/github-Cq57poPj.cjs.map +1 -0
- package/dist/github-DmCj2u95.mjs +213 -0
- package/dist/github-DmCj2u95.mjs.map +1 -0
- package/dist/home-DOzBaWaL.cjs +33 -0
- package/dist/home-DOzBaWaL.cjs.map +1 -0
- package/dist/home-GI7pJl1M.mjs +22 -0
- package/dist/home-GI7pJl1M.mjs.map +1 -0
- package/dist/{index-DEbaleny.d.mts → index-Da1-oa9W.d.mts} +4 -23
- package/dist/index-Da1-oa9W.d.mts.map +1 -0
- package/dist/{index-BGGdjueF.d.cts → index-UiWCaGzU.d.cts} +4 -23
- package/dist/index-UiWCaGzU.d.cts.map +1 -0
- package/dist/index.cjs +10712 -12248
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +10480 -12040
- package/dist/index.mjs.map +1 -1
- package/dist/migrate-5_J5JySj.mjs +265 -0
- package/dist/migrate-5_J5JySj.mjs.map +1 -0
- package/dist/migrate-BScRpCEx.cjs +270 -0
- package/dist/migrate-BScRpCEx.cjs.map +1 -0
- package/dist/openapi.cjs +198 -10
- package/dist/openapi.cjs.map +1 -0
- package/dist/openapi.d.cts +21 -19
- package/dist/openapi.d.cts.map +1 -1
- package/dist/openapi.d.mts +21 -19
- package/dist/openapi.d.mts.map +1 -1
- package/dist/openapi.mjs +193 -5
- package/dist/openapi.mjs.map +1 -0
- package/dist/ready-DQIy21W5.mjs +760 -0
- package/dist/ready-DQIy21W5.mjs.map +1 -0
- package/dist/ready-XlNx-Gbo.cjs +807 -0
- package/dist/ready-XlNx-Gbo.cjs.map +1 -0
- package/dist/reconcile/public.cjs +3 -5
- package/dist/reconcile/public.d.cts +30 -33
- package/dist/reconcile/public.d.cts.map +1 -1
- package/dist/reconcile/public.d.mts +30 -33
- package/dist/reconcile/public.d.mts.map +1 -1
- package/dist/reconcile/public.mjs +3 -4
- package/dist/{reconcile-CFs8C_1a.mjs → reconcile--I7V4Klj.mjs} +4 -7
- package/dist/reconcile--I7V4Klj.mjs.map +1 -0
- package/dist/{reconcile-D0pimNiy.cjs → reconcile-CuCQBa5-.cjs} +5 -8
- package/dist/reconcile-CuCQBa5-.cjs.map +1 -0
- package/dist/rolldown-runtime-BhDjJH2R.mjs +15 -0
- package/dist/{chunk-CUT6urMc.cjs → rolldown-runtime-C0BPl7ul.cjs} +23 -10
- package/dist/sniffer-CQmJnNJM.cjs +7115 -0
- package/dist/sniffer-CQmJnNJM.cjs.map +1 -0
- package/dist/sniffer-bdleks5l.mjs +6561 -0
- package/dist/sniffer-bdleks5l.mjs.map +1 -0
- package/dist/storage-BzaUxmqe.mjs +124 -0
- package/dist/storage-BzaUxmqe.mjs.map +1 -0
- package/dist/storage-CSGoC3bK.cjs +152 -0
- package/dist/storage-CSGoC3bK.cjs.map +1 -0
- package/dist/store-BS8A7NcA.mjs +415 -0
- package/dist/store-BS8A7NcA.mjs.map +1 -0
- package/dist/store-KvNQwYaB.cjs +510 -0
- package/dist/store-KvNQwYaB.cjs.map +1 -0
- package/dist/types-Bp1mVxG0.d.mts +6410 -0
- package/dist/types-Bp1mVxG0.d.mts.map +1 -0
- package/dist/types-efNLu9xu.d.cts +6411 -0
- package/dist/types-efNLu9xu.d.cts.map +1 -0
- package/dist/vitest.cjs +65 -0
- package/dist/vitest.cjs.map +1 -0
- package/dist/vitest.d.cts +29 -0
- package/dist/vitest.d.cts.map +1 -0
- package/dist/vitest.d.mts +29 -0
- package/dist/vitest.d.mts.map +1 -0
- package/dist/vitest.mjs +65 -0
- package/dist/vitest.mjs.map +1 -0
- package/dist/workspace/index.cjs +3 -4
- package/dist/workspace/index.d.cts +3 -3
- package/dist/workspace/index.d.mts +3 -3
- package/dist/workspace/index.mjs +2 -3
- package/dist/{workspace-LKiNyaDy.cjs → workspace-B64Xk1Mb.cjs} +1070 -1118
- package/dist/workspace-B64Xk1Mb.cjs.map +1 -0
- package/dist/{workspace-DIuZx-cc.mjs → workspace-Bp1xVaOz.mjs} +901 -972
- package/dist/workspace-Bp1xVaOz.mjs.map +1 -0
- package/package.json +38 -20
- package/dist/CachedStateProvider-BLo7zv7S.cjs +0 -3
- package/dist/CachedStateProvider-BxoAm-B2.mjs +0 -3
- package/dist/CachedStateProvider-CqPdW7CB.cjs +0 -60
- package/dist/CachedStateProvider-CqPdW7CB.cjs.map +0 -1
- package/dist/CachedStateProvider-DTniehMP.mjs +0 -54
- package/dist/CachedStateProvider-DTniehMP.mjs.map +0 -1
- package/dist/HostingerProvider-Cft7lEYr.mjs.map +0 -1
- package/dist/HostingerProvider-h3EbEp-Z.cjs.map +0 -1
- package/dist/LocalStateProvider-Bn6tS-oL.mjs +0 -42
- package/dist/LocalStateProvider-Bn6tS-oL.mjs.map +0 -1
- package/dist/LocalStateProvider-Db9SEjyH.cjs +0 -43
- package/dist/LocalStateProvider-Db9SEjyH.cjs.map +0 -1
- package/dist/Route53Provider-RdpUDJQk.mjs.map +0 -1
- package/dist/Route53Provider-di2fMM5N.cjs.map +0 -1
- package/dist/SSMStateProvider-BRt2py-A.mjs +0 -66
- package/dist/SSMStateProvider-BRt2py-A.mjs.map +0 -1
- package/dist/SSMStateProvider-DyX8s9HI.cjs +0 -66
- package/dist/SSMStateProvider-DyX8s9HI.cjs.map +0 -1
- package/dist/backup-provisioner-Bgj5Vi_L.mjs.map +0 -1
- package/dist/backup-provisioner-BrsHwYG0.cjs.map +0 -1
- package/dist/bundler-BY1OmV1e.cjs.map +0 -1
- package/dist/bundler-Be8Zg4Wd.mjs.map +0 -1
- package/dist/chunk-Duj1WY3L.mjs +0 -7
- package/dist/config-CNz5KaSR.cjs.map +0 -1
- package/dist/config-CxP7P-qG.mjs.map +0 -1
- package/dist/credentials-B5zRHdAl.mjs +0 -141
- package/dist/credentials-B5zRHdAl.mjs.map +0 -1
- package/dist/credentials-BK3Z93MX.mjs +0 -2548
- package/dist/credentials-BK3Z93MX.mjs.map +0 -1
- package/dist/credentials-BapzjyV5.cjs +0 -195
- package/dist/credentials-BapzjyV5.cjs.map +0 -1
- package/dist/credentials-DzsXZzkx.cjs +0 -2680
- package/dist/credentials-DzsXZzkx.cjs.map +0 -1
- package/dist/discover-CAlFgYec.mjs.map +0 -1
- package/dist/discover-DTmFeloL.cjs.map +0 -1
- package/dist/dokploy-api-BS2xnJLZ.mjs +0 -3
- package/dist/dokploy-api-BsVH0y_s.cjs +0 -718
- package/dist/dokploy-api-BsVH0y_s.cjs.map +0 -1
- package/dist/dokploy-api-BuxDRo3l.cjs +0 -3
- package/dist/dokploy-api-aTFPz7_4.mjs +0 -706
- package/dist/dokploy-api-aTFPz7_4.mjs.map +0 -1
- package/dist/emit-CbcRolsa.cjs.map +0 -1
- package/dist/emit-CiZS_5Ub.mjs.map +0 -1
- package/dist/encryption-C6jaU0hE.cjs +0 -54
- package/dist/encryption-C6jaU0hE.cjs.map +0 -1
- package/dist/encryption-CHzzeR8a.cjs +0 -4
- package/dist/encryption-CQUncu7v.mjs +0 -3
- package/dist/encryption-D-abyhZx.mjs +0 -42
- package/dist/encryption-D-abyhZx.mjs.map +0 -1
- package/dist/fullstack-secrets-C-GGohke.cjs +0 -111
- package/dist/fullstack-secrets-C-GGohke.cjs.map +0 -1
- package/dist/fullstack-secrets-D1o9-G5l.mjs +0 -87
- package/dist/fullstack-secrets-D1o9-G5l.mjs.map +0 -1
- package/dist/generator-CNzBw7g5.cjs +0 -289
- package/dist/generator-CNzBw7g5.cjs.map +0 -1
- package/dist/generator-VE2JrFlY.mjs +0 -253
- package/dist/generator-VE2JrFlY.mjs.map +0 -1
- package/dist/index-BGGdjueF.d.cts.map +0 -1
- package/dist/index-DEbaleny.d.mts.map +0 -1
- package/dist/openapi-Bw8DWFWz.mjs.map +0 -1
- package/dist/openapi-D-dx9Akj.cjs.map +0 -1
- package/dist/openapi-react-query-Byltvm_7.mjs +0 -167
- package/dist/openapi-react-query-Byltvm_7.mjs.map +0 -1
- package/dist/openapi-react-query-CmJ1xDbn.cjs +0 -173
- package/dist/openapi-react-query-CmJ1xDbn.cjs.map +0 -1
- package/dist/openapi-react-query.cjs +0 -4
- package/dist/openapi-react-query.d.cts +0 -11
- package/dist/openapi-react-query.d.cts.map +0 -1
- package/dist/openapi-react-query.d.mts +0 -11
- package/dist/openapi-react-query.d.mts.map +0 -1
- package/dist/openapi-react-query.mjs +0 -4
- package/dist/reconcile-CFs8C_1a.mjs.map +0 -1
- package/dist/reconcile-D0pimNiy.cjs.map +0 -1
- package/dist/setup-8IWPsRIN.cjs +0 -11
- package/dist/setup-BWMhbW-p.mjs +0 -443
- package/dist/setup-BWMhbW-p.mjs.map +0 -1
- package/dist/setup-D7L4BgBT.cjs +0 -473
- package/dist/setup-D7L4BgBT.cjs.map +0 -1
- package/dist/setup-DGIPd2fh.mjs +0 -11
- package/dist/storage-BJmzYxt8.cjs +0 -363
- package/dist/storage-BJmzYxt8.cjs.map +0 -1
- package/dist/storage-BM9hGpgv.cjs +0 -7
- package/dist/storage-Bi24WfoW.mjs +0 -297
- package/dist/storage-Bi24WfoW.mjs.map +0 -1
- package/dist/storage-CYlGwWTj.mjs +0 -3
- package/dist/sync-CmEuNZsB.mjs +0 -76
- package/dist/sync-CmEuNZsB.mjs.map +0 -1
- package/dist/sync-D306yOWu.cjs +0 -4
- package/dist/sync-SizaChmC.cjs +0 -93
- package/dist/sync-SizaChmC.cjs.map +0 -1
- package/dist/sync-hOqAWHR6.mjs +0 -3
- package/dist/types-BLSNdrk0.d.cts +0 -2176
- package/dist/types-BLSNdrk0.d.cts.map +0 -1
- package/dist/types-C3POXhw3.d.mts +0 -2176
- package/dist/types-C3POXhw3.d.mts.map +0 -1
- package/dist/workspace-CGaUAw5A.cjs +0 -9
- package/dist/workspace-CnTqIlB3.mjs +0 -8
- package/dist/workspace-DIuZx-cc.mjs.map +0 -1
- package/dist/workspace-LKiNyaDy.cjs.map +0 -1
|
@@ -0,0 +1,459 @@
|
|
|
1
|
+
import { B as StateVersionConflict, z as StateLocked } from "../types-efNLu9xu.cjs";
|
|
2
|
+
import { ConstructManifest } from "@geekmidas/manifest";
|
|
3
|
+
//#region src/deploy/identity.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Who a deploy is, on a target it shares with other workspaces.
|
|
6
|
+
*
|
|
7
|
+
* A Dokploy server is one flat namespace of projects, images and Docker
|
|
8
|
+
* service names. Deploys used to identify everything they made by the
|
|
9
|
+
* workspace name alone, so two workspaces called `shop` — or `Shop` and
|
|
10
|
+
* `shop` — deploying to one server landed in the same project, pushed over
|
|
11
|
+
* each other's images and redeployed each other's applications. A
|
|
12
|
+
* `DeployIdentity` is what a deploy names and claims its resources by instead.
|
|
13
|
+
*/
|
|
14
|
+
interface DeployIdentity {
|
|
15
|
+
/**
|
|
16
|
+
* Whose deploy this is — an organisation, a team, a repository. Two
|
|
17
|
+
* workspaces with the same name are told apart by it. Defaults to the
|
|
18
|
+
* kebab-cased workspace name; set `deploy.namespace` to choose one.
|
|
19
|
+
*/
|
|
20
|
+
readonly namespace: string;
|
|
21
|
+
/** The workspace name as the target spells it: lowercase, `[a-z0-9-]`. */
|
|
22
|
+
readonly project: string;
|
|
23
|
+
readonly stage: string;
|
|
24
|
+
/**
|
|
25
|
+
* `<namespace>/<project>`: what a Dokploy project is claimed by.
|
|
26
|
+
*
|
|
27
|
+
* The stage is not part of it because one Dokploy project holds every stage
|
|
28
|
+
* of a workspace, each as an environment — the key has to be the same from
|
|
29
|
+
* every stage that deploys into it.
|
|
30
|
+
*/
|
|
31
|
+
readonly key: string;
|
|
32
|
+
/**
|
|
33
|
+
* The prefix every name on the target carries: the project alone in the
|
|
34
|
+
* default namespace, `<namespace>-<project>` in any other.
|
|
35
|
+
*
|
|
36
|
+
* The default adds nothing so that a workspace that never set a namespace
|
|
37
|
+
* keeps the names it was already deployed under — a Postgres is found by
|
|
38
|
+
* its name, and a new name would be a new, empty database.
|
|
39
|
+
*/
|
|
40
|
+
readonly scope: string;
|
|
41
|
+
}
|
|
42
|
+
/** What an identity is derived from: a workspace's name and namespace. */
|
|
43
|
+
interface IdentitySource {
|
|
44
|
+
name: string;
|
|
45
|
+
deploy?: {
|
|
46
|
+
namespace?: string;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export declare function deployIdentity(workspace: IdentitySource, stage: string): DeployIdentity;
|
|
50
|
+
//#endregion
|
|
51
|
+
//#region src/home.d.ts
|
|
52
|
+
/**
|
|
53
|
+
* Where the CLI keeps what belongs to a person rather than a project: stage
|
|
54
|
+
* keys and stored provider credentials.
|
|
55
|
+
*
|
|
56
|
+
* `GKM_HOME` names it, so a CI job, a shared build runner or a test can give
|
|
57
|
+
* every run its own instead of reaching into whoever's home directory the
|
|
58
|
+
* process happens to have. Unset, it is `~/.gkm`, where it has always been.
|
|
59
|
+
*/
|
|
60
|
+
/** The environment variable that moves the CLI's home. */
|
|
61
|
+
export declare const GKM_HOME_ENV = "GKM_HOME";
|
|
62
|
+
/** The CLI's home: `GKM_HOME` if set, else `~/.gkm`. */
|
|
63
|
+
export declare function gkmHome(env?: NodeJS.ProcessEnv): string;
|
|
64
|
+
//#endregion
|
|
65
|
+
//#region src/deploy/credentials.d.ts
|
|
66
|
+
/**
|
|
67
|
+
* How a deploy gets the credentials it acts with.
|
|
68
|
+
*
|
|
69
|
+
* `deploy()` never prompts and never reads a terminal: it asks a
|
|
70
|
+
* `CredentialProvider` and, when the provider has nothing, stops with
|
|
71
|
+
* `MissingCredential` naming what it needed and how to supply it. Whether to
|
|
72
|
+
* ask a person, read a vault or fail is the caller's decision — `gkm deploy`
|
|
73
|
+
* prompts at a terminal and stores what was typed; a CI job sets the
|
|
74
|
+
* environment; a host passes its own provider.
|
|
75
|
+
*/
|
|
76
|
+
/** What each kind of credential is asked for with, and what it is. */
|
|
77
|
+
interface CredentialKinds {
|
|
78
|
+
/** The Dokploy API a stage deploys through. */
|
|
79
|
+
dokploy: {
|
|
80
|
+
/** `deploy.dokploy.endpoint`, when the config names one. */
|
|
81
|
+
request: {
|
|
82
|
+
endpoint?: string;
|
|
83
|
+
};
|
|
84
|
+
value: {
|
|
85
|
+
endpoint: string;
|
|
86
|
+
token: string;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* A container registry login, for Dokploy to pull with. Asked for only when
|
|
91
|
+
* Dokploy has no registry for `deploy.dokploy.registry` and one has to be
|
|
92
|
+
* created.
|
|
93
|
+
*/
|
|
94
|
+
registry: {
|
|
95
|
+
/** `deploy.dokploy.registry`. */
|
|
96
|
+
request: {
|
|
97
|
+
url: string;
|
|
98
|
+
};
|
|
99
|
+
value: {
|
|
100
|
+
username: string;
|
|
101
|
+
password: string;
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
type CredentialKind = keyof CredentialKinds;
|
|
106
|
+
/** What a deploy asks a provider for. */
|
|
107
|
+
type CredentialRequest<K extends CredentialKind = CredentialKind> = { [P in K]: {
|
|
108
|
+
kind: P;
|
|
109
|
+
} & CredentialKinds[P]['request']; }[K];
|
|
110
|
+
/** What a provider answers with. */
|
|
111
|
+
type Credential<K extends CredentialKind> = CredentialKinds[K]['value'];
|
|
112
|
+
interface CredentialProvider {
|
|
113
|
+
/**
|
|
114
|
+
* The credential `request` asks for, or `undefined` when this provider has
|
|
115
|
+
* none — the deploy then raises {@link MissingCredential}.
|
|
116
|
+
*/
|
|
117
|
+
get<K extends CredentialKind>(request: CredentialRequest<K>, options?: {
|
|
118
|
+
signal?: AbortSignal;
|
|
119
|
+
}): Promise<Credential<K> | undefined>;
|
|
120
|
+
}
|
|
121
|
+
/** A deploy needed a credential, and its provider had none. */
|
|
122
|
+
export declare class MissingCredential extends Error {
|
|
123
|
+
readonly kind: CredentialKind;
|
|
124
|
+
/** What it was for: the Dokploy endpoint or the registry URL. */
|
|
125
|
+
readonly target: string | undefined;
|
|
126
|
+
/** How to supply it. */
|
|
127
|
+
readonly howToProvide: string;
|
|
128
|
+
constructor(kind: CredentialKind,
|
|
129
|
+
/** What it was for: the Dokploy endpoint or the registry URL. */
|
|
130
|
+
target: string | undefined,
|
|
131
|
+
/** How to supply it. */
|
|
132
|
+
howToProvide?: string);
|
|
133
|
+
}
|
|
134
|
+
/** Whatever was asked for, from the first provider that has it. */
|
|
135
|
+
export declare function chainCredentials(...providers: CredentialProvider[]): CredentialProvider;
|
|
136
|
+
interface StoredCredentialsOptions {
|
|
137
|
+
/** Where to read the variables from. Defaults to `process.env`. */
|
|
138
|
+
env?: NodeJS.ProcessEnv;
|
|
139
|
+
/**
|
|
140
|
+
* The CLI's home, whose `credentials.json` holds stored logins. Defaults
|
|
141
|
+
* to `GKM_HOME`, else `~/.gkm`.
|
|
142
|
+
*/
|
|
143
|
+
home?: string;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Credentials from the environment, then from what `gkm login` stored. What
|
|
147
|
+
* `deploy()` uses when it is handed no provider.
|
|
148
|
+
*
|
|
149
|
+
* - Dokploy: `DOKPLOY_API_TOKEN` / `DOKPLOY_ENDPOINT`, each falling back to
|
|
150
|
+
* the stored login, and the endpoint finally to `deploy.dokploy.endpoint`.
|
|
151
|
+
* Each half is read on its own: a token is a secret and belongs in the
|
|
152
|
+
* environment, an endpoint is configuration and belongs in the config.
|
|
153
|
+
* - Registry: `DOCKER_REGISTRY_USERNAME` / `DOCKER_REGISTRY_PASSWORD`.
|
|
154
|
+
*/
|
|
155
|
+
export declare function storedCredentials(options?: StoredCredentialsOptions): CredentialProvider;
|
|
156
|
+
//#endregion
|
|
157
|
+
//#region src/deploy/types.d.ts
|
|
158
|
+
/** Result for a single app deployment in workspace mode */
|
|
159
|
+
interface AppDeployResult {
|
|
160
|
+
/** App name */
|
|
161
|
+
appName: string;
|
|
162
|
+
/** App type */
|
|
163
|
+
type: 'backend' | 'web' | 'mobile';
|
|
164
|
+
/** Whether deployment succeeded */
|
|
165
|
+
success: boolean;
|
|
166
|
+
/** Dokploy application ID */
|
|
167
|
+
applicationId?: string;
|
|
168
|
+
/** Docker image reference */
|
|
169
|
+
imageRef?: string;
|
|
170
|
+
/** The registry's digest for the image, `sha256:…`, once pushed */
|
|
171
|
+
digest?: string;
|
|
172
|
+
/** Deployment URL */
|
|
173
|
+
url?: string;
|
|
174
|
+
/** Error message if failed */
|
|
175
|
+
error?: string;
|
|
176
|
+
}
|
|
177
|
+
/** Result from workspace deployment */
|
|
178
|
+
interface WorkspaceDeployResult {
|
|
179
|
+
/** Results for each app */
|
|
180
|
+
apps: AppDeployResult[];
|
|
181
|
+
/** Dokploy project ID */
|
|
182
|
+
projectId: string;
|
|
183
|
+
/** Total number of successful deployments */
|
|
184
|
+
successCount: number;
|
|
185
|
+
/** Total number of failed deployments */
|
|
186
|
+
failedCount: number;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* What a deploy did — or, for a dry run, would do. Plain JSON, so it can be
|
|
190
|
+
* written out as is (`gkm deploy --json` ends with it).
|
|
191
|
+
*/
|
|
192
|
+
interface DeployResult extends WorkspaceDeployResult {
|
|
193
|
+
stage: string;
|
|
194
|
+
/** `<namespace>/<project>`. */
|
|
195
|
+
identity: string;
|
|
196
|
+
/** The image tag every app was built with. */
|
|
197
|
+
tag: string;
|
|
198
|
+
/** Whether this was a dry run: nothing was created, built or pushed. */
|
|
199
|
+
dryRun: boolean;
|
|
200
|
+
/** Dokploy's environment for the stage; empty when a dry run would create it. */
|
|
201
|
+
environmentId: string;
|
|
202
|
+
/** Apps left out, and why — a mobile app, another deploy target. */
|
|
203
|
+
skipped: {
|
|
204
|
+
app: string;
|
|
205
|
+
reason: string;
|
|
206
|
+
}[];
|
|
207
|
+
/** Each deployed app's public URL. */
|
|
208
|
+
urls: Record<string, string>;
|
|
209
|
+
/**
|
|
210
|
+
* Every resource the run touched, in order: what it applied, or for a dry
|
|
211
|
+
* run, what it would.
|
|
212
|
+
*/
|
|
213
|
+
changes: ResourceChange[];
|
|
214
|
+
}
|
|
215
|
+
//#endregion
|
|
216
|
+
//#region src/deploy/events.d.ts
|
|
217
|
+
/**
|
|
218
|
+
* The stretch of a deploy an event belongs to.
|
|
219
|
+
*
|
|
220
|
+
* - `validate`: the config, the stage, the apps, the lock, the stage's secrets
|
|
221
|
+
* and what each app reads from its environment
|
|
222
|
+
* - `plan`: a dry run's lookups — what would be created and what reused
|
|
223
|
+
* - `provision`: the Dokploy project, environment and registry, and the
|
|
224
|
+
* declared constructs
|
|
225
|
+
* - `release`: each app's image built, pushed and deployed
|
|
226
|
+
* - `verify`: DNS records and Dokploy's domain validation
|
|
227
|
+
*/
|
|
228
|
+
type DeployPhase = 'validate' | 'plan' | 'provision' | 'release' | 'verify';
|
|
229
|
+
/** An error, as an event carries it. */
|
|
230
|
+
interface DeployEventError {
|
|
231
|
+
/** The error's class name — `MissingCredential`, `StateLocked`. */
|
|
232
|
+
name: string;
|
|
233
|
+
message: string;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* How a resource came to be used:
|
|
237
|
+
* - `recorded`: the id the stage's state holds still resolves
|
|
238
|
+
* - `resumed`: a run that died after creating it is picked up
|
|
239
|
+
* - `found`: it existed and was looked up
|
|
240
|
+
* - `created`: this run created it
|
|
241
|
+
*/
|
|
242
|
+
type ResourceVia = 'recorded' | 'resumed' | 'found' | 'created';
|
|
243
|
+
/** One resource a deploy touches, planned or applied. */
|
|
244
|
+
interface ResourceChange {
|
|
245
|
+
/** `<type>:<name>`, unique within the stage — `application:api`. */
|
|
246
|
+
key: string;
|
|
247
|
+
/** `project`, `environment`, `registry`, `application`, `domain`, `image`, or a construct's kind. */
|
|
248
|
+
resourceType: string;
|
|
249
|
+
/**
|
|
250
|
+
* For a plan: whether the run would create it, reuse what exists, or
|
|
251
|
+
* ensure it (look it up, and create it if missing). For an applied change:
|
|
252
|
+
* what was done.
|
|
253
|
+
*/
|
|
254
|
+
action: 'create' | 'reuse' | 'ensure' | 'build';
|
|
255
|
+
/** The target's id, once there is one. */
|
|
256
|
+
id?: string;
|
|
257
|
+
}
|
|
258
|
+
type DeployEvent = {
|
|
259
|
+
type: 'deploy.started';
|
|
260
|
+
stage: string;
|
|
261
|
+
/** `<namespace>/<project>`. */
|
|
262
|
+
identity: string;
|
|
263
|
+
tag: string;
|
|
264
|
+
/** The apps this run deploys, in order. */
|
|
265
|
+
apps: string[];
|
|
266
|
+
dryRun: boolean;
|
|
267
|
+
} | {
|
|
268
|
+
type: 'phase.started';
|
|
269
|
+
phase: DeployPhase;
|
|
270
|
+
} | {
|
|
271
|
+
type: 'phase.finished';
|
|
272
|
+
phase: DeployPhase;
|
|
273
|
+
} |
|
|
274
|
+
/**
|
|
275
|
+
* A progress line, exactly as `gkm deploy` prints it — leading newline and
|
|
276
|
+
* indentation included, so a terminal renderer prints `message` as is.
|
|
277
|
+
*/
|
|
278
|
+
{
|
|
279
|
+
type: 'log';
|
|
280
|
+
level: 'info' | 'warn' | 'error';
|
|
281
|
+
message: string;
|
|
282
|
+
} | {
|
|
283
|
+
type: 'app.skipped';
|
|
284
|
+
app: string;
|
|
285
|
+
reason: string;
|
|
286
|
+
} | ({
|
|
287
|
+
type: 'resource.planned';
|
|
288
|
+
} & ResourceChange) | ({
|
|
289
|
+
type: 'resource.applied';
|
|
290
|
+
via: ResourceVia;
|
|
291
|
+
} & ResourceChange & {
|
|
292
|
+
id: string;
|
|
293
|
+
}) | {
|
|
294
|
+
type: 'artifact.built';
|
|
295
|
+
app: string;
|
|
296
|
+
imageRef: string;
|
|
297
|
+
/** The registry's digest, `sha256:…`, once pushed. */
|
|
298
|
+
digest?: string;
|
|
299
|
+
} | {
|
|
300
|
+
type: 'app.deployed';
|
|
301
|
+
app: string;
|
|
302
|
+
applicationId: string;
|
|
303
|
+
imageRef: string;
|
|
304
|
+
url: string;
|
|
305
|
+
} | {
|
|
306
|
+
type: 'app.failed';
|
|
307
|
+
app: string;
|
|
308
|
+
error: DeployEventError;
|
|
309
|
+
} | {
|
|
310
|
+
type: 'deploy.finished';
|
|
311
|
+
result: DeployResult;
|
|
312
|
+
} | {
|
|
313
|
+
type: 'deploy.failed';
|
|
314
|
+
error: DeployEventError;
|
|
315
|
+
};
|
|
316
|
+
/** Every `type` a deploy event can have. */
|
|
317
|
+
type DeployEventType = DeployEvent['type'];
|
|
318
|
+
//#endregion
|
|
319
|
+
//#region src/deploy/deploy.d.ts
|
|
320
|
+
/**
|
|
321
|
+
* Where a run's progress lines go, besides its events. `@geekmidas/logger`'s
|
|
322
|
+
* `Logger` is one.
|
|
323
|
+
*/
|
|
324
|
+
interface DeployLogger {
|
|
325
|
+
info(message: string): void;
|
|
326
|
+
warn(message: string): void;
|
|
327
|
+
error?(message: string): void;
|
|
328
|
+
}
|
|
329
|
+
interface DeployInput {
|
|
330
|
+
/**
|
|
331
|
+
* The project to deploy: the directory holding `gkm.config.ts`, or any
|
|
332
|
+
* directory inside it. Never assumed to be `process.cwd()`.
|
|
333
|
+
*/
|
|
334
|
+
cwd: string;
|
|
335
|
+
/** The stage to deploy — one of the config's deployed stages. */
|
|
336
|
+
stage: string;
|
|
337
|
+
/** The image tag. Defaults to `<stage>-<timestamp>`. */
|
|
338
|
+
tag?: string;
|
|
339
|
+
/** Deploy only these apps (in dependency order). Defaults to all. */
|
|
340
|
+
apps?: string[];
|
|
341
|
+
/**
|
|
342
|
+
* Look everything up and report what would happen — as `resource.planned`
|
|
343
|
+
* events — without taking the lock, writing state, generating secrets,
|
|
344
|
+
* changing Dokploy or building and pushing images.
|
|
345
|
+
*/
|
|
346
|
+
dryRun?: boolean;
|
|
347
|
+
/**
|
|
348
|
+
* Where credentials come from. Defaults to the environment, then the
|
|
349
|
+
* logins `gkm login` stored. A credential no provider has stops the run
|
|
350
|
+
* with `MissingCredential`; nothing prompts.
|
|
351
|
+
*/
|
|
352
|
+
credentials?: CredentialProvider;
|
|
353
|
+
/** Receives each progress line as it is written. Defaults to none. */
|
|
354
|
+
logger?: DeployLogger;
|
|
355
|
+
/**
|
|
356
|
+
* Stops the run: in-flight Dokploy requests and docker children are
|
|
357
|
+
* cancelled, the stage's lock is released, and `result` rejects with the
|
|
358
|
+
* signal's reason.
|
|
359
|
+
*/
|
|
360
|
+
signal?: AbortSignal;
|
|
361
|
+
/**
|
|
362
|
+
* The CLI's home: stage keys and stored logins. Defaults to `GKM_HOME`,
|
|
363
|
+
* else `~/.gkm`.
|
|
364
|
+
*/
|
|
365
|
+
home?: string;
|
|
366
|
+
/**
|
|
367
|
+
* Where docker's own output goes: the host's terminal (`inherit`, the
|
|
368
|
+
* default), its stderr, or nowhere.
|
|
369
|
+
*/
|
|
370
|
+
childOutput?: 'inherit' | 'stderr' | 'ignore';
|
|
371
|
+
}
|
|
372
|
+
/** A deploy in progress. */
|
|
373
|
+
interface DeployRun extends AsyncIterable<DeployEvent> {
|
|
374
|
+
/**
|
|
375
|
+
* What the deploy did, once it is done. Rejects with the error that
|
|
376
|
+
* stopped it — `MissingCredential`, `StateLocked`, `ProjectNotOwned`, … —
|
|
377
|
+
* after a `deploy.failed` event carrying the same.
|
|
378
|
+
*/
|
|
379
|
+
readonly result: Promise<DeployResult>;
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Deploy a project's stage.
|
|
383
|
+
*
|
|
384
|
+
* ```ts
|
|
385
|
+
* import { deploy } from '@geekmidas/cli/deploy';
|
|
386
|
+
*
|
|
387
|
+
* const run = deploy({ cwd: '/srv/checkouts/shop', stage: 'production' });
|
|
388
|
+
* for await (const event of run) {
|
|
389
|
+
* if (event.type === 'app.deployed') console.log(event.app, event.url);
|
|
390
|
+
* }
|
|
391
|
+
* const result = await run.result;
|
|
392
|
+
* ```
|
|
393
|
+
*
|
|
394
|
+
* The run starts at once; iterating it is optional, and an iteration started
|
|
395
|
+
* late still sees every event from the first.
|
|
396
|
+
*/
|
|
397
|
+
export declare function deploy(input: DeployInput): DeployRun;
|
|
398
|
+
//#endregion
|
|
399
|
+
//#region src/deploy/index.d.ts
|
|
400
|
+
/** Apps were asked for by name that the workspace does not have. */
|
|
401
|
+
export declare class UnknownDeployApps extends Error {
|
|
402
|
+
readonly apps: readonly string[];
|
|
403
|
+
readonly available: readonly string[];
|
|
404
|
+
constructor(apps: readonly string[], available: readonly string[]);
|
|
405
|
+
}
|
|
406
|
+
/** Every app asked for deploys somewhere other than Dokploy. */
|
|
407
|
+
export declare class NoDeployableApps extends Error {
|
|
408
|
+
readonly stage: string;
|
|
409
|
+
constructor(stage: string);
|
|
410
|
+
}
|
|
411
|
+
/** A backend failed, so the run stopped before deploying anything after it. */
|
|
412
|
+
export declare class BackendDeployFailed extends Error {
|
|
413
|
+
readonly app: string;
|
|
414
|
+
constructor(app: string, cause: unknown);
|
|
415
|
+
}
|
|
416
|
+
/** An app's environment needs values the stage does not have. */
|
|
417
|
+
export declare class MissingEnvVars extends Error {
|
|
418
|
+
readonly app: string;
|
|
419
|
+
readonly missing: readonly string[];
|
|
420
|
+
readonly stage: string;
|
|
421
|
+
constructor(app: string, missing: readonly string[], stage: string);
|
|
422
|
+
}
|
|
423
|
+
//#endregion
|
|
424
|
+
//#region src/deploy/ownership.d.ts
|
|
425
|
+
/**
|
|
426
|
+
* A Dokploy project with the name this deploy would use exists, and nothing
|
|
427
|
+
* says this workspace created it.
|
|
428
|
+
*/
|
|
429
|
+
export declare class ProjectNotOwned extends Error {
|
|
430
|
+
readonly projectName: string;
|
|
431
|
+
readonly projectId: string;
|
|
432
|
+
readonly identity: string;
|
|
433
|
+
/** The marker the project carries instead, if it carries one. */
|
|
434
|
+
readonly ownedBy: string | undefined;
|
|
435
|
+
constructor(projectName: string, projectId: string, identity: string,
|
|
436
|
+
/** The marker the project carries instead, if it carries one. */
|
|
437
|
+
ownedBy: string | undefined);
|
|
438
|
+
}
|
|
439
|
+
//#endregion
|
|
440
|
+
//#region src/deploy/registry.d.ts
|
|
441
|
+
/** There is nowhere to push images to, so Dokploy has nothing to pull. */
|
|
442
|
+
export declare class RegistryNotConfigured extends Error {
|
|
443
|
+
readonly stage: string;
|
|
444
|
+
constructor(stage: string);
|
|
445
|
+
}
|
|
446
|
+
/** `deploy.dokploy.registryId` names a registry Dokploy does not have. */
|
|
447
|
+
export declare class RegistryNotFound extends Error {
|
|
448
|
+
readonly registryId: string;
|
|
449
|
+
constructor(registryId: string);
|
|
450
|
+
}
|
|
451
|
+
/** More than one Dokploy registry serves the configured registry. */
|
|
452
|
+
export declare class RegistryAmbiguous extends Error {
|
|
453
|
+
readonly registry: string;
|
|
454
|
+
readonly registryIds: readonly string[];
|
|
455
|
+
constructor(registry: string, registryIds: readonly string[]);
|
|
456
|
+
}
|
|
457
|
+
//#endregion
|
|
458
|
+
export { type AppDeployResult, type Credential, type CredentialKind, type CredentialKinds, type CredentialProvider, type CredentialRequest, type DeployEvent, type DeployEventError, type DeployEventType, type DeployIdentity, type DeployInput, type DeployLogger, type DeployPhase, type DeployResult, type DeployRun, type ResourceChange, type ResourceVia, StateLocked, StateVersionConflict, type StoredCredentialsOptions };
|
|
459
|
+
//# sourceMappingURL=public.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public.d.cts","names":[],"sources":["../../src/deploy/identity.ts","../../src/home.ts","../../src/deploy/credentials.ts","../../src/deploy/types.ts","../../src/deploy/events.ts","../../src/deploy/deploy.ts","../../src/deploy/index.ts","../../src/deploy/ownership.ts","../../src/deploy/registry.ts"],"mappings":";;;;;;;;;;;;;UAaiB;;;;;;WAMP;;WAEA;WACA;;;;;;;;WAQA;;;;;;;;;WASA;;;UA0CO;EAChB;EACA;IAAW;;;wBAGI,eACf,WAAW,gBACX,gBACE;;;;;;;;;;;;qBC5EU;;wBAGG,QAAQ,MAAK,OAAO;;;;;;;;;;;;;;UCFnB;;EAEhB;;IAEC;MAAW;;IACX;MAAS;MAAkB;;;;;;;;EAO5B;;IAEC;MAAW;;IACX;MAAS;MAAkB;;;;KAIjB,uBAAuB;;KAGvB,kBAAkB,UAAU,iBAAiB,qBACvD,KAAK;EAAM,MAAM;IAAM,gBAAgB,iBACvC;;KAGU,WAAW,UAAU,kBAAkB,gBAAgB;UAElD;;;;;EAKhB,IAAI,UAAU,gBACb,SAAS,kBAAkB,IAC3B;IAAY,SAAS;MACnB,QAAQ,WAAW;;;qBAYV,0BAA0B;WAE5B,MAAM;;WAEN;;WAEA;EALV,YACU,MAAM,gBAEN;;EAAA,4BAEA;;EAAA;;;wBAYK,oBACZ,WAAW,uBACZ;UAYc;;EAEhB,MAAM,OAAO;;;;;EAKb;;;;;;;;;;;;wBAae,kBACf,UAAS,2BACP;;;;UCzEc;;EAEhB;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;;UAIgB;;EAEhB,MAAM;;EAEN;;EAEA;;EAEA;;;;;;UAOgB,qBAAqB;EACrC;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;IAAW;IAAa;;;EAExB,MAAM;;;;;EAKN,SAAS;;;;;;;;;;;;;;;KCtEE;;UAQK;;EAEhB;EACA;;;;;;;;;KAUW;;UAGK;;EAEhB;;EAEA;;;;;;EAMA;;EAEA;;KAGW;EAET;EACA;;EAEA;EACA;;EAEA;EACA;;EAEE;EAAuB,OAAO;;EAC9B;EAAwB,OAAO;;;;;;;EAK/B;EAAa;EAAkC;;EAC/C;EAAqB;EAAa;;EACjC;IAA6B;EAC7B;EAA0B,KAAK;IAAgB;EACjD;;EAGD;EACA;EACA;;EAEA;;EAGA;EACA;EACA;EACA;EACA;;EAEE;EAAoB;EAAa,OAAO;;EACxC;EAAyB,QAAQ;;EACjC;EAAuB,OAAO;;;KAGvB,kBAAkB;;;;;;;UChFb;EAChB,KAAK;EACL,KAAK;EACL,OAAO;;UAGS;;;;;EAKhB;;EAEA;;EAEA;;EAEA;;;;;;EAMA;;;;;;EAMA,cAAc;;EAEd,SAAS;;;;;;EAMT,SAAS;;;;;EAKT;;;;;EAKA;;;UAIgB,kBAAkB,cAAc;;;;;;WAMvC,QAAQ,QAAQ;;;;;;;;;;;;;;;;;;wBA2EV,OAAO,OAAO,cAAc;;;;qBCwX/B,0BAA0B;WAE5B;WACA;EAFV,YACU,yBACA;;;qBAWE,yBAAyB;WAChB;EAArB,YAAqB;;;qBAST,4BAA4B;WAE9B;EADV,YACU,aACT;;;qBAWW,uBAAuB;WAEzB;WACA;WACA;EAHV,YACU,aACA,4BACA;;;;;;;;qBCtiBE,wBAAwB;WAE1B;WACA;WACA;;WAEA;EALV,YACU,qBACA,mBACA,kBAEA;;EAAA;;;;;qBChBE,8BAA8B;WACrB;EAArB,YAAqB;;;qBAUT,yBAAyB;WAChB;EAArB,YAAqB;;;qBAUT,0BAA0B;WAE5B;WACA;EAFV,YACU,kBACA"}
|