dineway 0.2.40 → 0.2.42

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 (460) hide show
  1. package/dist/{activity-LXZdjKwI.mjs → activity-BuhkMdv8.mjs} +2 -2
  2. package/dist/{activity-events-DoqeOM8x.mjs → activity-events-DkHsy7Y0.mjs} +1 -1
  3. package/dist/{allowed-origins-B4zstd2d.mjs → allowed-origins-DASdFW-l.mjs} +1 -1
  4. package/dist/api/route-utils.d.mts +15 -12
  5. package/dist/api/route-utils.mjs +27 -20
  6. package/dist/api/schemas/index.d.mts +1 -1
  7. package/dist/api/schemas/index.mjs +10 -5
  8. package/dist/{api-CQishNjZ.mjs → api-BBXfpMJw.mjs} +41 -13
  9. package/dist/{api-tokens-CNHnKO57.mjs → api-tokens-ciHNTdN2.mjs} +1 -1
  10. package/dist/{apply-D4rZHDyg.mjs → apply-CZDKUvZ4.mjs} +62 -18
  11. package/dist/astro/index.d.mts +16 -13
  12. package/dist/astro/index.mjs +31 -5
  13. package/dist/astro/middleware/auth.d.mts +14 -11
  14. package/dist/astro/middleware/auth.mjs +8 -8
  15. package/dist/astro/middleware/redirect.mjs +10 -6
  16. package/dist/astro/middleware/request-context.mjs +5 -5
  17. package/dist/astro/middleware/seed.d.mts +1 -1
  18. package/dist/astro/middleware/seed.mjs +2 -2
  19. package/dist/astro/middleware/setup.mjs +1 -1
  20. package/dist/astro/middleware.d.mts +2 -2
  21. package/dist/astro/middleware.mjs +266 -176
  22. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +12 -7
  23. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +12 -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 +7 -7
  26. package/dist/astro/routes/api/admin/briefing.mjs +41 -22
  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 +14 -10
  29. package/dist/astro/routes/api/admin/byline-fields/index.mjs +14 -10
  30. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +14 -10
  31. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +25 -19
  32. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +25 -19
  33. package/dist/astro/routes/api/admin/bylines/index.mjs +25 -19
  34. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +20 -16
  35. package/dist/astro/routes/api/admin/comments/_id_.mjs +10 -7
  36. package/dist/astro/routes/api/admin/comments/bulk.mjs +18 -13
  37. package/dist/astro/routes/api/admin/comments/counts.mjs +10 -7
  38. package/dist/astro/routes/api/admin/comments/index.mjs +18 -13
  39. package/dist/astro/routes/api/admin/context/_id_/history.mjs +51 -39
  40. package/dist/astro/routes/api/admin/context/_id_/index.mjs +51 -39
  41. package/dist/astro/routes/api/admin/context/_id_/review.mjs +57 -44
  42. package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +57 -44
  43. package/dist/astro/routes/api/admin/context/diff.mjs +56 -43
  44. package/dist/astro/routes/api/admin/context/index.mjs +57 -44
  45. package/dist/astro/routes/api/admin/context/stale.mjs +56 -43
  46. package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +51 -39
  47. package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +56 -43
  48. package/dist/astro/routes/api/admin/hitl-requests/index.mjs +56 -43
  49. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +52 -40
  50. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +3 -3
  51. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +7 -7
  52. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +7 -7
  53. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +78 -68
  54. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +78 -68
  55. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +71 -60
  56. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +78 -67
  57. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +78 -67
  58. package/dist/astro/routes/api/admin/plugins/index.mjs +71 -60
  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 +71 -60
  61. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +78 -67
  62. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +71 -60
  63. package/dist/astro/routes/api/admin/plugins/updates.mjs +71 -60
  64. package/dist/astro/routes/api/admin/review-requests/_id_/image.mjs +38 -23
  65. package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +46 -36
  66. package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +63 -52
  67. package/dist/astro/routes/api/admin/review-requests/_id_/revoke.mjs +9 -9
  68. package/dist/astro/routes/api/admin/review-requests/index.mjs +61 -50
  69. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +71 -60
  70. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +2 -2
  71. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +71 -60
  72. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +1 -1
  73. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +1 -1
  74. package/dist/astro/routes/api/admin/users/_id_/index.mjs +11 -7
  75. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +3 -3
  76. package/dist/astro/routes/api/admin/users/index.mjs +12 -7
  77. package/dist/astro/routes/api/auth/dev-bypass.mjs +4 -4
  78. package/dist/astro/routes/api/auth/invite/accept.mjs +1 -1
  79. package/dist/astro/routes/api/auth/invite/complete.mjs +17 -12
  80. package/dist/astro/routes/api/auth/invite/index.mjs +14 -9
  81. package/dist/astro/routes/api/auth/invite/register-options.mjs +16 -11
  82. package/dist/astro/routes/api/auth/logout.mjs +2 -2
  83. package/dist/astro/routes/api/auth/magic-link/send.mjs +17 -12
  84. package/dist/astro/routes/api/auth/magic-link/verify.mjs +2 -2
  85. package/dist/astro/routes/api/auth/me.mjs +14 -11
  86. package/dist/astro/routes/api/auth/mode.mjs +1 -1
  87. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +3 -3
  88. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +3 -3
  89. package/dist/astro/routes/api/auth/passkey/_id_.mjs +12 -7
  90. package/dist/astro/routes/api/auth/passkey/index.mjs +1 -1
  91. package/dist/astro/routes/api/auth/passkey/options.mjs +19 -14
  92. package/dist/astro/routes/api/auth/passkey/register/options.mjs +16 -11
  93. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +17 -12
  94. package/dist/astro/routes/api/auth/passkey/verify.mjs +17 -12
  95. package/dist/astro/routes/api/auth/setup-token/index.mjs +6 -6
  96. package/dist/astro/routes/api/auth/setup-token/verify.mjs +2 -2
  97. package/dist/astro/routes/api/auth/signup/complete.mjs +17 -12
  98. package/dist/astro/routes/api/auth/signup/request.mjs +17 -12
  99. package/dist/astro/routes/api/auth/signup/verify.mjs +1 -1
  100. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.d.mts +14 -11
  101. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +23 -19
  102. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +23 -18
  103. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +2 -2
  104. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +8 -8
  105. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +8 -8
  106. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +8 -8
  107. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +25 -20
  108. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +41 -31
  109. package/dist/astro/routes/api/content/_collection_/_id_/release-readiness.mjs +14 -9
  110. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +8 -8
  111. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +2 -2
  112. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +41 -31
  113. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +30 -20
  114. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +2 -2
  115. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +8 -8
  116. package/dist/astro/routes/api/content/_collection_/_id_.mjs +25 -14
  117. package/dist/astro/routes/api/content/_collection_/authors.mjs +2 -2
  118. package/dist/astro/routes/api/content/_collection_/index.mjs +25 -14
  119. package/dist/astro/routes/api/content/_collection_/trash.mjs +13 -8
  120. package/dist/astro/routes/api/dashboard.mjs +21 -13
  121. package/dist/astro/routes/api/dev/emails.mjs +2 -2
  122. package/dist/astro/routes/api/health.mjs +1 -1
  123. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  124. package/dist/astro/routes/api/import/probe.mjs +30 -23
  125. package/dist/astro/routes/api/import/wordpress/analyze.mjs +13 -10
  126. package/dist/astro/routes/api/import/wordpress/execute.d.mts +14 -11
  127. package/dist/astro/routes/api/import/wordpress/execute.mjs +58 -47
  128. package/dist/astro/routes/api/import/wordpress/media.d.mts +14 -11
  129. package/dist/astro/routes/api/import/wordpress/media.mjs +17 -14
  130. package/dist/astro/routes/api/import/wordpress/prepare.mjs +61 -48
  131. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +15 -12
  132. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +58 -45
  133. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  134. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +32 -26
  135. package/dist/astro/routes/api/import/wordpress-plugin/callback.mjs +1 -1
  136. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +14 -11
  137. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +63 -52
  138. package/dist/astro/routes/api/integration/artifact.mjs +9 -9
  139. package/dist/astro/routes/api/integration/dispatch.mjs +14 -14
  140. package/dist/astro/routes/api/integrations/_provider_.mjs +9 -9
  141. package/dist/astro/routes/api/integrations/index.mjs +8 -8
  142. package/dist/astro/routes/api/manifest.mjs +5 -5
  143. package/dist/astro/routes/api/mcp.mjs +141 -93
  144. package/dist/astro/routes/api/media/_id_/confirm.mjs +15 -12
  145. package/dist/astro/routes/api/media/_id_.mjs +14 -9
  146. package/dist/astro/routes/api/media/file/_...key_.mjs +1 -1
  147. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +2 -2
  148. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +2 -2
  149. package/dist/astro/routes/api/media/providers/index.mjs +2 -2
  150. package/dist/astro/routes/api/media/upload-url.mjs +16 -13
  151. package/dist/astro/routes/api/media.mjs +19 -16
  152. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +57 -44
  153. package/dist/astro/routes/api/menus/_name_/items.mjs +57 -44
  154. package/dist/astro/routes/api/menus/_name_/reorder.mjs +57 -44
  155. package/dist/astro/routes/api/menus/_name_/translations.mjs +57 -44
  156. package/dist/astro/routes/api/menus/_name_.mjs +57 -44
  157. package/dist/astro/routes/api/menus/index.mjs +57 -44
  158. package/dist/astro/routes/api/oauth/authorize.mjs +7 -7
  159. package/dist/astro/routes/api/oauth/device/authorize.mjs +5 -5
  160. package/dist/astro/routes/api/oauth/device/code.mjs +9 -9
  161. package/dist/astro/routes/api/oauth/device/token.mjs +8 -8
  162. package/dist/astro/routes/api/oauth/register.mjs +4 -4
  163. package/dist/astro/routes/api/oauth/token/refresh.mjs +5 -5
  164. package/dist/astro/routes/api/oauth/token/revoke.mjs +5 -5
  165. package/dist/astro/routes/api/oauth/token.mjs +6 -6
  166. package/dist/astro/routes/api/openapi.json.mjs +10 -5
  167. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +4 -4
  168. package/dist/astro/routes/api/redirects/404s/index.mjs +15 -13
  169. package/dist/astro/routes/api/redirects/404s/summary.mjs +15 -13
  170. package/dist/astro/routes/api/redirects/_id_.mjs +57 -44
  171. package/dist/astro/routes/api/redirects/index.mjs +57 -44
  172. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +2 -2
  173. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +2 -2
  174. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +73 -62
  175. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +73 -62
  176. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +73 -62
  177. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +73 -62
  178. package/dist/astro/routes/api/schema/collections/index.mjs +73 -62
  179. package/dist/astro/routes/api/schema/index.mjs +13 -10
  180. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +71 -60
  181. package/dist/astro/routes/api/schema/orphans/index.mjs +71 -60
  182. package/dist/astro/routes/api/search/enable.mjs +20 -13
  183. package/dist/astro/routes/api/search/index.mjs +19 -12
  184. package/dist/astro/routes/api/search/rebuild.mjs +20 -13
  185. package/dist/astro/routes/api/search/stats.mjs +12 -7
  186. package/dist/astro/routes/api/search/suggest.mjs +19 -12
  187. package/dist/astro/routes/api/sections/_slug_.mjs +57 -44
  188. package/dist/astro/routes/api/sections/index.mjs +57 -44
  189. package/dist/astro/routes/api/settings/email.mjs +5 -5
  190. package/dist/astro/routes/api/settings/reviews.mjs +11 -11
  191. package/dist/astro/routes/api/settings.mjs +57 -44
  192. package/dist/astro/routes/api/setup/admin-verify.mjs +19 -14
  193. package/dist/astro/routes/api/setup/admin.mjs +17 -12
  194. package/dist/astro/routes/api/setup/dev-bypass.mjs +44 -32
  195. package/dist/astro/routes/api/setup/dev-reset.mjs +2 -2
  196. package/dist/astro/routes/api/setup/index.mjs +47 -34
  197. package/dist/astro/routes/api/setup/status.mjs +3 -3
  198. package/dist/astro/routes/api/snapshot.mjs +9 -9
  199. package/dist/astro/routes/api/system/heartbeat.mjs +2 -2
  200. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +60 -47
  201. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +60 -47
  202. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +60 -47
  203. package/dist/astro/routes/api/taxonomies/index.mjs +60 -47
  204. package/dist/astro/routes/api/themes/preview.mjs +7 -7
  205. package/dist/astro/routes/api/typegen.mjs +4 -4
  206. package/dist/astro/routes/api/well-known/auth.mjs +3 -3
  207. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +3 -3
  208. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +3 -3
  209. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +56 -43
  210. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +57 -44
  211. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +57 -44
  212. package/dist/astro/routes/api/widget-areas/_name_.mjs +53 -41
  213. package/dist/astro/routes/api/widget-areas/index.mjs +57 -44
  214. package/dist/astro/routes/api/widget-components.mjs +2 -2
  215. package/dist/astro/routes/robots.txt.mjs +14 -9
  216. package/dist/astro/routes/sitemap-_collection_.xml.mjs +20 -16
  217. package/dist/astro/routes/sitemap.xml.mjs +19 -15
  218. package/dist/astro/session-driver.d.mts +1 -1
  219. package/dist/astro/session-driver.mjs +8 -3
  220. package/dist/astro/types.d.mts +21 -14
  221. package/dist/{atomic-authority-CnBQJ14T.mjs → atomic-authority-Bf5QZboB.mjs} +2 -2
  222. package/dist/{audit-Cl495Ze3.mjs → audit-hXJBTPY0.mjs} +1 -1
  223. package/dist/auth/providers/github.d.mts +1 -1
  224. package/dist/auth/providers/google.d.mts +1 -1
  225. package/dist/{auth-control-guard-DbjgJdlo.mjs → auth-control-guard-DpUP6Fs_.mjs} +1 -1
  226. package/dist/{authorize-DDmgmnW-.mjs → authorize-DWNOqMKq.mjs} +1 -1
  227. package/dist/{briefing-DsD-Ouwc.mjs → briefing-BShyAm_Z.mjs} +1 -1
  228. package/dist/{briefing-COw-WcYz.mjs → briefing-CaeEFvkD.mjs} +995 -7
  229. package/dist/{bundle-bhiszAui.mjs → bundle-DWn5eFKz.mjs} +2 -2
  230. package/dist/{byline-fields-D-b9CWux.d.mts → byline-fields-B7pQ3LMi.d.mts} +14 -10
  231. package/dist/{byline-fields-BKj5f3Ub.mjs → byline-fields-DRMCc0V_.mjs} +1 -1
  232. package/dist/{byline-fields-DZ46DF10.mjs → byline-fields-wWu2Cb3l.mjs} +3 -3
  233. package/dist/{byline-registry-CJihchD1.mjs → byline-registry-Caj0_gbU.mjs} +1 -1
  234. package/dist/{byline-TYk2kad6.mjs → byline-uuVB2B3E.mjs} +65 -14
  235. package/dist/{bylines-6T9iVC9j.mjs → bylines-PLlsL31L.mjs} +3 -3
  236. package/dist/{bylines-CvTSCAw9.mjs → bylines-XGlNK0Lo.mjs} +5 -5
  237. package/dist/{patterns-Ay-4KImK.mjs → cache-DsEbwFVE.mjs} +51 -1
  238. package/dist/{chunks-C8vSD_5L.mjs → chunks-Bb56aCtB.mjs} +1 -1
  239. package/dist/cli/index.mjs +486 -48
  240. package/dist/cli/plugin-kit.d.mts +14 -11
  241. package/dist/cli/plugin-kit.mjs +2 -2
  242. package/dist/client/external-auth-headers.d.mts +1 -1
  243. package/dist/client/index.d.mts +16 -13
  244. package/dist/client/index.mjs +2 -2
  245. package/dist/{client-factory-C1ZQCMog.mjs → client-factory-BLbm250o.mjs} +1 -1
  246. package/dist/{comment-DAQfUjqt.mjs → comment-BWDG1nQm.mjs} +2 -2
  247. package/dist/{comment-reaction-Dp3G7UZc.mjs → comment-reaction-B7pLTlQ7.mjs} +1 -1
  248. package/dist/{comments-BrvIaRAx.mjs → comments-xkten8nV.mjs} +1 -1
  249. package/dist/config-6R0bchVE.mjs +125 -0
  250. package/dist/{content-CIKsrvU9.mjs → content-BNeuaVCS.mjs} +302 -45
  251. package/dist/content-Dr22fzA_.mjs +390 -0
  252. package/dist/{content-refresh-BilzqcLt.mjs → content-refresh-D7wpVFJ_.mjs} +14 -8
  253. package/dist/content-storage/index.d.mts +193 -0
  254. package/dist/content-storage/index.mjs +29 -0
  255. package/dist/content-storage/store.d.mts +3 -0
  256. package/dist/content-storage/store.mjs +5 -0
  257. package/dist/{review-payload-Bap86e75.mjs → content-write-43KZZ7dz.mjs} +838 -131
  258. package/dist/{context-DAs_MZjJ.mjs → context-Cjz0y4Al.mjs} +292 -23
  259. package/dist/{context-DVTvucNb.mjs → context-DuYXPlfZ.mjs} +2 -2
  260. package/dist/{context-route-helpers-BP-UJ4u8.mjs → context-route-helpers-TP3EqxRQ.mjs} +2 -2
  261. package/dist/{dashboard-BAjWCGCP.mjs → dashboard-BquGX1ue.mjs} +4 -4
  262. package/dist/database/batch.d.mts +1 -1
  263. package/dist/database/batch.mjs +1 -1
  264. package/dist/database/d1/index.d.mts +14 -11
  265. package/dist/database/d1/index.mjs +4 -4
  266. package/dist/database/instrumentation.mjs +3 -2
  267. package/dist/db/index.d.mts +3 -3
  268. package/dist/db/index.mjs +1 -1
  269. package/dist/db/libsql.d.mts +1 -1
  270. package/dist/db/postgres.d.mts +1 -1
  271. package/dist/db/sqlite.d.mts +1 -1
  272. package/dist/{device-flow-Dh0rNlh1.mjs → device-flow-SoZh-HvN.mjs} +3 -3
  273. package/dist/{discovery-V0e0Gg8j.mjs → discovery-BwCZFUXm.mjs} +4 -4
  274. package/dist/{enrich-B7PIJ8Iy.mjs → enrich-CAMsD1aT.mjs} +1 -1
  275. package/dist/{error-B5a45Tfb.mjs → error-sL4aemcW.mjs} +2 -0
  276. package/dist/{evidence-Vnp_fQbC.mjs → evidence-1Gr8TlTf.mjs} +7 -7
  277. package/dist/{field-defs-cache-aXUeXJdC.mjs → field-defs-cache-dn5Tw79A.mjs} +4 -4
  278. package/dist/{fts-manager-BrPpYtK0.mjs → fts-manager-Zu5ITic0.mjs} +1 -1
  279. package/dist/{hitl-requests-BxMMON3s.mjs → hitl-requests-Bdab4DhO.mjs} +2 -2
  280. package/dist/{hitl-route-helpers-sdnjpx2k.mjs → hitl-route-helpers-DGMLQajA.mjs} +5 -5
  281. package/dist/hook-events-BQw73jc7.d.mts +32 -0
  282. package/dist/{import-C2-v4FCs.mjs → import-DJFlvQey.mjs} +9 -9
  283. package/dist/{index-BVGe04wF.d.mts → index-CLj17kW9.d.mts} +12 -5
  284. package/dist/index.d.mts +19 -16
  285. package/dist/index.mjs +107 -98
  286. package/dist/{integration-credentials-DMEXZU2J.mjs → integration-credentials-DpuRw1kx.mjs} +2 -2
  287. package/dist/{jsonld-wRF85RXo.d.mts → jsonld-CPijKSUe.d.mts} +2 -2
  288. package/dist/{load-DvCVppOF.mjs → load-CiRTddkJ.mjs} +1 -1
  289. package/dist/{loader-Dp6zLmQm.mjs → loader-Bq1aW12P.mjs} +16 -5
  290. package/dist/{manifest-schema-CCvogfrP.mjs → manifest-schema-DaQpgyTB.mjs} +1 -1
  291. package/dist/{mcp-reviewed-executor-B8Gbin3T.mjs → mcp-reviewed-executor-DtTnFcqC.mjs} +6 -6
  292. package/dist/media/image-endpoint.mjs +1 -1
  293. package/dist/media/index.d.mts +1 -1
  294. package/dist/media/index.mjs +2 -2
  295. package/dist/media/local-runtime.d.mts +16 -13
  296. package/dist/media/local-runtime.mjs +3 -3
  297. package/dist/{media-C5ba8fvI.mjs → media-BjH5OD-A.mjs} +1 -1
  298. package/dist/{media-allowlist-DQvscVkS.mjs → media-allowlist-C8HJ2O61.mjs} +1 -1
  299. package/dist/{menus-w5xwT-f5.mjs → menus-BXkfzNR1.mjs} +7 -7
  300. package/dist/{menus-CyNpBQrX.mjs → menus-CbBi7Ad7.mjs} +2 -2
  301. package/dist/migration-D9OY6vI9.mjs +526 -0
  302. package/dist/{migrations-CLlX25HO.mjs → migrations-BAjF60cl.mjs} +1 -1
  303. package/dist/{oauth-authorization-CdqJZUMf.mjs → oauth-authorization-CSSRMOKn.mjs} +4 -4
  304. package/dist/{oauth-clients-CHNb9MAZ.mjs → oauth-clients-DX5HIJJv.mjs} +2 -2
  305. package/dist/object-cache/memory.d.mts +1 -1
  306. package/dist/{object-cache-mxCW-Rpt.mjs → object-cache-DyI1SOBK.mjs} +3 -1
  307. package/dist/owned-metadata-C99DzQuq.mjs +69 -0
  308. package/dist/page/index.d.mts +15 -12
  309. package/dist/page/index.mjs +1 -1
  310. package/dist/{parse-THHCpJLB.mjs → parse-C6kCR1OT.mjs} +1 -1
  311. package/dist/plugin-utils.d.mts +14 -11
  312. package/dist/plugins/adapt-sandbox-entry.d.mts +14 -11
  313. package/dist/plugins/adapt-sandbox-entry.mjs +1 -1
  314. package/dist/{plugins-pfraURNp.mjs → plugins-LtyuDuIb.mjs} +16 -962
  315. package/dist/{policy-D2USlibj.mjs → policy-Drg5yr1-.mjs} +2 -2
  316. package/dist/{preview-Bh7D7F27.mjs → preview-CWiIjMDi.mjs} +2 -2
  317. package/dist/{provider-loader-DT7vQ5FI.d.mts → provider-loader-oLKm1AU8.d.mts} +1 -1
  318. package/dist/{public-url-Ccv0Xmue.d.mts → public-url-CEC1vj02.d.mts} +2 -2
  319. package/dist/{public-url-CG5YbNqB.d.mts → public-url-cMnsBUZB.d.mts} +1 -1
  320. package/dist/{publication-authorization-B_HJSnzR.mjs → publication-authorization-CJ4Jr5Hg.mjs} +43 -17
  321. package/dist/{query-xspvw7Ui.mjs → query-CLWTwcTr.mjs} +14 -14
  322. package/dist/{query-DLeahg3x.mjs → query-CP9M8xxX.mjs} +4 -4
  323. package/dist/{rate-limit-BsBr_U9g.mjs → rate-limit-DeVLLe4z.mjs} +2 -2
  324. package/dist/{redirect-BQFa1THe.mjs → redirect-CJ-FAbNK.mjs} +2 -2
  325. package/dist/{redirects-DJcsgz_X.mjs → redirects-BKi6mek4.mjs} +4 -5
  326. package/dist/{redirects-CVfxefrz.mjs → redirects-I78-ZYLV.mjs} +5 -386
  327. package/dist/{registry-Dclv9iHv.mjs → registry-B-HULaJI.mjs} +7 -7
  328. package/dist/{release-Da2UFygt.mjs → release-D615eKav.mjs} +173 -22
  329. package/dist/request-context.d.mts +30 -0
  330. package/dist/{request-meta-CjORiJQ_.mjs → request-meta-DZYuLXx_.mjs} +1 -1
  331. package/dist/review-payload-Bhi52CbI.mjs +112 -0
  332. package/dist/{review-requests-CcSUTm_l.mjs → review-requests-CGQ1u7uY.mjs} +2 -2
  333. package/dist/{review-requests-CUVn0RBl.mjs → review-requests-DZYM51yI.mjs} +2 -2
  334. package/dist/{review-route-helpers-CKBfGKCi.mjs → review-route-helpers-DXNDyx_q.mjs} +2 -2
  335. package/dist/{revision-W6FDfDqx.mjs → revision-DlxUfOD5.mjs} +42 -7
  336. package/dist/revisions-qNkae-Dq.mjs +57 -0
  337. package/dist/{revocation-C_ZQvGRT.mjs → revocation-4we8kfBg.mjs} +2 -2
  338. package/dist/{runner-CRU7BXjr.mjs → runner-CuG8o1uW.mjs} +558 -487
  339. package/dist/{runner-SoP1rphP.d.mts → runner-DXQkyPeX.d.mts} +1 -1
  340. package/dist/{runs-BtaAiLTw.mjs → runs-BjgLfqCn.mjs} +5 -5
  341. package/dist/runtime-Bs2JMbb2.d.mts +45 -0
  342. package/dist/runtime-Ch5G-tnG.mjs +400 -0
  343. package/dist/runtime.d.mts +15 -12
  344. package/dist/runtime.mjs +9 -4
  345. package/dist/schema-DVeOJpqA.mjs +8 -0
  346. package/dist/{search-BI9uKr7U.mjs → search-zMoM2_uq.mjs} +4 -98
  347. package/dist/{secrets-D_pergcD.mjs → secrets-CIYcw9T9.mjs} +4 -4
  348. package/dist/{sections-BqqYq9RW.mjs → sections-BtO0Zdv5.mjs} +2 -2
  349. package/dist/seed/index.d.mts +2 -2
  350. package/dist/seed/index.mjs +38 -26
  351. package/dist/seo/index.d.mts +3 -3
  352. package/dist/seo/index.mjs +12 -9
  353. package/dist/{seo-B-5PsaJO.mjs → seo-DwcULb78.mjs} +1 -1
  354. package/dist/{seo-Bs_DUxJf.mjs → seo-uliFa7s-.mjs} +44 -5
  355. package/dist/{service-W2xuGLgw.mjs → service-BBJM08uD.mjs} +2 -2
  356. package/dist/{service-B65aJsN7.mjs → service-CkMuD5AE.mjs} +3 -3
  357. package/dist/{settings-CyJ2-MKx.mjs → settings-D31Y4msD.mjs} +2 -2
  358. package/dist/{settings-DsBzKeUQ.mjs → settings-DDOB3gW1.mjs} +7 -7
  359. package/dist/{setup-complete-t9yamqBb.mjs → setup-complete-5GxB7hiF.mjs} +1 -1
  360. package/dist/{site-activity-DU0UPDji.mjs → site-activity-hpfJkmxQ.mjs} +1 -1
  361. package/dist/{site-context-Dic2jHuw.mjs → site-context-D3AmDdpQ.mjs} +15 -15
  362. package/dist/{site-url-Tw6CfBB2.mjs → site-url-CYatfe3q.mjs} +1 -1
  363. package/dist/{state-jx6Yiwsm.mjs → state-ClG1I4wl.mjs} +1 -1
  364. package/dist/storage/local.d.mts +1 -1
  365. package/dist/storage/local.mjs +1 -1
  366. package/dist/storage/s3.d.mts +1 -1
  367. package/dist/storage/s3.mjs +2 -2
  368. package/dist/{store-32e6dfD-.mjs → store-BzaAtszy.mjs} +3 -3
  369. package/dist/submission-DgLES24O.mjs +205 -0
  370. package/dist/{taxonomies-BFsUR7kc.mjs → taxonomies-B4hE8Yb3.mjs} +3 -3
  371. package/dist/{taxonomies-lWGNLKgn.mjs → taxonomies-BI26Bk-M.mjs} +7 -7
  372. package/dist/{taxonomy-DN6i1upz.mjs → taxonomy-B8w8F2Cs.mjs} +53 -3
  373. package/dist/terms-EskuqbKE.mjs +104 -0
  374. package/dist/text-extraction-CdqMGYQK.mjs +96 -0
  375. package/dist/{tokens-D-StaTAQ.mjs → tokens-D8HEH277.mjs} +1 -1
  376. package/dist/{trusted-proxy-hYufGFPK.mjs → trusted-proxy-Dg3U9Lrv.mjs} +1 -1
  377. package/dist/{types-D5JfvPvx.d.mts → types-0gRlZbhN.d.mts} +88 -32
  378. package/dist/{types-RFzE_V1M.mjs → types-BI3ULB3A.mjs} +2 -2
  379. package/dist/{types-B--VyN3n.d.mts → types-Dpv_MvwZ.d.mts} +1 -1
  380. package/dist/{types-CgcOeaiQ.d.mts → types-ex-UrNlz.d.mts} +1 -1
  381. package/dist/types-qOEot0UQ.d.mts +83 -0
  382. package/dist/ui/server-runtime.d.mts +18 -15
  383. package/dist/ui/server-runtime.mjs +29 -25
  384. package/dist/{user-Btai9rl3.mjs → user-Bl2_8rhJ.mjs} +2 -2
  385. package/dist/{utils-CYxGuO_P.mjs → utils-CklSLz9F.mjs} +2 -2
  386. package/dist/{validate-C05z0m7M.mjs → validate-C-yk7mmX.mjs} +3 -3
  387. package/dist/{validate-kmN2lS8H.d.mts → validate-DUscf6VG.d.mts} +3 -3
  388. package/dist/version-Co258u70.mjs +6 -0
  389. package/dist/version-store-BXv2D0de.mjs +208 -0
  390. package/dist/version-store-B_THJCc0.d.mts +98 -0
  391. package/dist/{widgets-BOrDZdQ3.mjs → widgets-B99mnftw.mjs} +3 -3
  392. package/dist/{wordpress-slugs-ROzITIBK.mjs → wordpress-slugs-yaeD7cxn.mjs} +1 -1
  393. package/dist/{worker-CKU70ODm.mjs → worker-DdI-KtvF.mjs} +10 -10
  394. package/dist/write-intent-DuHVqks9.mjs +108 -0
  395. package/dist/{zod-generator-DkrWuID7.mjs → zod-generator-B5Pt8fv0.mjs} +2 -2
  396. package/package.json +16 -4
  397. package/dist/cache-B5NSHhxG.mjs +0 -52
  398. package/dist/cron-C7HCJPPl.mjs +0 -271
  399. package/dist/schema-CosVhHJt.mjs +0 -8
  400. package/dist/submission-DJmRejGR.mjs +0 -411
  401. package/dist/version-CISd4wX_.mjs +0 -6
  402. /package/dist/{actor-DxUAJgQX.mjs → actor-D0AW80ld.mjs} +0 -0
  403. /package/dist/{adapter-symbols-Bq3JsWGM.d.mts → adapter-symbols-B9mi-BUh.d.mts} +0 -0
  404. /package/dist/{adapters-C8nRpUuj.d.mts → adapters-lDnJjNDz.d.mts} +0 -0
  405. /package/dist/{api-tokens-0N3nafqZ.mjs → api-tokens-CdfsE9PL.mjs} +0 -0
  406. /package/dist/{base64-Cz-aU0X1.mjs → base64-qvSs0Gxy.mjs} +0 -0
  407. /package/dist/{challenge-store-DFGsDtCj.mjs → challenge-store-Dq5HiMO3.mjs} +0 -0
  408. /package/dist/{components-rFN8NH3N.mjs → components-JA6tFHmE.mjs} +0 -0
  409. /package/dist/{context-types-CPWAJRs5.mjs → context-types-DDIJhGLs.mjs} +0 -0
  410. /package/dist/{default-BS6VQRkB.mjs → default-C2azCFSB.mjs} +0 -0
  411. /package/dist/{email-console-GqK6hgMJ.mjs → email-console-BYQp_5Qr.mjs} +0 -0
  412. /package/dist/{escape-CE7xOWzJ.mjs → escape-4_NNa6GR.mjs} +0 -0
  413. /package/dist/{experimental-workflows-BbxpWwBy.mjs → experimental-workflows-CPNiI2EL.mjs} +0 -0
  414. /package/dist/{forgeway-account-DcTxh3Gw.mjs → forgeway-account-7N-3srH-.mjs} +0 -0
  415. /package/dist/{hash-D2Rqd2J2.mjs → hash-qSYPMJ8w.mjs} +0 -0
  416. /package/dist/{media-url-D9kdpoLS.mjs → media-url-D5E1a47B.mjs} +0 -0
  417. /package/dist/{mime-BnVhH671.mjs → mime-FkfazULS.mjs} +0 -0
  418. /package/dist/{mode-BJwb_MgK.mjs → mode-B_m1BGFh.mjs} +0 -0
  419. /package/dist/{normalize-aTwryvvi.mjs → normalize-DrmlLn40.mjs} +0 -0
  420. /package/dist/{oauth-authority-P5YMSk2z.mjs → oauth-authority-DVlLFhsZ.mjs} +0 -0
  421. /package/dist/{oauth-state-store-CMqLdo4I.mjs → oauth-state-store-nf-78RbK.mjs} +0 -0
  422. /package/dist/{options-JiLWB6Bt.mjs → options-yFkLUuTw.mjs} +0 -0
  423. /package/dist/{output-7HDrYTSQ.mjs → output-B1GiXeT8.mjs} +0 -0
  424. /package/dist/{parser-kettsjWc.mjs → parser-CTlxybRo.mjs} +0 -0
  425. /package/dist/{passkey-config-DVzQ3dv3.mjs → passkey-config-BLon3ct9.mjs} +0 -0
  426. /package/dist/{placeholder-DJLP_HY7.d.mts → placeholder-DdZV3I8x.d.mts} +0 -0
  427. /package/dist/{portable-text-BE7nszX6.d.mts → portable-text-HNmwL-7L.d.mts} +0 -0
  428. /package/dist/{portable-text-tQhvPLf1.mjs → portable-text-p0Ojfpfo.mjs} +0 -0
  429. /package/dist/{process-cache-C19OA3am.mjs → process-cache-CMy5M80h.mjs} +0 -0
  430. /package/dist/{provider-loader-DERzBMUz.mjs → provider-loader-DlaT1usE.mjs} +0 -0
  431. /package/dist/{public-discovery-BGyhuD5U.mjs → public-discovery-BnqYofSK.mjs} +0 -0
  432. /package/dist/{public-url-DFXUU6Wp.mjs → public-url-BHjYWuaN.mjs} +0 -0
  433. /package/dist/{public-url-sR8SVmTt.mjs → public-url-GQygrYmg.mjs} +0 -0
  434. /package/dist/{redirect-BxacnBYL.mjs → redirect-CokmLN5o.mjs} +0 -0
  435. /package/dist/{request-cache-8_ifFzVw.mjs → request-cache-CizvDoxV.mjs} +0 -0
  436. /package/dist/{resolve-DEKC4qVa.mjs → resolve-BxFGSKYu.mjs} +0 -0
  437. /package/dist/{runtime-env-CPTzh0mZ.mjs → runtime-env-DpYGy4pT.mjs} +0 -0
  438. /package/dist/{scheduled-publish-BxdShRGs.d.mts → scheduled-publish-eCNGpvNm.d.mts} +0 -0
  439. /package/dist/{seo-contributions-LEFs1d7w.mjs → seo-contributions-ZKqrqsdT.mjs} +0 -0
  440. /package/dist/{service-kQ5ljRzX.mjs → service-DeX1PRNt.mjs} +0 -0
  441. /package/dist/{session-user-B8yYh0g5.mjs → session-user-B0XMp1GC.mjs} +0 -0
  442. /package/dist/{setup-nonce-B6A5Y1ea.mjs → setup-nonce-B9IO7PbK.mjs} +0 -0
  443. /package/dist/{sidecar-client-BwPhhz-F.mjs → sidecar-client-2hx5G46s.mjs} +0 -0
  444. /package/dist/{slugify-kD31VIv2.mjs → slugify-DvoaEPtL.mjs} +0 -0
  445. /package/dist/{ssrf-C9dyjU8O.mjs → ssrf-DcD8vn3E.mjs} +0 -0
  446. /package/dist/{stable-hash-B9Tbb2f_.mjs → stable-hash-9RDJgfif.mjs} +0 -0
  447. /package/dist/{status-Bjf_uSrW.mjs → status-B2xUokyJ.mjs} +0 -0
  448. /package/dist/{transport-BrU1aDY5.mjs → transport-BK_me2MZ.mjs} +0 -0
  449. /package/dist/{transport-CZbtxgKZ.d.mts → transport-CVU5rp7W.d.mts} +0 -0
  450. /package/dist/{types-DNBL-4Sn.mjs → types-B3Uq7Czg.mjs} +0 -0
  451. /package/dist/{types-DsJTXStN.d.mts → types-BJztoTbF.d.mts} +0 -0
  452. /package/dist/{types-COvyXIp7.mjs → types-BgUxCuwu.mjs} +0 -0
  453. /package/dist/{types-KFzuijKE.d.mts → types-C0heD9oI.d.mts} +0 -0
  454. /package/dist/{types-B03h5jt_.d.mts → types-DheoByey.d.mts} +0 -0
  455. /package/dist/{types-SlLXjRpg.d.mts → types-I5LHzk_M.d.mts} +0 -0
  456. /package/dist/{types-PLJ9hlhh.mjs → types-Nm0cMxEh.mjs} +0 -0
  457. /package/dist/{types-CtGSEKEJ.d.mts → types-PxxPTFSl.d.mts} +0 -0
  458. /package/dist/{url-DGG3hw_h.mjs → url-Coamqvs4.mjs} +0 -0
  459. /package/dist/{url-DUz3LbCs.mjs → url-dn4mFfCI.mjs} +0 -0
  460. /package/dist/{workers-build-BkmPhclj.mjs → workers-build-XNBt1wGF.mjs} +0 -0
@@ -1,5 +1,5 @@
1
- import { c as __exportAll } from "./runner-CRU7BXjr.mjs";
2
- import { r as encodeBase64, t as decodeBase64 } from "./base64-Cz-aU0X1.mjs";
1
+ import { c as __exportAll } from "./runner-CuG8o1uW.mjs";
2
+ import { r as encodeBase64, t as decodeBase64 } from "./base64-qvSs0Gxy.mjs";
3
3
 
4
4
  //#region src/database/repositories/types.ts
5
5
  var types_exports = /* @__PURE__ */ __exportAll({
@@ -2993,4 +2993,4 @@ interface RestaurantMenuOverrideTable {
2993
2993
  updated_at: Generated<string>;
2994
2994
  }
2995
2995
  //#endregion
2996
- export { RestaurantReservationExperienceTable as $, VenuePaymentRecordStatus as $t, RestaurantOperatingSettingsTable as A, VenueAvailabilityBlockTable as At, RestaurantPaymentFlow as B, VenueLocationMembershipTable as Bt, RestaurantMenuOverrideTable as C, RestaurantSpecialHoursTable as Ct, RestaurantModifierGroupTable as D, RestaurantZoneTable as Dt, RestaurantMenuTable as E, RestaurantTaxMode as Et, RestaurantOrderSource as F, VenueCancellationPolicyTable as Ft, RestaurantPriorityAlertTable as G, VenueOrderStatus as Gt, RestaurantPaymentTable as H, VenueMessageTable as Ht, RestaurantOrderStatus as I, VenueCancellationPolicyTierTable as It, RestaurantReservationAddonTable as J, VenueOutboxEventTable as Jt, RestaurantRefundTable as K, VenueOrderStatusHistoryTable as Kt, RestaurantOrderStatusHistoryTable as L, VenueConversationReadTable as Lt, RestaurantOrderItemTable as M, VenueBookingHoldTable as Mt, RestaurantOrderSequenceTable as N, VenueBookingMode as Nt, RestaurantModifierOptionTable as O, ReviewJobTable as Ot, RestaurantOrderSnapshotTable as P, VenueBookingPolicyTable as Pt, RestaurantReservationExperienceIncludedAddonTable as Q, VenuePaymentEventTable as Qt, RestaurantOrderTable as R, VenueConversationTable as Rt, RestaurantMenuLocationAssignmentTable as S, RestaurantServiceScope as St, RestaurantMenuSectionTable as T, RestaurantTableTable as Tt, RestaurantPriorityAlertDeliveryTable as U, VenueNotificationSettingsTable as Ut, RestaurantPaymentStatus as V, VenueLocationTable as Vt, RestaurantPriorityAlertOpportunityTable as W, VenueOrderCancellationSnapshotTable as Wt, RestaurantReservationDemandSettingsTable as X, VenuePaymentAllocationTable as Xt, RestaurantReservationBlockTable as Y, VenuePaymentAllocationStatus as Yt, RestaurantReservationExperienceAddonCategoryTable as Z, VenuePaymentCollection as Zt, RestaurantLocationMembershipTable as _, RestaurantReservationRequestTableAssignmentTable as _t, RestaurantCartHoldTable as a, VenueQuoteTable as an, RestaurantReservationHoldTable as at, RestaurantMenuItemTable as b, RestaurantReservationTable as bt, RestaurantDeliveryZoneTable as c, VenueRefundTable as cn, RestaurantReservationOfferTable as ct, RestaurantFulfilmentType as d, VenueReviewTable as dn, RestaurantReservationPromotionOperationTable as dt, VenuePaymentStatus as en, RestaurantReservationGiftCardAllocationTable as et, RestaurantGiftCardLedgerEntryTable as f, VenueSpaceLayoutTable as fn, RestaurantReservationPromotionTable as ft, RestaurantHoursTable as g, RestaurantReservationRequestTable as gt, RestaurantHoursOverrideTable as h, RestaurantReservationQuoteTable as ht, RestaurantCapacityOverrideTable as i, VenueQuoteStatus as in, RestaurantReservationHoldCommercialSelectionTable as it, RestaurantOrderItemModifierTable as j, VenueAvailabilityRuleTable as jt, RestaurantNotificationSettingsTable as k, UserTable as kt, RestaurantDineInSessionTable as l, VenueReviewInvitationTable as ln, RestaurantReservationPaymentPolicyTable as lt, RestaurantGuestAccessTable as m, VenueTable as mn, RestaurantReservationQuoteLineTable as mt, MediaTable as n, VenueQuoteLineTable as nn, RestaurantReservationHoldAddonOperationTable as nt, RestaurantClosureTable as o, VenueRatePlanTable as on, RestaurantReservationLanguageSettingsTable as ot, RestaurantGiftCardTable as p, VenueSpaceTable as pn, RestaurantReservationQuoteCheckoutTable as pt, RestaurantReservationAddonCategoryTable as q, VenueOrderTable as qt, RestaurantCapacityCounterTable as r, VenueQuoteRecordStatus as rn, RestaurantReservationHoldAddonTable as rt, RestaurantDeliverySettingsTable as s, VenueRecordStatus as sn, RestaurantReservationOfferLinkDeliveryTable as st, Database as t, VenuePaymentTable as tn, RestaurantReservationGiftCardOperationTable as tt, RestaurantDineInSettingsTable as u, VenueReviewResponseTable as un, RestaurantReservationPromotionAllocationTable as ut, RestaurantLocationTable as v, RestaurantReservationSettingsTable as vt, RestaurantMenuSectionItemTable as w, RestaurantTabRoundTable as wt, RestaurantMenuItemTranslationTable as x, RestaurantReservationTableAssignmentTable as xt, RestaurantMenuItemModifierGroupTable as y, RestaurantReservationStatus as yt, RestaurantOutboxDeliveryTable as z, VenueGuestAccessTable as zt };
2996
+ export { RestaurantReservationExperienceIncludedAddonTable as $, VenuePaymentEventTable as $t, RestaurantNotificationSettingsTable as A, UserTable as At, RestaurantOutboxDeliveryTable as B, VenueGuestAccessTable as Bt, RestaurantMenuLocationAssignmentTable as C, RestaurantServiceScope as Ct, RestaurantMenuTable as D, RestaurantTaxMode as Dt, RestaurantMenuSectionTable as E, RestaurantTableTable as Et, RestaurantOrderSnapshotTable as F, VenueBookingPolicyTable as Ft, RestaurantPriorityAlertOpportunityTable as G, VenueOrderCancellationSnapshotTable as Gt, RestaurantPaymentStatus as H, VenueLocationTable as Ht, RestaurantOrderSource as I, VenueCancellationPolicyTable as It, RestaurantReservationAddonCategoryTable as J, VenueOrderTable as Jt, RestaurantPriorityAlertTable as K, VenueOrderStatus as Kt, RestaurantOrderStatus as L, VenueCancellationPolicyTierTable as Lt, RestaurantOrderItemModifierTable as M, VenueAvailabilityRuleTable as Mt, RestaurantOrderItemTable as N, VenueBookingHoldTable as Nt, RestaurantModifierGroupTable as O, RestaurantZoneTable as Ot, RestaurantOrderSequenceTable as P, VenueBookingMode as Pt, RestaurantReservationExperienceAddonCategoryTable as Q, VenuePaymentCollection as Qt, RestaurantOrderStatusHistoryTable as R, VenueConversationReadTable as Rt, RestaurantMenuItemTranslationTable as S, RestaurantReservationTableAssignmentTable as St, RestaurantMenuSectionItemTable as T, RestaurantTabRoundTable as Tt, RestaurantPaymentTable as U, VenueMessageTable as Ut, RestaurantPaymentFlow as V, VenueLocationMembershipTable as Vt, RestaurantPriorityAlertDeliveryTable as W, VenueNotificationSettingsTable as Wt, RestaurantReservationBlockTable as X, VenuePaymentAllocationStatus as Xt, RestaurantReservationAddonTable as Y, VenueOutboxEventTable as Yt, RestaurantReservationDemandSettingsTable as Z, VenuePaymentAllocationTable as Zt, RestaurantHoursTable as _, RestaurantReservationRequestTable as _t, RestaurantCapacityOverrideTable as a, VenueQuoteStatus as an, RestaurantReservationHoldCommercialSelectionTable as at, RestaurantMenuItemModifierGroupTable as b, RestaurantReservationStatus as bt, RestaurantDeliverySettingsTable as c, VenueRecordStatus as cn, RestaurantReservationOfferLinkDeliveryTable as ct, RestaurantDineInSettingsTable as d, VenueReviewResponseTable as dn, RestaurantReservationPromotionAllocationTable as dt, VenuePaymentRecordStatus as en, RestaurantReservationExperienceTable as et, RestaurantFulfilmentType as f, VenueReviewTable as fn, RestaurantReservationPromotionOperationTable as ft, RestaurantHoursOverrideTable as g, RestaurantReservationQuoteTable as gt, RestaurantGuestAccessTable as h, VenueTable as hn, RestaurantReservationQuoteLineTable as ht, RestaurantCapacityCounterTable as i, VenueQuoteRecordStatus as in, RestaurantReservationHoldAddonTable as it, RestaurantOperatingSettingsTable as j, VenueAvailabilityBlockTable as jt, RestaurantModifierOptionTable as k, ReviewJobTable as kt, RestaurantDeliveryZoneTable as l, VenueRefundTable as ln, RestaurantReservationOfferTable as lt, RestaurantGiftCardTable as m, VenueSpaceTable as mn, RestaurantReservationQuoteCheckoutTable as mt, Database as n, VenuePaymentTable as nn, RestaurantReservationGiftCardOperationTable as nt, RestaurantCartHoldTable as o, VenueQuoteTable as on, RestaurantReservationHoldTable as ot, RestaurantGiftCardLedgerEntryTable as p, VenueSpaceLayoutTable as pn, RestaurantReservationPromotionTable as pt, RestaurantRefundTable as q, VenueOrderStatusHistoryTable as qt, MediaTable as r, VenueQuoteLineTable as rn, RestaurantReservationHoldAddonOperationTable as rt, RestaurantClosureTable as s, VenueRatePlanTable as sn, RestaurantReservationLanguageSettingsTable as st, ContentBylineTable as t, VenuePaymentStatus as tn, RestaurantReservationGiftCardAllocationTable as tt, RestaurantDineInSessionTable as u, VenueReviewInvitationTable as un, RestaurantReservationPaymentPolicyTable as ut, RestaurantLocationMembershipTable as v, RestaurantReservationRequestTableAssignmentTable as vt, RestaurantMenuOverrideTable as w, RestaurantSpecialHoursTable as wt, RestaurantMenuItemTable as x, RestaurantReservationTable as xt, RestaurantLocationTable as y, RestaurantReservationSettingsTable as yt, RestaurantOrderTable as z, VenueConversationTable as zt };
@@ -1,4 +1,4 @@
1
- import { c as CustomFieldValue } from "./types-SlLXjRpg.mjs";
1
+ import { c as CustomFieldValue } from "./types-I5LHzk_M.mjs";
2
2
 
3
3
  //#region src/database/repositories/types.d.ts
4
4
  interface CreateContentInput {
@@ -0,0 +1,83 @@
1
+ import { AtomicBatch } from "./database/batch.mjs";
2
+ import { RawBuilder } from "kysely";
3
+
4
+ //#region src/content-storage/types.d.ts
5
+ type ContentStorageValue = null | boolean | number | string | ContentStorageValue[] | {
6
+ [key: string]: ContentStorageValue;
7
+ };
8
+ interface ContentStoreDescriptor {
9
+ provider: "d1";
10
+ entrypoint: string;
11
+ config: Record<string, ContentStorageValue>;
12
+ /** Stable physical identity; changing it requires a storage migration. */
13
+ identity: string;
14
+ }
15
+ interface ContentPartitionContext {
16
+ collection: string;
17
+ id: string;
18
+ data: Readonly<Record<string, ContentStorageValue>>;
19
+ /** Immutable, server-loaded snapshots declared by the partition rule. */
20
+ dependencies?: Readonly<Record<string, ContentStorageValue>>;
21
+ }
22
+ interface ContentPartitionRule {
23
+ partitionBy: {
24
+ field: string;
25
+ } | {
26
+ entrypoint: string;
27
+ config?: ContentStorageValue;
28
+ taxonomies?: readonly string[];
29
+ references?: Record<string, {
30
+ collection: string;
31
+ taxonomies?: readonly string[];
32
+ }>;
33
+ };
34
+ stores: Record<string, string>;
35
+ }
36
+ interface ContentStorageConfig {
37
+ version: string;
38
+ stores: Record<string, ContentStoreDescriptor>;
39
+ rules: Record<string, ContentPartitionRule>;
40
+ }
41
+ interface ContentLocation {
42
+ collection: string;
43
+ entryId: string;
44
+ store: string;
45
+ partition: string;
46
+ routingVersion: string;
47
+ version: string;
48
+ digest: string;
49
+ }
50
+ interface ContentStorageCommand extends ContentLocation {
51
+ partitionEpoch?: number;
52
+ kind?: "content" | "revision";
53
+ /** Stable across retries, including after an unknown commit outcome. */
54
+ operationId: string;
55
+ principalId: string;
56
+ expectedVersion: string | null;
57
+ }
58
+ interface PreparedContentVersion {
59
+ command: ContentStorageCommand;
60
+ data: Record<string, ContentStorageValue>;
61
+ }
62
+ interface ContentStore {
63
+ /** Persist an immutable version. Repeating an identical request is safe. */
64
+ prepare(version: PreparedContentVersion): Promise<void>;
65
+ read(locations: readonly ContentLocation[], fields?: readonly string[]): Promise<PreparedContentVersion[]>;
66
+ }
67
+ interface ContentStorageActivation {
68
+ authorize(command: ContentStorageCommand): Promise<readonly RawBuilder<boolean>[]>;
69
+ /** Rebuild current authority and index checks on every attempt. */
70
+ prepare(command: ContentStorageCommand): Promise<AtomicBatch>;
71
+ }
72
+ type ContentPartitionResolver = (context: ContentPartitionContext, config: ContentStorageValue | undefined) => Promise<string> | string;
73
+ /** Prepared writes must not replay other business statements after this operation committed. */
74
+ declare class ContentStorageReplay extends Error {
75
+ readonly location: ContentLocation;
76
+ constructor(location: ContentLocation);
77
+ }
78
+ declare class ContentStorageError extends Error {
79
+ readonly code: "INVALID_CONFIG" | "INVALID_PARTITION" | "ROUTE_CHANGED" | "CONFLICT" | "UNAVAILABLE" | "FROZEN";
80
+ constructor(code: "INVALID_CONFIG" | "INVALID_PARTITION" | "ROUTE_CHANGED" | "CONFLICT" | "UNAVAILABLE" | "FROZEN", message: string);
81
+ }
82
+ //#endregion
83
+ export { ContentStorageActivation as a, ContentStorageError as c, ContentStore as d, ContentStoreDescriptor as f, ContentPartitionRule as i, ContentStorageReplay as l, ContentPartitionContext as n, ContentStorageCommand as o, PreparedContentVersion as p, ContentPartitionResolver as r, ContentStorageConfig as s, ContentLocation as t, ContentStorageValue as u };
@@ -1,19 +1,22 @@
1
- import { F as PageMetadataContribution, Ha as getCollectionInfo, Nn as getTaxonomyTerms, Tn as Widget, Tt as PublicPageContext, Vs as PublicComment, Wn as getMenu, Yi as getDinewayCollection, Zi as getEditMeta, _n as getWidgetArea, rr as getComments, sr as getSiteSettings, va as sanitizeHref } from "../types-D5JfvPvx.mjs";
2
- import "../types-B--VyN3n.mjs";
3
- import { _ as MediaValue, c as EmbedResult, l as ImageEmbed, s as EmbedOptions } from "../placeholder-DJLP_HY7.mjs";
4
- import "../runner-SoP1rphP.mjs";
5
- import "../index-BVGe04wF.mjs";
6
- import "../types-B03h5jt_.mjs";
7
- import "../adapters-C8nRpUuj.mjs";
8
- import "../scheduled-publish-BxdShRGs.mjs";
9
- import "../public-url-Ccv0Xmue.mjs";
10
- import { x as MediaReference } from "../validate-kmN2lS8H.mjs";
11
- import "../byline-fields-D-b9CWux.mjs";
12
- import "../types-DsJTXStN.mjs";
13
- import { t as getPublicOrigin } from "../public-url-CG5YbNqB.mjs";
14
- import { a as generateSiteSeoContributions, c as ResolvedPageMetadata, d as renderPageMetadata, f as resolvePageMetadata, i as generateBaseSeoContributions, l as createSha256CspHash, o as renderFragments } from "../jsonld-wRF85RXo.mjs";
1
+ import { F as PageMetadataContribution, Ha as getCollectionInfo, Nn as getTaxonomyTerms, Tn as Widget, Tt as PublicPageContext, Vs as PublicComment, Wn as getMenu, Yi as getDinewayCollection, Zi as getEditMeta, _n as getWidgetArea, rr as getComments, sr as getSiteSettings, va as sanitizeHref } from "../types-0gRlZbhN.mjs";
2
+ import "../types-Dpv_MvwZ.mjs";
3
+ import { _ as MediaValue, c as EmbedResult, l as ImageEmbed, s as EmbedOptions } from "../placeholder-DdZV3I8x.mjs";
4
+ import "../runner-DXQkyPeX.mjs";
5
+ import "../index-CLj17kW9.mjs";
6
+ import "../types-qOEot0UQ.mjs";
7
+ import "../types-DheoByey.mjs";
8
+ import "../adapters-lDnJjNDz.mjs";
9
+ import "../runtime-Bs2JMbb2.mjs";
10
+ import "../hook-events-BQw73jc7.mjs";
11
+ import "../scheduled-publish-eCNGpvNm.mjs";
12
+ import "../public-url-CEC1vj02.mjs";
13
+ import { x as MediaReference } from "../validate-DUscf6VG.mjs";
14
+ import "../byline-fields-B7pQ3LMi.mjs";
15
+ import "../types-BJztoTbF.mjs";
16
+ import { t as getPublicOrigin } from "../public-url-cMnsBUZB.mjs";
17
+ import { a as generateSiteSeoContributions, c as ResolvedPageMetadata, d as renderPageMetadata, f as resolvePageMetadata, i as generateBaseSeoContributions, l as createSha256CspHash, o as renderFragments } from "../jsonld-CPijKSUe.mjs";
15
18
  import { getPageRuntime } from "../page/index.mjs";
16
- import { t as getMediaProvider } from "../provider-loader-DT7vQ5FI.mjs";
19
+ import { t as getMediaProvider } from "../provider-loader-oLKm1AU8.mjs";
17
20
 
18
21
  //#region src/utils/sanitize.d.ts
19
22
  /**
@@ -1,30 +1,34 @@
1
1
  import "../d1-binding-DrLMBUxu.mjs";
2
2
  import "../dialect-helpers-C6xtO-Ui.mjs";
3
- import "../base64-Cz-aU0X1.mjs";
4
- import "../types-RFzE_V1M.mjs";
5
- import "../loader-Dp6zLmQm.mjs";
6
- import "../object-cache-mxCW-Rpt.mjs";
7
- import "../media-C5ba8fvI.mjs";
8
- import "../comment-DAQfUjqt.mjs";
9
- import "../options-JiLWB6Bt.mjs";
10
- import "../request-cache-8_ifFzVw.mjs";
11
- import "../content-refresh-BilzqcLt.mjs";
12
- import "../fts-manager-BrPpYtK0.mjs";
13
- import "../public-discovery-BGyhuD5U.mjs";
14
- import "../registry-Dclv9iHv.mjs";
15
- import { n as buildRenderMediaUrl } from "../url-DUz3LbCs.mjs";
16
- import { i as getSiteSettings } from "../settings-DsBzKeUQ.mjs";
17
- import { t as getCollectionInfo } from "../query-DLeahg3x.mjs";
18
- import "../resolve-DEKC4qVa.mjs";
19
- import { a as getTaxonomyTerms } from "../taxonomies-lWGNLKgn.mjs";
20
- import { n as sanitizeHref } from "../url-DGG3hw_h.mjs";
21
- import { r as getEditMeta, t as getDinewayCollection } from "../query-xspvw7Ui.mjs";
22
- import "../comment-reaction-Dp3G7UZc.mjs";
23
- import { i as getComments, t as getMenu } from "../menus-w5xwT-f5.mjs";
24
- import { t as getWidgetArea } from "../widgets-BOrDZdQ3.mjs";
25
- import { t as getMediaProvider } from "../provider-loader-DERzBMUz.mjs";
26
- import { n as getPublicOrigin } from "../public-url-sR8SVmTt.mjs";
27
- import { a as createSha256CspHash, c as resolvePageMetadata, g as absolutizeMediaUrl, n as generateSiteSeoContributions, o as escapeHtmlAttr, r as renderFragments, s as renderPageMetadata, t as generateBaseSeoContributions } from "../seo-contributions-LEFs1d7w.mjs";
3
+ import "../config-6R0bchVE.mjs";
4
+ import "../runtime-Ch5G-tnG.mjs";
5
+ import "../revisions-qNkae-Dq.mjs";
6
+ import "../runtime-env-DpYGy4pT.mjs";
7
+ import "../base64-qvSs0Gxy.mjs";
8
+ import "../types-BI3ULB3A.mjs";
9
+ import "../loader-Bq1aW12P.mjs";
10
+ import "../request-cache-CizvDoxV.mjs";
11
+ import "../object-cache-DyI1SOBK.mjs";
12
+ import "../media-BjH5OD-A.mjs";
13
+ import "../comment-BWDG1nQm.mjs";
14
+ import "../options-yFkLUuTw.mjs";
15
+ import "../content-refresh-D7wpVFJ_.mjs";
16
+ import "../fts-manager-Zu5ITic0.mjs";
17
+ import "../public-discovery-BnqYofSK.mjs";
18
+ import "../registry-B-HULaJI.mjs";
19
+ import { n as buildRenderMediaUrl } from "../url-dn4mFfCI.mjs";
20
+ import { i as getSiteSettings } from "../settings-DDOB3gW1.mjs";
21
+ import { t as getCollectionInfo } from "../query-CP9M8xxX.mjs";
22
+ import "../resolve-BxFGSKYu.mjs";
23
+ import { a as getTaxonomyTerms } from "../taxonomies-BI26Bk-M.mjs";
24
+ import { n as sanitizeHref } from "../url-Coamqvs4.mjs";
25
+ import { r as getEditMeta, t as getDinewayCollection } from "../query-CLWTwcTr.mjs";
26
+ import "../comment-reaction-B7pLTlQ7.mjs";
27
+ import { i as getComments, t as getMenu } from "../menus-BXkfzNR1.mjs";
28
+ import { t as getWidgetArea } from "../widgets-B99mnftw.mjs";
29
+ import { t as getMediaProvider } from "../provider-loader-DlaT1usE.mjs";
30
+ import { n as getPublicOrigin } from "../public-url-GQygrYmg.mjs";
31
+ import { a as createSha256CspHash, c as resolvePageMetadata, g as absolutizeMediaUrl, n as generateSiteSeoContributions, o as escapeHtmlAttr, r as renderFragments, s as renderPageMetadata, t as generateBaseSeoContributions } from "../seo-contributions-ZKqrqsdT.mjs";
28
32
  import { getPageRuntime } from "../page/index.mjs";
29
33
  import sanitizeHtml from "sanitize-html";
30
34
 
@@ -1,5 +1,5 @@
1
- import { i as encodeCursor, r as decodeCursor } from "./types-RFzE_V1M.mjs";
2
- import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-C8vSD_5L.mjs";
1
+ import { i as encodeCursor, r as decodeCursor } from "./types-BI3ULB3A.mjs";
2
+ import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-Bb56aCtB.mjs";
3
3
  import { ulid } from "ulidx";
4
4
 
5
5
  //#region src/database/repositories/user.ts
@@ -1,5 +1,5 @@
1
- import { n as slugify } from "./slugify-kD31VIv2.mjs";
2
- import { o as RESERVED_FIELD_SLUGS } from "./types-COvyXIp7.mjs";
1
+ import { o as RESERVED_FIELD_SLUGS } from "./types-BgUxCuwu.mjs";
2
+ import { n as slugify } from "./slugify-DvoaEPtL.mjs";
3
3
  import mime from "mime/lite";
4
4
 
5
5
  //#region src/import/utils.ts
@@ -1,6 +1,6 @@
1
- import { c as __exportAll } from "./runner-CRU7BXjr.mjs";
2
- import { n as FIELD_TYPES } from "./types-COvyXIp7.mjs";
3
- import { r as publicDiscoveryRulesSchema } from "./public-discovery-BGyhuD5U.mjs";
1
+ import { c as __exportAll } from "./runner-CuG8o1uW.mjs";
2
+ import { n as FIELD_TYPES } from "./types-BgUxCuwu.mjs";
3
+ import { r as publicDiscoveryRulesSchema } from "./public-discovery-BnqYofSK.mjs";
4
4
 
5
5
  //#region src/seed/validate.ts
6
6
  /**
@@ -1,6 +1,6 @@
1
- import { d as FieldType, m as PublicDiscoveryRules } from "./types-SlLXjRpg.mjs";
2
- import { t as Database } from "./types-B--VyN3n.mjs";
3
- import { d as Storage } from "./types-KFzuijKE.mjs";
1
+ import { d as FieldType, m as PublicDiscoveryRules } from "./types-I5LHzk_M.mjs";
2
+ import { n as Database } from "./types-Dpv_MvwZ.mjs";
3
+ import { d as Storage } from "./types-C0heD9oI.mjs";
4
4
  import { Kysely } from "kysely";
5
5
 
6
6
  //#region src/settings/types.d.ts
@@ -0,0 +1,6 @@
1
+ //#region src/version.ts
2
+ const VERSION = "0.2.42";
3
+ const COMMIT = "255366038";
4
+
5
+ //#endregion
6
+ export { VERSION as n, COMMIT as t };
@@ -0,0 +1,208 @@
1
+ import { atomicBatch, ensureAtomicBatchSchema, rowUnchanged } from "./database/batch.mjs";
2
+ import { n as contentDigest, o as ContentStorageError, t as canonicalContentJson } from "./config-6R0bchVE.mjs";
3
+ import { sql } from "kysely";
4
+ import { z } from "zod";
5
+
6
+ //#region src/content-storage/version-store.ts
7
+ const CONTENT_NAME = /^[a-z][a-z0-9_]{0,62}$/;
8
+ const locationSchema = z.object({
9
+ collection: z.string().regex(CONTENT_NAME),
10
+ entryId: z.string().min(1).max(128),
11
+ store: z.string().min(1).max(63),
12
+ partition: z.string().min(1).max(256),
13
+ routingVersion: z.string().min(1).max(128),
14
+ version: z.string().min(1).max(128),
15
+ digest: z.string().regex(/^[a-f0-9]{64}$/)
16
+ });
17
+ const contentStoreCollectionSchema = z.object({ fields: z.record(z.string().regex(/^[a-z][a-z0-9_]{0,62}$/).refine((name) => name !== "id"), z.enum([
18
+ "text",
19
+ "integer",
20
+ "real",
21
+ "json"
22
+ ])).refine((fields) => Object.keys(fields).length <= 98, "Content stores support at most 98 data columns.") }).strict();
23
+ const storedMetadata = z.object({
24
+ fields: z.record(z.string(), z.enum([
25
+ "text",
26
+ "integer",
27
+ "real",
28
+ "json",
29
+ "boolean"
30
+ ])),
31
+ extra: z.record(z.string(), z.json())
32
+ }).strict();
33
+ const contentVersionSchema = z.object({
34
+ command: locationSchema.extend({
35
+ partitionEpoch: z.number().int().positive().optional(),
36
+ kind: z.enum(["content", "revision"]).optional(),
37
+ operationId: z.string().min(1).max(128),
38
+ principalId: z.string().min(1).max(128),
39
+ expectedVersion: z.string().min(1).max(128).nullable()
40
+ }).strict(),
41
+ data: z.record(z.string(), z.json())
42
+ }).strict();
43
+ const contentStoreRequestSchema = z.discriminatedUnion("action", [z.object({
44
+ action: z.literal("prepare"),
45
+ value: contentVersionSchema
46
+ }).strict(), z.object({
47
+ action: z.literal("read"),
48
+ locations: z.array(locationSchema.strict()).min(1).max(16),
49
+ fields: z.array(z.string().regex(CONTENT_NAME)).max(98).optional()
50
+ }).strict()]);
51
+ /** Install on content databases explicitly; never called from a content request. */
52
+ async function installContentVersionStore(db, identity, collections, options = {}) {
53
+ if (!identity || identity.length > 128) throw new ContentStorageError("INVALID_CONFIG", "A physical content database identity is required.");
54
+ await ensureAtomicBatchSchema(db);
55
+ await db.schema.createTable("_dineway_content_store_identity").ifNotExists().addColumn("id", "integer", (c) => c.primaryKey()).addColumn("identity", "text", (c) => c.notNull()).addColumn("schema_version", "integer", (c) => c.notNull()).execute();
56
+ await atomicBatch(db, {
57
+ checks: [sql`NOT EXISTS (SELECT 1 FROM _dineway_content_store_identity WHERE id = 1 AND (identity <> ${identity} OR schema_version <> 1))`],
58
+ statements: [sql`INSERT INTO _dineway_content_store_identity (id, identity, schema_version) VALUES (1, ${identity}, 1) ON CONFLICT (id) DO NOTHING`.compile(db)]
59
+ });
60
+ await db.schema.createTable("_dineway_content_versions").ifNotExists().addColumn("collection", "text", (c) => c.notNull()).addColumn("entry_id", "text", (c) => c.notNull()).addColumn("version", "text", (c) => c.notNull()).addColumn("operation_id", "text", (c) => c.notNull().unique()).addColumn("digest", "text", (c) => c.notNull()).addColumn("command", "text", (c) => c.notNull()).addColumn("data", "text", (c) => c.notNull()).addColumn("created_at", "text", (c) => c.notNull()).addPrimaryKeyConstraint("pk_content_versions", [
61
+ "collection",
62
+ "entry_id",
63
+ "version"
64
+ ]).execute();
65
+ await db.schema.createIndex("idx_content_versions_created_at").ifNotExists().on("_dineway_content_versions").column("created_at").execute();
66
+ await db.schema.createTable("_dineway_content_store_collections").ifNotExists().addColumn("collection", "text", (c) => c.primaryKey()).addColumn("schema", "text", (c) => c.notNull()).addColumn("physical_schema", "text", (c) => c.notNull()).addColumn("digest", "text", (c) => c.notNull()).execute();
67
+ await db.schema.createTable("_dineway_content_store_schema_history").ifNotExists().addColumn("collection", "text", (c) => c.notNull()).addColumn("digest", "text", (c) => c.notNull()).addColumn("schema", "text", (c) => c.notNull()).addColumn("installed_at", "text", (c) => c.notNull()).addPrimaryKeyConstraint("pk_content_store_schema_history", ["collection", "digest"]).execute();
68
+ for (const [collection, input] of Object.entries(collections)) {
69
+ if (!CONTENT_NAME.test(collection)) throw new ContentStorageError("INVALID_CONFIG", "Invalid content type name.");
70
+ const definition = contentStoreCollectionSchema.parse(input);
71
+ const serialized = canonicalContentJson(definition);
72
+ const digest = await contentDigest(definition);
73
+ const previous = (await sql`SELECT collection,schema,physical_schema,digest FROM _dineway_content_store_collections WHERE collection=${collection}`.execute(db)).rows[0];
74
+ if (previous && previous.digest !== digest && !options.upgrade) throw new ContentStorageError("INVALID_CONFIG", "Content store schema changes require the explicit schema upgrade command.");
75
+ const physical = previous ? contentStoreCollectionSchema.parse(JSON.parse(previous.physical_schema)) : { fields: {} };
76
+ const added = Object.entries(definition.fields).filter(([field]) => !Object.hasOwn(physical.fields, field));
77
+ for (const [field, type] of Object.entries(definition.fields)) if (Object.hasOwn(physical.fields, field) && physical.fields[field] !== type) throw new ContentStorageError("INVALID_CONFIG", `Changing the stored type of ${collection}.${field} requires a separate data migration. Use a new field name.`);
78
+ const nextPhysical = contentStoreCollectionSchema.parse({ fields: {
79
+ ...physical.fields,
80
+ ...definition.fields
81
+ } });
82
+ const statements = [];
83
+ if (previous) for (const [field, type] of added) statements.push(db.schema.alterTable(`ec_${collection}`).addColumn(field, type === "json" ? "text" : type).compile());
84
+ else {
85
+ let table = db.schema.createTable(`ec_${collection}`).addColumn("id", "text", (c) => c.notNull()).addColumn("_dineway_storage_version", "text", (c) => c.notNull());
86
+ for (const [field, type] of Object.entries(definition.fields)) table = table.addColumn(field, type === "json" ? "text" : type);
87
+ statements.push(table.addPrimaryKeyConstraint(`pk_ec_${collection}_version`, ["id", "_dineway_storage_version"]).compile());
88
+ }
89
+ statements.push(sql`INSERT INTO _dineway_content_store_collections (collection,schema,physical_schema,digest) VALUES (${collection},${serialized},${canonicalContentJson(nextPhysical)},${digest}) ON CONFLICT (collection) DO UPDATE SET schema=excluded.schema,physical_schema=excluded.physical_schema,digest=excluded.digest`.compile(db), sql`INSERT INTO _dineway_content_store_schema_history (collection,digest,schema,installed_at) VALUES (${collection},${digest},${serialized},${(/* @__PURE__ */ new Date()).toISOString()}) ON CONFLICT (collection,digest) DO NOTHING`.compile(db));
90
+ await atomicBatch(db, {
91
+ checks: [previous ? rowUnchanged("_dineway_content_store_collections", previous) : sql`NOT EXISTS (SELECT 1 FROM _dineway_content_store_collections WHERE collection=${collection})`],
92
+ statements
93
+ });
94
+ }
95
+ }
96
+ /** Validate the physical binding and deployed schema once at request entry. */
97
+ async function assertContentVersionStore(db, identity) {
98
+ const result = await sql`SELECT identity, schema_version FROM _dineway_content_store_identity WHERE id = 1`.execute(db);
99
+ if (result.rows[0]?.identity !== identity || result.rows[0]?.schema_version !== 1) throw new ContentStorageError("UNAVAILABLE", "Content database identity or schema does not match the deployed content service.");
100
+ }
101
+ /** Immutable staging versions; only the primary directory can make one visible. */
102
+ var ContentVersionStore = class {
103
+ schemas = /* @__PURE__ */ new Map();
104
+ constructor(db, name, routingVersion) {
105
+ this.db = db;
106
+ this.name = name;
107
+ this.routingVersion = routingVersion;
108
+ }
109
+ async prepare(input) {
110
+ const { command, data } = contentVersionSchema.parse(input);
111
+ this.assertTarget(command, true);
112
+ const serialized = canonicalContentJson(command);
113
+ const payload = canonicalContentJson(data);
114
+ const definition = await this.schema(command.collection);
115
+ const fields = {};
116
+ const extra = {};
117
+ const columns = ["id", "_dineway_storage_version"];
118
+ const values = [command.entryId, command.version];
119
+ for (const [field, value] of Object.entries(data)) {
120
+ if (field.startsWith("_")) {
121
+ extra[field] = value;
122
+ continue;
123
+ }
124
+ const type = definition.fields[field];
125
+ if (!type && command.kind === "revision") {
126
+ extra[field] = value;
127
+ continue;
128
+ }
129
+ if (!type) throw new ContentStorageError("INVALID_CONFIG", `Content field ${field} is absent from the deployed store schema.`);
130
+ let encoded = value;
131
+ let codec = type;
132
+ if (value !== null) {
133
+ if (type === "json") encoded = canonicalContentJson(value);
134
+ else if (type === "integer" && typeof value === "boolean") {
135
+ encoded = Number(value);
136
+ codec = "boolean";
137
+ } else if (type === "text" ? typeof value !== "string" : typeof value !== "number" || !Number.isFinite(value) || type === "integer" && !Number.isSafeInteger(value)) throw new ContentStorageError("CONFLICT", `Content field ${field} does not match its deployed column type.`);
138
+ }
139
+ fields[field] = codec;
140
+ columns.push(field);
141
+ values.push(encoded);
142
+ }
143
+ const metadata = canonicalContentJson({
144
+ fields,
145
+ extra
146
+ });
147
+ if (await contentDigest(data) !== command.digest) throw new ContentStorageError("CONFLICT", "The prepared content digest does not match.");
148
+ if (new TextEncoder().encode(payload + serialized + command.collection + command.entryId + command.version + command.operationId + command.digest).length > 1999e3) throw new ContentStorageError("CONFLICT", "The content version exceeds the D1 row size limit; no data was truncated.");
149
+ await atomicBatch(this.db, {
150
+ checks: [sql`NOT EXISTS (SELECT 1 FROM _dineway_content_versions WHERE operation_id = ${command.operationId} AND command <> ${serialized})`, sql`NOT EXISTS (SELECT 1 FROM _dineway_content_versions WHERE collection = ${command.collection} AND entry_id = ${command.entryId} AND version = ${command.version} AND (command <> ${serialized} OR data <> ${metadata}))`],
151
+ statements: [sql`INSERT INTO ${sql.table(`ec_${command.collection}`)} (${sql.join(columns.map((column) => sql.ref(column)))}) VALUES (${sql.join(values)}) ON CONFLICT (id, _dineway_storage_version) DO NOTHING`.compile(this.db), sql`INSERT INTO _dineway_content_versions (collection, entry_id, version, operation_id, digest, command, data, created_at) VALUES (${command.collection}, ${command.entryId}, ${command.version}, ${command.operationId}, ${command.digest}, ${serialized}, ${metadata}, ${(/* @__PURE__ */ new Date()).toISOString()}) ON CONFLICT (collection, entry_id, version) DO NOTHING`.compile(this.db)]
152
+ });
153
+ }
154
+ async read(locations, fields) {
155
+ if (!locations.length) return [];
156
+ if (locations.length > 16) throw new ContentStorageError("CONFLICT", "Content reads must be split into batches of at most 16 versions.");
157
+ for (const location of locations) this.assertTarget(locationSchema.parse(location));
158
+ const versions = [];
159
+ for (const collection of new Set(locations.map((location) => location.collection))) {
160
+ const schema = await this.schema(collection);
161
+ const columns = fields?.filter((field) => Object.hasOwn(schema.physicalFields, field));
162
+ const clauses = locations.filter((location) => location.collection === collection).map((location) => sql`(v.entry_id = ${location.entryId} AND v.version = ${location.version} AND v.digest = ${location.digest})`);
163
+ const result = await sql`SELECT ${columns ? sql.join([
164
+ ...columns.map((field) => sql.ref(`c.${field}`)),
165
+ sql`v.command AS _command`,
166
+ sql`v.data AS _metadata`
167
+ ]) : sql`c.*, v.command AS _command, v.data AS _metadata`} FROM _dineway_content_versions v JOIN ${sql.table(`ec_${collection}`)} c ON c.id = v.entry_id AND c._dineway_storage_version = v.version WHERE v.collection = ${collection} AND (${sql.join(clauses, sql` OR `)})`.execute(this.db);
168
+ for (const row of result.rows) {
169
+ const metadata = storedMetadata.parse(JSON.parse(row._metadata));
170
+ const data = fields ? Object.fromEntries(Object.entries(metadata.extra).filter(([field]) => fields.includes(field))) : { ...metadata.extra };
171
+ for (const [field, type] of Object.entries(metadata.fields)) {
172
+ if (fields && !fields.includes(field)) continue;
173
+ if (!Object.hasOwn(row, field)) throw new ContentStorageError("UNAVAILABLE", "A stored content field is missing from its physical table.");
174
+ const value = row[field];
175
+ data[field] = value === null ? null : type === "json" ? JSON.parse(z.string().parse(value)) : type === "boolean" ? value === 1 : value;
176
+ }
177
+ versions.push(contentVersionSchema.parse({
178
+ command: JSON.parse(row._command),
179
+ data
180
+ }));
181
+ }
182
+ }
183
+ return versions;
184
+ }
185
+ schema(collection) {
186
+ let pending = this.schemas.get(collection);
187
+ if (!pending) {
188
+ pending = sql`SELECT schema,physical_schema, digest FROM _dineway_content_store_collections WHERE collection = ${collection}`.execute(this.db).then(async (result) => {
189
+ const row = result.rows[0];
190
+ if (!row) throw new ContentStorageError("INVALID_CONFIG", "Content type schema is not installed in this store.");
191
+ const definition = contentStoreCollectionSchema.parse(JSON.parse(row.schema));
192
+ if (await contentDigest(definition) !== row.digest) throw new ContentStorageError("UNAVAILABLE", "Content store schema fingerprint does not match.");
193
+ return {
194
+ ...definition,
195
+ physicalFields: contentStoreCollectionSchema.parse(JSON.parse(row.physical_schema)).fields
196
+ };
197
+ });
198
+ this.schemas.set(collection, pending);
199
+ }
200
+ return pending;
201
+ }
202
+ assertTarget(location, write = false) {
203
+ if (location.store !== this.name || write && location.routingVersion !== this.routingVersion) throw new ContentStorageError("ROUTE_CHANGED", "The content request targets a different store or routing version.");
204
+ }
205
+ };
206
+
207
+ //#endregion
208
+ export { contentVersionSchema as a, contentStoreRequestSchema as i, assertContentVersionStore as n, installContentVersionStore as o, contentStoreCollectionSchema as r, ContentVersionStore as t };
@@ -0,0 +1,98 @@
1
+ import { d as ContentStore, n as ContentPartitionContext, p as PreparedContentVersion, r as ContentPartitionResolver, s as ContentStorageConfig, t as ContentLocation } from "./types-qOEot0UQ.mjs";
2
+ import { Kysely } from "kysely";
3
+ import { z } from "zod";
4
+
5
+ //#region src/content-storage/config.d.ts
6
+ declare function canonicalContentJson(value: unknown): string;
7
+ declare function contentDigest(value: unknown): Promise<string>;
8
+ declare function validateContentStorage(config: ContentStorageConfig): void;
9
+ declare function resolveContentPartition(config: ContentStorageConfig, context: ContentPartitionContext, resolvers?: Readonly<Record<string, ContentPartitionResolver>>): Promise<{
10
+ store: string;
11
+ partition: string;
12
+ } | null>;
13
+ //#endregion
14
+ //#region src/content-storage/version-store.d.ts
15
+ declare const contentStoreCollectionSchema: z.ZodObject<{
16
+ fields: z.ZodRecord<z.ZodString, z.ZodEnum<{
17
+ json: "json";
18
+ text: "text";
19
+ integer: "integer";
20
+ real: "real";
21
+ }>>;
22
+ }, z.core.$strict>;
23
+ type ContentStoreCollection = z.infer<typeof contentStoreCollectionSchema>;
24
+ declare const contentVersionSchema: z.ZodObject<{
25
+ command: z.ZodObject<{
26
+ collection: z.ZodString;
27
+ entryId: z.ZodString;
28
+ store: z.ZodString;
29
+ partition: z.ZodString;
30
+ routingVersion: z.ZodString;
31
+ version: z.ZodString;
32
+ digest: z.ZodString;
33
+ partitionEpoch: z.ZodOptional<z.ZodNumber>;
34
+ kind: z.ZodOptional<z.ZodEnum<{
35
+ content: "content";
36
+ revision: "revision";
37
+ }>>;
38
+ operationId: z.ZodString;
39
+ principalId: z.ZodString;
40
+ expectedVersion: z.ZodNullable<z.ZodString>;
41
+ }, z.core.$strict>;
42
+ data: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
43
+ }, z.core.$strict>;
44
+ declare const contentStoreRequestSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
45
+ action: z.ZodLiteral<"prepare">;
46
+ value: z.ZodObject<{
47
+ command: z.ZodObject<{
48
+ collection: z.ZodString;
49
+ entryId: z.ZodString;
50
+ store: z.ZodString;
51
+ partition: z.ZodString;
52
+ routingVersion: z.ZodString;
53
+ version: z.ZodString;
54
+ digest: z.ZodString;
55
+ partitionEpoch: z.ZodOptional<z.ZodNumber>;
56
+ kind: z.ZodOptional<z.ZodEnum<{
57
+ content: "content";
58
+ revision: "revision";
59
+ }>>;
60
+ operationId: z.ZodString;
61
+ principalId: z.ZodString;
62
+ expectedVersion: z.ZodNullable<z.ZodString>;
63
+ }, z.core.$strict>;
64
+ data: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
65
+ }, z.core.$strict>;
66
+ }, z.core.$strict>, z.ZodObject<{
67
+ action: z.ZodLiteral<"read">;
68
+ locations: z.ZodArray<z.ZodObject<{
69
+ collection: z.ZodString;
70
+ entryId: z.ZodString;
71
+ store: z.ZodString;
72
+ partition: z.ZodString;
73
+ routingVersion: z.ZodString;
74
+ version: z.ZodString;
75
+ digest: z.ZodString;
76
+ }, z.core.$strict>>;
77
+ fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
78
+ }, z.core.$strict>], "action">;
79
+ /** Install on content databases explicitly; never called from a content request. */
80
+ declare function installContentVersionStore<DB>(db: Kysely<DB>, identity: string, collections: Record<string, ContentStoreCollection>, options?: {
81
+ upgrade?: boolean;
82
+ }): Promise<void>;
83
+ /** Validate the physical binding and deployed schema once at request entry. */
84
+ declare function assertContentVersionStore<DB>(db: Kysely<DB>, identity: string): Promise<void>;
85
+ /** Immutable staging versions; only the primary directory can make one visible. */
86
+ declare class ContentVersionStore<DB> implements ContentStore {
87
+ private readonly db;
88
+ private readonly name;
89
+ private readonly routingVersion;
90
+ private readonly schemas;
91
+ constructor(db: Kysely<DB>, name: string, routingVersion: string);
92
+ prepare(input: PreparedContentVersion): Promise<void>;
93
+ read(locations: readonly ContentLocation[], fields?: readonly string[]): Promise<PreparedContentVersion[]>;
94
+ private schema;
95
+ private assertTarget;
96
+ }
97
+ //#endregion
98
+ export { contentStoreRequestSchema as a, canonicalContentJson as c, validateContentStorage as d, contentStoreCollectionSchema as i, contentDigest as l, ContentVersionStore as n, contentVersionSchema as o, assertContentVersionStore as r, installContentVersionStore as s, ContentStoreCollection as t, resolveContentPartition as u };
@@ -1,6 +1,6 @@
1
- import { r as getDb } from "./loader-Dp6zLmQm.mjs";
2
- import { r as requestCached } from "./request-cache-8_ifFzVw.mjs";
3
- import { t as getWidgetComponents$1 } from "./components-rFN8NH3N.mjs";
1
+ import { r as getDb } from "./loader-Bq1aW12P.mjs";
2
+ import { r as requestCached } from "./request-cache-CizvDoxV.mjs";
3
+ import { t as getWidgetComponents$1 } from "./components-JA6tFHmE.mjs";
4
4
 
5
5
  //#region src/widgets/index.ts
6
6
  /**
@@ -1,4 +1,4 @@
1
- import { a as RESERVED_COLLECTION_SLUGS } from "./types-COvyXIp7.mjs";
1
+ import { a as RESERVED_COLLECTION_SLUGS } from "./types-BgUxCuwu.mjs";
2
2
 
3
3
  //#region src/import/wordpress-slugs.ts
4
4
  const INVALID_SLUG_CHARS = /[^a-z0-9_]/g;