@geekmidas/cli 10.0.0-alpha.65 → 10.0.0-alpha.66

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.
Files changed (208) hide show
  1. package/README.md +14 -0
  2. package/dist/{HostingerProvider-Dlmbfass.cjs → HostingerProvider-BznqRC2S.cjs} +3 -3
  3. package/dist/HostingerProvider-BznqRC2S.cjs.map +1 -0
  4. package/dist/{HostingerProvider-x9gQTAGZ.mjs → HostingerProvider-CY_VpVud.mjs} +3 -3
  5. package/dist/HostingerProvider-CY_VpVud.mjs.map +1 -0
  6. package/dist/{LegacyStateStore-BGoo__sO.cjs → LegacyStateStore-BFcTT2QL.cjs} +2 -2
  7. package/dist/{LegacyStateStore-BGoo__sO.cjs.map → LegacyStateStore-BFcTT2QL.cjs.map} +1 -1
  8. package/dist/{LegacyStateStore-BUu1nQ5u.mjs → LegacyStateStore-CFheFo62.mjs} +2 -2
  9. package/dist/{LegacyStateStore-BUu1nQ5u.mjs.map → LegacyStateStore-CFheFo62.mjs.map} +1 -1
  10. package/dist/{LocalStateStore-93urXyQe.cjs → LocalStateStore-BVUexSvu.cjs} +2 -2
  11. package/dist/{LocalStateStore-93urXyQe.cjs.map → LocalStateStore-BVUexSvu.cjs.map} +1 -1
  12. package/dist/{LocalStateStore-BRhMQRuy.mjs → LocalStateStore-Bm3x9oOg.mjs} +2 -2
  13. package/dist/{LocalStateStore-BRhMQRuy.mjs.map → LocalStateStore-Bm3x9oOg.mjs.map} +1 -1
  14. package/dist/{OpenApiTsGenerator-BWuDRHe9.cjs → OpenApiTsGenerator-B2zrdyP4.cjs} +2 -2
  15. package/dist/{OpenApiTsGenerator-BWuDRHe9.cjs.map → OpenApiTsGenerator-B2zrdyP4.cjs.map} +1 -1
  16. package/dist/{OpenApiTsGenerator-C6v-IeHt.mjs → OpenApiTsGenerator-BmUAcR7d.mjs} +2 -2
  17. package/dist/{OpenApiTsGenerator-C6v-IeHt.mjs.map → OpenApiTsGenerator-BmUAcR7d.mjs.map} +1 -1
  18. package/dist/{Route53Provider-DVILBsvV.cjs → Route53Provider-Bllus2NR.cjs} +2 -2
  19. package/dist/Route53Provider-Bllus2NR.cjs.map +1 -0
  20. package/dist/{Route53Provider-Cvj40A8I.mjs → Route53Provider-QXxjkZO1.mjs} +2 -2
  21. package/dist/Route53Provider-QXxjkZO1.mjs.map +1 -0
  22. package/dist/{S3StateStore-pw1GhWwt.mjs → S3StateStore-BFHuctWM.mjs} +2 -2
  23. package/dist/{S3StateStore-pw1GhWwt.mjs.map → S3StateStore-BFHuctWM.mjs.map} +1 -1
  24. package/dist/{S3StateStore-F4dxw6kS.cjs → S3StateStore-CoXBhILd.cjs} +2 -2
  25. package/dist/{S3StateStore-F4dxw6kS.cjs.map → S3StateStore-CoXBhILd.cjs.map} +1 -1
  26. package/dist/{SSMStateStore-Bt9acuAF.cjs → SSMStateStore-BqCA9TP2.cjs} +2 -2
  27. package/dist/{SSMStateStore-Bt9acuAF.cjs.map → SSMStateStore-BqCA9TP2.cjs.map} +1 -1
  28. package/dist/{SSMStateStore-Dmj7zzFO.mjs → SSMStateStore-C1kvHScY.mjs} +2 -2
  29. package/dist/{SSMStateStore-Dmj7zzFO.mjs.map → SSMStateStore-C1kvHScY.mjs.map} +1 -1
  30. package/dist/{backup-provisioner-DIVCbfee.mjs → backup-provisioner-C8DnCmxK.mjs} +2 -2
  31. package/dist/backup-provisioner-C8DnCmxK.mjs.map +1 -0
  32. package/dist/{backup-provisioner-BmhIO_Yr.cjs → backup-provisioner-oDEsPj02.cjs} +2 -2
  33. package/dist/backup-provisioner-oDEsPj02.cjs.map +1 -0
  34. package/dist/{bundler-D_14JLZF.mjs → bundler-Dvaiud0h.mjs} +4 -4
  35. package/dist/{bundler-D_14JLZF.mjs.map → bundler-Dvaiud0h.mjs.map} +1 -1
  36. package/dist/{bundler-D6MlIfBT.cjs → bundler-orRqUJNZ.cjs} +4 -4
  37. package/dist/{bundler-D6MlIfBT.cjs.map → bundler-orRqUJNZ.cjs.map} +1 -1
  38. package/dist/{cli-P56vvrDQ.mjs → cli-CfHm0AO7.mjs} +5 -4
  39. package/dist/cli-CfHm0AO7.mjs.map +1 -0
  40. package/dist/{cli-BfH1deAT.cjs → cli-D1JkkOwg.cjs} +5 -4
  41. package/dist/cli-D1JkkOwg.cjs.map +1 -0
  42. package/dist/{compose-DprE3ASm.mjs → compose-CNQL8BnO.mjs} +18 -482
  43. package/dist/compose-CNQL8BnO.mjs.map +1 -0
  44. package/dist/{compose-391oEKj1.cjs → compose-jrLy7KGO.cjs} +16 -571
  45. package/dist/compose-jrLy7KGO.cjs.map +1 -0
  46. package/dist/{config-V_X_BMpm.d.cts → config-4XFxX1al.d.cts} +3 -3
  47. package/dist/{config-BonvTW8p.d.mts.map → config-4XFxX1al.d.cts.map} +1 -1
  48. package/dist/{config-BonvTW8p.d.mts → config-UtKzhpFb.d.mts} +3 -3
  49. package/dist/{config-V_X_BMpm.d.cts.map → config-UtKzhpFb.d.mts.map} +1 -1
  50. package/dist/config.cjs +3 -3
  51. package/dist/config.d.cts +3 -3
  52. package/dist/config.d.mts +3 -3
  53. package/dist/config.mjs +3 -3
  54. package/dist/databases-C2p5LGAp.cjs +419 -0
  55. package/dist/databases-C2p5LGAp.cjs.map +1 -0
  56. package/dist/databases-hUHTuwhx.mjs +346 -0
  57. package/dist/databases-hUHTuwhx.mjs.map +1 -0
  58. package/dist/deploy/public.cjs +26 -17
  59. package/dist/deploy/public.d.cts +136 -19
  60. package/dist/deploy/public.d.cts.map +1 -1
  61. package/dist/deploy/public.d.mts +136 -19
  62. package/dist/deploy/public.d.mts.map +1 -1
  63. package/dist/deploy/public.mjs +8 -8
  64. package/dist/deploy-B7aJi_Ah.cjs +511 -0
  65. package/dist/deploy-B7aJi_Ah.cjs.map +1 -0
  66. package/dist/deploy-DWn7YfIc.mjs +488 -0
  67. package/dist/deploy-DWn7YfIc.mjs.map +1 -0
  68. package/dist/{discover-LMrqsWSU.mjs → discover-BFoJWKGD.mjs} +4 -2
  69. package/dist/discover-BFoJWKGD.mjs.map +1 -0
  70. package/dist/{discover-DHdECueV.cjs → discover-OEfZ9OkA.cjs} +4 -2
  71. package/dist/discover-OEfZ9OkA.cjs.map +1 -0
  72. package/dist/dokploy-B4LcYG1E.cjs +38 -0
  73. package/dist/dokploy-B4LcYG1E.cjs.map +1 -0
  74. package/dist/dokploy-DalwLML5.mjs +38 -0
  75. package/dist/dokploy-DalwLML5.mjs.map +1 -0
  76. package/dist/{encryption-B1wJwgae.cjs → encryption-3KlGS1sl.cjs} +5 -7
  77. package/dist/{encryption-B1wJwgae.cjs.map → encryption-3KlGS1sl.cjs.map} +1 -1
  78. package/dist/{encryption-DF_hgIpl.mjs → encryption-CPfENwWO.mjs} +3 -5
  79. package/dist/{encryption-DF_hgIpl.mjs.map → encryption-CPfENwWO.mjs.map} +1 -1
  80. package/dist/{deploy-CZ5nlpsu.mjs → engine-CunvOG3s.mjs} +2100 -1733
  81. package/dist/engine-CunvOG3s.mjs.map +1 -0
  82. package/dist/{deploy-Cy8igpQF.cjs → engine-DR6KurWX.cjs} +2136 -1727
  83. package/dist/engine-DR6KurWX.cjs.map +1 -0
  84. package/dist/{github-CYcmTdFs.cjs → github-BJ5gh9bw.cjs} +7 -7
  85. package/dist/{github-CYcmTdFs.cjs.map → github-BJ5gh9bw.cjs.map} +1 -1
  86. package/dist/{github-B0YYE98x.mjs → github-MXA9v7Ge.mjs} +3 -3
  87. package/dist/{github-B0YYE98x.mjs.map → github-MXA9v7Ge.mjs.map} +1 -1
  88. package/dist/{index-DwKD_8lt.d.mts → index-CyApaHVe.d.cts} +2 -2
  89. package/dist/{index-DPUAGJaK.d.cts.map → index-CyApaHVe.d.cts.map} +1 -1
  90. package/dist/{index-DPUAGJaK.d.cts → index-DD1FfUHh.d.mts} +2 -2
  91. package/dist/{index-DwKD_8lt.d.mts.map → index-DD1FfUHh.d.mts.map} +1 -1
  92. package/dist/index.cjs +276 -68
  93. package/dist/index.cjs.map +1 -1
  94. package/dist/index.mjs +254 -50
  95. package/dist/index.mjs.map +1 -1
  96. package/dist/{migrate-B2qL5wj4.mjs → migrate-BJBcm4sG.mjs} +6 -6
  97. package/dist/{migrate-B2qL5wj4.mjs.map → migrate-BJBcm4sG.mjs.map} +1 -1
  98. package/dist/{migrate-q4pPAXtO.cjs → migrate-CF4J4GQS.cjs} +16 -16
  99. package/dist/{migrate-q4pPAXtO.cjs.map → migrate-CF4J4GQS.cjs.map} +1 -1
  100. package/dist/openapi.cjs +1 -1
  101. package/dist/openapi.d.cts +1 -1
  102. package/dist/openapi.d.mts +1 -1
  103. package/dist/openapi.mjs +1 -1
  104. package/dist/provider-B3Sv_a74.cjs +173 -0
  105. package/dist/provider-B3Sv_a74.cjs.map +1 -0
  106. package/dist/provider-D7rQzzzf.mjs +138 -0
  107. package/dist/provider-D7rQzzzf.mjs.map +1 -0
  108. package/dist/{ready-bQfu9GES.mjs → ready-2s3-CndS.mjs} +3 -3
  109. package/dist/{ready-bQfu9GES.mjs.map → ready-2s3-CndS.mjs.map} +1 -1
  110. package/dist/{ready-brEhh68f.cjs → ready-B6uHr4sm.cjs} +3 -3
  111. package/dist/{ready-brEhh68f.cjs.map → ready-B6uHr4sm.cjs.map} +1 -1
  112. package/dist/reconcile/public.cjs +1 -1
  113. package/dist/reconcile/public.d.cts +1 -1
  114. package/dist/reconcile/public.d.mts +1 -1
  115. package/dist/reconcile/public.mjs +1 -1
  116. package/dist/{resolve-N_i4XNd-.cjs → resolve-CVmch0wI.cjs} +3 -3
  117. package/dist/{resolve-N_i4XNd-.cjs.map → resolve-CVmch0wI.cjs.map} +1 -1
  118. package/dist/{resolve-DLkIXTct.mjs → resolve-Db0tNlrW.mjs} +3 -3
  119. package/dist/{resolve-DLkIXTct.mjs.map → resolve-Db0tNlrW.mjs.map} +1 -1
  120. package/dist/rollback-DvAo4OKS.mjs +133 -0
  121. package/dist/rollback-DvAo4OKS.mjs.map +1 -0
  122. package/dist/rollback-DxJK84hy.cjs +162 -0
  123. package/dist/rollback-DxJK84hy.cjs.map +1 -0
  124. package/dist/{runtime-BnD7Nn96.d.cts → runtime-BRqFOvPM.d.cts} +2 -2
  125. package/dist/{runtime-BnD7Nn96.d.cts.map → runtime-BRqFOvPM.d.cts.map} +1 -1
  126. package/dist/{runtime-j-tmFL65.d.mts → runtime-CEk5n4VH.d.mts} +2 -2
  127. package/dist/{runtime-j-tmFL65.d.mts.map → runtime-CEk5n4VH.d.mts.map} +1 -1
  128. package/dist/sandbox/discover-worker.cjs +1 -1
  129. package/dist/sandbox/discover-worker.mjs +1 -1
  130. package/dist/sandbox/migrate-worker.cjs +61 -0
  131. package/dist/sandbox/migrate-worker.cjs.map +1 -0
  132. package/dist/sandbox/migrate-worker.d.cts +1 -0
  133. package/dist/sandbox/migrate-worker.d.mts +1 -0
  134. package/dist/sandbox/migrate-worker.mjs +62 -0
  135. package/dist/sandbox/migrate-worker.mjs.map +1 -0
  136. package/dist/{schemas-D2LCF689.mjs → schemas-Cfhtpdo0.mjs} +10 -2
  137. package/dist/{schemas-Ckm_aBnF.cjs.map → schemas-Cfhtpdo0.mjs.map} +1 -1
  138. package/dist/{schemas-Ckm_aBnF.cjs → schemas-RUlKHu27.cjs} +15 -1
  139. package/dist/{schemas-D2LCF689.mjs.map → schemas-RUlKHu27.cjs.map} +1 -1
  140. package/dist/{sniffer-BSwaL-dX.cjs → sniffer-5xmrkh2a.cjs} +112 -606
  141. package/dist/sniffer-5xmrkh2a.cjs.map +1 -0
  142. package/dist/{sniffer-BZ-OJO4Y.mjs → sniffer-BAQhLEsI.mjs} +95 -546
  143. package/dist/sniffer-BAQhLEsI.mjs.map +1 -0
  144. package/dist/{state-DF26e_lo.cjs → state-Y6ATakMX.cjs} +744 -20
  145. package/dist/state-Y6ATakMX.cjs.map +1 -0
  146. package/dist/{state-B8YwmUZU.mjs → state-uuYqnRVO.mjs} +605 -19
  147. package/dist/state-uuYqnRVO.mjs.map +1 -0
  148. package/dist/target/public.cjs +1 -1
  149. package/dist/target/public.d.cts +2 -2
  150. package/dist/target/public.d.mts +2 -2
  151. package/dist/target/public.mjs +1 -1
  152. package/dist/{terminal-Bs5E1oxm.cjs → terminal-CHy_MdjG.cjs} +11 -15
  153. package/dist/{terminal-Bs5E1oxm.cjs.map → terminal-CHy_MdjG.cjs.map} +1 -1
  154. package/dist/{terminal-CfbiYUbZ.mjs → terminal-DUhcZ1ND.mjs} +4 -4
  155. package/dist/{terminal-CfbiYUbZ.mjs.map → terminal-DUhcZ1ND.mjs.map} +1 -1
  156. package/dist/{types-ByMWkXKP.d.cts → types-CSw2w69a.d.mts} +68 -10
  157. package/dist/types-CSw2w69a.d.mts.map +1 -0
  158. package/dist/{types-BCzMWBb6.d.mts → types-D5WIxRDP.d.cts} +69 -9
  159. package/dist/types-D5WIxRDP.d.cts.map +1 -0
  160. package/dist/vitest.cjs +1 -1
  161. package/dist/vitest.mjs +1 -1
  162. package/dist/workspace/index.cjs +1 -1
  163. package/dist/workspace/index.d.cts +2 -2
  164. package/dist/workspace/index.d.mts +2 -2
  165. package/dist/workspace/index.mjs +1 -1
  166. package/dist/{workspace-C06_pW4g.mjs → workspace-Be6uBhlF.mjs} +10 -3
  167. package/dist/workspace-Be6uBhlF.mjs.map +1 -0
  168. package/dist/{workspace-BewAHZIo.cjs → workspace-ON-bqiJz.cjs} +10 -3
  169. package/dist/workspace-ON-bqiJz.cjs.map +1 -0
  170. package/package.json +13 -13
  171. package/dist/HostingerProvider-Dlmbfass.cjs.map +0 -1
  172. package/dist/HostingerProvider-x9gQTAGZ.mjs.map +0 -1
  173. package/dist/Route53Provider-Cvj40A8I.mjs.map +0 -1
  174. package/dist/Route53Provider-DVILBsvV.cjs.map +0 -1
  175. package/dist/backup-provisioner-BmhIO_Yr.cjs.map +0 -1
  176. package/dist/backup-provisioner-DIVCbfee.mjs.map +0 -1
  177. package/dist/cli-BfH1deAT.cjs.map +0 -1
  178. package/dist/cli-P56vvrDQ.mjs.map +0 -1
  179. package/dist/compose-391oEKj1.cjs.map +0 -1
  180. package/dist/compose-DprE3ASm.mjs.map +0 -1
  181. package/dist/deploy-9MBG_QLd.mjs +0 -137
  182. package/dist/deploy-9MBG_QLd.mjs.map +0 -1
  183. package/dist/deploy-B80idPUZ.cjs +0 -142
  184. package/dist/deploy-B80idPUZ.cjs.map +0 -1
  185. package/dist/deploy-CZ5nlpsu.mjs.map +0 -1
  186. package/dist/deploy-Cy8igpQF.cjs.map +0 -1
  187. package/dist/discover-DHdECueV.cjs.map +0 -1
  188. package/dist/discover-LMrqsWSU.mjs.map +0 -1
  189. package/dist/dokploy-BdtBePjp.mjs +0 -32
  190. package/dist/dokploy-BdtBePjp.mjs.map +0 -1
  191. package/dist/dokploy-iFY8MY-L.cjs +0 -32
  192. package/dist/dokploy-iFY8MY-L.cjs.map +0 -1
  193. package/dist/sniffer-BSwaL-dX.cjs.map +0 -1
  194. package/dist/sniffer-BZ-OJO4Y.mjs.map +0 -1
  195. package/dist/state-B8YwmUZU.mjs.map +0 -1
  196. package/dist/state-DF26e_lo.cjs.map +0 -1
  197. package/dist/storage-BzaUxmqe.mjs +0 -124
  198. package/dist/storage-BzaUxmqe.mjs.map +0 -1
  199. package/dist/storage-CSGoC3bK.cjs +0 -152
  200. package/dist/storage-CSGoC3bK.cjs.map +0 -1
  201. package/dist/store-CJF1Tqkq.cjs +0 -510
  202. package/dist/store-CJF1Tqkq.cjs.map +0 -1
  203. package/dist/store-CLiHnqOY.mjs +0 -415
  204. package/dist/store-CLiHnqOY.mjs.map +0 -1
  205. package/dist/types-BCzMWBb6.d.mts.map +0 -1
  206. package/dist/types-ByMWkXKP.d.cts.map +0 -1
  207. package/dist/workspace-BewAHZIo.cjs.map +0 -1
  208. package/dist/workspace-C06_pW4g.mjs.map +0 -1
package/dist/index.mjs CHANGED
@@ -1,27 +1,27 @@
1
1
  #!/usr/bin/env -S npx tsx
2
2
  import { n as __require, t as __exportAll } from "./rolldown-runtime-BhDjJH2R.mjs";
3
- import { C as loginCommand, E as whoamiCommand, S as keyFingerprint, g as createStateStore, n as sniffAppEnvironment, r as DokployApi, w as logoutCommand } from "./sniffer-BZ-OJO4Y.mjs";
4
3
  import { i as CommandFailed, o as DEFAULT_TIMEOUT_MS, t as LocalSandbox } from "./local-CWR4Y_kW.mjs";
5
- import { a as getDokployCredentials, o as getDokployRegistryId, s as getDokployToken } from "./credentials-Dq1MnWQf.mjs";
6
- import { l as withOwningTsconfigJsx, r as discover, u as ConstructGenerator } from "./discover-LMrqsWSU.mjs";
4
+ import { a as getDokployCredentials, d as storeHostingerToken, i as getCredentialsPath, l as removeDokployCredentials, o as getDokployRegistryId, s as getDokployToken, u as storeDokployCredentials } from "./credentials-Dq1MnWQf.mjs";
5
+ import { l as withOwningTsconfigJsx, r as discover, u as ConstructGenerator } from "./discover-BFoJWKGD.mjs";
7
6
  import { t as appKey } from "./derive-B4vDpzgP.mjs";
8
- import { A as deployedProblems, D as InvalidStages, O as TEST_STAGE, c as getAppGkmConfig, j as stageProblems, n as allConstructGlobs, s as getAppBuildOrder } from "./workspace-C06_pW4g.mjs";
7
+ import { A as deployedProblems, D as InvalidStages, O as TEST_STAGE, c as getAppGkmConfig, j as stageProblems, n as allConstructGlobs, s as getAppBuildOrder } from "./workspace-Be6uBhlF.mjs";
9
8
  import { ConfigNotFound, NotABackendApp, NotInAnApp, loadAppConfig, loadConfig, loadWorkspaceConfig, loadWorkspaceSettings, parseModuleConfig } from "./config.mjs";
10
- import { a as withCustomSecret, i as toEmbeddableSecrets, n as maskPassword } from "./storage-BzaUxmqe.mjs";
11
- import { a as getKeyPath, i as FileSecretsStore, n as secretsStoreFor, s as projectKey, u as deployIdentity } from "./store-CLiHnqOY.mjs";
12
- import { D as constructGlobs, E as backendsOf$1, I as quoteIdentifier, J as providerOf, K as cacheBackendFor, M as forgetState, O as derivedContainers, P as postgresDatabaseNames, Q as fakeKey, R as pgClient, T as FAKE_ENV, Z as describeServices, _ as dockerCommand, at as loadEnvFiles, et as primaryPortKey, it as isPortAvailable, j as LOCAL_CA_PATH, k as reconcileWorkspace, nt as createEntryWrapper, ot as loadSecretsForApp, rt as findAvailablePort, st as prepareEntryCredentials, tt as createCredentialsPreload } from "./state-B8YwmUZU.mjs";
13
- import { i as telemetryFor, n as EndpointGenerator, r as runtimeFor } from "./OpenApiTsGenerator-C6v-IeHt.mjs";
9
+ import { $ as describeServices, A as reconcileWorkspace, At as withCustomSecret, D as backendsOf$1, Dt as maskPassword, E as FAKE_ENV, F as postgresDatabaseNames, J as cacheBackendFor, L as quoteIdentifier, M as LOCAL_CA_PATH, N as forgetState, O as constructGlobs, X as providerOf, at as findAvailablePort, ct as loadSecretsForApp, dt as secretsStoreFor, et as fakeKey, gt as projectKey, it as createEntryWrapper, k as derivedContainers, kt as toEmbeddableSecrets, lt as prepareEntryCredentials, mt as getKeyPath, nt as primaryPortKey, ot as isPortAvailable, pt as FileSecretsStore, rt as createCredentialsPreload, st as loadEnvFiles, v as dockerCommand, yt as deployIdentity, z as pgClient } from "./state-uuYqnRVO.mjs";
10
+ import { i as telemetryFor, n as EndpointGenerator, r as runtimeFor } from "./OpenApiTsGenerator-BmUAcR7d.mjs";
11
+ import { g as createStateStore, n as sniffAppEnvironment, o as DokployApi, x as keyFingerprint } from "./sniffer-BAQhLEsI.mjs";
14
12
  import { generateOpenApi, openapiCommand, resolveOpenApiConfig } from "./openapi.mjs";
15
13
  import { a as describeHolder, i as assignAppPorts, o as holderOf, r as appTag, s as withAppPorts, t as APP_TAG_ENV } from "./appPorts-C9z9Pzn9.mjs";
16
- import { a as writeTestHarness, c as driversFor, i as TEST_MANIFEST_ENV, n as TEST_READY_FILE, o as SubscriberGenerator, s as cacheBackendsIn, t as TEST_READY_ENV } from "./ready-bQfu9GES.mjs";
14
+ import { a as writeTestHarness, c as driversFor, i as TEST_MANIFEST_ENV, n as TEST_READY_FILE, o as SubscriberGenerator, s as cacheBackendsIn, t as TEST_READY_ENV } from "./ready-2s3-CndS.mjs";
17
15
  import { n as withCompute, r as withRoutes, t as manifestModule } from "./emit-C1e8qD08.mjs";
18
- import { t as deploy$1 } from "./deploy-9MBG_QLd.mjs";
19
- import { b as dockerCompose, t as composeTarget, v as composeProject, y as stackDir } from "./compose-DprE3ASm.mjs";
20
- import { t as LocalStateStore } from "./LocalStateStore-BRhMQRuy.mjs";
16
+ import { t as deploy$1 } from "./deploy-DWn7YfIc.mjs";
17
+ import { a as dockerCompose, i as stackDir, r as composeProject, t as composeTarget } from "./compose-CNQL8BnO.mjs";
18
+ import { t as LocalStateStore } from "./LocalStateStore-Bm3x9oOg.mjs";
21
19
  import { a as getExecCommand, c as validateProjectName, i as findWorkspaceRoot, n as detectPackageManager$1, o as getInstallCommand, r as findWorkspacePackages, s as getRunCommand, t as checkDirectoryExists } from "./utils-D_fxUqvU.mjs";
22
20
  import { createRequire } from "node:module";
23
21
  import { basename, dirname, isAbsolute, join, relative, resolve } from "node:path";
24
22
  import { Command } from "commander";
23
+ import { stdin, stdout } from "node:process";
24
+ import * as readline from "node:readline/promises";
25
25
  import { existsSync, linkSync, mkdirSync, readFileSync, readdirSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
26
26
  import { chmod, mkdir, readFile, rm, writeFile } from "node:fs/promises";
27
27
  import { homedir } from "node:os";
@@ -46,7 +46,192 @@ import { Function } from "@geekmidas/constructs/functions";
46
46
  import { Queue } from "@geekmidas/constructs/queue";
47
47
  import { Topic } from "@geekmidas/constructs/topic";
48
48
  //#region package.json
49
- var version = "10.0.0-alpha.65";
49
+ var version = "10.0.0-alpha.66";
50
+ //#endregion
51
+ //#region src/prompt.ts
52
+ /**
53
+ * Asking the person at the terminal.
54
+ *
55
+ * CLI layer only: a command's action may prompt, nothing it calls may. A
56
+ * library call (`deploy()`) that needs something it was not given raises a
57
+ * named error instead, and the command decides whether to ask.
58
+ */
59
+ /** A prompt was needed with no terminal to ask at. */
60
+ var PromptNeedsTerminal = class extends Error {
61
+ question;
62
+ instead;
63
+ constructor(question, instead) {
64
+ super(`Interactive input required. ${instead}`);
65
+ this.question = question;
66
+ this.instead = instead;
67
+ this.name = "PromptNeedsTerminal";
68
+ }
69
+ };
70
+ /** Whether there is a person at a terminal to ask. */
71
+ function canPrompt() {
72
+ return process.stdin.isTTY === true;
73
+ }
74
+ /**
75
+ * Ask `message` and resolve with the line typed — without echoing it when
76
+ * `hidden`. Ctrl+C at a hidden prompt exits, as it would anywhere else in a
77
+ * terminal program: raw mode has taken the signal away from the shell.
78
+ */
79
+ async function prompt(message, options) {
80
+ if (!canPrompt()) throw new PromptNeedsTerminal(message, options.instead);
81
+ if (options.hidden) {
82
+ process.stdout.write(message);
83
+ return new Promise((resolve, reject) => {
84
+ let value = "";
85
+ const cleanup = () => {
86
+ process.stdin.setRawMode(false);
87
+ process.stdin.pause();
88
+ process.stdin.removeListener("data", onData);
89
+ process.stdin.removeListener("error", onError);
90
+ };
91
+ const onError = (err) => {
92
+ cleanup();
93
+ reject(err);
94
+ };
95
+ const onData = (char) => {
96
+ const c = char.toString();
97
+ if (c === "\n" || c === "\r") {
98
+ cleanup();
99
+ process.stdout.write("\n");
100
+ resolve(value);
101
+ } else if (c === "") {
102
+ cleanup();
103
+ process.stdout.write("\n");
104
+ process.exit(1);
105
+ } else if (c === "" || c === "\b") {
106
+ if (value.length > 0) value = value.slice(0, -1);
107
+ } else value += c;
108
+ };
109
+ process.stdin.setRawMode(true);
110
+ process.stdin.resume();
111
+ process.stdin.on("data", onData);
112
+ process.stdin.on("error", onError);
113
+ });
114
+ }
115
+ const rl = readline.createInterface({
116
+ input: stdin,
117
+ output: stdout
118
+ });
119
+ try {
120
+ return await rl.question(message);
121
+ } finally {
122
+ rl.close();
123
+ }
124
+ }
125
+ //#endregion
126
+ //#region src/auth/index.ts
127
+ const logger$8 = console;
128
+ /**
129
+ * Validate Dokploy token by making a test API call
130
+ */
131
+ async function validateDokployToken(endpoint, token) {
132
+ const { DokployApi } = await import("./sniffer-BAQhLEsI.mjs").then((n) => n.c);
133
+ return new DokployApi({
134
+ baseUrl: endpoint,
135
+ token
136
+ }).validateToken();
137
+ }
138
+ /** What answers a login prompt without a terminal. */
139
+ const LOGIN_INSTEAD = "Please provide --token option.";
140
+ /**
141
+ * Login to a service
142
+ */
143
+ async function loginCommand(options) {
144
+ const { provider, token: providedToken, endpoint: providedEndpoint } = options;
145
+ if (provider === "dokploy") {
146
+ logger$8.log("\n🔐 Logging in to Dokploy...\n");
147
+ let endpoint = providedEndpoint;
148
+ if (!endpoint) endpoint = await prompt("Dokploy URL (e.g., https://dokploy.example.com): ", { instead: LOGIN_INSTEAD });
149
+ endpoint = endpoint.replace(/\/$/, "");
150
+ try {
151
+ new URL(endpoint);
152
+ } catch {
153
+ logger$8.error("Invalid URL format");
154
+ process.exit(1);
155
+ }
156
+ let token = providedToken;
157
+ if (!token) {
158
+ logger$8.log(`\nGenerate a token at: ${endpoint}/settings/profile\n`);
159
+ token = await prompt("API Token: ", {
160
+ hidden: true,
161
+ instead: LOGIN_INSTEAD
162
+ });
163
+ }
164
+ if (!token) {
165
+ logger$8.error("Token is required");
166
+ process.exit(1);
167
+ }
168
+ logger$8.log("\nValidating credentials...");
169
+ if (!await validateDokployToken(endpoint, token)) {
170
+ logger$8.error("\n✗ Invalid credentials. Please check your token and try again.");
171
+ process.exit(1);
172
+ }
173
+ await storeDokployCredentials(token, endpoint);
174
+ logger$8.log("\n✓ Successfully logged in to Dokploy!");
175
+ logger$8.log(` Endpoint: ${endpoint}`);
176
+ logger$8.log(` Credentials stored in: ${getCredentialsPath()}`);
177
+ logger$8.log("\nYou can now use deploy commands without setting DOKPLOY_API_TOKEN.");
178
+ }
179
+ if (provider === "hostinger") {
180
+ logger$8.log("\n🔐 Logging in to Hostinger...\n");
181
+ let token = providedToken;
182
+ if (!token) {
183
+ logger$8.log("\nGenerate a token at: https://hpanel.hostinger.com/profile/api\n");
184
+ token = await prompt("API Token: ", {
185
+ hidden: true,
186
+ instead: LOGIN_INSTEAD
187
+ });
188
+ }
189
+ if (!token) {
190
+ logger$8.error("Token is required");
191
+ process.exit(1);
192
+ }
193
+ await storeHostingerToken(token);
194
+ logger$8.log("\n✓ Hostinger token stored.");
195
+ logger$8.log(` Credentials stored in: ${getCredentialsPath()}`);
196
+ logger$8.log(" Not validated here: every DNS endpoint is scoped to a domain, so the\n first deploy that touches DNS is where a bad token reports itself.");
197
+ logger$8.log("\nYou can now use it as a DNS provider without setting HOSTINGER_API_TOKEN.");
198
+ }
199
+ }
200
+ /**
201
+ * Logout from a service
202
+ */
203
+ async function logoutCommand(options) {
204
+ const { provider = "dokploy" } = options;
205
+ if (provider === "all") {
206
+ if (await removeDokployCredentials()) logger$8.log("\n✓ Logged out from all services");
207
+ else logger$8.log("\nNo stored credentials found");
208
+ return;
209
+ }
210
+ if (provider === "dokploy") {
211
+ if (await removeDokployCredentials()) logger$8.log("\n✓ Logged out from Dokploy");
212
+ else logger$8.log("\nNo Dokploy credentials found");
213
+ }
214
+ }
215
+ /**
216
+ * Show current login status
217
+ */
218
+ async function whoamiCommand() {
219
+ logger$8.log("\n📋 Current credentials:\n");
220
+ const dokploy = await getDokployCredentials();
221
+ if (dokploy) {
222
+ logger$8.log(" Dokploy:");
223
+ logger$8.log(` Endpoint: ${dokploy.endpoint}`);
224
+ logger$8.log(` Token: ${maskToken(dokploy.token)}`);
225
+ } else logger$8.log(" Dokploy: Not logged in");
226
+ logger$8.log(`\n Credentials file: ${getCredentialsPath()}`);
227
+ }
228
+ /**
229
+ * Mask a token for display
230
+ */
231
+ function maskToken(token) {
232
+ if (token.length <= 8) return "****";
233
+ return `${token.slice(0, 4)}...${token.slice(-4)}`;
234
+ }
50
235
  //#endregion
51
236
  //#region src/trust/index.ts
52
237
  /**
@@ -1850,9 +2035,9 @@ async function workspaceDevCommand(configured, options) {
1850
2035
  for (const { id, port } of fakes) logger$5.log(`🎭 ${id} fake: http://localhost:${port}`);
1851
2036
  logger$5.log(options.migrate || options.seed ? "🗄️ Migrating the databases" : "🗄️ Checking for pending migrations");
1852
2037
  if (options.migrate || options.seed) {
1853
- const { prepareDevDatabases } = await import("./migrate-B2qL5wj4.mjs");
2038
+ const { prepareDevDatabases } = await import("./migrate-BJBcm4sG.mjs");
1854
2039
  await prepareDevDatabases(workspace, reconciled.env, { seed: !!options.seed });
1855
- } else await import("./migrate-B2qL5wj4.mjs").then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
2040
+ } else await import("./migrate-BJBcm4sG.mjs").then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
1856
2041
  logger$5.log(`⚠️ Could not check for pending migrations: ${error instanceof Error ? error.message : String(error)}`);
1857
2042
  });
1858
2043
  const appUrls = {};
@@ -3232,7 +3417,7 @@ async function buildApp(input) {
3232
3417
  if (production?.bundle && !input.skipBundle) {
3233
3418
  const outputDir = join(appRoot, ".gkm", "server");
3234
3419
  const entryPoint = await writeSurfaceServer(outputDir, production);
3235
- const { bundleServer } = await import("./bundler-D_14JLZF.mjs");
3420
+ const { bundleServer } = await import("./bundler-Dvaiud0h.mjs");
3236
3421
  await bundleServer({
3237
3422
  entryPoint,
3238
3423
  outputDir: join(outputDir, "dist"),
@@ -3370,7 +3555,7 @@ async function buildForTarget(target, context, appRoot, workspaceRoot, endpointG
3370
3555
  let masterKey;
3371
3556
  if (context.production?.bundle && !skipBundle) {
3372
3557
  logger$4.log(`\n📦 Bundling production server...`);
3373
- const { bundleServer } = await import("./bundler-D_14JLZF.mjs");
3558
+ const { bundleServer } = await import("./bundler-Dvaiud0h.mjs");
3374
3559
  const allConstructs = [
3375
3560
  ...endpoints.map((e) => e.construct),
3376
3561
  ...functions.map((f) => f.construct),
@@ -5065,25 +5250,25 @@ function loadPackageJson() {
5065
5250
  * Run: pnpm --filter @geekmidas/cli sync-versions
5066
5251
  */
5067
5252
  const GEEKMIDAS_VERSIONS = {
5068
- "@geekmidas/audit": "~10.0.0-alpha.65",
5069
- "@geekmidas/auth": "~10.0.0-alpha.65",
5070
- "@geekmidas/cache": "~10.0.0-alpha.65",
5071
- "@geekmidas/client": "~10.0.0-alpha.65",
5072
- "@geekmidas/cloud": "~10.0.0-alpha.65",
5073
- "@geekmidas/constructs": "~10.0.0-alpha.65",
5074
- "@geekmidas/db": "~10.0.0-alpha.65",
5075
- "@geekmidas/emailkit": "~10.0.0-alpha.65",
5076
- "@geekmidas/envkit": "~10.0.0-alpha.65",
5077
- "@geekmidas/errors": "~10.0.0-alpha.65",
5078
- "@geekmidas/events": "~10.0.0-alpha.65",
5079
- "@geekmidas/logger": "~10.0.0-alpha.65",
5080
- "@geekmidas/manifest": "~10.0.0-alpha.65",
5081
- "@geekmidas/rate-limit": "~10.0.0-alpha.65",
5082
- "@geekmidas/schema": "~10.0.0-alpha.65",
5083
- "@geekmidas/services": "~10.0.0-alpha.65",
5084
- "@geekmidas/storage": "~10.0.0-alpha.65",
5085
- "@geekmidas/telescope": "~10.0.0-alpha.65",
5086
- "@geekmidas/testkit": "~10.0.0-alpha.65",
5253
+ "@geekmidas/audit": "~10.0.0-alpha.66",
5254
+ "@geekmidas/auth": "~10.0.0-alpha.66",
5255
+ "@geekmidas/cache": "~10.0.0-alpha.66",
5256
+ "@geekmidas/client": "~10.0.0-alpha.66",
5257
+ "@geekmidas/cloud": "~10.0.0-alpha.66",
5258
+ "@geekmidas/constructs": "~10.0.0-alpha.66",
5259
+ "@geekmidas/db": "~10.0.0-alpha.66",
5260
+ "@geekmidas/emailkit": "~10.0.0-alpha.66",
5261
+ "@geekmidas/envkit": "~10.0.0-alpha.66",
5262
+ "@geekmidas/errors": "~10.0.0-alpha.66",
5263
+ "@geekmidas/events": "~10.0.0-alpha.66",
5264
+ "@geekmidas/logger": "~10.0.0-alpha.66",
5265
+ "@geekmidas/manifest": "~10.0.0-alpha.66",
5266
+ "@geekmidas/rate-limit": "~10.0.0-alpha.66",
5267
+ "@geekmidas/schema": "~10.0.0-alpha.66",
5268
+ "@geekmidas/services": "~10.0.0-alpha.66",
5269
+ "@geekmidas/storage": "~10.0.0-alpha.66",
5270
+ "@geekmidas/telescope": "~10.0.0-alpha.66",
5271
+ "@geekmidas/testkit": "~10.0.0-alpha.66",
5087
5272
  "@geekmidas/cli": `~${loadPackageJson().version}`
5088
5273
  };
5089
5274
  //#endregion
@@ -10846,8 +11031,8 @@ function testDatabases(reconciled) {
10846
11031
  * starts without the reference data the app needs.
10847
11032
  */
10848
11033
  async function migrateTestStage(workspace, env) {
10849
- const { migrateAndSeed } = await import("./migrate-B2qL5wj4.mjs");
10850
- const { discover } = await import("./discover-LMrqsWSU.mjs").then((n) => n.i);
11034
+ const { migrateAndSeed } = await import("./migrate-BJBcm4sG.mjs");
11035
+ const { discover } = await import("./discover-BFoJWKGD.mjs").then((n) => n.i);
10851
11036
  const sources = {};
10852
11037
  const manifest = await discover({
10853
11038
  patterns: constructGlobs(workspace),
@@ -11277,7 +11462,7 @@ program.command("migrate").description("Apply each database construct's migratio
11277
11462
  try {
11278
11463
  const globalOptions = program.opts();
11279
11464
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
11280
- const { migrateCommand } = await import("./migrate-B2qL5wj4.mjs");
11465
+ const { migrateCommand } = await import("./migrate-BJBcm4sG.mjs");
11281
11466
  await migrateCommand({
11282
11467
  ...options,
11283
11468
  ...construct ? { construct } : {}
@@ -11291,7 +11476,7 @@ program.command("seed").description("Migrate, then run each database construct's
11291
11476
  try {
11292
11477
  const globalOptions = program.opts();
11293
11478
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
11294
- const { seedCommand } = await import("./migrate-B2qL5wj4.mjs");
11479
+ const { seedCommand } = await import("./migrate-BJBcm4sG.mjs");
11295
11480
  await seedCommand({
11296
11481
  ...options,
11297
11482
  ...construct ? { construct } : {}
@@ -11305,7 +11490,7 @@ program.command("migration").description("Write a construct's next migration: an
11305
11490
  try {
11306
11491
  const globalOptions = program.opts();
11307
11492
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
11308
- const { migrationCommand } = await import("./migrate-B2qL5wj4.mjs");
11493
+ const { migrationCommand } = await import("./migrate-BJBcm4sG.mjs");
11309
11494
  await migrationCommand({
11310
11495
  construct,
11311
11496
  ...name ? { name } : {}
@@ -11413,7 +11598,7 @@ program.command("encryption:rotate").description("Add a new current key to an En
11413
11598
  try {
11414
11599
  const globalOptions = program.opts();
11415
11600
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
11416
- const { encryptionRotateCommand } = await import("./encryption-DF_hgIpl.mjs");
11601
+ const { encryptionRotateCommand } = await import("./encryption-CPfENwWO.mjs");
11417
11602
  await encryptionRotateCommand(construct, options);
11418
11603
  } catch (error) {
11419
11604
  console.error(formatError(error));
@@ -11424,7 +11609,7 @@ program.command("encryption:retire").description("Remove an old key from an Encr
11424
11609
  try {
11425
11610
  const globalOptions = program.opts();
11426
11611
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
11427
- const { encryptionRetireCommand } = await import("./encryption-DF_hgIpl.mjs");
11612
+ const { encryptionRetireCommand } = await import("./encryption-CPfENwWO.mjs");
11428
11613
  await encryptionRetireCommand(construct, key, options);
11429
11614
  } catch (error) {
11430
11615
  console.error(formatError(error));
@@ -11467,7 +11652,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
11467
11652
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
11468
11653
  const { loadWorkspaceConfig } = await import("./config.mjs");
11469
11654
  const { reconcileMissingSecrets } = await import("./reconcile--I7V4Klj.mjs");
11470
- const { secretsStoreFor } = await import("./store-CLiHnqOY.mjs").then((n) => n.r);
11655
+ const { secretsStoreFor } = await import("./state-uuYqnRVO.mjs").then((n) => n.ft);
11471
11656
  const { workspace } = await loadWorkspaceConfig();
11472
11657
  const stage = options.stage ?? workspace.stages.local;
11473
11658
  const store = await secretsStoreFor(workspace, stage);
@@ -11476,7 +11661,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
11476
11661
  console.error(`No secrets found for stage "${stage}". Run "gkm secrets:init --stage ${stage}" first.`);
11477
11662
  process.exit(1);
11478
11663
  }
11479
- const { derivedContainers } = await import("./state-B8YwmUZU.mjs").then((n) => n.A);
11664
+ const { derivedContainers } = await import("./state-uuYqnRVO.mjs").then((n) => n.j);
11480
11665
  const result = reconcileMissingSecrets(secrets, workspace, await derivedContainers(workspace, stage));
11481
11666
  if (!result) {
11482
11667
  console.log(`\n✓ Secrets for stage "${stage}" are up-to-date`);
@@ -11490,8 +11675,8 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
11490
11675
  process.exit(1);
11491
11676
  }
11492
11677
  });
11493
- program.command("deploy").description("Deploy a stage through its target").option("--target <name>", "Deploy target: dokploy, compose, sst, or one named in deploy.targets (default: deploy.default)").option("--provider <provider>", "[DEPRECATED] Use --target instead").requiredOption("--stage <stage>", "Deployment stage (e.g., production, staging)").option("--tag <tag>", "Image tag (default: stage-timestamp; compose: the commit). Compose pulls a given tag").option("--skip-push", "Skip pushing image to registry").option("--skip-build", "Skip build step (use existing build)").option("--json", "Write events as JSON lines instead of progress; never prompts").option("--dry-run", "Show what would be created or reused; change, build and push nothing").action(async (options) => {
11494
- const { deployCli } = await import("./cli-P56vvrDQ.mjs");
11678
+ program.command("deploy").description("Deploy a stage through its target").option("--target <name>", "Deploy target: dokploy, compose, sst, or one named in deploy.targets (default: deploy.default)").option("--provider <provider>", "[DEPRECATED] Use --target instead").requiredOption("--stage <stage>", "Deployment stage (e.g., production, staging)").option("--tag <tag>", "Image tag (default: stage-timestamp; compose: the commit). Compose pulls a given tag").option("--skip-push", "Skip pushing image to registry").option("--skip-build", "Skip build step (use existing build)").option("--json", "Write events as JSON lines instead of progress; never prompts").option("--dry-run", "Show what would be created or reused; change, build and push nothing").option("--atomic", "If the release fails, roll back every app it released, not only the failed ones").action(async (options) => {
11679
+ const { deployCli } = await import("./cli-CfHm0AO7.mjs");
11495
11680
  const globalOptions = program.opts();
11496
11681
  const code = await deployCli({
11497
11682
  cwd: resolve(globalOptions.cwd ?? process.cwd()),
@@ -11500,10 +11685,29 @@ program.command("deploy").description("Deploy a stage through its target").optio
11500
11685
  stage: options.stage,
11501
11686
  ...options.tag ? { tag: options.tag } : {},
11502
11687
  ...options.json ? { json: true } : {},
11503
- ...options.dryRun ? { dryRun: true } : {}
11688
+ ...options.dryRun ? { dryRun: true } : {},
11689
+ ...options.atomic ? { atomic: true } : {}
11504
11690
  });
11505
11691
  if (code !== 0) process.exit(code);
11506
11692
  });
11693
+ program.command("deploy:rollback").description("Put a stage's app back on its previous release (Dokploy): one app with --app, every app with --atomic").requiredOption("--stage <stage>", "A deployed stage").option("--app <app>", "The app to roll back").option("--atomic", "Roll back every app that has an earlier release").action(async (options) => {
11694
+ try {
11695
+ const { rollbackStage } = await import("./rollback-DvAo4OKS.mjs").then((n) => n.a);
11696
+ const { terminalCredentials } = await import("./terminal-DUhcZ1ND.mjs");
11697
+ const globalOptions = program.opts();
11698
+ await rollbackStage({
11699
+ cwd: resolve(globalOptions.cwd ?? process.cwd()),
11700
+ stage: options.stage,
11701
+ ...options.app ? { app: options.app } : {},
11702
+ ...options.atomic ? { atomic: true } : {},
11703
+ credentials: terminalCredentials(),
11704
+ log: (line) => console.log(line)
11705
+ });
11706
+ } catch (error) {
11707
+ console.error(formatError(error));
11708
+ process.exit(1);
11709
+ }
11710
+ });
11507
11711
  program.command("deploy:init").description("Initialize Dokploy deployment (create project and application)").option("--endpoint <url>", "Dokploy server URL (uses stored credentials if logged in)").requiredOption("--project <name>", "Project name (creates if not exists)").requiredOption("--app <name>", "Application name").option("--project-id <id>", "Use existing project ID instead of creating").option("--registry-id <id>", "Configure registry for the application").action(async (options) => {
11508
11712
  try {
11509
11713
  const globalOptions = program.opts();
@@ -11524,7 +11728,7 @@ program.command("deploy:github").description("Let GitHub Actions deploy a stage:
11524
11728
  try {
11525
11729
  const globalOptions = program.opts();
11526
11730
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
11527
- const { deployGithubCommand } = await import("./github-B0YYE98x.mjs");
11731
+ const { deployGithubCommand } = await import("./github-MXA9v7Ge.mjs");
11528
11732
  await deployGithubCommand(options);
11529
11733
  } catch (error) {
11530
11734
  console.error(formatError(error));
@@ -11659,6 +11863,6 @@ program.command("upgrade").description("Upgrade @geekmidas/cli (with --all, ever
11659
11863
  });
11660
11864
  program.parse();
11661
11865
  //#endregion
11662
- export { formatError as i, slug as n, stamp as r, generateFullstackCustomSecrets as t };
11866
+ export { validateDokployToken as a, formatError as i, slug as n, canPrompt as o, stamp as r, prompt as s, generateFullstackCustomSecrets as t };
11663
11867
 
11664
11868
  //# sourceMappingURL=index.mjs.map