@geekmidas/cli 10.0.0-alpha.125 → 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 (229) 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-BN1dODm9.mjs → GoDaddyProvider-BG-UdElN.mjs} +2 -2
  6. package/dist/{GoDaddyProvider-BN1dODm9.mjs.map → GoDaddyProvider-BG-UdElN.mjs.map} +1 -1
  7. package/dist/{GoDaddyProvider-BTdtqhI_.cjs → GoDaddyProvider-DnmLq7eo.cjs} +2 -2
  8. package/dist/{GoDaddyProvider-BTdtqhI_.cjs.map → GoDaddyProvider-DnmLq7eo.cjs.map} +1 -1
  9. package/dist/{LegacyStateStore-C2S8TGwx.cjs → LegacyStateStore-CeBkK9K2.cjs} +3 -3
  10. package/dist/{LegacyStateStore-C2S8TGwx.cjs.map → LegacyStateStore-CeBkK9K2.cjs.map} +1 -1
  11. package/dist/{LegacyStateStore-DgXmuG87.mjs → LegacyStateStore-DHG_4jcn.mjs} +3 -3
  12. package/dist/{LegacyStateStore-DgXmuG87.mjs.map → LegacyStateStore-DHG_4jcn.mjs.map} +1 -1
  13. package/dist/{LocalStateStore-ojY_BiMK.mjs → LocalStateStore-EenTHwr4.mjs} +2 -2
  14. package/dist/{LocalStateStore-ojY_BiMK.mjs.map → LocalStateStore-EenTHwr4.mjs.map} +1 -1
  15. package/dist/{LocalStateStore-CaJw9H-3.cjs → LocalStateStore-HRnBQFe3.cjs} +2 -2
  16. package/dist/{LocalStateStore-CaJw9H-3.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-BqugXIcb.cjs → S3StateStore-DyLljVN1.cjs} +2 -2
  22. package/dist/{S3StateStore-BqugXIcb.cjs.map → S3StateStore-DyLljVN1.cjs.map} +1 -1
  23. package/dist/{S3StateStore-BSPkxhrx.mjs → S3StateStore-vbkyBnRB.mjs} +2 -2
  24. package/dist/{S3StateStore-BSPkxhrx.mjs.map → S3StateStore-vbkyBnRB.mjs.map} +1 -1
  25. package/dist/{SSMStateStore-B0OsuT_k.cjs → SSMStateStore-BBKlmfaU.cjs} +2 -2
  26. package/dist/{SSMStateStore-B0OsuT_k.cjs.map → SSMStateStore-BBKlmfaU.cjs.map} +1 -1
  27. package/dist/{SSMStateStore-DM85OiH0.mjs → SSMStateStore-uk2QLUgz.mjs} +2 -2
  28. package/dist/{SSMStateStore-DM85OiH0.mjs.map → SSMStateStore-uk2QLUgz.mjs.map} +1 -1
  29. package/dist/{SubscriberGenerator-ocQ2yj0K.mjs → SubscriberGenerator-0ruEmYXj.mjs} +4 -62
  30. package/dist/SubscriberGenerator-0ruEmYXj.mjs.map +1 -0
  31. package/dist/{SubscriberGenerator-BDUp7OeY.cjs → SubscriberGenerator-CPjbWEOI.cjs} +3 -91
  32. package/dist/SubscriberGenerator-CPjbWEOI.cjs.map +1 -0
  33. package/dist/{add-CrxvmSpq.cjs → add-CH7-9AHI.cjs} +7 -7
  34. package/dist/add-CH7-9AHI.cjs.map +1 -0
  35. package/dist/{add-C7ZBXIzM.mjs → add-CgyyN6aF.mjs} +7 -7
  36. package/dist/add-CgyyN6aF.mjs.map +1 -0
  37. package/dist/{bundler-DVUXW95p.cjs → bundler-BtAkF9wb.cjs} +5 -5
  38. package/dist/{bundler-DVUXW95p.cjs.map → bundler-BtAkF9wb.cjs.map} +1 -1
  39. package/dist/{bundler-DpZ9uBGN.mjs → bundler-DqHozK8W.mjs} +5 -5
  40. package/dist/{bundler-DpZ9uBGN.mjs.map → bundler-DqHozK8W.mjs.map} +1 -1
  41. package/dist/{cli-BMRhE6cZ.cjs → cli-D08bMg7m.cjs} +3 -3
  42. package/dist/{cli-BMRhE6cZ.cjs.map → cli-D08bMg7m.cjs.map} +1 -1
  43. package/dist/{cli-BWfYyy1k.mjs → cli-D_BQkb4B.mjs} +3 -3
  44. package/dist/{cli-BWfYyy1k.mjs.map → cli-D_BQkb4B.mjs.map} +1 -1
  45. package/dist/{compose-Bqcy0lqo.cjs → compose-BK9s_2Qe.cjs} +73 -44
  46. package/dist/compose-BK9s_2Qe.cjs.map +1 -0
  47. package/dist/{compose-BFmdLig3.mjs → compose-CIzCcsoz.mjs} +72 -43
  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/{databases-BPOgTn1u.mjs → databases-6GD0tI2F.mjs} +65 -3
  62. package/dist/databases-6GD0tI2F.mjs.map +1 -0
  63. package/dist/{databases-fOaoBInm.cjs → databases-CuVGf7-M.cjs} +75 -1
  64. package/dist/databases-CuVGf7-M.cjs.map +1 -0
  65. package/dist/deploy/public.cjs +8 -8
  66. package/dist/deploy/public.d.cts +3 -3
  67. package/dist/deploy/public.d.cts.map +1 -1
  68. package/dist/deploy/public.d.mts +3 -3
  69. package/dist/deploy/public.d.mts.map +1 -1
  70. package/dist/deploy/public.mjs +8 -8
  71. package/dist/{deploy-DVrNjX1X.cjs → deploy-A_fzSa59.cjs} +10 -10
  72. package/dist/deploy-A_fzSa59.cjs.map +1 -0
  73. package/dist/{deploy-D8pUA9Y0.mjs → deploy-BVf6c_h8.mjs} +10 -10
  74. package/dist/deploy-BVf6c_h8.mjs.map +1 -0
  75. package/dist/{derive-DAbo49sm.cjs → derive-BtGidITm.cjs} +7 -7
  76. package/dist/derive-BtGidITm.cjs.map +1 -0
  77. package/dist/{derive-B4vDpzgP.mjs → derive-Dew0QoGe.mjs} +7 -7
  78. package/dist/derive-Dew0QoGe.mjs.map +1 -0
  79. package/dist/{discover-DL6h-J97.cjs → discover-DEOspD9M.cjs} +12 -1
  80. package/dist/discover-DEOspD9M.cjs.map +1 -0
  81. package/dist/{discover-CzGM5P3p.mjs → discover-DOhYSKY_.mjs} +12 -1
  82. package/dist/discover-DOhYSKY_.mjs.map +1 -0
  83. package/dist/{dokploy-TtK6Zyl3.cjs → dokploy-CshlFRwr.cjs} +2 -2
  84. package/dist/{dokploy-TtK6Zyl3.cjs.map → dokploy-CshlFRwr.cjs.map} +1 -1
  85. package/dist/{dokploy-CzDGNB6A.mjs → dokploy-DOndleTd.mjs} +2 -2
  86. package/dist/{dokploy-CzDGNB6A.mjs.map → dokploy-DOndleTd.mjs.map} +1 -1
  87. package/dist/{drivers-L29WvE95.cjs → drivers-C47nm-wB.cjs} +91 -4
  88. package/dist/drivers-C47nm-wB.cjs.map +1 -0
  89. package/dist/{drivers-C-VqMtld.mjs → drivers-CDjpjakg.mjs} +60 -3
  90. package/dist/drivers-CDjpjakg.mjs.map +1 -0
  91. package/dist/{eas-D3clzkni.cjs → eas-ApfPYR4-.cjs} +3 -3
  92. package/dist/{eas-D3clzkni.cjs.map → eas-ApfPYR4-.cjs.map} +1 -1
  93. package/dist/{eas-DaobzDks.mjs → eas-Dlr1Lw56.mjs} +3 -3
  94. package/dist/{eas-DaobzDks.mjs.map → eas-Dlr1Lw56.mjs.map} +1 -1
  95. package/dist/{encryption-DV31gEY8.mjs → encryption-D0tWRvy_.mjs} +2 -2
  96. package/dist/{encryption-DV31gEY8.mjs.map → encryption-D0tWRvy_.mjs.map} +1 -1
  97. package/dist/{encryption-DBkIFiR2.cjs → encryption-SGWvnBxV.cjs} +2 -2
  98. package/dist/{encryption-DBkIFiR2.cjs.map → encryption-SGWvnBxV.cjs.map} +1 -1
  99. package/dist/{engine-CuZUGbEh.cjs → engine-CYu4wavP.cjs} +9 -7
  100. package/dist/engine-CYu4wavP.cjs.map +1 -0
  101. package/dist/{engine-CFOR9h6X.mjs → engine-DKz1NYDX.mjs} +9 -7
  102. package/dist/engine-DKz1NYDX.mjs.map +1 -0
  103. package/dist/{github-CsvtWSBW.cjs → github-CxWaWQtW.cjs} +5 -5
  104. package/dist/{github-CsvtWSBW.cjs.map → github-CxWaWQtW.cjs.map} +1 -1
  105. package/dist/{github-Nep8pI4_.mjs → github-VQaj8gLE.mjs} +5 -5
  106. package/dist/{github-Nep8pI4_.mjs.map → github-VQaj8gLE.mjs.map} +1 -1
  107. package/dist/{googlePlay-C-UfBXJU.cjs → googlePlay-4KVtZ89D.cjs} +3 -3
  108. package/dist/{googlePlay-C-UfBXJU.cjs.map → googlePlay-4KVtZ89D.cjs.map} +1 -1
  109. package/dist/{googlePlay-lF7Atm_N.mjs → googlePlay-Nqc4EAiC.mjs} +3 -3
  110. package/dist/{googlePlay-lF7Atm_N.mjs.map → googlePlay-Nqc4EAiC.mjs.map} +1 -1
  111. package/dist/{index-DrkV7N5w.d.mts → index-Cu8eIwUW.d.mts} +2 -2
  112. package/dist/{index-DrkV7N5w.d.mts.map → index-Cu8eIwUW.d.mts.map} +1 -1
  113. package/dist/{index-yaXZ9m-J.d.cts → index-Dx93n3Ur.d.cts} +2 -2
  114. package/dist/{index-yaXZ9m-J.d.cts.map → index-Dx93n3Ur.d.cts.map} +1 -1
  115. package/dist/index.cjs +105 -76
  116. package/dist/index.cjs.map +1 -1
  117. package/dist/index.mjs +104 -75
  118. package/dist/index.mjs.map +1 -1
  119. package/dist/{migrate-hlNKNWmg.cjs → migrate-BQPRclv2.cjs} +2 -2
  120. package/dist/{migrate-hlNKNWmg.cjs.map → migrate-BQPRclv2.cjs.map} +1 -1
  121. package/dist/{migrate-_sBX0pve.mjs → migrate-C7exqXTD.mjs} +2 -2
  122. package/dist/{migrate-_sBX0pve.mjs.map → migrate-C7exqXTD.mjs.map} +1 -1
  123. package/dist/{migrate-NfbPVhi9.mjs → migrate-DQPEUiFC.mjs} +7 -5
  124. package/dist/migrate-DQPEUiFC.mjs.map +1 -0
  125. package/dist/{migrate-Dp3GhFnf.cjs → migrate-DTv6LHux.cjs} +7 -5
  126. package/dist/migrate-DTv6LHux.cjs.map +1 -0
  127. package/dist/openapi.cjs +3 -3
  128. package/dist/openapi.d.cts +1 -1
  129. package/dist/openapi.d.mts +1 -1
  130. package/dist/openapi.mjs +3 -3
  131. package/dist/{publish-ZOo4xEuZ.cjs → publish-CgwqwKDs.cjs} +2 -2
  132. package/dist/{publish-ZOo4xEuZ.cjs.map → publish-CgwqwKDs.cjs.map} +1 -1
  133. package/dist/{publish-BuUVaZVy.mjs → publish-VYt4xOOc.mjs} +2 -2
  134. package/dist/{publish-BuUVaZVy.mjs.map → publish-VYt4xOOc.mjs.map} +1 -1
  135. package/dist/{ready-Ca883OvY.mjs → ready-BwtLriAF.mjs} +6 -6
  136. package/dist/{ready-Ca883OvY.mjs.map → ready-BwtLriAF.mjs.map} +1 -1
  137. package/dist/{ready-qnqp6JAY.cjs → ready-Cj4pI0dw.cjs} +6 -6
  138. package/dist/{ready-qnqp6JAY.cjs.map → ready-Cj4pI0dw.cjs.map} +1 -1
  139. package/dist/reconcile/public.cjs +1 -1
  140. package/dist/reconcile/public.d.cts +1 -1
  141. package/dist/reconcile/public.d.mts +1 -1
  142. package/dist/reconcile/public.mjs +1 -1
  143. package/dist/{resolve-C9QqOl5t.cjs → resolve-C-W3kZM7.cjs} +4 -4
  144. package/dist/{resolve-C9QqOl5t.cjs.map → resolve-C-W3kZM7.cjs.map} +1 -1
  145. package/dist/{resolve-BCU9pYDx.mjs → resolve-CCVCc43b.mjs} +4 -4
  146. package/dist/{resolve-BCU9pYDx.mjs.map → resolve-CCVCc43b.mjs.map} +1 -1
  147. package/dist/{rollback-CTWdDBgB.cjs → rollback-CdBj1Boy.cjs} +4 -4
  148. package/dist/{rollback-CTWdDBgB.cjs.map → rollback-CdBj1Boy.cjs.map} +1 -1
  149. package/dist/{rollback-CWyyTQ0B.mjs → rollback-dUShCpZu.mjs} +4 -4
  150. package/dist/{rollback-CWyyTQ0B.mjs.map → rollback-dUShCpZu.mjs.map} +1 -1
  151. package/dist/{runtime-DCkfI2E7.d.mts → runtime-C_1PteGG.d.cts} +2 -2
  152. package/dist/{runtime-DCkfI2E7.d.mts.map → runtime-C_1PteGG.d.cts.map} +1 -1
  153. package/dist/{runtime-Ie4znWIB.d.cts → runtime-jjB2e3-M.d.mts} +2 -2
  154. package/dist/{runtime-Ie4znWIB.d.cts.map → runtime-jjB2e3-M.d.mts.map} +1 -1
  155. package/dist/sandbox/credentials-worker.cjs +2 -2
  156. package/dist/sandbox/credentials-worker.mjs +2 -2
  157. package/dist/sandbox/discover-worker.cjs +1 -1
  158. package/dist/sandbox/discover-worker.mjs +1 -1
  159. package/dist/sandbox/migrate-worker.cjs +5 -4
  160. package/dist/sandbox/migrate-worker.cjs.map +1 -1
  161. package/dist/sandbox/migrate-worker.mjs +5 -4
  162. package/dist/sandbox/migrate-worker.mjs.map +1 -1
  163. package/dist/{seeds-CK7w79VC.mjs → seeds-BX9pskrU.mjs} +67 -27
  164. package/dist/seeds-BX9pskrU.mjs.map +1 -0
  165. package/dist/{seeds-CPEcmoPn.cjs → seeds-sMVADbkg.cjs} +74 -34
  166. package/dist/seeds-sMVADbkg.cjs.map +1 -0
  167. package/dist/{serverSetup-C6t6Vtt7.cjs → serverSetup-4avavig6.cjs} +25 -5
  168. package/dist/serverSetup-4avavig6.cjs.map +1 -0
  169. package/dist/{serverSetup-BAPNuNEX.mjs → serverSetup-BvHpm7QD.mjs} +25 -5
  170. package/dist/serverSetup-BvHpm7QD.mjs.map +1 -0
  171. package/dist/{sniffer-DdX_WN_-.cjs → sniffer-DWLala8l.cjs} +7 -7
  172. package/dist/{sniffer-DdX_WN_-.cjs.map → sniffer-DWLala8l.cjs.map} +1 -1
  173. package/dist/{sniffer-g9v7cqDN.mjs → sniffer-XnAnEbuI.mjs} +7 -7
  174. package/dist/{sniffer-g9v7cqDN.mjs.map → sniffer-XnAnEbuI.mjs.map} +1 -1
  175. package/dist/{snsSubscriptions-BmYeeTH8.mjs → snsSubscriptions-BxLJQH4u.mjs} +3 -3
  176. package/dist/{snsSubscriptions-BmYeeTH8.mjs.map → snsSubscriptions-BxLJQH4u.mjs.map} +1 -1
  177. package/dist/{snsSubscriptions-5Cqww8S7.cjs → snsSubscriptions-f_z4PSFb.cjs} +3 -3
  178. package/dist/{snsSubscriptions-5Cqww8S7.cjs.map → snsSubscriptions-f_z4PSFb.cjs.map} +1 -1
  179. package/dist/{sst-lEkBwzGc.cjs → sst-DmVJRu5l.cjs} +2 -2
  180. package/dist/{sst-lEkBwzGc.cjs.map → sst-DmVJRu5l.cjs.map} +1 -1
  181. package/dist/{sst-CTqZZl1_.mjs → sst-fop6uZ25.mjs} +2 -2
  182. package/dist/{sst-CTqZZl1_.mjs.map → sst-fop6uZ25.mjs.map} +1 -1
  183. package/dist/{stage-CUE5pMmw.cjs → stage-ZWOE0oLB.cjs} +5 -5
  184. package/dist/{stage-CUE5pMmw.cjs.map → stage-ZWOE0oLB.cjs.map} +1 -1
  185. package/dist/{stage-C-I2dVw1.mjs → stage-mta618Oy.mjs} +5 -5
  186. package/dist/{stage-C-I2dVw1.mjs.map → stage-mta618Oy.mjs.map} +1 -1
  187. package/dist/target/public.cjs +1 -1
  188. package/dist/target/public.d.cts +2 -2
  189. package/dist/target/public.d.mts +2 -2
  190. package/dist/target/public.mjs +1 -1
  191. package/dist/{terminal-bqY33lpN.mjs → terminal-CebFDhWQ.mjs} +2 -2
  192. package/dist/{terminal-bqY33lpN.mjs.map → terminal-CebFDhWQ.mjs.map} +1 -1
  193. package/dist/{terminal-PKhPAajN.cjs → terminal-DBwedwSS.cjs} +2 -2
  194. package/dist/{terminal-PKhPAajN.cjs.map → terminal-DBwedwSS.cjs.map} +1 -1
  195. package/dist/{types-Bmjs4jZV.d.mts → types-DLANxOpy.d.mts} +7 -1
  196. package/dist/types-DLANxOpy.d.mts.map +1 -0
  197. package/dist/{types-D0IsQxES.d.cts → types-SEHMr6Aw.d.cts} +7 -1
  198. package/dist/types-SEHMr6Aw.d.cts.map +1 -0
  199. package/dist/vitest.cjs +1 -1
  200. package/dist/vitest.mjs +1 -1
  201. package/dist/workspace/index.d.cts +2 -2
  202. package/dist/workspace/index.d.mts +2 -2
  203. package/package.json +15 -15
  204. package/dist/SubscriberGenerator-BDUp7OeY.cjs.map +0 -1
  205. package/dist/SubscriberGenerator-ocQ2yj0K.mjs.map +0 -1
  206. package/dist/add-C7ZBXIzM.mjs.map +0 -1
  207. package/dist/add-CrxvmSpq.cjs.map +0 -1
  208. package/dist/compose-BFmdLig3.mjs.map +0 -1
  209. package/dist/compose-Bqcy0lqo.cjs.map +0 -1
  210. package/dist/databases-BPOgTn1u.mjs.map +0 -1
  211. package/dist/databases-fOaoBInm.cjs.map +0 -1
  212. package/dist/deploy-D8pUA9Y0.mjs.map +0 -1
  213. package/dist/deploy-DVrNjX1X.cjs.map +0 -1
  214. package/dist/derive-B4vDpzgP.mjs.map +0 -1
  215. package/dist/derive-DAbo49sm.cjs.map +0 -1
  216. package/dist/discover-CzGM5P3p.mjs.map +0 -1
  217. package/dist/discover-DL6h-J97.cjs.map +0 -1
  218. package/dist/drivers-C-VqMtld.mjs.map +0 -1
  219. package/dist/drivers-L29WvE95.cjs.map +0 -1
  220. package/dist/engine-CFOR9h6X.mjs.map +0 -1
  221. package/dist/engine-CuZUGbEh.cjs.map +0 -1
  222. package/dist/migrate-Dp3GhFnf.cjs.map +0 -1
  223. package/dist/migrate-NfbPVhi9.mjs.map +0 -1
  224. package/dist/seeds-CK7w79VC.mjs.map +0 -1
  225. package/dist/seeds-CPEcmoPn.cjs.map +0 -1
  226. package/dist/serverSetup-BAPNuNEX.mjs.map +0 -1
  227. package/dist/serverSetup-C6t6Vtt7.cjs.map +0 -1
  228. package/dist/types-Bmjs4jZV.d.mts.map +0 -1
  229. 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-BFmdLig3.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-BmYeeTH8.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-CK7w79VC.mjs";
10
- import { t as appKey } from "./derive-B4vDpzgP.mjs";
11
- import { f as isCacheBackend, n as assertTestCredentials, t as SubscriberGenerator } from "./SubscriberGenerator-ocQ2yj0K.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
+ 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-0ruEmYXj.mjs";
16
17
  import { generateOpenApi, openapiCommand, resolveOpenApiConfig } from "./openapi.mjs";
17
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";
18
- import { a as opensKmsKeys, n as driversFor, r as eventsBackendsIn, t as cacheBackendsIn } from "./drivers-C-VqMtld.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-g9v7cqDN.mjs";
22
- import { t as deploy$1 } from "./deploy-D8pUA9Y0.mjs";
23
- import { o as loadCredentialSchemas, t as CredentialsInvalid } from "./credentialSchemas-DaMpt-Dx.mjs";
24
- import { t as LocalStateStore } from "./LocalStateStore-ojY_BiMK.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-Ca883OvY.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.125";
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-g9v7cqDN.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-C-I2dVw1.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-NfbPVhi9.mjs");
2750
+ const { prepareDevDatabases } = await import("./migrate-DQPEUiFC.mjs");
2751
2751
  await prepareDevDatabases(workspace, reconciled.env, { seed: !!options.seed });
2752
- } else await import("./migrate-NfbPVhi9.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-DpZ9uBGN.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-DpZ9uBGN.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-DpZ9uBGN.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-DpZ9uBGN.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.125",
6034
- "@geekmidas/auth": "~10.0.0-alpha.125",
6035
- "@geekmidas/cache": "~10.0.0-alpha.125",
6036
- "@geekmidas/client": "~10.0.0-alpha.125",
6037
- "@geekmidas/cloud": "~10.0.0-alpha.125",
6038
- "@geekmidas/constructs": "~10.0.0-alpha.125",
6039
- "@geekmidas/db": "~10.0.0-alpha.125",
6040
- "@geekmidas/emailkit": "~10.0.0-alpha.125",
6041
- "@geekmidas/envkit": "~10.0.0-alpha.125",
6042
- "@geekmidas/errors": "~10.0.0-alpha.125",
6043
- "@geekmidas/events": "~10.0.0-alpha.125",
6044
- "@geekmidas/logger": "~10.0.0-alpha.125",
6045
- "@geekmidas/manifest": "~10.0.0-alpha.125",
6046
- "@geekmidas/rate-limit": "~10.0.0-alpha.125",
6047
- "@geekmidas/schema": "~10.0.0-alpha.125",
6048
- "@geekmidas/services": "~10.0.0-alpha.125",
6049
- "@geekmidas/storage": "~10.0.0-alpha.125",
6050
- "@geekmidas/telescope": "~10.0.0-alpha.125",
6051
- "@geekmidas/testkit": "~10.0.0-alpha.125",
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 = "72a50c6bd9e71af983cc5e2a7c9f3654bfc1afdc", 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-NfbPVhi9.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),
@@ -16226,7 +16254,8 @@ async function migrateTestStage(workspace, env) {
16226
16254
  manifest,
16227
16255
  sources,
16228
16256
  env,
16229
- stage: TEST_STAGE
16257
+ stage: TEST_STAGE,
16258
+ backends: backendsOf$1(workspace)
16230
16259
  });
16231
16260
  for (const { target, applied } of migrations) if (applied.length > 0) console.log(` 🗄️ ${target.migrations}: applied ${applied.join(", ")}`);
16232
16261
  for (const { target, seeded } of seeds) if (seeded.length > 0) console.log(` 🌱 ${target.seeds}: ran ${seeded.join(", ")}`);
@@ -16637,7 +16666,7 @@ program.command("eas:sync").description("Set up a mobile app's EAS project for a
16637
16666
  try {
16638
16667
  const globalOptions = program.opts();
16639
16668
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16640
- const { easSync } = await import("./eas-DaobzDks.mjs");
16669
+ const { easSync } = await import("./eas-Dlr1Lw56.mjs");
16641
16670
  await easSync(options);
16642
16671
  } catch (error) {
16643
16672
  exitWithError(error);
@@ -16647,7 +16676,7 @@ program.command("publish").description("Ship a mobile app for a deployed stage:
16647
16676
  try {
16648
16677
  const globalOptions = program.opts();
16649
16678
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16650
- const { publish, PublishModeConflict } = await import("./publish-BuUVaZVy.mjs");
16679
+ const { publish, PublishModeConflict } = await import("./publish-VYt4xOOc.mjs");
16651
16680
  if (options.build && options.update) throw new PublishModeConflict();
16652
16681
  const { build, update, ...rest } = options;
16653
16682
  await publish({
@@ -16663,7 +16692,7 @@ program.command("deploy:google-play").description("Let EAS Submit publish a mobi
16663
16692
  try {
16664
16693
  const globalOptions = program.opts();
16665
16694
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16666
- const { deployGooglePlay } = await import("./googlePlay-lF7Atm_N.mjs");
16695
+ const { deployGooglePlay } = await import("./googlePlay-Nqc4EAiC.mjs");
16667
16696
  await deployGooglePlay(options);
16668
16697
  } catch (error) {
16669
16698
  exitWithError(error);
@@ -16685,7 +16714,7 @@ program.command("migrate").description("Apply each database construct's migratio
16685
16714
  try {
16686
16715
  const globalOptions = program.opts();
16687
16716
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16688
- const { migrateCommand } = await import("./migrate-NfbPVhi9.mjs");
16717
+ const { migrateCommand } = await import("./migrate-DQPEUiFC.mjs");
16689
16718
  await migrateCommand({
16690
16719
  ...options,
16691
16720
  ...construct ? { construct } : {}
@@ -16698,7 +16727,7 @@ program.command("seed").description("Migrate, then run each database construct's
16698
16727
  try {
16699
16728
  const globalOptions = program.opts();
16700
16729
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16701
- const { seedCommand } = await import("./migrate-NfbPVhi9.mjs");
16730
+ const { seedCommand } = await import("./migrate-DQPEUiFC.mjs");
16702
16731
  await seedCommand({
16703
16732
  ...options,
16704
16733
  ...construct ? { construct } : {}
@@ -16711,7 +16740,7 @@ program.command("migration").description("Write a construct's next migration: an
16711
16740
  try {
16712
16741
  const globalOptions = program.opts();
16713
16742
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16714
- const { migrationCommand } = await import("./migrate-NfbPVhi9.mjs");
16743
+ const { migrationCommand } = await import("./migrate-DQPEUiFC.mjs");
16715
16744
  await migrationCommand({
16716
16745
  construct,
16717
16746
  ...name ? { name } : {}
@@ -16811,7 +16840,7 @@ program.command("secrets:add").description("Build the keys a stage must be given
16811
16840
  try {
16812
16841
  const globalOptions = program.opts();
16813
16842
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16814
- const { secretsAddCommand } = await import("./add-C7ZBXIzM.mjs");
16843
+ const { secretsAddCommand } = await import("./add-CgyyN6aF.mjs");
16815
16844
  await secretsAddCommand(options);
16816
16845
  } catch (error) {
16817
16846
  exitWithError(error);
@@ -16821,7 +16850,7 @@ program.command("encryption:rotate").description("Add a new current key to an En
16821
16850
  try {
16822
16851
  const globalOptions = program.opts();
16823
16852
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16824
- const { encryptionRotateCommand } = await import("./encryption-DV31gEY8.mjs");
16853
+ const { encryptionRotateCommand } = await import("./encryption-D0tWRvy_.mjs");
16825
16854
  await encryptionRotateCommand(construct, options);
16826
16855
  } catch (error) {
16827
16856
  exitWithError(error);
@@ -16831,7 +16860,7 @@ program.command("encryption:retire").description("Remove an old key from an Encr
16831
16860
  try {
16832
16861
  const globalOptions = program.opts();
16833
16862
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16834
- const { encryptionRetireCommand } = await import("./encryption-DV31gEY8.mjs");
16863
+ const { encryptionRetireCommand } = await import("./encryption-D0tWRvy_.mjs");
16835
16864
  await encryptionRetireCommand(construct, key, options);
16836
16865
  } catch (error) {
16837
16866
  exitWithError(error);
@@ -16870,7 +16899,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
16870
16899
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16871
16900
  const { loadWorkspaceConfig } = await import("./config.mjs");
16872
16901
  const { reconcileMissingSecrets } = await import("./reconcile--I7V4Klj.mjs");
16873
- const { secretsStoreFor } = await import("./seeds-CK7w79VC.mjs").then((n) => n.Zt);
16902
+ const { secretsStoreFor } = await import("./seeds-BX9pskrU.mjs").then((n) => n.Zt);
16874
16903
  const { workspace } = await loadWorkspaceConfig();
16875
16904
  const stage = options.stage ?? workspace.stages.local;
16876
16905
  const store = await secretsStoreFor(workspace, stage);
@@ -16879,7 +16908,7 @@ program.command("secrets:reconcile").description("Backfill missing custom secret
16879
16908
  console.error(`No secrets found for stage "${stage}". Run "gkm secrets:init --stage ${stage}" first.`);
16880
16909
  process.exit(1);
16881
16910
  }
16882
- const { derivedContainers } = await import("./seeds-CK7w79VC.mjs").then((n) => n.Dt);
16911
+ const { derivedContainers } = await import("./seeds-BX9pskrU.mjs").then((n) => n.Dt);
16883
16912
  const result = reconcileMissingSecrets(secrets, workspace, await derivedContainers(workspace, stage));
16884
16913
  if (!result) {
16885
16914
  console.log(`\n✓ Secrets for stage "${stage}" are up-to-date`);
@@ -16896,14 +16925,14 @@ program.command("secrets:migrate").description("Copy a deployed stage's secrets
16896
16925
  try {
16897
16926
  const globalOptions = program.opts();
16898
16927
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16899
- const { secretsMigrateCommand } = await import("./migrate-_sBX0pve.mjs");
16928
+ const { secretsMigrateCommand } = await import("./migrate-C7exqXTD.mjs");
16900
16929
  await secretsMigrateCommand(options);
16901
16930
  } catch (error) {
16902
16931
  exitWithError(error);
16903
16932
  }
16904
16933
  });
16905
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) => {
16906
- const { deployCli } = await import("./cli-BWfYyy1k.mjs");
16935
+ const { deployCli } = await import("./cli-D_BQkb4B.mjs");
16907
16936
  const globalOptions = program.opts();
16908
16937
  const code = await deployCli({
16909
16938
  cwd: resolve(globalOptions.cwd ?? process.cwd()),
@@ -16923,8 +16952,8 @@ program.command("deploy").description("Deploy a stage through its target").optio
16923
16952
  });
16924
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) => {
16925
16954
  try {
16926
- const { rollbackStage } = await import("./rollback-CWyyTQ0B.mjs").then((n) => n.a);
16927
- 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");
16928
16957
  const globalOptions = program.opts();
16929
16958
  await rollbackStage({
16930
16959
  cwd: resolve(globalOptions.cwd ?? process.cwd()),
@@ -16942,7 +16971,7 @@ program.command("compose:server").description("Set up a stage's server for compo
16942
16971
  try {
16943
16972
  const globalOptions = program.opts();
16944
16973
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16945
- const { composeServerCommand } = await import("./serverSetup-BAPNuNEX.mjs");
16974
+ const { composeServerCommand } = await import("./serverSetup-BvHpm7QD.mjs");
16946
16975
  await composeServerCommand(options);
16947
16976
  } catch (error) {
16948
16977
  exitWithError(error);
@@ -16967,7 +16996,7 @@ program.command("deploy:github").description("Let GitHub Actions deploy a stage:
16967
16996
  try {
16968
16997
  const globalOptions = program.opts();
16969
16998
  if (globalOptions.cwd) process.chdir(globalOptions.cwd);
16970
- const { deployGithubCommand } = await import("./github-Nep8pI4_.mjs");
16999
+ const { deployGithubCommand } = await import("./github-VQaj8gLE.mjs");
16971
17000
  await deployGithubCommand(options);
16972
17001
  } catch (error) {
16973
17002
  exitWithError(error);