@geekmidas/cli 10.0.0-alpha.103 → 10.0.0-alpha.104

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 (146) hide show
  1. package/dist/{EndpointGenerator-By5_tYE9.cjs → EndpointGenerator-BwbYTMtB.cjs} +2 -2
  2. package/dist/{EndpointGenerator-By5_tYE9.cjs.map → EndpointGenerator-BwbYTMtB.cjs.map} +1 -1
  3. package/dist/{EndpointGenerator-Br97xgs_.mjs → EndpointGenerator-CvLX8bpx.mjs} +2 -2
  4. package/dist/{EndpointGenerator-Br97xgs_.mjs.map → EndpointGenerator-CvLX8bpx.mjs.map} +1 -1
  5. package/dist/{GoDaddyProvider-8gNDqaml.mjs → GoDaddyProvider-CuPEbbjl.mjs} +2 -2
  6. package/dist/{GoDaddyProvider-8gNDqaml.mjs.map → GoDaddyProvider-CuPEbbjl.mjs.map} +1 -1
  7. package/dist/{GoDaddyProvider-JITjarl9.cjs → GoDaddyProvider-dezqtUth.cjs} +2 -2
  8. package/dist/{GoDaddyProvider-JITjarl9.cjs.map → GoDaddyProvider-dezqtUth.cjs.map} +1 -1
  9. package/dist/{LegacyStateStore-C0WnyYy_.mjs → LegacyStateStore-Bc8FnHEB.mjs} +3 -3
  10. package/dist/{LegacyStateStore-C0WnyYy_.mjs.map → LegacyStateStore-Bc8FnHEB.mjs.map} +1 -1
  11. package/dist/{LegacyStateStore-D-mcT2Z7.cjs → LegacyStateStore-ecxYpm9-.cjs} +3 -3
  12. package/dist/{LegacyStateStore-D-mcT2Z7.cjs.map → LegacyStateStore-ecxYpm9-.cjs.map} +1 -1
  13. package/dist/{LocalStateStore-CUFfdu-v.cjs → LocalStateStore-Sf4B6kUn.cjs} +2 -2
  14. package/dist/{LocalStateStore-CUFfdu-v.cjs.map → LocalStateStore-Sf4B6kUn.cjs.map} +1 -1
  15. package/dist/{LocalStateStore-C_8QWB2r.mjs → LocalStateStore-wSKMDDh5.mjs} +2 -2
  16. package/dist/{LocalStateStore-C_8QWB2r.mjs.map → LocalStateStore-wSKMDDh5.mjs.map} +1 -1
  17. package/dist/{OpenApiTsGenerator-BgSX_Z-e.cjs → OpenApiTsGenerator-BD6ZOQ51.cjs} +2 -2
  18. package/dist/{OpenApiTsGenerator-BgSX_Z-e.cjs.map → OpenApiTsGenerator-BD6ZOQ51.cjs.map} +1 -1
  19. package/dist/{OpenApiTsGenerator-C8aTX--y.mjs → OpenApiTsGenerator-DXXFXSbO.mjs} +2 -2
  20. package/dist/{OpenApiTsGenerator-C8aTX--y.mjs.map → OpenApiTsGenerator-DXXFXSbO.mjs.map} +1 -1
  21. package/dist/{S3StateStore-B0Vy19db.mjs → S3StateStore-BPlVpTfg.mjs} +2 -2
  22. package/dist/{S3StateStore-B0Vy19db.mjs.map → S3StateStore-BPlVpTfg.mjs.map} +1 -1
  23. package/dist/{S3StateStore-DIJ6CCv_.cjs → S3StateStore-DQYjsYBl.cjs} +2 -2
  24. package/dist/{S3StateStore-DIJ6CCv_.cjs.map → S3StateStore-DQYjsYBl.cjs.map} +1 -1
  25. package/dist/{SSMStateStore-DgBlEqYO.mjs → SSMStateStore-De2PY12p.mjs} +2 -2
  26. package/dist/{SSMStateStore-DgBlEqYO.mjs.map → SSMStateStore-De2PY12p.mjs.map} +1 -1
  27. package/dist/{SSMStateStore-D577um0e.cjs → SSMStateStore-P9OMZHkp.cjs} +2 -2
  28. package/dist/{SSMStateStore-D577um0e.cjs.map → SSMStateStore-P9OMZHkp.cjs.map} +1 -1
  29. package/dist/{SubscriberGenerator-DmPM_3c5.cjs → SubscriberGenerator-CeH7wbYt.cjs} +3 -3
  30. package/dist/{SubscriberGenerator-DmPM_3c5.cjs.map → SubscriberGenerator-CeH7wbYt.cjs.map} +1 -1
  31. package/dist/{SubscriberGenerator-YK-7ewmi.mjs → SubscriberGenerator-DHnIYwUU.mjs} +3 -3
  32. package/dist/{SubscriberGenerator-YK-7ewmi.mjs.map → SubscriberGenerator-DHnIYwUU.mjs.map} +1 -1
  33. package/dist/{add-D97HfZ7z.cjs → add-C_lp7-oD.cjs} +8 -9
  34. package/dist/add-C_lp7-oD.cjs.map +1 -0
  35. package/dist/{add-BJJKhUnO.mjs → add-Dgdsb3ox.mjs} +8 -9
  36. package/dist/add-Dgdsb3ox.mjs.map +1 -0
  37. package/dist/{bundler-CtEQAnym.cjs → bundler-DBTA8gXs.cjs} +5 -5
  38. package/dist/{bundler-CtEQAnym.cjs.map → bundler-DBTA8gXs.cjs.map} +1 -1
  39. package/dist/{bundler-CzbrMpDf.mjs → bundler-DVPoeMRa.mjs} +5 -5
  40. package/dist/{bundler-CzbrMpDf.mjs.map → bundler-DVPoeMRa.mjs.map} +1 -1
  41. package/dist/{cli-D_zrFs9-.mjs → cli-CGXOvWRP.mjs} +3 -3
  42. package/dist/{cli-D_zrFs9-.mjs.map → cli-CGXOvWRP.mjs.map} +1 -1
  43. package/dist/{cli-CIv8PA-v.cjs → cli-D7FyFbeC.cjs} +3 -3
  44. package/dist/{cli-CIv8PA-v.cjs.map → cli-D7FyFbeC.cjs.map} +1 -1
  45. package/dist/{compose-DtPhKs0u.mjs → compose-B8ND6s9C.mjs} +14 -11
  46. package/dist/{compose-DtPhKs0u.mjs.map → compose-B8ND6s9C.mjs.map} +1 -1
  47. package/dist/{compose-BviikvXq.cjs → compose-qbPKKAMC.cjs} +14 -11
  48. package/dist/compose-qbPKKAMC.cjs.map +1 -0
  49. package/dist/config.cjs +1 -1
  50. package/dist/config.mjs +1 -1
  51. package/dist/{credentialSchemas-DvitraL-.mjs → credentialSchemas-Cf5Pf8VE.mjs} +2 -2
  52. package/dist/{credentialSchemas-DvitraL-.mjs.map → credentialSchemas-Cf5Pf8VE.mjs.map} +1 -1
  53. package/dist/{credentialSchemas-DDda4Mmm.cjs → credentialSchemas-D_VUCDUh.cjs} +2 -2
  54. package/dist/{credentialSchemas-DDda4Mmm.cjs.map → credentialSchemas-D_VUCDUh.cjs.map} +1 -1
  55. package/dist/deploy/public.cjs +7 -7
  56. package/dist/deploy/public.mjs +7 -7
  57. package/dist/{deploy-cv0i1yFo.cjs → deploy-Bsxl6nyG.cjs} +8 -8
  58. package/dist/{deploy-cv0i1yFo.cjs.map → deploy-Bsxl6nyG.cjs.map} +1 -1
  59. package/dist/{deploy-DyPt41Oq.mjs → deploy-yLGEWuam.mjs} +8 -8
  60. package/dist/{deploy-DyPt41Oq.mjs.map → deploy-yLGEWuam.mjs.map} +1 -1
  61. package/dist/{discover-BfhVW_kT.cjs → discover-Bsr7HjqJ.cjs} +18 -2
  62. package/dist/{discover-BfhVW_kT.cjs.map → discover-Bsr7HjqJ.cjs.map} +1 -1
  63. package/dist/{discover-kziEht4W.mjs → discover-Ca8U75dl.mjs} +13 -3
  64. package/dist/{discover-kziEht4W.mjs.map → discover-Ca8U75dl.mjs.map} +1 -1
  65. package/dist/{dns-B-wqZiyQ.mjs → dns-BQrhafpk.mjs} +2 -2
  66. package/dist/{dns-B-wqZiyQ.mjs.map → dns-BQrhafpk.mjs.map} +1 -1
  67. package/dist/{dns-_rxfINeq.cjs → dns-BUUEztBH.cjs} +2 -2
  68. package/dist/{dns-_rxfINeq.cjs.map → dns-BUUEztBH.cjs.map} +1 -1
  69. package/dist/{dokploy-BJQ9HjVv.mjs → dokploy-BuIvCaE1.mjs} +2 -2
  70. package/dist/{dokploy-BJQ9HjVv.mjs.map → dokploy-BuIvCaE1.mjs.map} +1 -1
  71. package/dist/{dokploy-DSvw-l5b.cjs → dokploy-CCnoXmGV.cjs} +2 -2
  72. package/dist/{dokploy-DSvw-l5b.cjs.map → dokploy-CCnoXmGV.cjs.map} +1 -1
  73. package/dist/{drivers-OXhPkaNB.mjs → drivers-D11JHxrD.mjs} +2 -2
  74. package/dist/{drivers-OXhPkaNB.mjs.map → drivers-D11JHxrD.mjs.map} +1 -1
  75. package/dist/{drivers-DEDL8vPE.cjs → drivers-GKaA6ITM.cjs} +2 -2
  76. package/dist/{drivers-DEDL8vPE.cjs.map → drivers-GKaA6ITM.cjs.map} +1 -1
  77. package/dist/{encryption-UgYs2YYM.cjs → encryption-2KOlWvfq.cjs} +2 -2
  78. package/dist/{encryption-UgYs2YYM.cjs.map → encryption-2KOlWvfq.cjs.map} +1 -1
  79. package/dist/{encryption-BUAZ3OEJ.mjs → encryption-BFs3ItV9.mjs} +2 -2
  80. package/dist/{encryption-BUAZ3OEJ.mjs.map → encryption-BFs3ItV9.mjs.map} +1 -1
  81. package/dist/{engine-Blx6G12-.cjs → engine-Bx_ea2_k.cjs} +6 -5
  82. package/dist/engine-Bx_ea2_k.cjs.map +1 -0
  83. package/dist/{engine-VnbN4VnX.mjs → engine-vvr2EpTb.mjs} +6 -5
  84. package/dist/engine-vvr2EpTb.mjs.map +1 -0
  85. package/dist/{github-C-L3qfYZ.cjs → github-BM6afosB.cjs} +5 -5
  86. package/dist/{github-C-L3qfYZ.cjs.map → github-BM6afosB.cjs.map} +1 -1
  87. package/dist/{github-D2uJ32Af.mjs → github-DuXBKTvr.mjs} +5 -5
  88. package/dist/{github-D2uJ32Af.mjs.map → github-DuXBKTvr.mjs.map} +1 -1
  89. package/dist/index.cjs +180 -101
  90. package/dist/index.cjs.map +1 -1
  91. package/dist/index.mjs +181 -102
  92. package/dist/index.mjs.map +1 -1
  93. package/dist/{migrate-DxAFe2EV.cjs → migrate-BQfq48xK.cjs} +2 -2
  94. package/dist/{migrate-DxAFe2EV.cjs.map → migrate-BQfq48xK.cjs.map} +1 -1
  95. package/dist/{migrate-Dqjr7rfs.mjs → migrate-BlLFYSIx.mjs} +2 -2
  96. package/dist/{migrate-Dqjr7rfs.mjs.map → migrate-BlLFYSIx.mjs.map} +1 -1
  97. package/dist/{migrate-BFH52jlU.mjs → migrate-CQal4P1q.mjs} +3 -3
  98. package/dist/{migrate-BFH52jlU.mjs.map → migrate-CQal4P1q.mjs.map} +1 -1
  99. package/dist/{migrate-DdociPvx.cjs → migrate-DXVzuw-s.cjs} +3 -3
  100. package/dist/{migrate-DdociPvx.cjs.map → migrate-DXVzuw-s.cjs.map} +1 -1
  101. package/dist/openapi.cjs +2 -2
  102. package/dist/openapi.mjs +2 -2
  103. package/dist/{ready-CuSU8Ap0.mjs → ready-CVNE5Pix.mjs} +6 -6
  104. package/dist/{ready-CuSU8Ap0.mjs.map → ready-CVNE5Pix.mjs.map} +1 -1
  105. package/dist/{ready-D38XpZ0L.cjs → ready-DU7wvxWk.cjs} +6 -6
  106. package/dist/{ready-D38XpZ0L.cjs.map → ready-DU7wvxWk.cjs.map} +1 -1
  107. package/dist/reconcile/public.cjs +1 -1
  108. package/dist/reconcile/public.mjs +1 -1
  109. package/dist/{resolve-aqhkZfDI.cjs → resolve-By_cw893.cjs} +3 -3
  110. package/dist/{resolve-aqhkZfDI.cjs.map → resolve-By_cw893.cjs.map} +1 -1
  111. package/dist/{resolve-BGgwxfCz.mjs → resolve-De9vfAnN.mjs} +3 -3
  112. package/dist/{resolve-BGgwxfCz.mjs.map → resolve-De9vfAnN.mjs.map} +1 -1
  113. package/dist/{rollback-DUbUQeoz.mjs → rollback-YCj4_q9l.mjs} +4 -4
  114. package/dist/{rollback-DUbUQeoz.mjs.map → rollback-YCj4_q9l.mjs.map} +1 -1
  115. package/dist/{rollback-qk3-knJ7.cjs → rollback-dkinZaOv.cjs} +4 -4
  116. package/dist/{rollback-qk3-knJ7.cjs.map → rollback-dkinZaOv.cjs.map} +1 -1
  117. package/dist/sandbox/credentials-worker.cjs +2 -2
  118. package/dist/sandbox/credentials-worker.mjs +2 -2
  119. package/dist/sandbox/discover-worker.cjs +1 -1
  120. package/dist/sandbox/discover-worker.mjs +1 -1
  121. package/dist/sandbox/migrate-worker.cjs +1 -1
  122. package/dist/sandbox/migrate-worker.mjs +1 -1
  123. package/dist/{seeds-a1H3kuqu.cjs → seeds-CjBwLvWY.cjs} +31 -46
  124. package/dist/seeds-CjBwLvWY.cjs.map +1 -0
  125. package/dist/{seeds-Cx8NmuQj.mjs → seeds-DZGuovWF.mjs} +26 -47
  126. package/dist/seeds-DZGuovWF.mjs.map +1 -0
  127. package/dist/{sniffer-Bt2H-BZ_.mjs → sniffer-bo0KeZsK.mjs} +7 -7
  128. package/dist/{sniffer-Bt2H-BZ_.mjs.map → sniffer-bo0KeZsK.mjs.map} +1 -1
  129. package/dist/{sniffer-DxYAi7bz.cjs → sniffer-t0NsMNNP.cjs} +7 -7
  130. package/dist/{sniffer-DxYAi7bz.cjs.map → sniffer-t0NsMNNP.cjs.map} +1 -1
  131. package/dist/target/public.cjs +1 -1
  132. package/dist/target/public.mjs +1 -1
  133. package/dist/{terminal-Bs_lNQhL.mjs → terminal-CvRLxz6g.mjs} +2 -2
  134. package/dist/{terminal-Bs_lNQhL.mjs.map → terminal-CvRLxz6g.mjs.map} +1 -1
  135. package/dist/{terminal-CsQz4oT0.cjs → terminal-D_NRPW4W.cjs} +2 -2
  136. package/dist/{terminal-CsQz4oT0.cjs.map → terminal-D_NRPW4W.cjs.map} +1 -1
  137. package/dist/vitest.cjs +1 -1
  138. package/dist/vitest.mjs +1 -1
  139. package/package.json +15 -15
  140. package/dist/add-BJJKhUnO.mjs.map +0 -1
  141. package/dist/add-D97HfZ7z.cjs.map +0 -1
  142. package/dist/compose-BviikvXq.cjs.map +0 -1
  143. package/dist/engine-Blx6G12-.cjs.map +0 -1
  144. package/dist/engine-VnbN4VnX.mjs.map +0 -1
  145. package/dist/seeds-Cx8NmuQj.mjs.map +0 -1
  146. package/dist/seeds-a1H3kuqu.cjs.map +0 -1
package/dist/index.mjs CHANGED
@@ -3,27 +3,27 @@ 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-DtPhKs0u.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-B8ND6s9C.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-B-wqZiyQ.mjs";
9
- import { An as scopeTelemetryEnv, At as isPortAvailable, Bn as portsOf, Bt as maskPassword, Ct as cacheBackendFor, Dt as createCredentialsPreload, G as CronGenerator, H as workerBundleName, Hn as primaryPortKey, Ht as toEmbeddableSecrets, It as secretsStoreFor, L as dockerCommand, Ln as describeServices, Mn as telemetryOf, Mt as loadPortState, Nt as loadSecretsForApp, On as appTelemetry, Ot as createEntryWrapper, Pt as prepareEntryCredentials, Q as assertDevServicesFlag, Qt as workerUnits, Rn as fakeKey, Tn as TELEMETRY_CONTAINER, Tt as providerOf, U as workerEntryDir, Un as LOCAL_LOGS_EMAIL, Ut as withCustomSecret, V as WorkerGenerator, W as QueueGenerator, Xt as imageBuildCredentials, Zt as isImageBuild, a as dnsResources, an as quoteIdentifier, bt as pgClient, c as describeActor, dn as FileSecretsStore, dt as constructGlobs, fn as getKeyPath, ft as derivedContainers, gt as forgetState, ht as LOCAL_CA_PATH, jn as surfaceClientTraced, jt as loadEnvFiles, kt as findAvailablePort, lt as FAKE_ENV, mn as projectKey, pt as reconcileWorkspace, rn as postgresDatabaseNames, un as readLocalCredentials, ut as backendsOf$1, wt as eventsBackendFor, xt as CLUSTER_DATABASE } from "./seeds-Cx8NmuQj.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-BQrhafpk.mjs";
9
+ import { $t as workerUnits, At as isPortAvailable, Bt as maskPassword, Ct as cacheBackendFor, Dt as createCredentialsPreload, En as TELEMETRY_CONTAINER, G as CronGenerator, H as workerBundleName, Ht as toEmbeddableSecrets, It as secretsStoreFor, L as dockerCommand, Mn as surfaceClientTraced, Mt as loadPortState, Nn as telemetryOf, Nt as loadSecretsForApp, Ot as createEntryWrapper, Pt as prepareEntryCredentials, Q as assertDevServicesFlag, Qt as isUnder, Rn as describeServices, Tt as providerOf, U as workerEntryDir, Un as primaryPortKey, Ut as withCustomSecret, V as WorkerGenerator, Vn as portsOf, W as QueueGenerator, Wn as LOCAL_LOGS_EMAIL, Xt as imageBuildCredentials, Zt as isImageBuild, a as dnsResources, bt as pgClient, c as describeActor, dn as readLocalCredentials, dt as constructGlobs, fn as FileSecretsStore, ft as derivedContainers, gt as forgetState, hn as projectKey, ht as LOCAL_CA_PATH, in as postgresDatabaseNames, jn as scopeTelemetryEnv, jt as loadEnvFiles, kn as appTelemetry, kt as findAvailablePort, lt as FAKE_ENV, on as quoteIdentifier, pn as getKeyPath, pt as reconcileWorkspace, ut as backendsOf$1, wt as eventsBackendFor, xt as CLUSTER_DATABASE, zn as fakeKey } from "./seeds-DZGuovWF.mjs";
10
10
  import { t as appKey } from "./derive-B4vDpzgP.mjs";
11
- import { l as isCacheBackend, n as assertTestCredentials, t as SubscriberGenerator } from "./SubscriberGenerator-YK-7ewmi.mjs";
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
- 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-Br97xgs_.mjs";
14
- import { l as withOwningTsconfigJsx, r as discover, u as ConstructGenerator } from "./discover-kziEht4W.mjs";
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
+ 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-DyPt41Oq.mjs";
16
+ import { d as awsEndpoint, f as awsProvisioningCredentials, t as deploy$1, u as awsClientConfig } from "./deploy-yLGEWuam.mjs";
17
17
  import { generateOpenApi, openapiCommand, resolveOpenApiConfig } from "./openapi.mjs";
18
18
  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";
19
- import { n as driversFor, r as eventsBackendsIn, t as cacheBackendsIn } from "./drivers-OXhPkaNB.mjs";
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-Bt2H-BZ_.mjs";
23
- import { o as loadCredentialSchemas, t as CredentialsInvalid } from "./credentialSchemas-DvitraL-.mjs";
24
- import { t as LocalStateStore } from "./LocalStateStore-C_8QWB2r.mjs";
22
+ import { S as createStateStore, k as keyFingerprint, n as sniffAppEnvironment, o as DokployApi } from "./sniffer-bo0KeZsK.mjs";
23
+ import { o as loadCredentialSchemas, t as CredentialsInvalid } from "./credentialSchemas-Cf5Pf8VE.mjs";
24
+ import { t as LocalStateStore } from "./LocalStateStore-wSKMDDh5.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
- import { a as writeTestHarness, i as TEST_MANIFEST_ENV, n as TEST_READY_FILE, t as TEST_READY_ENV } from "./ready-CuSU8Ap0.mjs";
26
+ import { a as writeTestHarness, i as TEST_MANIFEST_ENV, n as TEST_READY_FILE, t as TEST_READY_ENV } from "./ready-CVNE5Pix.mjs";
27
27
  import { createRequire } from "node:module";
28
28
  import { basename, dirname, isAbsolute, join, relative, resolve } from "node:path";
29
29
  import { Command, Option } from "commander";
@@ -35,7 +35,7 @@ import { homedir } from "node:os";
35
35
  import { execFile, execSync, spawn } from "node:child_process";
36
36
  import { connect } from "node:net";
37
37
  import { createHash, randomBytes, timingSafeEqual } from "node:crypto";
38
- import { canonicalId, kebabCase, migrationFolder, provideKey, schemeBase, serviceKey } from "@geekmidas/manifest";
38
+ import { canonicalId, dependenciesOf, kebabCase, migrationFolder, provideKey, schemeBase, serviceKey } from "@geekmidas/manifest";
39
39
  import { pathToFileURL } from "node:url";
40
40
  import { promisify } from "node:util";
41
41
  import fg from "fast-glob";
@@ -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.103";
54
+ var version = "10.0.0-alpha.104";
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-Bt2H-BZ_.mjs").then((n) => n.c);
137
+ const { DokployApi } = await import("./sniffer-bo0KeZsK.mjs").then((n) => n.c);
138
138
  return new DokployApi({
139
139
  baseUrl: endpoint,
140
140
  token
@@ -2347,7 +2347,8 @@ async function devCommand(options) {
2347
2347
  skipBundle: true,
2348
2348
  bustCache,
2349
2349
  serveEmpty: true,
2350
- workspaceName: workspace.name
2350
+ workspaceName: workspace.name,
2351
+ workspace
2351
2352
  }));
2352
2353
  logger$5.log(`🔨 Building ${workspaceAppName ?? "the app"}`);
2353
2354
  const initial = await build();
@@ -2375,8 +2376,9 @@ async function devCommand(options) {
2375
2376
  }
2376
2377
  }
2377
2378
  Object.assign(appSecrets, reconciled.env);
2379
+ const declared = reconciled.manifest;
2378
2380
  const scoped = scopeTelemetryEnv(appSecrets, {
2379
- uses: reconciled.manifest !== void 0 && appTelemetry(reconciled.manifest, workspaceAppName) !== void 0,
2381
+ uses: declared !== void 0 && (appTelemetry(declared, workspaceAppName) !== void 0 || (initial.workers ?? []).some((id) => telemetryOf(declared, id) !== void 0)),
2380
2382
  serviceName: workspaceAppName,
2381
2383
  telemetry: reconciled.env
2382
2384
  });
@@ -2728,9 +2730,9 @@ async function workspaceDevCommand(configured, options) {
2728
2730
  for (const { id, port } of fakes) logger$5.log(`🎭 ${id} fake: http://localhost:${port}`);
2729
2731
  logger$5.log(options.migrate || options.seed ? "🗄️ Migrating the databases" : "🗄️ Checking for pending migrations");
2730
2732
  if (options.migrate || options.seed) {
2731
- const { prepareDevDatabases } = await import("./migrate-BFH52jlU.mjs");
2733
+ const { prepareDevDatabases } = await import("./migrate-CQal4P1q.mjs");
2732
2734
  await prepareDevDatabases(workspace, reconciled.env, { seed: !!options.seed });
2733
- } else await import("./migrate-BFH52jlU.mjs").then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
2735
+ } else await import("./migrate-CQal4P1q.mjs").then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
2734
2736
  logger$5.log(`⚠️ Could not check for pending migrations: ${error instanceof Error ? error.message : String(error)}`);
2735
2737
  });
2736
2738
  const appUrls = {};
@@ -3466,6 +3468,29 @@ function restApis(declared) {
3466
3468
  function servedSurface(declared, workspaceRoot, appRoot) {
3467
3469
  return restApis(declared).find((d) => resolve(workspaceRoot, d.path) === resolve(appRoot));
3468
3470
  }
3471
+ /**
3472
+ * The declarations one process reaches: the constructs it runs as — a surface,
3473
+ * a worker — what each declared an edge to, and what each runnable it runs
3474
+ * depends on or consumes.
3475
+ *
3476
+ * What decides which drivers its entry registers: a process that reaches no
3477
+ * cache never resolves a cache client because another process in the
3478
+ * workspace does.
3479
+ */
3480
+ function reachedBy(declared, processes, runnables) {
3481
+ const reached = /* @__PURE__ */ new Set();
3482
+ for (const id of processes) {
3483
+ const declaration = declared[id];
3484
+ if (!declaration) continue;
3485
+ reached.add(id);
3486
+ for (const edge of dependenciesOf(declaration)) reached.add(edge.target);
3487
+ }
3488
+ for (const { construct } of runnables) {
3489
+ for (const id of construct.constructs ?? []) reached.add(canonicalId(id));
3490
+ for (const id of consumedBy(construct)) reached.add(id);
3491
+ }
3492
+ return Object.fromEntries(Object.entries(declared).filter(([id]) => reached.has(id)));
3493
+ }
3469
3494
  //#endregion
3470
3495
  //#region src/build/surfaceEntry.ts
3471
3496
  /** Whether a construct serves itself, asked of the construct. */
@@ -3783,7 +3808,7 @@ async function buildApp(input) {
3783
3808
  ...production,
3784
3809
  ...telemetry ? { telemetry } : {}
3785
3810
  });
3786
- const { bundleServer } = await import("./bundler-CzbrMpDf.mjs");
3811
+ const { bundleServer } = await import("./bundler-DVPoeMRa.mjs");
3787
3812
  await bundleServer({
3788
3813
  entryPoint,
3789
3814
  outputDir: join(outputDir, "dist"),
@@ -3803,7 +3828,6 @@ async function buildApp(input) {
3803
3828
  appRoot,
3804
3829
  databaseApi
3805
3830
  });
3806
- const eventsBackends = eventsBackendsIn(declared, eventsBackend);
3807
3831
  const buildContext = {
3808
3832
  ...derived,
3809
3833
  telescope,
@@ -3812,12 +3836,6 @@ async function buildApp(input) {
3812
3836
  constructGlobs,
3813
3837
  cacheBackend,
3814
3838
  emailBackend: "ses",
3815
- storageDrivers: driversFor({
3816
- appRoot,
3817
- cache: cacheBackendsIn(declared, cacheBackend),
3818
- events: eventsBackends
3819
- }),
3820
- eventsBackends,
3821
3839
  markOptional: input.markOptional ?? false
3822
3840
  };
3823
3841
  const endpointGenerator = new EndpointGenerator();
@@ -3836,8 +3854,39 @@ async function buildApp(input) {
3836
3854
  topicGenerator.load(code, appRoot, bustCache)
3837
3855
  ]);
3838
3856
  const allEndpoints = servedBy(loadedEndpoints, derived.surface);
3857
+ const appName = appNameOf(input);
3858
+ const hosted = workerUnits(input.workspace, declared, background).filter((unit) => unit.app === appName);
3859
+ const hostedIds = new Set(hosted.map((unit) => unit.id));
3860
+ const appRootAbs = resolve(appRoot);
3861
+ const hostedHere = (list) => list.filter(({ construct, path }) => construct.owner !== void 0 ? hostedIds.has(construct.owner) : isUnder(path.absolute, appRootAbs));
3862
+ const hostedCrons = hostedHere(allCrons);
3863
+ const hostedQueues = hostedHere(allQueues);
3864
+ const hostedSubscribers = hostedHere(allSubscribers);
3865
+ const servesOnly = Boolean(production?.enabled && derived.surface);
3866
+ const inProcess = servesOnly ? {
3867
+ crons: [],
3868
+ queues: [],
3869
+ subscribers: []
3870
+ } : {
3871
+ crons: hostedCrons,
3872
+ queues: hostedQueues,
3873
+ subscribers: hostedSubscribers
3874
+ };
3875
+ const reach = derived.surface ? reachedBy(declared, [derived.surface.id, ...servesOnly ? [] : hosted.map((unit) => unit.id)], [
3876
+ ...allEndpoints,
3877
+ ...allFunctions,
3878
+ ...inProcess.crons,
3879
+ ...inProcess.queues,
3880
+ ...inProcess.subscribers
3881
+ ]) : declared;
3882
+ Object.assign(buildContext, runtimeDrivers({
3883
+ appRoot,
3884
+ reach,
3885
+ cacheBackend,
3886
+ eventsBackend
3887
+ }));
3839
3888
  if (target === "server") buildContext.telemetry = telemetryFor({
3840
- node: derived.surface ? telemetryOf(declared, derived.surface.id) : void 0,
3889
+ node: processTelemetry(declared, derived.surface?.id, servesOnly ? [] : hosted.map((unit) => unit.id)),
3841
3890
  appRoot,
3842
3891
  app: appNameOf(input),
3843
3892
  cwd: workspaceRoot,
@@ -3855,40 +3904,37 @@ async function buildApp(input) {
3855
3904
  logger$4.log("No endpoints, functions, crons, subscribers, queues, or topics found to process");
3856
3905
  return {};
3857
3906
  }
3858
- if (production?.subscribers === "include" && derived.surface) {
3859
- buildContext.production = {
3860
- ...production,
3861
- subscribers: "exclude"
3862
- };
3863
- const left = [
3864
- [allCrons.length, "cron"],
3865
- [allQueues.length, "queue consumer"],
3866
- [allSubscribers.length, "subscriber"]
3867
- ].filter(([n]) => n > 0).map(([n, what]) => `${n} ${what}${n === 1 ? "" : "s"}`);
3868
- if (left.length > 0) logger$4.log(`Serving ${derived.surface.id} only: leaving out ${left.join(", ")} — they run in a Worker's image`);
3869
- }
3870
- const result = await buildForTarget(target, buildContext, appRoot, workspaceRoot, endpointGenerator, functionGenerator, cronGenerator, subscriberGenerator, queueGenerator, topicGenerator, allEndpoints, allFunctions, allCrons, allSubscribers, allQueues, allTopics, enableOpenApi, input.skipBundle ?? false, input.stage);
3871
- if (target === "server" && production?.enabled && input.workspace) {
3872
- const appName = Object.entries(input.workspace.apps).find(([, app]) => resolve(input.workspace.root, app.path) === resolve(appRoot))?.[0];
3873
- await buildWorkers({
3874
- context: buildContext,
3875
- telemetry: (workerId) => telemetryFor({
3876
- node: telemetryOf(declared, workerId),
3907
+ if (servesOnly && production) buildContext.production = {
3908
+ ...production,
3909
+ subscribers: "exclude"
3910
+ };
3911
+ const result = await buildForTarget(target, buildContext, appRoot, workspaceRoot, endpointGenerator, functionGenerator, cronGenerator, subscriberGenerator, queueGenerator, topicGenerator, allEndpoints, allFunctions, inProcess.crons, inProcess.subscribers, inProcess.queues, allTopics, enableOpenApi, input.skipBundle ?? false, input.stage);
3912
+ if (target === "server" && production?.enabled) await buildWorkers({
3913
+ context: (workerId, work) => ({
3914
+ ...buildContext,
3915
+ ...runtimeDrivers({
3877
3916
  appRoot,
3878
- app: appNameOf(input),
3879
- cwd: workspaceRoot,
3880
- serviceName: workerId,
3881
- ...input.workspaceName && { workspaceName: input.workspaceName }
3882
- }),
3883
- workers: workerUnits(input.workspace, declared, background).filter((unit) => unit.app === appName),
3884
- serverDir: join(appRoot, ".gkm", "server"),
3885
- crons: allCrons,
3886
- queues: allQueues,
3887
- subscribers: allSubscribers,
3888
- bundle: Boolean(production.bundle && !input.skipBundle),
3889
- ...input.stage ? { stage: input.stage } : {}
3890
- });
3891
- }
3917
+ reach: reachedBy(declared, [workerId], work),
3918
+ cacheBackend,
3919
+ eventsBackend
3920
+ })
3921
+ }),
3922
+ telemetry: (workerId) => telemetryFor({
3923
+ node: telemetryOf(declared, workerId),
3924
+ appRoot,
3925
+ app: appNameOf(input),
3926
+ cwd: workspaceRoot,
3927
+ serviceName: workerId,
3928
+ ...input.workspaceName && { workspaceName: input.workspaceName }
3929
+ }),
3930
+ workers: hosted,
3931
+ serverDir: join(appRoot, ".gkm", "server"),
3932
+ crons: hostedCrons,
3933
+ queues: hostedQueues,
3934
+ subscribers: hostedSubscribers,
3935
+ bundle: Boolean(production.bundle && !input.skipBundle),
3936
+ ...input.stage ? { stage: input.stage } : {}
3937
+ });
3892
3938
  await generateOpenApi(allEndpoints.map(({ construct }) => construct), {
3893
3939
  openapi: config.openapi,
3894
3940
  root: workspaceRoot,
@@ -3902,7 +3948,35 @@ async function buildApp(input) {
3902
3948
  });
3903
3949
  return {
3904
3950
  ...result,
3905
- ...buildContext.databaseApi ? { databaseApi: buildContext.databaseApi.path } : {}
3951
+ ...buildContext.databaseApi ? { databaseApi: buildContext.databaseApi.path } : {},
3952
+ ...!servesOnly && hosted.length > 0 ? { workers: hosted.map((unit) => unit.id) } : {}
3953
+ };
3954
+ }
3955
+ /**
3956
+ * The `Telemetry` node a process emits through: its surface's, or — where it
3957
+ * runs a worker's work, under `gkm dev` — that worker's.
3958
+ */
3959
+ function processTelemetry(declared, surfaceId, workers) {
3960
+ for (const id of [...surfaceId ? [surfaceId] : [], ...workers]) {
3961
+ const node = telemetryOf(declared, id);
3962
+ if (node) return node;
3963
+ }
3964
+ }
3965
+ /**
3966
+ * The drivers a process's entry registers, from the declarations it reaches:
3967
+ * the cache's — the declaration for one that named its database, the deploy
3968
+ * target's default for one that named nowhere — and the broker's, only when
3969
+ * it reaches a topic or a queue (see `eventsBackendsIn`).
3970
+ */
3971
+ function runtimeDrivers(options) {
3972
+ const eventsBackends = eventsBackendsIn(options.reach, options.eventsBackend);
3973
+ return {
3974
+ storageDrivers: driversFor({
3975
+ appRoot: options.appRoot,
3976
+ cache: cacheBackendsIn(options.reach, options.cacheBackend),
3977
+ events: eventsBackends
3978
+ }),
3979
+ eventsBackends
3906
3980
  };
3907
3981
  }
3908
3982
  /**
@@ -3917,8 +3991,13 @@ async function buildWorkers(input) {
3917
3991
  const queues = owned(input.queues);
3918
3992
  const subscribers = owned(input.subscribers);
3919
3993
  const telemetry = input.telemetry(worker.id);
3994
+ const context = input.context(worker.id, [
3995
+ ...crons,
3996
+ ...queues,
3997
+ ...subscribers
3998
+ ]);
3920
3999
  const entryPoint = await generator.build({
3921
- context: input.context,
4000
+ context,
3922
4001
  workerId: worker.id,
3923
4002
  ...telemetry ? { telemetry } : {},
3924
4003
  outputDir: workerEntryDir(input.serverDir, worker.id),
@@ -3928,15 +4007,15 @@ async function buildWorkers(input) {
3928
4007
  });
3929
4008
  logger$4.log(`Generated worker ${worker.id}: ${crons.length} crons, ${queues.length} queues, ${subscribers.length} subscribers`);
3930
4009
  if (!input.bundle) continue;
3931
- const { bundleServer } = await import("./bundler-CzbrMpDf.mjs");
4010
+ const { bundleServer } = await import("./bundler-DVPoeMRa.mjs");
3932
4011
  const outfile = workerBundleName(worker.id);
3933
4012
  await bundleServer({
3934
4013
  entryPoint,
3935
4014
  outputDir: join(input.serverDir, "dist"),
3936
4015
  outfile,
3937
- minify: input.context.production?.minify ?? false,
4016
+ minify: context.production?.minify ?? false,
3938
4017
  sourcemap: false,
3939
- external: input.context.production?.external ?? [],
4018
+ external: context.production?.external ?? [],
3940
4019
  ...input.stage ? { stage: input.stage } : {},
3941
4020
  constructs: [
3942
4021
  ...crons,
@@ -4014,7 +4093,7 @@ async function buildForTarget(target, context, appRoot, workspaceRoot, endpointG
4014
4093
  let masterKey;
4015
4094
  if (context.production?.bundle && !skipBundle) {
4016
4095
  logger$4.log(`\n📦 Bundling production server...`);
4017
- const { bundleServer } = await import("./bundler-CzbrMpDf.mjs");
4096
+ const { bundleServer } = await import("./bundler-DVPoeMRa.mjs");
4018
4097
  const allConstructs = [
4019
4098
  ...endpoints.map((e) => e.construct),
4020
4099
  ...functions.map((f) => f.construct),
@@ -5842,25 +5921,25 @@ function loadPackageJson() {
5842
5921
  * Run: pnpm --filter @geekmidas/cli sync-versions
5843
5922
  */
5844
5923
  const GEEKMIDAS_VERSIONS = {
5845
- "@geekmidas/audit": "~10.0.0-alpha.103",
5846
- "@geekmidas/auth": "~10.0.0-alpha.103",
5847
- "@geekmidas/cache": "~10.0.0-alpha.103",
5848
- "@geekmidas/client": "~10.0.0-alpha.103",
5849
- "@geekmidas/cloud": "~10.0.0-alpha.103",
5850
- "@geekmidas/constructs": "~10.0.0-alpha.103",
5851
- "@geekmidas/db": "~10.0.0-alpha.103",
5852
- "@geekmidas/emailkit": "~10.0.0-alpha.103",
5853
- "@geekmidas/envkit": "~10.0.0-alpha.103",
5854
- "@geekmidas/errors": "~10.0.0-alpha.103",
5855
- "@geekmidas/events": "~10.0.0-alpha.103",
5856
- "@geekmidas/logger": "~10.0.0-alpha.103",
5857
- "@geekmidas/manifest": "~10.0.0-alpha.103",
5858
- "@geekmidas/rate-limit": "~10.0.0-alpha.103",
5859
- "@geekmidas/schema": "~10.0.0-alpha.103",
5860
- "@geekmidas/services": "~10.0.0-alpha.103",
5861
- "@geekmidas/storage": "~10.0.0-alpha.103",
5862
- "@geekmidas/telescope": "~10.0.0-alpha.103",
5863
- "@geekmidas/testkit": "~10.0.0-alpha.103",
5924
+ "@geekmidas/audit": "~10.0.0-alpha.104",
5925
+ "@geekmidas/auth": "~10.0.0-alpha.104",
5926
+ "@geekmidas/cache": "~10.0.0-alpha.104",
5927
+ "@geekmidas/client": "~10.0.0-alpha.104",
5928
+ "@geekmidas/cloud": "~10.0.0-alpha.104",
5929
+ "@geekmidas/constructs": "~10.0.0-alpha.104",
5930
+ "@geekmidas/db": "~10.0.0-alpha.104",
5931
+ "@geekmidas/emailkit": "~10.0.0-alpha.104",
5932
+ "@geekmidas/envkit": "~10.0.0-alpha.104",
5933
+ "@geekmidas/errors": "~10.0.0-alpha.104",
5934
+ "@geekmidas/events": "~10.0.0-alpha.104",
5935
+ "@geekmidas/logger": "~10.0.0-alpha.104",
5936
+ "@geekmidas/manifest": "~10.0.0-alpha.104",
5937
+ "@geekmidas/rate-limit": "~10.0.0-alpha.104",
5938
+ "@geekmidas/schema": "~10.0.0-alpha.104",
5939
+ "@geekmidas/services": "~10.0.0-alpha.104",
5940
+ "@geekmidas/storage": "~10.0.0-alpha.104",
5941
+ "@geekmidas/telescope": "~10.0.0-alpha.104",
5942
+ "@geekmidas/testkit": "~10.0.0-alpha.104",
5864
5943
  "@geekmidas/cli": `~${loadPackageJson().version}`
5865
5944
  };
5866
5945
  //#endregion
@@ -6261,7 +6340,7 @@ const COMMIT = /^[0-9a-f]{40}$/;
6261
6340
  * The `uses:` value for the stages action, with a comment saying which CLI
6262
6341
  * release the pinned commit is.
6263
6342
  */
6264
- function stagesActionUses(commit = "c518ade2e4c56bd3203adae5276732982be2588f", version = cliVersion()) {
6343
+ function stagesActionUses(commit = "088aa26a6c82b4916af4faddd5755e030fb459d5", version = cliVersion()) {
6265
6344
  return commit && COMMIT.test(commit) ? `${STAGES_ACTION}@${commit} # @geekmidas/cli ${version}` : `${STAGES_ACTION}@main # pin to a commit SHA: see the action's README`;
6266
6345
  }
6267
6346
  //#endregion
@@ -12003,8 +12082,8 @@ function testDatabases(reconciled) {
12003
12082
  * starts without the reference data the app needs.
12004
12083
  */
12005
12084
  async function migrateTestStage(workspace, env) {
12006
- const { migrateAndSeed } = await import("./migrate-BFH52jlU.mjs");
12007
- const { discover } = await import("./discover-kziEht4W.mjs").then((n) => n.i);
12085
+ const { migrateAndSeed } = await import("./migrate-CQal4P1q.mjs");
12086
+ const { discover } = await import("./discover-Ca8U75dl.mjs").then((n) => n.a);
12008
12087
  const sources = {};
12009
12088
  const manifest = await discover({
12010
12089
  patterns: constructGlobs(workspace),
@@ -12439,7 +12518,7 @@ program.command("migrate").description("Apply each database construct's migratio
12439
12518
  try {
12440
12519
  const globalOptions = program.opts();
12441
12520
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12442
- const { migrateCommand } = await import("./migrate-BFH52jlU.mjs");
12521
+ const { migrateCommand } = await import("./migrate-CQal4P1q.mjs");
12443
12522
  await migrateCommand({
12444
12523
  ...options,
12445
12524
  ...construct ? { construct } : {}
@@ -12452,7 +12531,7 @@ program.command("seed").description("Migrate, then run each database construct's
12452
12531
  try {
12453
12532
  const globalOptions = program.opts();
12454
12533
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12455
- const { seedCommand } = await import("./migrate-BFH52jlU.mjs");
12534
+ const { seedCommand } = await import("./migrate-CQal4P1q.mjs");
12456
12535
  await seedCommand({
12457
12536
  ...options,
12458
12537
  ...construct ? { construct } : {}
@@ -12465,7 +12544,7 @@ program.command("migration").description("Write a construct's next migration: an
12465
12544
  try {
12466
12545
  const globalOptions = program.opts();
12467
12546
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12468
- const { migrationCommand } = await import("./migrate-BFH52jlU.mjs");
12547
+ const { migrationCommand } = await import("./migrate-CQal4P1q.mjs");
12469
12548
  await migrationCommand({
12470
12549
  construct,
12471
12550
  ...name ? { name } : {}
@@ -12565,7 +12644,7 @@ program.command("secrets:add").description("Build the keys a stage must be given
12565
12644
  try {
12566
12645
  const globalOptions = program.opts();
12567
12646
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12568
- const { secretsAddCommand } = await import("./add-BJJKhUnO.mjs");
12647
+ const { secretsAddCommand } = await import("./add-Dgdsb3ox.mjs");
12569
12648
  await secretsAddCommand(options);
12570
12649
  } catch (error) {
12571
12650
  exitWithError(error);
@@ -12575,7 +12654,7 @@ program.command("encryption:rotate").description("Add a new current key to an En
12575
12654
  try {
12576
12655
  const globalOptions = program.opts();
12577
12656
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12578
- const { encryptionRotateCommand } = await import("./encryption-BUAZ3OEJ.mjs");
12657
+ const { encryptionRotateCommand } = await import("./encryption-BFs3ItV9.mjs");
12579
12658
  await encryptionRotateCommand(construct, options);
12580
12659
  } catch (error) {
12581
12660
  exitWithError(error);
@@ -12585,7 +12664,7 @@ program.command("encryption:retire").description("Remove an old key from an Encr
12585
12664
  try {
12586
12665
  const globalOptions = program.opts();
12587
12666
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12588
- const { encryptionRetireCommand } = await import("./encryption-BUAZ3OEJ.mjs");
12667
+ const { encryptionRetireCommand } = await import("./encryption-BFs3ItV9.mjs");
12589
12668
  await encryptionRetireCommand(construct, key, options);
12590
12669
  } catch (error) {
12591
12670
  exitWithError(error);
@@ -12624,7 +12703,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
12624
12703
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12625
12704
  const { loadWorkspaceConfig } = await import("./config.mjs");
12626
12705
  const { reconcileMissingSecrets } = await import("./reconcile--I7V4Klj.mjs");
12627
- const { secretsStoreFor } = await import("./seeds-Cx8NmuQj.mjs").then((n) => n.Rt);
12706
+ const { secretsStoreFor } = await import("./seeds-DZGuovWF.mjs").then((n) => n.Rt);
12628
12707
  const { workspace } = await loadWorkspaceConfig();
12629
12708
  const stage = options.stage ?? workspace.stages.local;
12630
12709
  const store = await secretsStoreFor(workspace, stage);
@@ -12633,7 +12712,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
12633
12712
  console.error(`No secrets found for stage "${stage}". Run "gkm secrets:init --stage ${stage}" first.`);
12634
12713
  process.exit(1);
12635
12714
  }
12636
- const { derivedContainers } = await import("./seeds-Cx8NmuQj.mjs").then((n) => n.mt);
12715
+ const { derivedContainers } = await import("./seeds-DZGuovWF.mjs").then((n) => n.mt);
12637
12716
  const result = reconcileMissingSecrets(secrets, workspace, await derivedContainers(workspace, stage));
12638
12717
  if (!result) {
12639
12718
  console.log(`\n✓ Secrets for stage "${stage}" are up-to-date`);
@@ -12650,14 +12729,14 @@ program.command("secrets:migrate").description("Copy a deployed stage's secrets
12650
12729
  try {
12651
12730
  const globalOptions = program.opts();
12652
12731
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12653
- const { secretsMigrateCommand } = await import("./migrate-Dqjr7rfs.mjs");
12732
+ const { secretsMigrateCommand } = await import("./migrate-BlLFYSIx.mjs");
12654
12733
  await secretsMigrateCommand(options);
12655
12734
  } catch (error) {
12656
12735
  exitWithError(error);
12657
12736
  }
12658
12737
  });
12659
12738
  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) => {
12660
- const { deployCli } = await import("./cli-D_zrFs9-.mjs");
12739
+ const { deployCli } = await import("./cli-CGXOvWRP.mjs");
12661
12740
  const globalOptions = program.opts();
12662
12741
  const code = await deployCli({
12663
12742
  cwd: resolve(globalOptions.cwd ?? process.cwd()),
@@ -12677,8 +12756,8 @@ program.command("deploy").description("Deploy a stage through its target").optio
12677
12756
  });
12678
12757
  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) => {
12679
12758
  try {
12680
- const { rollbackStage } = await import("./rollback-DUbUQeoz.mjs").then((n) => n.a);
12681
- const { terminalCredentials } = await import("./terminal-Bs_lNQhL.mjs");
12759
+ const { rollbackStage } = await import("./rollback-YCj4_q9l.mjs").then((n) => n.a);
12760
+ const { terminalCredentials } = await import("./terminal-CvRLxz6g.mjs");
12682
12761
  const globalOptions = program.opts();
12683
12762
  await rollbackStage({
12684
12763
  cwd: resolve(globalOptions.cwd ?? process.cwd()),
@@ -12711,7 +12790,7 @@ program.command("deploy:github").description("Let GitHub Actions deploy a stage:
12711
12790
  try {
12712
12791
  const globalOptions = program.opts();
12713
12792
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12714
- const { deployGithubCommand } = await import("./github-D2uJ32Af.mjs");
12793
+ const { deployGithubCommand } = await import("./github-DuXBKTvr.mjs");
12715
12794
  await deployGithubCommand(options);
12716
12795
  } catch (error) {
12717
12796
  exitWithError(error);