dineway 0.2.19 → 0.2.21

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 (385) hide show
  1. package/dist/{activity-Dq9zDvAK.mjs → activity-Bm5x0dik.mjs} +2 -2
  2. package/dist/{activity-events-iGYnf7TK.mjs → activity-events-DpvhcjTP.mjs} +1 -1
  3. package/dist/{allowed-origins-oVgzR3X5.mjs → allowed-origins-M5Rcl6XL.mjs} +1 -1
  4. package/dist/api/route-utils.d.mts +10 -9
  5. package/dist/api/route-utils.mjs +13 -13
  6. package/dist/api/schemas/index.d.mts +1 -1
  7. package/dist/api/schemas/index.mjs +3 -3
  8. package/dist/{api-C8IpJnQ7.mjs → api-Bbtpvq2-.mjs} +15 -15
  9. package/dist/{api-tokens-C4K9eocv.mjs → api-tokens-BFgXg0l2.mjs} +1 -1
  10. package/dist/{apply-C0v5UKOI.mjs → apply-Hodkn7PL.mjs} +20 -18
  11. package/dist/astro/index.d.mts +11 -10
  12. package/dist/astro/index.mjs +3 -3
  13. package/dist/astro/middleware/auth.d.mts +9 -8
  14. package/dist/astro/middleware/auth.mjs +4 -4
  15. package/dist/astro/middleware/redirect.mjs +5 -5
  16. package/dist/astro/middleware/request-context.mjs +2 -2
  17. package/dist/astro/middleware/seed.d.mts +1 -1
  18. package/dist/astro/middleware/seed.mjs +1 -1
  19. package/dist/astro/middleware.mjs +108 -95
  20. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +5 -5
  21. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +5 -5
  22. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +4 -4
  23. package/dist/astro/routes/api/admin/api-tokens/index.mjs +6 -6
  24. package/dist/astro/routes/api/admin/briefing.mjs +16 -16
  25. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +3 -3
  26. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +7 -7
  27. package/dist/astro/routes/api/admin/byline-fields/index.mjs +7 -7
  28. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +7 -7
  29. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +13 -13
  30. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +13 -13
  31. package/dist/astro/routes/api/admin/bylines/index.mjs +13 -13
  32. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +11 -11
  33. package/dist/astro/routes/api/admin/comments/_id_.mjs +5 -5
  34. package/dist/astro/routes/api/admin/comments/bulk.mjs +9 -9
  35. package/dist/astro/routes/api/admin/comments/counts.mjs +5 -5
  36. package/dist/astro/routes/api/admin/comments/index.mjs +9 -9
  37. package/dist/astro/routes/api/admin/context/_id_/history.mjs +23 -23
  38. package/dist/astro/routes/api/admin/context/_id_/index.mjs +23 -23
  39. package/dist/astro/routes/api/admin/context/_id_/review.mjs +28 -28
  40. package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +28 -28
  41. package/dist/astro/routes/api/admin/context/diff.mjs +27 -27
  42. package/dist/astro/routes/api/admin/context/index.mjs +28 -28
  43. package/dist/astro/routes/api/admin/context/stale.mjs +27 -27
  44. package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +23 -23
  45. package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +27 -27
  46. package/dist/astro/routes/api/admin/hitl-requests/index.mjs +27 -27
  47. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +24 -24
  48. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +2 -2
  49. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +6 -6
  50. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +6 -6
  51. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +53 -52
  52. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +53 -52
  53. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +45 -44
  54. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +52 -51
  55. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +52 -51
  56. package/dist/astro/routes/api/admin/plugins/index.mjs +45 -44
  57. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +2 -2
  58. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +45 -44
  59. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +52 -51
  60. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +45 -44
  61. package/dist/astro/routes/api/admin/plugins/updates.mjs +45 -44
  62. package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +5 -5
  63. package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +28 -28
  64. package/dist/astro/routes/api/admin/review-requests/index.mjs +28 -28
  65. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +45 -44
  66. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +2 -2
  67. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +45 -44
  68. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +1 -1
  69. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +1 -1
  70. package/dist/astro/routes/api/admin/users/_id_/index.mjs +5 -5
  71. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +2 -2
  72. package/dist/astro/routes/api/admin/users/index.mjs +5 -5
  73. package/dist/astro/routes/api/auth/dev-bypass.mjs +4 -4
  74. package/dist/astro/routes/api/auth/invite/accept.mjs +1 -1
  75. package/dist/astro/routes/api/auth/invite/complete.mjs +8 -8
  76. package/dist/astro/routes/api/auth/invite/index.mjs +6 -6
  77. package/dist/astro/routes/api/auth/invite/register-options.mjs +7 -7
  78. package/dist/astro/routes/api/auth/logout.mjs +2 -2
  79. package/dist/astro/routes/api/auth/magic-link/send.mjs +8 -8
  80. package/dist/astro/routes/api/auth/magic-link/verify.mjs +2 -2
  81. package/dist/astro/routes/api/auth/me.mjs +7 -7
  82. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +2 -2
  83. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
  84. package/dist/astro/routes/api/auth/passkey/_id_.mjs +5 -5
  85. package/dist/astro/routes/api/auth/passkey/index.mjs +1 -1
  86. package/dist/astro/routes/api/auth/passkey/options.mjs +9 -9
  87. package/dist/astro/routes/api/auth/passkey/register/options.mjs +7 -7
  88. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +8 -8
  89. package/dist/astro/routes/api/auth/passkey/verify.mjs +8 -8
  90. package/dist/astro/routes/api/auth/setup-token/index.mjs +5 -5
  91. package/dist/astro/routes/api/auth/setup-token/verify.mjs +2 -2
  92. package/dist/astro/routes/api/auth/signup/complete.mjs +8 -8
  93. package/dist/astro/routes/api/auth/signup/request.mjs +8 -8
  94. package/dist/astro/routes/api/auth/signup/verify.mjs +1 -1
  95. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +12 -12
  96. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +11 -11
  97. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +2 -2
  98. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +6 -6
  99. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +6 -6
  100. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +6 -6
  101. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +9 -9
  102. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +15 -15
  103. package/dist/astro/routes/api/content/_collection_/_id_/release-readiness.mjs +7 -7
  104. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +6 -6
  105. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +2 -2
  106. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +15 -15
  107. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +12 -12
  108. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +2 -2
  109. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +6 -6
  110. package/dist/astro/routes/api/content/_collection_/_id_.mjs +10 -10
  111. package/dist/astro/routes/api/content/_collection_/authors.mjs +2 -2
  112. package/dist/astro/routes/api/content/_collection_/index.mjs +10 -10
  113. package/dist/astro/routes/api/content/_collection_/trash.mjs +6 -6
  114. package/dist/astro/routes/api/dashboard.mjs +8 -8
  115. package/dist/astro/routes/api/dev/emails.mjs +2 -2
  116. package/dist/astro/routes/api/health.mjs +1 -1
  117. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  118. package/dist/astro/routes/api/import/probe.mjs +17 -17
  119. package/dist/astro/routes/api/import/wordpress/analyze.mjs +8 -8
  120. package/dist/astro/routes/api/import/wordpress/execute.d.mts +9 -8
  121. package/dist/astro/routes/api/import/wordpress/execute.mjs +32 -32
  122. package/dist/astro/routes/api/import/wordpress/media.d.mts +9 -8
  123. package/dist/astro/routes/api/import/wordpress/media.mjs +9 -9
  124. package/dist/astro/routes/api/import/wordpress/prepare.mjs +31 -31
  125. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +10 -9
  126. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +28 -28
  127. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  128. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +20 -20
  129. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +9 -8
  130. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +36 -36
  131. package/dist/astro/routes/api/integrations/_provider_.mjs +6 -6
  132. package/dist/astro/routes/api/integrations/index.mjs +5 -5
  133. package/dist/astro/routes/api/manifest.mjs +3 -3
  134. package/dist/astro/routes/api/mcp.mjs +64 -64
  135. package/dist/astro/routes/api/media/_id_/confirm.mjs +8 -8
  136. package/dist/astro/routes/api/media/_id_.mjs +6 -6
  137. package/dist/astro/routes/api/media/file/_...key_.mjs +1 -1
  138. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +2 -2
  139. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +2 -2
  140. package/dist/astro/routes/api/media/providers/index.mjs +2 -2
  141. package/dist/astro/routes/api/media/upload-url.mjs +9 -9
  142. package/dist/astro/routes/api/media.mjs +9 -9
  143. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +28 -28
  144. package/dist/astro/routes/api/menus/_name_/items.mjs +28 -28
  145. package/dist/astro/routes/api/menus/_name_/reorder.mjs +28 -28
  146. package/dist/astro/routes/api/menus/_name_/translations.mjs +28 -28
  147. package/dist/astro/routes/api/menus/_name_.mjs +28 -28
  148. package/dist/astro/routes/api/menus/index.mjs +28 -28
  149. package/dist/astro/routes/api/oauth/authorize.mjs +7 -7
  150. package/dist/astro/routes/api/oauth/device/authorize.mjs +6 -6
  151. package/dist/astro/routes/api/oauth/device/code.mjs +9 -9
  152. package/dist/astro/routes/api/oauth/device/token.mjs +8 -8
  153. package/dist/astro/routes/api/oauth/register.mjs +4 -4
  154. package/dist/astro/routes/api/oauth/token/refresh.mjs +6 -6
  155. package/dist/astro/routes/api/oauth/token/revoke.mjs +6 -6
  156. package/dist/astro/routes/api/oauth/token.mjs +6 -6
  157. package/dist/astro/routes/api/openapi.json.mjs +4 -4
  158. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +4 -4
  159. package/dist/astro/routes/api/redirects/404s/index.mjs +9 -9
  160. package/dist/astro/routes/api/redirects/404s/summary.mjs +9 -9
  161. package/dist/astro/routes/api/redirects/_id_.mjs +29 -29
  162. package/dist/astro/routes/api/redirects/index.mjs +29 -29
  163. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +2 -2
  164. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +2 -2
  165. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +47 -46
  166. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +47 -46
  167. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +47 -46
  168. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +47 -46
  169. package/dist/astro/routes/api/schema/collections/index.mjs +47 -46
  170. package/dist/astro/routes/api/schema/index.mjs +7 -7
  171. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +45 -44
  172. package/dist/astro/routes/api/schema/orphans/index.mjs +45 -44
  173. package/dist/astro/routes/api/search/enable.mjs +10 -10
  174. package/dist/astro/routes/api/search/index.mjs +9 -9
  175. package/dist/astro/routes/api/search/rebuild.mjs +10 -10
  176. package/dist/astro/routes/api/search/stats.mjs +6 -6
  177. package/dist/astro/routes/api/search/suggest.mjs +9 -9
  178. package/dist/astro/routes/api/sections/_slug_.mjs +28 -28
  179. package/dist/astro/routes/api/sections/index.mjs +28 -28
  180. package/dist/astro/routes/api/settings/email.mjs +3 -3
  181. package/dist/astro/routes/api/settings.mjs +28 -28
  182. package/dist/astro/routes/api/setup/admin-verify.mjs +10 -10
  183. package/dist/astro/routes/api/setup/admin.mjs +8 -8
  184. package/dist/astro/routes/api/setup/dev-bypass.mjs +23 -23
  185. package/dist/astro/routes/api/setup/dev-reset.mjs +1 -1
  186. package/dist/astro/routes/api/setup/index.mjs +23 -23
  187. package/dist/astro/routes/api/setup/status.mjs +2 -2
  188. package/dist/astro/routes/api/snapshot.mjs +5 -5
  189. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +31 -31
  190. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +31 -31
  191. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +31 -31
  192. package/dist/astro/routes/api/taxonomies/index.mjs +31 -31
  193. package/dist/astro/routes/api/themes/preview.mjs +4 -4
  194. package/dist/astro/routes/api/typegen.mjs +4 -4
  195. package/dist/astro/routes/api/well-known/auth.mjs +1 -1
  196. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +3 -3
  197. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +3 -3
  198. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +27 -27
  199. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +28 -28
  200. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +28 -28
  201. package/dist/astro/routes/api/widget-areas/_name_.mjs +25 -25
  202. package/dist/astro/routes/api/widget-areas/index.mjs +28 -28
  203. package/dist/astro/routes/api/widget-components.mjs +2 -2
  204. package/dist/astro/routes/robots.txt.mjs +5 -5
  205. package/dist/astro/routes/sitemap-_collection_.xml.mjs +34 -41
  206. package/dist/astro/routes/sitemap.xml.mjs +29 -17
  207. package/dist/astro/session-driver.d.mts +1 -1
  208. package/dist/astro/session-driver.mjs +2 -2
  209. package/dist/astro/types.d.mts +14 -11
  210. package/dist/{audit-DeBteyL4.mjs → audit-nenmMR-2.mjs} +1 -1
  211. package/dist/auth/providers/github.d.mts +1 -1
  212. package/dist/auth/providers/google.d.mts +1 -1
  213. package/dist/{auth-control-guard-B_Dx-epW.mjs → auth-control-guard-B7PdECn6.mjs} +1 -1
  214. package/dist/{authorize-D6MkRtPw.mjs → authorize-DTvHe9bm.mjs} +1 -1
  215. package/dist/{briefing-DiJir0Ev.mjs → briefing-CpU_z8qH.mjs} +5 -5
  216. package/dist/{briefing-5Y-NTrWG.mjs → briefing-PxagUoJJ.mjs} +1 -1
  217. package/dist/{bundle-C-eQG8un.mjs → bundle-dsO2-7eh.mjs} +2 -2
  218. package/dist/{byline-CB0OLcK1.mjs → byline-DEBDPF8R.mjs} +4 -4
  219. package/dist/{byline-fields-BRUB-Vla.mjs → byline-fields-BQRx17y_.mjs} +1 -1
  220. package/dist/{byline-fields-DEQ1wcUa.d.mts → byline-fields-BXg94LXd.d.mts} +37 -31
  221. package/dist/{bylines-BDp4-cpl.mjs → bylines-C7hm1-iI.mjs} +3 -3
  222. package/dist/{bylines-CMKhrSEg.mjs → bylines-YK6eGHvV.mjs} +5 -5
  223. package/dist/{cache-CtXIOJKw.mjs → cache-BuVpjvBc.mjs} +1 -1
  224. package/dist/{chunks-BdkWx1oD.mjs → chunks-B-1_U3oF.mjs} +1 -1
  225. package/dist/cli/index.mjs +28 -27
  226. package/dist/cli/plugin-kit.d.mts +9 -8
  227. package/dist/cli/plugin-kit.mjs +2 -2
  228. package/dist/client/external-auth-headers.d.mts +1 -1
  229. package/dist/client/index.d.mts +11 -10
  230. package/dist/client/index.mjs +2 -2
  231. package/dist/{client-factory-Dll61uB1.mjs → client-factory-Nyp2sznG.mjs} +1 -1
  232. package/dist/{comment-3JihGSh6.mjs → comment-BX6H4NF-.mjs} +1 -1
  233. package/dist/{comment-reaction-BNXm1YHa.mjs → comment-reaction-QSENU_3S.mjs} +1 -1
  234. package/dist/{comments-DJZXQi0j.mjs → comments-BHSYG53k.mjs} +1 -1
  235. package/dist/{content-Bturdi4b.mjs → content-Bg_hMt4Q.mjs} +2 -2
  236. package/dist/{content-refresh-C4YoqoNs.mjs → content-refresh-CHBBZGwf.mjs} +2 -2
  237. package/dist/{context-CB4PwkM_.mjs → context-BGt7zfQ-.mjs} +8 -8
  238. package/dist/{context-B6HQWp5l.mjs → context-BHXgPEPC.mjs} +2 -2
  239. package/dist/{context-route-helpers-CLoNF0pp.mjs → context-route-helpers-SwM-_GT4.mjs} +2 -2
  240. package/dist/{dashboard-DP4dxA1S.mjs → dashboard-DPUW4hBR.mjs} +4 -4
  241. package/dist/db/index.d.mts +3 -3
  242. package/dist/db/index.mjs +1 -1
  243. package/dist/db/libsql.d.mts +1 -1
  244. package/dist/db/postgres.d.mts +1 -1
  245. package/dist/db/sqlite.d.mts +1 -1
  246. package/dist/{device-flow-BWV1ZxXW.mjs → device-flow-XqdFNsv_.mjs} +4 -4
  247. package/dist/discovery-DvuRcbP-.mjs +178 -0
  248. package/dist/{field-defs-cache-BGhsaYGT.mjs → field-defs-cache-sSdDeJXP.mjs} +1 -1
  249. package/dist/{fts-manager-6KClQEs0.mjs → fts-manager-C7pxxk6B.mjs} +1 -1
  250. package/dist/{hitl-requests-BAE_3YMO.mjs → hitl-requests-D7pfIM6q.mjs} +2 -2
  251. package/dist/{hitl-route-helpers-BkX6pLBa.mjs → hitl-route-helpers-Br9uvIQs.mjs} +5 -5
  252. package/dist/{import-CJm91blH.mjs → import-CrsquhXj.mjs} +7 -7
  253. package/dist/{index-DybFmYtZ.d.mts → index-NdJMMO48.d.mts} +3 -3
  254. package/dist/index.d.mts +16 -15
  255. package/dist/index.mjs +75 -74
  256. package/dist/{integration-credentials-D3ZneN0L.mjs → integration-credentials-B7Pj6YCv.mjs} +2 -2
  257. package/dist/{jsonld-BS1v8xeZ.d.mts → jsonld-TsDIJx5A.d.mts} +19 -7
  258. package/dist/{load-CfFRVQkS.mjs → load-Bul8Tk6e.mjs} +1 -1
  259. package/dist/{loader-DtE00Fml.mjs → loader-BCr2VSzt.mjs} +27 -5
  260. package/dist/{manifest-schema-DKa3ZaJL.mjs → manifest-schema-U5qGq-iB.mjs} +1 -1
  261. package/dist/{mcp-reviewed-executor-DaIhmgOW.mjs → mcp-reviewed-executor-C1lIimd0.mjs} +4 -4
  262. package/dist/media/index.d.mts +1 -1
  263. package/dist/media/local-runtime.d.mts +11 -10
  264. package/dist/media/local-runtime.mjs +2 -2
  265. package/dist/{media-BXbOL8xv.mjs → media-D8pQJSug.mjs} +1 -1
  266. package/dist/{menus-DCjNW2e4.mjs → menus-3B-PGTX3.mjs} +1 -1
  267. package/dist/{menus-b1JWwI1Z.mjs → menus-DSWeEWXl.mjs} +5 -5
  268. package/dist/{oauth-authorization-fiXxn7FY.mjs → oauth-authorization-CMU5kREy.mjs} +4 -4
  269. package/dist/{oauth-clients-D9Gg0WjF.mjs → oauth-clients-CLdR0WyA.mjs} +2 -2
  270. package/dist/object-cache/memory.d.mts +1 -1
  271. package/dist/page/index.d.mts +11 -10
  272. package/dist/page/index.mjs +2 -2
  273. package/dist/{parse-B-Y84oJl.mjs → parse-DEG06jjr.mjs} +1 -1
  274. package/dist/plugin-utils.d.mts +9 -8
  275. package/dist/plugins/adapt-sandbox-entry.d.mts +9 -8
  276. package/dist/plugins/adapt-sandbox-entry.mjs +1 -1
  277. package/dist/{plugins-BVSrX4gZ.mjs → plugins-D8YxTh9q.mjs} +26 -23
  278. package/dist/{preview-BMIReQGc.mjs → preview-Bn59ztjn.mjs} +2 -2
  279. package/dist/{provider-loader-Db-pJFu3.d.mts → provider-loader-jdkZM6xZ.d.mts} +1 -1
  280. package/dist/public-url-DFX2c_20.d.mts +99 -0
  281. package/dist/{public-url-CoGGAgPW.d.mts → public-url-NkNXl8OU.d.mts} +1 -1
  282. package/dist/{publication-authorization-Dzr05Xx7.mjs → publication-authorization-BmazS4K0.mjs} +6 -6
  283. package/dist/{query-DTGsFOQu.mjs → query-CrUftarl.mjs} +17 -36
  284. package/dist/{query-BnxjGFfS.mjs → query-DPC5GT6e.mjs} +2 -2
  285. package/dist/{rate-limit-oUGexQO1.mjs → rate-limit-DvGL45wH.mjs} +2 -2
  286. package/dist/{redirect-3Zzd0xIN.mjs → redirect-8B-gorhg.mjs} +1 -1
  287. package/dist/{redirects-lCeytkeq.mjs → redirects-D2SVS1zo.mjs} +3 -3
  288. package/dist/{redirects-CWGZMRsj.mjs → redirects-DdPaQiWQ.mjs} +6 -2
  289. package/dist/{registry-c51Wf_AZ.mjs → registry-D3n4-yUl.mjs} +13 -6
  290. package/dist/{request-meta-DHFIzWcf.mjs → request-meta-DZTiCIQR.mjs} +1 -1
  291. package/dist/resolve-CThKf9_X.mjs +27 -0
  292. package/dist/{review-requests-eQbhj62T.mjs → review-requests-BQbmYLnz.mjs} +1 -1
  293. package/dist/{review-requests-B9NfBTCJ.mjs → review-requests-D5CJ4JCy.mjs} +1 -1
  294. package/dist/{review-route-helpers-4KBg7Hi3.mjs → review-route-helpers-DYiujAPM.mjs} +2 -2
  295. package/dist/{runner-Bcy5w0vj.d.mts → runner-BITx7yBF.d.mts} +1 -1
  296. package/dist/{runner-BE1taNgj.mjs → runner-BWZ87FK-.mjs} +482 -457
  297. package/dist/runtime.d.mts +10 -9
  298. package/dist/runtime.mjs +3 -3
  299. package/dist/schema-kk9-6bUd.mjs +8 -0
  300. package/dist/{search-BKBSn2Yf.mjs → search-B_ir6H6m.mjs} +3 -3
  301. package/dist/{sections-CyXQJaUl.mjs → sections-pRy07N5I.mjs} +2 -2
  302. package/dist/seed/index.d.mts +2 -2
  303. package/dist/seed/index.mjs +17 -17
  304. package/dist/seo/index.d.mts +4 -2
  305. package/dist/seo/index.mjs +10 -11
  306. package/dist/{seo-BasNtS3J.mjs → seo-C4nlxiaY.mjs} +1 -1
  307. package/dist/seo-DdNntVj-.mjs +52 -0
  308. package/dist/{seo-contributions-Ci8_12_r.mjs → seo-contributions-BGBehNCN.mjs} +260 -76
  309. package/dist/{service-BTYluCDf.mjs → service-D6fJX7D7.mjs} +2 -2
  310. package/dist/{settings-BAFyDIGn.mjs → settings-C4OMR0zf.mjs} +2 -2
  311. package/dist/{settings-DcwHL9mx.mjs → settings-D-a7uy2z.mjs} +2 -2
  312. package/dist/{site-activity-QPC-7Vnq.mjs → site-activity-CnrmnFRy.mjs} +1 -1
  313. package/dist/{site-context-BSw2bNdG.mjs → site-context-Bdsobbh9.mjs} +13 -13
  314. package/dist/storage/local.d.mts +1 -1
  315. package/dist/storage/local.mjs +1 -1
  316. package/dist/storage/s3.d.mts +1 -1
  317. package/dist/storage/s3.mjs +1 -1
  318. package/dist/{store-CCfMD6nw.mjs → store-DerEE3jG.mjs} +1 -1
  319. package/dist/{taxonomies-DkMW6kj5.mjs → taxonomies-6bWkaa_G.mjs} +3 -3
  320. package/dist/{taxonomies-B5jTGXEC.mjs → taxonomies-FKTevd14.mjs} +5 -5
  321. package/dist/{taxonomy-C-Aqi1cF.mjs → taxonomy-BU0eCfij.mjs} +2 -2
  322. package/dist/{types-ywmuDETA.d.mts → types-B2kbOwSj.d.mts} +6 -0
  323. package/dist/{types-GtwhHAg8.d.mts → types-B6r_SMeR.d.mts} +1 -1
  324. package/dist/{types-BFeoAIHl.d.mts → types-C8cUW9dh.d.mts} +1 -0
  325. package/dist/{types-al8YMHdF.mjs → types-C9F2TLQV.mjs} +1 -1
  326. package/dist/{types-CnuliyMS.d.mts → types-Cty2_HVR.d.mts} +92 -51
  327. package/dist/ui/server-runtime.d.mts +13 -12
  328. package/dist/ui/server-runtime.mjs +19 -60
  329. package/dist/{user-Ldseid1x.mjs → user-BV02bsWz.mjs} +2 -2
  330. package/dist/{validate-YiX3rly5.d.mts → validate-Bc9gaua6.d.mts} +5 -3
  331. package/dist/{validate-hHdBXn4U.mjs → validate-Drps_jbV.mjs} +9 -1
  332. package/dist/version-Cg-aQHxG.mjs +6 -0
  333. package/dist/{widgets-oRtISrJQ.mjs → widgets-BFqy7PYs.mjs} +2 -2
  334. package/dist/{zod-generator-BGSszwCw.mjs → zod-generator-BlY_vGgR.mjs} +1 -1
  335. package/package.json +4 -4
  336. package/src/components/DinewayHead.astro +6 -6
  337. package/dist/resolve-B6BpqwAR.mjs +0 -100
  338. package/dist/schema-dGCjdAx9.mjs +0 -8
  339. package/dist/seo-BLszyJxd.mjs +0 -105
  340. package/dist/version-wVceh475.mjs +0 -6
  341. /package/dist/{actor-DA7yL9Yp.mjs → actor-D3A5PNkH.mjs} +0 -0
  342. /package/dist/{adapters-DnMDRQ4e.d.mts → adapters-DUVI3Mpc.d.mts} +0 -0
  343. /package/dist/{api-tokens-D4tcY8R6.mjs → api-tokens-CbMAy6xF.mjs} +0 -0
  344. /package/dist/{byline-fields-sE9SQsDR.mjs → byline-fields-DPi4Ri_5.mjs} +0 -0
  345. /package/dist/{components-D0w9MzQe.mjs → components-DGu-rih7.mjs} +0 -0
  346. /package/dist/{cron-D_c3WUPN.mjs → cron-BjKHo0QD.mjs} +0 -0
  347. /package/dist/{default-BxoI3SoK.mjs → default-CO47mlSA.mjs} +0 -0
  348. /package/dist/{email-console-BEMwuxhV.mjs → email-console-CFE1ay18.mjs} +0 -0
  349. /package/dist/{error-BW9f_ynq.mjs → error-Jz0EtEwI.mjs} +0 -0
  350. /package/dist/{escape-smSUOb7u.mjs → escape-HmHTC1Is.mjs} +0 -0
  351. /package/dist/{experimental-workflows-CgO73K4e.mjs → experimental-workflows-EYZRNkRR.mjs} +0 -0
  352. /package/dist/{media-allowlist-BQyIBPzd.mjs → media-allowlist-9u_gxMG2.mjs} +0 -0
  353. /package/dist/{media-url-B6d-yVI6.mjs → media-url-DVoOhf4X.mjs} +0 -0
  354. /package/dist/{oauth-state-store-DPVzeoyY.mjs → oauth-state-store-HdGg_nSm.mjs} +0 -0
  355. /package/dist/{oauth-user-lookup-3E5jlXrr.mjs → oauth-user-lookup-CP16vyFW.mjs} +0 -0
  356. /package/dist/{output-BbqsKnS_.mjs → output-CXOC3BFr.mjs} +0 -0
  357. /package/dist/{parser-DX_c5iG3.mjs → parser-buoH2frr.mjs} +0 -0
  358. /package/dist/{passkey-config-DE_0EGEP.mjs → passkey-config-T47FwLtS.mjs} +0 -0
  359. /package/dist/{placeholder-C6ZjZcmJ.d.mts → placeholder-BsYSFPjY.d.mts} +0 -0
  360. /package/dist/{portable-text-y8QVqTzd.mjs → portable-text-DQHE3b5v.mjs} +0 -0
  361. /package/dist/{portable-text-BYUu-wtj.d.mts → portable-text-Dm0bgrdZ.d.mts} +0 -0
  362. /package/dist/{provider-loader-BeQcnPN1.mjs → provider-loader-Dxka0BDp.mjs} +0 -0
  363. /package/dist/{public-url-BA-7LKvQ.mjs → public-url-CIAtNGEg.mjs} +0 -0
  364. /package/dist/{redirect-CZFAqHLr.mjs → redirect-CzqnLxK-.mjs} +0 -0
  365. /package/dist/{secrets-CpGpyGcO.mjs → secrets-Dw3lXI42.mjs} +0 -0
  366. /package/dist/{service-DbHMAoiN.mjs → service-DOdvCW-9.mjs} +0 -0
  367. /package/dist/{setup-complete-DcAQzVsB.mjs → setup-complete-Blqo_adb.mjs} +0 -0
  368. /package/dist/{setup-nonce-DkpYROqg.mjs → setup-nonce-CGUTFWgQ.mjs} +0 -0
  369. /package/dist/{sidecar-client-dt5fv23q.mjs → sidecar-client-C6ylL-0S.mjs} +0 -0
  370. /package/dist/{site-url-DfYDZyWl.mjs → site-url-CK5vBdFu.mjs} +0 -0
  371. /package/dist/{ssrf-BZHvtFEv.mjs → ssrf-Dz2hqAiG.mjs} +0 -0
  372. /package/dist/{status-BN40hMpr.mjs → status-xz9JACSX.mjs} +0 -0
  373. /package/dist/{tokens-DIzhPT80.mjs → tokens-DiodRT2y.mjs} +0 -0
  374. /package/dist/{transport-CXkC1F2Z.d.mts → transport-DKy93p6V.d.mts} +0 -0
  375. /package/dist/{transport-D0dLIuDC.mjs → transport-zquJ7Bzm.mjs} +0 -0
  376. /package/dist/{trusted-proxy-czZuby6G.mjs → trusted-proxy-NySPw95m.mjs} +0 -0
  377. /package/dist/{types-BsTXSvKG.d.mts → types-BaKec6bx.d.mts} +0 -0
  378. /package/dist/{types-gvNBqijt.mjs → types-C1LdZbQb.mjs} +0 -0
  379. /package/dist/{types-S9VIopdY.d.mts → types-C2LBO0t8.d.mts} +0 -0
  380. /package/dist/{types-CDcuRd4z.d.mts → types-DY9lJRpo.d.mts} +0 -0
  381. /package/dist/{types-YxFz4lDr.d.mts → types-Gd4kXLsa.d.mts} +0 -0
  382. /package/dist/{types-CK0r-Xq4.mjs → types-ftxcMx5-.mjs} +0 -0
  383. /package/dist/{url-D282S1Zw.mjs → url-C05Zz4pW.mjs} +0 -0
  384. /package/dist/{utils-B7gemXz5.mjs → utils-BPzpVHqR.mjs} +0 -0
  385. /package/dist/{wordpress-slugs-D_LfQCan.mjs → wordpress-slugs-fMvfO22_.mjs} +0 -0
@@ -1,19 +1,19 @@
1
1
  import { t as validateIdentifier } from "./validate-VPnKoIzW.mjs";
2
- import { i as encodeCursor, r as decodeCursor } from "./types-al8YMHdF.mjs";
3
- import { t as ContentRepository } from "./content-Bturdi4b.mjs";
4
- import { t as SiteActivityRepository } from "./site-activity-QPC-7Vnq.mjs";
5
- import { t as ReviewRequestRepository } from "./review-requests-B9NfBTCJ.mjs";
6
- import { o as HitlRequestRepository } from "./publication-authorization-Dzr05Xx7.mjs";
2
+ import { i as encodeCursor, r as decodeCursor } from "./types-C9F2TLQV.mjs";
3
+ import { t as ContentRepository } from "./content-Bg_hMt4Q.mjs";
4
+ import { t as SiteActivityRepository } from "./site-activity-CnrmnFRy.mjs";
5
+ import { t as ReviewRequestRepository } from "./review-requests-D5CJ4JCy.mjs";
6
+ import { o as HitlRequestRepository } from "./publication-authorization-BmazS4K0.mjs";
7
7
  import { r as isPattern } from "./patterns-CoqlXUvk.mjs";
8
- import { a as ContextRepository, i as parseSiteBriefingScope, l as handlePluginList } from "./briefing-DiJir0Ev.mjs";
9
- import { t as FTSManager } from "./fts-manager-6KClQEs0.mjs";
10
- import { n as SchemaRegistry } from "./registry-c51Wf_AZ.mjs";
11
- import { a as getSiteSettingsWithDb } from "./settings-DcwHL9mx.mjs";
8
+ import { a as ContextRepository, i as parseSiteBriefingScope, l as handlePluginList } from "./briefing-CpU_z8qH.mjs";
9
+ import { t as FTSManager } from "./fts-manager-C7pxxk6B.mjs";
10
+ import { n as SchemaRegistry } from "./registry-D3n4-yUl.mjs";
11
+ import { a as getSiteSettingsWithDb } from "./settings-D-a7uy2z.mjs";
12
12
  import { n as buildStableActionHash, t as ReviewPayloadBuilder } from "./review-payload-BysRWpxS.mjs";
13
- import { n as assertExperimentalSiteContextWorkflowsEnabled } from "./experimental-workflows-CgO73K4e.mjs";
14
- import { m as normalizeUrl } from "./utils-B7gemXz5.mjs";
15
- import { t as sanitizeWordPressImportSlug } from "./wordpress-slugs-D_LfQCan.mjs";
16
- import { s as searchCollection } from "./search-BKBSn2Yf.mjs";
13
+ import { n as assertExperimentalSiteContextWorkflowsEnabled } from "./experimental-workflows-EYZRNkRR.mjs";
14
+ import { m as normalizeUrl } from "./utils-BPzpVHqR.mjs";
15
+ import { t as sanitizeWordPressImportSlug } from "./wordpress-slugs-fMvfO22_.mjs";
16
+ import { s as searchCollection } from "./search-B_ir6H6m.mjs";
17
17
  import { sql } from "kysely";
18
18
  import { ulid } from "ulidx";
19
19
  import { Role } from "@dineway-ai/auth";
@@ -1,4 +1,4 @@
1
- import { a as ListOptions, d as Storage, l as SignedUploadOptions, o as ListResult, p as UploadResult, r as DownloadResult, s as LocalStorageConfig, u as SignedUploadUrl } from "../types-YxFz4lDr.mjs";
1
+ import { a as ListOptions, d as Storage, l as SignedUploadOptions, o as ListResult, p as UploadResult, r as DownloadResult, s as LocalStorageConfig, u as SignedUploadUrl } from "../types-Gd4kXLsa.mjs";
2
2
 
3
3
  //#region src/storage/local.d.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { t as DinewayStorageError } from "../types-gvNBqijt.mjs";
1
+ import { t as DinewayStorageError } from "../types-C1LdZbQb.mjs";
2
2
  import { createReadStream, existsSync } from "node:fs";
3
3
  import * as path from "node:path";
4
4
  import mime from "mime/lite";
@@ -1,4 +1,4 @@
1
- import { a as ListOptions, c as S3StorageConfig, d as Storage, l as SignedUploadOptions, o as ListResult, p as UploadResult, r as DownloadResult, u as SignedUploadUrl } from "../types-YxFz4lDr.mjs";
1
+ import { a as ListOptions, c as S3StorageConfig, d as Storage, l as SignedUploadOptions, o as ListResult, p as UploadResult, r as DownloadResult, u as SignedUploadUrl } from "../types-Gd4kXLsa.mjs";
2
2
 
3
3
  //#region src/storage/s3.d.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { t as DinewayStorageError } from "../types-gvNBqijt.mjs";
1
+ import { t as DinewayStorageError } from "../types-C1LdZbQb.mjs";
2
2
  import { DeleteObjectCommand, GetObjectCommand, HeadObjectCommand, ListObjectsV2Command, PutObjectCommand, S3Client } from "@aws-sdk/client-s3";
3
3
  import { getSignedUrl } from "@aws-sdk/s3-request-presigner";
4
4
 
@@ -1,5 +1,5 @@
1
1
  import { i as encodeBase64url, n as decodeBase64url } from "./base64-F8-DUraK.mjs";
2
- import { i as parseEncryptionKeys, t as DinewaySecretsError } from "./secrets-CpGpyGcO.mjs";
2
+ import { i as parseEncryptionKeys, t as DinewaySecretsError } from "./secrets-Dw3lXI42.mjs";
3
3
 
4
4
  //#region src/database/repositories/integration-credentials.ts
5
5
  var IntegrationCredentialRepository = class {
@@ -1,6 +1,6 @@
1
- import { a as __exportAll } from "./runner-BE1taNgj.mjs";
2
- import { t as TaxonomyRepository } from "./taxonomy-C-Aqi1cF.mjs";
3
- import { c as invalidateTaxonomyDefsCache, l as invalidateTermCache } from "./taxonomies-B5jTGXEC.mjs";
1
+ import { a as __exportAll } from "./runner-BWZ87FK-.mjs";
2
+ import { t as TaxonomyRepository } from "./taxonomy-BU0eCfij.mjs";
3
+ import { c as invalidateTaxonomyDefsCache, l as invalidateTermCache } from "./taxonomies-FKTevd14.mjs";
4
4
  import { ulid } from "ulidx";
5
5
 
6
6
  //#region src/api/handlers/taxonomies.ts
@@ -1,10 +1,10 @@
1
- import { a as __exportAll } from "./runner-BE1taNgj.mjs";
1
+ import { a as __exportAll } from "./runner-BWZ87FK-.mjs";
2
2
  import { getRequestContext } from "./request-context.mjs";
3
- import { a as resetTaxonomyNamesCache, o as isMissingTableError, r as getDb } from "./loader-DtE00Fml.mjs";
3
+ import { a as resetTaxonomyNamesCache, o as isMissingTableError, r as getDb } from "./loader-BCr2VSzt.mjs";
4
4
  import { d as invalidateTaxonomyObjectCache, f as isObjectCacheActive, n as cachedQuery, t as CacheNamespace } from "./object-cache-D51qOseS.mjs";
5
- import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-BdkWx1oD.mjs";
5
+ import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-B-1_U3oF.mjs";
6
6
  import { i as setRequestCacheEntry, n as peekRequestCache, r as requestCached } from "./request-cache-CBFjCwSt.mjs";
7
- import { i as resolveLocaleChain, r as resolveLocale } from "./resolve-B6BpqwAR.mjs";
7
+ import { n as resolveLocaleChain, t as resolveLocale } from "./resolve-CThKf9_X.mjs";
8
8
 
9
9
  //#region src/taxonomies/index.ts
10
10
  /**
@@ -393,7 +393,7 @@ function primeFoldedEntryTerms(collection, perEntry, options = {}) {
393
393
  * Get entries by term.
394
394
  */
395
395
  async function getEntriesByTerm(collection, taxonomyName, termSlug, options = {}) {
396
- const { getDinewayCollection } = await import("./query-DTGsFOQu.mjs").then((n) => n.o);
396
+ const { getDinewayCollection } = await import("./query-CrUftarl.mjs").then((n) => n.o);
397
397
  const queryOptions = { where: { [taxonomyName]: termSlug } };
398
398
  if (options.locale !== void 0) queryOptions.locale = options.locale;
399
399
  const { entries } = await getDinewayCollection(collection, queryOptions);
@@ -1,4 +1,4 @@
1
- import { a as __exportAll } from "./runner-BE1taNgj.mjs";
1
+ import { a as __exportAll } from "./runner-BWZ87FK-.mjs";
2
2
  import { d as invalidateTaxonomyObjectCache } from "./object-cache-D51qOseS.mjs";
3
3
  import { ulid } from "ulidx";
4
4
 
@@ -226,7 +226,7 @@ var TaxonomyRepository = class {
226
226
  */
227
227
  async countEntriesForTerms(translationGroups) {
228
228
  if (translationGroups.length === 0) return /* @__PURE__ */ new Map();
229
- const { chunks, SQL_BATCH_SIZE } = await import("./chunks-BdkWx1oD.mjs").then((n) => n.r);
229
+ const { chunks, SQL_BATCH_SIZE } = await import("./chunks-B-1_U3oF.mjs").then((n) => n.r);
230
230
  const counts = /* @__PURE__ */ new Map();
231
231
  for (const chunk of chunks(translationGroups, SQL_BATCH_SIZE)) {
232
232
  const rows = await this.db.selectFrom("content_taxonomies").select(["taxonomy_id", (eb) => eb.fn.count("entry_id").as("count")]).where("taxonomy_id", "in", chunk).groupBy("taxonomy_id").execute();
@@ -75,6 +75,8 @@ interface Collection {
75
75
  hasSeo: boolean;
76
76
  /** URL pattern with {slug} placeholder (e.g. "/{slug}", "/blog/{slug}") */
77
77
  urlPattern?: string;
78
+ /** Field containing the complete public path, including any locale prefix. */
79
+ urlField?: string;
78
80
  /** Whether comments are enabled for this collection */
79
81
  commentsEnabled: boolean;
80
82
  /** Moderation strategy: "all" | "first_time" | "none" */
@@ -120,6 +122,8 @@ interface CreateCollectionInput {
120
122
  supports?: CollectionSupport[];
121
123
  source?: CollectionSource;
122
124
  urlPattern?: string;
125
+ /** Field containing the complete public path, including any locale prefix. */
126
+ urlField?: string;
123
127
  hasSeo?: boolean;
124
128
  commentsEnabled?: boolean;
125
129
  }
@@ -133,6 +137,8 @@ interface UpdateCollectionInput {
133
137
  icon?: string;
134
138
  supports?: CollectionSupport[];
135
139
  urlPattern?: string;
140
+ /** Field containing the complete public path, including any locale prefix. */
141
+ urlField?: string | null;
136
142
  hasSeo?: boolean;
137
143
  commentsEnabled?: boolean;
138
144
  commentsModeration?: "all" | "first_time" | "none";
@@ -1,4 +1,4 @@
1
- import { c as CustomFieldValue } from "./types-ywmuDETA.mjs";
1
+ import { c as CustomFieldValue } from "./types-B2kbOwSj.mjs";
2
2
 
3
3
  //#region src/database/repositories/types.d.ts
4
4
  interface CreateContentInput {
@@ -412,6 +412,7 @@ interface CollectionTable {
412
412
  search_config: string | null;
413
413
  has_seo: number;
414
414
  url_pattern: string | null;
415
+ url_field: Generated<string | null>;
415
416
  comments_enabled: Generated<number>;
416
417
  comments_moderation: Generated<string>;
417
418
  comments_closed_after_days: Generated<number>;
@@ -1,4 +1,4 @@
1
- import { a as __exportAll } from "./runner-BE1taNgj.mjs";
1
+ import { a as __exportAll } from "./runner-BWZ87FK-.mjs";
2
2
  import { r as encodeBase64, t as decodeBase64 } from "./base64-F8-DUraK.mjs";
3
3
 
4
4
  //#region src/database/repositories/types.ts
@@ -1,13 +1,13 @@
1
- import { _ as UpdateFieldInput, d as FieldType, f as FieldValidation, g as UpdateCollectionInput, i as CollectionWithFields, o as CreateCollectionInput, s as CreateFieldInput, t as Collection, u as Field } from "./types-ywmuDETA.mjs";
2
- import { f as UpdateContentInput, i as ContentItem$1, l as FindManyOptions, o as ContentSeoInput, r as ContentDateField, s as CreateContentInput, t as BylineSummary, u as FindManyResult } from "./types-GtwhHAg8.mjs";
3
- import { t as Database } from "./types-BFeoAIHl.mjs";
4
- import { _ as MediaValue, m as MediaProviderDescriptor } from "./placeholder-C6ZjZcmJ.mjs";
5
- import { D as ContentBylineInput } from "./index-DybFmYtZ.mjs";
6
- import { r as AuthProviderDescriptor, t as AuthDescriptor } from "./types-S9VIopdY.mjs";
7
- import { t as DatabaseDescriptor } from "./adapters-DnMDRQ4e.mjs";
8
- import { r as ObjectCacheDescriptor } from "./types-CDcuRd4z.mjs";
9
- import { d as Storage } from "./types-YxFz4lDr.mjs";
10
- import { C as SiteSettingKey, w as SiteSettings } from "./validate-YiX3rly5.mjs";
1
+ import { _ as UpdateFieldInput, d as FieldType, f as FieldValidation, g as UpdateCollectionInput, i as CollectionWithFields, o as CreateCollectionInput, s as CreateFieldInput, t as Collection, u as Field } from "./types-B2kbOwSj.mjs";
2
+ import { f as UpdateContentInput, i as ContentItem$1, l as FindManyOptions, o as ContentSeoInput, r as ContentDateField, s as CreateContentInput, t as BylineSummary, u as FindManyResult } from "./types-B6r_SMeR.mjs";
3
+ import { t as Database } from "./types-C8cUW9dh.mjs";
4
+ import { _ as MediaValue, m as MediaProviderDescriptor } from "./placeholder-BsYSFPjY.mjs";
5
+ import { D as ContentBylineInput } from "./index-NdJMMO48.mjs";
6
+ import { r as AuthProviderDescriptor, t as AuthDescriptor } from "./types-C2LBO0t8.mjs";
7
+ import { t as DatabaseDescriptor } from "./adapters-DUVI3Mpc.mjs";
8
+ import { r as ObjectCacheDescriptor } from "./types-DY9lJRpo.mjs";
9
+ import { d as Storage } from "./types-Gd4kXLsa.mjs";
10
+ import { C as SiteSettingKey, w as SiteSettings } from "./validate-Bc9gaua6.mjs";
11
11
  import { HandlerResponse } from "./astro/types.mjs";
12
12
  import { Dialect, Kysely, Migration, RawBuilder, Transaction } from "kysely";
13
13
  import { z } from "astro/zod";
@@ -387,6 +387,18 @@ interface CollectionFilterBase$1 {
387
387
  limit?: number;
388
388
  /** Include an exact total count before pagination. Disabled by default. */
389
389
  includeTotal?: boolean;
390
+ /**
391
+ * Database columns to return for each entry. The loader automatically adds
392
+ * the small set of system columns required for entry IDs, pagination, edit
393
+ * metadata, locale handling, and cache hints.
394
+ */
395
+ select?: readonly string[];
396
+ /**
397
+ * Hydrate taxonomy terms and bylines onto each entry.
398
+ * Disable this for lightweight read-only projections such as sitemaps.
399
+ * @default true
400
+ */
401
+ hydrate?: boolean;
390
402
  /**
391
403
  * Filter by field values, taxonomy terms, byline credits, or ranges.
392
404
  *
@@ -2318,7 +2330,7 @@ declare class HookPipeline {
2318
2330
  /**
2319
2331
  * Run content:afterSave hooks
2320
2332
  */
2321
- runContentAfterSave(content: Record<string, unknown>, collection: string, isNew: boolean): Promise<HookResult<void>[]>;
2333
+ runContentAfterSave(content: Record<string, unknown>, collection: string, isNew: boolean, previousContent?: Record<string, unknown>): Promise<HookResult<void>[]>;
2322
2334
  /**
2323
2335
  * Run content:beforeDelete hooks
2324
2336
  * Returns whether deletion is allowed
@@ -2330,15 +2342,15 @@ declare class HookPipeline {
2330
2342
  /**
2331
2343
  * Run content:afterDelete hooks
2332
2344
  */
2333
- runContentAfterDelete(id: string, collection: string, permanent: boolean): Promise<HookResult<void>[]>;
2345
+ runContentAfterDelete(id: string, collection: string, permanent: boolean, previousContent?: Record<string, unknown>): Promise<HookResult<void>[]>;
2334
2346
  /**
2335
2347
  * Run content:afterPublish hooks (fire-and-forget).
2336
2348
  */
2337
- runContentAfterPublish(content: Record<string, unknown>, collection: string): Promise<HookResult<void>[]>;
2349
+ runContentAfterPublish(content: Record<string, unknown>, collection: string, previousContent?: Record<string, unknown>): Promise<HookResult<void>[]>;
2338
2350
  /**
2339
2351
  * Run content:afterUnpublish hooks (fire-and-forget).
2340
2352
  */
2341
- runContentAfterUnpublish(content: Record<string, unknown>, collection: string): Promise<HookResult<void>[]>;
2353
+ runContentAfterUnpublish(content: Record<string, unknown>, collection: string, previousContent?: Record<string, unknown>): Promise<HookResult<void>[]>;
2342
2354
  /**
2343
2355
  * Run content:afterRestore hooks (fire-and-forget).
2344
2356
  */
@@ -3674,6 +3686,20 @@ interface DinewayCollections {}
3674
3686
  * Returns the registered type if known, otherwise falls back to Record<string, unknown>.
3675
3687
  */
3676
3688
  type InferCollectionData<T extends string> = T extends keyof DinewayCollections ? DinewayCollections[T] : Record<string, unknown>;
3689
+ interface SelectedSystemColumnDataKeys {
3690
+ author_id: "authorId";
3691
+ primary_byline_id: "primaryBylineId";
3692
+ created_at: "createdAt";
3693
+ updated_at: "updatedAt";
3694
+ published_at: "publishedAt";
3695
+ scheduled_at: "scheduledAt";
3696
+ draft_revision_id: "draftRevisionId";
3697
+ live_revision_id: "liveRevisionId";
3698
+ translation_group: "translationGroup";
3699
+ }
3700
+ type SelectedColumnDataKey<T extends string> = T extends keyof SelectedSystemColumnDataKeys ? SelectedSystemColumnDataKeys[T] : T;
3701
+ /** Data shape returned by a collection query that uses `select`. */
3702
+ type SelectedCollectionData<D, Selected extends readonly string[]> = D extends object ? Pick<D, Extract<"id" | SelectedColumnDataKey<Selected[number]>, keyof D>> : never;
3677
3703
  /**
3678
3704
  * Sort direction
3679
3705
  */
@@ -3697,6 +3723,20 @@ interface CollectionFilterBase {
3697
3723
  * @default false
3698
3724
  */
3699
3725
  includeTotal?: boolean;
3726
+ /**
3727
+ * Database columns to return for each entry. Dineway automatically adds the
3728
+ * small set of system columns required for entry IDs, pagination, edit
3729
+ * metadata, locale handling, and cache hints.
3730
+ *
3731
+ * @example ["canonical_path", "updated_at"]
3732
+ */
3733
+ select?: readonly string[];
3734
+ /**
3735
+ * Hydrate taxonomy terms and bylines onto each entry.
3736
+ * Set to `false` for lightweight read-only projections such as sitemaps.
3737
+ * @default true
3738
+ */
3739
+ hydrate?: boolean;
3700
3740
  /**
3701
3741
  * Filter by field values, taxonomy terms, byline credits, or ranges.
3702
3742
  *
@@ -3853,6 +3893,9 @@ declare function getEditMeta(value: unknown): EditFieldMeta | undefined;
3853
3893
  * const { entries: drafts } = await getDinewayCollection("posts", { status: "draft" });
3854
3894
  * ```
3855
3895
  */
3896
+ declare function getDinewayCollection<T extends string, D = InferCollectionData<T>, const Selected extends readonly string[] = readonly string[]>(type: T, filter: CollectionFilter & {
3897
+ select: Selected;
3898
+ }): Promise<CollectionResult<SelectedCollectionData<D, Selected>>>;
3856
3899
  declare function getDinewayCollection<T extends string, D = InferCollectionData<T>>(type: T, filter?: CollectionFilter): Promise<CollectionResult<D>>;
3857
3900
  /**
3858
3901
  * Get a single entry by type and ID/slug
@@ -4047,36 +4090,6 @@ declare function invalidateSchemaObjectCache(): void;
4047
4090
  /** Invalidate cached public comment reads. */
4048
4091
  declare function invalidateCommentObjectCache(): void;
4049
4092
  //#endregion
4050
- //#region src/i18n/config.d.ts
4051
- /**
4052
- * Dineway i18n Configuration
4053
- *
4054
- * Reads locale configuration from the virtual module (sourced from Astro config).
4055
- * Initialized during runtime startup, then available via getI18nConfig().
4056
- */
4057
- interface I18nConfig {
4058
- defaultLocale: string;
4059
- locales: string[];
4060
- fallback?: Record<string, string>;
4061
- prefixDefaultLocale?: boolean;
4062
- }
4063
- /**
4064
- * Get the current i18n config.
4065
- * Returns null if i18n is not configured.
4066
- */
4067
- declare function getI18nConfig(): I18nConfig | null;
4068
- /**
4069
- * Check if i18n is enabled.
4070
- * Returns true when multiple locales are configured.
4071
- */
4072
- declare function isI18nEnabled(): boolean;
4073
- /**
4074
- * Resolve fallback locale chain for a given locale.
4075
- * Returns array of locales to try, from most preferred to least.
4076
- * Always ends with defaultLocale.
4077
- */
4078
- declare function getFallbackChain(locale: string): string[];
4079
- //#endregion
4080
4093
  //#region src/preview/sidecar-client.d.ts
4081
4094
  /**
4082
4095
  * Preview sidecar protocol helpers.
@@ -4430,16 +4443,16 @@ declare const pluginManifestSchema: z$1.ZodObject<{
4430
4443
  number: "number";
4431
4444
  boolean: "boolean";
4432
4445
  file: "file";
4433
- json: "json";
4434
- slug: "slug";
4435
4446
  image: "image";
4436
4447
  datetime: "datetime";
4448
+ slug: "slug";
4437
4449
  text: "text";
4438
4450
  integer: "integer";
4439
4451
  select: "select";
4440
4452
  multiSelect: "multiSelect";
4441
4453
  portableText: "portableText";
4442
4454
  reference: "reference";
4455
+ json: "json";
4443
4456
  repeater: "repeater";
4444
4457
  }>>;
4445
4458
  elements: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
@@ -4567,7 +4580,7 @@ declare class PluginManager {
4567
4580
  /**
4568
4581
  * Run content:afterSave hooks across all active plugins
4569
4582
  */
4570
- runContentAfterSave(content: Record<string, unknown>, collection: string, isNew: boolean): Promise<HookResult<void>[]>;
4583
+ runContentAfterSave(content: Record<string, unknown>, collection: string, isNew: boolean, previousContent?: Record<string, unknown>): Promise<HookResult<void>[]>;
4571
4584
  /**
4572
4585
  * Run content:beforeDelete hooks across all active plugins
4573
4586
  */
@@ -4578,15 +4591,15 @@ declare class PluginManager {
4578
4591
  /**
4579
4592
  * Run content:afterDelete hooks across all active plugins
4580
4593
  */
4581
- runContentAfterDelete(id: string, collection: string, permanent: boolean): Promise<HookResult<void>[]>;
4594
+ runContentAfterDelete(id: string, collection: string, permanent: boolean, previousContent?: Record<string, unknown>): Promise<HookResult<void>[]>;
4582
4595
  /**
4583
4596
  * Run content:afterPublish hooks across all active plugins
4584
4597
  */
4585
- runContentAfterPublish(content: Record<string, unknown>, collection: string): Promise<HookResult<void>[]>;
4598
+ runContentAfterPublish(content: Record<string, unknown>, collection: string, previousContent?: Record<string, unknown>): Promise<HookResult<void>[]>;
4586
4599
  /**
4587
4600
  * Run content:afterUnpublish hooks across all active plugins
4588
4601
  */
4589
- runContentAfterUnpublish(content: Record<string, unknown>, collection: string): Promise<HookResult<void>[]>;
4602
+ runContentAfterUnpublish(content: Record<string, unknown>, collection: string, previousContent?: Record<string, unknown>): Promise<HookResult<void>[]>;
4590
4603
  /**
4591
4604
  * Run content:afterRestore hooks across all active plugins
4592
4605
  */
@@ -6854,6 +6867,8 @@ interface HookConfig<THandler> {
6854
6867
  * Content hook event
6855
6868
  */
6856
6869
  interface ContentHookEvent {
6870
+ /** Persisted item before a successful mutation; absent for creations and before hooks. */
6871
+ previousContent?: Record<string, unknown>;
6857
6872
  content: Record<string, unknown>;
6858
6873
  collection: string;
6859
6874
  isNew: boolean;
@@ -6862,6 +6877,8 @@ interface ContentHookEvent {
6862
6877
  * Content delete hook event
6863
6878
  */
6864
6879
  interface ContentDeleteEvent {
6880
+ /** Persisted item before a successful mutation; absent for creations and before hooks. */
6881
+ previousContent?: Record<string, unknown>;
6865
6882
  id: string;
6866
6883
  collection: string;
6867
6884
  permanent: boolean;
@@ -6870,6 +6887,8 @@ interface ContentDeleteEvent {
6870
6887
  * Content state change hook event.
6871
6888
  */
6872
6889
  interface ContentStateChangeEvent {
6890
+ /** Persisted item before a successful mutation; absent for creations and before hooks. */
6891
+ previousContent?: Record<string, unknown>;
6873
6892
  content: Record<string, unknown>;
6874
6893
  collection: string;
6875
6894
  }
@@ -6931,6 +6950,25 @@ interface BreadcrumbItem {
6931
6950
  /** Absolute or root-relative URL for this crumb. */
6932
6951
  url: string;
6933
6952
  }
6953
+ /** Public image metadata. Dimensions describe the referenced file, not a display crop. */
6954
+ interface PublicPageImage {
6955
+ url: string;
6956
+ alt?: string;
6957
+ width?: number;
6958
+ height?: number;
6959
+ mimeType?: string;
6960
+ }
6961
+ /** A public Schema.org node supplied by a site or plugin. */
6962
+ interface PublicSchemaNode {
6963
+ "@type": string | readonly string[];
6964
+ "@id"?: string;
6965
+ [key: string]: unknown;
6966
+ }
6967
+ interface PublicPageSchema {
6968
+ nodes: PublicSchemaNode[];
6969
+ /** Identifies a node in this graph that the page primarily describes. */
6970
+ mainEntity?: string;
6971
+ }
6934
6972
  /**
6935
6973
  * Describes the page being rendered. Passed to page hooks so plugins
6936
6974
  * can decide what to contribute without fetching content themselves.
@@ -6948,6 +6986,8 @@ interface PublicPageContext {
6948
6986
  description: string | null;
6949
6987
  canonical: string | null;
6950
6988
  image: string | null;
6989
+ imageMetadata?: PublicPageImage;
6990
+ schema?: PublicPageSchema;
6951
6991
  content?: {
6952
6992
  collection: string;
6953
6993
  id: string;
@@ -6958,6 +6998,7 @@ interface PublicPageContext {
6958
6998
  ogTitle?: string | null;
6959
6999
  ogDescription?: string | null;
6960
7000
  ogImage?: string | null;
7001
+ ogImageMetadata?: PublicPageImage;
6961
7002
  robots?: string | null;
6962
7003
  };
6963
7004
  /** Article metadata for Open Graph article: tags */
@@ -7613,4 +7654,4 @@ interface PluginManifest {
7613
7654
  admin: PluginAdminConfig;
7614
7655
  }
7615
7656
  //#endregion
7616
- export { PluginMcpCommandTool as $, handleMediaUpdate as $a, getEditMeta as $i, getComments as $n, FieldDefinition as $o, ValidatedPluginManifest as $r, ListResponse as $s, getSearchStats as $t, MediaUploadEvent as A, PortableTextSpan as Aa, invalidateBylineObjectCache as Ai, getTerm as An, handleContentAuthors as Ao, AssignmentService as Ar, ContentRepository as As, StandardHookEntry as At, PluginActor as B, Section as Ba, CacheHint as Bi, getMenu as Bn, handleContentList as Bo, PublicationReleasePolicyDisposition as Br, Element as Bs, PublicationPolicyOverride as Bt, FieldWidgetConfig as C, portableTextToProsemirror as Ca, getI18nConfig as Ci, WidgetComponentDef as Cn, PluginMcpTargetAuthorizer$1 as Co, VerifyPreviewTokenResult as Cr, SiteActivitySourceType as Cs, PortableTextBlockField as Ct, KVAccess as D, PortableTextImageBlock as Da, cachedQuery as Di, getTaxonomyDef as Dn, LocalStorageConfig as Do, AssignmentAccessContext as Dr, CreateMediaInput as Ds, ResolvedPluginHooks as Dt, HttpAccess as E, PortableTextHtmlBlock as Ea, CachedQueryOptions as Ei, getEntryTerms as En, getStoredConfig as Eo, verifyPreviewToken as Er, RevisionRepository as Es, ResolvedPlugin as Et, PageMetadataContribution as F, ProseMirrorNode as Fa, invalidateSchemaObjectCache as Fi, TaxonomyTermRow as Fn, handleContentDelete as Fo, CreateHandoffSnapshotInput as Fr, WhereValue$1 as Fs, StorageCollection as Ft, PluginAuthMethod as G, SchemaError as Ga, EditFieldMeta as Gi, MenuItem as Gn, handleContentSchedule as Go, SandboxNotAvailableError as Gr, parseQuery as Gs, PublicationReadinessResult as Gt, PluginAdminConfig as H, UpdateSectionInput as Ha, CollectionResult as Hi, CreateMenuInput as Hn, handleContentPermanentDelete as Ho, NodeSandboxRunner as Hr, ParseResult as Hs, PublicationReadinessPolicyBlocker as Ht, PageMetadataEvent as I, getSection as Ia, invalidateTaxonomyObjectCache as Ii, UpdateTermInput as In, handleContentDiscardDraft as Io, HandoffSnapshot as Ir, dinewayLoader as Is, StorageCollectionConfig as It, PluginDefinition as J, MediaResponse as Ja, ResolvePathResult as Ji, UpdateMenuInput as Jn, handleContentUnschedule as Jo, createPluginManager as Jr, handleError as Js, PublicationReleasePolicy as Jt, PluginCapability as K, SchemaRegistry as Ka, EntryResult as Ki, MenuItemType as Kn, handleContentTranslations as Ko, createNoopSandboxRunner as Kr, apiError as Ks, PublicationReadinessWarning as Kt, PageMetadataHandler as L, getSections as La, isObjectCacheActive as Li, getByline as Ln, handleContentDuplicate as Lo, SiteAuthTokenContext as Lr, getDb as Ls, StoredComment as Lt, PageFragmentContribution as M, PortableTextUnknownBlock as Ma, invalidateCommentObjectCache as Mi, CreateTermInput as Mn, handleContentCountScheduled as Mo, HandoffResumeResult as Mr, EntryData as Ms, StandardPluginDefinition as Mt, PageFragmentEvent as N, ProseMirrorDocument as Na, invalidateMenuObjectCache as Ni, TaxonomyDef as Nn, handleContentCountTrashed as No, HandoffSnapshotStore as Nr, EntryFilter as Ns, StandardRouteEntry as Nt, LogAccess as O, PortableTextLinkMark as Oa, contentNamespace as Oi, getTaxonomyDefs as On, S3StorageConfig as Oo, AssignmentActionInput as Or, MediaItem$1 as Os, ResolvedPluginMcpConfig as Ot, PageFragmentHandler as P, ProseMirrorMark as Pa, invalidateObjectCache as Pi, TaxonomyTerm as Pn, handleContentCreate as Po, ResumeHandoffSnapshotInput as Pr, WhereRange as Ps, StandardRouteHandler as Pt, PluginMcpCommandPreview as Q, handleMediaList as Qa, getDinewayEntry as Qi, getCommentCount as Qn, image as Qo, PluginSecretStoreOptions as Qr, FieldDescriptor as Qs, extractSearchableFields as Qt, PageMetadataLinkRel as R, CreateSectionInput as Ra, AfterCallback as Ri, getBylineBySlug as Rn, handleContentGet as Ro, BuiltContentReleasePayload as Rr, DatabaseConfig as Rs, isStandardPluginDefinition as Rt, EmailMessage as S, hashString as Sa, getFallbackChain as Si, WidgetArea as Sn, PluginMcpRegistry as So, VerifyPreviewTokenOptions as Sr, SiteActivityResultStatus as Ss, PortableTextBlockConfig as St, HookName as T, PortableTextCodeBlock as Ta, CacheNamespace as Ti, getEntriesByTerm as Tn, PluginDescriptor as To, parseContentId as Tr, PublicComment as Ts, ResolvedHook as Tt, PluginAdminExports as U, validateContent as Ua, ContentEntry as Ui, CreateMenuItemInput as Un, handleContentPublish as Uo, createNodeSandboxRunner as Ur, isParseError as Us, PublicationReadinessPolicyFinding as Ut, PluginActorType as V, SectionSource as Va, CollectionFilter as Vi, getMenus as Vn, handleContentListTrashed as Vo, buildStableActionHash as Vr, OptionsRepository as Vs, PublicationReadinessBlocker as Vt, PluginAdminPage as W, getCollectionInfo as Wa, DinewayCollections as Wi, Menu as Wn, handleContentRestore as Wo, NoopSandboxRunner as Wr, parseBody as Ws, PublicationReadinessPolicyTarget as Wt, PluginManifest as X, handleMediaDelete as Xa, TranslationsResult as Xi, GetCommentsOptions as Xn, portableText as Xo, PluginSecretStatus as Xr, ContentListResponse as Xs, currentTimestamp as Xt, PluginHooks as Y, handleMediaCreate as Ya, TranslationSummary as Yi, UpdateMenuItemInput as Yn, handleContentUpdate as Yo, createReviewedPluginMcpCommandExecutor as Yr, ApiContext as Ys, PublicationReleasePreparationTarget as Yt, PluginMcpAuthorization as Z, handleMediaGet as Za, getDinewayCollection as Zi, GetCommentsResult as Zn, reference as Zo, PluginSecretStore as Zr, ContentResponse as Zs, extractPlainText as Zt, EmailAfterSendHandler as _, RateLimitResult as _a, defaultPreviewSidecarClient as _i, CreateWidgetInput as _n, SandboxOptions as _o, GetPreviewUrlOptions as _r, MarkAssignmentsOverdueInput as _s, PluginRouteTargetAuthorizationRequest as _t, CommentAfterModerateEvent as a, createEditable as aa, FileSessionDatabaseFactory as ai, CollectionSearchOptions as an, generateManifest as ao, PreviewToolbarConfig as ar, CreateRelationInput as as, PluginMcpResource as at, EmailDeliverEvent as b, sanitizeHref as ba, verifyPreviewSignature as bi, UpdateWidgetInput as bn, SandboxedPlugin as bo, GeneratePreviewTokenOptions as br, SiteActivityActorType as bs, PluginStorageConfig as bt, CommentBeforeCreateHandler as c, GuestAccessTokenClaims as ca, SessionDatabaseFactory as ci, SearchResponse as cn, SiteBriefingContextEntry as co, ApplySnapshotToDatabaseOptions as cr, UpdateRelationInput as cs, PluginMcpRiskFactor as ct, ContentAccess as d, IssuedGuestAccessToken as da, SessionDatabaseLimitError as di, SuggestOptions as dn, EmailPipeline as do, getAppliedSnapshotMeta as dr, AssignmentActorType as ds, PluginMigration as dt, getTranslations as ea, ManifestResponse as ec, pluginManifestSchema as ei, getSuggestions as en, RevisionListResponse as eo, getPluginSetting as er, FieldUIHints as es, PluginMcpConfig as et, ContentDeleteEvent as f, VerifyGuestAccessTokenOptions as fa, SessionOpenOptions as fi, Suggestion as fn, HookPipeline as fo, Snapshot as fr, AssignmentListQuery as fs, PluginRoute as ft, EmailAfterSendEvent as g, verifyGuestAccessToken as ga, buildPreviewSignatureHeader as gi, CreateWidgetAreaInput as gn, SandboxEmailSendCallback as go, isPreviewRequest as gr, CreateAssignmentInput as gs, PluginRouteMethod as gt, EmailAccess as h, issueGuestAccessToken as ha, PreviewSidecarSignature as hi, getWidgetComponents as hn, SandboxEmailMessage as ho, getPreviewToken as hr, AssignmentStatus as hs, PluginRouteBodyMode as ht, CommentAfterCreateHandler as i, FieldAnnotation as ia, createFilePreviewMiddleware as ii, FTSManager as in, handleRevisionRestore as io, setSiteSettings as ir, ContentReference as is, PluginMcpQueryTool as it, ModerationDecision as j, PortableTextTextBlock as ja, invalidateCollectionCache as ji, getTermsForEntries as jn, handleContentCompare as jo, CreateWorkflowAssignmentInput as jr, CollectionFilter$1 as js, StandardHookHandler as jt, MediaAccess as k, PortableTextMarkDef as ka, contentNamespaces as ki, getTaxonomyTerms as kn, StorageDescriptor as ko, AssignmentListInput as kr, MediaRepository as ks, RouteContext as kt, CommentModerateEvent as l, GuestAccessTokenConfigurationError as la, SessionDatabaseHandle as li, SearchResult as ln, SandboxedPluginEntry as lo, applySnapshotToDatabase as lr, Assignment as ls, PluginMcpRiskLevel as lt, ContentPublishStateChangeEvent as m, hashGuestAccessToken as ma, PreviewSidecarClient as mi, getWidgetAreas as mn, createHookPipeline as mo, isBlockedInPreview as mr, AssignmentRepository as ms, PluginRouteAuthorization as mt, CollectionCommentSettings as n, CMSAnnotation as na, definePlugin as ni, searchCollection as nn, handleRevisionGet as no, getSiteSetting as nr, ImageValue as ns, PluginMcpPiiClass as nt, CommentAfterModerateHandler as o, createNoop as oa, FileSessionDatabaseFactoryOptions as oi, SearchConfig as on, SiteBriefing as oo, renderPreviewToolbar as or, Relation as os, PluginMcpResourceContent as ot, ContentHookEvent as p, VerifyGuestAccessTokenResult as pa, SessionOpenOrCreateOptions as pi, getWidgetArea as pn, HookResult as po, renderPreviewLoadingPage as pr, AssignmentPriority as ps, PluginRouteApiTokenPolicy as pt, PluginContext as q, MediaListResponse as qa, InferCollectionData as qi, ReorderMenuItemsInput as qn, handleContentUnpublish as qo, PluginManager as qr, apiSuccess as qs, PublicationReceipt as qt, CommentAfterCreateEvent as r, EditProxy as ra, FilePreviewMiddlewareConfig as ri, searchWithDb as rn, handleRevisionList as ro, getSiteSettings as rr, PortableTextBlock$1 as rs, PluginMcpPiiPolicy as rt, CommentBeforeCreateEvent as s, GuestAccessExpectedScope as sa, SessionCleanupResult as si, SearchOptions as sn, SiteBriefingAssembler as so, AppliedSnapshotMeta as sr, RelationRepository as ss, PluginMcpReversibility as st, BreadcrumbItem as t, resolveDinewayPath as ta, runPluginMigrations as ti, search as tn, RevisionResponse as to, getPluginSettings as tr, FileValue as ts, PluginMcpExecutionContext as tt, CommentModerateHandler as u, IssueGuestAccessTokenOptions as ua, SessionDatabaseInfo as ui, SearchStats as un, PluginRouteError as uo, dropSessionDatabaseTables as ur, AssignmentActorRef as us, PluginMcpTool as ut, EmailBeforeSendEvent as v, checkRateLimit as va, parsePreviewSignatureHeader as vi, PropDef as vn, SandboxRunner as vo, buildPreviewUrl as vr, CreateSiteActivityInput as vs, PluginRouteTargetAuthorizer as vt, HookConfig as w, prosemirrorToPortableText as wa, isI18nEnabled as wi, WidgetType as wn, DinewayConfig as wo, generatePreviewToken as wr, SiteActivityTimelineQuery as ws, PublicPageContext as wt, EmailDeliverHandler as x, computeContentHash as xa, I18nConfig as xi, Widget as xn, SerializedRequest as xo, PreviewTokenPayload as xr, SiteActivityRepository as xs, PluginTargetScope as xt, EmailBeforeSendHandler as y, isSafeHref as ya, signPreviewUrl as yi, ReorderWidgetsInput as yn, SandboxRunnerFactory as yo, getPreviewUrl as yr, SiteActivity as ys, PluginRouteTargetContext as yt, PagePlacement as z, GetSectionsOptions as za, after as zi, getEntriesByByline as zn, handleContentGetIncludingTrashed as zo, PublicationReleasePolicyContribution as zr, DinewayDatabaseError as zs, PublicationAuthorizationService as zt };
7657
+ export { PluginMcpCommandTool as $, handleMediaUpdate as $a, getEditMeta as $i, GetCommentsOptions as $n, FieldDefinition as $o, PluginSecretStatus as $r, ListResponse as $s, currentTimestamp as $t, MediaUploadEvent as A, PortableTextSpan as Aa, invalidateCollectionCache as Ai, getTaxonomyDef as An, handleContentAuthors as Ao, AssignmentAccessContext as Ar, ContentRepository as As, ResolvedPluginHooks as At, PluginActor as B, Section as Ba, CollectionFilter as Bi, getByline as Bn, handleContentList as Bo, SiteAuthTokenContext as Br, Element as Bs, StoredComment as Bt, FieldWidgetConfig as C, portableTextToProsemirror as Ca, verifyPreviewSignature as Ci, UpdateWidgetInput as Cn, PluginMcpTargetAuthorizer$1 as Co, GeneratePreviewTokenOptions as Cr, SiteActivitySourceType as Cs, PortableTextBlockField as Ct, KVAccess as D, PortableTextImageBlock as Da, contentNamespace as Di, WidgetType as Dn, LocalStorageConfig as Do, generatePreviewToken as Dr, CreateMediaInput as Ds, PublicSchemaNode as Dt, HttpAccess as E, PortableTextHtmlBlock as Ea, cachedQuery as Ei, WidgetComponentDef as En, getStoredConfig as Eo, VerifyPreviewTokenResult as Er, RevisionRepository as Es, PublicPageSchema as Et, PageMetadataContribution as F, ProseMirrorNode as Fa, invalidateTaxonomyObjectCache as Fi, CreateTermInput as Fn, handleContentDelete as Fo, HandoffResumeResult as Fr, WhereValue$1 as Fs, StandardPluginDefinition as Ft, PluginAuthMethod as G, SchemaError as Ga, EntryResult as Gi, CreateMenuInput as Gn, handleContentSchedule as Go, NodeSandboxRunner as Gr, parseQuery as Gs, PublicationReadinessPolicyBlocker as Gt, PluginAdminConfig as H, UpdateSectionInput as Ha, ContentEntry as Hi, getEntriesByByline as Hn, handleContentPermanentDelete as Ho, PublicationReleasePolicyContribution as Hr, ParseResult as Hs, PublicationAuthorizationService as Ht, PageMetadataEvent as I, getSection as Ia, isObjectCacheActive as Ii, TaxonomyDef as In, handleContentDiscardDraft as Io, HandoffSnapshotStore as Ir, dinewayLoader as Is, StandardRouteEntry as It, PluginDefinition as J, MediaResponse as Ja, SelectedCollectionData as Ji, MenuItem as Jn, handleContentUnschedule as Jo, SandboxNotAvailableError as Jr, handleError as Js, PublicationReadinessResult as Jt, PluginCapability as K, SchemaRegistry as Ka, InferCollectionData as Ki, CreateMenuItemInput as Kn, handleContentTranslations as Ko, createNodeSandboxRunner as Kr, apiError as Ks, PublicationReadinessPolicyFinding as Kt, PageMetadataHandler as L, getSections as La, AfterCallback as Li, TaxonomyTerm as Ln, handleContentDuplicate as Lo, ResumeHandoffSnapshotInput as Lr, getDb as Ls, StandardRouteHandler as Lt, PageFragmentContribution as M, PortableTextUnknownBlock as Ma, invalidateMenuObjectCache as Mi, getTaxonomyTerms as Mn, handleContentCountScheduled as Mo, AssignmentListInput as Mr, EntryData as Ms, RouteContext as Mt, PageFragmentEvent as N, ProseMirrorDocument as Na, invalidateObjectCache as Ni, getTerm as Nn, handleContentCountTrashed as No, AssignmentService as Nr, EntryFilter as Ns, StandardHookEntry as Nt, LogAccess as O, PortableTextLinkMark as Oa, contentNamespaces as Oi, getEntriesByTerm as On, S3StorageConfig as Oo, parseContentId as Or, MediaItem$1 as Os, ResolvedHook as Ot, PageFragmentHandler as P, ProseMirrorMark as Pa, invalidateSchemaObjectCache as Pi, getTermsForEntries as Pn, handleContentCreate as Po, CreateWorkflowAssignmentInput as Pr, WhereRange as Ps, StandardHookHandler as Pt, PluginMcpCommandPreview as Q, handleMediaList as Qa, getDinewayEntry as Qi, UpdateMenuItemInput as Qn, image as Qo, createReviewedPluginMcpCommandExecutor as Qr, FieldDescriptor as Qs, PublicationReleasePreparationTarget as Qt, PageMetadataLinkRel as R, CreateSectionInput as Ra, after as Ri, TaxonomyTermRow as Rn, handleContentGet as Ro, CreateHandoffSnapshotInput as Rr, DatabaseConfig as Rs, StorageCollection as Rt, EmailMessage as S, hashString as Sa, signPreviewUrl as Si, ReorderWidgetsInput as Sn, PluginMcpRegistry as So, getPreviewUrl as Sr, SiteActivityResultStatus as Ss, PortableTextBlockConfig as St, HookName as T, PortableTextCodeBlock as Ta, CachedQueryOptions as Ti, WidgetArea as Tn, PluginDescriptor as To, VerifyPreviewTokenOptions as Tr, PublicComment as Ts, PublicPageImage as Tt, PluginAdminExports as U, validateContent as Ua, DinewayCollections as Ui, getMenu as Un, handleContentPublish as Uo, PublicationReleasePolicyDisposition as Ur, isParseError as Us, PublicationPolicyOverride as Ut, PluginActorType as V, SectionSource as Va, CollectionResult as Vi, getBylineBySlug as Vn, handleContentListTrashed as Vo, BuiltContentReleasePayload as Vr, OptionsRepository as Vs, isStandardPluginDefinition as Vt, PluginAdminPage as W, getCollectionInfo as Wa, EditFieldMeta as Wi, getMenus as Wn, handleContentRestore as Wo, buildStableActionHash as Wr, parseBody as Ws, PublicationReadinessBlocker as Wt, PluginManifest as X, handleMediaDelete as Xa, TranslationsResult as Xi, ReorderMenuItemsInput as Xn, portableText as Xo, PluginManager as Xr, ContentListResponse as Xs, PublicationReceipt as Xt, PluginHooks as Y, handleMediaCreate as Ya, TranslationSummary as Yi, MenuItemType as Yn, handleContentUpdate as Yo, createNoopSandboxRunner as Yr, ApiContext as Ys, PublicationReadinessWarning as Yt, PluginMcpAuthorization as Z, handleMediaGet as Za, getDinewayCollection as Zi, UpdateMenuInput as Zn, reference as Zo, createPluginManager as Zr, ContentResponse as Zs, PublicationReleasePolicy as Zt, EmailAfterSendHandler as _, RateLimitResult as _a, PreviewSidecarClient as _i, getWidgetAreas as _n, SandboxOptions as _o, isBlockedInPreview as _r, MarkAssignmentsOverdueInput as _s, PluginRouteTargetAuthorizationRequest as _t, CommentAfterModerateEvent as a, createEditable as aa, definePlugin as ai, searchCollection as an, generateManifest as ao, getSiteSetting as ar, CreateRelationInput as as, PluginMcpResource as at, EmailDeliverEvent as b, sanitizeHref as ba, defaultPreviewSidecarClient as bi, CreateWidgetInput as bn, SandboxedPlugin as bo, GetPreviewUrlOptions as br, SiteActivityActorType as bs, PluginStorageConfig as bt, CommentBeforeCreateHandler as c, GuestAccessTokenClaims as ca, FileSessionDatabaseFactory as ci, CollectionSearchOptions as cn, SiteBriefingContextEntry as co, PreviewToolbarConfig as cr, UpdateRelationInput as cs, PluginMcpRiskFactor as ct, ContentAccess as d, IssuedGuestAccessToken as da, SessionDatabaseFactory as di, SearchResponse as dn, EmailPipeline as do, ApplySnapshotToDatabaseOptions as dr, AssignmentActorType as ds, PluginMigration as dt, getTranslations as ea, ManifestResponse as ec, PluginSecretStore as ei, extractPlainText as en, RevisionListResponse as eo, GetCommentsResult as er, FieldUIHints as es, PluginMcpConfig as et, ContentDeleteEvent as f, VerifyGuestAccessTokenOptions as fa, SessionDatabaseHandle as fi, SearchResult as fn, HookPipeline as fo, applySnapshotToDatabase as fr, AssignmentListQuery as fs, PluginRoute as ft, EmailAfterSendEvent as g, verifyGuestAccessToken as ga, SessionOpenOrCreateOptions as gi, getWidgetArea as gn, SandboxEmailSendCallback as go, renderPreviewLoadingPage as gr, CreateAssignmentInput as gs, PluginRouteMethod as gt, EmailAccess as h, issueGuestAccessToken as ha, SessionOpenOptions as hi, Suggestion as hn, SandboxEmailMessage as ho, Snapshot as hr, AssignmentStatus as hs, PluginRouteBodyMode as ht, CommentAfterCreateHandler as i, FieldAnnotation as ia, runPluginMigrations as ii, search as in, handleRevisionRestore as io, getPluginSettings as ir, ContentReference as is, PluginMcpQueryTool as it, ModerationDecision as j, PortableTextTextBlock as ja, invalidateCommentObjectCache as ji, getTaxonomyDefs as jn, handleContentCompare as jo, AssignmentActionInput as jr, CollectionFilter$1 as js, ResolvedPluginMcpConfig as jt, MediaAccess as k, PortableTextMarkDef as ka, invalidateBylineObjectCache as ki, getEntryTerms as kn, StorageDescriptor as ko, verifyPreviewToken as kr, MediaRepository as ks, ResolvedPlugin as kt, CommentModerateEvent as l, GuestAccessTokenConfigurationError as la, FileSessionDatabaseFactoryOptions as li, SearchConfig as ln, SandboxedPluginEntry as lo, renderPreviewToolbar as lr, Assignment as ls, PluginMcpRiskLevel as lt, ContentPublishStateChangeEvent as m, hashGuestAccessToken as ma, SessionDatabaseLimitError as mi, SuggestOptions as mn, createHookPipeline as mo, getAppliedSnapshotMeta as mr, AssignmentRepository as ms, PluginRouteAuthorization as mt, CollectionCommentSettings as n, CMSAnnotation as na, ValidatedPluginManifest as ni, getSearchStats as nn, handleRevisionGet as no, getComments as nr, ImageValue as ns, PluginMcpPiiClass as nt, CommentAfterModerateHandler as o, createNoop as oa, FilePreviewMiddlewareConfig as oi, searchWithDb as on, SiteBriefing as oo, getSiteSettings as or, Relation as os, PluginMcpResourceContent as ot, ContentHookEvent as p, VerifyGuestAccessTokenResult as pa, SessionDatabaseInfo as pi, SearchStats as pn, HookResult as po, dropSessionDatabaseTables as pr, AssignmentPriority as ps, PluginRouteApiTokenPolicy as pt, PluginContext as q, MediaListResponse as qa, ResolvePathResult as qi, Menu as qn, handleContentUnpublish as qo, NoopSandboxRunner as qr, apiSuccess as qs, PublicationReadinessPolicyTarget as qt, CommentAfterCreateEvent as r, EditProxy as ra, pluginManifestSchema as ri, getSuggestions as rn, handleRevisionList as ro, getPluginSetting as rr, PortableTextBlock$1 as rs, PluginMcpPiiPolicy as rt, CommentBeforeCreateEvent as s, GuestAccessExpectedScope as sa, createFilePreviewMiddleware as si, FTSManager as sn, SiteBriefingAssembler as so, setSiteSettings as sr, RelationRepository as ss, PluginMcpReversibility as st, BreadcrumbItem as t, resolveDinewayPath as ta, PluginSecretStoreOptions as ti, extractSearchableFields as tn, RevisionResponse as to, getCommentCount as tr, FileValue as ts, PluginMcpExecutionContext as tt, CommentModerateHandler as u, IssueGuestAccessTokenOptions as ua, SessionCleanupResult as ui, SearchOptions as un, PluginRouteError as uo, AppliedSnapshotMeta as ur, AssignmentActorRef as us, PluginMcpTool as ut, EmailBeforeSendEvent as v, checkRateLimit as va, PreviewSidecarSignature as vi, getWidgetComponents as vn, SandboxRunner as vo, getPreviewToken as vr, CreateSiteActivityInput as vs, PluginRouteTargetAuthorizer as vt, HookConfig as w, prosemirrorToPortableText as wa, CacheNamespace as wi, Widget as wn, DinewayConfig as wo, PreviewTokenPayload as wr, SiteActivityTimelineQuery as ws, PublicPageContext as wt, EmailDeliverHandler as x, computeContentHash as xa, parsePreviewSignatureHeader as xi, PropDef as xn, SerializedRequest as xo, buildPreviewUrl as xr, SiteActivityRepository as xs, PluginTargetScope as xt, EmailBeforeSendHandler as y, isSafeHref as ya, buildPreviewSignatureHeader as yi, CreateWidgetAreaInput as yn, SandboxRunnerFactory as yo, isPreviewRequest as yr, SiteActivity as ys, PluginRouteTargetContext as yt, PagePlacement as z, GetSectionsOptions as za, CacheHint as zi, UpdateTermInput as zn, handleContentGetIncludingTrashed as zo, HandoffSnapshot as zr, DinewayDatabaseError as zs, StorageCollectionConfig as zt };
@@ -1,16 +1,17 @@
1
- import { $i as getEditMeta, $n as getComments, Bn as getMenu, F as PageMetadataContribution, Ts as PublicComment, Wa as getCollectionInfo, Zi as getDinewayCollection, ba as sanitizeHref, kn as getTaxonomyTerms, pn as getWidgetArea, rr as getSiteSettings, wt as PublicPageContext, xn as Widget } from "../types-CnuliyMS.mjs";
2
- import "../types-BFeoAIHl.mjs";
3
- import { _ as MediaValue, c as EmbedResult, l as ImageEmbed, s as EmbedOptions } from "../placeholder-C6ZjZcmJ.mjs";
4
- import "../runner-Bcy5w0vj.mjs";
5
- import "../index-DybFmYtZ.mjs";
6
- import "../types-S9VIopdY.mjs";
7
- import { x as MediaReference } from "../validate-YiX3rly5.mjs";
8
- import "../byline-fields-DEQ1wcUa.mjs";
9
- import "../types-BsTXSvKG.mjs";
10
- import { t as getPublicOrigin } from "../public-url-CoGGAgPW.mjs";
11
- import { a as generateSiteSeoContributions, c as ResolvedPageMetadata, d as renderPageMetadata, f as resolvePageMetadata, i as generateBaseSeoContributions, l as createSha256CspHash, o as renderFragments } from "../jsonld-BS1v8xeZ.mjs";
1
+ import { $i as getEditMeta, F as PageMetadataContribution, Mn as getTaxonomyTerms, Ts as PublicComment, Un as getMenu, Wa as getCollectionInfo, Zi as getDinewayCollection, ba as sanitizeHref, gn as getWidgetArea, nr as getComments, or as getSiteSettings, wn as Widget, wt as PublicPageContext } from "../types-Cty2_HVR.mjs";
2
+ import "../types-C8cUW9dh.mjs";
3
+ import { _ as MediaValue, c as EmbedResult, l as ImageEmbed, s as EmbedOptions } from "../placeholder-BsYSFPjY.mjs";
4
+ import "../runner-BITx7yBF.mjs";
5
+ import "../index-NdJMMO48.mjs";
6
+ import "../types-C2LBO0t8.mjs";
7
+ import "../public-url-DFX2c_20.mjs";
8
+ import { x as MediaReference } from "../validate-Bc9gaua6.mjs";
9
+ import "../byline-fields-BXg94LXd.mjs";
10
+ import "../types-BaKec6bx.mjs";
11
+ import { t as getPublicOrigin } from "../public-url-NkNXl8OU.mjs";
12
+ import { a as generateSiteSeoContributions, c as ResolvedPageMetadata, d as renderPageMetadata, f as resolvePageMetadata, i as generateBaseSeoContributions, l as createSha256CspHash, o as renderFragments } from "../jsonld-TsDIJx5A.mjs";
12
13
  import { getPageRuntime } from "../page/index.mjs";
13
- import { t as getMediaProvider } from "../provider-loader-Db-pJFu3.mjs";
14
+ import { t as getMediaProvider } from "../provider-loader-jdkZM6xZ.mjs";
14
15
 
15
16
  //#region src/utils/sanitize.d.ts
16
17
  /**
@@ -1,28 +1,28 @@
1
1
  import "../dialect-helpers-fk43GbDb.mjs";
2
2
  import "../base64-F8-DUraK.mjs";
3
- import "../types-al8YMHdF.mjs";
4
- import "../loader-DtE00Fml.mjs";
3
+ import "../types-C9F2TLQV.mjs";
4
+ import "../loader-BCr2VSzt.mjs";
5
5
  import "../object-cache-D51qOseS.mjs";
6
- import "../media-BXbOL8xv.mjs";
7
- import "../comment-3JihGSh6.mjs";
6
+ import "../media-D8pQJSug.mjs";
7
+ import "../comment-BX6H4NF-.mjs";
8
8
  import "../options-DQPTH5n0.mjs";
9
9
  import "../request-cache-CBFjCwSt.mjs";
10
- import "../content-refresh-C4YoqoNs.mjs";
11
- import "../fts-manager-6KClQEs0.mjs";
12
- import "../registry-c51Wf_AZ.mjs";
10
+ import "../content-refresh-CHBBZGwf.mjs";
11
+ import "../fts-manager-C7pxxk6B.mjs";
12
+ import "../registry-D3n4-yUl.mjs";
13
13
  import { n as buildRenderMediaUrl } from "../url-guoXQQcV.mjs";
14
- import { i as getSiteSettings } from "../settings-DcwHL9mx.mjs";
15
- import { t as getCollectionInfo } from "../query-BnxjGFfS.mjs";
16
- import "../resolve-B6BpqwAR.mjs";
17
- import { a as getTaxonomyTerms } from "../taxonomies-B5jTGXEC.mjs";
18
- import { n as sanitizeHref } from "../url-D282S1Zw.mjs";
19
- import { r as getEditMeta, t as getDinewayCollection } from "../query-DTGsFOQu.mjs";
20
- import "../comment-reaction-BNXm1YHa.mjs";
21
- import { i as getComments, t as getMenu } from "../menus-b1JWwI1Z.mjs";
22
- import { t as getWidgetArea } from "../widgets-oRtISrJQ.mjs";
23
- import { t as getMediaProvider } from "../provider-loader-BeQcnPN1.mjs";
24
- import { n as getPublicOrigin } from "../public-url-BA-7LKvQ.mjs";
25
- import { c as createSha256CspHash, d as resolvePageMetadata, l as escapeHtmlAttr, n as generateSiteSeoContributions, o as renderFragments, t as generateBaseSeoContributions, u as renderPageMetadata } from "../seo-contributions-Ci8_12_r.mjs";
14
+ import { i as getSiteSettings } from "../settings-D-a7uy2z.mjs";
15
+ import { t as getCollectionInfo } from "../query-DPC5GT6e.mjs";
16
+ import "../resolve-CThKf9_X.mjs";
17
+ import { a as getTaxonomyTerms } from "../taxonomies-FKTevd14.mjs";
18
+ import { n as sanitizeHref } from "../url-C05Zz4pW.mjs";
19
+ import { r as getEditMeta, t as getDinewayCollection } from "../query-CrUftarl.mjs";
20
+ import "../comment-reaction-QSENU_3S.mjs";
21
+ import { i as getComments, t as getMenu } from "../menus-DSWeEWXl.mjs";
22
+ import { t as getWidgetArea } from "../widgets-BFqy7PYs.mjs";
23
+ import { t as getMediaProvider } from "../provider-loader-Dxka0BDp.mjs";
24
+ import { n as getPublicOrigin } from "../public-url-CIAtNGEg.mjs";
25
+ import { a as createSha256CspHash, c as resolvePageMetadata, g as absolutizeMediaUrl, n as generateSiteSeoContributions, o as escapeHtmlAttr, r as renderFragments, s as renderPageMetadata, t as generateBaseSeoContributions } from "../seo-contributions-BGBehNCN.mjs";
26
26
  import { getPageRuntime } from "../page/index.mjs";
27
27
  import sanitizeHtml from "sanitize-html";
28
28
 
@@ -151,47 +151,6 @@ async function buildResponsiveImage(getImage, opts) {
151
151
  }
152
152
  }
153
153
 
154
- //#endregion
155
- //#region src/page/absolute-url.ts
156
- const HTTP_URL_RE = /^https?:\/\//i;
157
- const PROTOCOL_RELATIVE_RE = /^\/\//;
158
- const PASSTHROUGH_SCHEME_RE = /^data:image\//i;
159
- const OTHER_SCHEME_RE = /^[a-z][a-z0-9+.-]*:/i;
160
- const WHITESPACE_OR_CONTROL_RE = /[\s\u0000-\u001f\u007f-\u009f]/;
161
- const TRAILING_SLASH_RE = /\/$/;
162
- function isUsableOrigin(origin) {
163
- return origin !== "null" && origin !== "";
164
- }
165
- function resolveSiteOrigin(configuredSiteUrl, page) {
166
- const candidates = [
167
- configuredSiteUrl,
168
- page.siteUrl,
169
- page.url
170
- ];
171
- for (const candidate of candidates) {
172
- if (!candidate || typeof candidate !== "string") continue;
173
- try {
174
- const parsed = new URL(candidate);
175
- if (parsed.protocol !== "http:" && parsed.protocol !== "https:") continue;
176
- if (!isUsableOrigin(parsed.origin)) continue;
177
- return parsed.origin;
178
- } catch {}
179
- }
180
- return null;
181
- }
182
- function absolutizeMediaUrl(url, configuredSiteUrl, page) {
183
- if (!url) return null;
184
- if (WHITESPACE_OR_CONTROL_RE.test(url)) return null;
185
- if (HTTP_URL_RE.test(url)) return url;
186
- if (PASSTHROUGH_SCHEME_RE.test(url)) return url;
187
- if (PROTOCOL_RELATIVE_RE.test(url)) return null;
188
- if (OTHER_SCHEME_RE.test(url)) return null;
189
- const origin = resolveSiteOrigin(configuredSiteUrl, page);
190
- if (!origin) return url;
191
- const safePath = url.startsWith("/") ? url : `/${url}`;
192
- return `${origin.replace(TRAILING_SLASH_RE, "")}${safePath}`;
193
- }
194
-
195
154
  //#endregion
196
155
  //#region src/page/site-identity.ts
197
156
  function renderSiteIdentity(input) {