@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
@@ -2,14 +2,14 @@ const require_rolldown_runtime = require("./rolldown-runtime-C0BPl7ul.cjs");
2
2
  const require_errors = require("./errors-DMC4Umsb.cjs");
3
3
  const require_credentials = require("./credentials-D7XJypNd.cjs");
4
4
  const require_workspace = require("./workspace-Du4Afb03.cjs");
5
- const require_derive = require("./derive-DAbo49sm.cjs");
5
+ const require_derive = require("./derive-BtGidITm.cjs");
6
6
  const require_drivers = require("./drivers-C47nm-wB.cjs");
7
7
  const require_identity = require("./identity-CbLfgQNT.cjs");
8
- const require_EndpointGenerator = require("./EndpointGenerator-BGxf9jWE.cjs");
9
- const require_discover = require("./discover-DL6h-J97.cjs");
8
+ const require_EndpointGenerator = require("./EndpointGenerator-De0lknKD.cjs");
9
+ const require_discover = require("./discover-DEOspD9M.cjs");
10
10
  const require_config = require("./config.cjs");
11
- const require_SubscriberGenerator = require("./SubscriberGenerator-LgyTxZ8r.cjs");
12
- const require_resolve = require("./resolve-zqCMFio0.cjs");
11
+ const require_SubscriberGenerator = require("./SubscriberGenerator-CPjbWEOI.cjs");
12
+ const require_resolve = require("./resolve-C-W3kZM7.cjs");
13
13
  let node_path = require("node:path");
14
14
  let node_fs = require("node:fs");
15
15
  let node_fs_promises = require("node:fs/promises");
@@ -544,6 +544,7 @@ function processorsDevRoute(fileServerId) {
544
544
  const EDGE_KINDS = {
545
545
  "file-server": true,
546
546
  "rest-api": true,
547
+ "websocket-api": true,
547
548
  site: true
548
549
  };
549
550
  /**
@@ -890,7 +891,7 @@ function telemetryOf(manifest, id) {
890
891
  const declaration = manifest[id];
891
892
  if (!declaration) return void 0;
892
893
  if (declaration.kind === "worker" || declaration.kind === "file-server") return nodeOf(manifest, declaration.telemetry);
893
- if (declaration.kind !== "rest-api") return void 0;
894
+ if (declaration.kind !== "rest-api" && declaration.kind !== "websocket-api") return void 0;
894
895
  return nodeOf(manifest, declaration.telemetry);
895
896
  }
896
897
  /**
@@ -898,12 +899,12 @@ function telemetryOf(manifest, id) {
898
899
  * undefined for a site, an app without one, or one with no edge.
899
900
  */
900
901
  function appTelemetry(manifest, appName) {
901
- const id = Object.entries(manifest).find(([id, d]) => d.kind === "rest-api" && require_derive.appKey(id) === appName)?.[0];
902
+ const id = Object.entries(manifest).find(([id, d]) => (d.kind === "rest-api" || d.kind === "websocket-api") && require_derive.appKey(id) === appName)?.[0];
902
903
  return id ? telemetryOf(manifest, id) : void 0;
903
904
  }
904
905
  /** Whether any process in the manifest emits through a `Telemetry` node. */
905
906
  function usesTelemetry(manifest) {
906
- return Object.entries(manifest).some(([id, d]) => (d.kind === "rest-api" || d.kind === "worker" || d.kind === "file-server") && telemetryOf(manifest, id) !== void 0);
907
+ return Object.entries(manifest).some(([id, d]) => (d.kind === "rest-api" || d.kind === "websocket-api" || d.kind === "worker" || d.kind === "file-server") && telemetryOf(manifest, id) !== void 0);
907
908
  }
908
909
  /**
909
910
  * One process's share of the telemetry keys a stage resolved: all of them,
@@ -977,7 +978,8 @@ const CONTAINERS = {
977
978
  "database-schema": "postgres",
978
979
  objects: "minio",
979
980
  "file-server": "caddy",
980
- email: "mailpit"
981
+ email: "mailpit",
982
+ "websocket-api": "redis"
981
983
  };
982
984
  /**
983
985
  * The container a cache backend needs locally.
@@ -1157,7 +1159,7 @@ function planFor(manifest, stage, order, options = {}) {
1157
1159
  name: resourceName(id, declaration.kind, stage, options.localStage),
1158
1160
  envKey: (0, _geekmidas_manifest.providedKeyFor)(id, declaration.kind, ROLES[declaration.kind] ?? "url"),
1159
1161
  provisions: PROVISIONS[declaration.kind] === true,
1160
- ...declaration.kind === "rest-api" ? { callers: (0, _geekmidas_manifest.dependentsOf)(manifest, id) } : {},
1162
+ ...declaration.kind === "rest-api" || declaration.kind === "websocket-api" ? { callers: (0, _geekmidas_manifest.dependentsOf)(manifest, id) } : {},
1161
1163
  ...declaration.kind === "site" ? { publicEnv: (0, _geekmidas_manifest.publicEnvFor)(declaration, manifest) } : {},
1162
1164
  ...declaration.kind === "mobile-app" ? {
1163
1165
  publicEnv: (0, _geekmidas_manifest.publicEnvFor)(declaration, manifest),
@@ -1166,7 +1168,7 @@ function planFor(manifest, stage, order, options = {}) {
1166
1168
  ...declaration.kind === "file-server" && declaration.open?.length ? { open: declaration.open } : {},
1167
1169
  ...declaration.kind === "file-server" && declaration.processors?.length ? { processors: [...new Set(declaration.processors.map((p) => p.prefix))].sort() } : {},
1168
1170
  ...declaration.kind === "objects" && (0, _geekmidas_manifest.bucketExpiry)(manifest, id) ? { expire: (0, _geekmidas_manifest.bucketExpiry)(manifest, id) } : {},
1169
- ...(declaration.kind === "rest-api" || declaration.kind === "site") && declaration.subdomain ? { subdomain: declaration.subdomain } : {},
1171
+ ...(declaration.kind === "rest-api" || declaration.kind === "websocket-api" || declaration.kind === "site") && declaration.subdomain ? { subdomain: declaration.subdomain } : {},
1170
1172
  ...fake ? { fake: {
1171
1173
  key: fake.key,
1172
1174
  credentials: fake.credentials
@@ -1333,6 +1335,12 @@ function envFor(plan, options) {
1333
1335
  ...options.lanAddress ? { lanAddress: options.lanAddress } : {},
1334
1336
  ...options.metroPorts ? { metroPorts: options.metroPorts } : {}
1335
1337
  }));
1338
+ if (resource.kind === "websocket-api") {
1339
+ const origins = surfaceEnv(resource, url, resolved)[(0, _geekmidas_manifest.provideKey)(resource.id, "trustedOrigins")];
1340
+ if (origins !== void 0) env[(0, _geekmidas_manifest.provideKey)(resource.id, "trustedOrigins")] = origins;
1341
+ const publisher = webSocketPublisher(resource, options.ports, options.project ?? "", credential);
1342
+ if (publisher) env[(0, _geekmidas_manifest.provideKey)(resource.id, "publisherConnectionString")] = publisher;
1343
+ }
1336
1344
  if (url) env[resource.envKey] = url;
1337
1345
  if (isDatabase(resource.kind) && resource.roles !== false) {
1338
1346
  const owner = ownerUrl(resource, plan, options.ports, options.project ?? "", credential);
@@ -1425,10 +1433,27 @@ function surfaceEnv(resource, url, resolved = {}, local = {}) {
1425
1433
  ...device ? { [(0, _geekmidas_manifest.provideKey)(resource.id, "deviceUrl")]: device } : {}
1426
1434
  };
1427
1435
  }
1428
- /** An address reduced to the origin a browser compares against. */
1436
+ /**
1437
+ * Where a WebSocket surface's publisher meets its sockets: the local Redis,
1438
+ * on channels named for the project and the surface, so two projects sharing
1439
+ * one Redis never see each other's frames.
1440
+ */
1441
+ function webSocketPublisher(resource, ports, project, credential) {
1442
+ const port = ports[primaryPortKey("redis")];
1443
+ if (port === void 0) return void 0;
1444
+ const channel = encodeURIComponent(`gkm:ws:${project ? `${project}:` : ""}${resource.id}`);
1445
+ return `redis://:${encodeURIComponent(credential.containers.redis.password)}@${LOCAL_HOST}:${port}?channel=${channel}`;
1446
+ }
1447
+ /**
1448
+ * An address reduced to the origin a browser compares against.
1449
+ *
1450
+ * A WebSocket surface's address is `wss://`, but its host is served over
1451
+ * HTTPS like any other: its origin is that one, and a non-web scheme among the
1452
+ * origins means a mobile app to whoever reads the list.
1453
+ */
1429
1454
  function originOf(address) {
1430
1455
  try {
1431
- return new URL(address).origin;
1456
+ return new URL(address.replace(/^ws(s?):/, "http$1:")).origin;
1432
1457
  } catch {
1433
1458
  return;
1434
1459
  }
@@ -1516,6 +1541,11 @@ function urlFor(resource, plan, ports, project, addresses, credential) {
1516
1541
  const edge = plan.containers.includes("caddy") ? ports[primaryPortKey("caddy")] : void 0;
1517
1542
  return address && edge !== void 0 ? `https://${hostFor$1(resource, project)}:${edge}` : address;
1518
1543
  }
1544
+ if (resource.kind === "websocket-api") {
1545
+ const address = addresses?.[resource.id];
1546
+ const edge = plan.containers.includes("caddy") ? ports[primaryPortKey("caddy")] : void 0;
1547
+ return address && edge !== void 0 ? `wss://${hostFor$1(resource, project)}:${edge}` : address?.replace(/^http/, "ws");
1548
+ }
1519
1549
  if (!resource.container) return void 0;
1520
1550
  const port = ports[primaryPortKey(resource.container)];
1521
1551
  if (port === void 0) return void 0;
@@ -1788,11 +1818,14 @@ var RedisPasswordMissing = class extends require_errors.GkmError {
1788
1818
  }
1789
1819
  };
1790
1820
  /**
1791
- * Whether a stage's stack runs Redis: a cache is declared and the stage's
1792
- * secrets do not set the URL of every one.
1821
+ * Whether a stage's stack runs Redis: a cache or a WebSocket surface is
1822
+ * declared and the stage's secrets do not set the URL of every one.
1793
1823
  */
1794
1824
  function runsRedis(manifest, custom) {
1795
- return Object.values(manifest).some((declaration) => declaration?.kind === "cache" && (declaration.provides ?? []).some((key) => custom[key] === void 0));
1825
+ return Object.values(manifest).some((declaration) => {
1826
+ if (declaration?.kind === "cache") return (declaration.provides ?? []).some((key) => custom[key] === void 0);
1827
+ return declaration?.kind === "websocket-api" && custom[(0, _geekmidas_manifest.provideKey)(declaration.id, "publisherConnectionString")] === void 0;
1828
+ });
1796
1829
  }
1797
1830
  /** A password: 256 random bits, URL-safe, so it sits in a URL unescaped. */
1798
1831
  function generateRedisPassword() {
@@ -1829,7 +1862,8 @@ function withRedisPassword(secrets) {
1829
1862
  function stackRedis(options) {
1830
1863
  const { plan, stage, local, custom } = options;
1831
1864
  const caches = plan.resources.filter((r) => r.kind === "cache" && custom[r.envKey] === void 0).sort((a, b) => a.id.localeCompare(b.id));
1832
- if (caches.length === 0) return void 0;
1865
+ const publishers = plan.resources.filter((r) => r.kind === "websocket-api").map((r) => (0, _geekmidas_manifest.provideKey)(r.id, "publisherConnectionString")).filter((key) => custom[key] === void 0);
1866
+ if (caches.length === 0 && publishers.length === 0) return void 0;
1833
1867
  const set = custom[REDIS_PASSWORD_KEY];
1834
1868
  const password = set ?? (local ? options.localPassword : void 0);
1835
1869
  if (!password) throw new RedisPasswordMissing(stage);
@@ -1837,7 +1871,7 @@ function stackRedis(options) {
1837
1871
  return {
1838
1872
  password,
1839
1873
  passwordFromSecrets: Boolean(set),
1840
- urls: Object.fromEntries(caches.map((cache, index) => [cache.envKey, `redis://:${auth}@${REDIS_SERVICE}:${REDIS_PORT}/${index}`])),
1874
+ urls: Object.fromEntries([...caches.map((cache, index) => [cache.envKey, `redis://:${auth}@${REDIS_SERVICE}:${REDIS_PORT}/${index}`]), ...publishers.map((key) => [key, `redis://:${auth}@${REDIS_SERVICE}:${REDIS_PORT}`])]),
1841
1875
  env: {
1842
1876
  [REDIS_PASSWORD_KEY]: password,
1843
1877
  REDISCLI_AUTH: password
@@ -2962,11 +2996,11 @@ function processorUnits(workspace, manifest) {
2962
2996
  /** The backend apps whose builds generate a server, each where it lives. */
2963
2997
  function hostApps(workspace, manifest) {
2964
2998
  return Object.entries(workspace.apps).filter(([, app]) => app.type === "backend" && !app.entry).map(([name, app]) => {
2965
- const surface = Object.entries(manifest).find(([id, d]) => d.kind === "rest-api" && require_derive.appKey(id) === name)?.[1];
2999
+ const surface = Object.entries(manifest).find(([id, d]) => (d.kind === "rest-api" || d.kind === "websocket-api") && require_derive.appKey(id) === name)?.[1];
2966
3000
  return {
2967
3001
  name,
2968
3002
  root: (0, node_path.isAbsolute)(app.path) ? app.path : (0, node_path.join)(workspace.root, app.path),
2969
- generated: !(surface?.kind === "rest-api" && surface.endpoints.length > 0)
3003
+ generated: !(surface?.kind === "websocket-api" || surface?.kind === "rest-api" && surface.endpoints.length > 0)
2970
3004
  };
2971
3005
  }).sort((a, b) => a.name.localeCompare(b.name));
2972
3006
  }
@@ -6154,7 +6188,7 @@ function processorAddresses(workspace, manifest) {
6154
6188
  function surfaceAddresses(workspace, manifest, at = (_app, port) => localAddress(port)) {
6155
6189
  const addresses = {};
6156
6190
  for (const [id, declaration] of Object.entries(manifest)) {
6157
- if (declaration.kind !== "rest-api" && declaration.kind !== "site") continue;
6191
+ if (declaration.kind !== "rest-api" && declaration.kind !== "websocket-api" && declaration.kind !== "site") continue;
6158
6192
  const host = require_derive.appKey(id);
6159
6193
  const port = workspace.apps[host]?.port;
6160
6194
  if (port) addresses[id] = at(host, port);
@@ -6279,7 +6313,7 @@ function networkEnv(plan, options, hostOf = (container) => container) {
6279
6313
  * port.
6280
6314
  */
6281
6315
  function appEnvKeys(manifest, appName, runnables = {}) {
6282
- const entry = Object.entries(manifest).find(([id, d]) => (d.kind === "rest-api" || d.kind === "site" || d.kind === "mobile-app") && require_derive.appKey(id) === appName);
6316
+ const entry = Object.entries(manifest).find(([id, d]) => (d.kind === "rest-api" || d.kind === "websocket-api" || d.kind === "site" || d.kind === "mobile-app") && require_derive.appKey(id) === appName);
6283
6317
  if (!entry) return void 0;
6284
6318
  const [id, declaration] = entry;
6285
6319
  const keys = /* @__PURE__ */ new Set([
@@ -6287,7 +6321,7 @@ function appEnvKeys(manifest, appName, runnables = {}) {
6287
6321
  ...declaration.requires ?? [],
6288
6322
  ...declaration.kind === "rest-api" ? declaration.endpoints.flatMap((endpoint) => endpoint.requires ?? []) : []
6289
6323
  ]);
6290
- addEdgeKeys(manifest, [...(0, _geekmidas_manifest.dependenciesOf)(declaration).map((edge) => edge.target), ...runnables[id] ?? []], keys);
6324
+ addEdgeKeys(manifest, [...(0, _geekmidas_manifest.dependenciesOf)(declaration).map((edge) => edge.target), ...runnables[id] ?? []], keys, declaration.kind === "site" || declaration.kind === "mobile-app");
6291
6325
  if (declaration.kind === "site" || declaration.kind === "mobile-app") {
6292
6326
  for (const key of _geekmidas_manifest.TELEMETRY_KEYS) keys.delete(key);
6293
6327
  for (const key of Object.keys((0, _geekmidas_manifest.publicEnvFor)(declaration, manifest))) keys.add(key);
@@ -6329,7 +6363,7 @@ function processorEnvKeys(manifest, fileServerId, runnables = {}) {
6329
6363
  ], keys);
6330
6364
  return keys;
6331
6365
  }
6332
- function addEdgeKeys(manifest, edges, keys) {
6366
+ function addEdgeKeys(manifest, edges, keys, client = false) {
6333
6367
  for (const id of edges) {
6334
6368
  const bucket = require_discover.eventsEdgeBucket(id);
6335
6369
  if (bucket) {
@@ -6345,6 +6379,11 @@ function addEdgeKeys(manifest, edges, keys) {
6345
6379
  keys.add((0, _geekmidas_manifest.provideKey)(id, "url"));
6346
6380
  continue;
6347
6381
  }
6382
+ if (target.kind === "websocket-api") {
6383
+ keys.add((0, _geekmidas_manifest.provideKey)(id, "url"));
6384
+ if (!client) keys.add((0, _geekmidas_manifest.provideKey)(id, "publisherConnectionString"));
6385
+ continue;
6386
+ }
6348
6387
  for (const key of target.provides ?? []) keys.add(key);
6349
6388
  if (target.kind === "queue" || target.kind === "topic") keys.add("EVENT_PUBLISHER_CONNECTION_STRING");
6350
6389
  if (target.kind === "objects") {
@@ -6575,7 +6614,7 @@ function stageServiceDeclarations(input) {
6575
6614
  };
6576
6615
  for (const [id, declaration] of Object.entries(manifest)) {
6577
6616
  const name = require_derive.appKey(id);
6578
- if (declaration.kind === "rest-api" || declaration.kind === "site" || declaration.kind === "mobile-app") read(name, appEnvKeys(manifest, name, runnables) ?? []);
6617
+ if (declaration.kind === "rest-api" || declaration.kind === "websocket-api" || declaration.kind === "site" || declaration.kind === "mobile-app") read(name, appEnvKeys(manifest, name, runnables) ?? []);
6579
6618
  if (declaration.kind === "site") read(name, Object.values((0, _geekmidas_manifest.publicEnvFor)(declaration, manifest)));
6580
6619
  if (declaration.kind === "worker") read(name, workerEnvKeys(manifest, id, runnables) ?? []);
6581
6620
  }
@@ -8286,7 +8325,7 @@ async function createDnsProvider(options) {
8286
8325
  });
8287
8326
  }
8288
8327
  if (provider === "godaddy") {
8289
- const { GoDaddyProvider } = await Promise.resolve().then(() => require("./GoDaddyProvider-DFfpzCOP.cjs"));
8328
+ const { GoDaddyProvider } = await Promise.resolve().then(() => require("./GoDaddyProvider-DnmLq7eo.cjs"));
8290
8329
  return new GoDaddyProvider(options.godaddy ?? {});
8291
8330
  }
8292
8331
  if (provider === "cloudflare") throw new DnsProviderNotImplemented("cloudflare");
@@ -10240,4 +10279,4 @@ Object.defineProperty(exports, "workspace_exports", {
10240
10279
  }
10241
10280
  });
10242
10281
 
10243
- //# sourceMappingURL=seeds-3awh33Wz.cjs.map
10282
+ //# sourceMappingURL=seeds-sMVADbkg.cjs.map