@geekmidas/cli 10.0.0-alpha.109 → 10.0.0-alpha.110

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 (99) hide show
  1. package/dist/{GoDaddyProvider-DNOK1nFq.mjs → GoDaddyProvider-CjeOduia.mjs} +2 -2
  2. package/dist/{GoDaddyProvider-DNOK1nFq.mjs.map → GoDaddyProvider-CjeOduia.mjs.map} +1 -1
  3. package/dist/{GoDaddyProvider-BC2hb2N9.cjs → GoDaddyProvider-qNUzTXI7.cjs} +2 -2
  4. package/dist/{GoDaddyProvider-BC2hb2N9.cjs.map → GoDaddyProvider-qNUzTXI7.cjs.map} +1 -1
  5. package/dist/{LegacyStateStore-C3IP1pm0.cjs → LegacyStateStore-MxiSu7KJ.cjs} +3 -3
  6. package/dist/{LegacyStateStore-C3IP1pm0.cjs.map → LegacyStateStore-MxiSu7KJ.cjs.map} +1 -1
  7. package/dist/{LegacyStateStore-DBbv0Iwj.mjs → LegacyStateStore-pgscYsiG.mjs} +3 -3
  8. package/dist/{LegacyStateStore-DBbv0Iwj.mjs.map → LegacyStateStore-pgscYsiG.mjs.map} +1 -1
  9. package/dist/{LocalStateStore-CqjePMa8.mjs → LocalStateStore-BcvyKbAw.mjs} +2 -2
  10. package/dist/{LocalStateStore-CqjePMa8.mjs.map → LocalStateStore-BcvyKbAw.mjs.map} +1 -1
  11. package/dist/{LocalStateStore-BCBQQpYx.cjs → LocalStateStore-Bm8Vmwjb.cjs} +2 -2
  12. package/dist/{LocalStateStore-BCBQQpYx.cjs.map → LocalStateStore-Bm8Vmwjb.cjs.map} +1 -1
  13. package/dist/{S3StateStore-ChGx5j9T.cjs → S3StateStore-DXHSBVsV.cjs} +2 -2
  14. package/dist/{S3StateStore-ChGx5j9T.cjs.map → S3StateStore-DXHSBVsV.cjs.map} +1 -1
  15. package/dist/{S3StateStore-CzVQuPXF.mjs → S3StateStore-H2XsAzpJ.mjs} +2 -2
  16. package/dist/{S3StateStore-CzVQuPXF.mjs.map → S3StateStore-H2XsAzpJ.mjs.map} +1 -1
  17. package/dist/{SSMStateStore-BL87Mth7.cjs → SSMStateStore-BLPSNl-U.cjs} +2 -2
  18. package/dist/{SSMStateStore-BL87Mth7.cjs.map → SSMStateStore-BLPSNl-U.cjs.map} +1 -1
  19. package/dist/{SSMStateStore-D1GkBkUo.mjs → SSMStateStore-CENciQEM.mjs} +2 -2
  20. package/dist/{SSMStateStore-D1GkBkUo.mjs.map → SSMStateStore-CENciQEM.mjs.map} +1 -1
  21. package/dist/{add-DAUrUYWr.cjs → add-Cdg1kEqN.cjs} +3 -3
  22. package/dist/{add-DAUrUYWr.cjs.map → add-Cdg1kEqN.cjs.map} +1 -1
  23. package/dist/{add-C-0W8ery.mjs → add-snhdVmR-.mjs} +3 -3
  24. package/dist/{add-C-0W8ery.mjs.map → add-snhdVmR-.mjs.map} +1 -1
  25. package/dist/{bundler-CrKh5yUa.cjs → bundler-B4GDxImV.cjs} +5 -5
  26. package/dist/{bundler-CrKh5yUa.cjs.map → bundler-B4GDxImV.cjs.map} +1 -1
  27. package/dist/{bundler-CE1Ph5w1.mjs → bundler-Wd9H4QLJ.mjs} +5 -5
  28. package/dist/{bundler-CE1Ph5w1.mjs.map → bundler-Wd9H4QLJ.mjs.map} +1 -1
  29. package/dist/{cli-BSlDXj6V.cjs → cli-BZYz55tO.cjs} +2 -2
  30. package/dist/{cli-BSlDXj6V.cjs.map → cli-BZYz55tO.cjs.map} +1 -1
  31. package/dist/{cli-DDqetU5U.mjs → cli-BzrDSNSg.mjs} +2 -2
  32. package/dist/{cli-DDqetU5U.mjs.map → cli-BzrDSNSg.mjs.map} +1 -1
  33. package/dist/{compose-Dqe_svmN.cjs → compose-DN9zySvQ.cjs} +66 -3
  34. package/dist/compose-DN9zySvQ.cjs.map +1 -0
  35. package/dist/{compose-C8VR6L7_.mjs → compose-Gsd1Nq7R.mjs} +37 -4
  36. package/dist/compose-Gsd1Nq7R.mjs.map +1 -0
  37. package/dist/deploy/public.cjs +6 -6
  38. package/dist/deploy/public.mjs +6 -6
  39. package/dist/{deploy-C7bSw5_V.cjs → deploy-CFvq8daZ.cjs} +5 -5
  40. package/dist/{deploy-C7bSw5_V.cjs.map → deploy-CFvq8daZ.cjs.map} +1 -1
  41. package/dist/{deploy-c9Klc6Km.mjs → deploy-H2S8_mTx.mjs} +5 -5
  42. package/dist/{deploy-c9Klc6Km.mjs.map → deploy-H2S8_mTx.mjs.map} +1 -1
  43. package/dist/{dns-BTLYXhFN.cjs → dns-BdETzP10.cjs} +2 -2
  44. package/dist/{dns-BTLYXhFN.cjs.map → dns-BdETzP10.cjs.map} +1 -1
  45. package/dist/{dns-BuiKRYPo.mjs → dns-pFMShDqW.mjs} +2 -2
  46. package/dist/{dns-BuiKRYPo.mjs.map → dns-pFMShDqW.mjs.map} +1 -1
  47. package/dist/{dokploy-DdzUYLQF.cjs → dokploy-HioAjP7K.cjs} +2 -2
  48. package/dist/{dokploy-DdzUYLQF.cjs.map → dokploy-HioAjP7K.cjs.map} +1 -1
  49. package/dist/{dokploy-DgcZgtDu.mjs → dokploy-oDJbnvCb.mjs} +2 -2
  50. package/dist/{dokploy-DgcZgtDu.mjs.map → dokploy-oDJbnvCb.mjs.map} +1 -1
  51. package/dist/{encryption-DqeIqdFb.mjs → encryption-D5pDJyp2.mjs} +2 -2
  52. package/dist/{encryption-DqeIqdFb.mjs.map → encryption-D5pDJyp2.mjs.map} +1 -1
  53. package/dist/{encryption-BLXmmIL4.cjs → encryption-DVCxD-gV.cjs} +2 -2
  54. package/dist/{encryption-BLXmmIL4.cjs.map → encryption-DVCxD-gV.cjs.map} +1 -1
  55. package/dist/{engine-CcwSJHyq.cjs → engine-BaJGPzte.cjs} +3 -3
  56. package/dist/{engine-CcwSJHyq.cjs.map → engine-BaJGPzte.cjs.map} +1 -1
  57. package/dist/{engine-BFbTLmO-.mjs → engine-CfAKgr2_.mjs} +3 -3
  58. package/dist/{engine-BFbTLmO-.mjs.map → engine-CfAKgr2_.mjs.map} +1 -1
  59. package/dist/{github-DeELJEZo.cjs → github-D902Vwr9.cjs} +4 -4
  60. package/dist/{github-DeELJEZo.cjs.map → github-D902Vwr9.cjs.map} +1 -1
  61. package/dist/{github-BGPuFjD0.mjs → github-E-ZxqFPq.mjs} +4 -4
  62. package/dist/{github-BGPuFjD0.mjs.map → github-E-ZxqFPq.mjs.map} +1 -1
  63. package/dist/index.cjs +66 -49
  64. package/dist/index.cjs.map +1 -1
  65. package/dist/index.mjs +66 -49
  66. package/dist/index.mjs.map +1 -1
  67. package/dist/{migrate-Dv5L_S1z.mjs → migrate-BZ0GnSZQ.mjs} +2 -2
  68. package/dist/{migrate-Dv5L_S1z.mjs.map → migrate-BZ0GnSZQ.mjs.map} +1 -1
  69. package/dist/{migrate-DKLMFCox.cjs → migrate-CTqhWtev.cjs} +2 -2
  70. package/dist/{migrate-DKLMFCox.cjs.map → migrate-CTqhWtev.cjs.map} +1 -1
  71. package/dist/{migrate-B7ePhUk3.mjs → migrate-DCXwHcWX.mjs} +2 -2
  72. package/dist/{migrate-B7ePhUk3.mjs.map → migrate-DCXwHcWX.mjs.map} +1 -1
  73. package/dist/{migrate-C5ttpcqf.cjs → migrate-Df81ew0k.cjs} +2 -2
  74. package/dist/{migrate-C5ttpcqf.cjs.map → migrate-Df81ew0k.cjs.map} +1 -1
  75. package/dist/{resolve-CiCa2IEH.mjs → resolve-BMpPd8x3.mjs} +3 -3
  76. package/dist/{resolve-CiCa2IEH.mjs.map → resolve-BMpPd8x3.mjs.map} +1 -1
  77. package/dist/{resolve-C8Otg8xZ.cjs → resolve-D043YmW9.cjs} +3 -3
  78. package/dist/{resolve-C8Otg8xZ.cjs.map → resolve-D043YmW9.cjs.map} +1 -1
  79. package/dist/{rollback-DpY3YX-A.cjs → rollback-CBiYsQ3T.cjs} +4 -4
  80. package/dist/{rollback-DpY3YX-A.cjs.map → rollback-CBiYsQ3T.cjs.map} +1 -1
  81. package/dist/{rollback-D1R0Vz0b.mjs → rollback-CDs_XNb0.mjs} +4 -4
  82. package/dist/{rollback-D1R0Vz0b.mjs.map → rollback-CDs_XNb0.mjs.map} +1 -1
  83. package/dist/{seeds-CcNV8zn9.mjs → seeds-BjcO4DDa.mjs} +3 -3
  84. package/dist/{seeds-CcNV8zn9.mjs.map → seeds-BjcO4DDa.mjs.map} +1 -1
  85. package/dist/{seeds-C0RAykNG.cjs → seeds-DNqRA1aQ.cjs} +3 -3
  86. package/dist/{seeds-C0RAykNG.cjs.map → seeds-DNqRA1aQ.cjs.map} +1 -1
  87. package/dist/{sniffer-DYmNg4Go.cjs → sniffer-DipSS8r8.cjs} +6 -6
  88. package/dist/{sniffer-DYmNg4Go.cjs.map → sniffer-DipSS8r8.cjs.map} +1 -1
  89. package/dist/{sniffer-1WA7Slw2.mjs → sniffer-b0XPmSyT.mjs} +6 -6
  90. package/dist/{sniffer-1WA7Slw2.mjs.map → sniffer-b0XPmSyT.mjs.map} +1 -1
  91. package/dist/stage-C_y2UovO.cjs +266 -0
  92. package/dist/stage-C_y2UovO.cjs.map +1 -0
  93. package/dist/stage-DrDmZusd.mjs +266 -0
  94. package/dist/stage-DrDmZusd.mjs.map +1 -0
  95. package/dist/target/public.cjs +1 -1
  96. package/dist/target/public.mjs +1 -1
  97. package/package.json +15 -15
  98. package/dist/compose-C8VR6L7_.mjs.map +0 -1
  99. package/dist/compose-Dqe_svmN.cjs.map +0 -1
package/dist/index.mjs CHANGED
@@ -3,25 +3,25 @@ import { n as __require, t as __exportAll } from "./rolldown-runtime-BhDjJH2R.mj
3
3
  import { n as isGkmError, t as GkmError } from "./errors-D8Gwp5kU.mjs";
4
4
  import { r as DEFAULT_TIMEOUT_MS, t as CommandFailed } from "./run-BJLIerMM.mjs";
5
5
  import { a as getDokployCredentials, d as removeGoDaddyCredentials, f as storeDokployCredentials, i as getCredentialsPath, l as readCredentials, m as storeHostingerToken, o as getDokployRegistryId, p as storeGoDaddyToken, s as getDokployToken, u as removeDokployCredentials } from "./credentials-B5N5yKk6.mjs";
6
- import { _ as sshTarget, a as stackOverrideFile, c as composeProject, d as stackPlan, f as EDGE_PROJECT, g as dockerHost, h as composeServer, i as ComposePushNeedsBuild, l as derivedCredentials, m as pinnedRef, o as edgeRef, p as parseDigests, r as ComposePinNeedsPull, s as removeEdgeRoutes, t as composeTarget, u as stackDir, v as dockerCompose, y as projectNetwork } from "./compose-C8VR6L7_.mjs";
6
+ import { C as dockerCompose, S as sshTarget, _ as parseDigests, b as dockerHost, c as edgeRef, f as derivedCredentials, h as EDGE_PROJECT, i as ComposePushNeedsBuild, l as removeEdgeRoutes, m as stackPlan, o as stackOverrideFile, p as stackDir, r as ComposePinNeedsPull, t as composeTarget, u as composeProject, v as pinnedRef, w as projectNetwork, y as composeServer } from "./compose-Gsd1Nq7R.mjs";
7
7
  import { A as InvalidStages, F as stageProblems, P as deployedProblems, R as stageSampleRate, a as allConstructGlobs, d as getAppGkmConfig, j as TEST_STAGE, u as getAppBuildOrder } from "./workspace-D1QbNd55.mjs";
8
- import { b as runTime, d as BACKUPS_URL_KEY, f as RUNNER_PATH, g as backupDatabases, u as BACKUPS_SERVICE, v as backupFile, x as stageBackups, y as backupsPrefix } from "./dns-BuiKRYPo.mjs";
9
- import { $t as isUnder, An as appTelemetry, At as isPortAvailable, Bn as fakeKey, Bt as maskPassword, Ct as cacheBackendFor, Dn as TELEMETRY_CONTAINER, Dt as createCredentialsPreload, G as CronGenerator, Gn as LOCAL_LOGS_EMAIL, H as workerBundleName, Hn as portsOf, Ht as toEmbeddableSecrets, It as secretsStoreFor, L as dockerCommand, Mn as scopeTelemetryEnv, Mt as loadPortState, Nn as surfaceClientTraced, Nt as loadSecretsForApp, Ot as createEntryWrapper, Pn as telemetryOf, Pt as prepareEntryCredentials, Q as assertDevServicesFlag, Tt as providerOf, U as workerEntryDir, Ut as withCustomSecret, V as WorkerGenerator, W as QueueGenerator, Wn as primaryPortKey, Xt as imageBuildCredentials, Zt as isImageBuild, a as dnsResources, an as postgresDatabaseNames, bt as pgClient, c as describeActor, dt as constructGlobs, en as workerUnits, fn as readLocalCredentials, ft as derivedContainers, gn as projectKey, gt as forgetState, ht as LOCAL_CA_PATH, jt as loadEnvFiles, kt as findAvailablePort, lt as FAKE_ENV, mn as getKeyPath, pn as FileSecretsStore, pt as reconcileWorkspace, sn as quoteIdentifier, ut as backendsOf$1, wt as eventsBackendFor, xt as CLUSTER_DATABASE, zn as describeServices } from "./seeds-CcNV8zn9.mjs";
8
+ import { b as runTime, d as BACKUPS_URL_KEY, f as RUNNER_PATH, g as backupDatabases, u as BACKUPS_SERVICE, v as backupFile, x as stageBackups, y as backupsPrefix } from "./dns-pFMShDqW.mjs";
9
+ import { $t as isUnder, An as appTelemetry, At as isPortAvailable, Bn as fakeKey, Bt as maskPassword, Ct as cacheBackendFor, Dn as TELEMETRY_CONTAINER, Dt as createCredentialsPreload, G as CronGenerator, Gn as LOCAL_LOGS_EMAIL, H as workerBundleName, Hn as portsOf, Ht as toEmbeddableSecrets, It as secretsStoreFor, L as dockerCommand, Mn as scopeTelemetryEnv, Mt as loadPortState, Nn as surfaceClientTraced, Nt as loadSecretsForApp, Ot as createEntryWrapper, Pn as telemetryOf, Pt as prepareEntryCredentials, Q as assertDevServicesFlag, Tt as providerOf, U as workerEntryDir, Ut as withCustomSecret, V as WorkerGenerator, W as QueueGenerator, Wn as primaryPortKey, Xt as imageBuildCredentials, Zt as isImageBuild, a as dnsResources, an as postgresDatabaseNames, bt as pgClient, c as describeActor, dt as constructGlobs, en as workerUnits, fn as readLocalCredentials, ft as derivedContainers, gn as projectKey, gt as forgetState, ht as LOCAL_CA_PATH, jt as loadEnvFiles, kt as findAvailablePort, lt as FAKE_ENV, mn as getKeyPath, pn as FileSecretsStore, pt as reconcileWorkspace, sn as quoteIdentifier, ut as backendsOf$1, wt as eventsBackendFor, xt as CLUSTER_DATABASE, zn as describeServices } from "./seeds-BjcO4DDa.mjs";
10
10
  import { t as appKey } from "./derive-B4vDpzgP.mjs";
11
11
  import { l as isCacheBackend, n as assertTestCredentials, t as SubscriberGenerator } from "./SubscriberGenerator-DHnIYwUU.mjs";
12
12
  import { n as deployIdentity } from "./identity-CBXr4wNi.mjs";
13
13
  import { a as startTelemetryCode, c as parseTelemetryFlag, i as routeTelemetry, n as runtimeFor, o as telemetryFor, r as mountRequestSpansCode, s as writeTelemetryModule, t as EndpointGenerator } from "./EndpointGenerator-CvLX8bpx.mjs";
14
14
  import { d as ConstructGenerator, i as discover, r as consumedBy, u as withOwningTsconfigJsx } from "./discover-Ca8U75dl.mjs";
15
15
  import { ConfigNotFound, NotABackendApp, NotInAnApp, loadAppConfig, loadConfig, loadWorkspaceConfig, loadWorkspaceSettings, parseModuleConfig } from "./config.mjs";
16
- import { d as awsEndpoint, f as awsProvisioningCredentials, t as deploy$1, u as awsClientConfig } from "./deploy-c9Klc6Km.mjs";
16
+ import { d as awsEndpoint, f as awsProvisioningCredentials, t as deploy$1, u as awsClientConfig } from "./deploy-H2S8_mTx.mjs";
17
17
  import { generateOpenApi, openapiCommand, resolveOpenApiConfig } from "./openapi.mjs";
18
18
  import { a as describeHolder, c as withAppPorts, i as assignAppPorts, o as describeMove, r as appTag, s as holderOf, t as APP_TAG_ENV } from "./appPorts-BoXMwolc.mjs";
19
19
  import { n as driversFor, r as eventsBackendsIn, t as cacheBackendsIn } from "./drivers-D11JHxrD.mjs";
20
20
  import { n as withCompute, r as withRoutes, t as manifestModule } from "./emit-C1e8qD08.mjs";
21
21
  import { t as LocalSandbox } from "./local-BwC2v2Y8.mjs";
22
- import { S as createStateStore, k as keyFingerprint, n as sniffAppEnvironment, o as DokployApi } from "./sniffer-1WA7Slw2.mjs";
22
+ import { S as createStateStore, k as keyFingerprint, n as sniffAppEnvironment, o as DokployApi } from "./sniffer-b0XPmSyT.mjs";
23
23
  import { o as loadCredentialSchemas, t as CredentialsInvalid } from "./credentialSchemas-Cf5Pf8VE.mjs";
24
- import { t as LocalStateStore } from "./LocalStateStore-CqjePMa8.mjs";
24
+ import { t as LocalStateStore } from "./LocalStateStore-BcvyKbAw.mjs";
25
25
  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";
26
26
  import { a as writeTestHarness, i as TEST_MANIFEST_ENV, n as TEST_READY_FILE, t as TEST_READY_ENV } from "./ready-CIt5SOtg.mjs";
27
27
  import { createRequire } from "node:module";
@@ -51,7 +51,7 @@ import crypto from "crypto";
51
51
  import { Function } from "@geekmidas/constructs/functions";
52
52
  import { Topic } from "@geekmidas/constructs/topic";
53
53
  //#region package.json
54
- var version = "10.0.0-alpha.109";
54
+ var version = "10.0.0-alpha.110";
55
55
  //#endregion
56
56
  //#region src/prompt.ts
57
57
  /**
@@ -134,7 +134,7 @@ const logger$8 = console;
134
134
  * Validate Dokploy token by making a test API call
135
135
  */
136
136
  async function validateDokployToken(endpoint, token) {
137
- const { DokployApi } = await import("./sniffer-1WA7Slw2.mjs").then((n) => n.c);
137
+ const { DokployApi } = await import("./sniffer-b0XPmSyT.mjs").then((n) => n.c);
138
138
  return new DokployApi({
139
139
  baseUrl: endpoint,
140
140
  token
@@ -2167,11 +2167,28 @@ var NoCommandSpecified = class extends GkmError {
2167
2167
  * ```bash
2168
2168
  * gkm exec -- npx @better-auth/cli migrate
2169
2169
  * gkm exec -- npx prisma migrate dev
2170
+ * gkm exec --stage production -- node scripts/backfill.ts
2170
2171
  * ```
2171
2172
  */
2172
- async function execCommand(commandArgs, options = {}) {
2173
+ async function execCommand(commandArgs, options = {}, stageDeps) {
2173
2174
  const cwd = options.cwd ?? process.cwd();
2174
2175
  if (!commandArgs[0]) throw new NoCommandSpecified();
2176
+ if (options.stage && !isImageBuild()) {
2177
+ const { execOnStage } = await import("./stage-DrDmZusd.mjs");
2178
+ const { loadWorkspaceConfig } = await import("./config.mjs");
2179
+ const { workspace } = await loadWorkspaceConfig(cwd);
2180
+ if (options.stage !== workspace.stages.local) {
2181
+ const exitCode = await execOnStage(commandArgs, {
2182
+ stage: options.stage,
2183
+ cwd,
2184
+ ...options.profile ? { profile: options.profile } : {},
2185
+ ...options.yes ? { yes: true } : {},
2186
+ ...options.sshUser ? { sshUser: options.sshUser } : {}
2187
+ }, stageDeps);
2188
+ if (exitCode !== 0) process.exit(exitCode);
2189
+ return;
2190
+ }
2191
+ }
2175
2192
  const defaultEnv = loadEnvFiles(".env");
2176
2193
  if (defaultEnv.loaded.length > 0) logger$6.log(`📦 Loaded env: ${defaultEnv.loaded.join(", ")}`);
2177
2194
  const { credentials, secretsJsonPath, appName } = isImageBuild() ? await imageBuildEntry(cwd) : await prepareEntryCredentials({ cwd });
@@ -2730,9 +2747,9 @@ async function workspaceDevCommand(configured, options) {
2730
2747
  for (const { id, port } of fakes) logger$5.log(`🎭 ${id} fake: http://localhost:${port}`);
2731
2748
  logger$5.log(options.migrate || options.seed ? "🗄️ Migrating the databases" : "🗄️ Checking for pending migrations");
2732
2749
  if (options.migrate || options.seed) {
2733
- const { prepareDevDatabases } = await import("./migrate-B7ePhUk3.mjs");
2750
+ const { prepareDevDatabases } = await import("./migrate-DCXwHcWX.mjs");
2734
2751
  await prepareDevDatabases(workspace, reconciled.env, { seed: !!options.seed });
2735
- } else await import("./migrate-B7ePhUk3.mjs").then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
2752
+ } else await import("./migrate-DCXwHcWX.mjs").then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
2736
2753
  logger$5.log(`⚠️ Could not check for pending migrations: ${error instanceof Error ? error.message : String(error)}`);
2737
2754
  });
2738
2755
  const appUrls = {};
@@ -3808,7 +3825,7 @@ async function buildApp(input) {
3808
3825
  ...production,
3809
3826
  ...telemetry ? { telemetry } : {}
3810
3827
  });
3811
- const { bundleServer } = await import("./bundler-CE1Ph5w1.mjs");
3828
+ const { bundleServer } = await import("./bundler-Wd9H4QLJ.mjs");
3812
3829
  await bundleServer({
3813
3830
  entryPoint,
3814
3831
  outputDir: join(outputDir, "dist"),
@@ -4007,7 +4024,7 @@ async function buildWorkers(input) {
4007
4024
  });
4008
4025
  logger$4.log(`Generated worker ${worker.id}: ${crons.length} crons, ${queues.length} queues, ${subscribers.length} subscribers`);
4009
4026
  if (!input.bundle) continue;
4010
- const { bundleServer } = await import("./bundler-CE1Ph5w1.mjs");
4027
+ const { bundleServer } = await import("./bundler-Wd9H4QLJ.mjs");
4011
4028
  const outfile = workerBundleName(worker.id);
4012
4029
  await bundleServer({
4013
4030
  entryPoint,
@@ -4093,7 +4110,7 @@ async function buildForTarget(target, context, appRoot, workspaceRoot, endpointG
4093
4110
  let masterKey;
4094
4111
  if (context.production?.bundle && !skipBundle) {
4095
4112
  logger$4.log(`\n📦 Bundling production server...`);
4096
- const { bundleServer } = await import("./bundler-CE1Ph5w1.mjs");
4113
+ const { bundleServer } = await import("./bundler-Wd9H4QLJ.mjs");
4097
4114
  const allConstructs = [
4098
4115
  ...endpoints.map((e) => e.construct),
4099
4116
  ...functions.map((f) => f.construct),
@@ -5926,25 +5943,25 @@ function loadPackageJson() {
5926
5943
  * Run: pnpm --filter @geekmidas/cli sync-versions
5927
5944
  */
5928
5945
  const GEEKMIDAS_VERSIONS = {
5929
- "@geekmidas/audit": "~10.0.0-alpha.109",
5930
- "@geekmidas/auth": "~10.0.0-alpha.109",
5931
- "@geekmidas/cache": "~10.0.0-alpha.109",
5932
- "@geekmidas/client": "~10.0.0-alpha.109",
5933
- "@geekmidas/cloud": "~10.0.0-alpha.109",
5934
- "@geekmidas/constructs": "~10.0.0-alpha.109",
5935
- "@geekmidas/db": "~10.0.0-alpha.109",
5936
- "@geekmidas/emailkit": "~10.0.0-alpha.109",
5937
- "@geekmidas/envkit": "~10.0.0-alpha.109",
5938
- "@geekmidas/errors": "~10.0.0-alpha.109",
5939
- "@geekmidas/events": "~10.0.0-alpha.109",
5940
- "@geekmidas/logger": "~10.0.0-alpha.109",
5941
- "@geekmidas/manifest": "~10.0.0-alpha.109",
5942
- "@geekmidas/rate-limit": "~10.0.0-alpha.109",
5943
- "@geekmidas/schema": "~10.0.0-alpha.109",
5944
- "@geekmidas/services": "~10.0.0-alpha.109",
5945
- "@geekmidas/storage": "~10.0.0-alpha.109",
5946
- "@geekmidas/telescope": "~10.0.0-alpha.109",
5947
- "@geekmidas/testkit": "~10.0.0-alpha.109",
5946
+ "@geekmidas/audit": "~10.0.0-alpha.110",
5947
+ "@geekmidas/auth": "~10.0.0-alpha.110",
5948
+ "@geekmidas/cache": "~10.0.0-alpha.110",
5949
+ "@geekmidas/client": "~10.0.0-alpha.110",
5950
+ "@geekmidas/cloud": "~10.0.0-alpha.110",
5951
+ "@geekmidas/constructs": "~10.0.0-alpha.110",
5952
+ "@geekmidas/db": "~10.0.0-alpha.110",
5953
+ "@geekmidas/emailkit": "~10.0.0-alpha.110",
5954
+ "@geekmidas/envkit": "~10.0.0-alpha.110",
5955
+ "@geekmidas/errors": "~10.0.0-alpha.110",
5956
+ "@geekmidas/events": "~10.0.0-alpha.110",
5957
+ "@geekmidas/logger": "~10.0.0-alpha.110",
5958
+ "@geekmidas/manifest": "~10.0.0-alpha.110",
5959
+ "@geekmidas/rate-limit": "~10.0.0-alpha.110",
5960
+ "@geekmidas/schema": "~10.0.0-alpha.110",
5961
+ "@geekmidas/services": "~10.0.0-alpha.110",
5962
+ "@geekmidas/storage": "~10.0.0-alpha.110",
5963
+ "@geekmidas/telescope": "~10.0.0-alpha.110",
5964
+ "@geekmidas/testkit": "~10.0.0-alpha.110",
5948
5965
  "@geekmidas/cli": `~${loadPackageJson().version}`
5949
5966
  };
5950
5967
  //#endregion
@@ -7137,7 +7154,7 @@ const COMMIT = /^[0-9a-f]{40}$/;
7137
7154
  * The `uses:` value for the stages action, with a comment saying which CLI
7138
7155
  * release the pinned commit is.
7139
7156
  */
7140
- function stagesActionUses(commit = "36d546d941ebe30abdb13cc841254d825ad00d01", version = cliVersion()) {
7157
+ function stagesActionUses(commit = "1175be1a09457cf9cf3bfb9add2c61969c829df8", version = cliVersion()) {
7141
7158
  return commit && COMMIT.test(commit) ? `${STAGES_ACTION}@${commit} # @geekmidas/cli ${version}` : `${STAGES_ACTION}@main # pin to a commit SHA: see the action's README`;
7142
7159
  }
7143
7160
  //#endregion
@@ -15837,7 +15854,7 @@ function testDatabases(reconciled) {
15837
15854
  * starts without the reference data the app needs.
15838
15855
  */
15839
15856
  async function migrateTestStage(workspace, env) {
15840
- const { migrateAndSeed } = await import("./migrate-B7ePhUk3.mjs");
15857
+ const { migrateAndSeed } = await import("./migrate-DCXwHcWX.mjs");
15841
15858
  const { discover } = await import("./discover-Ca8U75dl.mjs").then((n) => n.a);
15842
15859
  const sources = {};
15843
15860
  const manifest = await discover({
@@ -16248,11 +16265,11 @@ program.command("dev:credentials").description("Print each local service's addre
16248
16265
  exitWithError(error);
16249
16266
  }
16250
16267
  });
16251
- program.command("exec").description("Run a command with secrets injected into Credentials").argument("<command...>", "Command to run (use -- before command)").action(async (commandArgs) => {
16268
+ program.command("exec").description("Run a command with secrets injected into Credentials").argument("<command...>", "Command to run (use -- before command)").option("--stage <stage>", "A deployed compose stage to run as, through SSH tunnels to its server (default: the local stage)").option("--profile <profile>", "AWS profile for the stage's account").option("-y, --yes", "Run against a protected stage without asking").option("--ssh-user <user>", "SSH login for the stage's server (default: deploy.compose.server.<stage>.user)").action(async (commandArgs, options) => {
16252
16269
  try {
16253
16270
  const globalOptions = program.opts();
16254
16271
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16255
- await execCommand(commandArgs);
16272
+ await execCommand(commandArgs, options);
16256
16273
  } catch (error) {
16257
16274
  exitWithError(error);
16258
16275
  }
@@ -16273,7 +16290,7 @@ program.command("migrate").description("Apply each database construct's migratio
16273
16290
  try {
16274
16291
  const globalOptions = program.opts();
16275
16292
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16276
- const { migrateCommand } = await import("./migrate-B7ePhUk3.mjs");
16293
+ const { migrateCommand } = await import("./migrate-DCXwHcWX.mjs");
16277
16294
  await migrateCommand({
16278
16295
  ...options,
16279
16296
  ...construct ? { construct } : {}
@@ -16286,7 +16303,7 @@ program.command("seed").description("Migrate, then run each database construct's
16286
16303
  try {
16287
16304
  const globalOptions = program.opts();
16288
16305
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16289
- const { seedCommand } = await import("./migrate-B7ePhUk3.mjs");
16306
+ const { seedCommand } = await import("./migrate-DCXwHcWX.mjs");
16290
16307
  await seedCommand({
16291
16308
  ...options,
16292
16309
  ...construct ? { construct } : {}
@@ -16299,7 +16316,7 @@ program.command("migration").description("Write a construct's next migration: an
16299
16316
  try {
16300
16317
  const globalOptions = program.opts();
16301
16318
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16302
- const { migrationCommand } = await import("./migrate-B7ePhUk3.mjs");
16319
+ const { migrationCommand } = await import("./migrate-DCXwHcWX.mjs");
16303
16320
  await migrationCommand({
16304
16321
  construct,
16305
16322
  ...name ? { name } : {}
@@ -16399,7 +16416,7 @@ program.command("secrets:add").description("Build the keys a stage must be given
16399
16416
  try {
16400
16417
  const globalOptions = program.opts();
16401
16418
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16402
- const { secretsAddCommand } = await import("./add-C-0W8ery.mjs");
16419
+ const { secretsAddCommand } = await import("./add-snhdVmR-.mjs");
16403
16420
  await secretsAddCommand(options);
16404
16421
  } catch (error) {
16405
16422
  exitWithError(error);
@@ -16409,7 +16426,7 @@ program.command("encryption:rotate").description("Add a new current key to an En
16409
16426
  try {
16410
16427
  const globalOptions = program.opts();
16411
16428
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16412
- const { encryptionRotateCommand } = await import("./encryption-DqeIqdFb.mjs");
16429
+ const { encryptionRotateCommand } = await import("./encryption-D5pDJyp2.mjs");
16413
16430
  await encryptionRotateCommand(construct, options);
16414
16431
  } catch (error) {
16415
16432
  exitWithError(error);
@@ -16419,7 +16436,7 @@ program.command("encryption:retire").description("Remove an old key from an Encr
16419
16436
  try {
16420
16437
  const globalOptions = program.opts();
16421
16438
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16422
- const { encryptionRetireCommand } = await import("./encryption-DqeIqdFb.mjs");
16439
+ const { encryptionRetireCommand } = await import("./encryption-D5pDJyp2.mjs");
16423
16440
  await encryptionRetireCommand(construct, key, options);
16424
16441
  } catch (error) {
16425
16442
  exitWithError(error);
@@ -16458,7 +16475,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
16458
16475
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16459
16476
  const { loadWorkspaceConfig } = await import("./config.mjs");
16460
16477
  const { reconcileMissingSecrets } = await import("./reconcile--I7V4Klj.mjs");
16461
- const { secretsStoreFor } = await import("./seeds-CcNV8zn9.mjs").then((n) => n.Rt);
16478
+ const { secretsStoreFor } = await import("./seeds-BjcO4DDa.mjs").then((n) => n.Rt);
16462
16479
  const { workspace } = await loadWorkspaceConfig();
16463
16480
  const stage = options.stage ?? workspace.stages.local;
16464
16481
  const store = await secretsStoreFor(workspace, stage);
@@ -16467,7 +16484,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
16467
16484
  console.error(`No secrets found for stage "${stage}". Run "gkm secrets:init --stage ${stage}" first.`);
16468
16485
  process.exit(1);
16469
16486
  }
16470
- const { derivedContainers } = await import("./seeds-CcNV8zn9.mjs").then((n) => n.mt);
16487
+ const { derivedContainers } = await import("./seeds-BjcO4DDa.mjs").then((n) => n.mt);
16471
16488
  const result = reconcileMissingSecrets(secrets, workspace, await derivedContainers(workspace, stage));
16472
16489
  if (!result) {
16473
16490
  console.log(`\n✓ Secrets for stage "${stage}" are up-to-date`);
@@ -16484,14 +16501,14 @@ program.command("secrets:migrate").description("Copy a deployed stage's secrets
16484
16501
  try {
16485
16502
  const globalOptions = program.opts();
16486
16503
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16487
- const { secretsMigrateCommand } = await import("./migrate-Dv5L_S1z.mjs");
16504
+ const { secretsMigrateCommand } = await import("./migrate-BZ0GnSZQ.mjs");
16488
16505
  await secretsMigrateCommand(options);
16489
16506
  } catch (error) {
16490
16507
  exitWithError(error);
16491
16508
  }
16492
16509
  });
16493
16510
  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").option("--allow-dev-services", "Server targets: run the dev service (MinIO, Mailpit) for every bucket and mail the stage doesn't account for. Not production-grade").option("--skip-dns", "Compose: neither write the public hosts' DNS records nor check they point at GKM_SERVER_IPV4 (a CDN or proxy in front, or records written elsewhere)").option("--rotate-keys", "Deployed stage: each provider issues its runtime keys a successor (the old one is deleted by the next deploy)").option("--retire-old-keys", "Deployed stage: delete a rotated-out key now instead of on the next deploy").action(async (options) => {
16494
- const { deployCli } = await import("./cli-DDqetU5U.mjs");
16511
+ const { deployCli } = await import("./cli-BzrDSNSg.mjs");
16495
16512
  const globalOptions = program.opts();
16496
16513
  const code = await deployCli({
16497
16514
  cwd: resolve(globalOptions.cwd ?? process.cwd()),
@@ -16511,7 +16528,7 @@ program.command("deploy").description("Deploy a stage through its target").optio
16511
16528
  });
16512
16529
  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) => {
16513
16530
  try {
16514
- const { rollbackStage } = await import("./rollback-D1R0Vz0b.mjs").then((n) => n.a);
16531
+ const { rollbackStage } = await import("./rollback-CDs_XNb0.mjs").then((n) => n.a);
16515
16532
  const { terminalCredentials } = await import("./terminal-CvRLxz6g.mjs");
16516
16533
  const globalOptions = program.opts();
16517
16534
  await rollbackStage({
@@ -16545,7 +16562,7 @@ program.command("deploy:github").description("Let GitHub Actions deploy a stage:
16545
16562
  try {
16546
16563
  const globalOptions = program.opts();
16547
16564
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16548
- const { deployGithubCommand } = await import("./github-BGPuFjD0.mjs");
16565
+ const { deployGithubCommand } = await import("./github-E-ZxqFPq.mjs");
16549
16566
  await deployGithubCommand(options);
16550
16567
  } catch (error) {
16551
16568
  exitWithError(error);