dineway 0.1.24 → 0.1.26

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 (344) hide show
  1. package/README.md +5 -4
  2. package/dist/{activity-events-CjOgr0Uv.mjs → activity-events-CpcTzKpF.mjs} +1 -1
  3. package/dist/{allowed-origins-CIP5fh83.mjs → allowed-origins-3RuuoFjC.mjs} +1 -1
  4. package/dist/api/route-utils.d.mts +10 -10
  5. package/dist/api/route-utils.mjs +8 -8
  6. package/dist/api/schemas/index.d.mts +1 -1
  7. package/dist/api/schemas/index.mjs +3 -3
  8. package/dist/{api-CsNsY79D.mjs → api-CXQfCGRX.mjs} +14 -14
  9. package/dist/{api-tokens-DAMwe5Kj.mjs → api-tokens-BFg7tiOQ.mjs} +1 -1
  10. package/dist/api-tokens-L0o9Bd7v.mjs +3 -0
  11. package/dist/{apply-D7vu4aFn.mjs → apply-TIoQ00aH.mjs} +14 -14
  12. package/dist/astro/index.d.mts +11 -11
  13. package/dist/astro/index.mjs +15 -3
  14. package/dist/astro/middleware/auth.d.mts +10 -10
  15. package/dist/astro/middleware/auth.mjs +6 -4
  16. package/dist/astro/middleware/redirect.mjs +3 -3
  17. package/dist/astro/middleware/request-context.mjs +1 -1
  18. package/dist/astro/middleware/seed.d.mts +29 -0
  19. package/dist/astro/middleware/seed.mjs +134 -0
  20. package/dist/astro/middleware.mjs +59 -58
  21. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +5 -5
  22. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +5 -5
  23. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +4 -4
  24. package/dist/astro/routes/api/admin/api-tokens/index.mjs +5 -5
  25. package/dist/astro/routes/api/admin/briefing.mjs +14 -14
  26. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +9 -9
  27. package/dist/astro/routes/api/admin/bylines/index.mjs +9 -9
  28. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +9 -9
  29. package/dist/astro/routes/api/admin/comments/_id_.mjs +3 -3
  30. package/dist/astro/routes/api/admin/comments/bulk.mjs +7 -7
  31. package/dist/astro/routes/api/admin/comments/counts.mjs +3 -3
  32. package/dist/astro/routes/api/admin/comments/index.mjs +7 -7
  33. package/dist/astro/routes/api/admin/context/_id_/history.mjs +20 -20
  34. package/dist/astro/routes/api/admin/context/_id_/index.mjs +20 -20
  35. package/dist/astro/routes/api/admin/context/_id_/review.mjs +24 -24
  36. package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +24 -24
  37. package/dist/astro/routes/api/admin/context/diff.mjs +23 -23
  38. package/dist/astro/routes/api/admin/context/index.mjs +24 -24
  39. package/dist/astro/routes/api/admin/context/stale.mjs +23 -23
  40. package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +20 -20
  41. package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +23 -23
  42. package/dist/astro/routes/api/admin/hitl-requests/index.mjs +23 -23
  43. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +21 -21
  44. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +2 -2
  45. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +5 -5
  46. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +5 -5
  47. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +39 -39
  48. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +39 -39
  49. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +32 -32
  50. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +38 -38
  51. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +38 -38
  52. package/dist/astro/routes/api/admin/plugins/index.mjs +32 -32
  53. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +2 -2
  54. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +32 -32
  55. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +38 -38
  56. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +32 -32
  57. package/dist/astro/routes/api/admin/plugins/updates.mjs +32 -32
  58. package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +4 -4
  59. package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +23 -23
  60. package/dist/astro/routes/api/admin/review-requests/index.mjs +8 -8
  61. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +32 -32
  62. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +2 -2
  63. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +32 -32
  64. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +2 -2
  65. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +1 -1
  66. package/dist/astro/routes/api/admin/users/_id_/index.mjs +6 -6
  67. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +2 -2
  68. package/dist/astro/routes/api/admin/users/index.mjs +5 -5
  69. package/dist/astro/routes/api/auth/dev-bypass.mjs +3 -3
  70. package/dist/astro/routes/api/auth/invite/accept.mjs +1 -1
  71. package/dist/astro/routes/api/auth/invite/complete.mjs +8 -8
  72. package/dist/astro/routes/api/auth/invite/index.mjs +6 -6
  73. package/dist/astro/routes/api/auth/invite/register-options.mjs +7 -7
  74. package/dist/astro/routes/api/auth/logout.mjs +2 -2
  75. package/dist/astro/routes/api/auth/magic-link/send.mjs +8 -8
  76. package/dist/astro/routes/api/auth/magic-link/verify.mjs +2 -2
  77. package/dist/astro/routes/api/auth/me.mjs +10 -6
  78. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +2 -2
  79. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
  80. package/dist/astro/routes/api/auth/passkey/_id_.mjs +5 -5
  81. package/dist/astro/routes/api/auth/passkey/index.mjs +1 -1
  82. package/dist/astro/routes/api/auth/passkey/options.mjs +9 -9
  83. package/dist/astro/routes/api/auth/passkey/register/options.mjs +7 -7
  84. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +8 -8
  85. package/dist/astro/routes/api/auth/passkey/verify.mjs +8 -8
  86. package/dist/astro/routes/api/auth/setup-token/index.d.mts +7 -0
  87. package/dist/astro/routes/api/auth/setup-token/index.mjs +62 -0
  88. package/dist/astro/routes/api/auth/setup-token/verify.d.mts +8 -0
  89. package/dist/astro/routes/api/auth/setup-token/verify.mjs +112 -0
  90. package/dist/astro/routes/api/auth/signup/complete.mjs +8 -8
  91. package/dist/astro/routes/api/auth/signup/request.mjs +8 -8
  92. package/dist/astro/routes/api/auth/signup/verify.mjs +1 -1
  93. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +9 -9
  94. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +2 -2
  95. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +4 -4
  96. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +4 -4
  97. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +4 -4
  98. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +8 -8
  99. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +22 -22
  100. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +4 -4
  101. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +2 -2
  102. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +8 -8
  103. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +10 -10
  104. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +2 -2
  105. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +4 -4
  106. package/dist/astro/routes/api/content/_collection_/_id_.mjs +8 -8
  107. package/dist/astro/routes/api/content/_collection_/index.mjs +8 -8
  108. package/dist/astro/routes/api/content/_collection_/trash.mjs +6 -6
  109. package/dist/astro/routes/api/dashboard.mjs +4 -4
  110. package/dist/astro/routes/api/dev/emails.mjs +2 -2
  111. package/dist/astro/routes/api/health.mjs +1 -1
  112. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  113. package/dist/astro/routes/api/import/probe.mjs +10 -10
  114. package/dist/astro/routes/api/import/wordpress/analyze.mjs +6 -6
  115. package/dist/astro/routes/api/import/wordpress/execute.mjs +25 -25
  116. package/dist/astro/routes/api/import/wordpress/media.mjs +8 -8
  117. package/dist/astro/routes/api/import/wordpress/prepare.mjs +28 -28
  118. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +25 -25
  119. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  120. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +12 -12
  121. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +1 -1
  122. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +27 -27
  123. package/dist/astro/routes/api/manifest.mjs +2 -2
  124. package/dist/astro/routes/api/mcp.mjs +45 -45
  125. package/dist/astro/routes/api/media/_id_/confirm.mjs +6 -6
  126. package/dist/astro/routes/api/media/_id_.mjs +6 -6
  127. package/dist/astro/routes/api/media/file/_...key_.mjs +1 -1
  128. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +2 -2
  129. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +2 -2
  130. package/dist/astro/routes/api/media/providers/index.mjs +2 -2
  131. package/dist/astro/routes/api/media/upload-url.mjs +8 -8
  132. package/dist/astro/routes/api/media.mjs +10 -10
  133. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +24 -24
  134. package/dist/astro/routes/api/menus/_name_/items.mjs +24 -24
  135. package/dist/astro/routes/api/menus/_name_/reorder.mjs +24 -24
  136. package/dist/astro/routes/api/menus/_name_/translations.mjs +24 -24
  137. package/dist/astro/routes/api/menus/_name_.mjs +24 -24
  138. package/dist/astro/routes/api/menus/index.mjs +24 -24
  139. package/dist/astro/routes/api/oauth/authorize.mjs +6 -6
  140. package/dist/astro/routes/api/oauth/device/authorize.mjs +6 -6
  141. package/dist/astro/routes/api/oauth/device/code.mjs +9 -9
  142. package/dist/astro/routes/api/oauth/device/token.mjs +8 -8
  143. package/dist/astro/routes/api/oauth/register.mjs +3 -3
  144. package/dist/astro/routes/api/oauth/token/refresh.mjs +6 -6
  145. package/dist/astro/routes/api/oauth/token/revoke.mjs +6 -6
  146. package/dist/astro/routes/api/oauth/token.mjs +6 -6
  147. package/dist/astro/routes/api/openapi.json.mjs +3 -3
  148. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +3 -3
  149. package/dist/astro/routes/api/redirects/404s/index.mjs +8 -8
  150. package/dist/astro/routes/api/redirects/404s/summary.mjs +8 -8
  151. package/dist/astro/routes/api/redirects/_id_.mjs +25 -25
  152. package/dist/astro/routes/api/redirects/index.mjs +25 -25
  153. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +2 -2
  154. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +2 -2
  155. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +33 -33
  156. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +33 -33
  157. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +33 -33
  158. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +33 -33
  159. package/dist/astro/routes/api/schema/collections/index.mjs +33 -33
  160. package/dist/astro/routes/api/schema/index.mjs +6 -6
  161. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +32 -32
  162. package/dist/astro/routes/api/schema/orphans/index.mjs +32 -32
  163. package/dist/astro/routes/api/search/enable.mjs +9 -9
  164. package/dist/astro/routes/api/search/index.mjs +8 -8
  165. package/dist/astro/routes/api/search/rebuild.mjs +9 -9
  166. package/dist/astro/routes/api/search/stats.mjs +5 -5
  167. package/dist/astro/routes/api/search/suggest.mjs +8 -8
  168. package/dist/astro/routes/api/sections/_slug_.mjs +24 -24
  169. package/dist/astro/routes/api/sections/index.mjs +24 -24
  170. package/dist/astro/routes/api/settings/email.mjs +3 -3
  171. package/dist/astro/routes/api/settings.mjs +24 -24
  172. package/dist/astro/routes/api/setup/admin-verify.mjs +10 -10
  173. package/dist/astro/routes/api/setup/admin.mjs +8 -8
  174. package/dist/astro/routes/api/setup/dev-bypass.mjs +18 -18
  175. package/dist/astro/routes/api/setup/dev-reset.mjs +1 -1
  176. package/dist/astro/routes/api/setup/index.mjs +18 -18
  177. package/dist/astro/routes/api/setup/status.mjs +2 -2
  178. package/dist/astro/routes/api/snapshot.mjs +4 -4
  179. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +26 -26
  180. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +26 -26
  181. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +26 -26
  182. package/dist/astro/routes/api/taxonomies/index.mjs +26 -26
  183. package/dist/astro/routes/api/themes/preview.mjs +3 -3
  184. package/dist/astro/routes/api/typegen.mjs +4 -4
  185. package/dist/astro/routes/api/well-known/auth.mjs +1 -1
  186. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +2 -2
  187. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +2 -2
  188. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +23 -23
  189. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +24 -24
  190. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +24 -24
  191. package/dist/astro/routes/api/widget-areas/_name_.mjs +22 -22
  192. package/dist/astro/routes/api/widget-areas/index.mjs +24 -24
  193. package/dist/astro/routes/api/widget-components.mjs +2 -2
  194. package/dist/astro/routes/robots.txt.mjs +4 -4
  195. package/dist/astro/routes/sitemap-_collection_.xml.mjs +4 -4
  196. package/dist/astro/routes/sitemap.xml.mjs +5 -5
  197. package/dist/astro/types.d.mts +13 -13
  198. package/dist/audit-NgiRzqP9.mjs +126 -0
  199. package/dist/auth/providers/github.d.mts +1 -1
  200. package/dist/auth/providers/google.d.mts +1 -1
  201. package/dist/{auth-control-guard-_5V1x8U8.mjs → auth-control-guard-1FHtkDP6.mjs} +1 -1
  202. package/dist/{authorize-BgIG3yfN.mjs → authorize-BbIhZi3a.mjs} +1 -1
  203. package/dist/{briefing-PFT3T6KW.mjs → briefing-DD82WaEy.mjs} +1 -1
  204. package/dist/{briefing-Dk4I4VC8.mjs → briefing-Jsxs587i.mjs} +6 -6
  205. package/dist/{byline-9WeA8b0a.mjs → byline-DpNNSjET.mjs} +2 -2
  206. package/dist/{bylines-CaPwztlL.mjs → bylines-75_STR73.mjs} +3 -3
  207. package/dist/{bylines-JKduSkBr.d.mts → bylines-D9TSSOe0.d.mts} +7 -7
  208. package/dist/{cache-BhJYDPP8.mjs → cache-DQyZ-QaB.mjs} +1 -1
  209. package/dist/cli/index.mjs +208 -50
  210. package/dist/client/external-auth-headers.d.mts +1 -1
  211. package/dist/client/index.d.mts +1 -1
  212. package/dist/client/index.mjs +1 -1
  213. package/dist/{context-CUJ2Qwb4.mjs → context-DgqEfcWz.mjs} +2 -2
  214. package/dist/{context-DRq-f4sM.mjs → context-Ufrm1lOv.mjs} +4 -4
  215. package/dist/{context-route-helpers-CdFWd8GK.mjs → context-route-helpers-Dq5U_AXp.mjs} +1 -1
  216. package/dist/{dashboard-DdqRifyu.mjs → dashboard-BC9bgPOH.mjs} +1 -1
  217. package/dist/db/index.d.mts +3 -3
  218. package/dist/db/libsql.d.mts +1 -1
  219. package/dist/db/postgres.d.mts +1 -1
  220. package/dist/db/sqlite.d.mts +1 -1
  221. package/dist/{device-flow-Pab2PQTA.mjs → device-flow-CTS91g4A.mjs} +4 -4
  222. package/dist/{hitl-requests-D5CLRMGC.mjs → hitl-requests-DaRuZ7tb.mjs} +1 -1
  223. package/dist/{hitl-route-helpers-SRAfZqf9.mjs → hitl-route-helpers-DcPySbZ3.mjs} +3 -3
  224. package/dist/{import-BO_gy5vZ.mjs → import-DQ4Rfh5h.mjs} +2 -2
  225. package/dist/{import-CzZYGhnG.mjs → import-DSXK3aQF.mjs} +3 -3
  226. package/dist/{index-CxVXYBXq.d.mts → index-2tBfB_8X.d.mts} +3 -3
  227. package/dist/{index-DUurmpun.d.mts → index-CpbixmRL.d.mts} +2 -2
  228. package/dist/index.d.mts +16 -16
  229. package/dist/index.mjs +56 -55
  230. package/dist/{jsonld-C3uKF39u.d.mts → jsonld-BhdZoeR1.d.mts} +2 -2
  231. package/dist/media/index.d.mts +2 -2
  232. package/dist/media/index.mjs +2 -2
  233. package/dist/media/local-runtime.d.mts +12 -12
  234. package/dist/{media-allowlist-D85gK3We.mjs → media-allowlist-D8gsm8_t.mjs} +1 -1
  235. package/dist/{menus-DXaFTRyU.mjs → menus-DOaL6NaF.mjs} +1 -1
  236. package/dist/{menus-DtoRO2gt.mjs → menus-DzG3-9tQ.mjs} +4 -4
  237. package/dist/{oauth-authorization-CFcMq7NJ.mjs → oauth-authorization-DyOFXQWq.mjs} +4 -4
  238. package/dist/{oauth-clients-CS1nQbC3.mjs → oauth-clients-BMs_bmoz.mjs} +1 -1
  239. package/dist/page/index.d.mts +2 -2
  240. package/dist/page/index.mjs +1 -1
  241. package/dist/{parse-BBfZRZYb.mjs → parse-D7Tu6ku4.mjs} +1 -1
  242. package/dist/{placeholder-2N6m2_O6.d.mts → placeholder-BZpCpid_.d.mts} +1 -1
  243. package/dist/plugins/adapt-sandbox-entry.d.mts +10 -10
  244. package/dist/plugins/adapt-sandbox-entry.mjs +1 -1
  245. package/dist/{plugins-CxUx-b5a.mjs → plugins-DCDVDF4B.mjs} +3 -4
  246. package/dist/{preview-B-MTC5mp.mjs → preview-5HuX6fjF.mjs} +2 -2
  247. package/dist/{provider-loader-DJ5sLxNP.d.mts → provider-loader-BaZhx7E3.d.mts} +1 -1
  248. package/dist/{query-CH1GaJmt.mjs → query-BnRpB09I.mjs} +3 -3
  249. package/dist/{query-D5CIGQv4.mjs → query-DHvNhBhi.mjs} +8 -8
  250. package/dist/{rate-limit-5ZeKz7oo.mjs → rate-limit-BWP_kKiZ.mjs} +2 -2
  251. package/dist/{redirect-hKO66LS_.mjs → redirect-BaVvo2te.mjs} +1 -1
  252. package/dist/{redirects-Dk7N_YeP.mjs → redirects-Ba-lJA5j.mjs} +3 -3
  253. package/dist/{redirects-BO0fI750.mjs → redirects-CoYlqu8e.mjs} +1 -1
  254. package/dist/{registry-CYO6XQ-4.mjs → registry-i__XP2WV.mjs} +4 -4
  255. package/dist/{request-meta-BVx9KkL-.mjs → request-meta-DUGfAeXy.mjs} +1 -1
  256. package/dist/{review-requests-CO-vO0O0.mjs → review-requests-DuIxM4YM.mjs} +1 -1
  257. package/dist/{runner-BJm_NJr2.d.mts → runner-pAnQS6iI.d.mts} +1 -1
  258. package/dist/{runtime-CbnJMIeq.d.mts → runtime-BM9sqnzO.d.mts} +10 -10
  259. package/dist/runtime.d.mts +11 -11
  260. package/dist/runtime.mjs +2 -2
  261. package/dist/{schema-mjeMcn_6.mjs → schema-U-SeFWwn.mjs} +1 -1
  262. package/dist/{search-DjaP_Dw-.mjs → search-Cl9preJT.mjs} +2 -2
  263. package/dist/{sections-DA3GMhNG.mjs → sections-Zx-2q9IH.mjs} +1 -1
  264. package/dist/seed/index.d.mts +2 -2
  265. package/dist/seed/index.mjs +13 -13
  266. package/dist/seo/index.d.mts +1 -1
  267. package/dist/{seo-DASNc4gD.mjs → seo-BPb_reaG.mjs} +1 -1
  268. package/dist/{service-Dada1k5R.mjs → service-wPGgmbUa.mjs} +1 -1
  269. package/dist/{settings-D2k1JraC.mjs → settings-DORe02PC.mjs} +2 -2
  270. package/dist/{settings-BJW_lmrM.mjs → settings-nr15a8uv.mjs} +1 -1
  271. package/dist/{site-context-CDnyARws.mjs → site-context-DuBQk6Mp.mjs} +11 -11
  272. package/dist/storage/local.d.mts +1 -1
  273. package/dist/storage/local.mjs +1 -1
  274. package/dist/storage/s3.d.mts +1 -1
  275. package/dist/storage/s3.mjs +1 -1
  276. package/dist/{taxonomies-DVXCWoUF.mjs → taxonomies-BVBKoXRf.mjs} +5 -5
  277. package/dist/{taxonomies-CZJazF0N.mjs → taxonomies-DGaw_-aU.mjs} +2 -2
  278. package/dist/{taxonomy-DpXdVSSR.mjs → taxonomy-BvXRL85P.mjs} +1 -1
  279. package/dist/{types-DzBAohLy.d.mts → types-BIM7jwxr.d.mts} +1 -1
  280. package/dist/ui/server-runtime.d.mts +7 -7
  281. package/dist/ui/server-runtime.mjs +13 -13
  282. package/dist/{validate-BikB29gc.d.mts → validate-BzUCAU2a.d.mts} +3 -3
  283. package/dist/{validate-BGpmNtMe.mjs → validate-JE-WfUQ5.mjs} +1 -1
  284. package/dist/version-C-Dcb5bX.mjs +6 -0
  285. package/dist/{widgets-BFh1UZN5.mjs → widgets-Cj6ULpED.mjs} +2 -2
  286. package/dist/{wordpress-slugs-BzMv9U-N.mjs → wordpress-slugs-hqItqJrQ.mjs} +1 -1
  287. package/dist/{zod-generator-vOxhed6n.mjs → zod-generator-C4BgFBZV.mjs} +1 -1
  288. package/package.json +8 -4
  289. package/dist/api-tokens-BZ9aAeCo.mjs +0 -3
  290. package/dist/version-BJ0y2_5q.mjs +0 -6
  291. /package/dist/{adapters-C0EARyCK.d.mts → adapters-kZjS7plb.d.mts} +0 -0
  292. /package/dist/{chunks-BjOMG4LF.mjs → chunks-D8KL0nCY.mjs} +0 -0
  293. /package/dist/{comments-85tbgZQN.mjs → comments-yTbeIYc2.mjs} +0 -0
  294. /package/dist/{components-DAy-UvX7.mjs → components-BJfa-F6n.mjs} +0 -0
  295. /package/dist/{context-types-BWspNMDr.mjs → context-types-BrSQNye5.mjs} +0 -0
  296. /package/dist/{cron-fV9baRVc.mjs → cron-D7FDsRu-.mjs} +0 -0
  297. /package/dist/{db-errors-BnUbfGsK.mjs → db-errors-DHJCB_gY.mjs} +0 -0
  298. /package/dist/{default-CiZ8bvSC.mjs → default-5A3XVR7L.mjs} +0 -0
  299. /package/dist/{email-console-_pTim1bU.mjs → email-console-Bs1qKx59.mjs} +0 -0
  300. /package/dist/{entity-aliases-PJV8IxDq.mjs → entity-aliases-uOrKvlPg.mjs} +0 -0
  301. /package/dist/{error-Dyf9fGZE.mjs → error-DLkgOP5m.mjs} +0 -0
  302. /package/dist/{escape-DA8zlB7z.mjs → escape-r8_GbEU2.mjs} +0 -0
  303. /package/dist/{fts-manager-DYRy6HVi.mjs → fts-manager-DnfOsF4s.mjs} +0 -0
  304. /package/dist/{hash-DHSsP6_G.mjs → hash-DFFrkivP.mjs} +0 -0
  305. /package/dist/{load-5R4qZ4zn.mjs → load-BCCcmoW9.mjs} +0 -0
  306. /package/dist/{loader-dt5DoyI1.mjs → loader-p2imNN98.mjs} +0 -0
  307. /package/dist/{manifest-schema-CU0XL_ZK.mjs → manifest-schema-C6fzQoWn.mjs} +0 -0
  308. /package/dist/{mime-DltzYYAL.mjs → mime-DYP4V5Ks.mjs} +0 -0
  309. /package/dist/{normalize-ba36HTxZ.mjs → normalize-BY_EJnd9.mjs} +0 -0
  310. /package/dist/{oauth-state-store-DZs1UZwT.mjs → oauth-state-store-BRSUEkmx.mjs} +0 -0
  311. /package/dist/{oauth-user-lookup-B7-6YI3R.mjs → oauth-user-lookup-DdcI8ZVL.mjs} +0 -0
  312. /package/dist/{parser-wEX7xttr.mjs → parser-egIGEco-.mjs} +0 -0
  313. /package/dist/{passkey-config-CDew7KVU.mjs → passkey-config-AX4sjpQ4.mjs} +0 -0
  314. /package/dist/{patterns-BKmjvM7K.mjs → patterns-CiyXeDgr.mjs} +0 -0
  315. /package/dist/{placeholder-BAy3k441.mjs → placeholder-b0Ufu0La.mjs} +0 -0
  316. /package/dist/{provider-loader-CCPAVrIg.mjs → provider-loader-BdRV01gr.mjs} +0 -0
  317. /package/dist/{public-url-DuRGs0uF.mjs → public-url-BL2r8dmQ.mjs} +0 -0
  318. /package/dist/{redirect-CbEyClKc.mjs → redirect-Ce_6Yb6z.mjs} +0 -0
  319. /package/dist/{request-cache-BzuhyUXj.mjs → request-cache-BpwuE2ix.mjs} +0 -0
  320. /package/dist/{review-requests-BYuoyse0.mjs → review-requests-CTUU_RJm.mjs} +0 -0
  321. /package/dist/{seo-Dl4QE4El.mjs → seo-CJBiMDkj.mjs} +0 -0
  322. /package/dist/{seo-contributions-D_CLIsxJ.mjs → seo-contributions-C0LXoWw3.mjs} +0 -0
  323. /package/dist/{setup-complete-DgsQYTC2.mjs → setup-complete-C2ztsNhJ.mjs} +0 -0
  324. /package/dist/{setup-nonce-ChVabyO2.mjs → setup-nonce-BTKq7uBi.mjs} +0 -0
  325. /package/dist/{sidecar-client-Dta0AELf.mjs → sidecar-client-lrf7ErYJ.mjs} +0 -0
  326. /package/dist/{site-activity-lsCX_cqp.mjs → site-activity-KFZprBZM.mjs} +0 -0
  327. /package/dist/{site-url-BketXXft.mjs → site-url-C18yBhtv.mjs} +0 -0
  328. /package/dist/{ssrf-z3oH8wjK.mjs → ssrf-KAIQS48_.mjs} +0 -0
  329. /package/dist/{tokens-BMTKHT6X.mjs → tokens-CsP8Se8S.mjs} +0 -0
  330. /package/dist/{transaction-qfqpPVpu.mjs → transaction-D0FOsb3X.mjs} +0 -0
  331. /package/dist/{transport-Dt7A12-i.mjs → transport-B7kO-4ee.mjs} +0 -0
  332. /package/dist/{transport-BZCHo8n0.d.mts → transport-qeWznEPc.d.mts} +0 -0
  333. /package/dist/{trusted-proxy-8N8sX1D1.mjs → trusted-proxy-Bbm6PLR6.mjs} +0 -0
  334. /package/dist/{types-DwIXYH8s.d.mts → types-B1NksXAb.d.mts} +0 -0
  335. /package/dist/{types-DbtpYtHx.d.mts → types-BBETcziA.d.mts} +0 -0
  336. /package/dist/{types-B7Uld4FZ.d.mts → types-BYjPylrZ.d.mts} +0 -0
  337. /package/dist/{types-BSP1HbdT.d.mts → types-BgE6gMFI.d.mts} +0 -0
  338. /package/dist/{types-zfg8SDVI.mjs → types-C3Em8xpG.mjs} +0 -0
  339. /package/dist/{types-iNqHe2-V.mjs → types-CNNQ8l0v.mjs} +0 -0
  340. /package/dist/{types-Brp7Hv9S.d.mts → types-DvwHUku7.d.mts} +0 -0
  341. /package/dist/{types-D0UvtzG1.d.mts → types-cn-fvYQ1.d.mts} +0 -0
  342. /package/dist/{types-CsX_6h1v.d.mts → types-t7_nCCA9.d.mts} +0 -0
  343. /package/dist/{url-DOS4RGym.mjs → url-BzhfYtRn.mjs} +0 -0
  344. /package/dist/{utils-BftjFpR0.mjs → utils-FEbQMgB5.mjs} +0 -0
@@ -9,21 +9,21 @@ import { t as ContentRepository } from "../content-DvpMad_N.mjs";
9
9
  import { i as encodeBase64url } from "../base64-C1Q9yr0B.mjs";
10
10
  import "../types-D1DjBFA9.mjs";
11
11
  import { t as MediaRepository } from "../media-Cg4zc9fq.mjs";
12
- import { t as TaxonomyRepository } from "../taxonomy-DpXdVSSR.mjs";
12
+ import { t as TaxonomyRepository } from "../taxonomy-BvXRL85P.mjs";
13
13
  import { t as OptionsRepository } from "../options-BF11H_FD.mjs";
14
- import "../redirect-hKO66LS_.mjs";
15
- import "../byline-9WeA8b0a.mjs";
16
- import "../request-cache-BzuhyUXj.mjs";
17
- import "../fts-manager-DYRy6HVi.mjs";
18
- import { n as SchemaRegistry } from "../registry-CYO6XQ-4.mjs";
19
- import "../loader-dt5DoyI1.mjs";
20
- import "../settings-D2k1JraC.mjs";
21
- import { i as pluginManifestSchema } from "../manifest-schema-CU0XL_ZK.mjs";
22
- import "../ssrf-z3oH8wjK.mjs";
23
- import { t as validateSeed } from "../validate-BGpmNtMe.mjs";
24
- import { t as applySeed } from "../apply-D7vu4aFn.mjs";
14
+ import "../redirect-BaVvo2te.mjs";
15
+ import "../byline-DpNNSjET.mjs";
16
+ import "../request-cache-BpwuE2ix.mjs";
17
+ import "../fts-manager-DnfOsF4s.mjs";
18
+ import { n as SchemaRegistry } from "../registry-i__XP2WV.mjs";
19
+ import "../loader-p2imNN98.mjs";
20
+ import "../settings-DORe02PC.mjs";
21
+ import { i as pluginManifestSchema } from "../manifest-schema-C6fzQoWn.mjs";
22
+ import "../ssrf-KAIQS48_.mjs";
23
+ import { t as validateSeed } from "../validate-JE-WfUQ5.mjs";
24
+ import { t as applySeed } from "../apply-TIoQ00aH.mjs";
25
25
  import { n as fingerprintKey, r as generateEncryptionKey, t as DinewaySecretsError } from "../secrets-DfeNNoLa.mjs";
26
- import { o as convertDataForRead } from "../transport-Dt7A12-i.mjs";
26
+ import { o as convertDataForRead } from "../transport-B7kO-4ee.mjs";
27
27
  import { createHeaderAwareFetch, customHeadersInterceptor, isRedirectResponse, resolveCustomHeaders } from "../client/external-auth-headers.mjs";
28
28
  import { DinewayClient } from "../client/index.mjs";
29
29
  import { LocalStorage } from "../storage/local.mjs";
@@ -840,8 +840,34 @@ const VERCEL_ADAPTER_VERSION = "^10.0.6";
840
840
  const NODE_IMPORT_PATTERN = /^import\s+node\s+from\s+["']@astrojs\/node["'];\n?/m;
841
841
  const VERCEL_IMPORT_PATTERN = /^import\s+vercel\s+from\s+["']@astrojs\/vercel["'];\n?/m;
842
842
  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;
843
- const KNOWN_ADAPTER_PATTERN = /\n?[ \t]*adapter:\s*(?:isVercelDeploy\s*\?\s*vercel\(\)\s*:\s*node\(\{\s*mode:\s*["']standalone["']\s*,?\s*\}\)|node\(\{\s*mode:\s*["']standalone["']\s*,?\s*\}\)|vercel\(\)),/gs;
844
843
  const SERVER_OUTPUT_PATTERN = /output:\s*["']server["'],/;
844
+ const KNOWN_ADAPTER_FLAG_PATTERN = /\bisVercelDeploy\b/;
845
+ const KNOWN_ADAPTER_CALL_PATTERN = /\b(?:node|vercel)\s*\(/;
846
+ const ADAPTER_PROPERTY_PATTERN = /\n?[ \t]*adapter\s*:/g;
847
+ const COLLECT_UPLOAD_FUNCTION_PATTERN = /\bfunction\s+collectUploadIncludeFiles\s*\(/;
848
+ const TRAILING_NEWLINES_PATTERN = /\n+$/;
849
+ const GENERATED_UPLOAD_HELPER_IMPORTS = [
850
+ `import { existsSync as dinewayUploadsExistsSync, readdirSync as dinewayUploadsReaddirSync } from "node:fs";`,
851
+ `import { join as dinewayUploadsJoin, relative as dinewayUploadsRelative } from "node:path";`,
852
+ `import { fileURLToPath as dinewayUploadsFileURLToPath } from "node:url";`
853
+ ];
854
+ const GENERATED_UPLOAD_HELPER_ROOT_DECLARATION = `const dinewayForgewayProjectRoot = dinewayUploadsFileURLToPath(new URL(".", import.meta.url));`;
855
+ const GENERATED_UPLOAD_HELPER_SOURCE = `${GENERATED_UPLOAD_HELPER_ROOT_DECLARATION}
856
+
857
+ function collectUploadIncludeFiles(directory = dinewayUploadsJoin(dinewayForgewayProjectRoot, "uploads")) {
858
+ \tif (!dinewayUploadsExistsSync(directory)) return [];
859
+
860
+ \treturn dinewayUploadsReaddirSync(directory, { withFileTypes: true }).flatMap((entry) => {
861
+ \t\tconst absolutePath = dinewayUploadsJoin(directory, entry.name);
862
+ \t\tif (entry.isDirectory()) {
863
+ \t\t\treturn collectUploadIncludeFiles(absolutePath);
864
+ \t\t}
865
+ \t\tif (!entry.isFile()) return [];
866
+
867
+ \t\treturn dinewayUploadsRelative(dinewayForgewayProjectRoot, absolutePath).split("\\\\").join("/");
868
+ \t});
869
+ }
870
+ `;
845
871
  async function fileExists$11(path) {
846
872
  try {
847
873
  await access(path);
@@ -857,18 +883,131 @@ function insertImport(source, statement) {
857
883
  lines.splice(insertAt, 0, statement);
858
884
  return lines.join("\n");
859
885
  }
886
+ function insertAfterImports(source, block) {
887
+ const lines = source.split("\n");
888
+ let insertAt = 0;
889
+ while (insertAt < lines.length && lines[insertAt]?.startsWith("import ")) insertAt += 1;
890
+ lines.splice(insertAt, 0, block.trimEnd(), "");
891
+ return lines.join("\n");
892
+ }
893
+ function createVercelAdapterConfig() {
894
+ return `adapter: vercel({
895
+ \t\tincludeFiles: collectUploadIncludeFiles(),
896
+ \t}),`;
897
+ }
898
+ function findBlockEnd(source, start) {
899
+ let depth = 0;
900
+ let quote;
901
+ let escaped = false;
902
+ for (let index = start; index < source.length; index += 1) {
903
+ const char = source[index];
904
+ if (quote) {
905
+ if (escaped) escaped = false;
906
+ else if (char === "\\") escaped = true;
907
+ else if (char === quote) quote = void 0;
908
+ continue;
909
+ }
910
+ if (char === "\"" || char === "'" || char === "`") {
911
+ quote = char;
912
+ continue;
913
+ }
914
+ if (char === "{") {
915
+ depth += 1;
916
+ continue;
917
+ }
918
+ if (char === "}") {
919
+ depth -= 1;
920
+ if (depth === 0) return index + 1;
921
+ }
922
+ }
923
+ }
924
+ function findPropertyEnd(source, start) {
925
+ let depth = 0;
926
+ let quote;
927
+ let escaped = false;
928
+ for (let index = start; index < source.length; index += 1) {
929
+ const char = source[index];
930
+ if (quote) {
931
+ if (escaped) escaped = false;
932
+ else if (char === "\\") escaped = true;
933
+ else if (char === quote) quote = void 0;
934
+ continue;
935
+ }
936
+ if (char === "\"" || char === "'" || char === "`") {
937
+ quote = char;
938
+ continue;
939
+ }
940
+ if (char === "(" || char === "{" || char === "[") {
941
+ depth += 1;
942
+ continue;
943
+ }
944
+ if (char === ")" || char === "}" || char === "]") {
945
+ depth -= 1;
946
+ continue;
947
+ }
948
+ if (char === "," && depth === 0) return index + 1;
949
+ }
950
+ }
951
+ function isKnownAdapterExpression(expression) {
952
+ return KNOWN_ADAPTER_FLAG_PATTERN.test(expression) || KNOWN_ADAPTER_CALL_PATTERN.test(expression);
953
+ }
954
+ function replaceKnownAdapterEntries(source, wantedAdapter) {
955
+ let result = "";
956
+ let lastIndex = 0;
957
+ let replaced = false;
958
+ ADAPTER_PROPERTY_PATTERN.lastIndex = 0;
959
+ let match;
960
+ while ((match = ADAPTER_PROPERTY_PATTERN.exec(source)) !== null) {
961
+ const start = match.index;
962
+ const expressionStart = ADAPTER_PROPERTY_PATTERN.lastIndex;
963
+ const end = findPropertyEnd(source, expressionStart);
964
+ if (end === void 0) continue;
965
+ if (!isKnownAdapterExpression(source.slice(expressionStart, end - 1))) continue;
966
+ result += source.slice(lastIndex, start);
967
+ if (!replaced) {
968
+ result += `\n\t${wantedAdapter}`;
969
+ replaced = true;
970
+ }
971
+ lastIndex = end;
972
+ ADAPTER_PROPERTY_PATTERN.lastIndex = end;
973
+ }
974
+ return {
975
+ source: result + source.slice(lastIndex),
976
+ replaced
977
+ };
978
+ }
979
+ function ensureGeneratedVercelUploadHelper(source) {
980
+ let next = source;
981
+ for (const statement of GENERATED_UPLOAD_HELPER_IMPORTS) if (!next.includes(statement)) next = insertImport(next, statement);
982
+ if (!COLLECT_UPLOAD_FUNCTION_PATTERN.test(next)) next = insertAfterImports(next, GENERATED_UPLOAD_HELPER_SOURCE);
983
+ return next;
984
+ }
985
+ function removeGeneratedVercelUploadHelper(source) {
986
+ let next = source;
987
+ const rootStart = next.indexOf(GENERATED_UPLOAD_HELPER_ROOT_DECLARATION);
988
+ const functionStart = rootStart === -1 ? -1 : next.indexOf("function collectUploadIncludeFiles", rootStart);
989
+ if (rootStart !== -1 && functionStart !== -1) {
990
+ const openBrace = next.indexOf("{", functionStart);
991
+ const functionEnd = openBrace === -1 ? void 0 : findBlockEnd(next, openBrace);
992
+ if (functionEnd !== void 0) {
993
+ let removeEnd = functionEnd;
994
+ while (next[removeEnd] === "\n") removeEnd += 1;
995
+ next = next.slice(0, rootStart).replace(TRAILING_NEWLINES_PATTERN, "\n\n") + next.slice(removeEnd);
996
+ }
997
+ }
998
+ for (const statement of GENERATED_UPLOAD_HELPER_IMPORTS) next = next.replace(`${statement}\n`, "");
999
+ return next;
1000
+ }
860
1001
  function configureAstroConfigSource(source, adapter) {
861
1002
  let next = source.replace(CONDITIONAL_ADAPTER_FLAG_PATTERN, "").replace(adapter === "vercel" ? NODE_IMPORT_PATTERN : VERCEL_IMPORT_PATTERN, "");
1003
+ if (adapter === "node") next = removeGeneratedVercelUploadHelper(next);
862
1004
  const wantedImport = adapter === "vercel" ? `import vercel from "${VERCEL_ADAPTER_PACKAGE}";` : `import node from "${NODE_ADAPTER_PACKAGE}";`;
863
- const wantedAdapter = adapter === "vercel" ? "adapter: vercel()," : "adapter: node({ mode: \"standalone\" }),";
1005
+ const wantedAdapter = adapter === "vercel" ? createVercelAdapterConfig() : "adapter: node({ mode: \"standalone\" }),";
864
1006
  if (!next.includes(wantedImport)) next = insertImport(next, wantedImport);
865
- let replacedAdapter = false;
866
- next = next.replace(KNOWN_ADAPTER_PATTERN, () => {
867
- if (replacedAdapter) return "";
868
- replacedAdapter = true;
869
- return `\n\t${wantedAdapter}`;
870
- });
871
- if (!replacedAdapter) {
1007
+ if (adapter === "vercel") next = ensureGeneratedVercelUploadHelper(next);
1008
+ const adapterReplacement = replaceKnownAdapterEntries(next, wantedAdapter);
1009
+ next = adapterReplacement.source;
1010
+ if (!adapterReplacement.replaced) {
872
1011
  if (!SERVER_OUTPUT_PATTERN.test(next)) throw new Error("astro.config.mjs must include output: \"server\" before deploy adapter setup.");
873
1012
  next = next.replace(SERVER_OUTPUT_PATTERN, (match) => `${match}\n\t${wantedAdapter}`);
874
1013
  }
@@ -1338,15 +1477,11 @@ async function writeDeployTarget(cwd, target) {
1338
1477
  };
1339
1478
  await writeFile(pkgPath, JSON.stringify(pkg, null, " ") + "\n", "utf-8");
1340
1479
  }
1341
- async function writeForgewayDeployMetadata(cwd, metadata, restaurant) {
1480
+ async function writeForgewayDeployMetadata(cwd, metadata) {
1342
1481
  const pkgPath = join(cwd, "package.json");
1343
1482
  const pkg = await readDeployPackageJson(cwd);
1344
1483
  pkg.dineway = {
1345
1484
  ...pkg.dineway,
1346
- ...restaurant ? { restaurant: {
1347
- ...pkg.dineway?.restaurant,
1348
- ...restaurant
1349
- } } : {},
1350
1485
  deploy: {
1351
1486
  ...pkg.dineway?.deploy,
1352
1487
  forgeway: {
@@ -1743,7 +1878,7 @@ async function resolveAdminProjectContext(cwd, options, deps) {
1743
1878
  ossHost
1744
1879
  };
1745
1880
  }
1746
- async function resolveShadowProjectContext(cwd, options, seedPath, deps) {
1881
+ async function resolveShadowProjectContext(cwd, options, deps) {
1747
1882
  const pkg = await readDeployPackageJson(cwd).catch(() => null);
1748
1883
  const saved = pkg ? getSavedForgewayMetadata(pkg) : {};
1749
1884
  const platformApiUrl = normalizePlatformApiUrl(getEnv("DINEWAY_API_BASE_URL") ?? getEnv("FORGEWAY_API_URL") ?? (typeof saved.platformApiUrl === "string" ? saved.platformApiUrl : void 0));
@@ -1751,14 +1886,14 @@ async function resolveShadowProjectContext(cwd, options, seedPath, deps) {
1751
1886
  let grant = await (deps.readShadowGrant ?? readForgewayShadowGrant)(platformApiUrl, savedPlaceId, cwd);
1752
1887
  let restaurant;
1753
1888
  if (!grant) {
1754
- restaurant = await resolveRestaurantInfo(cwd, options, seedPath, deps, true, false);
1755
- if (!restaurant.name || !restaurant.city) throw new Error("Restaurant name and city are required for Forgeway shadow deploy.");
1889
+ const shadowRestaurant = await resolveShadowRestaurantInfo(options, deps);
1890
+ restaurant = shadowRestaurant;
1756
1891
  if (options.dryRun) throw new Error("Forgeway deploy needs a Dineway shadow deploy grant. Run without --dry-run to create it.");
1757
1892
  grant = await createShadowGrant({
1758
1893
  platformApiUrl,
1759
1894
  placeId: savedPlaceId,
1760
- restaurantName: restaurant.name,
1761
- city: restaurant.city,
1895
+ restaurantName: shadowRestaurant.name,
1896
+ city: shadowRestaurant.city,
1762
1897
  cwd,
1763
1898
  deps
1764
1899
  });
@@ -1781,10 +1916,10 @@ async function resolveShadowProjectContext(cwd, options, seedPath, deps) {
1781
1916
  restaurant
1782
1917
  };
1783
1918
  }
1784
- async function resolveProjectContext(cwd, options, seedPath, deps) {
1919
+ async function resolveProjectContext(cwd, options, deps) {
1785
1920
  const adminContext = await resolveAdminProjectContext(cwd, options, deps);
1786
1921
  if (adminContext) return { context: adminContext };
1787
- return await resolveShadowProjectContext(cwd, options, seedPath, deps);
1922
+ return await resolveShadowProjectContext(cwd, options, deps);
1788
1923
  }
1789
1924
  function unwrapProjectPayload(payload) {
1790
1925
  if (isRecord(payload) && "project" in payload) {
@@ -1967,20 +2102,25 @@ async function readSeedTitle(seedPath) {
1967
2102
  return;
1968
2103
  }
1969
2104
  }
1970
- async function resolveRestaurantInfo(cwd, options, seedPath, deps, requireForSlug, useSeedTitle = true) {
1971
- const savedRestaurant = (await readDeployPackageJson(cwd).catch(() => null))?.dineway?.restaurant;
2105
+ async function resolveRestaurantInfo(options, seedPath, deps, requireForSlug, useSeedTitle = true) {
1972
2106
  const seedTitle = useSeedTitle ? await readSeedTitle(seedPath) : void 0;
1973
- let name = options.restaurantName ?? savedRestaurant?.name ?? seedTitle;
1974
- let city = options.city ?? savedRestaurant?.city;
2107
+ let name = options.restaurantName ?? seedTitle;
2108
+ let city = options.city;
1975
2109
  if (requireForSlug) {
1976
- if (!name) name = await promptRequired("Restaurant name: ", void 0, deps, "Restaurant name is required. Pass --restaurant-name or set dineway.restaurant.name.");
1977
- if (!city) city = await promptRequired("City: ", void 0, deps, "City is required. Pass --city or set dineway.restaurant.city.");
2110
+ if (!name) name = await promptRequired("Restaurant name: ", void 0, deps, "Restaurant name is required. Pass --restaurant-name.");
2111
+ if (!city) city = await promptRequired("City: ", void 0, deps, "City is required. Pass --city.");
1978
2112
  }
1979
2113
  return {
1980
2114
  name,
1981
2115
  city
1982
2116
  };
1983
2117
  }
2118
+ async function resolveShadowRestaurantInfo(options, deps) {
2119
+ return {
2120
+ name: options.restaurantName ?? await promptRequired("Restaurant name: ", void 0, deps, "Restaurant name is required. Pass --restaurant-name."),
2121
+ city: options.city ?? await promptRequired("City: ", void 0, deps, "City is required. Pass --city.")
2122
+ };
2123
+ }
1984
2124
  function normalizeSiteDetail(payload) {
1985
2125
  if (payload.site) return payload.site;
1986
2126
  if (!payload.id || !payload.slug || !payload.domain || !payload.framework) throw new Error("Forgeway site response was missing required fields.");
@@ -2017,7 +2157,7 @@ async function resolveDeploymentSite(cwd, context, options, seedPath, deps, preR
2017
2157
  const explicitSite = options.site;
2018
2158
  const savedSite = typeof saved.siteId === "string" ? saved.siteId : saved.siteSlug;
2019
2159
  const siteRef = explicitSite ?? savedSite;
2020
- const restaurant = preResolvedRestaurant?.name && preResolvedRestaurant.city ? preResolvedRestaurant : await resolveRestaurantInfo(cwd, options, seedPath, deps, !siteRef);
2160
+ const restaurant = preResolvedRestaurant?.name && preResolvedRestaurant.city ? preResolvedRestaurant : await resolveRestaurantInfo(options, seedPath, deps, !siteRef);
2021
2161
  const targetSlug = siteRef ?? deriveForgewaySiteSlug(restaurant.name || "", restaurant.city || "");
2022
2162
  let site = await getDeploymentSite(context, targetSlug, deps);
2023
2163
  if (!site) site = await createDeploymentSite(context, {
@@ -2030,7 +2170,7 @@ async function resolveDeploymentSite(cwd, context, options, seedPath, deps, preR
2030
2170
  siteSlug: site.slug,
2031
2171
  siteDomain: site.domain,
2032
2172
  ...context.placeId ? { placeId: context.placeId } : {}
2033
- }, restaurant);
2173
+ });
2034
2174
  return {
2035
2175
  site,
2036
2176
  restaurant
@@ -2217,11 +2357,14 @@ async function deploySiteProject(options) {
2217
2357
  if (localFiles.length === 0) throw new Error("No deployable files found in the source directory.");
2218
2358
  const createResult = await ossFetch(options.context, `/api/deployments/sites/${encodeURIComponent(options.siteId)}/deploy`, options.deps, {
2219
2359
  method: "POST",
2220
- body: JSON.stringify({ files: localFiles.map(({ path: relativePath, sha, size }) => ({
2221
- path: relativePath,
2222
- sha,
2223
- size
2224
- })) })
2360
+ body: JSON.stringify({
2361
+ dinewayAdminBootstrap: true,
2362
+ files: localFiles.map(({ path: relativePath, sha, size }) => ({
2363
+ path: relativePath,
2364
+ sha,
2365
+ size
2366
+ }))
2367
+ })
2225
2368
  });
2226
2369
  const localFileByPath = new Map(localFiles.map((file) => [file.path, file]));
2227
2370
  await runWithConcurrency(createResult.files.filter((file) => !file.uploadedAt), DIRECT_UPLOAD_CONCURRENCY, async (manifestFile) => {
@@ -2235,16 +2378,28 @@ async function deploySiteProject(options) {
2235
2378
  return {
2236
2379
  deploymentId: createResult.id,
2237
2380
  ...result,
2238
- site: createResult.site
2381
+ site: createResult.site,
2382
+ dinewayAdminBootstrap: createResult.dinewayAdminBootstrap
2239
2383
  };
2240
2384
  }
2385
+ function formatDinewayAdminBootstrapMessage(bootstrap, siteUrl) {
2386
+ if (!bootstrap) return "";
2387
+ if (bootstrap.status === "already_issued") return `Dineway admin bootstrap: ${bootstrap.message}`;
2388
+ return [
2389
+ "Dineway admin bootstrap credentials were issued. Forgeway will not print these again.",
2390
+ `Admin email: ${bootstrap.adminEmail}`,
2391
+ `Setup link (expires ${bootstrap.setupTokenExpiresAt}): ${bootstrap.setupUrl}`,
2392
+ `Admin API token: ${bootstrap.apiToken}`,
2393
+ `CLI example: DINEWAY_TOKEN=${bootstrap.apiToken} dineway whoami --url ${siteUrl}`
2394
+ ].join("\n");
2395
+ }
2241
2396
  async function deployForgeway(cwd, options, deps = {}) {
2242
2397
  if (options.dryRun) return { message: "[dry-run] Would resolve Forgeway project, create/reuse site, bind database, initialize Dineway, upload files, and start deployment." };
2243
2398
  const sourceDir = resolve(cwd);
2244
2399
  if (!(await stat(sourceDir).catch(() => null))?.isDirectory()) throw new Error(`"${sourceDir}" is not a valid directory.`);
2245
2400
  if (EXCLUDE_PATTERNS.includes(basename(sourceDir))) throw new Error(`"${basename(sourceDir)}" is an excluded directory and cannot be deployed.`);
2246
2401
  const seedPath = await resolveSeedPath$1(cwd, options.seed);
2247
- const { context, restaurant } = await resolveProjectContext(cwd, options, seedPath, deps);
2402
+ const { context, restaurant } = await resolveProjectContext(cwd, options, deps);
2248
2403
  const { site } = await resolveDeploymentSite(cwd, context, options, seedPath, deps, restaurant);
2249
2404
  const database = parseDatabaseMode(options.database);
2250
2405
  if (database !== "none") {
@@ -2265,6 +2420,7 @@ async function deployForgeway(cwd, options, deps = {}) {
2265
2420
  throw error;
2266
2421
  }
2267
2422
  }
2423
+ await configureAstroDeployAdapter(cwd, "vercel", false);
2268
2424
  const deployment = await deploySiteProject({
2269
2425
  context,
2270
2426
  siteId: site.id,
@@ -2273,9 +2429,11 @@ async function deployForgeway(cwd, options, deps = {}) {
2273
2429
  deps
2274
2430
  });
2275
2431
  const url = deployment.liveUrl ?? `https://${site.domain}`;
2432
+ const bootstrapMessage = formatDinewayAdminBootstrapMessage(deployment.dinewayAdminBootstrap, url);
2433
+ const statusMessage = deployment.isReady ? `Deploy complete: ${url}` : `Deploy started for ${site.domain}. Check Forgeway for build status.`;
2276
2434
  return {
2277
2435
  url,
2278
- message: deployment.isReady ? `Deploy complete: ${url}` : `Deploy started for ${site.domain}. Check Forgeway for build status.`
2436
+ message: bootstrapMessage ? `${statusMessage}\n\n${bootstrapMessage}` : statusMessage
2279
2437
  };
2280
2438
  }
2281
2439
  const forgewayTarget = {
@@ -1,4 +1,4 @@
1
- import { t as Interceptor } from "../transport-BZCHo8n0.mjs";
1
+ import { t as Interceptor } from "../transport-qeWznEPc.mjs";
2
2
 
3
3
  //#region src/client/external-auth-headers.d.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { a as tokenInterceptor, i as devBypassInterceptor, n as createTransport, r as csrfInterceptor, t as Interceptor } from "../transport-BZCHo8n0.mjs";
1
+ import { a as tokenInterceptor, i as devBypassInterceptor, n as createTransport, r as csrfInterceptor, t as Interceptor } from "../transport-qeWznEPc.mjs";
2
2
 
3
3
  //#region src/client/portable-text.d.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { a as tokenInterceptor, c as markdownToPortableText, i as refreshInterceptor, l as portableTextToMarkdown, n as csrfInterceptor, o as convertDataForRead, r as devBypassInterceptor, s as convertDataForWrite, t as createTransport } from "../transport-Dt7A12-i.mjs";
1
+ import { a as tokenInterceptor, c as markdownToPortableText, i as refreshInterceptor, l as portableTextToMarkdown, n as csrfInterceptor, o as convertDataForRead, r as devBypassInterceptor, s as convertDataForWrite, t as createTransport } from "../transport-B7kO-4ee.mjs";
2
2
  import mime from "mime/lite";
3
3
 
4
4
  //#region src/client/index.ts
@@ -1,5 +1,5 @@
1
- import { a as ContextRepository, i as parseSiteBriefingScope, n as SiteBriefingError } from "./briefing-Dk4I4VC8.mjs";
2
- import { b as toPublicContextEntry, x as toPublicContextEntryPage, y as toPublicContextDiff } from "./site-context-CDnyARws.mjs";
1
+ import { a as ContextRepository, i as parseSiteBriefingScope, n as SiteBriefingError } from "./briefing-Jsxs587i.mjs";
2
+ import { b as toPublicContextEntry, x as toPublicContextEntryPage, y as toPublicContextDiff } from "./site-context-DuBQk6Mp.mjs";
3
3
 
4
4
  //#region src/api/handlers/context.ts
5
5
  async function handleContextEntryList(db, input = {}) {
@@ -5,10 +5,10 @@ import { n as decodeCursor, r as encodeCursor } from "./types-D1DjBFA9.mjs";
5
5
  import { t as MediaRepository } from "./media-Cg4zc9fq.mjs";
6
6
  import { t as UserRepository } from "./user-2aI21yV1.mjs";
7
7
  import { t as OptionsRepository } from "./options-BF11H_FD.mjs";
8
- import { t as withTransaction } from "./transaction-qfqpPVpu.mjs";
9
- import { t as SeoRepository } from "./seo-DASNc4gD.mjs";
10
- import { a as validateExternalUrl, i as stripCredentialHeaders, t as SsrfError } from "./ssrf-z3oH8wjK.mjs";
11
- import { t as CronAccessImpl } from "./cron-fV9baRVc.mjs";
8
+ import { t as withTransaction } from "./transaction-D0FOsb3X.mjs";
9
+ import { t as SeoRepository } from "./seo-BPb_reaG.mjs";
10
+ import { a as validateExternalUrl, i as stripCredentialHeaders, t as SsrfError } from "./ssrf-KAIQS48_.mjs";
11
+ import { t as CronAccessImpl } from "./cron-D7FDsRu-.mjs";
12
12
  import { sql } from "kysely";
13
13
  import { ulid } from "ulidx";
14
14
 
@@ -1,4 +1,4 @@
1
- import { T as resolveActorIdentity, p as logSiteActivitySafely } from "./activity-events-CjOgr0Uv.mjs";
1
+ import { T as resolveActorIdentity, p as logSiteActivitySafely } from "./activity-events-CpcTzKpF.mjs";
2
2
 
3
3
  //#region src/api/context-route-helpers.ts
4
4
  function resolveContextRouteActor(locals) {
@@ -2,7 +2,7 @@ import { t as validateIdentifier } from "./validate-VPnKoIzW.mjs";
2
2
  import { t as ContentRepository } from "./content-DvpMad_N.mjs";
3
3
  import { t as MediaRepository } from "./media-Cg4zc9fq.mjs";
4
4
  import { t as UserRepository } from "./user-2aI21yV1.mjs";
5
- import { t as ReviewRequestRepository } from "./review-requests-BYuoyse0.mjs";
5
+ import { t as ReviewRequestRepository } from "./review-requests-CTUU_RJm.mjs";
6
6
  import { sql } from "kysely";
7
7
 
8
8
  //#region src/api/handlers/dashboard.ts
@@ -1,4 +1,4 @@
1
- import "../types-DwIXYH8s.mjs";
2
- import { a as SqliteConfig, c as sqlite, i as PostgresConfig, n as DatabaseDialectType, o as libsql, r as LibsqlConfig, s as postgres, t as DatabaseDescriptor } from "../adapters-C0EARyCK.mjs";
3
- import { i as runMigrations, n as getMigrationStatus, r as rollbackMigration, t as MigrationStatus } from "../runner-BJm_NJr2.mjs";
1
+ import "../types-B1NksXAb.mjs";
2
+ import { a as SqliteConfig, c as sqlite, i as PostgresConfig, n as DatabaseDialectType, o as libsql, r as LibsqlConfig, s as postgres, t as DatabaseDescriptor } from "../adapters-kZjS7plb.mjs";
3
+ import { i as runMigrations, n as getMigrationStatus, r as rollbackMigration, t as MigrationStatus } from "../runner-pAnQS6iI.mjs";
4
4
  export { type DatabaseDescriptor, type DatabaseDialectType, type LibsqlConfig, type MigrationStatus, type PostgresConfig, type SqliteConfig, getMigrationStatus, libsql, postgres, rollbackMigration, runMigrations, sqlite };
@@ -1,4 +1,4 @@
1
- import { r as LibsqlConfig } from "../adapters-C0EARyCK.mjs";
1
+ import { r as LibsqlConfig } from "../adapters-kZjS7plb.mjs";
2
2
  import { Dialect } from "kysely";
3
3
 
4
4
  //#region src/db/libsql.d.ts
@@ -1,4 +1,4 @@
1
- import { i as PostgresConfig } from "../adapters-C0EARyCK.mjs";
1
+ import { i as PostgresConfig } from "../adapters-kZjS7plb.mjs";
2
2
  import { PostgresDialect } from "kysely";
3
3
 
4
4
  //#region src/db/postgres.d.ts
@@ -1,4 +1,4 @@
1
- import { a as SqliteConfig } from "../adapters-C0EARyCK.mjs";
1
+ import { a as SqliteConfig } from "../adapters-kZjS7plb.mjs";
2
2
  import { Dialect } from "kysely";
3
3
 
4
4
  //#region src/db/sqlite.d.ts
@@ -1,8 +1,8 @@
1
- import { t as withTransaction } from "./transaction-qfqpPVpu.mjs";
1
+ import { t as withTransaction } from "./transaction-D0FOsb3X.mjs";
2
2
  import { a as filterExperimentalSiteContextWorkflowScopes, i as experimentalSiteContextWorkflowsEnabled, o as getExperimentalSiteContextWorkflowScopesDisabledMessage, r as disabledExperimentalSiteContextWorkflowScopes } from "./experimental-workflows-BbZbIEZp.mjs";
3
- import { a as hashApiToken, n as TOKEN_PREFIXES, r as generatePrefixedToken, t as ALL_VALID_SCOPES } from "./api-tokens-BZ9aAeCo.mjs";
4
- import { o as lookupOAuthClient } from "./oauth-clients-CS1nQbC3.mjs";
5
- import { t as lookupUserRoleAndStatus } from "./oauth-user-lookup-B7-6YI3R.mjs";
3
+ import { a as hashApiToken, n as TOKEN_PREFIXES, r as generatePrefixedToken, t as ALL_VALID_SCOPES } from "./api-tokens-L0o9Bd7v.mjs";
4
+ import { o as lookupOAuthClient } from "./oauth-clients-BMs_bmoz.mjs";
5
+ import { t as lookupUserRoleAndStatus } from "./oauth-user-lookup-DdcI8ZVL.mjs";
6
6
  import { clampScopes } from "@dineway-ai/auth";
7
7
  import { generateCodeVerifier } from "arctic";
8
8
 
@@ -1,5 +1,5 @@
1
1
  import { t as ExperimentalSiteContextWorkflowDisabledError } from "./experimental-workflows-BbZbIEZp.mjs";
2
- import { n as HitlRequestService } from "./site-context-CDnyARws.mjs";
2
+ import { n as HitlRequestService } from "./site-context-DuBQk6Mp.mjs";
3
3
 
4
4
  //#region src/api/handlers/hitl-requests.ts
5
5
  const HITL_NOT_FOUND_RE = /not found/i;
@@ -1,7 +1,7 @@
1
- import { t as apiError } from "./error-Dyf9fGZE.mjs";
1
+ import { t as apiError } from "./error-DLkgOP5m.mjs";
2
2
  import { t as ExperimentalSiteContextWorkflowDisabledError } from "./experimental-workflows-BbZbIEZp.mjs";
3
- import { t as WorkflowHitlCoordinator } from "./site-context-CDnyARws.mjs";
4
- import { T as resolveActorIdentity, p as logSiteActivitySafely } from "./activity-events-CjOgr0Uv.mjs";
3
+ import { t as WorkflowHitlCoordinator } from "./site-context-DuBQk6Mp.mjs";
4
+ import { T as resolveActorIdentity, p as logSiteActivitySafely } from "./activity-events-CpcTzKpF.mjs";
5
5
  import { Role } from "@dineway-ai/auth";
6
6
 
7
7
  //#region src/api/hitl-route-helpers.ts
@@ -1,5 +1,5 @@
1
- import { n as isSiteContextType, t as SITE_CONTEXT_TYPES } from "./context-types-BWspNMDr.mjs";
2
- import { An as roleLevel, En as httpUrl } from "./redirects-BO0fI750.mjs";
1
+ import { n as isSiteContextType, t as SITE_CONTEXT_TYPES } from "./context-types-BrSQNye5.mjs";
2
+ import { An as roleLevel, En as httpUrl } from "./redirects-CoYlqu8e.mjs";
3
3
  import { z } from "zod";
4
4
 
5
5
  //#region src/api/schemas/context.ts
@@ -1,7 +1,7 @@
1
1
  import { n as slugify } from "./slugify-BzGxlOFx.mjs";
2
- import { n as parseWxrString } from "./parser-wEX7xttr.mjs";
3
- import { a as validateExternalUrl, n as resolveAndValidateExternalUrl, r as ssrfSafeFetch } from "./ssrf-z3oH8wjK.mjs";
4
- import { a as getFilenameFromUrl, c as isInternalMetaKey, d as mapPostTypeToCollection, f as mapWpStatus, i as checkSchemaCompatibility, l as isInternalPostType, n as FEATURED_IMAGE_FIELD, o as guessMimeType, p as normalizeUrl$1, r as buildAttachmentMap, s as inferMetaType, t as BASE_REQUIRED_FIELDS, u as mapMetaKeyToField } from "./utils-BftjFpR0.mjs";
2
+ import { n as parseWxrString } from "./parser-egIGEco-.mjs";
3
+ import { a as validateExternalUrl, n as resolveAndValidateExternalUrl, r as ssrfSafeFetch } from "./ssrf-KAIQS48_.mjs";
4
+ import { a as getFilenameFromUrl, c as isInternalMetaKey, d as mapPostTypeToCollection, f as mapWpStatus, i as checkSchemaCompatibility, l as isInternalPostType, n as FEATURED_IMAGE_FIELD, o as guessMimeType, p as normalizeUrl$1, r as buildAttachmentMap, s as inferMetaType, t as BASE_REQUIRED_FIELDS, u as mapMetaKeyToField } from "./utils-FEbQMgB5.mjs";
5
5
  import { ulid } from "ulidx";
6
6
  import { gutenbergToPortableText } from "@dineway-ai/gutenberg-to-portable-text";
7
7
 
@@ -1,6 +1,6 @@
1
- import { t as Database } from "./types-DwIXYH8s.mjs";
2
- import { a as Collection, h as FieldValidation, i as SiteSettings, r as SiteSettingKey } from "./types-CsX_6h1v.mjs";
3
- import { m as MediaValue } from "./types-D0UvtzG1.mjs";
1
+ import { t as Database } from "./types-B1NksXAb.mjs";
2
+ import { a as Collection, h as FieldValidation, i as SiteSettings, r as SiteSettingKey } from "./types-t7_nCCA9.mjs";
3
+ import { m as MediaValue } from "./types-cn-fvYQ1.mjs";
4
4
  import { Kysely } from "kysely";
5
5
  import { z } from "astro/zod";
6
6
 
@@ -1,5 +1,5 @@
1
- import { t as Database } from "./types-DwIXYH8s.mjs";
2
- import { d as ImportSource, g as ProbeResult } from "./types-DbtpYtHx.mjs";
1
+ import { t as Database } from "./types-B1NksXAb.mjs";
2
+ import { d as ImportSource, g as ProbeResult } from "./types-BBETcziA.mjs";
3
3
  import { Kysely } from "kysely";
4
4
  import { Readable } from "node:stream";
5
5