@geekmidas/cli 10.0.0-alpha.126 → 10.0.0-alpha.127

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 (207) hide show
  1. package/dist/{EndpointGenerator-errMeldx.mjs → EndpointGenerator-B99OGzbO.mjs} +2 -2
  2. package/dist/{EndpointGenerator-errMeldx.mjs.map → EndpointGenerator-B99OGzbO.mjs.map} +1 -1
  3. package/dist/{EndpointGenerator-BGxf9jWE.cjs → EndpointGenerator-De0lknKD.cjs} +2 -2
  4. package/dist/{EndpointGenerator-BGxf9jWE.cjs.map → EndpointGenerator-De0lknKD.cjs.map} +1 -1
  5. package/dist/{GoDaddyProvider-CvRVmN4W.mjs → GoDaddyProvider-BG-UdElN.mjs} +2 -2
  6. package/dist/{GoDaddyProvider-CvRVmN4W.mjs.map → GoDaddyProvider-BG-UdElN.mjs.map} +1 -1
  7. package/dist/{GoDaddyProvider-DFfpzCOP.cjs → GoDaddyProvider-DnmLq7eo.cjs} +2 -2
  8. package/dist/{GoDaddyProvider-DFfpzCOP.cjs.map → GoDaddyProvider-DnmLq7eo.cjs.map} +1 -1
  9. package/dist/{LegacyStateStore-BFrCHrFQ.cjs → LegacyStateStore-CeBkK9K2.cjs} +3 -3
  10. package/dist/{LegacyStateStore-BFrCHrFQ.cjs.map → LegacyStateStore-CeBkK9K2.cjs.map} +1 -1
  11. package/dist/{LegacyStateStore-CgfENrXF.mjs → LegacyStateStore-DHG_4jcn.mjs} +3 -3
  12. package/dist/{LegacyStateStore-CgfENrXF.mjs.map → LegacyStateStore-DHG_4jcn.mjs.map} +1 -1
  13. package/dist/{LocalStateStore-DxoNpiBg.mjs → LocalStateStore-EenTHwr4.mjs} +2 -2
  14. package/dist/{LocalStateStore-DxoNpiBg.mjs.map → LocalStateStore-EenTHwr4.mjs.map} +1 -1
  15. package/dist/{LocalStateStore-BU5z_IOE.cjs → LocalStateStore-HRnBQFe3.cjs} +2 -2
  16. package/dist/{LocalStateStore-BU5z_IOE.cjs.map → LocalStateStore-HRnBQFe3.cjs.map} +1 -1
  17. package/dist/{OpenApiTsGenerator-cQgtxWQo.cjs → OpenApiTsGenerator-DMLzN-LU.cjs} +2 -2
  18. package/dist/{OpenApiTsGenerator-cQgtxWQo.cjs.map → OpenApiTsGenerator-DMLzN-LU.cjs.map} +1 -1
  19. package/dist/{OpenApiTsGenerator-W_HRXH1X.mjs → OpenApiTsGenerator-DNUCgkkx.mjs} +2 -2
  20. package/dist/{OpenApiTsGenerator-W_HRXH1X.mjs.map → OpenApiTsGenerator-DNUCgkkx.mjs.map} +1 -1
  21. package/dist/{S3StateStore-DiekMLpn.cjs → S3StateStore-DyLljVN1.cjs} +2 -2
  22. package/dist/{S3StateStore-DiekMLpn.cjs.map → S3StateStore-DyLljVN1.cjs.map} +1 -1
  23. package/dist/{S3StateStore-CGMSDilh.mjs → S3StateStore-vbkyBnRB.mjs} +2 -2
  24. package/dist/{S3StateStore-CGMSDilh.mjs.map → S3StateStore-vbkyBnRB.mjs.map} +1 -1
  25. package/dist/{SSMStateStore-BDCOFdKq.cjs → SSMStateStore-BBKlmfaU.cjs} +2 -2
  26. package/dist/{SSMStateStore-BDCOFdKq.cjs.map → SSMStateStore-BBKlmfaU.cjs.map} +1 -1
  27. package/dist/{SSMStateStore-Cq2H9MlF.mjs → SSMStateStore-uk2QLUgz.mjs} +2 -2
  28. package/dist/{SSMStateStore-Cq2H9MlF.mjs.map → SSMStateStore-uk2QLUgz.mjs.map} +1 -1
  29. package/dist/{SubscriberGenerator-BALddfuW.mjs → SubscriberGenerator-0ruEmYXj.mjs} +3 -3
  30. package/dist/{SubscriberGenerator-BALddfuW.mjs.map → SubscriberGenerator-0ruEmYXj.mjs.map} +1 -1
  31. package/dist/{SubscriberGenerator-LgyTxZ8r.cjs → SubscriberGenerator-CPjbWEOI.cjs} +3 -3
  32. package/dist/{SubscriberGenerator-LgyTxZ8r.cjs.map → SubscriberGenerator-CPjbWEOI.cjs.map} +1 -1
  33. package/dist/{add-BsiBYkAW.cjs → add-CH7-9AHI.cjs} +7 -7
  34. package/dist/add-CH7-9AHI.cjs.map +1 -0
  35. package/dist/{add-CamA9Uqv.mjs → add-CgyyN6aF.mjs} +7 -7
  36. package/dist/add-CgyyN6aF.mjs.map +1 -0
  37. package/dist/{bundler-CijtdIZ2.cjs → bundler-BtAkF9wb.cjs} +5 -5
  38. package/dist/{bundler-CijtdIZ2.cjs.map → bundler-BtAkF9wb.cjs.map} +1 -1
  39. package/dist/{bundler-2V2PR_E-.mjs → bundler-DqHozK8W.mjs} +5 -5
  40. package/dist/{bundler-2V2PR_E-.mjs.map → bundler-DqHozK8W.mjs.map} +1 -1
  41. package/dist/{cli-7gc1QG8X.cjs → cli-D08bMg7m.cjs} +3 -3
  42. package/dist/{cli-7gc1QG8X.cjs.map → cli-D08bMg7m.cjs.map} +1 -1
  43. package/dist/{cli-PiyYqHGx.mjs → cli-D_BQkb4B.mjs} +3 -3
  44. package/dist/{cli-PiyYqHGx.mjs.map → cli-D_BQkb4B.mjs.map} +1 -1
  45. package/dist/{compose-8e2xJ61E.cjs → compose-BK9s_2Qe.cjs} +68 -40
  46. package/dist/compose-BK9s_2Qe.cjs.map +1 -0
  47. package/dist/{compose-CvHIjMDd.mjs → compose-CIzCcsoz.mjs} +68 -40
  48. package/dist/compose-CIzCcsoz.mjs.map +1 -0
  49. package/dist/{config-_y1FGBWR.d.mts → config-B8fXmuK0.d.cts} +3 -3
  50. package/dist/{config-CdytFgSR.d.cts.map → config-B8fXmuK0.d.cts.map} +1 -1
  51. package/dist/{config-CdytFgSR.d.cts → config-CRRxZMk7.d.mts} +3 -3
  52. package/dist/{config-_y1FGBWR.d.mts.map → config-CRRxZMk7.d.mts.map} +1 -1
  53. package/dist/config.cjs +2 -2
  54. package/dist/config.d.cts +3 -3
  55. package/dist/config.d.mts +3 -3
  56. package/dist/config.mjs +2 -2
  57. package/dist/{credentialSchemas-DFxvGEwa.cjs → credentialSchemas-CM0rxWmS.cjs} +2 -2
  58. package/dist/{credentialSchemas-DFxvGEwa.cjs.map → credentialSchemas-CM0rxWmS.cjs.map} +1 -1
  59. package/dist/{credentialSchemas-DaMpt-Dx.mjs → credentialSchemas-DPOGqOrU.mjs} +2 -2
  60. package/dist/{credentialSchemas-DaMpt-Dx.mjs.map → credentialSchemas-DPOGqOrU.mjs.map} +1 -1
  61. package/dist/deploy/public.cjs +8 -8
  62. package/dist/deploy/public.d.cts +3 -3
  63. package/dist/deploy/public.d.mts +3 -3
  64. package/dist/deploy/public.mjs +8 -8
  65. package/dist/{deploy-wSlIRPn5.cjs → deploy-A_fzSa59.cjs} +10 -10
  66. package/dist/deploy-A_fzSa59.cjs.map +1 -0
  67. package/dist/{deploy-CIPwTJ47.mjs → deploy-BVf6c_h8.mjs} +10 -10
  68. package/dist/deploy-BVf6c_h8.mjs.map +1 -0
  69. package/dist/{derive-DAbo49sm.cjs → derive-BtGidITm.cjs} +7 -7
  70. package/dist/derive-BtGidITm.cjs.map +1 -0
  71. package/dist/{derive-B4vDpzgP.mjs → derive-Dew0QoGe.mjs} +7 -7
  72. package/dist/derive-Dew0QoGe.mjs.map +1 -0
  73. package/dist/{discover-DL6h-J97.cjs → discover-DEOspD9M.cjs} +12 -1
  74. package/dist/discover-DEOspD9M.cjs.map +1 -0
  75. package/dist/{discover-CzGM5P3p.mjs → discover-DOhYSKY_.mjs} +12 -1
  76. package/dist/discover-DOhYSKY_.mjs.map +1 -0
  77. package/dist/{dokploy-BKbUrz05.cjs → dokploy-CshlFRwr.cjs} +2 -2
  78. package/dist/{dokploy-BKbUrz05.cjs.map → dokploy-CshlFRwr.cjs.map} +1 -1
  79. package/dist/{dokploy-BZf1AHd0.mjs → dokploy-DOndleTd.mjs} +2 -2
  80. package/dist/{dokploy-BZf1AHd0.mjs.map → dokploy-DOndleTd.mjs.map} +1 -1
  81. package/dist/{eas-DzDMGzfc.cjs → eas-ApfPYR4-.cjs} +3 -3
  82. package/dist/{eas-DzDMGzfc.cjs.map → eas-ApfPYR4-.cjs.map} +1 -1
  83. package/dist/{eas-CxX2RCE_.mjs → eas-Dlr1Lw56.mjs} +3 -3
  84. package/dist/{eas-CxX2RCE_.mjs.map → eas-Dlr1Lw56.mjs.map} +1 -1
  85. package/dist/{encryption-BFSrt89F.mjs → encryption-D0tWRvy_.mjs} +2 -2
  86. package/dist/{encryption-BFSrt89F.mjs.map → encryption-D0tWRvy_.mjs.map} +1 -1
  87. package/dist/{encryption-RNcBnG4Z.cjs → encryption-SGWvnBxV.cjs} +2 -2
  88. package/dist/{encryption-RNcBnG4Z.cjs.map → encryption-SGWvnBxV.cjs.map} +1 -1
  89. package/dist/{engine-Dqe9KQCm.cjs → engine-CYu4wavP.cjs} +5 -5
  90. package/dist/{engine-Dqe9KQCm.cjs.map → engine-CYu4wavP.cjs.map} +1 -1
  91. package/dist/{engine-_0pjyCd_.mjs → engine-DKz1NYDX.mjs} +5 -5
  92. package/dist/{engine-_0pjyCd_.mjs.map → engine-DKz1NYDX.mjs.map} +1 -1
  93. package/dist/{github-Csev5EFf.cjs → github-CxWaWQtW.cjs} +5 -5
  94. package/dist/{github-Csev5EFf.cjs.map → github-CxWaWQtW.cjs.map} +1 -1
  95. package/dist/{github-Dck0nLW9.mjs → github-VQaj8gLE.mjs} +5 -5
  96. package/dist/{github-Dck0nLW9.mjs.map → github-VQaj8gLE.mjs.map} +1 -1
  97. package/dist/{googlePlay-DBtDAGBk.cjs → googlePlay-4KVtZ89D.cjs} +3 -3
  98. package/dist/{googlePlay-DBtDAGBk.cjs.map → googlePlay-4KVtZ89D.cjs.map} +1 -1
  99. package/dist/{googlePlay-DTuvDHi5.mjs → googlePlay-Nqc4EAiC.mjs} +3 -3
  100. package/dist/{googlePlay-DTuvDHi5.mjs.map → googlePlay-Nqc4EAiC.mjs.map} +1 -1
  101. package/dist/{index-DrkV7N5w.d.mts → index-Cu8eIwUW.d.mts} +2 -2
  102. package/dist/{index-DrkV7N5w.d.mts.map → index-Cu8eIwUW.d.mts.map} +1 -1
  103. package/dist/{index-yaXZ9m-J.d.cts → index-Dx93n3Ur.d.cts} +2 -2
  104. package/dist/{index-yaXZ9m-J.d.cts.map → index-Dx93n3Ur.d.cts.map} +1 -1
  105. package/dist/index.cjs +101 -73
  106. package/dist/index.cjs.map +1 -1
  107. package/dist/index.mjs +101 -73
  108. package/dist/index.mjs.map +1 -1
  109. package/dist/{migrate-3ZEoqx5q.cjs → migrate-BQPRclv2.cjs} +2 -2
  110. package/dist/{migrate-3ZEoqx5q.cjs.map → migrate-BQPRclv2.cjs.map} +1 -1
  111. package/dist/{migrate-BABIuzQj.mjs → migrate-C7exqXTD.mjs} +2 -2
  112. package/dist/{migrate-BABIuzQj.mjs.map → migrate-C7exqXTD.mjs.map} +1 -1
  113. package/dist/{migrate-DZeNpuX2.mjs → migrate-DQPEUiFC.mjs} +3 -3
  114. package/dist/{migrate-DZeNpuX2.mjs.map → migrate-DQPEUiFC.mjs.map} +1 -1
  115. package/dist/{migrate-pGiUqvBi.cjs → migrate-DTv6LHux.cjs} +3 -3
  116. package/dist/{migrate-pGiUqvBi.cjs.map → migrate-DTv6LHux.cjs.map} +1 -1
  117. package/dist/openapi.cjs +3 -3
  118. package/dist/openapi.d.cts +1 -1
  119. package/dist/openapi.d.mts +1 -1
  120. package/dist/openapi.mjs +3 -3
  121. package/dist/{publish-CS6xDvGT.cjs → publish-CgwqwKDs.cjs} +2 -2
  122. package/dist/{publish-CS6xDvGT.cjs.map → publish-CgwqwKDs.cjs.map} +1 -1
  123. package/dist/{publish-BsnDeOVL.mjs → publish-VYt4xOOc.mjs} +2 -2
  124. package/dist/{publish-BsnDeOVL.mjs.map → publish-VYt4xOOc.mjs.map} +1 -1
  125. package/dist/{ready-DrvaAwKv.mjs → ready-BwtLriAF.mjs} +5 -5
  126. package/dist/{ready-DrvaAwKv.mjs.map → ready-BwtLriAF.mjs.map} +1 -1
  127. package/dist/{ready-CxPJm0Hc.cjs → ready-Cj4pI0dw.cjs} +5 -5
  128. package/dist/{ready-CxPJm0Hc.cjs.map → ready-Cj4pI0dw.cjs.map} +1 -1
  129. package/dist/reconcile/public.cjs +1 -1
  130. package/dist/reconcile/public.d.cts +1 -1
  131. package/dist/reconcile/public.d.mts +1 -1
  132. package/dist/reconcile/public.mjs +1 -1
  133. package/dist/{resolve-zqCMFio0.cjs → resolve-C-W3kZM7.cjs} +4 -4
  134. package/dist/{resolve-zqCMFio0.cjs.map → resolve-C-W3kZM7.cjs.map} +1 -1
  135. package/dist/{resolve-fCGJmM-R.mjs → resolve-CCVCc43b.mjs} +4 -4
  136. package/dist/{resolve-fCGJmM-R.mjs.map → resolve-CCVCc43b.mjs.map} +1 -1
  137. package/dist/{rollback-qc79mj6L.cjs → rollback-CdBj1Boy.cjs} +4 -4
  138. package/dist/{rollback-qc79mj6L.cjs.map → rollback-CdBj1Boy.cjs.map} +1 -1
  139. package/dist/{rollback-BkhVrtAf.mjs → rollback-dUShCpZu.mjs} +4 -4
  140. package/dist/{rollback-BkhVrtAf.mjs.map → rollback-dUShCpZu.mjs.map} +1 -1
  141. package/dist/{runtime-DCkfI2E7.d.mts → runtime-C_1PteGG.d.cts} +2 -2
  142. package/dist/{runtime-DCkfI2E7.d.mts.map → runtime-C_1PteGG.d.cts.map} +1 -1
  143. package/dist/{runtime-Ie4znWIB.d.cts → runtime-jjB2e3-M.d.mts} +2 -2
  144. package/dist/{runtime-Ie4znWIB.d.cts.map → runtime-jjB2e3-M.d.mts.map} +1 -1
  145. package/dist/sandbox/credentials-worker.cjs +2 -2
  146. package/dist/sandbox/credentials-worker.mjs +2 -2
  147. package/dist/sandbox/discover-worker.cjs +1 -1
  148. package/dist/sandbox/discover-worker.mjs +1 -1
  149. package/dist/sandbox/migrate-worker.cjs +1 -1
  150. package/dist/sandbox/migrate-worker.mjs +1 -1
  151. package/dist/{seeds-Cfejy8wj.mjs → seeds-BX9pskrU.mjs} +66 -27
  152. package/dist/seeds-BX9pskrU.mjs.map +1 -0
  153. package/dist/{seeds-3awh33Wz.cjs → seeds-sMVADbkg.cjs} +66 -27
  154. package/dist/seeds-sMVADbkg.cjs.map +1 -0
  155. package/dist/{serverSetup-BFQuwUeL.cjs → serverSetup-4avavig6.cjs} +25 -5
  156. package/dist/serverSetup-4avavig6.cjs.map +1 -0
  157. package/dist/{serverSetup-C8ZbHTm_.mjs → serverSetup-BvHpm7QD.mjs} +25 -5
  158. package/dist/serverSetup-BvHpm7QD.mjs.map +1 -0
  159. package/dist/{sniffer-Cq1nhxIB.cjs → sniffer-DWLala8l.cjs} +7 -7
  160. package/dist/{sniffer-Cq1nhxIB.cjs.map → sniffer-DWLala8l.cjs.map} +1 -1
  161. package/dist/{sniffer-CCkdzjiU.mjs → sniffer-XnAnEbuI.mjs} +7 -7
  162. package/dist/{sniffer-CCkdzjiU.mjs.map → sniffer-XnAnEbuI.mjs.map} +1 -1
  163. package/dist/{snsSubscriptions-R_AKBZYK.mjs → snsSubscriptions-BxLJQH4u.mjs} +3 -3
  164. package/dist/{snsSubscriptions-R_AKBZYK.mjs.map → snsSubscriptions-BxLJQH4u.mjs.map} +1 -1
  165. package/dist/{snsSubscriptions-DYyYP0Xf.cjs → snsSubscriptions-f_z4PSFb.cjs} +3 -3
  166. package/dist/{snsSubscriptions-DYyYP0Xf.cjs.map → snsSubscriptions-f_z4PSFb.cjs.map} +1 -1
  167. package/dist/{sst-lEkBwzGc.cjs → sst-DmVJRu5l.cjs} +2 -2
  168. package/dist/{sst-lEkBwzGc.cjs.map → sst-DmVJRu5l.cjs.map} +1 -1
  169. package/dist/{sst-CTqZZl1_.mjs → sst-fop6uZ25.mjs} +2 -2
  170. package/dist/{sst-CTqZZl1_.mjs.map → sst-fop6uZ25.mjs.map} +1 -1
  171. package/dist/{stage-BkgbVJ9Z.cjs → stage-ZWOE0oLB.cjs} +5 -5
  172. package/dist/{stage-BkgbVJ9Z.cjs.map → stage-ZWOE0oLB.cjs.map} +1 -1
  173. package/dist/{stage-DCaxqm-G.mjs → stage-mta618Oy.mjs} +5 -5
  174. package/dist/{stage-DCaxqm-G.mjs.map → stage-mta618Oy.mjs.map} +1 -1
  175. package/dist/target/public.cjs +1 -1
  176. package/dist/target/public.d.cts +2 -2
  177. package/dist/target/public.d.mts +2 -2
  178. package/dist/target/public.mjs +1 -1
  179. package/dist/{terminal-bqY33lpN.mjs → terminal-CebFDhWQ.mjs} +2 -2
  180. package/dist/{terminal-bqY33lpN.mjs.map → terminal-CebFDhWQ.mjs.map} +1 -1
  181. package/dist/{terminal-PKhPAajN.cjs → terminal-DBwedwSS.cjs} +2 -2
  182. package/dist/{terminal-PKhPAajN.cjs.map → terminal-DBwedwSS.cjs.map} +1 -1
  183. package/dist/{types-D0IsQxES.d.cts → types-DLANxOpy.d.mts} +7 -2
  184. package/dist/types-DLANxOpy.d.mts.map +1 -0
  185. package/dist/{types-Bmjs4jZV.d.mts → types-SEHMr6Aw.d.cts} +8 -1
  186. package/dist/types-SEHMr6Aw.d.cts.map +1 -0
  187. package/dist/vitest.cjs +1 -1
  188. package/dist/vitest.mjs +1 -1
  189. package/dist/workspace/index.d.cts +2 -2
  190. package/dist/workspace/index.d.mts +2 -2
  191. package/package.json +15 -15
  192. package/dist/add-BsiBYkAW.cjs.map +0 -1
  193. package/dist/add-CamA9Uqv.mjs.map +0 -1
  194. package/dist/compose-8e2xJ61E.cjs.map +0 -1
  195. package/dist/compose-CvHIjMDd.mjs.map +0 -1
  196. package/dist/deploy-CIPwTJ47.mjs.map +0 -1
  197. package/dist/deploy-wSlIRPn5.cjs.map +0 -1
  198. package/dist/derive-B4vDpzgP.mjs.map +0 -1
  199. package/dist/derive-DAbo49sm.cjs.map +0 -1
  200. package/dist/discover-CzGM5P3p.mjs.map +0 -1
  201. package/dist/discover-DL6h-J97.cjs.map +0 -1
  202. package/dist/seeds-3awh33Wz.cjs.map +0 -1
  203. package/dist/seeds-Cfejy8wj.mjs.map +0 -1
  204. package/dist/serverSetup-BFQuwUeL.cjs.map +0 -1
  205. package/dist/serverSetup-C8ZbHTm_.mjs.map +0 -1
  206. package/dist/types-Bmjs4jZV.d.mts.map +0 -1
  207. package/dist/types-D0IsQxES.d.cts.map +0 -1
package/dist/index.mjs CHANGED
@@ -2,28 +2,28 @@
2
2
  import { n as __require, t as __exportAll } from "./rolldown-runtime-BhDjJH2R.mjs";
3
3
  import { n as isGkmError, t as GkmError } from "./errors-D8Gwp5kU.mjs";
4
4
  import { _ as storeDokployCredentials, d as getDokployRegistryId, f as getDokployToken, g as removeGoDaddyCredentials, h as removeDokployCredentials, i as CommandFailed, l as getCredentialsPath, m as readCredentials, o as DEFAULT_TIMEOUT_MS, u as getDokployCredentials, v as storeGoDaddyToken, y as storeHostingerToken } from "./credentials-DpfnUvIR.mjs";
5
- import { C as dockerCompose, S as sshTarget, _ as parseDigests, b as dockerHost, c as edgeRef, f as derivedCredentials, h as EDGE_PROJECT, i as ComposePushNeedsBuild, l as removeEdgeRoutes, m as stackPlan, o as stackOverrideFile, p as stackDir, r as ComposePinNeedsPull, t as composeTarget, u as composeProject, v as pinnedRef, w as projectNetwork, y as composeServer } from "./compose-CvHIjMDd.mjs";
5
+ import { C as dockerCompose, S as sshTarget, _ as parseDigests, b as dockerHost, c as edgeRef, f as derivedCredentials, h as EDGE_PROJECT, i as ComposePushNeedsBuild, l as removeEdgeRoutes, m as stackPlan, o as stackOverrideFile, p as stackDir, r as ComposePinNeedsPull, t as composeTarget, u as composeProject, v as pinnedRef, w as projectNetwork, y as composeServer } from "./compose-CIzCcsoz.mjs";
6
6
  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-DBHF9Gba.mjs";
7
- import { D as BACKUPS_SERVICE, F as backupFile, I as backupsPrefix, L as runTime, N as backupDatabases, O as BACKUPS_URL_KEY, R as stageBackups, b as awsEndpoint, k as RUNNER_PATH, x as awsProvisioningCredentials, y as awsClientConfig } from "./snsSubscriptions-R_AKBZYK.mjs";
7
+ import { D as BACKUPS_SERVICE, F as backupFile, I as backupsPrefix, L as runTime, N as backupDatabases, O as BACKUPS_URL_KEY, R as stageBackups, b as awsEndpoint, k as RUNNER_PATH, x as awsProvisioningCredentials, y as awsClientConfig } from "./snsSubscriptions-BxLJQH4u.mjs";
8
8
  import { o as email } from "./schemas-BCwKKA42.mjs";
9
- import { $n as telemetryOf, $t as maskPassword, Bt as createCredentialsPreload, Cn as postgresDatabaseNames, Ct as backendsOf$1, Et as reconcileWorkspace, Fn as projectKey, G as workerBundleName, Gt as loadPortState, Ht as findAvailablePort, It as cacheBackendFor, J as CronGenerator, K as workerEntryDir, Kn as TELEMETRY_CONTAINER, Kt as loadSecretsForApp, Lt as eventsBackendFor, Mn as FileSecretsStore, Nn as getKeyPath, Nt as pgClient, Ot as LOCAL_CA_PATH, Pt as CLUSTER_DATABASE, Q as processorInfo, Qn as surfaceClientTraced, R as dockerCommand, Rt as providerOf, St as FAKE_ENV, Tn as quoteIdentifier, Tt as derivedContainers, Ut as isPortAvailable, Vt as createEntryWrapper, W as WorkerGenerator, Wt as loadEnvFiles, X as processorBundleName, Y as ProcessorGenerator, Yn as appTelemetry, Yt as secretsStoreFor, Z as processorEntryDir, Zn as scopeTelemetryEnv, a as dnsResources, dn as isImageBuild, dr as primaryPortKey, fr as LOCAL_LOGS_EMAIL, hn as workerUnits, jn as readLocalCredentials, kt as forgetState, l as describeActor, lr as portsOf, mn as processorUnits, nn as withCustomSecret, or as describeServices, pn as isUnder, q as QueueGenerator, qt as prepareEntryCredentials, sr as fakeKey, tn as toEmbeddableSecrets, un as imageBuildCredentials, ut as assertDevServicesFlag, wt as constructGlobs } from "./seeds-Cfejy8wj.mjs";
10
- import { t as appKey } from "./derive-B4vDpzgP.mjs";
9
+ import { $n as telemetryOf, $t as maskPassword, Bt as createCredentialsPreload, Cn as postgresDatabaseNames, Ct as backendsOf$1, Et as reconcileWorkspace, Fn as projectKey, G as workerBundleName, Gt as loadPortState, Ht as findAvailablePort, It as cacheBackendFor, J as CronGenerator, K as workerEntryDir, Kn as TELEMETRY_CONTAINER, Kt as loadSecretsForApp, Lt as eventsBackendFor, Mn as FileSecretsStore, Nn as getKeyPath, Nt as pgClient, Ot as LOCAL_CA_PATH, Pt as CLUSTER_DATABASE, Q as processorInfo, Qn as surfaceClientTraced, R as dockerCommand, Rt as providerOf, St as FAKE_ENV, Tn as quoteIdentifier, Tt as derivedContainers, Ut as isPortAvailable, Vt as createEntryWrapper, W as WorkerGenerator, Wt as loadEnvFiles, X as processorBundleName, Y as ProcessorGenerator, Yn as appTelemetry, Yt as secretsStoreFor, Z as processorEntryDir, Zn as scopeTelemetryEnv, a as dnsResources, dn as isImageBuild, dr as primaryPortKey, fr as LOCAL_LOGS_EMAIL, hn as workerUnits, jn as readLocalCredentials, kt as forgetState, l as describeActor, lr as portsOf, mn as processorUnits, nn as withCustomSecret, or as describeServices, pn as isUnder, q as QueueGenerator, qt as prepareEntryCredentials, sr as fakeKey, tn as toEmbeddableSecrets, un as imageBuildCredentials, ut as assertDevServicesFlag, wt as constructGlobs } from "./seeds-BX9pskrU.mjs";
10
+ import { t as appKey } from "./derive-Dew0QoGe.mjs";
11
11
  import { a as opensKmsKeys, n as driversFor, r as eventsBackendsIn, t as cacheBackendsIn, u as isCacheBackend } from "./drivers-CDjpjakg.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-errMeldx.mjs";
14
- import { d as ConstructGenerator, i as discover, r as consumedBy, u as withOwningTsconfigJsx } from "./discover-CzGM5P3p.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-B99OGzbO.mjs";
14
+ import { d as ConstructGenerator, i as discover, r as consumedBy, u as withOwningTsconfigJsx } from "./discover-DOhYSKY_.mjs";
15
15
  import { ConfigNotFound, NotABackendApp, NotInAnApp, loadAppConfig, loadConfig, loadWorkspaceConfig, loadWorkspaceSettings, parseModuleConfig } from "./config.mjs";
16
- import { n as assertTestCredentials, t as SubscriberGenerator } from "./SubscriberGenerator-BALddfuW.mjs";
16
+ import { n as assertTestCredentials, t as SubscriberGenerator } from "./SubscriberGenerator-0ruEmYXj.mjs";
17
17
  import { generateOpenApi, openapiCommand, resolveOpenApiConfig } from "./openapi.mjs";
18
18
  import { a as describeHolder, c as withAppPorts, i as assignAppPorts, o as describeMove, r as appTag, s as holderOf, t as APP_TAG_ENV } from "./appPorts-BoXMwolc.mjs";
19
19
  import { n as withCompute, r as withRoutes, t as manifestModule } from "./emit-CiJGdy_f.mjs";
20
20
  import { t as LocalSandbox } from "./local-B7Zv1NoA.mjs";
21
- import { S as createStateStore, k as keyFingerprint, n as sniffAppEnvironment, o as DokployApi } from "./sniffer-CCkdzjiU.mjs";
22
- import { t as deploy$1 } from "./deploy-CIPwTJ47.mjs";
23
- import { o as loadCredentialSchemas, t as CredentialsInvalid } from "./credentialSchemas-DaMpt-Dx.mjs";
24
- import { t as LocalStateStore } from "./LocalStateStore-DxoNpiBg.mjs";
21
+ import { S as createStateStore, k as keyFingerprint, n as sniffAppEnvironment, o as DokployApi } from "./sniffer-XnAnEbuI.mjs";
22
+ import { t as deploy$1 } from "./deploy-BVf6c_h8.mjs";
23
+ import { o as loadCredentialSchemas, t as CredentialsInvalid } from "./credentialSchemas-DPOGqOrU.mjs";
24
+ import { t as LocalStateStore } from "./LocalStateStore-EenTHwr4.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-DrvaAwKv.mjs";
26
+ import { a as writeTestHarness, i as TEST_MANIFEST_ENV, n as TEST_READY_FILE, t as TEST_READY_ENV } from "./ready-BwtLriAF.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";
@@ -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.126";
54
+ var version = "10.0.0-alpha.127";
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-CCkdzjiU.mjs").then((n) => n.c);
137
+ const { DokployApi } = await import("./sniffer-XnAnEbuI.mjs").then((n) => n.c);
138
138
  return new DokployApi({
139
139
  baseUrl: endpoint,
140
140
  token
@@ -2174,7 +2174,7 @@ async function execCommand(commandArgs, options = {}, stageDeps) {
2174
2174
  const cwd = options.cwd ?? process.cwd();
2175
2175
  if (!commandArgs[0]) throw new NoCommandSpecified();
2176
2176
  if (options.stage && !isImageBuild()) {
2177
- const { execOnStage } = await import("./stage-DCaxqm-G.mjs").then((n) => n.n);
2177
+ const { execOnStage } = await import("./stage-mta618Oy.mjs").then((n) => n.n);
2178
2178
  const { loadWorkspaceConfig } = await import("./config.mjs");
2179
2179
  const { workspace } = await loadWorkspaceConfig(cwd);
2180
2180
  if (options.stage !== workspace.stages.local) {
@@ -2401,7 +2401,7 @@ async function devCommand(options) {
2401
2401
  });
2402
2402
  for (const key of Object.keys(appSecrets)) if (!(key in scoped)) delete appSecrets[key];
2403
2403
  Object.assign(appSecrets, scoped);
2404
- const own = reconciled.plan.resources.find((r) => (r.kind === "rest-api" || r.kind === "site") && appKey(r.id) === workspaceAppName);
2404
+ const own = reconciled.plan.resources.find((r) => (r.kind === "rest-api" || r.kind === "websocket-api" || r.kind === "site") && appKey(r.id) === workspaceAppName);
2405
2405
  publicUrl = own ? reconciled.env[own.envKey] : void 0;
2406
2406
  manifest = reconciled.manifest;
2407
2407
  telemetryUi = telemetryUiOf(reconciled.services);
@@ -2747,14 +2747,14 @@ async function workspaceDevCommand(configured, options) {
2747
2747
  for (const { id, port } of fakes) logger$5.log(`🎭 ${id} fake: http://localhost:${port}`);
2748
2748
  logger$5.log(options.migrate || options.seed ? "🗄️ Migrating the databases" : "🗄️ Checking for pending migrations");
2749
2749
  if (options.migrate || options.seed) {
2750
- const { prepareDevDatabases } = await import("./migrate-DZeNpuX2.mjs");
2750
+ const { prepareDevDatabases } = await import("./migrate-DQPEUiFC.mjs");
2751
2751
  await prepareDevDatabases(workspace, reconciled.env, { seed: !!options.seed });
2752
- } else await import("./migrate-DZeNpuX2.mjs").then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
2752
+ } else await import("./migrate-DQPEUiFC.mjs").then(({ reportPendingMigrations }) => reportPendingMigrations(workspace, reconciled.env)).catch((error) => {
2753
2753
  logger$5.log(`⚠️ Could not check for pending migrations: ${error instanceof Error ? error.message : String(error)}`);
2754
2754
  });
2755
2755
  const appUrls = {};
2756
2756
  for (const resource of reconciled.plan.resources) {
2757
- if (resource.kind !== "rest-api" && resource.kind !== "site") continue;
2757
+ if (resource.kind !== "rest-api" && resource.kind !== "websocket-api" && resource.kind !== "site") continue;
2758
2758
  const address = reconciled.env[resource.envKey];
2759
2759
  if (address) appUrls[resource.id] = address;
2760
2760
  }
@@ -3082,7 +3082,7 @@ ${credentialsInjection}${parentWatch}const port = process.argv.includes('--port'
3082
3082
 
3083
3083
  ${telemetry}
3084
3084
  // Dynamic import so Credentials are populated before the surface evaluates
3085
- const { app: surface } = await import('${appImportPath}');
3085
+ const { app: surface, attach } = await import('${appImportPath}');
3086
3086
 
3087
3087
  // Behind the request spans when there are any, as the production server is.
3088
3088
  const { Hono } = await import('hono');
@@ -3092,7 +3092,9 @@ if (requestSpans) {
3092
3092
  app.route('/', surface);
3093
3093
  }
3094
3094
 
3095
- ${serveCode.replace(/^ {4}/gm, "")}
3095
+ ${serveCode.replace(/^ {4}/gm, "")}${runtime === "bun" ? "" : `
3096
+ // A surface that takes upgrades — a WebSocket one — is handed them.
3097
+ attach?.(server);`}
3096
3098
  `;
3097
3099
  return `#!/usr/bin/env node
3098
3100
  /**
@@ -3524,7 +3526,7 @@ function servesItself(construct) {
3524
3526
  */
3525
3527
  function selfServingSurface(options) {
3526
3528
  const { declared, sources, workspaceRoot, appRoot } = options;
3527
- const served = servedSurface(declared, workspaceRoot, appRoot);
3529
+ const served = servedSurface(declared, workspaceRoot, appRoot) ?? servedWebSocketApi(declared, workspaceRoot, appRoot);
3528
3530
  const source = served ? sources[served.id] : void 0;
3529
3531
  if (!served || !source || !servesItself(source.construct)) return void 0;
3530
3532
  return {
@@ -3532,6 +3534,15 @@ function selfServingSurface(options) {
3532
3534
  source
3533
3535
  };
3534
3536
  }
3537
+ /** The WebSocket surface whose `path` is the directory being built. */
3538
+ function servedWebSocketApi(declared, workspaceRoot, appRoot) {
3539
+ return Object.values(declared).find((d) => d.kind === "websocket-api" && resolve(workspaceRoot, d.path) === resolve(appRoot));
3540
+ }
3541
+ /** An import specifier for `file`, from `outputDir`, as the bundle sees it. */
3542
+ function specifierOf(outputDir, file) {
3543
+ const rel = relative(outputDir, file).replace(/\.ts$/, ".js");
3544
+ return rel.startsWith(".") ? rel : `./${rel}`;
3545
+ }
3535
3546
  /**
3536
3547
  * The entry for a surface that serves itself.
3537
3548
  *
@@ -3544,10 +3555,12 @@ function selfServingSurface(options) {
3544
3555
  * The import specifier comes from discovery, which globbed the file and
3545
3556
  * imported it. Nothing about the surface is named here.
3546
3557
  */
3547
- async function writeSurfaceEntry(outputDir, source) {
3558
+ async function writeSurfaceEntry(outputDir, source, served = []) {
3548
3559
  await mkdir(outputDir, { recursive: true });
3549
- const rel = relative(outputDir, source.file).replace(/\.ts$/, ".js");
3550
- const specifier = rel.startsWith(".") ? rel : `./${rel}`;
3560
+ const specifier = specifierOf(outputDir, source.file);
3561
+ const modules = served.filter((file) => file !== source.file);
3562
+ const imports = modules.map((file, index) => `import * as served${index} from '${specifierOf(outputDir, file)}';\n`).join("");
3563
+ const options = modules.length ? `{ envParser, context: snifferContext, modules: [${modules.map((_, index) => `served${index}`).join(", ")}] }` : "{ envParser, context: snifferContext }";
3551
3564
  await writeFile(join(outputDir, "app.ts"), `/**
3552
3565
  * Generated entry for a surface that serves itself.
3553
3566
  *
@@ -3557,10 +3570,19 @@ async function writeSurfaceEntry(outputDir, source) {
3557
3570
  import { snifferContext } from '@geekmidas/constructs';
3558
3571
  import { defaultEnvParser } from '@geekmidas/constructs/endpoints';
3559
3572
  import { ${source.exportName} as surface } from '${specifier}';
3560
-
3573
+ ${imports}
3561
3574
  const envParser = defaultEnvParser();
3562
3575
 
3563
- export const { app } = await surface.server({ envParser, context: snifferContext });
3576
+ const served = await surface.server(${options});
3577
+
3578
+ export const app = served.app;
3579
+ /** Hands the HTTP server's upgrades to the surface, when it takes them. */
3580
+ export const attach: ((server: unknown) => void) | undefined = served.attach;
3581
+ /**
3582
+ * Ends what the HTTP server would otherwise wait on forever — open sockets —
3583
+ * before it is closed.
3584
+ */
3585
+ export const release: (() => Promise<void>) | undefined = served.release;
3564
3586
 
3565
3587
  export default app;
3566
3588
  `);
@@ -3588,6 +3610,9 @@ const shutdown = async () => {
3588
3610
  shuttingDown = true;
3589
3611
  const deadline = Number(process.env.GKM_SHUTDOWN_TIMEOUT_MS) || 8000;
3590
3612
  setTimeout(() => process.exit(1), deadline).unref();
3613
+ // Upgraded sockets hold the server open: they are closed first, with a code
3614
+ // that tells a client to reconnect elsewhere.
3615
+ await release?.();
3591
3616
  await new Promise<void>((resolve) => server.close(() => resolve()));
3592
3617
  await runShutdownHooks((error) => console.error(error));
3593
3618
  process.exit(0);
@@ -3606,7 +3631,7 @@ import { serve } from '@hono/node-server';
3606
3631
  import { Hono } from 'hono';
3607
3632
  ${options.gracefulShutdown ? "import { runShutdownHooks } from '@geekmidas/constructs';\n" : ""}
3608
3633
  ${startTelemetryCode([options.healthCheck])}
3609
- const { app: surface } = await import('./app.js');
3634
+ const { app: surface, attach, release } = await import('./app.js');
3610
3635
 
3611
3636
  const port = Number(process.env.PORT) || 3000;
3612
3637
 
@@ -3618,6 +3643,7 @@ app.get(${JSON.stringify(options.healthCheck)}, (c) =>
3618
3643
  app.route('/', surface);
3619
3644
 
3620
3645
  const server = serve({ fetch: app.fetch, port });
3646
+ attach?.(server);
3621
3647
  console.log(JSON.stringify({ msg: 'Production server started', port }));
3622
3648
  ${shutdown}`);
3623
3649
  return path;
@@ -3795,12 +3821,14 @@ async function buildApp(input) {
3795
3821
  const constructGlobs = config.constructs;
3796
3822
  const constructSources = {};
3797
3823
  const background = {};
3824
+ const served = {};
3798
3825
  const declared = constructGlobs ? await discover({
3799
3826
  patterns: constructGlobs,
3800
3827
  cwd: appRoot,
3801
3828
  bustCache,
3802
3829
  sources: constructSources,
3803
- background
3830
+ background,
3831
+ served
3804
3832
  }) : {};
3805
3833
  const selfServing = selfServingSurface({
3806
3834
  declared,
@@ -3809,7 +3837,7 @@ async function buildApp(input) {
3809
3837
  appRoot
3810
3838
  });
3811
3839
  if (selfServing) {
3812
- await writeSurfaceEntry(join(appRoot, ".gkm", "server"), selfServing.source);
3840
+ await writeSurfaceEntry(join(appRoot, ".gkm", "server"), selfServing.source, served[selfServing.id] ?? []);
3813
3841
  const telemetry = telemetryFor({
3814
3842
  node: telemetryOf(declared, selfServing.id),
3815
3843
  appRoot,
@@ -3826,7 +3854,7 @@ async function buildApp(input) {
3826
3854
  ...production,
3827
3855
  ...telemetry ? { telemetry } : {}
3828
3856
  });
3829
- const { bundleServer } = await import("./bundler-2V2PR_E-.mjs");
3857
+ const { bundleServer } = await import("./bundler-DqHozK8W.mjs");
3830
3858
  await bundleServer({
3831
3859
  entryPoint,
3832
3860
  outputDir: join(outputDir, "dist"),
@@ -4071,7 +4099,7 @@ async function buildWorkers(input) {
4071
4099
  });
4072
4100
  logger$4.log(`Generated worker ${worker.id}: ${crons.length} crons, ${queues.length} queues, ${subscribers.length} subscribers`);
4073
4101
  if (!input.bundle) continue;
4074
- const { bundleServer } = await import("./bundler-2V2PR_E-.mjs");
4102
+ const { bundleServer } = await import("./bundler-DqHozK8W.mjs");
4075
4103
  const outfile = workerBundleName(worker.id);
4076
4104
  await bundleServer({
4077
4105
  entryPoint,
@@ -4113,7 +4141,7 @@ async function buildProcessors(input) {
4113
4141
  for (const { key, construct } of processors) infos.push(await processorInfo(key, construct, handler, context));
4114
4142
  logger$4.log(`Generated processors for ${fileServerId}: ${processors.map(({ key }) => key).join(", ")}`);
4115
4143
  if (!input.bundle) continue;
4116
- const { bundleServer } = await import("./bundler-2V2PR_E-.mjs");
4144
+ const { bundleServer } = await import("./bundler-DqHozK8W.mjs");
4117
4145
  const outfile = processorBundleName(fileServerId);
4118
4146
  await bundleServer({
4119
4147
  entryPoint,
@@ -4196,7 +4224,7 @@ async function buildForTarget(target, context, appRoot, workspaceRoot, endpointG
4196
4224
  let masterKey;
4197
4225
  if (context.production?.bundle && !skipBundle) {
4198
4226
  logger$4.log(`\n📦 Bundling production server...`);
4199
- const { bundleServer } = await import("./bundler-2V2PR_E-.mjs");
4227
+ const { bundleServer } = await import("./bundler-DqHozK8W.mjs");
4200
4228
  const allConstructs = [
4201
4229
  ...endpoints.map((e) => e.construct),
4202
4230
  ...functions.map((f) => f.construct),
@@ -6030,25 +6058,25 @@ function loadPackageJson() {
6030
6058
  * Run: pnpm --filter @geekmidas/cli sync-versions
6031
6059
  */
6032
6060
  const GEEKMIDAS_VERSIONS = {
6033
- "@geekmidas/audit": "~10.0.0-alpha.126",
6034
- "@geekmidas/auth": "~10.0.0-alpha.126",
6035
- "@geekmidas/cache": "~10.0.0-alpha.126",
6036
- "@geekmidas/client": "~10.0.0-alpha.126",
6037
- "@geekmidas/cloud": "~10.0.0-alpha.126",
6038
- "@geekmidas/constructs": "~10.0.0-alpha.126",
6039
- "@geekmidas/db": "~10.0.0-alpha.126",
6040
- "@geekmidas/emailkit": "~10.0.0-alpha.126",
6041
- "@geekmidas/envkit": "~10.0.0-alpha.126",
6042
- "@geekmidas/errors": "~10.0.0-alpha.126",
6043
- "@geekmidas/events": "~10.0.0-alpha.126",
6044
- "@geekmidas/logger": "~10.0.0-alpha.126",
6045
- "@geekmidas/manifest": "~10.0.0-alpha.126",
6046
- "@geekmidas/rate-limit": "~10.0.0-alpha.126",
6047
- "@geekmidas/schema": "~10.0.0-alpha.126",
6048
- "@geekmidas/services": "~10.0.0-alpha.126",
6049
- "@geekmidas/storage": "~10.0.0-alpha.126",
6050
- "@geekmidas/telescope": "~10.0.0-alpha.126",
6051
- "@geekmidas/testkit": "~10.0.0-alpha.126",
6061
+ "@geekmidas/audit": "~10.0.0-alpha.127",
6062
+ "@geekmidas/auth": "~10.0.0-alpha.127",
6063
+ "@geekmidas/cache": "~10.0.0-alpha.127",
6064
+ "@geekmidas/client": "~10.0.0-alpha.127",
6065
+ "@geekmidas/cloud": "~10.0.0-alpha.127",
6066
+ "@geekmidas/constructs": "~10.0.0-alpha.127",
6067
+ "@geekmidas/db": "~10.0.0-alpha.127",
6068
+ "@geekmidas/emailkit": "~10.0.0-alpha.127",
6069
+ "@geekmidas/envkit": "~10.0.0-alpha.127",
6070
+ "@geekmidas/errors": "~10.0.0-alpha.127",
6071
+ "@geekmidas/events": "~10.0.0-alpha.127",
6072
+ "@geekmidas/logger": "~10.0.0-alpha.127",
6073
+ "@geekmidas/manifest": "~10.0.0-alpha.127",
6074
+ "@geekmidas/rate-limit": "~10.0.0-alpha.127",
6075
+ "@geekmidas/schema": "~10.0.0-alpha.127",
6076
+ "@geekmidas/services": "~10.0.0-alpha.127",
6077
+ "@geekmidas/storage": "~10.0.0-alpha.127",
6078
+ "@geekmidas/telescope": "~10.0.0-alpha.127",
6079
+ "@geekmidas/testkit": "~10.0.0-alpha.127",
6052
6080
  "@geekmidas/cli": `~${loadPackageJson().version}`
6053
6081
  };
6054
6082
  //#endregion
@@ -7241,7 +7269,7 @@ const COMMIT = /^[0-9a-f]{40}$/;
7241
7269
  * The `uses:` value for the stages action, with a comment saying which CLI
7242
7270
  * release the pinned commit is.
7243
7271
  */
7244
- function stagesActionUses(commit = "fba5cacc6aa27bc28fb25954325a4a62c13302e2", version = cliVersion()) {
7272
+ function stagesActionUses(commit = "ba2d3fd603ba7812a218838e777b845267582e05", version = cliVersion()) {
7245
7273
  return commit && COMMIT.test(commit) ? `${STAGES_ACTION}@${commit} # @geekmidas/cli ${version}` : `${STAGES_ACTION}@main # pin to a commit SHA: see the action's README`;
7246
7274
  }
7247
7275
  //#endregion
@@ -16213,8 +16241,8 @@ function testDatabases(reconciled) {
16213
16241
  * starts without the reference data the app needs.
16214
16242
  */
16215
16243
  async function migrateTestStage(workspace, env) {
16216
- const { migrateAndSeed } = await import("./migrate-DZeNpuX2.mjs");
16217
- const { discover } = await import("./discover-CzGM5P3p.mjs").then((n) => n.a);
16244
+ const { migrateAndSeed } = await import("./migrate-DQPEUiFC.mjs");
16245
+ const { discover } = await import("./discover-DOhYSKY_.mjs").then((n) => n.a);
16218
16246
  const sources = {};
16219
16247
  const manifest = await discover({
16220
16248
  patterns: constructGlobs(workspace),
@@ -16638,7 +16666,7 @@ program.command("eas:sync").description("Set up a mobile app's EAS project for a
16638
16666
  try {
16639
16667
  const globalOptions = program.opts();
16640
16668
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16641
- const { easSync } = await import("./eas-CxX2RCE_.mjs");
16669
+ const { easSync } = await import("./eas-Dlr1Lw56.mjs");
16642
16670
  await easSync(options);
16643
16671
  } catch (error) {
16644
16672
  exitWithError(error);
@@ -16648,7 +16676,7 @@ program.command("publish").description("Ship a mobile app for a deployed stage:
16648
16676
  try {
16649
16677
  const globalOptions = program.opts();
16650
16678
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16651
- const { publish, PublishModeConflict } = await import("./publish-BsnDeOVL.mjs");
16679
+ const { publish, PublishModeConflict } = await import("./publish-VYt4xOOc.mjs");
16652
16680
  if (options.build && options.update) throw new PublishModeConflict();
16653
16681
  const { build, update, ...rest } = options;
16654
16682
  await publish({
@@ -16664,7 +16692,7 @@ program.command("deploy:google-play").description("Let EAS Submit publish a mobi
16664
16692
  try {
16665
16693
  const globalOptions = program.opts();
16666
16694
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16667
- const { deployGooglePlay } = await import("./googlePlay-DTuvDHi5.mjs");
16695
+ const { deployGooglePlay } = await import("./googlePlay-Nqc4EAiC.mjs");
16668
16696
  await deployGooglePlay(options);
16669
16697
  } catch (error) {
16670
16698
  exitWithError(error);
@@ -16686,7 +16714,7 @@ program.command("migrate").description("Apply each database construct's migratio
16686
16714
  try {
16687
16715
  const globalOptions = program.opts();
16688
16716
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16689
- const { migrateCommand } = await import("./migrate-DZeNpuX2.mjs");
16717
+ const { migrateCommand } = await import("./migrate-DQPEUiFC.mjs");
16690
16718
  await migrateCommand({
16691
16719
  ...options,
16692
16720
  ...construct ? { construct } : {}
@@ -16699,7 +16727,7 @@ program.command("seed").description("Migrate, then run each database construct's
16699
16727
  try {
16700
16728
  const globalOptions = program.opts();
16701
16729
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16702
- const { seedCommand } = await import("./migrate-DZeNpuX2.mjs");
16730
+ const { seedCommand } = await import("./migrate-DQPEUiFC.mjs");
16703
16731
  await seedCommand({
16704
16732
  ...options,
16705
16733
  ...construct ? { construct } : {}
@@ -16712,7 +16740,7 @@ program.command("migration").description("Write a construct's next migration: an
16712
16740
  try {
16713
16741
  const globalOptions = program.opts();
16714
16742
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16715
- const { migrationCommand } = await import("./migrate-DZeNpuX2.mjs");
16743
+ const { migrationCommand } = await import("./migrate-DQPEUiFC.mjs");
16716
16744
  await migrationCommand({
16717
16745
  construct,
16718
16746
  ...name ? { name } : {}
@@ -16812,7 +16840,7 @@ program.command("secrets:add").description("Build the keys a stage must be given
16812
16840
  try {
16813
16841
  const globalOptions = program.opts();
16814
16842
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16815
- const { secretsAddCommand } = await import("./add-CamA9Uqv.mjs");
16843
+ const { secretsAddCommand } = await import("./add-CgyyN6aF.mjs");
16816
16844
  await secretsAddCommand(options);
16817
16845
  } catch (error) {
16818
16846
  exitWithError(error);
@@ -16822,7 +16850,7 @@ program.command("encryption:rotate").description("Add a new current key to an En
16822
16850
  try {
16823
16851
  const globalOptions = program.opts();
16824
16852
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16825
- const { encryptionRotateCommand } = await import("./encryption-BFSrt89F.mjs");
16853
+ const { encryptionRotateCommand } = await import("./encryption-D0tWRvy_.mjs");
16826
16854
  await encryptionRotateCommand(construct, options);
16827
16855
  } catch (error) {
16828
16856
  exitWithError(error);
@@ -16832,7 +16860,7 @@ program.command("encryption:retire").description("Remove an old key from an Encr
16832
16860
  try {
16833
16861
  const globalOptions = program.opts();
16834
16862
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16835
- const { encryptionRetireCommand } = await import("./encryption-BFSrt89F.mjs");
16863
+ const { encryptionRetireCommand } = await import("./encryption-D0tWRvy_.mjs");
16836
16864
  await encryptionRetireCommand(construct, key, options);
16837
16865
  } catch (error) {
16838
16866
  exitWithError(error);
@@ -16871,7 +16899,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
16871
16899
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16872
16900
  const { loadWorkspaceConfig } = await import("./config.mjs");
16873
16901
  const { reconcileMissingSecrets } = await import("./reconcile--I7V4Klj.mjs");
16874
- const { secretsStoreFor } = await import("./seeds-Cfejy8wj.mjs").then((n) => n.Zt);
16902
+ const { secretsStoreFor } = await import("./seeds-BX9pskrU.mjs").then((n) => n.Zt);
16875
16903
  const { workspace } = await loadWorkspaceConfig();
16876
16904
  const stage = options.stage ?? workspace.stages.local;
16877
16905
  const store = await secretsStoreFor(workspace, stage);
@@ -16880,7 +16908,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
16880
16908
  console.error(`No secrets found for stage "${stage}". Run "gkm secrets:init --stage ${stage}" first.`);
16881
16909
  process.exit(1);
16882
16910
  }
16883
- const { derivedContainers } = await import("./seeds-Cfejy8wj.mjs").then((n) => n.Dt);
16911
+ const { derivedContainers } = await import("./seeds-BX9pskrU.mjs").then((n) => n.Dt);
16884
16912
  const result = reconcileMissingSecrets(secrets, workspace, await derivedContainers(workspace, stage));
16885
16913
  if (!result) {
16886
16914
  console.log(`\n✓ Secrets for stage "${stage}" are up-to-date`);
@@ -16897,14 +16925,14 @@ program.command("secrets:migrate").description("Copy a deployed stage's secrets
16897
16925
  try {
16898
16926
  const globalOptions = program.opts();
16899
16927
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16900
- const { secretsMigrateCommand } = await import("./migrate-BABIuzQj.mjs");
16928
+ const { secretsMigrateCommand } = await import("./migrate-C7exqXTD.mjs");
16901
16929
  await secretsMigrateCommand(options);
16902
16930
  } catch (error) {
16903
16931
  exitWithError(error);
16904
16932
  }
16905
16933
  });
16906
16934
  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) => {
16907
- const { deployCli } = await import("./cli-PiyYqHGx.mjs");
16935
+ const { deployCli } = await import("./cli-D_BQkb4B.mjs");
16908
16936
  const globalOptions = program.opts();
16909
16937
  const code = await deployCli({
16910
16938
  cwd: resolve(globalOptions.cwd ?? process.cwd()),
@@ -16924,8 +16952,8 @@ program.command("deploy").description("Deploy a stage through its target").optio
16924
16952
  });
16925
16953
  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) => {
16926
16954
  try {
16927
- const { rollbackStage } = await import("./rollback-BkhVrtAf.mjs").then((n) => n.a);
16928
- const { terminalCredentials } = await import("./terminal-bqY33lpN.mjs");
16955
+ const { rollbackStage } = await import("./rollback-dUShCpZu.mjs").then((n) => n.a);
16956
+ const { terminalCredentials } = await import("./terminal-CebFDhWQ.mjs");
16929
16957
  const globalOptions = program.opts();
16930
16958
  await rollbackStage({
16931
16959
  cwd: resolve(globalOptions.cwd ?? process.cwd()),
@@ -16943,7 +16971,7 @@ program.command("compose:server").description("Set up a stage's server for compo
16943
16971
  try {
16944
16972
  const globalOptions = program.opts();
16945
16973
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16946
- const { composeServerCommand } = await import("./serverSetup-C8ZbHTm_.mjs");
16974
+ const { composeServerCommand } = await import("./serverSetup-BvHpm7QD.mjs");
16947
16975
  await composeServerCommand(options);
16948
16976
  } catch (error) {
16949
16977
  exitWithError(error);
@@ -16968,7 +16996,7 @@ program.command("deploy:github").description("Let GitHub Actions deploy a stage:
16968
16996
  try {
16969
16997
  const globalOptions = program.opts();
16970
16998
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16971
- const { deployGithubCommand } = await import("./github-Dck0nLW9.mjs");
16999
+ const { deployGithubCommand } = await import("./github-VQaj8gLE.mjs");
16972
17000
  await deployGithubCommand(options);
16973
17001
  } catch (error) {
16974
17002
  exitWithError(error);