@geekmidas/cli 10.0.0-alpha.62 → 10.0.0-alpha.64

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 (234) hide show
  1. package/README.md +2 -0
  2. package/dist/{HostingerProvider-DyD1Hin8.cjs → HostingerProvider-Bx2lHHvu.cjs} +3 -3
  3. package/dist/{HostingerProvider-DyD1Hin8.cjs.map → HostingerProvider-Bx2lHHvu.cjs.map} +1 -1
  4. package/dist/{HostingerProvider-B92qH4dC.mjs → HostingerProvider-Cd4aS5Kj.mjs} +2 -2
  5. package/dist/{HostingerProvider-B92qH4dC.mjs.map → HostingerProvider-Cd4aS5Kj.mjs.map} +1 -1
  6. package/dist/{LegacyStateStore-UHJEBLdn.cjs → LegacyStateStore-C2abV49N.cjs} +2 -2
  7. package/dist/{LegacyStateStore-UHJEBLdn.cjs.map → LegacyStateStore-C2abV49N.cjs.map} +1 -1
  8. package/dist/{LegacyStateStore-A8d2GdT7.mjs → LegacyStateStore-DIgkGaUP.mjs} +2 -2
  9. package/dist/{LegacyStateStore-A8d2GdT7.mjs.map → LegacyStateStore-DIgkGaUP.mjs.map} +1 -1
  10. package/dist/{LocalStateStore-B51rnfgn.mjs → LocalStateStore-Cy1ZBW7U.mjs} +2 -2
  11. package/dist/{LocalStateStore-B51rnfgn.mjs.map → LocalStateStore-Cy1ZBW7U.mjs.map} +1 -1
  12. package/dist/{LocalStateStore-COW3Ldwa.cjs → LocalStateStore-DiJqKyPy.cjs} +2 -2
  13. package/dist/{LocalStateStore-COW3Ldwa.cjs.map → LocalStateStore-DiJqKyPy.cjs.map} +1 -1
  14. package/dist/{OpenApiTsGenerator-BSrgw7B0.cjs → OpenApiTsGenerator-BWuDRHe9.cjs} +2 -2
  15. package/dist/{OpenApiTsGenerator-BSrgw7B0.cjs.map → OpenApiTsGenerator-BWuDRHe9.cjs.map} +1 -1
  16. package/dist/{OpenApiTsGenerator-q5B0z8Xg.mjs → OpenApiTsGenerator-C6v-IeHt.mjs} +2 -2
  17. package/dist/{OpenApiTsGenerator-q5B0z8Xg.mjs.map → OpenApiTsGenerator-C6v-IeHt.mjs.map} +1 -1
  18. package/dist/{S3StateStore-CJewPhgz.mjs → S3StateStore-D3x6ivBL.mjs} +2 -2
  19. package/dist/{S3StateStore-CJewPhgz.mjs.map → S3StateStore-D3x6ivBL.mjs.map} +1 -1
  20. package/dist/{S3StateStore-WUJGdRNL.cjs → S3StateStore-Ds0V1Lgm.cjs} +2 -2
  21. package/dist/{S3StateStore-WUJGdRNL.cjs.map → S3StateStore-Ds0V1Lgm.cjs.map} +1 -1
  22. package/dist/{SSMStateStore-Zejt42V8.cjs → SSMStateStore-CLipvx47.cjs} +2 -2
  23. package/dist/{SSMStateStore-Zejt42V8.cjs.map → SSMStateStore-CLipvx47.cjs.map} +1 -1
  24. package/dist/{SSMStateStore-iK5UKp9d.mjs → SSMStateStore-DfF174xQ.mjs} +2 -2
  25. package/dist/{SSMStateStore-iK5UKp9d.mjs.map → SSMStateStore-DfF174xQ.mjs.map} +1 -1
  26. package/dist/{bundler-CfH9frOS.cjs → bundler-C8uJf324.cjs} +4 -4
  27. package/dist/{bundler-CfH9frOS.cjs.map → bundler-C8uJf324.cjs.map} +1 -1
  28. package/dist/{bundler-DN5r4x5b.mjs → bundler-DYgm9xsd.mjs} +3 -3
  29. package/dist/{bundler-DN5r4x5b.mjs.map → bundler-DYgm9xsd.mjs.map} +1 -1
  30. package/dist/{cli-DYwxmfsW.mjs → cli-Bogz-zEj.mjs} +5 -4
  31. package/dist/{cli-DYwxmfsW.mjs.map → cli-Bogz-zEj.mjs.map} +1 -1
  32. package/dist/{cli-DOAUp80L.cjs → cli-D3jofJ6j.cjs} +7 -6
  33. package/dist/{cli-DOAUp80L.cjs.map → cli-D3jofJ6j.cjs.map} +1 -1
  34. package/dist/config-Be-4_I6H.d.cts +256 -0
  35. package/dist/config-Be-4_I6H.d.cts.map +1 -0
  36. package/dist/config-DqNRiQOp.d.mts +256 -0
  37. package/dist/config-DqNRiQOp.d.mts.map +1 -0
  38. package/dist/config.cjs +416 -13
  39. package/dist/config.cjs.map +1 -0
  40. package/dist/config.d.cts +4 -211
  41. package/dist/config.d.mts +4 -211
  42. package/dist/config.mjs +402 -3
  43. package/dist/config.mjs.map +1 -0
  44. package/dist/credentials-B70vmLcm.cjs +125 -0
  45. package/dist/credentials-B70vmLcm.cjs.map +1 -0
  46. package/dist/credentials-s0wMeZBU.mjs +108 -0
  47. package/dist/credentials-s0wMeZBU.mjs.map +1 -0
  48. package/dist/{define-CHBIEc5j.mjs → define-CYs0PEfZ.mjs} +2 -3
  49. package/dist/define-CYs0PEfZ.mjs.map +1 -0
  50. package/dist/{define-Cv_QvDrg.cjs → define-zUsP72ym.cjs} +2 -3
  51. package/dist/define-zUsP72ym.cjs.map +1 -0
  52. package/dist/deploy/public.cjs +166 -14
  53. package/dist/deploy/public.cjs.map +1 -0
  54. package/dist/deploy/public.d.cts +224 -3
  55. package/dist/deploy/public.d.cts.map +1 -1
  56. package/dist/deploy/public.d.mts +224 -3
  57. package/dist/deploy/public.d.mts.map +1 -1
  58. package/dist/deploy/public.mjs +141 -10
  59. package/dist/deploy/public.mjs.map +1 -0
  60. package/dist/deploy/sniffer-envparser-worker.cjs +54 -0
  61. package/dist/deploy/sniffer-envparser-worker.cjs.map +1 -0
  62. package/dist/deploy/sniffer-envparser-worker.d.cts +1 -0
  63. package/dist/deploy/sniffer-envparser-worker.d.mts +1 -0
  64. package/dist/deploy/sniffer-envparser-worker.mjs +55 -0
  65. package/dist/deploy/sniffer-envparser-worker.mjs.map +1 -0
  66. package/dist/{deploy-DSaCYvcO.cjs → deploy-55rJkdKz.cjs} +17 -14
  67. package/dist/{deploy-DSaCYvcO.cjs.map → deploy-55rJkdKz.cjs.map} +1 -1
  68. package/dist/{deploy-Cg9fae7a.mjs → deploy-Dc2LBJaK.mjs} +13 -10
  69. package/dist/deploy-Dc2LBJaK.mjs.map +1 -0
  70. package/dist/{deploy-B7jvUORo.mjs → deploy-ZRXIPp1c.mjs} +11 -8
  71. package/dist/{deploy-B7jvUORo.mjs.map → deploy-ZRXIPp1c.mjs.map} +1 -1
  72. package/dist/{deploy-D8Qr-Xto.cjs → deploy-yUcR2OlW.cjs} +15 -12
  73. package/dist/deploy-yUcR2OlW.cjs.map +1 -0
  74. package/dist/derive-B4vDpzgP.mjs +150 -0
  75. package/dist/derive-B4vDpzgP.mjs.map +1 -0
  76. package/dist/derive-DAbo49sm.cjs +161 -0
  77. package/dist/derive-DAbo49sm.cjs.map +1 -0
  78. package/dist/discover-B6yPpvRV.d.mts +99 -0
  79. package/dist/discover-B6yPpvRV.d.mts.map +1 -0
  80. package/dist/discover-B_IkPukx.d.cts +99 -0
  81. package/dist/discover-B_IkPukx.d.cts.map +1 -0
  82. package/dist/{discover-Bc-4eA_p.cjs → discover-DHdECueV.cjs} +280 -1
  83. package/dist/discover-DHdECueV.cjs.map +1 -0
  84. package/dist/{discover-FrYvzkeC.mjs → discover-LMrqsWSU.mjs} +246 -3
  85. package/dist/discover-LMrqsWSU.mjs.map +1 -0
  86. package/dist/{dokploy-CD9PY-3D.mjs → dokploy-CepdXuMl.mjs} +3 -3
  87. package/dist/{dokploy-CD9PY-3D.mjs.map → dokploy-CepdXuMl.mjs.map} +1 -1
  88. package/dist/{dokploy-Ey2foJLv.cjs → dokploy-D1d37rvM.cjs} +3 -3
  89. package/dist/{dokploy-Ey2foJLv.cjs.map → dokploy-D1d37rvM.cjs.map} +1 -1
  90. package/dist/{encryption-ChBk3hTj.cjs → encryption-C9X98u2F.cjs} +5 -5
  91. package/dist/{encryption-ChBk3hTj.cjs.map → encryption-C9X98u2F.cjs.map} +1 -1
  92. package/dist/{encryption-CVwvGbsL.mjs → encryption-CKHjMpCr.mjs} +5 -5
  93. package/dist/{encryption-CVwvGbsL.mjs.map → encryption-CKHjMpCr.mjs.map} +1 -1
  94. package/dist/fakes-C9RiT6XG.mjs.map +1 -1
  95. package/dist/fakes-zW-jNAbQ.cjs.map +1 -1
  96. package/dist/{github-BCB3_LBX.mjs → github-D-byNI7T.mjs} +4 -4
  97. package/dist/{github-BCB3_LBX.mjs.map → github-D-byNI7T.mjs.map} +1 -1
  98. package/dist/{github-OUgPDlqg.cjs → github-Dd3tMa1u.cjs} +4 -4
  99. package/dist/{github-OUgPDlqg.cjs.map → github-Dd3tMa1u.cjs.map} +1 -1
  100. package/dist/{index-BtXDZQuF.d.cts → index-CJ2qsSpp.d.mts} +2 -2
  101. package/dist/{index-BtXDZQuF.d.cts.map → index-CJ2qsSpp.d.mts.map} +1 -1
  102. package/dist/{index-DrKzpHl-.d.mts → index-CfE9Y885.d.cts} +2 -2
  103. package/dist/{index-DrKzpHl-.d.mts.map → index-CfE9Y885.d.cts.map} +1 -1
  104. package/dist/index.cjs +111 -239
  105. package/dist/index.cjs.map +1 -1
  106. package/dist/index.mjs +82 -210
  107. package/dist/index.mjs.map +1 -1
  108. package/dist/local-C7wnrcYK.cjs +586 -0
  109. package/dist/local-C7wnrcYK.cjs.map +1 -0
  110. package/dist/local-Cd8ZYQG3.mjs +473 -0
  111. package/dist/local-Cd8ZYQG3.mjs.map +1 -0
  112. package/dist/{migrate-BoHMqdCu.mjs → migrate-B4gngTLe.mjs} +6 -6
  113. package/dist/{migrate-BoHMqdCu.mjs.map → migrate-B4gngTLe.mjs.map} +1 -1
  114. package/dist/{migrate-dnaFMvOm.cjs → migrate-tx9-P9uz.cjs} +6 -6
  115. package/dist/{migrate-dnaFMvOm.cjs.map → migrate-tx9-P9uz.cjs.map} +1 -1
  116. package/dist/openapi.cjs +3 -3
  117. package/dist/openapi.d.cts +1 -1
  118. package/dist/openapi.d.mts +1 -1
  119. package/dist/openapi.mjs +3 -3
  120. package/dist/{ready-DQIy21W5.mjs → ready-bQfu9GES.mjs} +3 -3
  121. package/dist/{ready-DQIy21W5.mjs.map → ready-bQfu9GES.mjs.map} +1 -1
  122. package/dist/{ready-XlNx-Gbo.cjs → ready-brEhh68f.cjs} +3 -3
  123. package/dist/{ready-XlNx-Gbo.cjs.map → ready-brEhh68f.cjs.map} +1 -1
  124. package/dist/reconcile/public.cjs +1 -1
  125. package/dist/reconcile/public.d.cts +4 -77
  126. package/dist/reconcile/public.d.cts.map +1 -1
  127. package/dist/reconcile/public.d.mts +4 -77
  128. package/dist/reconcile/public.d.mts.map +1 -1
  129. package/dist/reconcile/public.mjs +1 -1
  130. package/dist/{resolve-wbv66HjD.cjs → resolve-BXsNQjMR.cjs} +9 -6
  131. package/dist/resolve-BXsNQjMR.cjs.map +1 -0
  132. package/dist/{resolve-CFCIkm7m.mjs → resolve-DZ2IJ0qY.mjs} +9 -6
  133. package/dist/resolve-DZ2IJ0qY.mjs.map +1 -0
  134. package/dist/{runtime-CMwtq0AL.cjs → runtime-BGNDrHzh.cjs} +2 -2
  135. package/dist/{runtime-CMwtq0AL.cjs.map → runtime-BGNDrHzh.cjs.map} +1 -1
  136. package/dist/{runtime-Dn_n-29S.d.cts → runtime-CJEYK4Gz.d.mts} +2 -2
  137. package/dist/{runtime-CXPlkZzs.d.mts.map → runtime-CJEYK4Gz.d.mts.map} +1 -1
  138. package/dist/{runtime-CXPlkZzs.d.mts → runtime-Cjq1jlVX.d.cts} +2 -2
  139. package/dist/{runtime-Dn_n-29S.d.cts.map → runtime-Cjq1jlVX.d.cts.map} +1 -1
  140. package/dist/{runtime-DbakJS8u.mjs → runtime-Cmn-FeYO.mjs} +2 -2
  141. package/dist/{runtime-DbakJS8u.mjs.map → runtime-Cmn-FeYO.mjs.map} +1 -1
  142. package/dist/sandbox/config-worker.cjs +43 -0
  143. package/dist/sandbox/config-worker.cjs.map +1 -0
  144. package/dist/sandbox/config-worker.d.cts +1 -0
  145. package/dist/sandbox/config-worker.d.mts +1 -0
  146. package/dist/sandbox/config-worker.mjs +44 -0
  147. package/dist/sandbox/config-worker.mjs.map +1 -0
  148. package/dist/sandbox/discover-worker.cjs +44 -0
  149. package/dist/sandbox/discover-worker.cjs.map +1 -0
  150. package/dist/sandbox/discover-worker.d.cts +1 -0
  151. package/dist/sandbox/discover-worker.d.mts +1 -0
  152. package/dist/sandbox/discover-worker.mjs +45 -0
  153. package/dist/sandbox/discover-worker.mjs.map +1 -0
  154. package/dist/sandbox-CL--ZDui.cjs +164 -0
  155. package/dist/sandbox-CL--ZDui.cjs.map +1 -0
  156. package/dist/sandbox-Dm247NGx.mjs +117 -0
  157. package/dist/sandbox-Dm247NGx.mjs.map +1 -0
  158. package/dist/sandbox-M8UnLhXE.d.cts +126 -0
  159. package/dist/sandbox-M8UnLhXE.d.cts.map +1 -0
  160. package/dist/sandbox-M8UnLhXE.d.mts +126 -0
  161. package/dist/sandbox-M8UnLhXE.d.mts.map +1 -0
  162. package/dist/{workspace-BFe57es7.mjs → schemas-Ckm_aBnF.cjs} +71 -982
  163. package/dist/schemas-Ckm_aBnF.cjs.map +1 -0
  164. package/dist/{workspace-B6zQO6RY.cjs → schemas-D2LCF689.mjs} +2 -1168
  165. package/dist/schemas-D2LCF689.mjs.map +1 -0
  166. package/dist/{sniffer-DHE2Nafd.mjs → sniffer-49KPbDgq.mjs} +131 -444
  167. package/dist/sniffer-49KPbDgq.mjs.map +1 -0
  168. package/dist/{sniffer-BsfPa-GA.cjs → sniffer-ByhbEW5A.cjs} +145 -512
  169. package/dist/sniffer-ByhbEW5A.cjs.map +1 -0
  170. package/dist/sst-BdALKEas.cjs +453 -0
  171. package/dist/sst-BdALKEas.cjs.map +1 -0
  172. package/dist/sst-Cper040I.mjs +430 -0
  173. package/dist/sst-Cper040I.mjs.map +1 -0
  174. package/dist/{store-BS8A7NcA.mjs → store-BaaonhkJ.mjs} +2 -2
  175. package/dist/{store-BS8A7NcA.mjs.map → store-BaaonhkJ.mjs.map} +1 -1
  176. package/dist/{store-KvNQwYaB.cjs → store-D_2ByRtW.cjs} +4 -4
  177. package/dist/{store-KvNQwYaB.cjs.map → store-D_2ByRtW.cjs.map} +1 -1
  178. package/dist/target/public.cjs +3 -3
  179. package/dist/target/public.d.cts +3 -3
  180. package/dist/target/public.d.mts +3 -3
  181. package/dist/target/public.mjs +3 -3
  182. package/dist/{terminal-6oL0vANs.cjs → terminal-Bdv--jhY.cjs} +16 -111
  183. package/dist/terminal-Bdv--jhY.cjs.map +1 -0
  184. package/dist/{terminal-ByZNjuig.mjs → terminal-D7Ntz6WE.mjs} +13 -90
  185. package/dist/terminal-D7Ntz6WE.mjs.map +1 -0
  186. package/dist/{types-DIA7Li-J.d.cts → types-B_bEQvb9.d.mts} +42 -7
  187. package/dist/types-B_bEQvb9.d.mts.map +1 -0
  188. package/dist/{types-CfLKGfC_.d.mts → types-DkrDOMxw.d.cts} +43 -6
  189. package/dist/types-DkrDOMxw.d.cts.map +1 -0
  190. package/dist/utils-D2Nk1Nv2.cjs +205 -0
  191. package/dist/utils-D2Nk1Nv2.cjs.map +1 -0
  192. package/dist/utils-D_fxUqvU.mjs +156 -0
  193. package/dist/utils-D_fxUqvU.mjs.map +1 -0
  194. package/dist/vitest.cjs +2 -2
  195. package/dist/vitest.mjs +2 -2
  196. package/dist/workerRuntime-BXfhbe13.cjs +108 -0
  197. package/dist/workerRuntime-BXfhbe13.cjs.map +1 -0
  198. package/dist/workerRuntime-CsOyBRx2.mjs +79 -0
  199. package/dist/workerRuntime-CsOyBRx2.mjs.map +1 -0
  200. package/dist/workspace/index.cjs +1 -1
  201. package/dist/workspace/index.d.cts +2 -2
  202. package/dist/workspace/index.d.mts +2 -2
  203. package/dist/workspace/index.mjs +1 -1
  204. package/dist/workspace-BwgWJK7h.cjs +1196 -0
  205. package/dist/workspace-BwgWJK7h.cjs.map +1 -0
  206. package/dist/workspace-Bwit4q9O.mjs +1024 -0
  207. package/dist/workspace-Bwit4q9O.mjs.map +1 -0
  208. package/package.json +13 -13
  209. package/dist/config-BYh9S0cZ.cjs +0 -534
  210. package/dist/config-BYh9S0cZ.cjs.map +0 -1
  211. package/dist/config-Bf4-bROQ.mjs +0 -457
  212. package/dist/config-Bf4-bROQ.mjs.map +0 -1
  213. package/dist/config.d.cts.map +0 -1
  214. package/dist/config.d.mts.map +0 -1
  215. package/dist/define-CHBIEc5j.mjs.map +0 -1
  216. package/dist/define-Cv_QvDrg.cjs.map +0 -1
  217. package/dist/deploy-Cg9fae7a.mjs.map +0 -1
  218. package/dist/deploy-D8Qr-Xto.cjs.map +0 -1
  219. package/dist/discover-Bc-4eA_p.cjs.map +0 -1
  220. package/dist/discover-FrYvzkeC.mjs.map +0 -1
  221. package/dist/home-DOzBaWaL.cjs +0 -33
  222. package/dist/home-DOzBaWaL.cjs.map +0 -1
  223. package/dist/home-GI7pJl1M.mjs +0 -22
  224. package/dist/home-GI7pJl1M.mjs.map +0 -1
  225. package/dist/resolve-CFCIkm7m.mjs.map +0 -1
  226. package/dist/resolve-wbv66HjD.cjs.map +0 -1
  227. package/dist/sniffer-BsfPa-GA.cjs.map +0 -1
  228. package/dist/sniffer-DHE2Nafd.mjs.map +0 -1
  229. package/dist/terminal-6oL0vANs.cjs.map +0 -1
  230. package/dist/terminal-ByZNjuig.mjs.map +0 -1
  231. package/dist/types-CfLKGfC_.d.mts.map +0 -1
  232. package/dist/types-DIA7Li-J.d.cts.map +0 -1
  233. package/dist/workspace-B6zQO6RY.cjs.map +0 -1
  234. package/dist/workspace-BFe57es7.mjs.map +0 -1
package/dist/index.mjs CHANGED
@@ -1,20 +1,23 @@
1
1
  #!/usr/bin/env -S npx tsx
2
2
  import { n as __require, t as __exportAll } from "./rolldown-runtime-BhDjJH2R.mjs";
3
- import { $ as quoteIdentifier, At as getDokployCredentials, B as run$1, Ct as loadEnvFiles, Dt as logoutCommand, Et as loginCommand, G as derivedContainers, H as FAKE_ENV, I as withGeneratedSecrets, J as LOCAL_CA_PATH, K as reconcileWorkspace, Mt as getDokployToken, P as createStateStore, Q as postgresStatements, St as isPortAvailable, Tt as prepareEntryCredentials, U as backendsOf$1, V as runOutput, W as constructGlobs, X as applyPostgres, Y as forgetState, Z as postgresDatabaseNames, _t as primaryPortKey, at as localRolePassword, bt as createEntryWrapper, c as dockerCommand, ct as hostFor, d as generateDockerignore, dt as providerOf, et as composeFor, f as generateSlimDockerfile, g as createEmptyState, gt as portKeys, h as resolveHost, ht as fakeKey, it as envFor, jt as getDokployRegistryId, kt as whoamiCommand, l as siteDockerfile, lt as cacheBackendFor, m as isMainFrontendApp, mt as describeServices, n as sniffAppEnvironment, nt as appEnvKeys, ot as planFor, p as validateImageRef, pt as DEFAULT_IMAGES, r as DokployApi, rt as networkEnv, s as appPackageName$1, tt as pgClient, u as detectPackageManager$2, vt as withOwningTsconfigJsx, wt as loadSecretsForApp, xt as findAvailablePort, yt as createCredentialsPreload, z as keyFingerprint } from "./sniffer-DHE2Nafd.mjs";
4
- import { i as ConstructGenerator, t as discover } from "./discover-FrYvzkeC.mjs";
5
- import { d as parseModuleConfig, f as appKey, l as loadWorkspaceConfig, n as NotABackendApp, o as loadAppConfig, r as NotInAnApp, s as loadConfig, t as ConfigNotFound, u as loadWorkspaceSettings } from "./config-Bf4-bROQ.mjs";
6
- import { D as assertDeployedStage, E as TEST_STAGE, O as deployedProblems, T as InvalidStages, a as getAppBuildOrder, k as stageProblems, o as getAppGkmConfig, t as allConstructGlobs } from "./workspace-BFe57es7.mjs";
3
+ import { $ as pgClient, B as FAKE_ENV, Ct as loginCommand, Et as whoamiCommand, H as constructGlobs, I as withGeneratedSecrets, J as applyPostgres, K as LOCAL_CA_PATH, P as createStateStore, Q as composeFor, St as prepareEntryCredentials, U as derivedContainers, V as backendsOf$1, W as reconcileWorkspace, X as postgresStatements, Y as postgresDatabaseNames, Z as quoteIdentifier, _t as createEntryWrapper, bt as loadEnvFiles, c as dockerCommand, d as generateDockerignore, dt as DEFAULT_IMAGES, et as appEnvKeys, f as generateSlimDockerfile, ft as describeServices, g as createEmptyState, gt as createCredentialsPreload, h as resolveHost, ht as primaryPortKey, it as planFor, l as siteDockerfile, lt as providerOf, m as isMainFrontendApp, mt as portKeys, n as sniffAppEnvironment, nt as envFor, ot as hostFor, p as validateImageRef, pt as fakeKey, q as forgetState, r as DokployApi, rt as localRolePassword, s as appPackageName$1, st as cacheBackendFor, tt as networkEnv, u as detectPackageManager$1, vt as findAvailablePort, wt as logoutCommand, xt as loadSecretsForApp, yt as isPortAvailable, z as keyFingerprint } from "./sniffer-49KPbDgq.mjs";
4
+ import { c as runOutput, d as getDokployRegistryId, f as getDokployToken, i as CommandFailed, o as DEFAULT_TIMEOUT_MS, s as run$1, t as LocalSandbox, u as getDokployCredentials } from "./local-Cd8ZYQG3.mjs";
5
+ import { l as withOwningTsconfigJsx, r as discover, u as ConstructGenerator } from "./discover-LMrqsWSU.mjs";
6
+ import { t as appKey } from "./derive-B4vDpzgP.mjs";
7
+ import { D as assertDeployedStage, E as TEST_STAGE, O as deployedProblems, T as InvalidStages, a as getAppBuildOrder, k as stageProblems, o as getAppGkmConfig, t as allConstructGlobs } from "./workspace-Bwit4q9O.mjs";
8
+ import { ConfigNotFound, NotABackendApp, NotInAnApp, loadAppConfig, loadConfig, loadWorkspaceConfig, loadWorkspaceSettings, parseModuleConfig } from "./config.mjs";
7
9
  import { a as withCustomSecret, i as toEmbeddableSecrets, n as maskPassword, t as initStageSecrets } from "./storage-BzaUxmqe.mjs";
8
- import { a as getKeyPath, f as imageRef, i as FileSecretsStore, n as secretsStoreFor, s as projectKey, u as deployIdentity } from "./store-BS8A7NcA.mjs";
9
- import { i as telemetryFor, n as EndpointGenerator, r as runtimeFor } from "./OpenApiTsGenerator-q5B0z8Xg.mjs";
10
+ import { a as getKeyPath, f as imageRef, i as FileSecretsStore, n as secretsStoreFor, s as projectKey, u as deployIdentity } from "./store-BaaonhkJ.mjs";
11
+ import { i as telemetryFor, n as EndpointGenerator, r as runtimeFor } from "./OpenApiTsGenerator-C6v-IeHt.mjs";
10
12
  import { generateOpenApi, openapiCommand, resolveOpenApiConfig } from "./openapi.mjs";
11
13
  import { n as DEFAULT_CACHE, r as DEFAULT_EVENTS } from "./fakes-C9RiT6XG.mjs";
12
14
  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";
13
- 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-DQIy21W5.mjs";
15
+ import { a as writeTestHarness, c as driversFor, i as TEST_MANIFEST_ENV, n as TEST_READY_FILE, o as SubscriberGenerator, s as cacheBackendsIn, t as TEST_READY_ENV } from "./ready-bQfu9GES.mjs";
14
16
  import { n as withCompute, r as withRoutes, t as manifestModule } from "./emit-C1e8qD08.mjs";
15
- import { t as LocalStateStore } from "./LocalStateStore-B51rnfgn.mjs";
17
+ import { t as LocalStateStore } from "./LocalStateStore-Cy1ZBW7U.mjs";
18
+ import { a as getExecCommand, c as validateProjectName, i as findWorkspaceRoot, n as detectPackageManager$2, o as getInstallCommand, r as findWorkspacePackages, s as getRunCommand, t as checkDirectoryExists } from "./utils-D_fxUqvU.mjs";
16
19
  import { createRequire } from "node:module";
17
- import { basename, dirname, extname, isAbsolute, join, parse, relative, resolve } from "node:path";
20
+ import { basename, dirname, extname, isAbsolute, join, relative, resolve } from "node:path";
18
21
  import { Command } from "commander";
19
22
  import { existsSync, linkSync, mkdirSync, readFileSync, readdirSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
20
23
  import { appendFile, chmod, mkdir, readFile, readdir, rm, stat, writeFile } from "node:fs/promises";
@@ -22,13 +25,13 @@ import { homedir } from "node:os";
22
25
  import { promisify } from "node:util";
23
26
  import { DATABASE_FOLDERS, MIGRATIONS_ROOT, canonicalId, kebabCase, migrationFolder, migrationTargets, provideKey, provisionOrder, publicEnvFor, schemeBase, serviceKey } from "@geekmidas/manifest";
24
27
  import fg from "fast-glob";
28
+ import { pathToFileURL } from "node:url";
25
29
  import { execFile, execSync, spawn } from "node:child_process";
26
30
  import chokidar from "chokidar";
27
31
  import { connect } from "node:net";
28
32
  import { createHash, randomBytes, timingSafeEqual } from "node:crypto";
29
- import { pathToFileURL } from "node:url";
30
33
  import pg from "pg";
31
- import { parse as parse$1, parseDocument, stringify } from "yaml";
34
+ import { parseDocument, stringify } from "yaml";
32
35
  import prompts from "prompts";
33
36
  import { createServer as createServer$1 } from "node:http";
34
37
  import { Readable } from "node:stream";
@@ -41,7 +44,7 @@ import { Function } from "@geekmidas/constructs/functions";
41
44
  import { Queue } from "@geekmidas/constructs/queue";
42
45
  import { Topic } from "@geekmidas/constructs/topic";
43
46
  //#region package.json
44
- var version = "10.0.0-alpha.62";
47
+ var version = "10.0.0-alpha.64";
45
48
  //#endregion
46
49
  //#region src/trust/index.ts
47
50
  /**
@@ -1845,9 +1848,9 @@ async function workspaceDevCommand(configured, options) {
1845
1848
  for (const { id, port } of fakes) logger$6.log(`🎭 ${id} fake: http://localhost:${port}`);
1846
1849
  logger$6.log(options.migrate || options.seed ? "🗄️ Migrating the databases" : "🗄️ Checking for pending migrations");
1847
1850
  if (options.migrate || options.seed) {
1848
- const { prepareDevDatabases } = await import("./migrate-BoHMqdCu.mjs");
1851
+ const { prepareDevDatabases } = await import("./migrate-B4gngTLe.mjs");
1849
1852
  await prepareDevDatabases(workspace, reconciled.env, { seed: !!options.seed });
1850
- } else await import("./migrate-BoHMqdCu.mjs").then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
1853
+ } else await import("./migrate-B4gngTLe.mjs").then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
1851
1854
  logger$6.log(`⚠️ Could not check for pending migrations: ${error instanceof Error ? error.message : String(error)}`);
1852
1855
  });
1853
1856
  const appUrls = {};
@@ -3227,7 +3230,7 @@ async function buildApp(input) {
3227
3230
  if (production?.bundle && !input.skipBundle) {
3228
3231
  const outputDir = join(appRoot, ".gkm", "server");
3229
3232
  const entryPoint = await writeSurfaceServer(outputDir, production);
3230
- const { bundleServer } = await import("./bundler-DN5r4x5b.mjs");
3233
+ const { bundleServer } = await import("./bundler-DYgm9xsd.mjs");
3231
3234
  await bundleServer({
3232
3235
  entryPoint,
3233
3236
  outputDir: join(outputDir, "dist"),
@@ -3365,7 +3368,7 @@ async function buildForTarget(target, context, appRoot, workspaceRoot, endpointG
3365
3368
  let masterKey;
3366
3369
  if (context.production?.bundle && !skipBundle) {
3367
3370
  logger$5.log(`\n📦 Bundling production server...`);
3368
- const { bundleServer } = await import("./bundler-DN5r4x5b.mjs");
3371
+ const { bundleServer } = await import("./bundler-DYgm9xsd.mjs");
3369
3372
  const allConstructs = [
3370
3373
  ...endpoints.map((e) => e.construct),
3371
3374
  ...functions.map((f) => f.construct),
@@ -3405,7 +3408,7 @@ async function buildForTarget(target, context, appRoot, workspaceRoot, endpointG
3405
3408
  * Detect available package manager.
3406
3409
  * @internal Exported for testing
3407
3410
  */
3408
- function detectPackageManager$1() {
3411
+ function detectPackageManager() {
3409
3412
  if (existsSync("pnpm-lock.yaml")) return "pnpm";
3410
3413
  if (existsSync("yarn.lock")) return "yarn";
3411
3414
  return "npm";
@@ -3524,18 +3527,25 @@ async function workspaceBuildCommand(workspace, options) {
3524
3527
  });
3525
3528
  const { filters, unpackaged } = turboFilters(workspace, { exclude: "backend" });
3526
3529
  if (unpackaged.length > 0) throw new Error(`No package.json for workspace app(s): ${unpackaged.join(", ")}. Each app needs one — turbo builds packages, and gkm reads the name back to know which app it is building.`);
3527
- const pm = detectPackageManager$1();
3530
+ const pm = detectPackageManager();
3528
3531
  const [turboBin, turboArgs] = getTurboArgs(pm, filters, { only: true });
3529
3532
  if (filters.length > 0) {
3530
3533
  logger$5.log(`\n📦 Using ${pm} with Turbo for the other apps...\n`);
3531
3534
  logger$5.log(`Running: ${[turboBin, ...turboArgs].join(" ")}`);
3532
- await run$1(turboBin, turboArgs, {
3535
+ const sandbox = options.sandbox ?? new LocalSandbox({
3536
+ root: workspace.root,
3537
+ passEnv: ["TURBO_TOKEN"]
3538
+ });
3539
+ const built = await sandbox.exec(turboBin, turboArgs, {
3533
3540
  cwd: workspace.root,
3534
3541
  env: {
3535
- ...process.env,
3542
+ ...sandbox.env,
3536
3543
  NODE_ENV: options.production ? "production" : "development"
3537
- }
3544
+ },
3545
+ timeoutMs: DEFAULT_TIMEOUT_MS,
3546
+ output: "inherit"
3538
3547
  });
3548
+ if (built.exitCode !== 0) throw new CommandFailed(turboBin, turboArgs, built.exitCode, built.signal);
3539
3549
  }
3540
3550
  for (const [appName, app] of apps) {
3541
3551
  const outputPath = getAppOutputPath(workspace, appName, app);
@@ -4860,7 +4870,7 @@ async function composeCommand(options = {}, deps = {}) {
4860
4870
  const mode = options.build || !options.pull && !options.tag ? "build" : "pull";
4861
4871
  const tag = options.tag ?? (mode === "pull" ? "latest" : await revision(root));
4862
4872
  const { secrets, keep } = await stageSecrets(workspace, manifest, stage);
4863
- const packageManager = detectPackageManager$2(root);
4873
+ const packageManager = detectPackageManager$1(root);
4864
4874
  const stack = composeStack({
4865
4875
  workspace,
4866
4876
  manifest,
@@ -6473,25 +6483,25 @@ function loadPackageJson() {
6473
6483
  * Run: pnpm --filter @geekmidas/cli sync-versions
6474
6484
  */
6475
6485
  const GEEKMIDAS_VERSIONS = {
6476
- "@geekmidas/audit": "~10.0.0-alpha.62",
6477
- "@geekmidas/auth": "~10.0.0-alpha.62",
6478
- "@geekmidas/cache": "~10.0.0-alpha.62",
6479
- "@geekmidas/client": "~10.0.0-alpha.62",
6480
- "@geekmidas/cloud": "~10.0.0-alpha.62",
6481
- "@geekmidas/constructs": "~10.0.0-alpha.62",
6482
- "@geekmidas/db": "~10.0.0-alpha.62",
6483
- "@geekmidas/emailkit": "~10.0.0-alpha.62",
6484
- "@geekmidas/envkit": "~10.0.0-alpha.62",
6485
- "@geekmidas/errors": "~10.0.0-alpha.62",
6486
- "@geekmidas/events": "~10.0.0-alpha.62",
6487
- "@geekmidas/logger": "~10.0.0-alpha.62",
6488
- "@geekmidas/manifest": "~10.0.0-alpha.62",
6489
- "@geekmidas/rate-limit": "~10.0.0-alpha.62",
6490
- "@geekmidas/schema": "~10.0.0-alpha.62",
6491
- "@geekmidas/services": "~10.0.0-alpha.62",
6492
- "@geekmidas/storage": "~10.0.0-alpha.62",
6493
- "@geekmidas/telescope": "~10.0.0-alpha.62",
6494
- "@geekmidas/testkit": "~10.0.0-alpha.62",
6486
+ "@geekmidas/audit": "~10.0.0-alpha.64",
6487
+ "@geekmidas/auth": "~10.0.0-alpha.64",
6488
+ "@geekmidas/cache": "~10.0.0-alpha.64",
6489
+ "@geekmidas/client": "~10.0.0-alpha.64",
6490
+ "@geekmidas/cloud": "~10.0.0-alpha.64",
6491
+ "@geekmidas/constructs": "~10.0.0-alpha.64",
6492
+ "@geekmidas/db": "~10.0.0-alpha.64",
6493
+ "@geekmidas/emailkit": "~10.0.0-alpha.64",
6494
+ "@geekmidas/envkit": "~10.0.0-alpha.64",
6495
+ "@geekmidas/errors": "~10.0.0-alpha.64",
6496
+ "@geekmidas/events": "~10.0.0-alpha.64",
6497
+ "@geekmidas/logger": "~10.0.0-alpha.64",
6498
+ "@geekmidas/manifest": "~10.0.0-alpha.64",
6499
+ "@geekmidas/rate-limit": "~10.0.0-alpha.64",
6500
+ "@geekmidas/schema": "~10.0.0-alpha.64",
6501
+ "@geekmidas/services": "~10.0.0-alpha.64",
6502
+ "@geekmidas/storage": "~10.0.0-alpha.64",
6503
+ "@geekmidas/telescope": "~10.0.0-alpha.64",
6504
+ "@geekmidas/testkit": "~10.0.0-alpha.64",
6495
6505
  "@geekmidas/cli": `~${loadPackageJson().version}`
6496
6506
  };
6497
6507
  //#endregion
@@ -7174,8 +7184,10 @@ ${pm.setup}
7174
7184
  - name: Install
7175
7185
  run: ${pm.install}
7176
7186
  ${stageSecrets}
7187
+ # Builds, releases and health-checks the stage through deploy.default
7188
+ # in gkm.config.ts, and fails the job if any of it fails.
7177
7189
  - name: Deploy
7178
- run: ${pm.run} "deploy:$STAGE"
7190
+ run: ${pm.exec} gkm deploy --stage "$STAGE"
7179
7191
  env:
7180
7192
  STAGE: \${{ matrix.stage }}${deployEnv}
7181
7193
  `;
@@ -8028,7 +8040,7 @@ function deployPackage(options) {
8028
8040
  case "sst": {
8029
8041
  const v = GEEKMIDAS_VERSIONS;
8030
8042
  return {
8031
- scripts: perStage(options, (stage) => `gkm build && sst deploy --stage ${stage}`),
8043
+ scripts: perStage(options, (stage) => `gkm deploy --stage ${stage}`),
8032
8044
  dependencies: {
8033
8045
  "@geekmidas/cloud": v["@geekmidas/cloud"],
8034
8046
  "@geekmidas/db": v["@geekmidas/db"],
@@ -8071,7 +8083,7 @@ function generateDeployFiles(options) {
8071
8083
  * constructs the application declares, through \`fromManifest\`. What is here
8072
8084
  * is what varies by stage, and the inputs a declaration cannot carry.
8073
8085
  *
8074
- * Deploy with \`pnpm run deploy:<stage>\`, which builds the manifest first.
8086
+ * Deploy with \`gkm deploy --stage <stage>\`, which builds the manifest first.
8075
8087
  */
8076
8088
  const region = '${options.region}';
8077
8089
 
@@ -8105,7 +8117,7 @@ ${hasDatabase ? " const vpc = new sst.aws.Vpc('Vpc', { nat: 'ec2' });\n\n" :
8105
8117
  hostedZoneId: '',
8106
8118
  });
8107
8119
 
8108
- return fromManifest(
8120
+ const provisioned = fromManifest(
8109
8121
  new Stack(app, '${canonicalId(options.name)}'),
8110
8122
  constructs,
8111
8123
  {
@@ -8113,6 +8125,15 @@ ${inputs.join("\n")}
8113
8125
  },
8114
8126
  backends,
8115
8127
  );
8128
+
8129
+ // Each surface's URL, by its id: SST prints these and writes them to
8130
+ // .sst/outputs.json, where \`gkm deploy\` reads them to health-check
8131
+ // what it released.
8132
+ return Object.fromEntries(
8133
+ Object.entries(constructs)
8134
+ .filter(([, c]) => c.kind === 'rest-api' || c.kind === 'site')
8135
+ .map(([id]) => [id, provisioned[id]!.provides().url]),
8136
+ );
8116
8137
  },
8117
8138
  });
8118
8139
  `
@@ -8523,7 +8544,7 @@ ${workspaceConstructsGlobs(options.routesStructure, dirname(options.apiPath)).ma
8523
8544
  function deployBlock(options) {
8524
8545
  if (options.deployTarget !== "sst") return "";
8525
8546
  return `
8526
- // Deployed with \`sst deploy\`, from the manifest \`gkm build\` writes to
8547
+ // \`gkm deploy\` runs \`sst deploy\` on the manifest \`gkm build\` writes to
8527
8548
  // \`.gkm/manifest/aws.ts\`. Each construct becomes a managed AWS resource.
8528
8549
  deploy: { default: 'sst' },
8529
8550
  `;
@@ -11152,155 +11173,6 @@ function isFullstackTemplate(name) {
11152
11173
  return name === "fullstack";
11153
11174
  }
11154
11175
  //#endregion
11155
- //#region src/init/utils.ts
11156
- /**
11157
- * Detect the package manager being used based on lockfiles or npm_config_user_agent
11158
- */
11159
- function detectPackageManager(cwd = process.cwd()) {
11160
- if (existsSync(join(cwd, "pnpm-lock.yaml"))) return "pnpm";
11161
- if (existsSync(join(cwd, "yarn.lock"))) return "yarn";
11162
- if (existsSync(join(cwd, "bun.lockb"))) return "bun";
11163
- if (existsSync(join(cwd, "package-lock.json"))) return "npm";
11164
- const userAgent = process.env.npm_config_user_agent || "";
11165
- if (userAgent.includes("pnpm")) return "pnpm";
11166
- if (userAgent.includes("yarn")) return "yarn";
11167
- if (userAgent.includes("bun")) return "bun";
11168
- return "npm";
11169
- }
11170
- /** `gkm init`'s flags, which a name can swallow when a space goes missing. */
11171
- const INIT_FLAGS = [
11172
- "yes",
11173
- "name",
11174
- "template",
11175
- "monorepo",
11176
- "api-path",
11177
- "pm",
11178
- "skip-install"
11179
- ];
11180
- /**
11181
- * Validate project name for npm package naming conventions
11182
- */
11183
- function validateProjectName(name) {
11184
- if (!name) return "Project name is required";
11185
- if (!/^[a-z0-9-_@/.]+$/i.test(name)) return "Project name can only contain letters, numbers, hyphens, underscores, @, /, and .";
11186
- const flag = name.match(/--(\w[\w-]*)$/)?.[1];
11187
- if (flag && INIT_FLAGS.includes(flag)) return `"${name}" ends in the --${flag} flag. Did you mean \`${name.slice(0, -(flag.length + 2))} --${flag}\`?`;
11188
- if ([
11189
- "node_modules",
11190
- ".git",
11191
- "package.json",
11192
- "src"
11193
- ].includes(name.toLowerCase())) return `"${name}" is a reserved name`;
11194
- return true;
11195
- }
11196
- /**
11197
- * Check if a directory already exists at the target path
11198
- */
11199
- function checkDirectoryExists(name, cwd = process.cwd()) {
11200
- const targetPath = join(cwd, name);
11201
- if (existsSync(targetPath)) return `Directory "${name}" already exists`;
11202
- return true;
11203
- }
11204
- /**
11205
- * Get the install command for a package manager
11206
- */
11207
- function getInstallCommand(pkgManager) {
11208
- switch (pkgManager) {
11209
- case "pnpm": return "pnpm install";
11210
- case "yarn": return "yarn";
11211
- case "bun": return "bun install";
11212
- default: return "npm install";
11213
- }
11214
- }
11215
- /**
11216
- * Get the dev command for a package manager
11217
- */
11218
- function getRunCommand(pkgManager, script) {
11219
- switch (pkgManager) {
11220
- case "pnpm": return `pnpm ${script}`;
11221
- case "yarn": return `yarn ${script}`;
11222
- case "bun": return `bun run ${script}`;
11223
- default: return `npm run ${script}`;
11224
- }
11225
- }
11226
- /**
11227
- * Run a binary the project installed, through its package manager — so it is
11228
- * the project's own version, not whatever \`npx\` would fetch.
11229
- */
11230
- function getExecCommand(pkgManager, command) {
11231
- switch (pkgManager) {
11232
- case "pnpm": return `pnpm exec ${command}`;
11233
- case "yarn": return `yarn ${command}`;
11234
- case "bun": return `bunx ${command}`;
11235
- default: return `npx --no-install ${command}`;
11236
- }
11237
- }
11238
- const lockfileByPm = {
11239
- pnpm: "pnpm-lock.yaml",
11240
- yarn: "yarn.lock",
11241
- npm: "package-lock.json",
11242
- bun: "bun.lockb"
11243
- };
11244
- /**
11245
- * Find the workspace/project root by walking up from cwd.
11246
- * Checks for PM-specific workspace config, package.json#workspaces,
11247
- * and lockfiles.
11248
- */
11249
- function findWorkspaceRoot(cwd, pm) {
11250
- let dir = cwd;
11251
- const root = parse(dir).root;
11252
- const lockfile = lockfileByPm[pm];
11253
- while (dir !== root) {
11254
- if (pm === "pnpm" && existsSync(join(dir, "pnpm-workspace.yaml"))) return dir;
11255
- const pkgJsonPath = join(dir, "package.json");
11256
- if (existsSync(pkgJsonPath)) try {
11257
- if (JSON.parse(readFileSync(pkgJsonPath, "utf-8")).workspaces) return dir;
11258
- } catch {}
11259
- if (existsSync(join(dir, lockfile))) return dir;
11260
- dir = dirname(dir);
11261
- }
11262
- return cwd;
11263
- }
11264
- /**
11265
- * Get workspace package glob patterns from pnpm-workspace.yaml
11266
- * or package.json#workspaces.
11267
- */
11268
- function getWorkspaceGlobs(root) {
11269
- const pnpmWorkspacePath = join(root, "pnpm-workspace.yaml");
11270
- if (existsSync(pnpmWorkspacePath)) {
11271
- const content = readFileSync(pnpmWorkspacePath, "utf-8");
11272
- return parse$1(content)?.packages ?? [];
11273
- }
11274
- const rootPkgJsonPath = join(root, "package.json");
11275
- if (existsSync(rootPkgJsonPath)) {
11276
- const pkg = JSON.parse(readFileSync(rootPkgJsonPath, "utf-8"));
11277
- if (Array.isArray(pkg.workspaces)) return pkg.workspaces;
11278
- if (pkg.workspaces?.packages) return pkg.workspaces.packages;
11279
- }
11280
- return [];
11281
- }
11282
- /**
11283
- * Find all package.json files across a workspace.
11284
- * Returns the root package.json plus all workspace member package.json paths.
11285
- */
11286
- function findWorkspacePackages(cwd, pm) {
11287
- const workspaceRoot = findWorkspaceRoot(cwd, pm);
11288
- const results = [];
11289
- const rootPkgJson = join(workspaceRoot, "package.json");
11290
- if (existsSync(rootPkgJson)) results.push(rootPkgJson);
11291
- const globs = getWorkspaceGlobs(workspaceRoot);
11292
- for (const glob of globs) {
11293
- const pattern = `${glob}/package.json`;
11294
- const matches = fg.sync(pattern, {
11295
- cwd: workspaceRoot,
11296
- absolute: true,
11297
- ignore: ["**/node_modules/**"]
11298
- });
11299
- results.push(...matches);
11300
- }
11301
- return [...new Set(results)];
11302
- }
11303
- //#endregion
11304
11176
  //#region src/init/index.ts
11305
11177
  /** `' staging, prod '` → `['staging', 'prod']`. */
11306
11178
  const stageList = (value) => value.split(",").map((name) => name.trim()).filter(Boolean);
@@ -11311,7 +11183,7 @@ const AWS_REGION = /^[a-z]{2}(-gov)?-[a-z]+-\d$/;
11311
11183
  */
11312
11184
  async function initCommand(projectName, options = {}) {
11313
11185
  const cwd = process.cwd();
11314
- const detectedPkgManager = detectPackageManager(cwd);
11186
+ const detectedPkgManager = detectPackageManager$2(cwd);
11315
11187
  if (options.deploy && !deployTargetChoices.some((choice) => choice.value === options.deploy)) throw new UnknownDeployTarget(options.deploy, deployTargetChoices.map((c) => c.value));
11316
11188
  if (options.region && !AWS_REGION.test(options.region)) throw new NotAnAwsRegion(options.region);
11317
11189
  if (options.stages || options.localStage || options.protectedStage) {
@@ -11657,7 +11529,7 @@ function printNextSteps(projectName, options, pkgManager) {
11657
11529
  }
11658
11530
  if (options.deployTarget === "sst") {
11659
11531
  console.log("🚀 Deployment (AWS, through SST):");
11660
- for (const stage of deployed) console.log(` ${getRunCommand(pkgManager, `deploy:${stage}`)} # gkm build, then sst deploy`);
11532
+ for (const stage of deployed) console.log(` ${getRunCommand(pkgManager, `deploy:${stage}`)} # gkm deploy: build, sst deploy, health checks`);
11661
11533
  console.log(` Uses your AWS credentials, in ${options.region}.`);
11662
11534
  if (options.constructs.mail) console.log(" Set MAIL_FROM to a sender verified in SES first.");
11663
11535
  console.log("");
@@ -12392,8 +12264,8 @@ function testDatabases(reconciled) {
12392
12264
  * starts without the reference data the app needs.
12393
12265
  */
12394
12266
  async function migrateTestStage(workspace, env) {
12395
- const { migrateAndSeed } = await import("./migrate-BoHMqdCu.mjs");
12396
- const { discover } = await import("./discover-FrYvzkeC.mjs").then((n) => n.n);
12267
+ const { migrateAndSeed } = await import("./migrate-B4gngTLe.mjs");
12268
+ const { discover } = await import("./discover-LMrqsWSU.mjs").then((n) => n.i);
12397
12269
  const sources = {};
12398
12270
  const manifest = await discover({
12399
12271
  patterns: constructGlobs(workspace),
@@ -12551,7 +12423,7 @@ function withVersion(range, version) {
12551
12423
  }
12552
12424
  async function upgradeCommand(options = {}) {
12553
12425
  const cwd = process.cwd();
12554
- const pm = detectPackageManager(cwd);
12426
+ const pm = detectPackageManager$2(cwd);
12555
12427
  const root = findWorkspaceRoot(cwd, pm);
12556
12428
  logger.log("\n📦 Scanning workspace for @geekmidas packages...\n");
12557
12429
  logger.log(` Package manager: ${pm}`);
@@ -12823,7 +12695,7 @@ program.command("migrate").description("Apply each database construct's migratio
12823
12695
  try {
12824
12696
  const globalOptions = program.opts();
12825
12697
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12826
- const { migrateCommand } = await import("./migrate-BoHMqdCu.mjs");
12698
+ const { migrateCommand } = await import("./migrate-B4gngTLe.mjs");
12827
12699
  await migrateCommand({
12828
12700
  ...options,
12829
12701
  ...construct ? { construct } : {}
@@ -12837,7 +12709,7 @@ program.command("seed").description("Migrate, then run each database construct's
12837
12709
  try {
12838
12710
  const globalOptions = program.opts();
12839
12711
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12840
- const { seedCommand } = await import("./migrate-BoHMqdCu.mjs");
12712
+ const { seedCommand } = await import("./migrate-B4gngTLe.mjs");
12841
12713
  await seedCommand({
12842
12714
  ...options,
12843
12715
  ...construct ? { construct } : {}
@@ -12851,7 +12723,7 @@ program.command("migration").description("Write a construct's next migration: an
12851
12723
  try {
12852
12724
  const globalOptions = program.opts();
12853
12725
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12854
- const { migrationCommand } = await import("./migrate-BoHMqdCu.mjs");
12726
+ const { migrationCommand } = await import("./migrate-B4gngTLe.mjs");
12855
12727
  await migrationCommand({
12856
12728
  construct,
12857
12729
  ...name ? { name } : {}
@@ -12959,7 +12831,7 @@ program.command("encryption:rotate").description("Add a new current key to an En
12959
12831
  try {
12960
12832
  const globalOptions = program.opts();
12961
12833
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12962
- const { encryptionRotateCommand } = await import("./encryption-CVwvGbsL.mjs");
12834
+ const { encryptionRotateCommand } = await import("./encryption-CKHjMpCr.mjs");
12963
12835
  await encryptionRotateCommand(construct, options);
12964
12836
  } catch (error) {
12965
12837
  console.error(formatError(error));
@@ -12970,7 +12842,7 @@ program.command("encryption:retire").description("Remove an old key from an Encr
12970
12842
  try {
12971
12843
  const globalOptions = program.opts();
12972
12844
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
12973
- const { encryptionRetireCommand } = await import("./encryption-CVwvGbsL.mjs");
12845
+ const { encryptionRetireCommand } = await import("./encryption-CKHjMpCr.mjs");
12974
12846
  await encryptionRetireCommand(construct, key, options);
12975
12847
  } catch (error) {
12976
12848
  console.error(formatError(error));
@@ -13013,7 +12885,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
13013
12885
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
13014
12886
  const { loadWorkspaceConfig } = await import("./config.mjs");
13015
12887
  const { reconcileMissingSecrets } = await import("./reconcile--I7V4Klj.mjs");
13016
- const { secretsStoreFor } = await import("./store-BS8A7NcA.mjs").then((n) => n.r);
12888
+ const { secretsStoreFor } = await import("./store-BaaonhkJ.mjs").then((n) => n.r);
13017
12889
  const { workspace } = await loadWorkspaceConfig();
13018
12890
  const stage = options.stage ?? workspace.stages.local;
13019
12891
  const store = await secretsStoreFor(workspace, stage);
@@ -13022,7 +12894,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
13022
12894
  console.error(`No secrets found for stage "${stage}". Run "gkm secrets:init --stage ${stage}" first.`);
13023
12895
  process.exit(1);
13024
12896
  }
13025
- const { derivedContainers } = await import("./sniffer-DHE2Nafd.mjs").then((n) => n.q);
12897
+ const { derivedContainers } = await import("./sniffer-49KPbDgq.mjs").then((n) => n.G);
13026
12898
  const result = reconcileMissingSecrets(secrets, workspace, await derivedContainers(workspace, stage));
13027
12899
  if (!result) {
13028
12900
  console.log(`\n✓ Secrets for stage "${stage}" are up-to-date`);
@@ -13036,8 +12908,8 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
13036
12908
  process.exit(1);
13037
12909
  }
13038
12910
  });
13039
- program.command("deploy").description("Deploy a stage through its target").option("--target <name>", "Deploy target: dokploy, 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)").option("--skip-push", "Skip pushing image to registry").option("--skip-build", "Skip build step (use existing build)").option("--json", "Write events as JSON lines instead of progress; never prompts").option("--dry-run", "Show what would be created or reused; change, build and push nothing").action(async (options) => {
13040
- const { deployCli } = await import("./cli-DYwxmfsW.mjs");
12911
+ program.command("deploy").description("Deploy a stage through its target").option("--target <name>", "Deploy target: dokploy, 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)").option("--skip-push", "Skip pushing image to registry").option("--skip-build", "Skip build step (use existing build)").option("--json", "Write events as JSON lines instead of progress; never prompts").option("--dry-run", "Show what would be created or reused; change, build and push nothing").action(async (options) => {
12912
+ const { deployCli } = await import("./cli-Bogz-zEj.mjs");
13041
12913
  const globalOptions = program.opts();
13042
12914
  const code = await deployCli({
13043
12915
  cwd: resolve(globalOptions.cwd ?? process.cwd()),
@@ -13070,7 +12942,7 @@ program.command("deploy:github").description("Let GitHub Actions deploy a stage:
13070
12942
  try {
13071
12943
  const globalOptions = program.opts();
13072
12944
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
13073
- const { deployGithubCommand } = await import("./github-BCB3_LBX.mjs");
12945
+ const { deployGithubCommand } = await import("./github-D-byNI7T.mjs");
13074
12946
  await deployGithubCommand(options);
13075
12947
  } catch (error) {
13076
12948
  console.error(formatError(error));