dineway 0.2.26 → 0.2.28

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 (409) hide show
  1. package/dist/{activity-C6JLcUzM.mjs → activity-DWlF3FUa.mjs} +2 -2
  2. package/dist/{activity-events-u9wIH8CQ.mjs → activity-events-BYksOnTL.mjs} +1 -1
  3. package/dist/{adapters-BZWb3OVu.d.mts → adapters-C-iHnQYy.d.mts} +8 -1
  4. package/dist/{allowed-origins-CjTNO3cD.mjs → allowed-origins-DeknDs56.mjs} +1 -1
  5. package/dist/api/route-utils.d.mts +10 -10
  6. package/dist/api/route-utils.mjs +15 -14
  7. package/dist/api/schemas/index.d.mts +1 -1
  8. package/dist/api/schemas/index.mjs +5 -5
  9. package/dist/{api-COtLcrtJ.mjs → api-CJTbBaOw.mjs} +19 -18
  10. package/dist/{api-tokens-CI5sgE1g.mjs → api-tokens-d43xs7C1.mjs} +1 -1
  11. package/dist/{apply-DNy1dp8W.mjs → apply-CS_138du.mjs} +19 -18
  12. package/dist/astro/index.d.mts +11 -11
  13. package/dist/astro/index.mjs +29 -7
  14. package/dist/astro/middleware/auth.d.mts +9 -9
  15. package/dist/astro/middleware/auth.mjs +6 -6
  16. package/dist/astro/middleware/redirect.mjs +3 -3
  17. package/dist/astro/middleware/request-context.mjs +3 -3
  18. package/dist/astro/middleware/seed.d.mts +1 -1
  19. package/dist/astro/middleware/seed.mjs +1 -1
  20. package/dist/astro/middleware/setup.mjs +1 -1
  21. package/dist/astro/middleware.mjs +92 -90
  22. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +7 -7
  23. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +7 -7
  24. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +4 -4
  25. package/dist/astro/routes/api/admin/api-tokens/index.mjs +6 -6
  26. package/dist/astro/routes/api/admin/briefing.mjs +18 -18
  27. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +4 -4
  28. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +10 -10
  29. package/dist/astro/routes/api/admin/byline-fields/index.mjs +10 -10
  30. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +10 -10
  31. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +15 -15
  32. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +15 -15
  33. package/dist/astro/routes/api/admin/bylines/index.mjs +15 -15
  34. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +13 -13
  35. package/dist/astro/routes/api/admin/comments/_id_.mjs +4 -4
  36. package/dist/astro/routes/api/admin/comments/bulk.mjs +10 -10
  37. package/dist/astro/routes/api/admin/comments/counts.mjs +4 -4
  38. package/dist/astro/routes/api/admin/comments/index.mjs +10 -10
  39. package/dist/astro/routes/api/admin/context/_id_/history.mjs +26 -25
  40. package/dist/astro/routes/api/admin/context/_id_/index.mjs +26 -25
  41. package/dist/astro/routes/api/admin/context/_id_/review.mjs +31 -30
  42. package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +31 -30
  43. package/dist/astro/routes/api/admin/context/diff.mjs +30 -29
  44. package/dist/astro/routes/api/admin/context/index.mjs +31 -30
  45. package/dist/astro/routes/api/admin/context/stale.mjs +30 -29
  46. package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +26 -25
  47. package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +30 -29
  48. package/dist/astro/routes/api/admin/hitl-requests/index.mjs +30 -29
  49. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +27 -26
  50. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +3 -3
  51. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +6 -6
  52. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +6 -6
  53. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +57 -56
  54. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +57 -56
  55. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +49 -48
  56. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +56 -55
  57. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +56 -55
  58. package/dist/astro/routes/api/admin/plugins/index.mjs +49 -48
  59. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +2 -2
  60. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +49 -48
  61. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +56 -55
  62. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +49 -48
  63. package/dist/astro/routes/api/admin/plugins/updates.mjs +49 -48
  64. package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +4 -4
  65. package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +31 -30
  66. package/dist/astro/routes/api/admin/review-requests/index.mjs +31 -30
  67. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +49 -48
  68. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +2 -2
  69. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +49 -48
  70. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +2 -2
  71. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +1 -1
  72. package/dist/astro/routes/api/admin/users/_id_/index.mjs +8 -8
  73. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +3 -3
  74. package/dist/astro/routes/api/admin/users/index.mjs +7 -7
  75. package/dist/astro/routes/api/auth/dev-bypass.mjs +3 -3
  76. package/dist/astro/routes/api/auth/invite/accept.mjs +1 -1
  77. package/dist/astro/routes/api/auth/invite/complete.mjs +12 -12
  78. package/dist/astro/routes/api/auth/invite/index.mjs +9 -9
  79. package/dist/astro/routes/api/auth/invite/register-options.mjs +11 -11
  80. package/dist/astro/routes/api/auth/logout.mjs +2 -2
  81. package/dist/astro/routes/api/auth/magic-link/send.mjs +11 -11
  82. package/dist/astro/routes/api/auth/magic-link/verify.mjs +2 -2
  83. package/dist/astro/routes/api/auth/me.mjs +9 -9
  84. package/dist/astro/routes/api/auth/mode.mjs +1 -1
  85. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +2 -2
  86. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
  87. package/dist/astro/routes/api/auth/passkey/_id_.mjs +7 -7
  88. package/dist/astro/routes/api/auth/passkey/index.mjs +1 -1
  89. package/dist/astro/routes/api/auth/passkey/options.mjs +13 -13
  90. package/dist/astro/routes/api/auth/passkey/register/options.mjs +11 -11
  91. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +12 -12
  92. package/dist/astro/routes/api/auth/passkey/verify.mjs +12 -12
  93. package/dist/astro/routes/api/auth/setup-token/index.mjs +4 -4
  94. package/dist/astro/routes/api/auth/setup-token/verify.mjs +2 -2
  95. package/dist/astro/routes/api/auth/signup/complete.mjs +12 -12
  96. package/dist/astro/routes/api/auth/signup/request.mjs +11 -11
  97. package/dist/astro/routes/api/auth/signup/verify.mjs +1 -1
  98. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +14 -14
  99. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +13 -13
  100. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +2 -2
  101. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +5 -5
  102. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +5 -5
  103. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +5 -5
  104. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +54 -16
  105. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +17 -17
  106. package/dist/astro/routes/api/content/_collection_/_id_/release-readiness.mjs +9 -9
  107. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +5 -5
  108. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +2 -2
  109. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +17 -17
  110. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +14 -13
  111. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +2 -2
  112. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +5 -5
  113. package/dist/astro/routes/api/content/_collection_/_id_.mjs +11 -11
  114. package/dist/astro/routes/api/content/_collection_/authors.mjs +2 -2
  115. package/dist/astro/routes/api/content/_collection_/index.mjs +11 -11
  116. package/dist/astro/routes/api/content/_collection_/trash.mjs +8 -8
  117. package/dist/astro/routes/api/dashboard.mjs +8 -7
  118. package/dist/astro/routes/api/dev/emails.mjs +2 -2
  119. package/dist/astro/routes/api/health.mjs +1 -1
  120. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  121. package/dist/astro/routes/api/import/probe.mjs +19 -19
  122. package/dist/astro/routes/api/import/wordpress/analyze.mjs +8 -8
  123. package/dist/astro/routes/api/import/wordpress/execute.d.mts +9 -9
  124. package/dist/astro/routes/api/import/wordpress/execute.mjs +36 -35
  125. package/dist/astro/routes/api/import/wordpress/media.d.mts +9 -9
  126. package/dist/astro/routes/api/import/wordpress/media.mjs +12 -12
  127. package/dist/astro/routes/api/import/wordpress/prepare.mjs +35 -34
  128. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +10 -10
  129. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +32 -31
  130. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  131. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +22 -22
  132. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +9 -9
  133. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +41 -40
  134. package/dist/astro/routes/api/integrations/_provider_.mjs +7 -7
  135. package/dist/astro/routes/api/integrations/index.mjs +6 -6
  136. package/dist/astro/routes/api/manifest.mjs +5 -5
  137. package/dist/astro/routes/api/mcp.mjs +70 -73
  138. package/dist/astro/routes/api/media/_id_/confirm.mjs +10 -10
  139. package/dist/astro/routes/api/media/_id_.mjs +9 -9
  140. package/dist/astro/routes/api/media/file/_...key_.mjs +1 -1
  141. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +2 -2
  142. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +2 -2
  143. package/dist/astro/routes/api/media/providers/index.mjs +2 -2
  144. package/dist/astro/routes/api/media/upload-url.mjs +11 -11
  145. package/dist/astro/routes/api/media.mjs +14 -14
  146. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +31 -30
  147. package/dist/astro/routes/api/menus/_name_/items.mjs +31 -30
  148. package/dist/astro/routes/api/menus/_name_/reorder.mjs +31 -30
  149. package/dist/astro/routes/api/menus/_name_/translations.mjs +31 -30
  150. package/dist/astro/routes/api/menus/_name_.mjs +31 -30
  151. package/dist/astro/routes/api/menus/index.mjs +31 -30
  152. package/dist/astro/routes/api/oauth/authorize.mjs +7 -7
  153. package/dist/astro/routes/api/oauth/device/authorize.mjs +6 -6
  154. package/dist/astro/routes/api/oauth/device/code.mjs +9 -9
  155. package/dist/astro/routes/api/oauth/device/token.mjs +8 -8
  156. package/dist/astro/routes/api/oauth/register.mjs +4 -4
  157. package/dist/astro/routes/api/oauth/token/refresh.mjs +6 -6
  158. package/dist/astro/routes/api/oauth/token/revoke.mjs +6 -6
  159. package/dist/astro/routes/api/oauth/token.mjs +6 -6
  160. package/dist/astro/routes/api/openapi.json.mjs +5 -5
  161. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +4 -4
  162. package/dist/astro/routes/api/redirects/404s/index.mjs +11 -11
  163. package/dist/astro/routes/api/redirects/404s/summary.mjs +11 -11
  164. package/dist/astro/routes/api/redirects/_id_.mjs +32 -31
  165. package/dist/astro/routes/api/redirects/index.mjs +32 -31
  166. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +2 -2
  167. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +2 -2
  168. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +51 -50
  169. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +51 -50
  170. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +51 -50
  171. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +51 -50
  172. package/dist/astro/routes/api/schema/collections/index.mjs +51 -50
  173. package/dist/astro/routes/api/schema/index.mjs +8 -8
  174. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +49 -48
  175. package/dist/astro/routes/api/schema/orphans/index.mjs +49 -48
  176. package/dist/astro/routes/api/search/enable.mjs +10 -10
  177. package/dist/astro/routes/api/search/index.mjs +9 -9
  178. package/dist/astro/routes/api/search/rebuild.mjs +10 -10
  179. package/dist/astro/routes/api/search/stats.mjs +4 -4
  180. package/dist/astro/routes/api/search/suggest.mjs +9 -9
  181. package/dist/astro/routes/api/sections/_slug_.mjs +31 -30
  182. package/dist/astro/routes/api/sections/index.mjs +31 -30
  183. package/dist/astro/routes/api/settings/email.mjs +4 -4
  184. package/dist/astro/routes/api/settings.mjs +31 -30
  185. package/dist/astro/routes/api/setup/admin-verify.mjs +14 -14
  186. package/dist/astro/routes/api/setup/admin.mjs +12 -12
  187. package/dist/astro/routes/api/setup/dev-bypass.mjs +25 -24
  188. package/dist/astro/routes/api/setup/dev-reset.mjs +2 -2
  189. package/dist/astro/routes/api/setup/index.mjs +27 -26
  190. package/dist/astro/routes/api/setup/status.mjs +3 -3
  191. package/dist/astro/routes/api/snapshot.mjs +7 -7
  192. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +34 -33
  193. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +34 -33
  194. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +34 -33
  195. package/dist/astro/routes/api/taxonomies/index.mjs +34 -33
  196. package/dist/astro/routes/api/themes/preview.mjs +5 -5
  197. package/dist/astro/routes/api/typegen.mjs +4 -4
  198. package/dist/astro/routes/api/well-known/auth.mjs +3 -3
  199. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +3 -3
  200. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +3 -3
  201. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +30 -29
  202. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +31 -30
  203. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +31 -30
  204. package/dist/astro/routes/api/widget-areas/_name_.mjs +28 -27
  205. package/dist/astro/routes/api/widget-areas/index.mjs +31 -30
  206. package/dist/astro/routes/api/widget-components.mjs +2 -2
  207. package/dist/astro/routes/robots.txt.mjs +5 -5
  208. package/dist/astro/routes/sitemap-_collection_.xml.mjs +12 -12
  209. package/dist/astro/routes/sitemap.xml.mjs +11 -11
  210. package/dist/astro/session-driver.d.mts +1 -1
  211. package/dist/astro/types.d.mts +13 -13
  212. package/dist/auth/providers/github.d.mts +1 -1
  213. package/dist/auth/providers/google.d.mts +1 -1
  214. package/dist/{auth-control-guard-BQLSUQd7.mjs → auth-control-guard-Bg93z3D6.mjs} +1 -1
  215. package/dist/{authorize-D8etr-1g.mjs → authorize-Dg75h4BN.mjs} +1 -1
  216. package/dist/{briefing-Yao75K3z.mjs → briefing-BoIXsh3Y.mjs} +1 -1
  217. package/dist/{briefing-DcDVI-0v.mjs → briefing-Cd2HhhHi.mjs} +6 -6
  218. package/dist/{bundle-MGZ2MLSb.mjs → bundle-DicQY2p2.mjs} +1 -1
  219. package/dist/{byline-CbFno1Kd.mjs → byline-MGIfM2Is.mjs} +4 -4
  220. package/dist/{byline-fields-CjCCA-Wn.d.mts → byline-fields-B31h2riE.d.mts} +20 -20
  221. package/dist/{byline-fields-C0IOddTf.mjs → byline-fields-C4OeOttq.mjs} +3 -3
  222. package/dist/{byline-fields-CS1Hi2N4.mjs → byline-fields-GoUVaGw4.mjs} +1 -1
  223. package/dist/{byline-registry-BLgrU3dA.mjs → byline-registry-CF9nobxT.mjs} +2 -2
  224. package/dist/{bylines-DXXMlc1A.mjs → bylines-CL8Z6AxI.mjs} +3 -3
  225. package/dist/{bylines-BotyuTdY.mjs → bylines-t_uHsP44.mjs} +1 -1
  226. package/dist/{cache-Cf5yPNNw.mjs → cache-DrNKKDn0.mjs} +1 -1
  227. package/dist/cli/index.d.mts +1 -1
  228. package/dist/cli/index.mjs +395 -133
  229. package/dist/cli/plugin-kit.d.mts +9 -9
  230. package/dist/cli/plugin-kit.mjs +2 -2
  231. package/dist/client/external-auth-headers.d.mts +1 -1
  232. package/dist/client/index.d.mts +11 -11
  233. package/dist/client/index.mjs +2 -2
  234. package/dist/{client-factory-BDDerNBz.mjs → client-factory-DXfeovxp.mjs} +2 -1
  235. package/dist/{comment-reaction-mHuRHspq.mjs → comment-reaction-NZjadbiB.mjs} +1 -1
  236. package/dist/{comments-BFbF0xaG.mjs → comments-Csi3B9JI.mjs} +1 -1
  237. package/dist/{connection-CiJWiWya.mjs → connection-DJ3GzHVH.mjs} +2 -3
  238. package/dist/{content-C0qGd2Nt.mjs → content-CzUrmMC3.mjs} +3 -115
  239. package/dist/{content-refresh-BkGWtwUN.mjs → content-refresh-C_jcjzOr.mjs} +4 -4
  240. package/dist/{context-BEgiPeP-.mjs → context-BET1jeas.mjs} +10 -10
  241. package/dist/{context-CnCdZ2xZ.mjs → context-Dv932KXa.mjs} +2 -2
  242. package/dist/{context-route-helpers-CXxj6-jq.mjs → context-route-helpers-CgVXswZ_.mjs} +2 -2
  243. package/dist/{dashboard-B8Sk45s8.mjs → dashboard-CKAH1KwM.mjs} +4 -4
  244. package/dist/db/index.d.mts +4 -4
  245. package/dist/db/index.mjs +9 -1
  246. package/dist/db/libsql-http.d.mts +27 -0
  247. package/dist/db/libsql-http.mjs +29 -0
  248. package/dist/db/libsql.d.mts +1 -1
  249. package/dist/db/libsql.mjs +3 -43
  250. package/dist/db/postgres.d.mts +1 -1
  251. package/dist/db/sqlite.d.mts +1 -1
  252. package/dist/{device-flow-DCbF6FAE.mjs → device-flow-BED7L-O7.mjs} +5 -5
  253. package/dist/{discovery-CUX99M46.mjs → discovery-SVnRaAxj.mjs} +4 -48
  254. package/dist/{enrich-Ck9tfMqe.mjs → enrich-Uw_OA9Ve.mjs} +1 -1
  255. package/dist/{field-defs-cache-7Ka899yA.mjs → field-defs-cache-BIHTU5Yj.mjs} +3 -3
  256. package/dist/{hitl-requests-DU4wJSml.mjs → hitl-requests-BKVxqzAh.mjs} +2 -2
  257. package/dist/{hitl-route-helpers-CkRqaLaJ.mjs → hitl-route-helpers-50Lvsuq3.mjs} +5 -5
  258. package/dist/{import-BcSW07F1.mjs → import-BCY1k1zB.mjs} +8 -8
  259. package/dist/{index-C7X4h_27.d.mts → index-DNNw5fp0.d.mts} +3 -3
  260. package/dist/index.d.mts +15 -15
  261. package/dist/index.mjs +84 -82
  262. package/dist/{integration-credentials-ylo0bguS.mjs → integration-credentials-CTrvXgEc.mjs} +2 -2
  263. package/dist/{jsonld-thSA4Rua.d.mts → jsonld-But0MmMT.d.mts} +2 -2
  264. package/dist/libsql-dialect-DMqpBfJI.mjs +47 -0
  265. package/dist/{manifest-schema-VGSvatoU.mjs → manifest-schema-owbEUmv1.mjs} +1 -1
  266. package/dist/{mcp-reviewed-executor-lqfDtcFo.mjs → mcp-reviewed-executor-A_W2J5b7.mjs} +6 -6
  267. package/dist/media/image-endpoint.mjs +1 -1
  268. package/dist/media/index.d.mts +1 -1
  269. package/dist/media/index.mjs +2 -2
  270. package/dist/media/local-runtime.d.mts +11 -11
  271. package/dist/media/local-runtime.mjs +1 -1
  272. package/dist/{media-allowlist-D3AHS_q3.mjs → media-allowlist-BdbIzYO3.mjs} +1 -1
  273. package/dist/{menus-oIJaGGUU.mjs → menus-CRmcWAM5.mjs} +1 -1
  274. package/dist/{menus-D_pqSYJ3.mjs → menus-Cu3TUXyl.mjs} +5 -5
  275. package/dist/{oauth-authorization-DHeVHdGr.mjs → oauth-authorization-TG2Kxgur.mjs} +5 -5
  276. package/dist/{oauth-clients-8cVhd-8W.mjs → oauth-clients-DLJMG4h7.mjs} +2 -2
  277. package/dist/object-cache/memory.d.mts +1 -1
  278. package/dist/page/index.d.mts +10 -10
  279. package/dist/page/index.mjs +1 -1
  280. package/dist/{parse-RN_EgAxL.mjs → parse-CJC9DGe9.mjs} +1 -1
  281. package/dist/plugin-utils.d.mts +9 -9
  282. package/dist/plugins/adapt-sandbox-entry.d.mts +9 -9
  283. package/dist/plugins/adapt-sandbox-entry.mjs +1 -1
  284. package/dist/{plugins-DMImBiT9.mjs → plugins-BC9Rb6PJ.mjs} +6 -6
  285. package/dist/{preview-DDtW5YuZ.mjs → preview-CjL_29aE.mjs} +3 -3
  286. package/dist/{provider-loader-DZ9uy48J.d.mts → provider-loader-CGoW_-Bs.d.mts} +1 -1
  287. package/dist/{public-url-Binfty0i.d.mts → public-url-C_peKTjR.d.mts} +1 -1
  288. package/dist/public-url-DjWfilkD.mjs +46 -0
  289. package/dist/{public-url-BuERxOoY.d.mts → public-url-UpDevWVD.d.mts} +2 -2
  290. package/dist/{publication-authorization-DYAGeWto.mjs → publication-authorization-HLwH38BA.mjs} +23 -7
  291. package/dist/{query-DzsPhsZk.mjs → query-BAfn0Uxp.mjs} +7 -7
  292. package/dist/{query-qvv6Rar8.mjs → query-MvFwA1uK.mjs} +2 -2
  293. package/dist/{rate-limit-BIuuIxP3.mjs → rate-limit-JhnJUEno.mjs} +2 -2
  294. package/dist/{redirect-B_9GwIZd.mjs → redirect-CnG6nJ4H.mjs} +1 -1
  295. package/dist/{redirects-Cj4lrY_X.mjs → redirects-C9pg6Dcg.mjs} +3 -3
  296. package/dist/{redirects-DvsWZIiC.mjs → redirects-lCwNKPUn.mjs} +5 -5
  297. package/dist/{registry-BwcF6gAj.mjs → registry-QxrUJAWY.mjs} +7 -7
  298. package/dist/{request-meta-C0druWvK.mjs → request-meta-DnZm9Kbu.mjs} +1 -1
  299. package/dist/{review-payload-Cg9dtFgV.mjs → review-payload-BuLgXTY6.mjs} +1 -1
  300. package/dist/{review-requests-B2tCLjdA.mjs → review-requests-uI-yUXcr.mjs} +2 -2
  301. package/dist/{review-route-helpers-CeYzVpNa.mjs → review-route-helpers-BvX04ahf.mjs} +2 -2
  302. package/dist/revision-De7OmYVD.mjs +118 -0
  303. package/dist/{runner-DnswPQIl.d.mts → runner-o39FihbH.d.mts} +1 -1
  304. package/dist/runtime.d.mts +10 -10
  305. package/dist/runtime.mjs +1 -1
  306. package/dist/{schema-86uC3yVE.mjs → schema-CD3EA3nN.mjs} +1 -1
  307. package/dist/{search-CeXUu1KD.mjs → search-BtCHwx_Z.mjs} +1 -1
  308. package/dist/{secrets-re9BzPUD.mjs → secrets-MqvM60s_.mjs} +2 -2
  309. package/dist/seed/index.d.mts +2 -2
  310. package/dist/seed/index.mjs +20 -19
  311. package/dist/seo/index.d.mts +3 -3
  312. package/dist/seo/index.mjs +7 -6
  313. package/dist/{seo-BpuKUrBs.mjs → seo-BhMH6i2e.mjs} +1 -1
  314. package/dist/{seo-BVmdKP7v.mjs → seo-CTXMR4YD.mjs} +1 -1
  315. package/dist/{service-CSeV_04p.mjs → service-evnf21UO.mjs} +2 -2
  316. package/dist/{settings-DXp6vRdV.mjs → settings-CCqefqC9.mjs} +5 -5
  317. package/dist/{settings-ClnGCe1a.mjs → settings-COtVNdOx.mjs} +1 -1
  318. package/dist/{setup-complete-BcjodOdW.mjs → setup-complete-C8LTo8cO.mjs} +1 -1
  319. package/dist/{site-context-DRSrU7hX.mjs → site-context-b3_xbkdc.mjs} +14 -14
  320. package/dist/{site-url-C1PUhgWO.mjs → site-url-AGgA46Lw.mjs} +1 -1
  321. package/dist/storage/local.d.mts +1 -1
  322. package/dist/storage/local.mjs +1 -1
  323. package/dist/storage/s3.d.mts +1 -1
  324. package/dist/storage/s3.mjs +1 -1
  325. package/dist/{store-C6bydUdt.mjs → store-BtCoeap4.mjs} +1 -1
  326. package/dist/{taxonomies-CHHgZFzB.mjs → taxonomies-DxtqEjcj.mjs} +2 -2
  327. package/dist/{taxonomies-Dfmkapin.mjs → taxonomies-xvaQ7gVM.mjs} +4 -4
  328. package/dist/{taxonomy-BUo9B6qp.mjs → taxonomy--vcXXfwc.mjs} +1 -1
  329. package/dist/{types-ZDyMKdrZ.d.mts → types-DneBBuYl.d.mts} +18 -11
  330. package/dist/{types-DCkWipbM.d.mts → types-m37xNtUj.d.mts} +1 -1
  331. package/dist/ui/server-runtime.d.mts +13 -13
  332. package/dist/ui/server-runtime.mjs +21 -21
  333. package/dist/{user-BprdjWGE.mjs → user-Dn3wV227.mjs} +1 -1
  334. package/dist/{utils-D_bwAtcb.mjs → utils-iGiCys50.mjs} +1 -1
  335. package/dist/{validate-Cdvc9APD.mjs → validate-BHVQSpUy.mjs} +2 -2
  336. package/dist/{validate-SXACKtqW.d.mts → validate-BiPYhXNZ.d.mts} +3 -3
  337. package/dist/version-BGH0og9l.mjs +6 -0
  338. package/dist/{widgets-DMzBMhsO.mjs → widgets-CBCHUg_u.mjs} +2 -2
  339. package/dist/{wordpress-slugs-CuizIp_V.mjs → wordpress-slugs-BYW2B_5x.mjs} +1 -1
  340. package/dist/{zod-generator-C0nwBbg8.mjs → zod-generator-DMlY4cI3.mjs} +1 -1
  341. package/package.json +9 -2
  342. package/src/components/DinewayImage.astro +4 -0
  343. package/dist/version-BjNGau7O.mjs +0 -6
  344. /package/dist/{actor-Bu9whHez.mjs → actor-BraTCiOp.mjs} +0 -0
  345. /package/dist/{api-tokens-BkXlt3V6.mjs → api-tokens-CZ472rzA.mjs} +0 -0
  346. /package/dist/{audit-BGHS3IuK.mjs → audit-CmiNnrbj.mjs} +0 -0
  347. /package/dist/{challenge-store-DvRxUsXv.mjs → challenge-store-ugPhBaVf.mjs} +0 -0
  348. /package/dist/{chunks-Dh8yqZt3.mjs → chunks-Bw3_BuVW.mjs} +0 -0
  349. /package/dist/{comment-eqM9KHbj.mjs → comment-DuDtCn-f.mjs} +0 -0
  350. /package/dist/{components-D5HxUv7y.mjs → components-CINP4h-l.mjs} +0 -0
  351. /package/dist/{context-types-eBuMDAg-.mjs → context-types-fEeyXC1D.mjs} +0 -0
  352. /package/dist/{cron-fQf7oVvf.mjs → cron-DIsnItPn.mjs} +0 -0
  353. /package/dist/{default-CnbyLh9W.mjs → default-D8jeKsT3.mjs} +0 -0
  354. /package/dist/{email-console-vFj2FFuJ.mjs → email-console-DRb6jkoC.mjs} +0 -0
  355. /package/dist/{error-DWL9Pwyt.mjs → error-BPA9T0AW.mjs} +0 -0
  356. /package/dist/{escape-DBggE3jq.mjs → escape-DgNqnHuj.mjs} +0 -0
  357. /package/dist/{experimental-workflows-Dvn_xgew.mjs → experimental-workflows-DOo7QDRn.mjs} +0 -0
  358. /package/dist/{fts-manager-D4K5mA0j.mjs → fts-manager-BB44uXMm.mjs} +0 -0
  359. /package/dist/{hash-mxxx2oPW.mjs → hash-CEky-IDp.mjs} +0 -0
  360. /package/dist/{load-B1cm00WU.mjs → load-C-cMlsPv.mjs} +0 -0
  361. /package/dist/{media-DNde5-Am.mjs → media-4xtXwq7L.mjs} +0 -0
  362. /package/dist/{media-url-LSeVcoln.mjs → media-url-BhbJfG3Y.mjs} +0 -0
  363. /package/dist/{mime-C0vOHFm7.mjs → mime-Bg7yUeHW.mjs} +0 -0
  364. /package/dist/{mode-DYsXVFoY.mjs → mode-CgD_xAEJ.mjs} +0 -0
  365. /package/dist/{normalize-Cyt7JdF7.mjs → normalize-BY2gOygP.mjs} +0 -0
  366. /package/dist/{oauth-state-store-CUU4azTF.mjs → oauth-state-store-Dbj-J0K5.mjs} +0 -0
  367. /package/dist/{oauth-user-lookup-CRFHKN_W.mjs → oauth-user-lookup-D2NAYPjU.mjs} +0 -0
  368. /package/dist/{options-DQPTH5n0.mjs → options-1dBRkoCl.mjs} +0 -0
  369. /package/dist/{output-13u4dvu-.mjs → output-A4ZfzzA0.mjs} +0 -0
  370. /package/dist/{parser-Co69H1x-.mjs → parser-C3ux7a3Y.mjs} +0 -0
  371. /package/dist/{passkey-config-e-0KLl2R.mjs → passkey-config-DUc1iP_-.mjs} +0 -0
  372. /package/dist/{patterns-CoqlXUvk.mjs → patterns-CP9gkiCE.mjs} +0 -0
  373. /package/dist/{placeholder-DeJydgkj.d.mts → placeholder-0cGpMonY.d.mts} +0 -0
  374. /package/dist/{portable-text-B7E-ali_.d.mts → portable-text-Cu4n_8zI.d.mts} +0 -0
  375. /package/dist/{portable-text-C8Tvp4_g.mjs → portable-text-U85hOafW.mjs} +0 -0
  376. /package/dist/{process-cache-CCDgti7j.mjs → process-cache-DsMwJ3LM.mjs} +0 -0
  377. /package/dist/{provider-loader-BIxppPHS.mjs → provider-loader-BPHG3BR5.mjs} +0 -0
  378. /package/dist/{public-discovery-BlJ80Hoh.mjs → public-discovery-CyDzK1-S.mjs} +0 -0
  379. /package/dist/{public-url-jFEiiLag.mjs → public-url-CmBKcpsJ.mjs} +0 -0
  380. /package/dist/{redirect-C2bJtYhP.mjs → redirect-D_bb_Cc3.mjs} +0 -0
  381. /package/dist/{request-cache-CBFjCwSt.mjs → request-cache-DoT2mKBT.mjs} +0 -0
  382. /package/dist/{resolve-Doh2USIE.mjs → resolve-BDWXnk_V.mjs} +0 -0
  383. /package/dist/{review-requests-Bo4jcxtU.mjs → review-requests-DaYnr3XR.mjs} +0 -0
  384. /package/dist/{sections-BQdtDQUw.mjs → sections-BM88PvRO.mjs} +0 -0
  385. /package/dist/{seo-contributions-CPDwm9MH.mjs → seo-contributions-DzusM9lG.mjs} +0 -0
  386. /package/dist/{service-CY0aH6eI.mjs → service-BB1n90wh.mjs} +0 -0
  387. /package/dist/{session-user-DTopk3zO.mjs → session-user-BQZHuGOS.mjs} +0 -0
  388. /package/dist/{setup-nonce-C76FNEst.mjs → setup-nonce-220YhE1R.mjs} +0 -0
  389. /package/dist/{sidecar-client-CQF4fcO7.mjs → sidecar-client-SDgPreXV.mjs} +0 -0
  390. /package/dist/{site-activity-By0wWO0g.mjs → site-activity-kfZ9X0no.mjs} +0 -0
  391. /package/dist/{ssrf-CxOWiF0p.mjs → ssrf-D00lPvtF.mjs} +0 -0
  392. /package/dist/{stable-hash-DshcXvRE.mjs → stable-hash-_A3p1ln2.mjs} +0 -0
  393. /package/dist/{status-DvSRKIiF.mjs → status-BdZSXIP_.mjs} +0 -0
  394. /package/dist/{tokens-COJxRo8q.mjs → tokens-ShJZm_QS.mjs} +0 -0
  395. /package/dist/{transaction-Chz7SBGr.mjs → transaction-L0tzAOfM.mjs} +0 -0
  396. /package/dist/{transport-BDQ73F0l.mjs → transport-DtrY0-hI.mjs} +0 -0
  397. /package/dist/{transport-BfF60P73.d.mts → transport-SoRbXDM4.d.mts} +0 -0
  398. /package/dist/{trusted-proxy-j2KYPN4r.mjs → trusted-proxy-9b2fSXK2.mjs} +0 -0
  399. /package/dist/{types-B0P-ECRI.d.mts → types-B-KSspMO.d.mts} +0 -0
  400. /package/dist/{types-DA4L0OLk.mjs → types-B-nDjnzA.mjs} +0 -0
  401. /package/dist/{types-gG3syKwc.d.mts → types-B2W3CeZN.d.mts} +0 -0
  402. /package/dist/{types-C0hcZkqG.d.mts → types-BdsNqnHA.d.mts} +0 -0
  403. /package/dist/{types-VkWKA-R2.d.mts → types-Cd_2Jeqp.d.mts} +0 -0
  404. /package/dist/{types-B7TDDFMG.mjs → types-D1l9cCKM.mjs} +0 -0
  405. /package/dist/{types-DN82MbYv.d.mts → types-D8iukuuI.d.mts} +0 -0
  406. /package/dist/{types-Cnz2EIEp.d.mts → types-ZdWRfUsC.d.mts} +0 -0
  407. /package/dist/{types-gnLXQcvx.mjs → types-dgGPmsl_.mjs} +0 -0
  408. /package/dist/{url-Bm__30we.mjs → url-C_pLSrGZ.mjs} +0 -0
  409. /package/dist/{url-BG-3f-Vy.mjs → url-CmjWycVK.mjs} +0 -0
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { i as runMigrations, n as getMigrationStatus, t as getMigrationFingerprint } from "../runner-CQnzfBpD.mjs";
3
- import { t as createDatabase } from "../connection-CiJWiWya.mjs";
3
+ import { t as createDatabase } from "../connection-DJ3GzHVH.mjs";
4
4
  import { t as validateIdentifier } from "../validate-VPnKoIzW.mjs";
5
5
  import { l as listTablesLike } from "../dialect-helpers-fk43GbDb.mjs";
6
6
  import { n as getI18nConfig, r as isI18nEnabled } from "../config-CVssduLe.mjs";
@@ -9,47 +9,52 @@ import "../types-CFvpEEOl.mjs";
9
9
  import { o as isMissingTableError } from "../loader-CsX5pTud.mjs";
10
10
  import "../object-cache-D51qOseS.mjs";
11
11
  import { n as slugify } from "../slugify-KSsVD_D3.mjs";
12
- import { t as ContentRepository } from "../content-C0qGd2Nt.mjs";
13
- import { t as MediaRepository } from "../media-DNde5-Am.mjs";
14
- import { t as TaxonomyRepository } from "../taxonomy-BUo9B6qp.mjs";
15
- import { t as OptionsRepository } from "../options-DQPTH5n0.mjs";
16
- import "../redirect-B_9GwIZd.mjs";
17
- import "../request-cache-CBFjCwSt.mjs";
18
- import "../byline-registry-BLgrU3dA.mjs";
19
- import "../field-defs-cache-7Ka899yA.mjs";
20
- import { t as BylineRepository } from "../byline-CbFno1Kd.mjs";
21
- import "../content-refresh-BkGWtwUN.mjs";
22
- import "../fts-manager-D4K5mA0j.mjs";
23
- import "../public-discovery-BlJ80Hoh.mjs";
24
- import { n as SchemaRegistry } from "../registry-BwcF6gAj.mjs";
25
- import "../settings-DXp6vRdV.mjs";
26
- import { n as VERSION } from "../version-BjNGau7O.mjs";
27
- import { i as parseEncryptionKeys, n as fingerprintKey, r as generateEncryptionKey, t as DinewaySecretsError } from "../secrets-re9BzPUD.mjs";
28
- import { t as IntegrationCredentialStore } from "../store-C6bydUdt.mjs";
29
- import { a as reconcileManifestAccess, i as pluginManifestSchema } from "../manifest-schema-VGSvatoU.mjs";
30
- import { n as resolveAndValidateExternalUrl, t as SsrfError } from "../ssrf-CxOWiF0p.mjs";
31
- import { t as validateSeed } from "../validate-Cdvc9APD.mjs";
32
- import { t as applySeed } from "../apply-DNy1dp8W.mjs";
33
- import { _ as readForgewayCredentials, a as InvalidForgewayAccountCredentialsError, c as getForgewayDinewayAccount, d as normalizeForgewayEmail, f as readStoredForgewayAccount, g as listForgewayCredentials, h as sendForgewayAccountLoginLink, i as DEFAULT_FORGEWAY_API_BASE_URL, l as normalizeDinewayWebUrl, m as removeStoredForgewayAccount, n as DinewayToolsService, o as completeForgewayAccountLogin, p as refreshForgewayAccountCredentials, r as DEFAULT_DINEWAY_WEB_URL, s as createForgewayAccountClient, t as DinewayToolsError, u as normalizeForgewayApiUrl, v as writeForgewayCredentials } from "../service-CY0aH6eI.mjs";
34
- import { n as output, t as configureOutputMode } from "../output-13u4dvu-.mjs";
12
+ import "../revision-De7OmYVD.mjs";
13
+ import { t as ContentRepository } from "../content-CzUrmMC3.mjs";
14
+ import { t as MediaRepository } from "../media-4xtXwq7L.mjs";
15
+ import { t as TaxonomyRepository } from "../taxonomy--vcXXfwc.mjs";
16
+ import { t as OptionsRepository } from "../options-1dBRkoCl.mjs";
17
+ import "../redirect-CnG6nJ4H.mjs";
18
+ import "../request-cache-DoT2mKBT.mjs";
19
+ import "../byline-registry-CF9nobxT.mjs";
20
+ import "../field-defs-cache-BIHTU5Yj.mjs";
21
+ import { t as BylineRepository } from "../byline-MGIfM2Is.mjs";
22
+ import "../content-refresh-C_jcjzOr.mjs";
23
+ import "../fts-manager-BB44uXMm.mjs";
24
+ import "../public-discovery-CyDzK1-S.mjs";
25
+ import { n as SchemaRegistry } from "../registry-QxrUJAWY.mjs";
26
+ import "../settings-CCqefqC9.mjs";
27
+ import { n as VERSION } from "../version-BGH0og9l.mjs";
28
+ import { i as parseEncryptionKeys, n as fingerprintKey, r as generateEncryptionKey, t as DinewaySecretsError } from "../secrets-MqvM60s_.mjs";
29
+ import { t as IntegrationCredentialStore } from "../store-BtCoeap4.mjs";
30
+ import { a as reconcileManifestAccess, i as pluginManifestSchema } from "../manifest-schema-owbEUmv1.mjs";
31
+ import { n as resolveAndValidateExternalUrl, t as SsrfError } from "../ssrf-D00lPvtF.mjs";
32
+ import { t as validateSeed } from "../validate-BHVQSpUy.mjs";
33
+ import { t as applySeed } from "../apply-CS_138du.mjs";
34
+ import { _ as readForgewayCredentials, a as InvalidForgewayAccountCredentialsError, c as getForgewayDinewayAccount, d as normalizeForgewayEmail, f as readStoredForgewayAccount, g as listForgewayCredentials, h as sendForgewayAccountLoginLink, i as DEFAULT_FORGEWAY_API_BASE_URL, l as normalizeDinewayWebUrl, m as removeStoredForgewayAccount, n as DinewayToolsService, o as completeForgewayAccountLogin, p as refreshForgewayAccountCredentials, r as DEFAULT_DINEWAY_WEB_URL, s as createForgewayAccountClient, t as DinewayToolsError, u as normalizeForgewayApiUrl, v as writeForgewayCredentials } from "../service-BB1n90wh.mjs";
35
+ import { n as output, t as configureOutputMode } from "../output-A4ZfzzA0.mjs";
35
36
  import { createHeaderAwareFetch, isRedirectResponse, resolveCustomHeaders } from "../client/external-auth-headers.mjs";
36
- import { t as convertDataForRead } from "../portable-text-C8Tvp4_g.mjs";
37
- import { _ as saveMarketplaceCredential, a as ensureProjectGitignoreDinewayLocalState, c as resolveDinewayBaseUrl, d as getCredentials, f as getMarketplaceCredential, g as saveCredentials, h as resolveCredentialKey, i as DEFAULT_DINEWAY_URL, l as resolveDinewayToken, m as removeMarketplaceCredential, n as connectionArgs, o as ensureProjectGitignoreEntry, p as removeCredentials, r as createClientFromArgs, s as readProjectEnv, u as upsertProjectEnv } from "../client-factory-BDDerNBz.mjs";
37
+ import { t as convertDataForRead } from "../portable-text-U85hOafW.mjs";
38
+ import { _ as saveMarketplaceCredential, a as ensureProjectGitignoreDinewayLocalState, c as resolveDinewayBaseUrl, d as getCredentials, f as getMarketplaceCredential, g as saveCredentials, h as resolveCredentialKey, i as DEFAULT_DINEWAY_URL, l as resolveDinewayToken, m as removeMarketplaceCredential, n as connectionArgs, o as ensureProjectGitignoreEntry, p as removeCredentials, r as createClientFromArgs, s as readProjectEnv, u as upsertProjectEnv } from "../client-factory-DXfeovxp.mjs";
38
39
  import { LocalStorage } from "../storage/local.mjs";
39
- import { r as fileExists$11, t as bundleCommand } from "../bundle-MGZ2MLSb.mjs";
40
+ import { r as fileExists$11, t as bundleCommand } from "../bundle-DicQY2p2.mjs";
40
41
  import { createRequire } from "node:module";
41
42
  import { createHash } from "node:crypto";
42
43
  import { sql } from "kysely";
44
+ import { z } from "zod";
43
45
  import { createGzipDecoder, unpackTar } from "modern-tar";
44
- import { createReadStream, existsSync, readFileSync, writeFileSync } from "node:fs";
45
- import { basename, dirname, isAbsolute, join, relative, resolve } from "node:path";
46
+ import { createReadStream, createWriteStream, existsSync, readFileSync, writeFileSync } from "node:fs";
47
+ import { basename, dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
46
48
  import sax from "sax";
47
49
  import { pathToFileURL } from "node:url";
48
50
  import { defineCommand, runCommand, runMain } from "citty";
49
51
  import { createInterface } from "node:readline/promises";
50
52
  import consola, { consola as consola$1 } from "consola";
51
53
  import pc from "picocolors";
52
- import { access, mkdir, readFile, readdir, stat, writeFile } from "node:fs/promises";
54
+ import { access, cp, lstat, mkdir, mkdtemp, readFile, readdir, realpath, rename, rm, stat, writeFile } from "node:fs/promises";
55
+ import { pipeline } from "node:stream/promises";
56
+ import { createGzip } from "node:zlib";
57
+ import { packTar } from "modern-tar/fs";
53
58
  import { spawn } from "node:child_process";
54
59
  import { parse } from "parse5";
55
60
 
@@ -1012,6 +1017,12 @@ async function handleCliPaywall(input) {
1012
1017
 
1013
1018
  //#endregion
1014
1019
  //#region src/cli/commands/deploy/utils/astro-adapter.ts
1020
+ const CLOUDFLARE_ADAPTER_PACKAGE = "@astrojs/cloudflare";
1021
+ const CLOUDFLARE_ADAPTER_VERSION = "14.0.0";
1022
+ const CLOUDFLARE_IMPORT_PATTERN = /^import\s+cloudflare\s+from\s+["']@astrojs\/cloudflare["'];\n?/m;
1023
+ const CLOUDFLARE_ADAPTER_PROPERTY_PATTERN = /\badapter\s*:\s*cloudflare\s*\(/;
1024
+ const ANY_ADAPTER_PROPERTY_PATTERN = /\badapter\s*:/;
1025
+ const SESSION_PROPERTY_PATTERN = /\bsession\s*:/;
1015
1026
  const NODE_ADAPTER_PACKAGE = "@astrojs/node";
1016
1027
  const VERCEL_ADAPTER_PACKAGE = "@astrojs/vercel";
1017
1028
  const NODE_ADAPTER_VERSION = "^10.1.0";
@@ -1021,7 +1032,7 @@ const VERCEL_IMPORT_PATTERN = /^import\s+vercel\s+from\s+["']@astrojs\/vercel["'
1021
1032
  const CONDITIONAL_ADAPTER_FLAG_PATTERN = /^const\s+isVercelDeploy\s*=\s*process\.env\.VERCEL\s*===\s*["']1["']\s*\|\|\s*process\.env\.DINEWAY_DEPLOY_TARGET\s*===\s*["']forgeway["'];\n?/m;
1022
1033
  const SERVER_OUTPUT_PATTERN = /output:\s*["']server["'],/;
1023
1034
  const KNOWN_ADAPTER_FLAG_PATTERN = /\bisVercelDeploy\b/;
1024
- const KNOWN_ADAPTER_CALL_PATTERN = /\b(?:node|vercel)\s*\(/;
1035
+ const KNOWN_ADAPTER_CALL_PATTERN = /\b(?:node|vercel|cloudflare)\s*\(/;
1025
1036
  const ADAPTER_PROPERTY_PATTERN = /\n?[ \t]*adapter\s*:/g;
1026
1037
  const COLLECT_UPLOAD_FUNCTION_PATTERN = /\bfunction\s+collectUploadIncludeFiles\s*\(/;
1027
1038
  const TRAILING_NEWLINES_PATTERN = /\n+$/;
@@ -1177,24 +1188,36 @@ function removeGeneratedVercelUploadHelper(source) {
1177
1188
  for (const statement of GENERATED_UPLOAD_HELPER_IMPORTS) next = next.replace(`${statement}\n`, "");
1178
1189
  return next;
1179
1190
  }
1191
+ function ensureWorkersSession(source) {
1192
+ return SESSION_PROPERTY_PATTERN.test(source) ? source : source.replace(SERVER_OUTPUT_PATTERN, (match) => `${match}\n\tsession: { driver: { entrypoint: "dineway/astro/session-driver" } },`);
1193
+ }
1180
1194
  function configureAstroConfigSource(source, adapter) {
1195
+ if (adapter === "cloudflare" && CLOUDFLARE_IMPORT_PATTERN.test(source) && CLOUDFLARE_ADAPTER_PROPERTY_PATTERN.test(source)) return ensureWorkersSession(source);
1181
1196
  let next = source.replace(CONDITIONAL_ADAPTER_FLAG_PATTERN, "").replace(adapter === "vercel" ? NODE_IMPORT_PATTERN : VERCEL_IMPORT_PATTERN, "");
1182
- if (adapter === "node") next = removeGeneratedVercelUploadHelper(next);
1183
- const wantedImport = adapter === "vercel" ? `import vercel from "${VERCEL_ADAPTER_PACKAGE}";` : `import node from "${NODE_ADAPTER_PACKAGE}";`;
1184
- const wantedAdapter = adapter === "vercel" ? createVercelAdapterConfig() : "adapter: node({ mode: \"standalone\" }),";
1197
+ if (adapter !== "cloudflare") next = next.replace(CLOUDFLARE_IMPORT_PATTERN, "");
1198
+ if (adapter === "cloudflare") next = next.replace(NODE_IMPORT_PATTERN, "");
1199
+ if (adapter !== "vercel") next = removeGeneratedVercelUploadHelper(next);
1200
+ const wantedImport = adapter === "cloudflare" ? `import cloudflare from "${CLOUDFLARE_ADAPTER_PACKAGE}";` : adapter === "vercel" ? `import vercel from "${VERCEL_ADAPTER_PACKAGE}";` : `import node from "${NODE_ADAPTER_PACKAGE}";`;
1201
+ const wantedAdapter = adapter === "cloudflare" ? "adapter: cloudflare({ imageService: \"passthrough\" })," : adapter === "vercel" ? createVercelAdapterConfig() : "adapter: node({ mode: \"standalone\" }),";
1185
1202
  if (!next.includes(wantedImport)) next = insertImport(next, wantedImport);
1186
1203
  if (adapter === "vercel") next = ensureGeneratedVercelUploadHelper(next);
1187
1204
  const adapterReplacement = replaceKnownAdapterEntries(next, wantedAdapter);
1188
1205
  next = adapterReplacement.source;
1189
1206
  if (!adapterReplacement.replaced) {
1207
+ if (adapter === "cloudflare" && ANY_ADAPTER_PROPERTY_PATTERN.test(next)) throw new Error("Cannot safely replace the custom Astro adapter. Configure @astrojs/cloudflare manually.");
1190
1208
  if (!SERVER_OUTPUT_PATTERN.test(next)) throw new Error("astro.config.mjs must include output: \"server\" before deploy adapter setup.");
1191
1209
  next = next.replace(SERVER_OUTPUT_PATTERN, (match) => `${match}\n\t${wantedAdapter}`);
1192
1210
  }
1193
- return next;
1211
+ return adapter === "cloudflare" ? ensureWorkersSession(next) : next;
1194
1212
  }
1195
1213
  function configurePackageJson(pkg, adapter) {
1196
1214
  const dependencies = { ...pkg.dependencies };
1197
- if (adapter === "vercel") {
1215
+ if (adapter !== "cloudflare") delete dependencies[CLOUDFLARE_ADAPTER_PACKAGE];
1216
+ if (adapter === "cloudflare") {
1217
+ delete dependencies[NODE_ADAPTER_PACKAGE];
1218
+ delete dependencies[VERCEL_ADAPTER_PACKAGE];
1219
+ dependencies[CLOUDFLARE_ADAPTER_PACKAGE] = dependencies[CLOUDFLARE_ADAPTER_PACKAGE] ?? CLOUDFLARE_ADAPTER_VERSION;
1220
+ } else if (adapter === "vercel") {
1198
1221
  delete dependencies[NODE_ADAPTER_PACKAGE];
1199
1222
  dependencies[VERCEL_ADAPTER_PACKAGE] = dependencies[VERCEL_ADAPTER_PACKAGE] ?? VERCEL_ADAPTER_VERSION;
1200
1223
  } else {
@@ -1250,6 +1273,331 @@ async function configureAstroDeployAdapter(cwd, adapter, dryRun = false) {
1250
1273
  return [...await configureAstroConfig(cwd, adapter, dryRun), ...await configurePackage(cwd, adapter, dryRun)];
1251
1274
  }
1252
1275
 
1276
+ //#endregion
1277
+ //#region src/cli/commands/deploy/utils/workers.ts
1278
+ const WORKERS_BUILD_CONFIG = "dist/server/wrangler.json";
1279
+ const INVALID_NAME = /[^a-z0-9-]+/g;
1280
+ const EDGE_HYPHENS = /^-+|-+$/g;
1281
+ const workerBuildSchema = z.object({
1282
+ main: z.string().min(1),
1283
+ compatibility_date: z.string(),
1284
+ compatibility_flags: z.array(z.string()),
1285
+ no_bundle: z.literal(true),
1286
+ assets: z.object({
1287
+ binding: z.literal("ASSETS"),
1288
+ directory: z.string().min(1)
1289
+ })
1290
+ }).passthrough();
1291
+ async function exists(path) {
1292
+ try {
1293
+ await access(path);
1294
+ return true;
1295
+ } catch {
1296
+ return false;
1297
+ }
1298
+ }
1299
+ async function writeNewFile(cwd, path, content, dryRun = false) {
1300
+ if (await exists(join(cwd, path))) return {
1301
+ path,
1302
+ action: "exists"
1303
+ };
1304
+ if (dryRun) return {
1305
+ path,
1306
+ action: "skipped"
1307
+ };
1308
+ await mkdir(dirname(join(cwd, path)), { recursive: true });
1309
+ await assertInsideDirectory(cwd, dirname(join(cwd, path)));
1310
+ await writeFile(join(cwd, path), content, "utf-8");
1311
+ return {
1312
+ path,
1313
+ action: "created"
1314
+ };
1315
+ }
1316
+ async function generateWorkersConfig(cwd, dryRun = false) {
1317
+ const files = await configureAstroDeployAdapter(cwd, "cloudflare", dryRun);
1318
+ for (const path of [
1319
+ "wrangler.jsonc",
1320
+ "wrangler.json",
1321
+ "wrangler.toml"
1322
+ ]) if (await exists(join(cwd, path))) return [...files, {
1323
+ path,
1324
+ action: "exists"
1325
+ }];
1326
+ const config = {
1327
+ name: (z.object({ name: z.string().optional() }).parse(JSON.parse(await readFile(join(cwd, "package.json"), "utf-8"))).name?.split("/").at(-1) ?? "dineway").toLowerCase().replace(INVALID_NAME, "-").replace(EDGE_HYPHENS, "").slice(0, 63).replace(EDGE_HYPHENS, "") || "dineway",
1328
+ main: "@astrojs/cloudflare/entrypoints/server",
1329
+ compatibility_date: "2026-09-01",
1330
+ compatibility_flags: ["nodejs_compat"],
1331
+ assets: { binding: "ASSETS" }
1332
+ };
1333
+ files.push(await writeNewFile(cwd, "wrangler.jsonc", JSON.stringify(config, null, " ") + "\n", dryRun));
1334
+ return files;
1335
+ }
1336
+ async function assertInsideDirectory(root, path) {
1337
+ if (!isInside(relative(await realpath(root), await realpath(path)))) throw new Error("Workers build files must stay inside the project output directory.");
1338
+ }
1339
+ function isInside(relativePath) {
1340
+ return relativePath !== ".." && !relativePath.startsWith(`..${sep}`) && !isAbsolute(relativePath);
1341
+ }
1342
+ async function readWorkersBuild(cwd) {
1343
+ const configPath = join(cwd, WORKERS_BUILD_CONFIG);
1344
+ if (!await exists(configPath)) throw new Error("Missing Cloudflare Worker build. Install @astrojs/cloudflare and wrangler, then run the Astro build before deploying.");
1345
+ await assertInsideDirectory(cwd, join(cwd, "dist"));
1346
+ await assertInsideDirectory(join(cwd, "dist"), configPath);
1347
+ const config = workerBuildSchema.parse(JSON.parse(await readFile(configPath, "utf-8")));
1348
+ if (!config.compatibility_flags.includes("nodejs_compat")) throw new Error("Dineway Workers require compatibility_flags: [\"nodejs_compat\"].");
1349
+ const serverDir = dirname(configPath);
1350
+ const entrypoint = resolve(serverDir, config.main);
1351
+ const assetsDir = resolve(serverDir, config.assets.directory);
1352
+ await assertInsideDirectory(serverDir, entrypoint);
1353
+ await assertInsideDirectory(join(cwd, "dist"), assetsDir);
1354
+ const [realServer, realAssets] = await Promise.all([realpath(serverDir), realpath(assetsDir)]);
1355
+ if (isInside(relative(realServer, realAssets)) || isInside(relative(realAssets, realServer))) throw new Error("Worker server modules and public assets must use separate output directories.");
1356
+ return {
1357
+ config,
1358
+ configPath,
1359
+ serverDir,
1360
+ entrypoint,
1361
+ assetsDir
1362
+ };
1363
+ }
1364
+
1365
+ //#endregion
1366
+ //#region src/cli/commands/deploy/targets/chatgpt-sites.ts
1367
+ const HOSTING_PATH = ".openai/hosting.json";
1368
+ const externalPersistence = z.unknown().refine((value) => value == null, "This Dineway Sites target uses external HTTP libSQL and S3; native D1/R2 bindings are not supported.");
1369
+ const hostingSchema = z.object({
1370
+ project_id: z.string().min(1),
1371
+ static: z.null().optional(),
1372
+ d1: externalPersistence.optional(),
1373
+ r2: externalPersistence.optional(),
1374
+ capabilities: z.array(z.string()).optional()
1375
+ }).strict();
1376
+ const NON_RUNTIME_ENTRIES = new Set([
1377
+ ".prerender",
1378
+ ".vite",
1379
+ "wrangler.json",
1380
+ ".dev.vars",
1381
+ ".env"
1382
+ ]);
1383
+ const BINDING_KEYS = [
1384
+ "kv_namespaces",
1385
+ "d1_databases",
1386
+ "r2_buckets",
1387
+ "services",
1388
+ "hyperdrive",
1389
+ "vectorize",
1390
+ "workflows",
1391
+ "worker_loaders",
1392
+ "queues",
1393
+ "durable_objects",
1394
+ "images",
1395
+ "ai"
1396
+ ];
1397
+ async function readHosting(cwd, projectId) {
1398
+ await assertInsideDirectory(cwd, join(cwd, HOSTING_PATH));
1399
+ if (!(await lstat(join(cwd, HOSTING_PATH))).isFile()) throw new Error("Sites hosting.json must be a regular file.");
1400
+ const config = hostingSchema.parse(JSON.parse(await readFile(join(cwd, HOSTING_PATH), "utf-8")));
1401
+ if (projectId && projectId !== config.project_id) throw new Error("--site does not match .openai/hosting.json. Reuse the existing Sites project ID.");
1402
+ return config;
1403
+ }
1404
+ async function assertRegularTree(path) {
1405
+ const stat = await lstat(path);
1406
+ if (stat.isDirectory()) for (const entry of await readdir(path)) await assertRegularTree(join(path, entry));
1407
+ else if (!stat.isFile()) throw new Error("Sites build output must not contain symlinks or special files.");
1408
+ }
1409
+ function hasBinding(value) {
1410
+ if (Array.isArray(value)) return value.length > 0;
1411
+ if (value && typeof value === "object") return Object.values(value).some(hasBinding);
1412
+ return value !== void 0 && value !== null && value !== false && value !== "";
1413
+ }
1414
+ const chatgptSitesTarget = {
1415
+ name: "chatgpt-sites",
1416
+ label: "ChatGPT Sites",
1417
+ description: "Prepare an Astro Worker archive for publishing through the Sites connector.",
1418
+ supportLevel: "experimental",
1419
+ async generateConfig(cwd, options) {
1420
+ if (await exists(join(cwd, HOSTING_PATH))) await readHosting(cwd, options.site);
1421
+ else if (!options.site && !options.dryRun) throw new Error("Register or select a Site with the Sites connector first, then pass its exact project ID with --site or save it in .openai/hosting.json.");
1422
+ const files = await generateWorkersConfig(cwd, options.dryRun);
1423
+ files.push(await writeNewFile(cwd, HOSTING_PATH, JSON.stringify({ project_id: options.site }, null, " ") + "\n", options.dryRun));
1424
+ return files;
1425
+ },
1426
+ async deploy(cwd, options) {
1427
+ if (options.dryRun) return { message: "[dry-run] Would prepare dist/server/index.js and dist/.openai/hosting.json for the Sites hosting skill. Publishing uses the Sites connector." };
1428
+ const hosting = await readHosting(cwd, options.site);
1429
+ if (await exists(join(cwd, "drizzle")) || await exists(join(cwd, "dist/.openai/drizzle"))) throw new Error("This Dineway Sites target does not support Drizzle/D1 migrations. Use external HTTP libSQL with Dineway's runtime migrations.");
1430
+ const build = await readWorkersBuild(cwd);
1431
+ const unsupported = BINDING_KEYS.filter((key) => hasBinding(build.config[key]));
1432
+ if (unsupported.length) throw new Error(`Sites cannot provision this Worker's Wrangler bindings: ${unsupported.join(", ")}. Use Dineway database sessions, libsqlHttp(), and S3 storage. Manage Sites bindings with the Sites connector.`);
1433
+ await assertRegularTree(build.serverDir);
1434
+ await assertRegularTree(build.assetsDir);
1435
+ await mkdir(join(cwd, ".dineway"), { recursive: true });
1436
+ await assertInsideDirectory(cwd, join(cwd, ".dineway"));
1437
+ const stage = await mkdtemp(join(cwd, ".dineway/sites-"));
1438
+ try {
1439
+ const dist = join(stage, "upload/dist");
1440
+ await mkdir(join(dist, ".openai"), { recursive: true });
1441
+ await cp(build.serverDir, join(dist, "server"), {
1442
+ recursive: true,
1443
+ filter: (path) => !NON_RUNTIME_ENTRIES.has(basename(path))
1444
+ });
1445
+ await cp(build.assetsDir, join(dist, "client"), { recursive: true });
1446
+ if (build.entrypoint !== join(build.serverDir, "index.js")) {
1447
+ const entry = "./" + relative(build.serverDir, build.entrypoint).split(sep).join("/");
1448
+ await writeFile(join(dist, "server/index.js"), `export { default } from ${JSON.stringify(entry)};\n`);
1449
+ }
1450
+ await writeFile(join(dist, ".openai/hosting.json"), JSON.stringify(hosting, null, " ") + "\n");
1451
+ const archivePath = join(cwd, ".dineway/sites-deploy.tar.gz");
1452
+ const preparedArchive = join(stage, "site.tar.gz");
1453
+ await pipeline(packTar(join(stage, "upload")), createGzip(), createWriteStream(preparedArchive, { mode: 384 }));
1454
+ await rename(preparedArchive, archivePath);
1455
+ return { message: `Sites archive prepared: ${archivePath}. Not published yet. Use the sites-hosting skill to push the matching source, save this version, and deploy through the Sites connector.` };
1456
+ } finally {
1457
+ await rm(stage, {
1458
+ recursive: true,
1459
+ force: true
1460
+ });
1461
+ }
1462
+ }
1463
+ };
1464
+
1465
+ //#endregion
1466
+ //#region src/cli/commands/deploy/utils/spawn.ts
1467
+ async function runCommand$1(command, args, options) {
1468
+ return new Promise((resolve, reject) => {
1469
+ const child = spawn(command, args, {
1470
+ cwd: options.cwd,
1471
+ env: {
1472
+ ...process.env,
1473
+ ...options.env
1474
+ },
1475
+ stdio: options.stdio === "inherit" ? "inherit" : [
1476
+ "ignore",
1477
+ "pipe",
1478
+ "pipe"
1479
+ ],
1480
+ shell: false
1481
+ });
1482
+ let stdout = "";
1483
+ let stderr = "";
1484
+ if (options.stdio !== "inherit") {
1485
+ child.stdout?.on("data", (chunk) => {
1486
+ stdout += chunk.toString();
1487
+ });
1488
+ child.stderr?.on("data", (chunk) => {
1489
+ stderr += chunk.toString();
1490
+ });
1491
+ }
1492
+ child.on("error", reject);
1493
+ child.on("close", (code) => {
1494
+ resolve({
1495
+ code: code ?? 0,
1496
+ stdout,
1497
+ stderr
1498
+ });
1499
+ });
1500
+ });
1501
+ }
1502
+ async function runCommandOrThrow(command, args, options) {
1503
+ const result = await runCommand$1(command, args, options);
1504
+ if (result.code !== 0) {
1505
+ const detail = result.stderr.trim() || result.stdout.trim() || `exit code ${result.code}`;
1506
+ throw new Error(`${command} ${args.join(" ")} failed: ${detail}`);
1507
+ }
1508
+ return result;
1509
+ }
1510
+
1511
+ //#endregion
1512
+ //#region src/cli/commands/deploy/utils/cli-resolver.ts
1513
+ async function confirm(message) {
1514
+ if (!process.stdin.isTTY) return false;
1515
+ const rl = createInterface({
1516
+ input: process.stdin,
1517
+ output: process.stdout
1518
+ });
1519
+ try {
1520
+ const answer = await rl.question(`${message} [y/N] `);
1521
+ return answer.trim().toLowerCase() === "y" || answer.trim().toLowerCase() === "yes";
1522
+ } finally {
1523
+ rl.close();
1524
+ }
1525
+ }
1526
+ function resolveProviderCli(cwd, binary) {
1527
+ const local = join(cwd, "node_modules", ".bin", process.platform === "win32" ? `${binary}.cmd` : binary);
1528
+ return existsSync(local) ? local : binary;
1529
+ }
1530
+ async function ensureTargetCli(target, cwd, options = {}) {
1531
+ if (!target.cli) return;
1532
+ if ((await runCommand$1(resolveProviderCli(cwd, target.cli.versionCommand.command), target.cli.versionCommand.args, { cwd }).catch(() => ({
1533
+ code: 1,
1534
+ stdout: "",
1535
+ stderr: ""
1536
+ }))).code === 0) return;
1537
+ if (options.dryRun) {
1538
+ consola.info(`[dry-run] Would verify ${target.cli.binary} CLI with ${target.cli.versionCommand.command} ${target.cli.versionCommand.args.join(" ")}`);
1539
+ if (target.cli.npmPackage) consola.info(`[dry-run] Would offer to install ${target.cli.npmPackage}`);
1540
+ else consola.info(`[dry-run] ${target.cli.installHint ?? `Install ${target.cli.binary} before deploying.`}`);
1541
+ return;
1542
+ }
1543
+ if (!target.cli.npmPackage) throw new Error(`${target.label} CLI is required. ${target.cli.installHint ?? `Install ${target.cli.binary} and try again.`}`);
1544
+ if (options.yes) throw new Error(`Install ${target.cli.npmPackage} and run this command again. The --yes flag does not approve global CLI installation.`);
1545
+ if (!await confirm(`${target.label} CLI is not installed. Install ${target.cli.npmPackage} globally now?`)) throw new Error(`Install ${target.cli.npmPackage} and run this command again.`);
1546
+ await runCommandOrThrow("npm", [
1547
+ "install",
1548
+ "--global",
1549
+ target.cli.npmPackage
1550
+ ], {
1551
+ cwd,
1552
+ stdio: "inherit"
1553
+ });
1554
+ }
1555
+
1556
+ //#endregion
1557
+ //#region src/cli/commands/deploy/targets/cloudflare.ts
1558
+ const cloudflareTarget = {
1559
+ name: "cloudflare",
1560
+ label: "Cloudflare Workers",
1561
+ description: "Deploy an Astro Worker with Wrangler and remote libSQL/object storage.",
1562
+ supportLevel: "experimental",
1563
+ cli: {
1564
+ npmPackage: null,
1565
+ binary: "wrangler",
1566
+ versionCommand: {
1567
+ command: "wrangler",
1568
+ args: ["--version"]
1569
+ },
1570
+ installHint: "Install wrangler in this project (for example: pnpm add -D wrangler@^4.131.1)."
1571
+ },
1572
+ async checkAuth(cwd) {
1573
+ return (await runCommand$1(resolveProviderCli(cwd, "wrangler"), ["whoami", "--json"], { cwd })).code === 0;
1574
+ },
1575
+ async login(cwd) {
1576
+ if (!process.stdin.isTTY) throw new Error("Cloudflare authentication is required. Set CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID or run wrangler login interactively.");
1577
+ await runCommandOrThrow(resolveProviderCli(cwd, "wrangler"), ["login"], {
1578
+ cwd,
1579
+ stdio: "inherit"
1580
+ });
1581
+ },
1582
+ generateConfig(cwd, options) {
1583
+ return generateWorkersConfig(cwd, options.dryRun);
1584
+ },
1585
+ async deploy(cwd, options) {
1586
+ if (options.dryRun) return { message: `[dry-run] Would run wrangler deploy --config ${WORKERS_BUILD_CONFIG}.` };
1587
+ await readWorkersBuild(cwd);
1588
+ await runCommandOrThrow(resolveProviderCli(cwd, "wrangler"), [
1589
+ "deploy",
1590
+ "--config",
1591
+ WORKERS_BUILD_CONFIG
1592
+ ], {
1593
+ cwd,
1594
+ env: options.env,
1595
+ stdio: "inherit"
1596
+ });
1597
+ return { message: "Cloudflare deployment complete. Wrangler printed the deployed URL above." };
1598
+ }
1599
+ };
1600
+
1253
1601
  //#endregion
1254
1602
  //#region src/cli/commands/deploy/utils/dockerfile.ts
1255
1603
  const NODE_START_COMMAND = "node ./dist/server/entry.mjs";
@@ -1380,52 +1728,6 @@ const dockerTarget = {
1380
1728
  }
1381
1729
  };
1382
1730
 
1383
- //#endregion
1384
- //#region src/cli/commands/deploy/utils/spawn.ts
1385
- async function runCommand$1(command, args, options) {
1386
- return new Promise((resolve, reject) => {
1387
- const child = spawn(command, args, {
1388
- cwd: options.cwd,
1389
- env: {
1390
- ...process.env,
1391
- ...options.env
1392
- },
1393
- stdio: options.stdio === "inherit" ? "inherit" : [
1394
- "ignore",
1395
- "pipe",
1396
- "pipe"
1397
- ],
1398
- shell: false
1399
- });
1400
- let stdout = "";
1401
- let stderr = "";
1402
- if (options.stdio !== "inherit") {
1403
- child.stdout?.on("data", (chunk) => {
1404
- stdout += chunk.toString();
1405
- });
1406
- child.stderr?.on("data", (chunk) => {
1407
- stderr += chunk.toString();
1408
- });
1409
- }
1410
- child.on("error", reject);
1411
- child.on("close", (code) => {
1412
- resolve({
1413
- code: code ?? 0,
1414
- stdout,
1415
- stderr
1416
- });
1417
- });
1418
- });
1419
- }
1420
- async function runCommandOrThrow(command, args, options) {
1421
- const result = await runCommand$1(command, args, options);
1422
- if (result.code !== 0) {
1423
- const detail = result.stderr.trim() || result.stdout.trim() || `exit code ${result.code}`;
1424
- throw new Error(`${command} ${args.join(" ")} failed: ${detail}`);
1425
- }
1426
- return result;
1427
- }
1428
-
1429
1731
  //#endregion
1430
1732
  //#region src/cli/commands/deploy/targets/fly.ts
1431
1733
  const FLY_URL_RE = /https:\/\/[^\s"]+\.fly\.dev[^\s"]*/;
@@ -3169,47 +3471,6 @@ const railwayTarget = {
3169
3471
  }
3170
3472
  };
3171
3473
 
3172
- //#endregion
3173
- //#region src/cli/commands/deploy/utils/cli-resolver.ts
3174
- async function confirm(message) {
3175
- if (!process.stdin.isTTY) return false;
3176
- const rl = createInterface({
3177
- input: process.stdin,
3178
- output: process.stdout
3179
- });
3180
- try {
3181
- const answer = await rl.question(`${message} [y/N] `);
3182
- return answer.trim().toLowerCase() === "y" || answer.trim().toLowerCase() === "yes";
3183
- } finally {
3184
- rl.close();
3185
- }
3186
- }
3187
- async function ensureTargetCli(target, cwd, options = {}) {
3188
- if (!target.cli) return;
3189
- if ((await runCommand$1(target.cli.versionCommand.command, target.cli.versionCommand.args, { cwd }).catch(() => ({
3190
- code: 1,
3191
- stdout: "",
3192
- stderr: ""
3193
- }))).code === 0) return;
3194
- if (options.dryRun) {
3195
- consola.info(`[dry-run] Would verify ${target.cli.binary} CLI with ${target.cli.versionCommand.command} ${target.cli.versionCommand.args.join(" ")}`);
3196
- if (target.cli.npmPackage) consola.info(`[dry-run] Would offer to install ${target.cli.npmPackage}`);
3197
- else consola.info(`[dry-run] ${target.cli.installHint ?? `Install ${target.cli.binary} before deploying.`}`);
3198
- return;
3199
- }
3200
- if (!target.cli.npmPackage) throw new Error(`${target.label} CLI is required. ${target.cli.installHint ?? `Install ${target.cli.binary} and try again.`}`);
3201
- if (options.yes) throw new Error(`Install ${target.cli.npmPackage} and run this command again. The --yes flag does not approve global CLI installation.`);
3202
- if (!await confirm(`${target.label} CLI is not installed. Install ${target.cli.npmPackage} globally now?`)) throw new Error(`Install ${target.cli.npmPackage} and run this command again.`);
3203
- await runCommandOrThrow("npm", [
3204
- "install",
3205
- "--global",
3206
- target.cli.npmPackage
3207
- ], {
3208
- cwd,
3209
- stdio: "inherit"
3210
- });
3211
- }
3212
-
3213
3474
  //#endregion
3214
3475
  //#region src/cli/commands/deploy/index.ts
3215
3476
  const targets = [
@@ -3217,7 +3478,9 @@ const targets = [
3217
3478
  railwayTarget,
3218
3479
  dockerTarget,
3219
3480
  flyTarget,
3220
- gcpTarget
3481
+ gcpTarget,
3482
+ cloudflareTarget,
3483
+ chatgptSitesTarget
3221
3484
  ];
3222
3485
  const DEFAULT_TARGET = "forgeway";
3223
3486
  function getTarget(name) {
@@ -3267,7 +3530,7 @@ async function resolveTarget(cwd, explicitTarget) {
3267
3530
  const deployCommand = defineCommand({
3268
3531
  meta: {
3269
3532
  name: "deploy",
3270
- description: "Deploy a Dineway Node server through a provider CLI"
3533
+ description: "Deploy a Dineway site to a hosting provider"
3271
3534
  },
3272
3535
  args: {
3273
3536
  target: {
@@ -3303,7 +3566,7 @@ const deployCommand = defineCommand({
3303
3566
  },
3304
3567
  site: {
3305
3568
  type: "string",
3306
- description: "Forgeway deployment site ID or slug",
3569
+ description: "Forgeway site ID/slug or exact ChatGPT Sites project ID",
3307
3570
  required: false
3308
3571
  },
3309
3572
  "place-id": {
@@ -3397,10 +3660,8 @@ const deployCommand = defineCommand({
3397
3660
  const build = options.dryRun ? null : await runBuild(cwd, options.env);
3398
3661
  consola.info(options.dryRun ? "[dry-run] Would run build" : `Built with ${build?.display}`);
3399
3662
  }
3400
- if (!options.dryRun) {
3401
- await ensureProjectGitignoreDinewayLocalState(cwd);
3402
- await writeDeployTarget(cwd, target.name);
3403
- } else {
3663
+ if (!options.dryRun) await ensureProjectGitignoreDinewayLocalState(cwd);
3664
+ else {
3404
3665
  consola.info("[dry-run] Would ensure Dineway local state entries in .gitignore");
3405
3666
  consola.info(`[dry-run] Would save .dineway/deploy.json target=${target.name}`);
3406
3667
  }
@@ -3419,6 +3680,7 @@ const deployCommand = defineCommand({
3419
3680
  })) process.exit(2);
3420
3681
  throw error;
3421
3682
  });
3683
+ if (!options.dryRun) await writeDeployTarget(cwd, target.name);
3422
3684
  if (result.url) consola.success(result.url);
3423
3685
  consola.success(result.message);
3424
3686
  }
@@ -3546,7 +3808,7 @@ const devCommand = defineCommand({
3546
3808
  const remoteUrl = pkg.dineway?.url || process.env.DINEWAY_URL;
3547
3809
  if (!remoteUrl) consola.warn("No remote URL configured. Set DINEWAY_URL or dineway.url in package.json");
3548
3810
  else try {
3549
- const { createClientFromArgs } = await import("../client-factory-BDDerNBz.mjs").then((n) => n.t);
3811
+ const { createClientFromArgs } = await import("../client-factory-DXfeovxp.mjs").then((n) => n.t);
3550
3812
  const client = createClientFromArgs({ url: remoteUrl });
3551
3813
  const schema = await client.schemaExport();
3552
3814
  const types = await client.schemaTypes();
@@ -5542,7 +5804,7 @@ const publishCommand = defineCommand({
5542
5804
  const pluginDir = resolve(args.dir);
5543
5805
  try {
5544
5806
  const { runCommand } = await import("citty");
5545
- const { bundleCommand } = await import("../bundle-MGZ2MLSb.mjs").then((n) => n.n);
5807
+ const { bundleCommand } = await import("../bundle-DicQY2p2.mjs").then((n) => n.n);
5546
5808
  await runCommand(bundleCommand, { rawArgs: ["--dir", pluginDir] });
5547
5809
  } catch {
5548
5810
  consola.error("Build failed");
@@ -7855,7 +8117,7 @@ function isFileNotFound(error) {
7855
8117
  * - search: Full-text search
7856
8118
  * - taxonomy: Manage taxonomies and terms
7857
8119
  * - menu: Manage navigation menus
7858
- * - deploy: Deploy a standard Dineway Node server through a provider CLI
8120
+ * - deploy: Deploy a Dineway site to a hosting provider
7859
8121
  * - plugin: Plugin management (init, bundle, validate, publish, login, logout)
7860
8122
  */
7861
8123
  const builtInCommands = {