@geekmidas/cli 10.0.0-alpha.69 → 10.0.0-alpha.70

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 (144) hide show
  1. package/dist/{LegacyStateStore-LS_uTO8D.cjs → LegacyStateStore-Dd5IwiyC.cjs} +2 -2
  2. package/dist/{LegacyStateStore-LS_uTO8D.cjs.map → LegacyStateStore-Dd5IwiyC.cjs.map} +1 -1
  3. package/dist/{LegacyStateStore-BE1Et8RS.mjs → LegacyStateStore-NSHEinQi.mjs} +2 -2
  4. package/dist/{LegacyStateStore-BE1Et8RS.mjs.map → LegacyStateStore-NSHEinQi.mjs.map} +1 -1
  5. package/dist/{LocalStateStore-CV6phNMZ.cjs → LocalStateStore-DTylG4T4.cjs} +2 -2
  6. package/dist/{LocalStateStore-CV6phNMZ.cjs.map → LocalStateStore-DTylG4T4.cjs.map} +1 -1
  7. package/dist/{LocalStateStore-DAnFc708.mjs → LocalStateStore-DUoG2wA_.mjs} +2 -2
  8. package/dist/{LocalStateStore-DAnFc708.mjs.map → LocalStateStore-DUoG2wA_.mjs.map} +1 -1
  9. package/dist/{OpenApiTsGenerator-CSaXs-dB.mjs → OpenApiTsGenerator-BYD9EcJi.mjs} +43 -12
  10. package/dist/OpenApiTsGenerator-BYD9EcJi.mjs.map +1 -0
  11. package/dist/{OpenApiTsGenerator-CxB8mqXz.cjs → OpenApiTsGenerator-CpRWM0N6.cjs} +43 -12
  12. package/dist/OpenApiTsGenerator-CpRWM0N6.cjs.map +1 -0
  13. package/dist/{S3StateStore-dA34LAYm.cjs → S3StateStore-D7hrU-sy.cjs} +2 -2
  14. package/dist/{S3StateStore-dA34LAYm.cjs.map → S3StateStore-D7hrU-sy.cjs.map} +1 -1
  15. package/dist/{S3StateStore-8kJEGnTh.mjs → S3StateStore-Dxob3PNA.mjs} +2 -2
  16. package/dist/{S3StateStore-8kJEGnTh.mjs.map → S3StateStore-Dxob3PNA.mjs.map} +1 -1
  17. package/dist/{SSMStateStore-DBzlfc-S.cjs → SSMStateStore-DGIKJ4NN.cjs} +2 -2
  18. package/dist/{SSMStateStore-DBzlfc-S.cjs.map → SSMStateStore-DGIKJ4NN.cjs.map} +1 -1
  19. package/dist/{SSMStateStore-Dkdw-fPL.mjs → SSMStateStore-Dvl4A8Up.mjs} +2 -2
  20. package/dist/{SSMStateStore-Dkdw-fPL.mjs.map → SSMStateStore-Dvl4A8Up.mjs.map} +1 -1
  21. package/dist/{add-Dzk23476.mjs → add-BuviRszv.mjs} +3 -3
  22. package/dist/{add-Dzk23476.mjs.map → add-BuviRszv.mjs.map} +1 -1
  23. package/dist/{add-CoIr2wgv.cjs → add-DHIk61nK.cjs} +3 -3
  24. package/dist/{add-CoIr2wgv.cjs.map → add-DHIk61nK.cjs.map} +1 -1
  25. package/dist/{bundler-CSR2nM4m.cjs → bundler-D7dcJVgj.cjs} +5 -5
  26. package/dist/{bundler-CSR2nM4m.cjs.map → bundler-D7dcJVgj.cjs.map} +1 -1
  27. package/dist/{bundler-Cn0JF5G0.mjs → bundler-DJlsYzm7.mjs} +5 -5
  28. package/dist/{bundler-Cn0JF5G0.mjs.map → bundler-DJlsYzm7.mjs.map} +1 -1
  29. package/dist/{cli-IoM2-x48.cjs → cli-7zCum6uN.cjs} +3 -3
  30. package/dist/{cli-IoM2-x48.cjs.map → cli-7zCum6uN.cjs.map} +1 -1
  31. package/dist/{cli-ij8Lwlww.mjs → cli-BjnqVnE6.mjs} +3 -3
  32. package/dist/{cli-ij8Lwlww.mjs.map → cli-BjnqVnE6.mjs.map} +1 -1
  33. package/dist/{compose-DfIioFX0.cjs → compose-BJYHmuvx.cjs} +358 -16
  34. package/dist/compose-BJYHmuvx.cjs.map +1 -0
  35. package/dist/{compose-CZtinmtw.mjs → compose-CByVaaeR.mjs} +353 -17
  36. package/dist/compose-CByVaaeR.mjs.map +1 -0
  37. package/dist/{config-CxEp_g7j.d.mts → config-BN6iXvyR.d.mts} +3 -3
  38. package/dist/{config-BnA0kPTY.d.cts.map → config-BN6iXvyR.d.mts.map} +1 -1
  39. package/dist/{config-BnA0kPTY.d.cts → config-j9zBKaEG.d.cts} +3 -3
  40. package/dist/{config-CxEp_g7j.d.mts.map → config-j9zBKaEG.d.cts.map} +1 -1
  41. package/dist/config.cjs +1 -1
  42. package/dist/config.d.cts +3 -3
  43. package/dist/config.d.mts +3 -3
  44. package/dist/config.mjs +1 -1
  45. package/dist/deploy/public.cjs +6 -6
  46. package/dist/deploy/public.d.cts +3 -3
  47. package/dist/deploy/public.d.cts.map +1 -1
  48. package/dist/deploy/public.d.mts +3 -3
  49. package/dist/deploy/public.d.mts.map +1 -1
  50. package/dist/deploy/public.mjs +6 -6
  51. package/dist/{deploy-Dpz9raPM.cjs → deploy--ZU9gOOa.cjs} +5 -5
  52. package/dist/{deploy-Dpz9raPM.cjs.map → deploy--ZU9gOOa.cjs.map} +1 -1
  53. package/dist/{deploy-BzqbkJ3o.mjs → deploy-CCSGr7be.mjs} +5 -5
  54. package/dist/{deploy-BzqbkJ3o.mjs.map → deploy-CCSGr7be.mjs.map} +1 -1
  55. package/dist/{dokploy-B6O-J1fb.cjs → dokploy-BOupc9PK.cjs} +2 -2
  56. package/dist/{dokploy-B6O-J1fb.cjs.map → dokploy-BOupc9PK.cjs.map} +1 -1
  57. package/dist/{dokploy-DkwcORbv.mjs → dokploy-Bskfn1g5.mjs} +2 -2
  58. package/dist/{dokploy-DkwcORbv.mjs.map → dokploy-Bskfn1g5.mjs.map} +1 -1
  59. package/dist/{encryption-C8Ic5t0C.cjs → encryption-D-VkoJG4.cjs} +3 -3
  60. package/dist/{encryption-C8Ic5t0C.cjs.map → encryption-D-VkoJG4.cjs.map} +1 -1
  61. package/dist/{encryption-7m1mKcRy.mjs → encryption-DR-py9GX.mjs} +3 -3
  62. package/dist/{encryption-7m1mKcRy.mjs.map → encryption-DR-py9GX.mjs.map} +1 -1
  63. package/dist/{engine-BR9qlS7A.cjs → engine-Da8dBxt5.cjs} +6 -5
  64. package/dist/engine-Da8dBxt5.cjs.map +1 -0
  65. package/dist/{engine-62Kl70Pj.mjs → engine-Xbv8NNdX.mjs} +6 -5
  66. package/dist/{engine-62Kl70Pj.mjs.map → engine-Xbv8NNdX.mjs.map} +1 -1
  67. package/dist/{github-DtymyOcH.mjs → github-D2pYzY7L.mjs} +3 -3
  68. package/dist/{github-DtymyOcH.mjs.map → github-D2pYzY7L.mjs.map} +1 -1
  69. package/dist/{github-CmGIZjhu.cjs → github-DeXzs11c.cjs} +3 -3
  70. package/dist/{github-CmGIZjhu.cjs.map → github-DeXzs11c.cjs.map} +1 -1
  71. package/dist/{index-CkX89m6S.d.mts → index-Bk3NY6DN.d.cts} +2 -2
  72. package/dist/{index-CkX89m6S.d.mts.map → index-Bk3NY6DN.d.cts.map} +1 -1
  73. package/dist/{index-EvZBkycu.d.cts → index-DvoxuTqR.d.mts} +2 -2
  74. package/dist/{index-EvZBkycu.d.cts.map → index-DvoxuTqR.d.mts.map} +1 -1
  75. package/dist/index.cjs +48 -46
  76. package/dist/index.cjs.map +1 -1
  77. package/dist/index.mjs +48 -46
  78. package/dist/index.mjs.map +1 -1
  79. package/dist/{migrate-CYC-hBOU.cjs → migrate-BURDS8vy.cjs} +3 -3
  80. package/dist/{migrate-CYC-hBOU.cjs.map → migrate-BURDS8vy.cjs.map} +1 -1
  81. package/dist/{migrate-CEzq6DjL.mjs → migrate-DiJT84g9.mjs} +3 -3
  82. package/dist/{migrate-CEzq6DjL.mjs.map → migrate-DiJT84g9.mjs.map} +1 -1
  83. package/dist/openapi.cjs +1 -1
  84. package/dist/openapi.d.cts +1 -1
  85. package/dist/openapi.d.mts +1 -1
  86. package/dist/openapi.mjs +1 -1
  87. package/dist/{ready-QGgjmcuN.cjs → ready-C-qNcux-.cjs} +2 -2
  88. package/dist/{ready-QGgjmcuN.cjs.map → ready-C-qNcux-.cjs.map} +1 -1
  89. package/dist/{ready-DeYaSoNN.mjs → ready-CfIiMts4.mjs} +2 -2
  90. package/dist/{ready-DeYaSoNN.mjs.map → ready-CfIiMts4.mjs.map} +1 -1
  91. package/dist/reconcile/public.d.cts +1 -1
  92. package/dist/reconcile/public.d.mts +1 -1
  93. package/dist/{resolve-BDsMffvz.cjs → resolve-B7jJQmTo.cjs} +3 -3
  94. package/dist/{resolve-BDsMffvz.cjs.map → resolve-B7jJQmTo.cjs.map} +1 -1
  95. package/dist/{resolve-Dn5wGf1r.mjs → resolve-Dj5TQKoD.mjs} +3 -3
  96. package/dist/{resolve-Dn5wGf1r.mjs.map → resolve-Dj5TQKoD.mjs.map} +1 -1
  97. package/dist/{rollback-DDfaqv7P.mjs → rollback-Bw9kESjz.mjs} +5 -5
  98. package/dist/{rollback-DDfaqv7P.mjs.map → rollback-Bw9kESjz.mjs.map} +1 -1
  99. package/dist/{rollback-5XHaBDxW.cjs → rollback-DNK1HEHY.cjs} +5 -5
  100. package/dist/{rollback-5XHaBDxW.cjs.map → rollback-DNK1HEHY.cjs.map} +1 -1
  101. package/dist/{runtime-B3jNgeP-.d.mts → runtime-CYAO4iZG.d.cts} +2 -2
  102. package/dist/{runtime-B3jNgeP-.d.mts.map → runtime-CYAO4iZG.d.cts.map} +1 -1
  103. package/dist/{runtime-DWThEP-r.d.cts → runtime-DHJhe4QI.d.mts} +2 -2
  104. package/dist/{runtime-DWThEP-r.d.cts.map → runtime-DHJhe4QI.d.mts.map} +1 -1
  105. package/dist/{sniffer-Bc0nNBDF.cjs → sniffer-DpHpFZBD.cjs} +6 -6
  106. package/dist/sniffer-DpHpFZBD.cjs.map +1 -0
  107. package/dist/{sniffer-DMqi2b1q.mjs → sniffer-vAXsU_4G.mjs} +6 -6
  108. package/dist/sniffer-vAXsU_4G.mjs.map +1 -0
  109. package/dist/{state-DClnPZt5.mjs → state-527OmqvN.mjs} +55 -5
  110. package/dist/state-527OmqvN.mjs.map +1 -0
  111. package/dist/{state-8RgXeX5Y.cjs → state-nS6I6s4u.cjs} +66 -4
  112. package/dist/state-nS6I6s4u.cjs.map +1 -0
  113. package/dist/target/public.cjs +1 -1
  114. package/dist/target/public.d.cts +2 -2
  115. package/dist/target/public.d.mts +2 -2
  116. package/dist/target/public.mjs +1 -1
  117. package/dist/{types-CZdCxUCK.d.cts → types-BD1jgA85.d.cts} +70 -2
  118. package/dist/types-BD1jgA85.d.cts.map +1 -0
  119. package/dist/{types-Da0E3Qv7.d.mts → types-DkG5WW8l.d.mts} +70 -2
  120. package/dist/types-DkG5WW8l.d.mts.map +1 -0
  121. package/dist/vitest.cjs +1 -1
  122. package/dist/vitest.mjs +1 -1
  123. package/dist/workspace/index.cjs +1 -1
  124. package/dist/workspace/index.d.cts +3 -3
  125. package/dist/workspace/index.d.mts +3 -3
  126. package/dist/workspace/index.mjs +1 -1
  127. package/dist/{workspace-B2UK_rVP.mjs → workspace-C7NqCsQF.mjs} +104 -2
  128. package/dist/workspace-C7NqCsQF.mjs.map +1 -0
  129. package/dist/{workspace-8NuAjaXJ.cjs → workspace-vdrcRI-m.cjs} +115 -1
  130. package/dist/workspace-vdrcRI-m.cjs.map +1 -0
  131. package/package.json +15 -15
  132. package/dist/OpenApiTsGenerator-CSaXs-dB.mjs.map +0 -1
  133. package/dist/OpenApiTsGenerator-CxB8mqXz.cjs.map +0 -1
  134. package/dist/compose-CZtinmtw.mjs.map +0 -1
  135. package/dist/compose-DfIioFX0.cjs.map +0 -1
  136. package/dist/engine-BR9qlS7A.cjs.map +0 -1
  137. package/dist/sniffer-Bc0nNBDF.cjs.map +0 -1
  138. package/dist/sniffer-DMqi2b1q.mjs.map +0 -1
  139. package/dist/state-8RgXeX5Y.cjs.map +0 -1
  140. package/dist/state-DClnPZt5.mjs.map +0 -1
  141. package/dist/types-CZdCxUCK.d.cts.map +0 -1
  142. package/dist/types-Da0E3Qv7.d.mts.map +0 -1
  143. package/dist/workspace-8NuAjaXJ.cjs.map +0 -1
  144. package/dist/workspace-B2UK_rVP.mjs.map +0 -1
package/dist/index.mjs CHANGED
@@ -4,19 +4,19 @@ import { r as DEFAULT_TIMEOUT_MS, t as CommandFailed } from "./run-BJLIerMM.mjs"
4
4
  import { c as getDokployCredentials, f as removeDokployCredentials, i as LocalSandbox, l as getDokployRegistryId, m as storeHostingerToken, p as storeDokployCredentials, s as getCredentialsPath, u as getDokployToken } from "./credentials-pAtB70k3.mjs";
5
5
  import { l as withOwningTsconfigJsx, r as discover, u as ConstructGenerator } from "./discover-Buwf1z4P.mjs";
6
6
  import { t as appKey } from "./derive-B4vDpzgP.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-B2UK_rVP.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-C7NqCsQF.mjs";
8
8
  import { ConfigNotFound, NotABackendApp, NotInAnApp, loadAppConfig, loadConfig, loadWorkspaceConfig, loadWorkspaceSettings, parseModuleConfig } from "./config.mjs";
9
- import { $ as postgresDatabaseNames, $t as withCustomSecret, At as loadEnvFiles, B as keyFingerprint, Ct as fakeKey, Dt as createEntryWrapper, Et as createCredentialsPreload, G as reconcileWorkspace, H as backendsOf$1, Ht as deployIdentity, It as FileSecretsStore, J as forgetState, Lt as getKeyPath, Mt as prepareEntryCredentials, Ot as findAvailablePort, P as parseDevServices, Pt as secretsStoreFor, Qt as toEmbeddableSecrets, St as describeServices, Tt as primaryPortKey, U as constructGlobs, V as FAKE_ENV, W as derivedContainers, Xt as maskPassword, _t as cacheBackendFor, it as pgClient, jt as loadSecretsForApp, kt as isPortAvailable, q as LOCAL_CA_PATH, tt as quoteIdentifier, y as dockerCommand, yt as providerOf, zt as projectKey } from "./state-DClnPZt5.mjs";
10
- import { i as telemetryFor, n as EndpointGenerator, r as runtimeFor } from "./OpenApiTsGenerator-CSaXs-dB.mjs";
11
- import { g as createStateStore, n as sniffAppEnvironment, o as DokployApi } from "./sniffer-DMqi2b1q.mjs";
9
+ import { At as findAvailablePort, Dt as primaryPortKey, G as constructGlobs, H as keyFingerprint, I as parseDevServices, It as secretsStoreFor, K as derivedContainers, Mt as loadEnvFiles, Nt as loadSecretsForApp, Ot as createCredentialsPreload, Pt as prepareEntryCredentials, Qt as maskPassword, Rt as FileSecretsStore, Tt as fakeKey, U as FAKE_ENV, Vt as projectKey, W as backendsOf$1, Wt as deployIdentity, X as forgetState, Y as LOCAL_CA_PATH, en as toEmbeddableSecrets, jt as isPortAvailable, kt as createEntryWrapper, ot as pgClient, q as reconcileWorkspace, rt as quoteIdentifier, tn as withCustomSecret, tt as postgresDatabaseNames, wt as describeServices, xt as providerOf, y as dockerCommand, yt as cacheBackendFor, zt as getKeyPath } from "./state-527OmqvN.mjs";
10
+ import { i as telemetryFor, n as EndpointGenerator, r as runtimeFor } from "./OpenApiTsGenerator-BYD9EcJi.mjs";
11
+ import { g as createStateStore, n as sniffAppEnvironment, o as DokployApi } from "./sniffer-vAXsU_4G.mjs";
12
12
  import { generateOpenApi, openapiCommand, resolveOpenApiConfig } from "./openapi.mjs";
13
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";
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-DeYaSoNN.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-CfIiMts4.mjs";
15
15
  import { n as withCompute, r as withRoutes, t as manifestModule } from "./emit-C1e8qD08.mjs";
16
- import { t as deploy$1 } from "./deploy-BzqbkJ3o.mjs";
17
- import { a as dockerCompose, i as stackDir, r as composeProject, t as composeTarget } from "./compose-CZtinmtw.mjs";
16
+ import { t as deploy$1 } from "./deploy-CCSGr7be.mjs";
17
+ import { a as stackDir, i as composeProject, o as dockerCompose, r as stackOverrideFile, t as composeTarget } from "./compose-CByVaaeR.mjs";
18
18
  import { o as loadCredentialSchemas, t as CredentialsInvalid } from "./credentialSchemas-BmYxnEz_.mjs";
19
- import { t as LocalStateStore } from "./LocalStateStore-DAnFc708.mjs";
19
+ import { t as LocalStateStore } from "./LocalStateStore-DUoG2wA_.mjs";
20
20
  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";
21
21
  import { createRequire } from "node:module";
22
22
  import { basename, dirname, isAbsolute, join, relative, resolve } from "node:path";
@@ -30,9 +30,9 @@ import { promisify } from "node:util";
30
30
  import { canonicalId, kebabCase, migrationFolder, provideKey, schemeBase, serviceKey } from "@geekmidas/manifest";
31
31
  import fg from "fast-glob";
32
32
  import { pathToFileURL } from "node:url";
33
+ import { connect } from "node:net";
33
34
  import { execFile, execSync, spawn } from "node:child_process";
34
35
  import chokidar from "chokidar";
35
- import { connect } from "node:net";
36
36
  import { createHash, randomBytes, timingSafeEqual } from "node:crypto";
37
37
  import { parseDocument } from "yaml";
38
38
  import prompts from "prompts";
@@ -47,7 +47,7 @@ import { Function } from "@geekmidas/constructs/functions";
47
47
  import { Queue } from "@geekmidas/constructs/queue";
48
48
  import { Topic } from "@geekmidas/constructs/topic";
49
49
  //#region package.json
50
- var version = "10.0.0-alpha.69";
50
+ var version = "10.0.0-alpha.70";
51
51
  //#endregion
52
52
  //#region src/prompt.ts
53
53
  /**
@@ -130,7 +130,7 @@ const logger$8 = console;
130
130
  * Validate Dokploy token by making a test API call
131
131
  */
132
132
  async function validateDokployToken(endpoint, token) {
133
- const { DokployApi } = await import("./sniffer-DMqi2b1q.mjs").then((n) => n.c);
133
+ const { DokployApi } = await import("./sniffer-vAXsU_4G.mjs").then((n) => n.c);
134
134
  return new DokployApi({
135
135
  baseUrl: endpoint,
136
136
  token
@@ -2036,9 +2036,9 @@ async function workspaceDevCommand(configured, options) {
2036
2036
  for (const { id, port } of fakes) logger$5.log(`🎭 ${id} fake: http://localhost:${port}`);
2037
2037
  logger$5.log(options.migrate || options.seed ? "🗄️ Migrating the databases" : "🗄️ Checking for pending migrations");
2038
2038
  if (options.migrate || options.seed) {
2039
- const { prepareDevDatabases } = await import("./migrate-CEzq6DjL.mjs");
2039
+ const { prepareDevDatabases } = await import("./migrate-DiJT84g9.mjs");
2040
2040
  await prepareDevDatabases(workspace, reconciled.env, { seed: !!options.seed });
2041
- } else await import("./migrate-CEzq6DjL.mjs").then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
2041
+ } else await import("./migrate-DiJT84g9.mjs").then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
2042
2042
  logger$5.log(`⚠️ Could not check for pending migrations: ${error instanceof Error ? error.message : String(error)}`);
2043
2043
  });
2044
2044
  const appUrls = {};
@@ -3418,7 +3418,7 @@ async function buildApp(input) {
3418
3418
  if (production?.bundle && !input.skipBundle) {
3419
3419
  const outputDir = join(appRoot, ".gkm", "server");
3420
3420
  const entryPoint = await writeSurfaceServer(outputDir, production);
3421
- const { bundleServer } = await import("./bundler-Cn0JF5G0.mjs");
3421
+ const { bundleServer } = await import("./bundler-DJlsYzm7.mjs");
3422
3422
  await bundleServer({
3423
3423
  entryPoint,
3424
3424
  outputDir: join(outputDir, "dist"),
@@ -3556,7 +3556,7 @@ async function buildForTarget(target, context, appRoot, workspaceRoot, endpointG
3556
3556
  let masterKey;
3557
3557
  if (context.production?.bundle && !skipBundle) {
3558
3558
  logger$4.log(`\n📦 Bundling production server...`);
3559
- const { bundleServer } = await import("./bundler-Cn0JF5G0.mjs");
3559
+ const { bundleServer } = await import("./bundler-DJlsYzm7.mjs");
3560
3560
  const allConstructs = [
3561
3561
  ...endpoints.map((e) => e.construct),
3562
3562
  ...functions.map((f) => f.construct),
@@ -3808,9 +3808,11 @@ async function composeCommand(options, deps = {}) {
3808
3808
  const { workspace } = await loadWorkspaceConfig(cwd);
3809
3809
  const { stage } = options;
3810
3810
  if (options.down) {
3811
+ const override = stackOverrideFile(workspace.root, stage);
3811
3812
  const ref = {
3812
3813
  project: composeProject(deployIdentity(workspace, stage)),
3813
3814
  file: join(workspace.root, stackDir(stage), "docker-compose.yml"),
3815
+ ...existsSync(override) ? { overrides: [override] } : {},
3814
3816
  cwd: workspace.root
3815
3817
  };
3816
3818
  await (deps.docker ?? dockerCompose).down(ref);
@@ -5253,25 +5255,25 @@ function loadPackageJson() {
5253
5255
  * Run: pnpm --filter @geekmidas/cli sync-versions
5254
5256
  */
5255
5257
  const GEEKMIDAS_VERSIONS = {
5256
- "@geekmidas/audit": "~10.0.0-alpha.69",
5257
- "@geekmidas/auth": "~10.0.0-alpha.69",
5258
- "@geekmidas/cache": "~10.0.0-alpha.69",
5259
- "@geekmidas/client": "~10.0.0-alpha.69",
5260
- "@geekmidas/cloud": "~10.0.0-alpha.69",
5261
- "@geekmidas/constructs": "~10.0.0-alpha.69",
5262
- "@geekmidas/db": "~10.0.0-alpha.69",
5263
- "@geekmidas/emailkit": "~10.0.0-alpha.69",
5264
- "@geekmidas/envkit": "~10.0.0-alpha.69",
5265
- "@geekmidas/errors": "~10.0.0-alpha.69",
5266
- "@geekmidas/events": "~10.0.0-alpha.69",
5267
- "@geekmidas/logger": "~10.0.0-alpha.69",
5268
- "@geekmidas/manifest": "~10.0.0-alpha.69",
5269
- "@geekmidas/rate-limit": "~10.0.0-alpha.69",
5270
- "@geekmidas/schema": "~10.0.0-alpha.69",
5271
- "@geekmidas/services": "~10.0.0-alpha.69",
5272
- "@geekmidas/storage": "~10.0.0-alpha.69",
5273
- "@geekmidas/telescope": "~10.0.0-alpha.69",
5274
- "@geekmidas/testkit": "~10.0.0-alpha.69",
5258
+ "@geekmidas/audit": "~10.0.0-alpha.70",
5259
+ "@geekmidas/auth": "~10.0.0-alpha.70",
5260
+ "@geekmidas/cache": "~10.0.0-alpha.70",
5261
+ "@geekmidas/client": "~10.0.0-alpha.70",
5262
+ "@geekmidas/cloud": "~10.0.0-alpha.70",
5263
+ "@geekmidas/constructs": "~10.0.0-alpha.70",
5264
+ "@geekmidas/db": "~10.0.0-alpha.70",
5265
+ "@geekmidas/emailkit": "~10.0.0-alpha.70",
5266
+ "@geekmidas/envkit": "~10.0.0-alpha.70",
5267
+ "@geekmidas/errors": "~10.0.0-alpha.70",
5268
+ "@geekmidas/events": "~10.0.0-alpha.70",
5269
+ "@geekmidas/logger": "~10.0.0-alpha.70",
5270
+ "@geekmidas/manifest": "~10.0.0-alpha.70",
5271
+ "@geekmidas/rate-limit": "~10.0.0-alpha.70",
5272
+ "@geekmidas/schema": "~10.0.0-alpha.70",
5273
+ "@geekmidas/services": "~10.0.0-alpha.70",
5274
+ "@geekmidas/storage": "~10.0.0-alpha.70",
5275
+ "@geekmidas/telescope": "~10.0.0-alpha.70",
5276
+ "@geekmidas/testkit": "~10.0.0-alpha.70",
5275
5277
  "@geekmidas/cli": `~${loadPackageJson().version}`
5276
5278
  };
5277
5279
  //#endregion
@@ -11061,7 +11063,7 @@ function testDatabases(reconciled) {
11061
11063
  * starts without the reference data the app needs.
11062
11064
  */
11063
11065
  async function migrateTestStage(workspace, env) {
11064
- const { migrateAndSeed } = await import("./migrate-CEzq6DjL.mjs");
11066
+ const { migrateAndSeed } = await import("./migrate-DiJT84g9.mjs");
11065
11067
  const { discover } = await import("./discover-Buwf1z4P.mjs").then((n) => n.i);
11066
11068
  const sources = {};
11067
11069
  const manifest = await discover({
@@ -11492,7 +11494,7 @@ program.command("migrate").description("Apply each database construct's migratio
11492
11494
  try {
11493
11495
  const globalOptions = program.opts();
11494
11496
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
11495
- const { migrateCommand } = await import("./migrate-CEzq6DjL.mjs");
11497
+ const { migrateCommand } = await import("./migrate-DiJT84g9.mjs");
11496
11498
  await migrateCommand({
11497
11499
  ...options,
11498
11500
  ...construct ? { construct } : {}
@@ -11506,7 +11508,7 @@ program.command("seed").description("Migrate, then run each database construct's
11506
11508
  try {
11507
11509
  const globalOptions = program.opts();
11508
11510
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
11509
- const { seedCommand } = await import("./migrate-CEzq6DjL.mjs");
11511
+ const { seedCommand } = await import("./migrate-DiJT84g9.mjs");
11510
11512
  await seedCommand({
11511
11513
  ...options,
11512
11514
  ...construct ? { construct } : {}
@@ -11520,7 +11522,7 @@ program.command("migration").description("Write a construct's next migration: an
11520
11522
  try {
11521
11523
  const globalOptions = program.opts();
11522
11524
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
11523
- const { migrationCommand } = await import("./migrate-CEzq6DjL.mjs");
11525
+ const { migrationCommand } = await import("./migrate-DiJT84g9.mjs");
11524
11526
  await migrationCommand({
11525
11527
  construct,
11526
11528
  ...name ? { name } : {}
@@ -11614,7 +11616,7 @@ program.command("secrets:add").description("Build the keys a stage must be given
11614
11616
  try {
11615
11617
  const globalOptions = program.opts();
11616
11618
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
11617
- const { secretsAddCommand } = await import("./add-Dzk23476.mjs");
11619
+ const { secretsAddCommand } = await import("./add-BuviRszv.mjs");
11618
11620
  await secretsAddCommand(options);
11619
11621
  } catch (error) {
11620
11622
  console.error(formatError(error));
@@ -11625,7 +11627,7 @@ program.command("encryption:rotate").description("Add a new current key to an En
11625
11627
  try {
11626
11628
  const globalOptions = program.opts();
11627
11629
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
11628
- const { encryptionRotateCommand } = await import("./encryption-7m1mKcRy.mjs");
11630
+ const { encryptionRotateCommand } = await import("./encryption-DR-py9GX.mjs");
11629
11631
  await encryptionRotateCommand(construct, options);
11630
11632
  } catch (error) {
11631
11633
  console.error(formatError(error));
@@ -11636,7 +11638,7 @@ program.command("encryption:retire").description("Remove an old key from an Encr
11636
11638
  try {
11637
11639
  const globalOptions = program.opts();
11638
11640
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
11639
- const { encryptionRetireCommand } = await import("./encryption-7m1mKcRy.mjs");
11641
+ const { encryptionRetireCommand } = await import("./encryption-DR-py9GX.mjs");
11640
11642
  await encryptionRetireCommand(construct, key, options);
11641
11643
  } catch (error) {
11642
11644
  console.error(formatError(error));
@@ -11679,7 +11681,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
11679
11681
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
11680
11682
  const { loadWorkspaceConfig } = await import("./config.mjs");
11681
11683
  const { reconcileMissingSecrets } = await import("./reconcile--I7V4Klj.mjs");
11682
- const { secretsStoreFor } = await import("./state-DClnPZt5.mjs").then((n) => n.Ft);
11684
+ const { secretsStoreFor } = await import("./state-527OmqvN.mjs").then((n) => n.Lt);
11683
11685
  const { workspace } = await loadWorkspaceConfig();
11684
11686
  const stage = options.stage ?? workspace.stages.local;
11685
11687
  const store = await secretsStoreFor(workspace, stage);
@@ -11688,7 +11690,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
11688
11690
  console.error(`No secrets found for stage "${stage}". Run "gkm secrets:init --stage ${stage}" first.`);
11689
11691
  process.exit(1);
11690
11692
  }
11691
- const { derivedContainers } = await import("./state-DClnPZt5.mjs").then((n) => n.K);
11693
+ const { derivedContainers } = await import("./state-527OmqvN.mjs").then((n) => n.J);
11692
11694
  const result = reconcileMissingSecrets(secrets, workspace, await derivedContainers(workspace, stage));
11693
11695
  if (!result) {
11694
11696
  console.log(`\n✓ Secrets for stage "${stage}" are up-to-date`);
@@ -11703,7 +11705,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
11703
11705
  }
11704
11706
  });
11705
11707
  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 <list>", "Server targets: run MinIO and/or Mailpit (minio,mailpit) for mail and buckets the stage's secrets don't configure. Not production-grade").action(async (options) => {
11706
- const { deployCli } = await import("./cli-ij8Lwlww.mjs");
11708
+ const { deployCli } = await import("./cli-BjnqVnE6.mjs");
11707
11709
  const globalOptions = program.opts();
11708
11710
  const code = await deployCli({
11709
11711
  cwd: resolve(globalOptions.cwd ?? process.cwd()),
@@ -11720,7 +11722,7 @@ program.command("deploy").description("Deploy a stage through its target").optio
11720
11722
  });
11721
11723
  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) => {
11722
11724
  try {
11723
- const { rollbackStage } = await import("./rollback-DDfaqv7P.mjs").then((n) => n.a);
11725
+ const { rollbackStage } = await import("./rollback-Bw9kESjz.mjs").then((n) => n.a);
11724
11726
  const { terminalCredentials } = await import("./terminal-C6TBo_SA.mjs");
11725
11727
  const globalOptions = program.opts();
11726
11728
  await rollbackStage({
@@ -11756,7 +11758,7 @@ program.command("deploy:github").description("Let GitHub Actions deploy a stage:
11756
11758
  try {
11757
11759
  const globalOptions = program.opts();
11758
11760
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
11759
- const { deployGithubCommand } = await import("./github-DtymyOcH.mjs");
11761
+ const { deployGithubCommand } = await import("./github-D2pYzY7L.mjs");
11760
11762
  await deployGithubCommand(options);
11761
11763
  } catch (error) {
11762
11764
  console.error(formatError(error));