dineway 0.2.31 → 0.2.32

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 (431) hide show
  1. package/NOTICE +5 -0
  2. package/dist/{activity-DTJtloA1.mjs → activity-CfryM8jO.mjs} +2 -2
  3. package/dist/{activity-events-C1U22VYR.mjs → activity-events-BVo9rMUz.mjs} +1 -1
  4. package/dist/{allowed-origins-C-7CVG6J.mjs → allowed-origins-DtBQa4JR.mjs} +1 -1
  5. package/dist/api/route-utils.d.mts +10 -10
  6. package/dist/api/route-utils.mjs +14 -14
  7. package/dist/api/schemas/index.d.mts +1 -1
  8. package/dist/api/schemas/index.mjs +4 -4
  9. package/dist/{api-CBL6bNU1.mjs → api-DF92r_un.mjs} +19 -19
  10. package/dist/{api-tokens-d43xs7C1.mjs → api-tokens-CSomx-l3.mjs} +1 -1
  11. package/dist/{apply-D5i71kfi.mjs → apply-Bs2jXsms.mjs} +19 -19
  12. package/dist/astro/index.d.mts +11 -11
  13. package/dist/astro/index.mjs +32 -4
  14. package/dist/astro/middleware/auth.d.mts +9 -9
  15. package/dist/astro/middleware/auth.mjs +33 -8
  16. package/dist/astro/middleware/redirect.mjs +5 -5
  17. package/dist/astro/middleware/request-context.mjs +2 -2
  18. package/dist/astro/middleware/seed.d.mts +1 -1
  19. package/dist/astro/middleware/seed.mjs +1 -1
  20. package/dist/astro/middleware/setup.mjs +1 -1
  21. package/dist/astro/middleware.mjs +150 -108
  22. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +6 -6
  23. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +6 -6
  24. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +4 -4
  25. package/dist/astro/routes/api/admin/api-tokens/index.mjs +6 -6
  26. package/dist/astro/routes/api/admin/briefing.mjs +18 -18
  27. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +4 -4
  28. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +9 -9
  29. package/dist/astro/routes/api/admin/byline-fields/index.mjs +9 -9
  30. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +9 -9
  31. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +16 -16
  32. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +16 -16
  33. package/dist/astro/routes/api/admin/bylines/index.mjs +16 -16
  34. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +12 -12
  35. package/dist/astro/routes/api/admin/comments/_id_.mjs +5 -5
  36. package/dist/astro/routes/api/admin/comments/bulk.mjs +10 -10
  37. package/dist/astro/routes/api/admin/comments/counts.mjs +5 -5
  38. package/dist/astro/routes/api/admin/comments/index.mjs +10 -10
  39. package/dist/astro/routes/api/admin/context/_id_/history.mjs +25 -25
  40. package/dist/astro/routes/api/admin/context/_id_/index.mjs +25 -25
  41. package/dist/astro/routes/api/admin/context/_id_/review.mjs +30 -30
  42. package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +30 -30
  43. package/dist/astro/routes/api/admin/context/diff.mjs +29 -29
  44. package/dist/astro/routes/api/admin/context/index.mjs +30 -30
  45. package/dist/astro/routes/api/admin/context/stale.mjs +29 -29
  46. package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +25 -25
  47. package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +29 -29
  48. package/dist/astro/routes/api/admin/hitl-requests/index.mjs +29 -29
  49. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +26 -26
  50. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +2 -2
  51. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +6 -6
  52. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +6 -6
  53. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +60 -56
  54. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +60 -56
  55. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +52 -48
  56. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +59 -55
  57. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +59 -55
  58. package/dist/astro/routes/api/admin/plugins/index.mjs +52 -48
  59. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +2 -2
  60. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +52 -48
  61. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +59 -55
  62. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +52 -48
  63. package/dist/astro/routes/api/admin/plugins/updates.mjs +52 -48
  64. package/dist/astro/routes/api/admin/review-requests/_id_/image.d.mts +7 -0
  65. package/dist/astro/routes/api/admin/review-requests/_id_/image.mjs +62 -0
  66. package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +24 -5
  67. package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +38 -30
  68. package/dist/astro/routes/api/admin/review-requests/_id_/revoke.d.mts +7 -0
  69. package/dist/astro/routes/api/admin/review-requests/_id_/revoke.mjs +35 -0
  70. package/dist/astro/routes/api/admin/review-requests/index.mjs +35 -30
  71. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +52 -48
  72. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +2 -2
  73. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +52 -48
  74. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +2 -2
  75. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +1 -1
  76. package/dist/astro/routes/api/admin/users/_id_/index.mjs +7 -7
  77. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +2 -2
  78. package/dist/astro/routes/api/admin/users/index.mjs +6 -6
  79. package/dist/astro/routes/api/auth/dev-bypass.mjs +4 -4
  80. package/dist/astro/routes/api/auth/invite/accept.mjs +1 -1
  81. package/dist/astro/routes/api/auth/invite/complete.mjs +10 -10
  82. package/dist/astro/routes/api/auth/invite/index.mjs +7 -7
  83. package/dist/astro/routes/api/auth/invite/register-options.mjs +9 -9
  84. package/dist/astro/routes/api/auth/logout.mjs +2 -2
  85. package/dist/astro/routes/api/auth/magic-link/send.mjs +9 -9
  86. package/dist/astro/routes/api/auth/magic-link/verify.mjs +2 -2
  87. package/dist/astro/routes/api/auth/me.mjs +8 -8
  88. package/dist/astro/routes/api/auth/mode.mjs +1 -1
  89. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +2 -2
  90. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
  91. package/dist/astro/routes/api/auth/passkey/_id_.mjs +6 -6
  92. package/dist/astro/routes/api/auth/passkey/index.mjs +1 -1
  93. package/dist/astro/routes/api/auth/passkey/options.mjs +11 -11
  94. package/dist/astro/routes/api/auth/passkey/register/options.mjs +9 -9
  95. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +10 -10
  96. package/dist/astro/routes/api/auth/passkey/verify.mjs +10 -10
  97. package/dist/astro/routes/api/auth/setup-token/index.mjs +5 -5
  98. package/dist/astro/routes/api/auth/setup-token/verify.mjs +2 -2
  99. package/dist/astro/routes/api/auth/signup/complete.mjs +10 -10
  100. package/dist/astro/routes/api/auth/signup/request.mjs +9 -9
  101. package/dist/astro/routes/api/auth/signup/verify.mjs +1 -1
  102. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +13 -13
  103. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +12 -12
  104. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +2 -2
  105. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +6 -6
  106. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +6 -6
  107. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +6 -6
  108. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +15 -15
  109. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +17 -17
  110. package/dist/astro/routes/api/content/_collection_/_id_/release-readiness.mjs +8 -8
  111. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +6 -6
  112. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +2 -2
  113. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +17 -17
  114. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +14 -14
  115. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +2 -2
  116. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +6 -6
  117. package/dist/astro/routes/api/content/_collection_/_id_.mjs +11 -11
  118. package/dist/astro/routes/api/content/_collection_/authors.mjs +2 -2
  119. package/dist/astro/routes/api/content/_collection_/index.mjs +11 -11
  120. package/dist/astro/routes/api/content/_collection_/trash.mjs +7 -7
  121. package/dist/astro/routes/api/dashboard.mjs +8 -8
  122. package/dist/astro/routes/api/dev/emails.mjs +2 -2
  123. package/dist/astro/routes/api/health.mjs +1 -1
  124. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  125. package/dist/astro/routes/api/import/probe.mjs +19 -19
  126. package/dist/astro/routes/api/import/wordpress/analyze.mjs +8 -8
  127. package/dist/astro/routes/api/import/wordpress/execute.d.mts +9 -9
  128. package/dist/astro/routes/api/import/wordpress/execute.mjs +35 -35
  129. package/dist/astro/routes/api/import/wordpress/media.d.mts +9 -9
  130. package/dist/astro/routes/api/import/wordpress/media.mjs +12 -12
  131. package/dist/astro/routes/api/import/wordpress/prepare.mjs +34 -34
  132. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +10 -10
  133. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +31 -31
  134. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  135. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +22 -22
  136. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +9 -9
  137. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +40 -40
  138. package/dist/astro/routes/api/integration/artifact.d.mts +7 -0
  139. package/dist/astro/routes/api/integration/artifact.mjs +39 -0
  140. package/dist/astro/routes/api/integration/dispatch.d.mts +7 -0
  141. package/dist/astro/routes/api/integration/dispatch.mjs +121 -0
  142. package/dist/astro/routes/api/integrations/_provider_.mjs +6 -6
  143. package/dist/astro/routes/api/integrations/index.mjs +5 -5
  144. package/dist/astro/routes/api/manifest.mjs +4 -4
  145. package/dist/astro/routes/api/mcp.mjs +130 -107
  146. package/dist/astro/routes/api/media/_id_/confirm.mjs +10 -10
  147. package/dist/astro/routes/api/media/_id_.mjs +7 -7
  148. package/dist/astro/routes/api/media/file/_...key_.mjs +1 -1
  149. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +2 -2
  150. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +2 -2
  151. package/dist/astro/routes/api/media/providers/index.mjs +2 -2
  152. package/dist/astro/routes/api/media/upload-url.mjs +11 -11
  153. package/dist/astro/routes/api/media.mjs +13 -13
  154. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +30 -30
  155. package/dist/astro/routes/api/menus/_name_/items.mjs +30 -30
  156. package/dist/astro/routes/api/menus/_name_/reorder.mjs +30 -30
  157. package/dist/astro/routes/api/menus/_name_/translations.mjs +30 -30
  158. package/dist/astro/routes/api/menus/_name_.mjs +30 -30
  159. package/dist/astro/routes/api/menus/index.mjs +30 -30
  160. package/dist/astro/routes/api/oauth/authorize.mjs +7 -7
  161. package/dist/astro/routes/api/oauth/device/authorize.mjs +6 -6
  162. package/dist/astro/routes/api/oauth/device/code.mjs +9 -9
  163. package/dist/astro/routes/api/oauth/device/token.mjs +8 -8
  164. package/dist/astro/routes/api/oauth/register.mjs +4 -4
  165. package/dist/astro/routes/api/oauth/token/refresh.mjs +6 -6
  166. package/dist/astro/routes/api/oauth/token/revoke.mjs +6 -6
  167. package/dist/astro/routes/api/oauth/token.mjs +6 -6
  168. package/dist/astro/routes/api/openapi.json.mjs +4 -4
  169. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +4 -4
  170. package/dist/astro/routes/api/redirects/404s/index.mjs +10 -10
  171. package/dist/astro/routes/api/redirects/404s/summary.mjs +10 -10
  172. package/dist/astro/routes/api/redirects/_id_.mjs +31 -31
  173. package/dist/astro/routes/api/redirects/index.mjs +31 -31
  174. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +2 -2
  175. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +2 -2
  176. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +54 -50
  177. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +54 -50
  178. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +54 -50
  179. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +54 -50
  180. package/dist/astro/routes/api/schema/collections/index.mjs +54 -50
  181. package/dist/astro/routes/api/schema/index.mjs +8 -8
  182. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +52 -48
  183. package/dist/astro/routes/api/schema/orphans/index.mjs +52 -48
  184. package/dist/astro/routes/api/search/enable.mjs +11 -11
  185. package/dist/astro/routes/api/search/index.mjs +10 -10
  186. package/dist/astro/routes/api/search/rebuild.mjs +11 -11
  187. package/dist/astro/routes/api/search/stats.mjs +6 -6
  188. package/dist/astro/routes/api/search/suggest.mjs +10 -10
  189. package/dist/astro/routes/api/sections/_slug_.mjs +30 -30
  190. package/dist/astro/routes/api/sections/index.mjs +30 -30
  191. package/dist/astro/routes/api/settings/email.mjs +3 -3
  192. package/dist/astro/routes/api/settings/reviews.d.mts +8 -0
  193. package/dist/astro/routes/api/settings/reviews.mjs +57 -0
  194. package/dist/astro/routes/api/settings.mjs +30 -30
  195. package/dist/astro/routes/api/setup/admin-verify.mjs +12 -12
  196. package/dist/astro/routes/api/setup/admin.mjs +10 -10
  197. package/dist/astro/routes/api/setup/dev-bypass.mjs +25 -25
  198. package/dist/astro/routes/api/setup/dev-reset.mjs +1 -1
  199. package/dist/astro/routes/api/setup/index.mjs +27 -27
  200. package/dist/astro/routes/api/setup/status.mjs +3 -3
  201. package/dist/astro/routes/api/snapshot.mjs +6 -6
  202. package/dist/astro/routes/api/system/heartbeat.d.mts +7 -0
  203. package/dist/astro/routes/api/system/heartbeat.mjs +23 -0
  204. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +33 -33
  205. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +33 -33
  206. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +33 -33
  207. package/dist/astro/routes/api/taxonomies/index.mjs +33 -33
  208. package/dist/astro/routes/api/themes/preview.mjs +4 -4
  209. package/dist/astro/routes/api/typegen.mjs +4 -4
  210. package/dist/astro/routes/api/well-known/auth.mjs +2 -2
  211. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +3 -3
  212. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +3 -3
  213. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +29 -29
  214. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +30 -30
  215. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +30 -30
  216. package/dist/astro/routes/api/widget-areas/_name_.mjs +27 -27
  217. package/dist/astro/routes/api/widget-areas/index.mjs +30 -30
  218. package/dist/astro/routes/api/widget-components.mjs +2 -2
  219. package/dist/astro/routes/robots.txt.mjs +6 -6
  220. package/dist/astro/routes/sitemap-_collection_.xml.mjs +12 -12
  221. package/dist/astro/routes/sitemap.xml.mjs +11 -11
  222. package/dist/astro/session-driver.d.mts +1 -1
  223. package/dist/astro/session-driver.mjs +2 -2
  224. package/dist/astro/types.d.mts +12 -12
  225. package/dist/{audit-CLEMKs-Q.mjs → audit-CYjfxG9i.mjs} +1 -1
  226. package/dist/auth/providers/github.d.mts +1 -1
  227. package/dist/auth/providers/google.d.mts +1 -1
  228. package/dist/{auth-control-guard-Bg93z3D6.mjs → auth-control-guard-CITT8ZA_.mjs} +1 -1
  229. package/dist/{authorize-Dg75h4BN.mjs → authorize-KcI0pAfN.mjs} +1 -1
  230. package/dist/{briefing-32h1e5FV.mjs → briefing-BgQTljQt.mjs} +21 -12
  231. package/dist/{briefing-BbpmZz_4.mjs → briefing-r3hXCDQC.mjs} +1 -1
  232. package/dist/{bundle-Cn8X5ATg.mjs → bundle-S6zx-V4D.mjs} +2 -2
  233. package/dist/{byline-BfL607qj.mjs → byline-Ctil4rij.mjs} +6 -6
  234. package/dist/{byline-fields-CexmiaFr.d.mts → byline-fields-DNXKWUW9.d.mts} +12 -11
  235. package/dist/{byline-fields-GoUVaGw4.mjs → byline-fields-DiCyW6eQ.mjs} +1 -1
  236. package/dist/{byline-fields-C4OeOttq.mjs → byline-fields-QpmruT5r.mjs} +5 -4
  237. package/dist/{byline-registry-CF9nobxT.mjs → byline-registry-rkr73qSE.mjs} +2 -2
  238. package/dist/{bylines-DpjxbnYL.mjs → bylines-BcuBpzVi.mjs} +3 -3
  239. package/dist/{bylines-Cy5KBNpg.mjs → bylines-v_ZUQnR-.mjs} +5 -5
  240. package/dist/{cache-Bwds591_.mjs → cache-V2BCplaY.mjs} +2 -2
  241. package/dist/{chunks-0oflHOGr.mjs → chunks-CnuL55JE.mjs} +1 -1
  242. package/dist/cli/index.mjs +202 -32
  243. package/dist/cli/plugin-kit.d.mts +9 -9
  244. package/dist/cli/plugin-kit.mjs +2 -2
  245. package/dist/client/external-auth-headers.d.mts +1 -1
  246. package/dist/client/index.d.mts +34 -11
  247. package/dist/client/index.mjs +24 -20
  248. package/dist/{client-factory-Dr5FUjPd.mjs → client-factory-C-y9VZDX.mjs} +1 -1
  249. package/dist/{comment-CLb7ynlP.mjs → comment-_nvJSS-A.mjs} +1 -1
  250. package/dist/{comment-reaction-HMk3Ugvo.mjs → comment-reaction-DhVgJ17S.mjs} +1 -1
  251. package/dist/{comments-D5I0CLKB.mjs → comments-D4mIDjvA.mjs} +1 -1
  252. package/dist/{content-DW-BRHF4.mjs → content-CVCrcuvD.mjs} +2 -2
  253. package/dist/{content-refresh-iarREtUO.mjs → content-refresh-QvBIyb_g.mjs} +6 -6
  254. package/dist/{context-DJ1J727I.mjs → context-JjKucxBm.mjs} +2 -2
  255. package/dist/{context-D8yUDM9d.mjs → context-MftkHbWx.mjs} +10 -10
  256. package/dist/{context-route-helpers-Bd8p_JI2.mjs → context-route-helpers-e1APrqSm.mjs} +2 -2
  257. package/dist/{dashboard-CdsvXt0T.mjs → dashboard-ZJ7sMcBI.mjs} +4 -4
  258. package/dist/db/index.d.mts +3 -3
  259. package/dist/db/index.mjs +1 -1
  260. package/dist/db/libsql-http.d.mts +1 -1
  261. package/dist/db/libsql-http.mjs +1 -1
  262. package/dist/db/libsql.d.mts +1 -1
  263. package/dist/db/libsql.mjs +1 -1
  264. package/dist/db/postgres.d.mts +1 -1
  265. package/dist/db/sqlite.d.mts +1 -1
  266. package/dist/{device-flow-BED7L-O7.mjs → device-flow-eOcL5m0Q.mjs} +5 -5
  267. package/dist/{discovery-yoK6-UaX.mjs → discovery-CJkuHGhZ.mjs} +3 -3
  268. package/dist/{enrich-Uw_OA9Ve.mjs → enrich-KErvJOuI.mjs} +1 -1
  269. package/dist/evidence-6IUv9ML3.mjs +251 -0
  270. package/dist/{field-defs-cache-Cf3F5lHw.mjs → field-defs-cache-CwrIyZFT.mjs} +4 -4
  271. package/dist/{service-BB1n90wh.mjs → forgeway-account-lYJ8iX3G.mjs} +1 -103
  272. package/dist/{fts-manager-Bv4U_Qw0.mjs → fts-manager-DX7ZkrCa.mjs} +1 -1
  273. package/dist/{hitl-requests-DmA_ViQf.mjs → hitl-requests-CmYVunm-.mjs} +2 -2
  274. package/dist/{hitl-route-helpers-DRdeq7Ld.mjs → hitl-route-helpers-CRm537zS.mjs} +5 -5
  275. package/dist/{import-iQ3y2-4Q.mjs → import-DqRAgsKr.mjs} +7 -7
  276. package/dist/{index-DXcPysP3.d.mts → index-Co7xtjkd.d.mts} +3 -3
  277. package/dist/index.d.mts +15 -15
  278. package/dist/index.mjs +86 -83
  279. package/dist/{integration-credentials-CTrvXgEc.mjs → integration-credentials-qudN6yRr.mjs} +2 -2
  280. package/dist/{jsonld-BM0JqNLm.d.mts → jsonld-DTd-AVWg.d.mts} +2 -2
  281. package/dist/{load-dOITHB_Z.mjs → load-fCOciq0Q.mjs} +1 -1
  282. package/dist/{loader-BFsHwbxI.mjs → loader-BDje8ME2.mjs} +2 -2
  283. package/dist/{manifest-schema-owbEUmv1.mjs → manifest-schema-CfKD0thC.mjs} +1 -1
  284. package/dist/{mcp-reviewed-executor-BUEO0Osb.mjs → mcp-reviewed-executor-DmhM3Cy6.mjs} +6 -6
  285. package/dist/media/image-endpoint.mjs +1 -1
  286. package/dist/media/index.d.mts +1 -1
  287. package/dist/media/index.mjs +2 -2
  288. package/dist/media/local-runtime.d.mts +11 -11
  289. package/dist/media/local-runtime.mjs +2 -2
  290. package/dist/{media-allowlist-BdbIzYO3.mjs → media-allowlist-DaG6lNoy.mjs} +1 -1
  291. package/dist/{media-Dnpc2hW8.mjs → media-dvRjj4po.mjs} +1 -1
  292. package/dist/{menus-BRMcey1A.mjs → menus-CZbz5L_V.mjs} +6 -6
  293. package/dist/{menus-F1fYny2w.mjs → menus-CpuR4Qkm.mjs} +2 -2
  294. package/dist/{oauth-authorization-TG2Kxgur.mjs → oauth-authorization-Jf5e3azH.mjs} +5 -5
  295. package/dist/{oauth-clients-DLJMG4h7.mjs → oauth-clients-tovQ4D4h.mjs} +2 -2
  296. package/dist/object-cache/memory.d.mts +1 -1
  297. package/dist/page/index.d.mts +10 -10
  298. package/dist/page/index.mjs +1 -1
  299. package/dist/{parse-CJC9DGe9.mjs → parse-IsGn-5lt.mjs} +1 -1
  300. package/dist/plugin-utils.d.mts +9 -9
  301. package/dist/plugins/adapt-sandbox-entry.d.mts +9 -9
  302. package/dist/plugins/adapt-sandbox-entry.mjs +1 -1
  303. package/dist/{plugins-Cz4PAYJf.mjs → plugins-DXyLI3Hb.mjs} +5 -5
  304. package/dist/policy-950odoX_.mjs +124 -0
  305. package/dist/{preview-CjL_29aE.mjs → preview-BXmS1SXL.mjs} +2 -2
  306. package/dist/{provider-loader-CGoW_-Bs.d.mts → provider-loader-DDq7R_RN.d.mts} +1 -1
  307. package/dist/{public-url-CbmE-u2t.d.mts → public-url-BQ9vf0AS.d.mts} +2 -2
  308. package/dist/{public-url-CPw0dhAQ.d.mts → public-url-CT-T1D_w.d.mts} +1 -1
  309. package/dist/{publication-authorization-BQpdXnha.mjs → publication-authorization-C-vYPGD8.mjs} +73 -11
  310. package/dist/{query-qGr7GGfF.mjs → query-CrW2yI6G.mjs} +13 -13
  311. package/dist/{query-DQOB6OEA.mjs → query-DcB9uGTW.mjs} +3 -3
  312. package/dist/{rate-limit-JhnJUEno.mjs → rate-limit-DEkoxTsP.mjs} +2 -2
  313. package/dist/{redirect-DtjSpGWp.mjs → redirect-DG-o0CKV.mjs} +2 -2
  314. package/dist/{redirects-CY6GCHPX.mjs → redirects-Bjp4iKJU.mjs} +4 -4
  315. package/dist/{redirects-C9pg6Dcg.mjs → redirects-N8gmWhVM.mjs} +2 -2
  316. package/dist/{registry-Czz6avGn.mjs → registry-D-IV_h50.mjs} +7 -7
  317. package/dist/request-context.d.mts +2 -0
  318. package/dist/{request-meta-DnZm9Kbu.mjs → request-meta-BW0the1R.mjs} +1 -1
  319. package/dist/{review-payload-BuLgXTY6.mjs → review-payload-f1L4lzQg.mjs} +1 -1
  320. package/dist/{review-requests-lVwh6U-G.mjs → review-requests-BTKfeWlS.mjs} +17 -48
  321. package/dist/{review-requests-D-lhld0A.mjs → review-requests-DICrYH2-.mjs} +70 -7
  322. package/dist/{review-route-helpers-3MNvw1AH.mjs → review-route-helpers-DaZBBps8.mjs} +2 -2
  323. package/dist/revocation-CkTOhdlw.mjs +42 -0
  324. package/dist/{runner-CPugEIU8.mjs → runner-DJiRFyLI.mjs} +545 -475
  325. package/dist/{runner-CvwzNJHj.d.mts → runner-Dye73myO.d.mts} +1 -1
  326. package/dist/runs-DEujUDOj.mjs +1234 -0
  327. package/dist/runtime.d.mts +10 -10
  328. package/dist/runtime.mjs +3 -3
  329. package/dist/schema-IjuRxkqq.mjs +8 -0
  330. package/dist/{search-D-wOjRiP.mjs → search-DxUKN9Zz.mjs} +3 -3
  331. package/dist/{secrets-MqvM60s_.mjs → secrets-AdCrGg1c.mjs} +1 -1
  332. package/dist/{sections-jAOXJcIV.mjs → sections-BPFOEMK6.mjs} +2 -2
  333. package/dist/seed/index.d.mts +2 -2
  334. package/dist/seed/index.mjs +19 -19
  335. package/dist/seo/index.d.mts +3 -3
  336. package/dist/seo/index.mjs +7 -7
  337. package/dist/{seo-Cbj0_Opd.mjs → seo-DWHdo5aW.mjs} +1 -1
  338. package/dist/{seo-B0n_oZM5.mjs → seo-GfovzqpU.mjs} +1 -1
  339. package/dist/{service-TRFrPW8z.mjs → service-BrNKVCjC.mjs} +2 -2
  340. package/dist/service-DbgjHWyW.mjs +18 -0
  341. package/dist/service-DeX1PRNt.mjs +121 -0
  342. package/dist/{settings-CYt46_A5.mjs → settings-BKEHw6Bu.mjs} +2 -2
  343. package/dist/{settings-Bx3wzDK_.mjs → settings-CAsQLi0N.mjs} +4 -4
  344. package/dist/{site-activity-MiKT38qx.mjs → site-activity-7oezuHXK.mjs} +1 -1
  345. package/dist/{site-context-CqNMaJ5s.mjs → site-context-CA7rbxux.mjs} +15 -15
  346. package/dist/{ssrf-D00lPvtF.mjs → ssrf-C7tTSD1r.mjs} +13 -2
  347. package/dist/storage/local.d.mts +1 -1
  348. package/dist/storage/local.mjs +1 -1
  349. package/dist/storage/s3.d.mts +1 -1
  350. package/dist/storage/s3.mjs +1 -1
  351. package/dist/{store-BtCoeap4.mjs → store-c4qx3gVh.mjs} +1 -1
  352. package/dist/submission-C47cHBIg.mjs +67 -0
  353. package/dist/{taxonomies-iZGA_8zf.mjs → taxonomies-93DV-1QT.mjs} +6 -6
  354. package/dist/{taxonomies-BMArg_t1.mjs → taxonomies-ALDiRQ84.mjs} +3 -3
  355. package/dist/{taxonomy-DKG0n_q8.mjs → taxonomy-BOBTJ_aE.mjs} +2 -2
  356. package/dist/{types-m37xNtUj.d.mts → types-6KmeXInJ.d.mts} +1 -1
  357. package/dist/{types-B7Ifhtyz.d.mts → types-BRCUO8NR.d.mts} +31 -2
  358. package/dist/{types-DXwmu5rT.mjs → types-BpSTdH1H.mjs} +1 -1
  359. package/dist/{types-DB9weIZo.d.mts → types-TpXK8km5.d.mts} +56 -44
  360. package/dist/ui/server-runtime.d.mts +13 -13
  361. package/dist/ui/server-runtime.mjs +20 -20
  362. package/dist/{user-D-dGG5Om.mjs → user-D0NJ7gYf.mjs} +2 -2
  363. package/dist/{utils-iGiCys50.mjs → utils-BK2efsHv.mjs} +1 -1
  364. package/dist/{validate-AzYhwCD8.mjs → validate-C9g9iX3q.mjs} +2 -2
  365. package/dist/{validate-BRq01mTo.d.mts → validate-CDWVODvc.d.mts} +3 -3
  366. package/dist/version-9orir5LL.mjs +6 -0
  367. package/dist/{widgets-B18H_Xgl.mjs → widgets-Cm5Qx2Np.mjs} +3 -3
  368. package/dist/{wordpress-slugs-BYW2B_5x.mjs → wordpress-slugs-WdPZaVXf.mjs} +1 -1
  369. package/dist/worker-D7OccgB8.mjs +224 -0
  370. package/dist/{zod-generator-3jqAzlTK.mjs → zod-generator-DS5oZNaL.mjs} +2 -2
  371. package/licenses/forgeway.txt +201 -0
  372. package/package.json +6 -3
  373. package/LICENSE +0 -9
  374. package/dist/schema-DxDfwabF.mjs +0 -8
  375. package/dist/version-BIlVseq9.mjs +0 -6
  376. /package/dist/{actor-BraTCiOp.mjs → actor-DrJJsvy6.mjs} +0 -0
  377. /package/dist/{adapters-C-iHnQYy.d.mts → adapters-DHt3f2lu.d.mts} +0 -0
  378. /package/dist/{api-tokens-CZ472rzA.mjs → api-tokens-CmT83Bgj.mjs} +0 -0
  379. /package/dist/{challenge-store-Dae5cL-_.mjs → challenge-store-CYrg4F4t.mjs} +0 -0
  380. /package/dist/{components-CINP4h-l.mjs → components-DAq_4iPX.mjs} +0 -0
  381. /package/dist/{context-types-fEeyXC1D.mjs → context-types-CPWAJRs5.mjs} +0 -0
  382. /package/dist/{cron-DIsnItPn.mjs → cron-mGVPQ5e6.mjs} +0 -0
  383. /package/dist/{default-D8jeKsT3.mjs → default-BeIzUa1e.mjs} +0 -0
  384. /package/dist/{email-console-DRb6jkoC.mjs → email-console-Bfi_exVg.mjs} +0 -0
  385. /package/dist/{error-BPA9T0AW.mjs → error-DLg1H2LT.mjs} +0 -0
  386. /package/dist/{escape-DgNqnHuj.mjs → escape-C6lkys0j.mjs} +0 -0
  387. /package/dist/{experimental-workflows-DOo7QDRn.mjs → experimental-workflows-B9x8delL.mjs} +0 -0
  388. /package/dist/{hash-CEky-IDp.mjs → hash-jhbF98tT.mjs} +0 -0
  389. /package/dist/{libsql-dialect-DMqpBfJI.mjs → libsql-dialect-CANq6UNI.mjs} +0 -0
  390. /package/dist/{media-url-BhbJfG3Y.mjs → media-url-CL3NzgLh.mjs} +0 -0
  391. /package/dist/{mime-Bg7yUeHW.mjs → mime-CDTtL7jE.mjs} +0 -0
  392. /package/dist/{mode-fm1eCVhz.mjs → mode-D554vAgH.mjs} +0 -0
  393. /package/dist/{normalize-BY2gOygP.mjs → normalize-Ev3FiBMx.mjs} +0 -0
  394. /package/dist/{oauth-state-store-Dbj-J0K5.mjs → oauth-state-store-Do1a_o3H.mjs} +0 -0
  395. /package/dist/{oauth-user-lookup-D2NAYPjU.mjs → oauth-user-lookup-B451pZmd.mjs} +0 -0
  396. /package/dist/{output-A4ZfzzA0.mjs → output-8j9oltTf.mjs} +0 -0
  397. /package/dist/{parser-C3ux7a3Y.mjs → parser-C9rzPuSZ.mjs} +0 -0
  398. /package/dist/{passkey-config-DUc1iP_-.mjs → passkey-config-CRN44T04.mjs} +0 -0
  399. /package/dist/{patterns-CP9gkiCE.mjs → patterns-3XE9bU4r.mjs} +0 -0
  400. /package/dist/{placeholder-0cGpMonY.d.mts → placeholder-D03pGvqM.d.mts} +0 -0
  401. /package/dist/{portable-text-Cu4n_8zI.d.mts → portable-text-BdRm4uZq.d.mts} +0 -0
  402. /package/dist/{portable-text-U85hOafW.mjs → portable-text-tIk9_uz_.mjs} +0 -0
  403. /package/dist/{process-cache-DsMwJ3LM.mjs → process-cache-B-L-A9zg.mjs} +0 -0
  404. /package/dist/{provider-loader-BPHG3BR5.mjs → provider-loader-C4i82ll1.mjs} +0 -0
  405. /package/dist/{public-url-CmBKcpsJ.mjs → public-url-BVIjzMo3.mjs} +0 -0
  406. /package/dist/{public-url-DjWfilkD.mjs → public-url-oudwI7K0.mjs} +0 -0
  407. /package/dist/{redirect-D_bb_Cc3.mjs → redirect-Dp5u-8dH.mjs} +0 -0
  408. /package/dist/{request-cache-DoT2mKBT.mjs → request-cache-BruBnFAR.mjs} +0 -0
  409. /package/dist/{resolve-BDWXnk_V.mjs → resolve-pZ4NQM-X.mjs} +0 -0
  410. /package/dist/{seo-contributions-DzusM9lG.mjs → seo-contributions-BAtRDXEQ.mjs} +0 -0
  411. /package/dist/{session-user-BT8vRgt3.mjs → session-user-DyqWGIh4.mjs} +0 -0
  412. /package/dist/{setup-complete-BRbTCbUF.mjs → setup-complete-C8LTo8cO.mjs} +0 -0
  413. /package/dist/{setup-nonce-220YhE1R.mjs → setup-nonce-D-CEYlw7.mjs} +0 -0
  414. /package/dist/{sidecar-client-SDgPreXV.mjs → sidecar-client-Bw2C0XTf.mjs} +0 -0
  415. /package/dist/{site-url-AGgA46Lw.mjs → site-url-DoZf_jVj.mjs} +0 -0
  416. /package/dist/{stable-hash-_A3p1ln2.mjs → stable-hash-DF7R5eN8.mjs} +0 -0
  417. /package/dist/{status-BdZSXIP_.mjs → status-Bba6RbkS.mjs} +0 -0
  418. /package/dist/{tokens-ShJZm_QS.mjs → tokens-c-qxNqzC.mjs} +0 -0
  419. /package/dist/{transaction-L0tzAOfM.mjs → transaction-BGQgnwUi.mjs} +0 -0
  420. /package/dist/{transport-DtrY0-hI.mjs → transport-BddGhTAI.mjs} +0 -0
  421. /package/dist/{transport-SoRbXDM4.d.mts → transport-ktLL9r2O.d.mts} +0 -0
  422. /package/dist/{trusted-proxy-9b2fSXK2.mjs → trusted-proxy-CdEl6g6B.mjs} +0 -0
  423. /package/dist/{types-ZdWRfUsC.d.mts → types--3oJQ0hs.d.mts} +0 -0
  424. /package/dist/{types-dgGPmsl_.mjs → types-BQZFeZjd.mjs} +0 -0
  425. /package/dist/{types-B-nDjnzA.mjs → types-BbkkkAb6.mjs} +0 -0
  426. /package/dist/{types-D1l9cCKM.mjs → types-C0DPvhR5.mjs} +0 -0
  427. /package/dist/{types-Cd_2Jeqp.d.mts → types-CKIt_jmM.d.mts} +0 -0
  428. /package/dist/{types-D8iukuuI.d.mts → types-CLMOusxP.d.mts} +0 -0
  429. /package/dist/{types-BdsNqnHA.d.mts → types-CPaVj_GC.d.mts} +0 -0
  430. /package/dist/{types-B-KSspMO.d.mts → types-CU3Wn2HC.d.mts} +0 -0
  431. /package/dist/{url-CmjWycVK.mjs → url-Dumsft7G.mjs} +0 -0
@@ -1,4 +1,4 @@
1
- import { t as LibsqlDialect } from "../libsql-dialect-DMqpBfJI.mjs";
1
+ import { t as LibsqlDialect } from "../libsql-dialect-CANq6UNI.mjs";
2
2
  import { SqliteDialect } from "kysely";
3
3
  import BetterSqlite3 from "better-sqlite3";
4
4
 
@@ -1,4 +1,4 @@
1
- import { a as PostgresConfig } from "../adapters-C-iHnQYy.mjs";
1
+ import { a as PostgresConfig } from "../adapters-DHt3f2lu.mjs";
2
2
  import { PostgresDialect } from "kysely";
3
3
 
4
4
  //#region src/db/postgres.d.ts
@@ -1,4 +1,4 @@
1
- import { o as SqliteConfig } from "../adapters-C-iHnQYy.mjs";
1
+ import { o as SqliteConfig } from "../adapters-DHt3f2lu.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-L0tzAOfM.mjs";
2
- import { a as hashApiToken, n as TOKEN_PREFIXES, r as generatePrefixedToken, t as ALL_VALID_SCOPES } from "./api-tokens-CZ472rzA.mjs";
3
- import { a as filterExperimentalSiteContextWorkflowScopes, i as experimentalSiteContextWorkflowsEnabled, o as getExperimentalSiteContextWorkflowScopesDisabledMessage, r as disabledExperimentalSiteContextWorkflowScopes } from "./experimental-workflows-DOo7QDRn.mjs";
4
- import { o as lookupOAuthClient } from "./oauth-clients-DLJMG4h7.mjs";
5
- import { t as lookupUserRoleAndStatus } from "./oauth-user-lookup-D2NAYPjU.mjs";
1
+ import { t as withTransaction } from "./transaction-BGQgnwUi.mjs";
2
+ import { a as hashApiToken, n as TOKEN_PREFIXES, r as generatePrefixedToken, t as ALL_VALID_SCOPES } from "./api-tokens-CmT83Bgj.mjs";
3
+ import { a as filterExperimentalSiteContextWorkflowScopes, i as experimentalSiteContextWorkflowsEnabled, o as getExperimentalSiteContextWorkflowScopesDisabledMessage, r as disabledExperimentalSiteContextWorkflowScopes } from "./experimental-workflows-B9x8delL.mjs";
4
+ import { o as lookupOAuthClient } from "./oauth-clients-tovQ4D4h.mjs";
5
+ import { t as lookupUserRoleAndStatus } from "./oauth-user-lookup-B451pZmd.mjs";
6
6
  import { clampScopes } from "@dineway-ai/auth";
7
7
  import { generateCodeVerifier } from "arctic";
8
8
 
@@ -1,8 +1,8 @@
1
1
  import { t as validateIdentifier } from "./validate-VPnKoIzW.mjs";
2
- import { i as encodeCursor, r as decodeCursor } from "./types-DXwmu5rT.mjs";
2
+ import { i as encodeCursor, r as decodeCursor } from "./types-BpSTdH1H.mjs";
3
3
  import { n as publicDiscoveryExclusions } from "./public-discovery-CyDzK1-S.mjs";
4
- import { n as SchemaRegistry } from "./registry-Czz6avGn.mjs";
5
- import { t as resolveContentUrl } from "./public-url-DjWfilkD.mjs";
4
+ import { n as SchemaRegistry } from "./registry-D-IV_h50.mjs";
5
+ import { t as resolveContentUrl } from "./public-url-oudwI7K0.mjs";
6
6
  import { sql } from "kysely";
7
7
 
8
8
  //#region src/seo/canonical-url.ts
@@ -1,4 +1,4 @@
1
- import { n as normalizeMime } from "./mime-Bg7yUeHW.mjs";
1
+ import { n as normalizeMime } from "./mime-CDTtL7jE.mjs";
2
2
  import { encode } from "blurhash";
3
3
  import { imageSize } from "image-size";
4
4
 
@@ -0,0 +1,251 @@
1
+ import { i as encodeBase64url } from "./base64-F8-DUraK.mjs";
2
+ import { t as MediaRepository } from "./media-dvRjj4po.mjs";
3
+ import { t as buildStableHash } from "./stable-hash-DF7R5eN8.mjs";
4
+ import { a as selectActiveBriefingContextEntries, i as parseSiteBriefingScope, o as ContextRepository } from "./briefing-BgQTljQt.mjs";
5
+ import { s as loadContentMediaUsageFields } from "./content-refresh-QvBIyb_g.mjs";
6
+ import { n as sha256, s as readBoundedBytes } from "./runs-DEujUDOj.mjs";
7
+ import { r as ssrfSafeFetch } from "./ssrf-C7tTSD1r.mjs";
8
+ import { imageSize } from "image-size";
9
+
10
+ //#region src/review-automation/evidence.ts
11
+ const MAX_IMAGE_BYTES = 5 * 1024 * 1024;
12
+ const MAX_TOTAL_BYTES = 12 * 1024 * 1024;
13
+ const IMAGE_MARKUP = /<img\b[^>]*\bsrc\s*=\s*["']([^"']+)["'][^>]*>|!\[[^\]]*\]\(([^\s)]+)(?:\s+[^)]*)?\)/gi;
14
+ const IMAGE_TAG = /<img\b/i;
15
+ const UNSUPPORTED_MARKUP = /<(?:svg|video|audio|iframe)\b|\bsrcset\s*=/i;
16
+ const IMAGE_URL = /\.(?:png|jpe?g|gif|webp|avif|svg)(?:[?#]|$)/i;
17
+ const INTERNAL_PREFIX = "/_dineway/api/media/file/";
18
+ var ReviewEvidenceError = class extends Error {};
19
+ async function loadReviewContext(db, scope) {
20
+ const ancestors = parseSiteBriefingScope(scope).ancestors;
21
+ const repository = new ContextRepository(db);
22
+ const entries = [];
23
+ let cursor;
24
+ do {
25
+ const page = await repository.list({
26
+ scopes: ancestors,
27
+ currentOnly: true,
28
+ limit: 100,
29
+ cursor
30
+ });
31
+ entries.push(...page.items);
32
+ cursor = page.nextCursor;
33
+ if (entries.length > 5e3) throw new ReviewEvidenceError("The current context is too large for complete automated assessment.");
34
+ } while (cursor);
35
+ const effective = selectActiveBriefingContextEntries(entries, ancestors, /* @__PURE__ */ new Date());
36
+ const keys = /* @__PURE__ */ new Set();
37
+ for (const entry of effective) {
38
+ if (!entry.policyKey) continue;
39
+ const key = `${entry.scope}:${entry.policyKey}`;
40
+ if (keys.has(key)) throw new ReviewEvidenceError("Conflicting current context policies require a reviewer.");
41
+ keys.add(key);
42
+ }
43
+ const context = effective.map((entry) => ({
44
+ id: entry.id,
45
+ scope: entry.scope,
46
+ type: entry.contextType,
47
+ title: entry.title,
48
+ body: entry.body,
49
+ version: entry.version,
50
+ policyKey: entry.policyKey,
51
+ validUntil: entry.validUntil,
52
+ actorType: entry.createdByActorType,
53
+ actorId: entry.createdByActorId
54
+ }));
55
+ if (JSON.stringify(context).length > 15e4) throw new ReviewEvidenceError("The complete current context exceeds the automated review limit.");
56
+ return context;
57
+ }
58
+ function reviewDraft(built) {
59
+ const diff = built.reviewPayload.diff;
60
+ if (!isRecord(diff) || !isRecord(diff.draft)) throw new ReviewEvidenceError("The complete submitted draft could not be read.");
61
+ return diff.draft;
62
+ }
63
+ async function loadReviewImages(db, storage, built, decode = true) {
64
+ const draft = reviewDraft(built);
65
+ const references = [];
66
+ const fields = await loadContentMediaUsageFields(db, built.collection);
67
+ for (const field of fields.extractionFields) {
68
+ const value = draft[field.slug];
69
+ if (value === null || value === void 0 || value === "") continue;
70
+ if (field.type === "image") references.push(value);
71
+ if (field.type === "file") throw new ReviewEvidenceError("Attached files require a human reviewer.");
72
+ if (field.type === "repeater" && Array.isArray(value)) {
73
+ for (const row of value) if (isRecord(row)) {
74
+ for (const sub of field.validation?.subFields ?? []) if (row[sub.slug]) references.push(row[sub.slug]);
75
+ }
76
+ }
77
+ }
78
+ walkImages(draft, references);
79
+ const unique = /* @__PURE__ */ new Map();
80
+ for (const reference of references) unique.set(await buildStableHash(reference), reference);
81
+ if (unique.size > 12) throw new ReviewEvidenceError("More than 12 image references require a human reviewer.");
82
+ const images = [];
83
+ const assets = {};
84
+ let total = 0;
85
+ for (const reference of unique.values()) {
86
+ const { bytes, source } = await readImage(db, storage, reference);
87
+ total += bytes.byteLength;
88
+ if (total > MAX_TOTAL_BYTES) throw new ReviewEvidenceError("The images exceed the total automated review size limit.");
89
+ const dimensions = decode ? await validateImage(bytes) : imageDimensions(bytes);
90
+ if (!storage) throw new ReviewEvidenceError("Image evidence storage is unavailable.");
91
+ const hash = await sha256(bytes);
92
+ const id = crypto.randomUUID();
93
+ const key = reviewImageKey(hash, dimensions.format);
94
+ if (!await storage.exists(key)) await storage.upload({
95
+ key,
96
+ body: bytes,
97
+ contentType: dimensions.format === "jpg" ? "image/jpeg" : `image/${dimensions.format}`
98
+ });
99
+ images.push({
100
+ source,
101
+ sha256: hash,
102
+ bytes: bytes.byteLength,
103
+ ...dimensions
104
+ });
105
+ if (dimensions.format === "png" || dimensions.format === "jpg") assets[id] = {
106
+ type: "image",
107
+ format: dimensions.format,
108
+ data_base64: standardBase64(bytes)
109
+ };
110
+ }
111
+ return {
112
+ images,
113
+ assets
114
+ };
115
+ }
116
+ function walkImages(value, references) {
117
+ if (Array.isArray(value)) {
118
+ for (const child of value) walkImages(child, references);
119
+ return;
120
+ }
121
+ if (isRecord(value)) {
122
+ if (value._type === "image") {
123
+ references.push(value.asset ?? value);
124
+ return;
125
+ }
126
+ if ([
127
+ "video",
128
+ "audio",
129
+ "embed"
130
+ ].includes(String(value._type))) throw new ReviewEvidenceError("Embedded media requires a human reviewer.");
131
+ if (typeof value.provider === "string" && (value.id || value.src) || typeof value.src === "string" && IMAGE_URL.test(value.src)) {
132
+ references.push(value);
133
+ return;
134
+ }
135
+ for (const child of Object.values(value)) walkImages(child, references);
136
+ return;
137
+ }
138
+ if (typeof value !== "string") return;
139
+ if (UNSUPPORTED_MARKUP.test(value)) throw new ReviewEvidenceError("Embedded or responsive media requires a human reviewer.");
140
+ for (const match of value.matchAll(IMAGE_MARKUP)) references.push(match[1] ?? match[2]);
141
+ if (IMAGE_TAG.test(value) && ![...value.matchAll(IMAGE_MARKUP)].length) throw new ReviewEvidenceError("An image reference could not be read.");
142
+ }
143
+ async function readImage(db, storage, reference) {
144
+ let id;
145
+ let url;
146
+ if (typeof reference === "string") if (reference.startsWith(INTERNAL_PREFIX)) id = reference.slice(25);
147
+ else if (reference.startsWith("https://") || reference.startsWith("http://")) url = reference;
148
+ else id = reference;
149
+ else if (isRecord(reference)) if ((reference.provider ?? "local") === "local") id = string(reference.id) ?? string(reference._ref);
150
+ else url = string(reference.src) ?? string(reference.url);
151
+ if (url?.startsWith(INTERNAL_PREFIX)) {
152
+ id = url.slice(25);
153
+ url = void 0;
154
+ }
155
+ if (id) {
156
+ const record = await db.selectFrom("media").select("id").where((eb) => eb.or([eb("id", "=", id), eb("storage_key", "=", decodeURIComponent(id))])).executeTakeFirst();
157
+ const media = record ? await new MediaRepository(db).findById(record.id) : null;
158
+ if (!media || !storage) throw new ReviewEvidenceError("A submitted image is unavailable in site storage.");
159
+ const file = await storage.download(media.storageKey);
160
+ if (file.size > MAX_IMAGE_BYTES) throw new ReviewEvidenceError("A submitted image exceeds 5 MB.");
161
+ return {
162
+ bytes: new Uint8Array(await readBoundedBytes(new Response(file.body), MAX_IMAGE_BYTES)),
163
+ source: `media:${id}`
164
+ };
165
+ }
166
+ if (!url) throw new ReviewEvidenceError("A submitted image reference is incomplete.");
167
+ const parsed = new URL(url);
168
+ if (parsed.username || parsed.password) throw new ReviewEvidenceError("Image URLs containing credentials require a reviewer.");
169
+ const response = await ssrfSafeFetch(url, {
170
+ signal: AbortSignal.timeout(15e3),
171
+ headers: { Accept: "image/png,image/jpeg" }
172
+ });
173
+ if (!response.ok) throw new ReviewEvidenceError("A submitted image could not be downloaded.");
174
+ return {
175
+ bytes: new Uint8Array(await readBoundedBytes(response, MAX_IMAGE_BYTES)),
176
+ source: await buildStableHash(url)
177
+ };
178
+ }
179
+ async function validateImage(bytes) {
180
+ const { width, height, type } = imageSize(bytes);
181
+ if (!width || !height || width * height > 4e6 || !["png", "jpg"].includes(type ?? "")) throw new ReviewEvidenceError("Automated review supports PNG and JPEG images up to four megapixels. Other images need a reviewer.");
182
+ if (type === "jpg") {
183
+ const { decode } = await import("jpeg-js");
184
+ const decoded = decode(bytes, {
185
+ useTArray: true,
186
+ tolerantDecoding: false,
187
+ maxResolutionInMP: 4,
188
+ maxMemoryUsageInMB: 64
189
+ });
190
+ if (decoded.width !== width || decoded.height !== height || decoded.data.length !== width * height * 4) throw new ReviewEvidenceError("The submitted JPEG is incomplete.");
191
+ } else {
192
+ const compressed = [];
193
+ let offset = 8;
194
+ let ended = false;
195
+ while (offset + 12 <= bytes.length) {
196
+ const length = new DataView(bytes.buffer, bytes.byteOffset + offset, 4).getUint32(0);
197
+ const name = new TextDecoder().decode(bytes.subarray(offset + 4, offset + 8));
198
+ if (offset + 12 + length > bytes.length) throw new ReviewEvidenceError("The submitted PNG is incomplete.");
199
+ if (name === "acTL") throw new ReviewEvidenceError("Animated images require a human reviewer.");
200
+ if (name === "IDAT") compressed.push(bytes.subarray(offset + 8, offset + 8 + length));
201
+ if (name === "IEND") {
202
+ ended = true;
203
+ break;
204
+ }
205
+ offset += length + 12;
206
+ }
207
+ if (!ended || !compressed.length) throw new ReviewEvidenceError("The submitted PNG is incomplete.");
208
+ const stream = new Blob(compressed.map((chunk) => new Uint8Array(chunk).buffer)).stream().pipeThrough(new DecompressionStream("deflate"));
209
+ await readBoundedBytes(new Response(stream), Math.min(4e7, (width * 8 + 8) * height * 2));
210
+ const UPNG = (await import("upng-js")).default;
211
+ const decoded = UPNG.decode(new Uint8Array(bytes).buffer);
212
+ const frames = UPNG.toRGBA8(decoded);
213
+ if (frames.length !== 1 || frames[0]?.byteLength !== width * height * 4) throw new ReviewEvidenceError("The submitted PNG could not be decoded completely.");
214
+ }
215
+ return {
216
+ width,
217
+ height,
218
+ format: type === "png" ? "png" : "jpg"
219
+ };
220
+ }
221
+ function isRecord(value) {
222
+ return !!value && typeof value === "object" && !Array.isArray(value);
223
+ }
224
+ function string(value) {
225
+ return typeof value === "string" && value ? value : void 0;
226
+ }
227
+ function standardBase64(bytes) {
228
+ const value = encodeBase64url(bytes).replaceAll("-", "+").replaceAll("_", "/");
229
+ return value + "=".repeat((4 - value.length % 4) % 4);
230
+ }
231
+ function reviewImageKey(hash, format) {
232
+ return `review-evidence/${hash}.${format}`;
233
+ }
234
+ function imageDimensions(bytes) {
235
+ const { width, height, type } = imageSize(bytes);
236
+ if (!width || !height || !type || ![
237
+ "png",
238
+ "jpg",
239
+ "webp",
240
+ "gif",
241
+ "avif"
242
+ ].includes(type)) throw new ReviewEvidenceError("The image format or dimensions could not be verified.");
243
+ return {
244
+ width,
245
+ height,
246
+ format: type
247
+ };
248
+ }
249
+
250
+ //#endregion
251
+ export { reviewImageKey as a, reviewDraft as i, loadReviewContext as n, loadReviewImages as r, ReviewEvidenceError as t };
@@ -1,9 +1,9 @@
1
- import { a as __exportAll } from "./runner-CPugEIU8.mjs";
1
+ import { a as __exportAll } from "./runner-DJiRFyLI.mjs";
2
2
  import { getRequestContext } from "./request-context.mjs";
3
3
  import { t as after } from "./after-BfniwgIf.mjs";
4
- import { r as requestCached } from "./request-cache-DoT2mKBT.mjs";
5
- import { n as BylineSchemaRegistry } from "./byline-registry-CF9nobxT.mjs";
6
- import { n as invalidateProcessCache, r as processCachedAsync, t as createProcessCache } from "./process-cache-DsMwJ3LM.mjs";
4
+ import { r as requestCached } from "./request-cache-BruBnFAR.mjs";
5
+ import { n as BylineSchemaRegistry } from "./byline-registry-rkr73qSE.mjs";
6
+ import { n as invalidateProcessCache, r as processCachedAsync, t as createProcessCache } from "./process-cache-B-L-A9zg.mjs";
7
7
 
8
8
  //#region src/bylines/field-defs-cache.ts
9
9
  var field_defs_cache_exports = /* @__PURE__ */ __exportAll({ getBylineFieldDefs: () => getBylineFieldDefs });
@@ -242,106 +242,4 @@ async function getForgewayDinewayAccount(credentials) {
242
242
  }
243
243
 
244
244
  //#endregion
245
- //#region src/dineway-tools/service.ts
246
- const TERMINAL_RUN_STATUSES = new Set([
247
- "COMPLETED",
248
- "FAILED",
249
- "STOPPED",
250
- "TIME_OUT"
251
- ]);
252
- const DEFAULT_WAIT_TIMEOUT_MS = 3e5;
253
- const DEFAULT_POLL_INTERVAL_MS = 1e3;
254
- var DinewayToolsError = class extends Error {
255
- name = "DinewayToolsError";
256
- constructor(message, code, statusCode) {
257
- super(message);
258
- this.code = code;
259
- this.statusCode = statusCode;
260
- }
261
- };
262
- var DinewayToolsService = class {
263
- now;
264
- sleep;
265
- constructor(client, dependencies = {}) {
266
- this.client = client;
267
- this.now = dependencies.now ?? Date.now;
268
- this.sleep = dependencies.sleep ?? abortableSleep;
269
- }
270
- async discover(request) {
271
- return unwrapIntegrationResponse(await this.client.discover(request), "TOOLS_DISCOVER_FAILED", "Failed to discover Integration endpoints.");
272
- }
273
- async inspect(request) {
274
- return unwrapIntegrationResponse(await this.client.inspect(request), "TOOLS_INSPECT_FAILED", "Failed to inspect the Integration endpoint.");
275
- }
276
- async run(request, options = {}) {
277
- return unwrapIntegrationResponse(await this.client.run(request, options), "TOOLS_RUN_FAILED", "Failed to run the Integration endpoint.", credentialValues(request.credential));
278
- }
279
- async listRuns(options = {}) {
280
- return unwrapIntegrationResponse(await this.client.listRuns({
281
- ...options,
282
- limit: options.limit ?? 20
283
- }), "TOOLS_RUNS_LIST_FAILED", "Failed to list Integration runs.");
284
- }
285
- async getRun(runId, signal) {
286
- return unwrapIntegrationResponse(await this.client.getRun(runId, { signal }), "TOOLS_RUN_GET_FAILED", "Failed to get the Integration run.");
287
- }
288
- async stopRun(runId, request = {}, signal) {
289
- return unwrapIntegrationResponse(await this.client.stopRun(runId, request, { signal }), "TOOLS_RUN_STOP_FAILED", "Failed to stop the Integration run.", credentialValues(request.credential));
290
- }
291
- async waitForRun(runId, options = {}) {
292
- const timeoutMs = options.timeoutMs ?? DEFAULT_WAIT_TIMEOUT_MS;
293
- const pollIntervalMs = options.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS;
294
- if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) throw new DinewayToolsError("Run wait timeout must be a positive number of milliseconds.", "INVALID_WAIT_TIMEOUT");
295
- if (!Number.isFinite(pollIntervalMs) || pollIntervalMs < 0) throw new DinewayToolsError("Run poll interval must be a non-negative number of milliseconds.", "INVALID_POLL_INTERVAL");
296
- const startedAt = this.now();
297
- while (true) {
298
- throwIfAborted(options.signal);
299
- const run = await this.getRun(runId, options.signal);
300
- if (isTerminalIntegrationRun(run)) return run;
301
- if (this.now() - startedAt >= timeoutMs) throw new DinewayToolsError(`Timed out waiting for Integration run ${runId}. The run may still be active.`, "RUN_WAIT_TIMEOUT");
302
- await this.sleep(pollIntervalMs, options.signal);
303
- }
304
- }
305
- };
306
- function isTerminalIntegrationRun(run) {
307
- return TERMINAL_RUN_STATUSES.has(run.status);
308
- }
309
- function unwrapIntegrationResponse(response, fallbackCode, fallbackMessage, sensitiveValues = []) {
310
- if (response.data !== null && response.data !== void 0) return response.data;
311
- const error = response.error;
312
- const message = typeof error?.message === "string" && error.message.trim().length > 0 ? error.message : fallbackMessage;
313
- const code = typeof error?.code === "string" ? error.code : typeof error?.error === "string" ? error.error : fallbackCode;
314
- const statusCode = typeof error?.statusCode === "number" ? error.statusCode : void 0;
315
- throw new DinewayToolsError(redactValues(message, sensitiveValues), code, statusCode);
316
- }
317
- function credentialValues(credential) {
318
- if (!credential) return [];
319
- return credential.type === "token" ? [credential.value] : [credential.username, credential.password];
320
- }
321
- function redactValues(message, sensitiveValues) {
322
- let redacted = message;
323
- for (const value of sensitiveValues) if (value.length > 0) redacted = redacted.replaceAll(value, "[REDACTED]");
324
- return redacted;
325
- }
326
- function throwIfAborted(signal) {
327
- if (signal?.aborted) throw signal.reason instanceof Error ? signal.reason : /* @__PURE__ */ new Error("Operation aborted");
328
- }
329
- async function abortableSleep(durationMs, signal) {
330
- throwIfAborted(signal);
331
- await new Promise((resolve, reject) => {
332
- const finish = () => {
333
- if (signal) signal.removeEventListener("abort", onAbort);
334
- resolve();
335
- };
336
- const timer = setTimeout(finish, durationMs);
337
- if (!signal) return;
338
- const onAbort = () => {
339
- clearTimeout(timer);
340
- reject(signal.reason instanceof Error ? signal.reason : /* @__PURE__ */ new Error("Operation aborted"));
341
- };
342
- signal.addEventListener("abort", onAbort, { once: true });
343
- });
344
- }
345
-
346
- //#endregion
347
- export { readForgewayCredentials as _, InvalidForgewayAccountCredentialsError as a, getForgewayDinewayAccount as c, normalizeForgewayEmail as d, readStoredForgewayAccount as f, listForgewayCredentials as g, sendForgewayAccountLoginLink as h, DEFAULT_FORGEWAY_API_BASE_URL as i, normalizeDinewayWebUrl as l, removeStoredForgewayAccount as m, DinewayToolsService as n, completeForgewayAccountLogin as o, refreshForgewayAccountCredentials as p, DEFAULT_DINEWAY_WEB_URL as r, createForgewayAccountClient as s, DinewayToolsError as t, normalizeForgewayApiUrl as u, writeForgewayCredentials as v };
245
+ export { createForgewayAccountClient as a, normalizeForgewayApiUrl as c, refreshForgewayAccountCredentials as d, removeStoredForgewayAccount as f, writeForgewayCredentials as g, readForgewayCredentials as h, completeForgewayAccountLogin as i, normalizeForgewayEmail as l, listForgewayCredentials as m, DEFAULT_FORGEWAY_API_BASE_URL as n, getForgewayDinewayAccount as o, sendForgewayAccountLoginLink as p, InvalidForgewayAccountCredentialsError as r, normalizeDinewayWebUrl as s, DEFAULT_DINEWAY_WEB_URL as t, readStoredForgewayAccount as u };
@@ -1,4 +1,4 @@
1
- import { a as __exportAll } from "./runner-CPugEIU8.mjs";
1
+ import { a as __exportAll } from "./runner-DJiRFyLI.mjs";
2
2
  import { t as validateIdentifier } from "./validate-VPnKoIzW.mjs";
3
3
  import { s as isSqlite, u as tableExists } from "./dialect-helpers-fk43GbDb.mjs";
4
4
  import { sql } from "kysely";
@@ -1,5 +1,5 @@
1
- import { b as HitlRequestService } from "./site-context-CqNMaJ5s.mjs";
2
- import { t as ExperimentalSiteContextWorkflowDisabledError } from "./experimental-workflows-DOo7QDRn.mjs";
1
+ import { b as HitlRequestService } from "./site-context-CA7rbxux.mjs";
2
+ import { t as ExperimentalSiteContextWorkflowDisabledError } from "./experimental-workflows-B9x8delL.mjs";
3
3
 
4
4
  //#region src/api/handlers/hitl-requests.ts
5
5
  const HITL_NOT_FOUND_RE = /not found/i;
@@ -1,8 +1,8 @@
1
- import { t as WorkflowHitlCoordinator } from "./site-context-CqNMaJ5s.mjs";
2
- import { t as apiError } from "./error-BPA9T0AW.mjs";
3
- import { n as resolveActorIdentity } from "./actor-BraTCiOp.mjs";
4
- import { p as logSiteActivitySafely } from "./activity-events-C1U22VYR.mjs";
5
- import { t as ExperimentalSiteContextWorkflowDisabledError } from "./experimental-workflows-DOo7QDRn.mjs";
1
+ import { t as WorkflowHitlCoordinator } from "./site-context-CA7rbxux.mjs";
2
+ import { t as apiError } from "./error-DLg1H2LT.mjs";
3
+ import { n as resolveActorIdentity } from "./actor-DrJJsvy6.mjs";
4
+ import { p as logSiteActivitySafely } from "./activity-events-BVo9rMUz.mjs";
5
+ import { t as ExperimentalSiteContextWorkflowDisabledError } from "./experimental-workflows-B9x8delL.mjs";
6
6
  import { Role } from "@dineway-ai/auth";
7
7
 
8
8
  //#region src/api/hitl-route-helpers.ts
@@ -1,12 +1,12 @@
1
1
  import { n as slugify } from "./slugify-KSsVD_D3.mjs";
2
- import { t as TaxonomyRepository } from "./taxonomy-DKG0n_q8.mjs";
2
+ import { t as TaxonomyRepository } from "./taxonomy-BOBTJ_aE.mjs";
3
3
  import { t as OptionsRepository } from "./options-1dBRkoCl.mjs";
4
- import { o as invalidateSiteSettingsCache } from "./settings-Bx3wzDK_.mjs";
5
- import { n as resolveLocaleChain } from "./resolve-BDWXnk_V.mjs";
6
- import { l as invalidateTermCache } from "./taxonomies-iZGA_8zf.mjs";
7
- import { n as parseWxrString } from "./parser-C3ux7a3Y.mjs";
8
- import { a as validateExternalUrl, n as resolveAndValidateExternalUrl, r as ssrfSafeFetch } from "./ssrf-D00lPvtF.mjs";
9
- import { _ as sanitizeFieldSlug, a as getFilenameFromUrl, c as isInternalMetaKey, d as mapMetaKeyToField, f as mapPostTypeToCollection, h as relativizeContentLinks, i as checkSchemaCompatibility, l as isInternalPostType, m as normalizeUrl$1, n as FEATURED_IMAGE_FIELD, o as guessMimeType, p as mapWpStatus, r as buildAttachmentMap, s as inferMetaType, t as BASE_REQUIRED_FIELDS, u as isPluginBookkeepingMeta } from "./utils-iGiCys50.mjs";
4
+ import { o as invalidateSiteSettingsCache } from "./settings-CAsQLi0N.mjs";
5
+ import { a as validateExternalUrl, n as resolveAndValidateExternalUrl, r as ssrfSafeFetch } from "./ssrf-C7tTSD1r.mjs";
6
+ import { n as resolveLocaleChain } from "./resolve-pZ4NQM-X.mjs";
7
+ import { l as invalidateTermCache } from "./taxonomies-93DV-1QT.mjs";
8
+ import { n as parseWxrString } from "./parser-C9rzPuSZ.mjs";
9
+ import { _ as sanitizeFieldSlug, a as getFilenameFromUrl, c as isInternalMetaKey, d as mapMetaKeyToField, f as mapPostTypeToCollection, h as relativizeContentLinks, i as checkSchemaCompatibility, l as isInternalPostType, m as normalizeUrl$1, n as FEATURED_IMAGE_FIELD, o as guessMimeType, p as mapWpStatus, r as buildAttachmentMap, s as inferMetaType, t as BASE_REQUIRED_FIELDS, u as isPluginBookkeepingMeta } from "./utils-BK2efsHv.mjs";
10
10
  import { ulid } from "ulidx";
11
11
  import { gutenbergToPortableText } from "@dineway-ai/gutenberg-to-portable-text";
12
12
 
@@ -1,6 +1,6 @@
1
- import { n as ContentBylineCredit, t as BylineSummary, u as FindManyResult } from "./types-m37xNtUj.mjs";
2
- import { t as Database } from "./types-B7Ifhtyz.mjs";
3
- import { d as ImportSource, g as ProbeResult } from "./types-ZdWRfUsC.mjs";
1
+ import { n as ContentBylineCredit, t as BylineSummary, u as FindManyResult } from "./types-6KmeXInJ.mjs";
2
+ import { t as Database } from "./types-BRCUO8NR.mjs";
3
+ import { d as ImportSource, g as ProbeResult } from "./types--3oJQ0hs.mjs";
4
4
  import { Kysely } from "kysely";
5
5
  import { PortableTextBlock } from "@dineway-ai/gutenberg-to-portable-text";
6
6
  import { Readable } from "node:stream";
package/dist/index.d.mts CHANGED
@@ -1,20 +1,20 @@
1
- import { _ as UpdateCollectionInput, a as ColumnType, d as FieldType, f as FieldValidation, g as RESERVED_FIELD_SLUGS, h as RESERVED_COLLECTION_SLUGS, i as CollectionWithFields, l as FIELD_TYPE_TO_COLUMN, m as PublicDiscoveryRules, n as CollectionSource, o as CreateCollectionInput, p as FieldWidgetOptions, r as CollectionSupport, s as CreateFieldInput, t as Collection, u as Field, v as UpdateFieldInput } from "./types-Cd_2Jeqp.mjs";
2
- import { a as ContentSeo, c as DinewayValidationError, d as ScheduledNotDueError, f as UpdateContentInput, i as ContentItem, l as FindManyOptions, m as encodeCursor, n as ContentBylineCredit, o as ContentSeoInput, p as decodeCursor, s as CreateContentInput, t as BylineSummary, u as FindManyResult } from "./types-m37xNtUj.mjs";
3
- import { $ as PluginMcpCommandTool, $a as RevisionListResponse, $i as getTranslations, $n as GetCommentsOptions, $o as handleContentUpdate, $r as PluginSecretStore, $s as ApiContext, $t as currentTimestamp, A as MediaUploadEvent, Aa as PortableTextTextBlock, Ai as invalidateCommentObjectCache, An as getTaxonomyDef, Ar as AssignmentAccessContext, As as RevisionRepository, At as ResolvedPluginHooks, B as PluginActor, Ba as SectionSource, Bi as CollectionResult, Bn as getByline, Bo as handleContentDiscardDraft, Br as BuiltContentReleasePayload, Bt as StoredComment, C as FieldWidgetConfig, Ca as prosemirrorToPortableText, Ci as CacheNamespace, Cn as UpdateWidgetInput, Co as SandboxRunnerFactory, Cr as GeneratePreviewTokenOptions, Cs as SiteActivity, Ct as PortableTextBlockField, D as KVAccess, Da as PortableTextLinkMark, Di as contentNamespaces, Dn as WidgetType, Do as PluginMcpTargetAuthorizer, Dr as generatePreviewToken, Ds as SiteActivitySourceType, Dt as PublicSchemaNode, E as HttpAccess, Ea as PortableTextImageBlock, Ei as contentNamespace, En as WidgetComponentDef, Er as VerifyPreviewTokenResult, Es as SiteActivityResultStatus, Et as PublicPageSchema, F as PageMetadataContribution, Fa as getSection, Fi as isObjectCacheActive, Fn as CreateTermInput, Fo as handleContentCompare, Fr as HandoffResumeResult, Fs as CollectionFilter$1, Ft as StandardPluginDefinition, G as PluginAuthMethod, Ga as SchemaRegistry, Gi as InferCollectionData, Gn as CreateMenuInput, Go as handleContentListTrashed, Gr as createNodeSandboxRunner, Gt as PublicationReadinessPolicyBlocker, H as PluginAdminConfig, Ha as validateContent, Hi as DinewayCollections, Hn as getEntriesByByline, Ho as handleContentGet, Hr as PublicationReleasePolicyDisposition, Hs as DatabaseConfig, I as PageMetadataEvent, Ia as getSections, Ii as AfterCallback, In as TaxonomyDef, Io as handleContentCountScheduled, Ir as HandoffSnapshotStore, Is as EntryData, It as StandardRouteEntry, J as PluginDefinition, Ja as handleMediaCreate, Ji as TranslationSummary, Jn as MenuItem, Jo as handleContentRestore, Jr as createNoopSandboxRunner, K as PluginCapability, Ka as MediaListResponse, Ki as ResolvePathResult, Kn as CreateMenuItemInput, Ko as handleContentPermanentDelete, Kr as NoopSandboxRunner, Kt as PublicationReadinessPolicyFinding, L as PageMetadataHandler, La as CreateSectionInput, Li as after, Ln as TaxonomyTerm, Lo as handleContentCountTrashed, Lr as ResumeHandoffSnapshotInput, Ls as EntryFilter, Lt as StandardRouteHandler, M as PageFragmentContribution, Ma as ProseMirrorDocument, Mi as invalidateObjectCache, Mn as getTaxonomyTerms, Mr as AssignmentListInput, Ms as MediaItem, Mt as RouteContext, N as PageFragmentEvent, Na as ProseMirrorMark, Ni as invalidateSchemaObjectCache, Nn as getTerm, Nr as AssignmentService, Ns as MediaRepository, Nt as StandardHookEntry, O as LogAccess, Oa as PortableTextMarkDef, Oi as invalidateBylineObjectCache, On as getEntriesByTerm, Or as parseContentId, Os as SiteActivityTimelineQuery, Ot as ResolvedHook, P as PageFragmentHandler, Pa as ProseMirrorNode, Pi as invalidateTaxonomyObjectCache, Pn as getTermsForEntries, Po as handleContentAuthors, Pr as CreateWorkflowAssignmentInput, Ps as ContentRepository, Pt as StandardHookHandler, Q as PluginMcpCommandPreview, Qa as handleMediaUpdate, Qi as getEditMeta, Qn as UpdateMenuItemInput, Qo as handleContentUnschedule, Qr as PluginSecretStatus, Qt as PublicationReleasePreparationTarget, Ra as GetSectionsOptions, Ri as CacheHint, Rn as TaxonomyTermRow, Ro as handleContentCreate, Rr as CreateHandoffSnapshotInput, Rs as WhereRange, Rt as StorageCollection, S as EmailMessage, Sa as portableTextToProsemirror, Si as verifyPreviewSignature, Sn as ReorderWidgetsInput, So as SandboxRunner, Sr as getPreviewUrl, Ss as CreateSiteActivityInput, St as PortableTextBlockConfig, T as HookName, Ta as PortableTextHtmlBlock, Ti as cachedQuery, Tn as WidgetArea, To as SerializedRequest, Tr as VerifyPreviewTokenOptions, Ts as SiteActivityRepository, Tt as PublicPageImage, U as PluginAdminExports, Ua as getCollectionInfo, Ui as EditFieldMeta, Un as getMenu, Uo as handleContentGetIncludingTrashed, Ur as buildStableActionHash, Us as DinewayDatabaseError, Ut as PublicationPolicyOverride, V as PluginActorType, Va as UpdateSectionInput, Vi as ContentEntry, Vn as getBylineBySlug, Vo as handleContentDuplicate, Vr as PublicationReleasePolicyContribution, Vs as getDb, Vt as isStandardPluginDefinition, W as PluginAdminPage, Wa as SchemaError, Wi as EntryResult, Wn as getMenus, Wo as handleContentList, Wr as NodeSandboxRunner, Wt as PublicationReadinessBlocker, X as PluginManifest, Xa as handleMediaGet, Xi as getDinewayCollection, Xn as ReorderMenuItemsInput, Xo as handleContentTranslations, Xr as createPluginManager, Y as PluginHooks, Ya as handleMediaDelete, Yi as TranslationsResult, Yn as MenuItemType, Yo as handleContentSchedule, Yr as PluginManager, Yt as PublicationReadinessWarning, Z as PluginMcpAuthorization, Za as handleMediaList, Zi as getDinewayEntry, Zn as UpdateMenuInput, Zo as handleContentUnpublish, Zr as createReviewedPluginMcpCommandExecutor, Zt as PublicationReleasePolicy, _ as EmailAfterSendHandler, _a as checkRateLimit, _i as PreviewSidecarSignature, _n as getWidgetAreas, _o as HookResult, _r as isBlockedInPreview, _s as AssignmentPriority, _t as PluginRouteTargetAuthorizationRequest, a as CommentAfterModerateEvent, aa as createNoop, ai as FilePreviewMiddlewareConfig, an as searchCollection, ao as SiteBriefing, ar as getSiteSetting, as as FileValue, at as PluginMcpResource, b as EmailDeliverEvent, ba as computeContentHash, bi as parsePreviewSignatureHeader, bn as CreateWidgetInput, bo as SandboxEmailSendCallback, br as GetPreviewUrlOptions, bs as CreateAssignmentInput, bt as PluginStorageConfig, c as CommentBeforeCreateHandler, ca as GuestAccessTokenConfigurationError, ci as FileSessionDatabaseFactoryOptions, cn as CollectionSearchOptions, cr as PreviewToolbarConfig, cs as ContentReference, ct as PluginMcpRiskFactor, d as ContentAccess, da as VerifyGuestAccessTokenOptions, di as SessionDatabaseHandle, dn as SearchResponse, do as ConfirmedContentPublicationResult, dr as ApplySnapshotToDatabaseOptions, ds as RelationRepository, dt as PluginMigration, ea as resolveDinewayPath, ec as ContentListResponse, ei as PluginSecretStoreOptions, en as extractPlainText, eo as RevisionResponse, er as GetCommentsResult, es as portableText, et as PluginMcpConfig, f as ContentDeleteEvent, fa as VerifyGuestAccessTokenResult, fi as SessionDatabaseInfo, fn as SearchResult, fo as PublishConfirmedContentInput, fr as applySnapshotToDatabase, fs as UpdateRelationInput, ft as PluginRoute, g as EmailAfterSendEvent, ga as RateLimitResult, gi as PreviewSidecarClient, gn as getWidgetArea, go as HookPipeline, gr as renderPreviewLoadingPage, gs as AssignmentListQuery, gt as PluginRouteMethod, h as EmailAccess, ha as verifyGuestAccessToken, hi as SessionOpenOrCreateOptions, hn as Suggestion, hr as Snapshot, hs as AssignmentActorType, ht as PluginRouteBodyMode, i as CommentAfterCreateHandler, ia as createEditable, ic as ManifestResponse, ii as definePlugin, in as search, io as generateManifest, ir as getPluginSettings, is as FieldUIHints, it as PluginMcpQueryTool, j as ModerationDecision, ja as PortableTextUnknownBlock, ji as invalidateMenuObjectCache, jn as getTaxonomyDefs, jr as AssignmentActionInput, js as CreateMediaInput, jt as ResolvedPluginMcpConfig, k as MediaAccess, ka as PortableTextSpan, ki as invalidateCollectionCache, kn as getEntryTerms, ko as PluginDescriptor, kr as verifyPreviewToken, kt as ResolvedPlugin, l as CommentModerateEvent, la as IssueGuestAccessTokenOptions, li as SessionCleanupResult, ln as SearchConfig, lr as renderPreviewToolbar, ls as CreateRelationInput, lt as PluginMcpRiskLevel, m as ContentPublishStateChangeEvent, ma as issueGuestAccessToken, mi as SessionOpenOptions, mn as SuggestOptions, mo as PluginRouteError, mr as getAppliedSnapshotMeta, ms as AssignmentActorRef, mt as PluginRouteAuthorization, n as CollectionCommentSettings, na as EditProxy, nc as FieldDescriptor, ni as pluginManifestSchema, nn as getSearchStats, no as handleRevisionList, nr as getComments, ns as image, nt as PluginMcpPiiClass, o as CommentAfterModerateHandler, oa as GuestAccessExpectedScope, oi as createFilePreviewMiddleware, on as searchWithDb, oo as SiteBriefingAssembler, or as getSiteSettings, os as ImageValue, ot as PluginMcpResourceContent, p as ContentHookEvent, pa as hashGuestAccessToken, pi as SessionDatabaseLimitError, pn as SearchStats, pr as dropSessionDatabaseTables, ps as Assignment, q as PluginContext, qa as MediaResponse, qi as SelectedCollectionData, qn as Menu, qo as handleContentPublish, qr as SandboxNotAvailableError, qt as PublicationReadinessPolicyTarget, r as CommentAfterCreateEvent, ra as FieldAnnotation, rc as ListResponse, ri as runPluginMigrations, rn as getSuggestions, ro as handleRevisionRestore, rr as getPluginSetting, rs as FieldDefinition, rt as PluginMcpPiiPolicy, s as CommentBeforeCreateEvent, sa as GuestAccessTokenClaims, si as FileSessionDatabaseFactory, sn as FTSManager, so as SiteBriefingContextEntry, sr as setSiteSettings, ss as PortableTextBlock, st as PluginMcpReversibility, t as BreadcrumbItem, ta as CMSAnnotation, tc as ContentResponse, ti as ValidatedPluginManifest, tn as extractSearchableFields, to as handleRevisionGet, tr as getCommentCount, ts as reference, tt as PluginMcpExecutionContext, u as CommentModerateHandler, ua as IssuedGuestAccessToken, ui as SessionDatabaseFactory, un as SearchOptions, uo as ConfirmedContentAuthorizer, ur as AppliedSnapshotMeta, us as Relation, ut as PluginMcpTool, v as EmailBeforeSendEvent, va as isSafeHref, vi as buildPreviewSignatureHeader, vn as getWidgetComponents, vo as createHookPipeline, vr as getPreviewToken, vs as AssignmentRepository, vt as PluginRouteTargetAuthorizer, w as HookConfig, wa as PortableTextCodeBlock, wi as CachedQueryOptions, wn as Widget, wo as SandboxedPlugin, wr as PreviewTokenPayload, ws as SiteActivityActorType, wt as PublicPageContext, x as EmailDeliverHandler, xa as hashString, xi as signPreviewUrl, xn as PropDef, xo as SandboxOptions, xr as buildPreviewUrl, xs as MarkAssignmentsOverdueInput, xt as PluginTargetScope, y as EmailBeforeSendHandler, ya as sanitizeHref, yi as defaultPreviewSidecarClient, yn as CreateWidgetAreaInput, yo as SandboxEmailMessage, yr as isPreviewRequest, ys as AssignmentStatus, yt as PluginRouteTargetContext, z as PagePlacement, za as Section, zi as CollectionFilter, zn as UpdateTermInput, zo as handleContentDelete, zr as HandoffSnapshot, zs as WhereValue } from "./types-DB9weIZo.mjs";
4
- import { $ as RestaurantReservationExperienceTable, $t as VenuePaymentStatus, A as RestaurantOperatingSettingsTable, At as VenueAvailabilityRuleTable, B as RestaurantPaymentFlow, Bt as VenueLocationTable, C as RestaurantMenuOverrideTable, Ct as RestaurantSpecialHoursTable, D as RestaurantModifierGroupTable, Dt as RestaurantZoneTable, E as RestaurantMenuTable, Et as RestaurantTaxMode, F as RestaurantOrderSource, Ft as VenueCancellationPolicyTierTable, G as RestaurantPriorityAlertTable, Gt as VenueOrderStatusHistoryTable, H as RestaurantPaymentTable, Ht as VenueNotificationSettingsTable, I as RestaurantOrderStatus, It as VenueConversationReadTable, J as RestaurantReservationAddonTable, Jt as VenuePaymentAllocationStatus, K as RestaurantRefundTable, Kt as VenueOrderTable, L as RestaurantOrderStatusHistoryTable, Lt as VenueConversationTable, M as RestaurantOrderItemTable, Mt as VenueBookingMode, N as RestaurantOrderSequenceTable, Nt as VenueBookingPolicyTable, O as RestaurantModifierOptionTable, Ot as UserTable, P as RestaurantOrderSnapshotTable, Pt as VenueCancellationPolicyTable, Q as RestaurantReservationExperienceIncludedAddonTable, Qt as VenuePaymentRecordStatus, R as RestaurantOrderTable, Rt as VenueGuestAccessTable, S as RestaurantMenuLocationAssignmentTable, St as RestaurantServiceScope, T as RestaurantMenuSectionTable, Tt as RestaurantTableTable, U as RestaurantPriorityAlertDeliveryTable, Ut as VenueOrderCancellationSnapshotTable, V as RestaurantPaymentStatus, Vt as VenueMessageTable, W as RestaurantPriorityAlertOpportunityTable, Wt as VenueOrderStatus, X as RestaurantReservationDemandSettingsTable, Xt as VenuePaymentCollection, Y as RestaurantReservationBlockTable, Yt as VenuePaymentAllocationTable, Z as RestaurantReservationExperienceAddonCategoryTable, Zt as VenuePaymentEventTable, _ as RestaurantLocationMembershipTable, _t as RestaurantReservationRequestTableAssignmentTable, a as RestaurantCartHoldTable, an as VenueRatePlanTable, at as RestaurantReservationHoldTable, b as RestaurantMenuItemTable, bt as RestaurantReservationTable, c as RestaurantDeliveryZoneTable, cn as VenueReviewInvitationTable, ct as RestaurantReservationOfferTable, d as RestaurantFulfilmentType, dn as VenueSpaceLayoutTable, dt as RestaurantReservationPromotionOperationTable, en as VenuePaymentTable, et as RestaurantReservationGiftCardAllocationTable, f as RestaurantGiftCardLedgerEntryTable, fn as VenueSpaceTable, ft as RestaurantReservationPromotionTable, g as RestaurantHoursTable, gt as RestaurantReservationRequestTable, h as RestaurantHoursOverrideTable, ht as RestaurantReservationQuoteTable, i as RestaurantCapacityOverrideTable, in as VenueQuoteTable, it as RestaurantReservationHoldCommercialSelectionTable, j as RestaurantOrderItemModifierTable, jt as VenueBookingHoldTable, k as RestaurantNotificationSettingsTable, kt as VenueAvailabilityBlockTable, l as RestaurantDineInSessionTable, ln as VenueReviewResponseTable, lt as RestaurantReservationPaymentPolicyTable, m as RestaurantGuestAccessTable, mt as RestaurantReservationQuoteLineTable, n as MediaTable, nn as VenueQuoteRecordStatus, nt as RestaurantReservationHoldAddonOperationTable, o as RestaurantClosureTable, on as VenueRecordStatus, ot as RestaurantReservationLanguageSettingsTable, p as RestaurantGiftCardTable, pn as VenueTable, pt as RestaurantReservationQuoteCheckoutTable, q as RestaurantReservationAddonCategoryTable, qt as VenueOutboxEventTable, r as RestaurantCapacityCounterTable, rn as VenueQuoteStatus, rt as RestaurantReservationHoldAddonTable, s as RestaurantDeliverySettingsTable, sn as VenueRefundTable, st as RestaurantReservationOfferLinkDeliveryTable, t as Database, tn as VenueQuoteLineTable, tt as RestaurantReservationGiftCardOperationTable, u as RestaurantDineInSettingsTable, un as VenueReviewTable, ut as RestaurantReservationPromotionAllocationTable, v as RestaurantLocationTable, vt as RestaurantReservationSettingsTable, w as RestaurantMenuSectionItemTable, wt as RestaurantTabRoundTable, x as RestaurantMenuItemTranslationTable, xt as RestaurantReservationTableAssignmentTable, y as RestaurantMenuItemModifierGroupTable, yt as RestaurantReservationStatus, z as RestaurantOutboxDeliveryTable, zt as VenueLocationMembershipTable } from "./types-B7Ifhtyz.mjs";
5
- import { _ as MediaValue, n as generatePlaceholder, r as normalizeMediaValue, t as PlaceholderData } from "./placeholder-0cGpMonY.mjs";
6
- import { n as getMigrationStatus, t as MigrationStatus } from "./runner-CvwzNJHj.mjs";
7
- import { C as parseWxr, D as ContentBylineInput, E as BylineRepository, O as CreateBylineInput, S as WxrTag, T as decodeSlug, _ as WxrAuthor, a as wxrSource, b as WxrPost, c as getFileSources, d as probeUrl, f as registerSource, g as WxrAttachment, i as parseWxrDate, k as UpdateBylineInput, l as getSource, n as wordpressRestSource, o as clearSources, p as importReusableBlocksAsSections, s as getAllSources, u as getUrlSources, v as WxrCategory, w as parseWxrString, x as WxrSite, y as WxrData } from "./index-DXcPysP3.mjs";
8
- import { a as AuthResult, i as AuthProviderModule, n as AuthProviderAdminExports, o as AuthRouteDescriptor, r as AuthProviderDescriptor, s as ExternalAuthConfig, t as AuthDescriptor } from "./types-BdsNqnHA.mjs";
9
- import { a as PostgresConfig, n as DatabaseDialectType, o as SqliteConfig, r as LibsqlConfig, t as DatabaseDescriptor } from "./adapters-C-iHnQYy.mjs";
10
- import { i as ObjectCacheRuntimeConfig, n as ObjectCacheBackend, r as ObjectCacheDescriptor } from "./types-B-KSspMO.mjs";
11
- import { a as ListOptions, c as S3StorageConfig, d as Storage, f as StorageDescriptor, i as FileInfo, l as SignedUploadOptions, n as DinewayStorageError, o as ListResult, p as UploadResult, r as DownloadResult, s as LocalStorageConfig, t as CreateStorageFn, u as SignedUploadUrl } from "./types-D8iukuuI.mjs";
12
- import { c as I18nConfig, d as isI18nEnabled, l as getFallbackChain, n as resolveContentUrl, t as ResolveContentUrlInput, u as getI18nConfig } from "./public-url-CbmE-u2t.mjs";
13
- import { C as SiteSettingKey, S as SeoSettings, _ as SeedTaxonomyTerm, a as applySeed, b as ValidationResult, c as SeedCollection, d as SeedFile, f as SeedMenu, g as SeedTaxonomy, l as SeedContentEntry, o as SeedApplyOptions, p as SeedMenuItem, s as SeedApplyResult, t as validateSeed, u as SeedField, v as SeedWidget, w as SiteSettings, x as MediaReference, y as SeedWidgetArea } from "./validate-BRq01mTo.mjs";
14
- import "./byline-fields-CexmiaFr.mjs";
1
+ import { _ as UpdateCollectionInput, a as ColumnType, d as FieldType, f as FieldValidation, g as RESERVED_FIELD_SLUGS, h as RESERVED_COLLECTION_SLUGS, i as CollectionWithFields, l as FIELD_TYPE_TO_COLUMN, m as PublicDiscoveryRules, n as CollectionSource, o as CreateCollectionInput, p as FieldWidgetOptions, r as CollectionSupport, s as CreateFieldInput, t as Collection, u as Field, v as UpdateFieldInput } from "./types-CKIt_jmM.mjs";
2
+ import { a as ContentSeo, c as DinewayValidationError, d as ScheduledNotDueError, f as UpdateContentInput, i as ContentItem, l as FindManyOptions, m as encodeCursor, n as ContentBylineCredit, o as ContentSeoInput, p as decodeCursor, s as CreateContentInput, t as BylineSummary, u as FindManyResult } from "./types-6KmeXInJ.mjs";
3
+ import { $ as PluginMcpCommandTool, $a as RevisionListResponse, $i as getTranslations, $n as GetCommentsOptions, $o as handleContentUpdate, $r as PluginSecretStore, $t as currentTimestamp, A as MediaUploadEvent, Aa as PortableTextTextBlock, Ai as invalidateCommentObjectCache, An as getTaxonomyDef, Ar as AssignmentAccessContext, As as SiteActivityTimelineQuery, At as ResolvedPluginHooks, B as PluginActor, Ba as SectionSource, Bi as CollectionResult, Bn as getByline, Bo as handleContentDiscardDraft, Br as BuiltContentReleasePayload, Bs as WhereRange, Bt as StoredComment, C as FieldWidgetConfig, Ca as prosemirrorToPortableText, Ci as CacheNamespace, Cn as UpdateWidgetInput, Co as SandboxRunnerFactory, Cr as GeneratePreviewTokenOptions, Ct as PortableTextBlockField, D as KVAccess, Da as PortableTextLinkMark, Di as contentNamespaces, Dn as WidgetType, Do as PluginMcpTargetAuthorizer, Dr as generatePreviewToken, Ds as SiteActivityRepository, Dt as PublicSchemaNode, E as HttpAccess, Ea as PortableTextImageBlock, Ei as contentNamespace, En as WidgetComponentDef, Er as VerifyPreviewTokenResult, Es as SiteActivityActorType, Et as PublicPageSchema, F as PageMetadataContribution, Fa as getSection, Fi as isObjectCacheActive, Fn as CreateTermInput, Fo as handleContentCompare, Fr as HandoffResumeResult, Fs as MediaRepository, Ft as StandardPluginDefinition, G as PluginAuthMethod, Ga as SchemaRegistry, Gi as InferCollectionData, Gn as CreateMenuInput, Go as handleContentListTrashed, Gr as createNodeSandboxRunner, Gs as DinewayDatabaseError, Gt as PublicationReadinessPolicyBlocker, H as PluginAdminConfig, Ha as validateContent, Hi as DinewayCollections, Hn as getEntriesByByline, Ho as handleContentGet, Hr as PublicationReleasePolicyDisposition, I as PageMetadataEvent, Ia as getSections, Ii as AfterCallback, In as TaxonomyDef, Io as handleContentCountScheduled, Ir as HandoffSnapshotStore, Is as ContentRepository, It as StandardRouteEntry, J as PluginDefinition, Ja as handleMediaCreate, Ji as TranslationSummary, Jn as MenuItem, Jo as handleContentRestore, Jr as createNoopSandboxRunner, K as PluginCapability, Ka as MediaListResponse, Ki as ResolvePathResult, Kn as CreateMenuItemInput, Ko as handleContentPermanentDelete, Kr as NoopSandboxRunner, Kt as PublicationReadinessPolicyFinding, L as PageMetadataHandler, La as CreateSectionInput, Li as after, Ln as TaxonomyTerm, Lo as handleContentCountTrashed, Lr as ResumeHandoffSnapshotInput, Ls as CollectionFilter$1, Lt as StandardRouteHandler, M as PageFragmentContribution, Ma as ProseMirrorDocument, Mi as invalidateObjectCache, Mn as getTaxonomyTerms, Mr as AssignmentListInput, Ms as RevisionRepository, Mt as RouteContext, N as PageFragmentEvent, Na as ProseMirrorMark, Ni as invalidateSchemaObjectCache, Nn as getTerm, Nr as AssignmentService, Ns as CreateMediaInput, Nt as StandardHookEntry, O as LogAccess, Oa as PortableTextMarkDef, Oi as invalidateBylineObjectCache, On as getEntriesByTerm, Or as parseContentId, Os as SiteActivityResultStatus, Ot as ResolvedHook, P as PageFragmentHandler, Pa as ProseMirrorNode, Pi as invalidateTaxonomyObjectCache, Pn as getTermsForEntries, Po as handleContentAuthors, Pr as CreateWorkflowAssignmentInput, Ps as MediaItem, Pt as StandardHookHandler, Q as PluginMcpCommandPreview, Qa as handleMediaUpdate, Qi as getEditMeta, Qn as UpdateMenuItemInput, Qo as handleContentUnschedule, Qr as PluginSecretStatus, Qt as PublicationReleasePreparationTarget, Ra as GetSectionsOptions, Ri as CacheHint, Rn as TaxonomyTermRow, Ro as handleContentCreate, Rr as CreateHandoffSnapshotInput, Rs as EntryData, Rt as StorageCollection, S as EmailMessage, Sa as portableTextToProsemirror, Si as verifyPreviewSignature, Sn as ReorderWidgetsInput, So as SandboxRunner, Sr as getPreviewUrl, St as PortableTextBlockConfig, T as HookName, Ta as PortableTextHtmlBlock, Ti as cachedQuery, Tn as WidgetArea, To as SerializedRequest, Tr as VerifyPreviewTokenOptions, Ts as SiteActivity, Tt as PublicPageImage, U as PluginAdminExports, Ua as getCollectionInfo, Ui as EditFieldMeta, Un as getMenu, Uo as handleContentGetIncludingTrashed, Ur as buildStableActionHash, Us as getDb, Ut as PublicationPolicyOverride, V as PluginActorType, Va as UpdateSectionInput, Vi as ContentEntry, Vn as getBylineBySlug, Vo as handleContentDuplicate, Vr as PublicationReleasePolicyContribution, Vs as WhereValue, Vt as isStandardPluginDefinition, W as PluginAdminPage, Wa as SchemaError, Wi as EntryResult, Wn as getMenus, Wo as handleContentList, Wr as NodeSandboxRunner, Ws as DatabaseConfig, Wt as PublicationReadinessBlocker, X as PluginManifest, Xa as handleMediaGet, Xi as getDinewayCollection, Xn as ReorderMenuItemsInput, Xo as handleContentTranslations, Xr as createPluginManager, Y as PluginHooks, Ya as handleMediaDelete, Yi as TranslationsResult, Yn as MenuItemType, Yo as handleContentSchedule, Yr as PluginManager, Yt as PublicationReadinessWarning, Z as PluginMcpAuthorization, Za as handleMediaList, Zi as getDinewayEntry, Zn as UpdateMenuInput, Zo as handleContentUnpublish, Zr as createReviewedPluginMcpCommandExecutor, Zt as PublicationReleasePolicy, _ as EmailAfterSendHandler, _a as checkRateLimit, _i as PreviewSidecarSignature, _n as getWidgetAreas, _o as HookResult, _r as isBlockedInPreview, _s as AssignmentPriority, _t as PluginRouteTargetAuthorizationRequest, a as CommentAfterModerateEvent, aa as createNoop, ac as ListResponse, ai as FilePreviewMiddlewareConfig, an as searchCollection, ao as SiteBriefing, ar as getSiteSetting, as as FileValue, at as PluginMcpResource, b as EmailDeliverEvent, ba as computeContentHash, bi as parsePreviewSignatureHeader, bn as CreateWidgetInput, bo as SandboxEmailSendCallback, br as GetPreviewUrlOptions, bs as CreateAssignmentInput, bt as PluginStorageConfig, c as CommentBeforeCreateHandler, ca as GuestAccessTokenConfigurationError, ci as FileSessionDatabaseFactoryOptions, cn as CollectionSearchOptions, cr as PreviewToolbarConfig, cs as ContentReference, ct as PluginMcpRiskFactor, d as ContentAccess, da as VerifyGuestAccessTokenOptions, di as SessionDatabaseHandle, dn as SearchResponse, do as ConfirmedContentPublicationResult, dr as ApplySnapshotToDatabaseOptions, ds as RelationRepository, dt as PluginMigration, ea as resolveDinewayPath, ei as PluginSecretStoreOptions, en as extractPlainText, eo as RevisionResponse, er as GetCommentsResult, es as portableText, et as PluginMcpConfig, f as ContentDeleteEvent, fa as VerifyGuestAccessTokenResult, fi as SessionDatabaseInfo, fn as SearchResult, fo as PublishConfirmedContentInput, fr as applySnapshotToDatabase, fs as UpdateRelationInput, ft as PluginRoute, g as EmailAfterSendEvent, ga as RateLimitResult, gi as PreviewSidecarClient, gn as getWidgetArea, go as HookPipeline, gr as renderPreviewLoadingPage, gs as AssignmentListQuery, gt as PluginRouteMethod, h as EmailAccess, ha as verifyGuestAccessToken, hi as SessionOpenOrCreateOptions, hn as Suggestion, hr as Snapshot, hs as AssignmentActorType, ht as PluginRouteBodyMode, i as CommentAfterCreateHandler, ia as createEditable, ic as FieldDescriptor, ii as definePlugin, in as search, io as generateManifest, ir as getPluginSettings, is as FieldUIHints, it as PluginMcpQueryTool, j as ModerationDecision, ja as PortableTextUnknownBlock, ji as invalidateMenuObjectCache, jn as getTaxonomyDefs, jr as AssignmentActionInput, jt as ResolvedPluginMcpConfig, k as MediaAccess, ka as PortableTextSpan, ki as invalidateCollectionCache, kn as getEntryTerms, ko as PluginDescriptor, kr as verifyPreviewToken, ks as SiteActivitySourceType, kt as ResolvedPlugin, l as CommentModerateEvent, la as IssueGuestAccessTokenOptions, li as SessionCleanupResult, ln as SearchConfig, lr as renderPreviewToolbar, ls as CreateRelationInput, lt as PluginMcpRiskLevel, m as ContentPublishStateChangeEvent, ma as issueGuestAccessToken, mi as SessionOpenOptions, mn as SuggestOptions, mo as PluginRouteError, mr as getAppliedSnapshotMeta, ms as AssignmentActorRef, mt as PluginRouteAuthorization, n as CollectionCommentSettings, na as EditProxy, nc as ContentListResponse, ni as pluginManifestSchema, nn as getSearchStats, no as handleRevisionList, nr as getComments, ns as image, nt as PluginMcpPiiClass, o as CommentAfterModerateHandler, oa as GuestAccessExpectedScope, oc as ManifestResponse, oi as createFilePreviewMiddleware, on as searchWithDb, oo as SiteBriefingAssembler, or as getSiteSettings, os as ImageValue, ot as PluginMcpResourceContent, p as ContentHookEvent, pa as hashGuestAccessToken, pi as SessionDatabaseLimitError, pn as SearchStats, pr as dropSessionDatabaseTables, ps as Assignment, q as PluginContext, qa as MediaResponse, qi as SelectedCollectionData, qn as Menu, qo as handleContentPublish, qr as SandboxNotAvailableError, qt as PublicationReadinessPolicyTarget, r as CommentAfterCreateEvent, ra as FieldAnnotation, rc as ContentResponse, ri as runPluginMigrations, rn as getSuggestions, ro as handleRevisionRestore, rr as getPluginSetting, rs as FieldDefinition, rt as PluginMcpPiiPolicy, s as CommentBeforeCreateEvent, sa as GuestAccessTokenClaims, si as FileSessionDatabaseFactory, sn as FTSManager, so as SiteBriefingContextEntry, sr as setSiteSettings, ss as PortableTextBlock, st as PluginMcpReversibility, t as BreadcrumbItem, ta as CMSAnnotation, tc as ApiContext, ti as ValidatedPluginManifest, tn as extractSearchableFields, to as handleRevisionGet, tr as getCommentCount, ts as reference, tt as PluginMcpExecutionContext, u as CommentModerateHandler, ua as IssuedGuestAccessToken, ui as SessionDatabaseFactory, un as SearchOptions, uo as ConfirmedContentAuthorizer, ur as AppliedSnapshotMeta, us as Relation, ut as PluginMcpTool, v as EmailBeforeSendEvent, va as isSafeHref, vi as buildPreviewSignatureHeader, vn as getWidgetComponents, vo as createHookPipeline, vr as getPreviewToken, vs as AssignmentRepository, vt as PluginRouteTargetAuthorizer, w as HookConfig, wa as PortableTextCodeBlock, wi as CachedQueryOptions, wn as Widget, wo as SandboxedPlugin, wr as PreviewTokenPayload, ws as CreateSiteActivityInput, wt as PublicPageContext, x as EmailDeliverHandler, xa as hashString, xi as signPreviewUrl, xn as PropDef, xo as SandboxOptions, xr as buildPreviewUrl, xs as MarkAssignmentsOverdueInput, xt as PluginTargetScope, y as EmailBeforeSendHandler, ya as sanitizeHref, yi as defaultPreviewSidecarClient, yn as CreateWidgetAreaInput, yo as SandboxEmailMessage, yr as isPreviewRequest, ys as AssignmentStatus, yt as PluginRouteTargetContext, z as PagePlacement, za as Section, zi as CollectionFilter, zn as UpdateTermInput, zo as handleContentDelete, zr as HandoffSnapshot, zs as EntryFilter } from "./types-TpXK8km5.mjs";
4
+ import { $ as RestaurantReservationExperienceTable, $t as VenuePaymentRecordStatus, A as RestaurantOperatingSettingsTable, At as VenueAvailabilityBlockTable, B as RestaurantPaymentFlow, Bt as VenueLocationMembershipTable, C as RestaurantMenuOverrideTable, Ct as RestaurantSpecialHoursTable, D as RestaurantModifierGroupTable, Dt as RestaurantZoneTable, E as RestaurantMenuTable, Et as RestaurantTaxMode, F as RestaurantOrderSource, Ft as VenueCancellationPolicyTable, G as RestaurantPriorityAlertTable, Gt as VenueOrderStatus, H as RestaurantPaymentTable, Ht as VenueMessageTable, I as RestaurantOrderStatus, It as VenueCancellationPolicyTierTable, J as RestaurantReservationAddonTable, Jt as VenueOutboxEventTable, K as RestaurantRefundTable, Kt as VenueOrderStatusHistoryTable, L as RestaurantOrderStatusHistoryTable, Lt as VenueConversationReadTable, M as RestaurantOrderItemTable, Mt as VenueBookingHoldTable, N as RestaurantOrderSequenceTable, Nt as VenueBookingMode, O as RestaurantModifierOptionTable, P as RestaurantOrderSnapshotTable, Pt as VenueBookingPolicyTable, Q as RestaurantReservationExperienceIncludedAddonTable, Qt as VenuePaymentEventTable, R as RestaurantOrderTable, Rt as VenueConversationTable, S as RestaurantMenuLocationAssignmentTable, St as RestaurantServiceScope, T as RestaurantMenuSectionTable, Tt as RestaurantTableTable, U as RestaurantPriorityAlertDeliveryTable, Ut as VenueNotificationSettingsTable, V as RestaurantPaymentStatus, Vt as VenueLocationTable, W as RestaurantPriorityAlertOpportunityTable, Wt as VenueOrderCancellationSnapshotTable, X as RestaurantReservationDemandSettingsTable, Xt as VenuePaymentAllocationTable, Y as RestaurantReservationBlockTable, Yt as VenuePaymentAllocationStatus, Z as RestaurantReservationExperienceAddonCategoryTable, Zt as VenuePaymentCollection, _ as RestaurantLocationMembershipTable, _t as RestaurantReservationRequestTableAssignmentTable, a as RestaurantCartHoldTable, an as VenueQuoteTable, at as RestaurantReservationHoldTable, b as RestaurantMenuItemTable, bt as RestaurantReservationTable, c as RestaurantDeliveryZoneTable, cn as VenueRefundTable, ct as RestaurantReservationOfferTable, d as RestaurantFulfilmentType, dn as VenueReviewTable, dt as RestaurantReservationPromotionOperationTable, en as VenuePaymentStatus, et as RestaurantReservationGiftCardAllocationTable, f as RestaurantGiftCardLedgerEntryTable, fn as VenueSpaceLayoutTable, ft as RestaurantReservationPromotionTable, g as RestaurantHoursTable, gt as RestaurantReservationRequestTable, h as RestaurantHoursOverrideTable, ht as RestaurantReservationQuoteTable, i as RestaurantCapacityOverrideTable, in as VenueQuoteStatus, it as RestaurantReservationHoldCommercialSelectionTable, j as RestaurantOrderItemModifierTable, jt as VenueAvailabilityRuleTable, k as RestaurantNotificationSettingsTable, kt as UserTable, l as RestaurantDineInSessionTable, ln as VenueReviewInvitationTable, lt as RestaurantReservationPaymentPolicyTable, m as RestaurantGuestAccessTable, mn as VenueTable, mt as RestaurantReservationQuoteLineTable, n as MediaTable, nn as VenueQuoteLineTable, nt as RestaurantReservationHoldAddonOperationTable, o as RestaurantClosureTable, on as VenueRatePlanTable, ot as RestaurantReservationLanguageSettingsTable, p as RestaurantGiftCardTable, pn as VenueSpaceTable, pt as RestaurantReservationQuoteCheckoutTable, q as RestaurantReservationAddonCategoryTable, qt as VenueOrderTable, r as RestaurantCapacityCounterTable, rn as VenueQuoteRecordStatus, rt as RestaurantReservationHoldAddonTable, s as RestaurantDeliverySettingsTable, sn as VenueRecordStatus, st as RestaurantReservationOfferLinkDeliveryTable, t as Database, tn as VenuePaymentTable, tt as RestaurantReservationGiftCardOperationTable, u as RestaurantDineInSettingsTable, un as VenueReviewResponseTable, ut as RestaurantReservationPromotionAllocationTable, v as RestaurantLocationTable, vt as RestaurantReservationSettingsTable, w as RestaurantMenuSectionItemTable, wt as RestaurantTabRoundTable, x as RestaurantMenuItemTranslationTable, xt as RestaurantReservationTableAssignmentTable, y as RestaurantMenuItemModifierGroupTable, yt as RestaurantReservationStatus, z as RestaurantOutboxDeliveryTable, zt as VenueGuestAccessTable } from "./types-BRCUO8NR.mjs";
5
+ import { _ as MediaValue, n as generatePlaceholder, r as normalizeMediaValue, t as PlaceholderData } from "./placeholder-D03pGvqM.mjs";
6
+ import { n as getMigrationStatus, t as MigrationStatus } from "./runner-Dye73myO.mjs";
7
+ import { C as parseWxr, D as ContentBylineInput, E as BylineRepository, O as CreateBylineInput, S as WxrTag, T as decodeSlug, _ as WxrAuthor, a as wxrSource, b as WxrPost, c as getFileSources, d as probeUrl, f as registerSource, g as WxrAttachment, i as parseWxrDate, k as UpdateBylineInput, l as getSource, n as wordpressRestSource, o as clearSources, p as importReusableBlocksAsSections, s as getAllSources, u as getUrlSources, v as WxrCategory, w as parseWxrString, x as WxrSite, y as WxrData } from "./index-Co7xtjkd.mjs";
8
+ import { a as AuthResult, i as AuthProviderModule, n as AuthProviderAdminExports, o as AuthRouteDescriptor, r as AuthProviderDescriptor, s as ExternalAuthConfig, t as AuthDescriptor } from "./types-CPaVj_GC.mjs";
9
+ import { a as PostgresConfig, n as DatabaseDialectType, o as SqliteConfig, r as LibsqlConfig, t as DatabaseDescriptor } from "./adapters-DHt3f2lu.mjs";
10
+ import { i as ObjectCacheRuntimeConfig, n as ObjectCacheBackend, r as ObjectCacheDescriptor } from "./types-CU3Wn2HC.mjs";
11
+ import { a as ListOptions, c as S3StorageConfig, d as Storage, f as StorageDescriptor, i as FileInfo, l as SignedUploadOptions, n as DinewayStorageError, o as ListResult, p as UploadResult, r as DownloadResult, s as LocalStorageConfig, t as CreateStorageFn, u as SignedUploadUrl } from "./types-CLMOusxP.mjs";
12
+ import { c as I18nConfig, d as isI18nEnabled, l as getFallbackChain, n as resolveContentUrl, t as ResolveContentUrlInput, u as getI18nConfig } from "./public-url-BQ9vf0AS.mjs";
13
+ import { C as SiteSettingKey, S as SeoSettings, _ as SeedTaxonomyTerm, a as applySeed, b as ValidationResult, c as SeedCollection, d as SeedFile, f as SeedMenu, g as SeedTaxonomy, l as SeedContentEntry, o as SeedApplyOptions, p as SeedMenuItem, s as SeedApplyResult, t as validateSeed, u as SeedField, v as SeedWidget, w as SiteSettings, x as MediaReference, y as SeedWidgetArea } from "./validate-CDWVODvc.mjs";
14
+ import "./byline-fields-DNXKWUW9.mjs";
15
15
  import { DinewayRequestContext, getRequestContext, runWithContext } from "./request-context.mjs";
16
16
  import { adaptSandboxEntry } from "./plugins/adapt-sandbox-entry.mjs";
17
- import { S as UrlInput, _ as SourceAuth, a as FileInput, b as SourceProbeResult, c as ImportContext, d as ImportSource, f as NormalizedItem, g as ProbeResult, h as PostTypeMapping, i as FieldCompatibility, l as ImportFieldDef, m as PostTypeAnalysis, n as CollectionSchemaStatus, o as ImportAnalysis, p as OAuthInput, r as FetchOptions, s as ImportConfig, t as AttachmentInfo, u as ImportResult, v as SourceCapabilities, x as SuggestedAction, y as SourceInput } from "./types-ZdWRfUsC.mjs";
17
+ import { S as UrlInput, _ as SourceAuth, a as FileInput, b as SourceProbeResult, c as ImportContext, d as ImportSource, f as NormalizedItem, g as ProbeResult, h as PostTypeMapping, i as FieldCompatibility, l as ImportFieldDef, m as PostTypeAnalysis, n as CollectionSchemaStatus, o as ImportAnalysis, p as OAuthInput, r as FetchOptions, s as ImportConfig, t as AttachmentInfo, u as ImportResult, v as SourceCapabilities, x as SuggestedAction, y as SourceInput } from "./types--3oJQ0hs.mjs";
18
18
  import { SeoMeta, SeoMetaOptions, getContentSeo, getSeoMeta } from "./seo/index.mjs";
19
19
  import "./seed/index.mjs";
20
20
  import { ulid } from "ulidx";