dineway 0.2.20 → 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 (390) 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-VLgv2PL1.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-DIdotXfH.mjs → api-Bbtpvq2-.mjs} +15 -15
  9. package/dist/{api-tokens-C4K9eocv.mjs → api-tokens-BFgXg0l2.mjs} +1 -1
  10. package/dist/{apply-CPcb8oiS.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 +6 -6
  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/setup.mjs +1 -1
  20. package/dist/astro/middleware.mjs +111 -98
  21. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +5 -5
  22. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +5 -5
  23. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +4 -4
  24. package/dist/astro/routes/api/admin/api-tokens/index.mjs +6 -6
  25. package/dist/astro/routes/api/admin/briefing.mjs +16 -16
  26. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +3 -3
  27. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +7 -7
  28. package/dist/astro/routes/api/admin/byline-fields/index.mjs +7 -7
  29. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +7 -7
  30. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +13 -13
  31. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +13 -13
  32. package/dist/astro/routes/api/admin/bylines/index.mjs +13 -13
  33. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +11 -11
  34. package/dist/astro/routes/api/admin/comments/_id_.mjs +5 -5
  35. package/dist/astro/routes/api/admin/comments/bulk.mjs +9 -9
  36. package/dist/astro/routes/api/admin/comments/counts.mjs +5 -5
  37. package/dist/astro/routes/api/admin/comments/index.mjs +9 -9
  38. package/dist/astro/routes/api/admin/context/_id_/history.mjs +23 -23
  39. package/dist/astro/routes/api/admin/context/_id_/index.mjs +23 -23
  40. package/dist/astro/routes/api/admin/context/_id_/review.mjs +28 -28
  41. package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +28 -28
  42. package/dist/astro/routes/api/admin/context/diff.mjs +27 -27
  43. package/dist/astro/routes/api/admin/context/index.mjs +28 -28
  44. package/dist/astro/routes/api/admin/context/stale.mjs +27 -27
  45. package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +23 -23
  46. package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +27 -27
  47. package/dist/astro/routes/api/admin/hitl-requests/index.mjs +27 -27
  48. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +24 -24
  49. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +2 -2
  50. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +6 -6
  51. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +6 -6
  52. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +53 -52
  53. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +53 -52
  54. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +45 -44
  55. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +52 -51
  56. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +52 -51
  57. package/dist/astro/routes/api/admin/plugins/index.mjs +45 -44
  58. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +2 -2
  59. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +45 -44
  60. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +52 -51
  61. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +45 -44
  62. package/dist/astro/routes/api/admin/plugins/updates.mjs +45 -44
  63. package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +5 -5
  64. package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +28 -28
  65. package/dist/astro/routes/api/admin/review-requests/index.mjs +28 -28
  66. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +45 -44
  67. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +2 -2
  68. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +45 -44
  69. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +1 -1
  70. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +1 -1
  71. package/dist/astro/routes/api/admin/users/_id_/index.mjs +5 -5
  72. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +2 -2
  73. package/dist/astro/routes/api/admin/users/index.mjs +5 -5
  74. package/dist/astro/routes/api/auth/dev-bypass.mjs +4 -4
  75. package/dist/astro/routes/api/auth/invite/accept.mjs +1 -1
  76. package/dist/astro/routes/api/auth/invite/complete.mjs +9 -9
  77. package/dist/astro/routes/api/auth/invite/index.mjs +6 -6
  78. package/dist/astro/routes/api/auth/invite/register-options.mjs +8 -8
  79. package/dist/astro/routes/api/auth/logout.mjs +2 -2
  80. package/dist/astro/routes/api/auth/magic-link/send.mjs +8 -8
  81. package/dist/astro/routes/api/auth/magic-link/verify.mjs +2 -2
  82. package/dist/astro/routes/api/auth/me.mjs +7 -7
  83. package/dist/astro/routes/api/auth/mode.mjs +1 -1
  84. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +2 -2
  85. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
  86. package/dist/astro/routes/api/auth/passkey/_id_.mjs +5 -5
  87. package/dist/astro/routes/api/auth/passkey/index.mjs +1 -1
  88. package/dist/astro/routes/api/auth/passkey/options.mjs +10 -10
  89. package/dist/astro/routes/api/auth/passkey/register/options.mjs +8 -8
  90. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +9 -9
  91. package/dist/astro/routes/api/auth/passkey/verify.mjs +9 -9
  92. package/dist/astro/routes/api/auth/setup-token/index.mjs +5 -5
  93. package/dist/astro/routes/api/auth/setup-token/verify.mjs +2 -2
  94. package/dist/astro/routes/api/auth/signup/complete.mjs +9 -9
  95. package/dist/astro/routes/api/auth/signup/request.mjs +8 -8
  96. package/dist/astro/routes/api/auth/signup/verify.mjs +1 -1
  97. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +12 -12
  98. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +11 -11
  99. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +2 -2
  100. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +6 -6
  101. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +6 -6
  102. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +6 -6
  103. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +9 -9
  104. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +15 -15
  105. package/dist/astro/routes/api/content/_collection_/_id_/release-readiness.mjs +7 -7
  106. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +6 -6
  107. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +2 -2
  108. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +15 -15
  109. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +12 -12
  110. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +2 -2
  111. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +6 -6
  112. package/dist/astro/routes/api/content/_collection_/_id_.mjs +10 -10
  113. package/dist/astro/routes/api/content/_collection_/authors.mjs +2 -2
  114. package/dist/astro/routes/api/content/_collection_/index.mjs +10 -10
  115. package/dist/astro/routes/api/content/_collection_/trash.mjs +6 -6
  116. package/dist/astro/routes/api/dashboard.mjs +8 -8
  117. package/dist/astro/routes/api/dev/emails.mjs +2 -2
  118. package/dist/astro/routes/api/health.mjs +1 -1
  119. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  120. package/dist/astro/routes/api/import/probe.mjs +17 -17
  121. package/dist/astro/routes/api/import/wordpress/analyze.mjs +8 -8
  122. package/dist/astro/routes/api/import/wordpress/execute.d.mts +9 -8
  123. package/dist/astro/routes/api/import/wordpress/execute.mjs +32 -32
  124. package/dist/astro/routes/api/import/wordpress/media.d.mts +9 -8
  125. package/dist/astro/routes/api/import/wordpress/media.mjs +9 -9
  126. package/dist/astro/routes/api/import/wordpress/prepare.mjs +31 -31
  127. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +10 -9
  128. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +28 -28
  129. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  130. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +20 -20
  131. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +9 -8
  132. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +36 -36
  133. package/dist/astro/routes/api/integrations/_provider_.mjs +6 -6
  134. package/dist/astro/routes/api/integrations/index.mjs +5 -5
  135. package/dist/astro/routes/api/manifest.mjs +4 -4
  136. package/dist/astro/routes/api/mcp.mjs +64 -64
  137. package/dist/astro/routes/api/media/_id_/confirm.mjs +8 -8
  138. package/dist/astro/routes/api/media/_id_.mjs +6 -6
  139. package/dist/astro/routes/api/media/file/_...key_.mjs +1 -1
  140. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +2 -2
  141. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +2 -2
  142. package/dist/astro/routes/api/media/providers/index.mjs +2 -2
  143. package/dist/astro/routes/api/media/upload-url.mjs +9 -9
  144. package/dist/astro/routes/api/media.mjs +9 -9
  145. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +28 -28
  146. package/dist/astro/routes/api/menus/_name_/items.mjs +28 -28
  147. package/dist/astro/routes/api/menus/_name_/reorder.mjs +28 -28
  148. package/dist/astro/routes/api/menus/_name_/translations.mjs +28 -28
  149. package/dist/astro/routes/api/menus/_name_.mjs +28 -28
  150. package/dist/astro/routes/api/menus/index.mjs +28 -28
  151. package/dist/astro/routes/api/oauth/authorize.mjs +7 -7
  152. package/dist/astro/routes/api/oauth/device/authorize.mjs +6 -6
  153. package/dist/astro/routes/api/oauth/device/code.mjs +9 -9
  154. package/dist/astro/routes/api/oauth/device/token.mjs +8 -8
  155. package/dist/astro/routes/api/oauth/register.mjs +4 -4
  156. package/dist/astro/routes/api/oauth/token/refresh.mjs +6 -6
  157. package/dist/astro/routes/api/oauth/token/revoke.mjs +6 -6
  158. package/dist/astro/routes/api/oauth/token.mjs +6 -6
  159. package/dist/astro/routes/api/openapi.json.mjs +4 -4
  160. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +4 -4
  161. package/dist/astro/routes/api/redirects/404s/index.mjs +9 -9
  162. package/dist/astro/routes/api/redirects/404s/summary.mjs +9 -9
  163. package/dist/astro/routes/api/redirects/_id_.mjs +29 -29
  164. package/dist/astro/routes/api/redirects/index.mjs +29 -29
  165. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +2 -2
  166. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +2 -2
  167. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +47 -46
  168. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +47 -46
  169. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +47 -46
  170. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +47 -46
  171. package/dist/astro/routes/api/schema/collections/index.mjs +47 -46
  172. package/dist/astro/routes/api/schema/index.mjs +7 -7
  173. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +45 -44
  174. package/dist/astro/routes/api/schema/orphans/index.mjs +45 -44
  175. package/dist/astro/routes/api/search/enable.mjs +10 -10
  176. package/dist/astro/routes/api/search/index.mjs +9 -9
  177. package/dist/astro/routes/api/search/rebuild.mjs +10 -10
  178. package/dist/astro/routes/api/search/stats.mjs +6 -6
  179. package/dist/astro/routes/api/search/suggest.mjs +9 -9
  180. package/dist/astro/routes/api/sections/_slug_.mjs +28 -28
  181. package/dist/astro/routes/api/sections/index.mjs +28 -28
  182. package/dist/astro/routes/api/settings/email.mjs +3 -3
  183. package/dist/astro/routes/api/settings.mjs +28 -28
  184. package/dist/astro/routes/api/setup/admin-verify.mjs +11 -11
  185. package/dist/astro/routes/api/setup/admin.mjs +9 -9
  186. package/dist/astro/routes/api/setup/dev-bypass.mjs +23 -23
  187. package/dist/astro/routes/api/setup/dev-reset.mjs +1 -1
  188. package/dist/astro/routes/api/setup/index.mjs +24 -24
  189. package/dist/astro/routes/api/setup/status.mjs +3 -3
  190. package/dist/astro/routes/api/snapshot.mjs +6 -6
  191. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +31 -31
  192. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +31 -31
  193. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +31 -31
  194. package/dist/astro/routes/api/taxonomies/index.mjs +31 -31
  195. package/dist/astro/routes/api/themes/preview.mjs +4 -4
  196. package/dist/astro/routes/api/typegen.mjs +4 -4
  197. package/dist/astro/routes/api/well-known/auth.mjs +2 -2
  198. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +3 -3
  199. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +3 -3
  200. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +27 -27
  201. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +28 -28
  202. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +28 -28
  203. package/dist/astro/routes/api/widget-areas/_name_.mjs +25 -25
  204. package/dist/astro/routes/api/widget-areas/index.mjs +28 -28
  205. package/dist/astro/routes/api/widget-components.mjs +2 -2
  206. package/dist/astro/routes/robots.txt.mjs +5 -5
  207. package/dist/astro/routes/sitemap-_collection_.xml.mjs +34 -41
  208. package/dist/astro/routes/sitemap.xml.mjs +29 -17
  209. package/dist/astro/session-driver.d.mts +1 -1
  210. package/dist/astro/session-driver.mjs +2 -2
  211. package/dist/astro/types.d.mts +14 -11
  212. package/dist/{audit-DeBteyL4.mjs → audit-nenmMR-2.mjs} +1 -1
  213. package/dist/auth/providers/github.d.mts +1 -1
  214. package/dist/auth/providers/google.d.mts +1 -1
  215. package/dist/{auth-control-guard-B_Dx-epW.mjs → auth-control-guard-B7PdECn6.mjs} +1 -1
  216. package/dist/{authorize-D6MkRtPw.mjs → authorize-DTvHe9bm.mjs} +1 -1
  217. package/dist/{briefing-BTA39bRc.mjs → briefing-CpU_z8qH.mjs} +5 -5
  218. package/dist/{briefing-BfUOJfCy.mjs → briefing-PxagUoJJ.mjs} +1 -1
  219. package/dist/{bundle-C-eQG8un.mjs → bundle-dsO2-7eh.mjs} +2 -2
  220. package/dist/{byline-CB0OLcK1.mjs → byline-DEBDPF8R.mjs} +4 -4
  221. package/dist/{byline-fields-BRUB-Vla.mjs → byline-fields-BQRx17y_.mjs} +1 -1
  222. package/dist/{byline-fields-urVGl6bz.d.mts → byline-fields-BXg94LXd.d.mts} +50 -44
  223. package/dist/{bylines-BDp4-cpl.mjs → bylines-C7hm1-iI.mjs} +3 -3
  224. package/dist/{bylines-CiSL5IrP.mjs → bylines-YK6eGHvV.mjs} +5 -5
  225. package/dist/{cache-CtXIOJKw.mjs → cache-BuVpjvBc.mjs} +1 -1
  226. package/dist/{chunks-BdkWx1oD.mjs → chunks-B-1_U3oF.mjs} +1 -1
  227. package/dist/cli/index.mjs +28 -27
  228. package/dist/cli/plugin-kit.d.mts +9 -8
  229. package/dist/cli/plugin-kit.mjs +2 -2
  230. package/dist/client/external-auth-headers.d.mts +1 -1
  231. package/dist/client/index.d.mts +11 -10
  232. package/dist/client/index.mjs +2 -2
  233. package/dist/{client-factory-Dll61uB1.mjs → client-factory-Nyp2sznG.mjs} +1 -1
  234. package/dist/{comment-3JihGSh6.mjs → comment-BX6H4NF-.mjs} +1 -1
  235. package/dist/{comment-reaction-BNXm1YHa.mjs → comment-reaction-QSENU_3S.mjs} +1 -1
  236. package/dist/{comments-DJZXQi0j.mjs → comments-BHSYG53k.mjs} +1 -1
  237. package/dist/{content-Bturdi4b.mjs → content-Bg_hMt4Q.mjs} +2 -2
  238. package/dist/{content-refresh-C4YoqoNs.mjs → content-refresh-CHBBZGwf.mjs} +2 -2
  239. package/dist/{context-CB4PwkM_.mjs → context-BGt7zfQ-.mjs} +8 -8
  240. package/dist/{context-DH-YFjZr.mjs → context-BHXgPEPC.mjs} +2 -2
  241. package/dist/{context-route-helpers-CLoNF0pp.mjs → context-route-helpers-SwM-_GT4.mjs} +2 -2
  242. package/dist/{dashboard-DP4dxA1S.mjs → dashboard-DPUW4hBR.mjs} +4 -4
  243. package/dist/db/index.d.mts +3 -3
  244. package/dist/db/index.mjs +1 -1
  245. package/dist/db/libsql.d.mts +1 -1
  246. package/dist/db/postgres.d.mts +1 -1
  247. package/dist/db/sqlite.d.mts +1 -1
  248. package/dist/{device-flow-BWV1ZxXW.mjs → device-flow-XqdFNsv_.mjs} +4 -4
  249. package/dist/discovery-DvuRcbP-.mjs +178 -0
  250. package/dist/{field-defs-cache-BGhsaYGT.mjs → field-defs-cache-sSdDeJXP.mjs} +1 -1
  251. package/dist/{fts-manager-6KClQEs0.mjs → fts-manager-C7pxxk6B.mjs} +1 -1
  252. package/dist/{hitl-requests-DDYRgSeH.mjs → hitl-requests-D7pfIM6q.mjs} +2 -2
  253. package/dist/{hitl-route-helpers-BI3qTO75.mjs → hitl-route-helpers-Br9uvIQs.mjs} +5 -5
  254. package/dist/{import-CoaAe-mc.mjs → import-CrsquhXj.mjs} +7 -7
  255. package/dist/{index-DybFmYtZ.d.mts → index-NdJMMO48.d.mts} +3 -3
  256. package/dist/index.d.mts +16 -15
  257. package/dist/index.mjs +75 -74
  258. package/dist/{integration-credentials-D3ZneN0L.mjs → integration-credentials-B7Pj6YCv.mjs} +2 -2
  259. package/dist/{jsonld-DfR5LVWQ.d.mts → jsonld-TsDIJx5A.d.mts} +19 -7
  260. package/dist/{load-CfFRVQkS.mjs → load-Bul8Tk6e.mjs} +1 -1
  261. package/dist/{loader-CqKPLiKx.mjs → loader-BCr2VSzt.mjs} +2 -2
  262. package/dist/{manifest-schema-DKa3ZaJL.mjs → manifest-schema-U5qGq-iB.mjs} +1 -1
  263. package/dist/{mcp-reviewed-executor-ANVt5edE.mjs → mcp-reviewed-executor-C1lIimd0.mjs} +4 -4
  264. package/dist/media/index.d.mts +1 -1
  265. package/dist/media/local-runtime.d.mts +11 -10
  266. package/dist/media/local-runtime.mjs +2 -2
  267. package/dist/{media-BXbOL8xv.mjs → media-D8pQJSug.mjs} +1 -1
  268. package/dist/{menus-DCjNW2e4.mjs → menus-3B-PGTX3.mjs} +1 -1
  269. package/dist/{menus-Cu8lQOFw.mjs → menus-DSWeEWXl.mjs} +5 -5
  270. package/dist/{oauth-authorization-fiXxn7FY.mjs → oauth-authorization-CMU5kREy.mjs} +4 -4
  271. package/dist/{oauth-clients-D9Gg0WjF.mjs → oauth-clients-CLdR0WyA.mjs} +2 -2
  272. package/dist/object-cache/memory.d.mts +1 -1
  273. package/dist/page/index.d.mts +11 -10
  274. package/dist/page/index.mjs +2 -2
  275. package/dist/{parse-B-Y84oJl.mjs → parse-DEG06jjr.mjs} +1 -1
  276. package/dist/plugin-utils.d.mts +9 -8
  277. package/dist/plugins/adapt-sandbox-entry.d.mts +9 -8
  278. package/dist/plugins/adapt-sandbox-entry.mjs +1 -1
  279. package/dist/{plugins-BVSrX4gZ.mjs → plugins-D8YxTh9q.mjs} +26 -23
  280. package/dist/{preview-BMIReQGc.mjs → preview-Bn59ztjn.mjs} +2 -2
  281. package/dist/{provider-loader-Db-pJFu3.d.mts → provider-loader-jdkZM6xZ.d.mts} +1 -1
  282. package/dist/public-url-DFX2c_20.d.mts +99 -0
  283. package/dist/{public-url-ClXQnxy1.d.mts → public-url-NkNXl8OU.d.mts} +1 -1
  284. package/dist/{publication-authorization-DrqQCW3R.mjs → publication-authorization-BmazS4K0.mjs} +6 -6
  285. package/dist/{query-B0rPTc7J.mjs → query-CrUftarl.mjs} +12 -12
  286. package/dist/{query-D5Wvb06i.mjs → query-DPC5GT6e.mjs} +2 -2
  287. package/dist/{rate-limit-oUGexQO1.mjs → rate-limit-DvGL45wH.mjs} +2 -2
  288. package/dist/{redirect-3Zzd0xIN.mjs → redirect-8B-gorhg.mjs} +1 -1
  289. package/dist/{redirects-lCeytkeq.mjs → redirects-D2SVS1zo.mjs} +3 -3
  290. package/dist/{redirects-CWGZMRsj.mjs → redirects-DdPaQiWQ.mjs} +6 -2
  291. package/dist/{registry-c51Wf_AZ.mjs → registry-D3n4-yUl.mjs} +13 -6
  292. package/dist/{request-meta-DHFIzWcf.mjs → request-meta-DZTiCIQR.mjs} +1 -1
  293. package/dist/resolve-CThKf9_X.mjs +27 -0
  294. package/dist/{review-requests-eQbhj62T.mjs → review-requests-BQbmYLnz.mjs} +1 -1
  295. package/dist/{review-requests-B9NfBTCJ.mjs → review-requests-D5CJ4JCy.mjs} +1 -1
  296. package/dist/{review-route-helpers-4KBg7Hi3.mjs → review-route-helpers-DYiujAPM.mjs} +2 -2
  297. package/dist/{runner-Bcy5w0vj.d.mts → runner-BITx7yBF.d.mts} +1 -1
  298. package/dist/{runner-BE1taNgj.mjs → runner-BWZ87FK-.mjs} +482 -457
  299. package/dist/runtime.d.mts +10 -9
  300. package/dist/runtime.mjs +3 -3
  301. package/dist/schema-kk9-6bUd.mjs +8 -0
  302. package/dist/{search-NcUUIJOw.mjs → search-B_ir6H6m.mjs} +3 -3
  303. package/dist/{sections-D_imfMlM.mjs → sections-pRy07N5I.mjs} +2 -2
  304. package/dist/seed/index.d.mts +2 -2
  305. package/dist/seed/index.mjs +17 -17
  306. package/dist/seo/index.d.mts +4 -2
  307. package/dist/seo/index.mjs +10 -11
  308. package/dist/{seo-BasNtS3J.mjs → seo-C4nlxiaY.mjs} +1 -1
  309. package/dist/seo-DdNntVj-.mjs +52 -0
  310. package/dist/{seo-contributions-Ci8_12_r.mjs → seo-contributions-BGBehNCN.mjs} +260 -76
  311. package/dist/{service-BTYluCDf.mjs → service-D6fJX7D7.mjs} +2 -2
  312. package/dist/{settings-BUZ7b4Bn.mjs → settings-C4OMR0zf.mjs} +2 -2
  313. package/dist/{settings-Cs-ST1tU.mjs → settings-D-a7uy2z.mjs} +2 -2
  314. package/dist/{site-activity-QPC-7Vnq.mjs → site-activity-CnrmnFRy.mjs} +1 -1
  315. package/dist/{site-context-BDEjOzOk.mjs → site-context-Bdsobbh9.mjs} +13 -13
  316. package/dist/storage/local.d.mts +1 -1
  317. package/dist/storage/local.mjs +1 -1
  318. package/dist/storage/s3.d.mts +1 -1
  319. package/dist/storage/s3.mjs +1 -1
  320. package/dist/{store-CCfMD6nw.mjs → store-DerEE3jG.mjs} +1 -1
  321. package/dist/{taxonomies-DoyE8B41.mjs → taxonomies-6bWkaa_G.mjs} +3 -3
  322. package/dist/{taxonomies-CpYwz_sN.mjs → taxonomies-FKTevd14.mjs} +5 -5
  323. package/dist/{taxonomy-C-Aqi1cF.mjs → taxonomy-BU0eCfij.mjs} +2 -2
  324. package/dist/{types-ywmuDETA.d.mts → types-B2kbOwSj.d.mts} +6 -0
  325. package/dist/{types-GtwhHAg8.d.mts → types-B6r_SMeR.d.mts} +1 -1
  326. package/dist/{types-BFeoAIHl.d.mts → types-C8cUW9dh.d.mts} +1 -0
  327. package/dist/{types-al8YMHdF.mjs → types-C9F2TLQV.mjs} +1 -1
  328. package/dist/{types-C4ZrBtdu.d.mts → types-Cty2_HVR.d.mts} +50 -52
  329. package/dist/ui/server-runtime.d.mts +13 -12
  330. package/dist/ui/server-runtime.mjs +19 -60
  331. package/dist/{user-Ldseid1x.mjs → user-BV02bsWz.mjs} +2 -2
  332. package/dist/{validate-YiX3rly5.d.mts → validate-Bc9gaua6.d.mts} +5 -3
  333. package/dist/{validate-hHdBXn4U.mjs → validate-Drps_jbV.mjs} +9 -1
  334. package/dist/version-Cg-aQHxG.mjs +6 -0
  335. package/dist/{widgets-cBtEykx0.mjs → widgets-BFqy7PYs.mjs} +2 -2
  336. package/dist/{zod-generator-BGSszwCw.mjs → zod-generator-BlY_vGgR.mjs} +1 -1
  337. package/package.json +4 -4
  338. package/src/components/DinewayHead.astro +6 -6
  339. package/dist/resolve-B6BpqwAR.mjs +0 -100
  340. package/dist/schema-dGCjdAx9.mjs +0 -8
  341. package/dist/seo-BLszyJxd.mjs +0 -105
  342. package/dist/version-CZX1tQmH.mjs +0 -6
  343. /package/dist/{actor-DA7yL9Yp.mjs → actor-D3A5PNkH.mjs} +0 -0
  344. /package/dist/{adapters-DnMDRQ4e.d.mts → adapters-DUVI3Mpc.d.mts} +0 -0
  345. /package/dist/{api-tokens-D4tcY8R6.mjs → api-tokens-CbMAy6xF.mjs} +0 -0
  346. /package/dist/{byline-fields-sE9SQsDR.mjs → byline-fields-DPi4Ri_5.mjs} +0 -0
  347. /package/dist/{challenge-store-BMkL2kmt.mjs → challenge-store-DtdQHXf5.mjs} +0 -0
  348. /package/dist/{components-D0w9MzQe.mjs → components-DGu-rih7.mjs} +0 -0
  349. /package/dist/{cron-D_c3WUPN.mjs → cron-BjKHo0QD.mjs} +0 -0
  350. /package/dist/{default-BxoI3SoK.mjs → default-CO47mlSA.mjs} +0 -0
  351. /package/dist/{email-console-BEMwuxhV.mjs → email-console-CFE1ay18.mjs} +0 -0
  352. /package/dist/{error-BW9f_ynq.mjs → error-Jz0EtEwI.mjs} +0 -0
  353. /package/dist/{escape-smSUOb7u.mjs → escape-HmHTC1Is.mjs} +0 -0
  354. /package/dist/{experimental-workflows-CgO73K4e.mjs → experimental-workflows-EYZRNkRR.mjs} +0 -0
  355. /package/dist/{media-allowlist-BQyIBPzd.mjs → media-allowlist-9u_gxMG2.mjs} +0 -0
  356. /package/dist/{media-url-B6d-yVI6.mjs → media-url-DVoOhf4X.mjs} +0 -0
  357. /package/dist/{mode-DPC7segX.mjs → mode-DqpBaEOy.mjs} +0 -0
  358. /package/dist/{oauth-state-store-DPVzeoyY.mjs → oauth-state-store-HdGg_nSm.mjs} +0 -0
  359. /package/dist/{oauth-user-lookup-3E5jlXrr.mjs → oauth-user-lookup-CP16vyFW.mjs} +0 -0
  360. /package/dist/{output-13u4dvu-.mjs → output-CXOC3BFr.mjs} +0 -0
  361. /package/dist/{parser-DX_c5iG3.mjs → parser-buoH2frr.mjs} +0 -0
  362. /package/dist/{passkey-config-DE_0EGEP.mjs → passkey-config-T47FwLtS.mjs} +0 -0
  363. /package/dist/{placeholder-C6ZjZcmJ.d.mts → placeholder-BsYSFPjY.d.mts} +0 -0
  364. /package/dist/{portable-text-BASHceim.mjs → portable-text-DQHE3b5v.mjs} +0 -0
  365. /package/dist/{portable-text-BYUu-wtj.d.mts → portable-text-Dm0bgrdZ.d.mts} +0 -0
  366. /package/dist/{provider-loader-BeQcnPN1.mjs → provider-loader-Dxka0BDp.mjs} +0 -0
  367. /package/dist/{public-url-BA-7LKvQ.mjs → public-url-CIAtNGEg.mjs} +0 -0
  368. /package/dist/{redirect-CZFAqHLr.mjs → redirect-CzqnLxK-.mjs} +0 -0
  369. /package/dist/{secrets-CpGpyGcO.mjs → secrets-Dw3lXI42.mjs} +0 -0
  370. /package/dist/{service-CY0aH6eI.mjs → service-DOdvCW-9.mjs} +0 -0
  371. /package/dist/{session-user-BwliEFp0.mjs → session-user-CYjNeJoD.mjs} +0 -0
  372. /package/dist/{setup-complete-PvF8I7Oh.mjs → setup-complete-Blqo_adb.mjs} +0 -0
  373. /package/dist/{setup-nonce-DkpYROqg.mjs → setup-nonce-CGUTFWgQ.mjs} +0 -0
  374. /package/dist/{sidecar-client-dt5fv23q.mjs → sidecar-client-C6ylL-0S.mjs} +0 -0
  375. /package/dist/{site-url-DfYDZyWl.mjs → site-url-CK5vBdFu.mjs} +0 -0
  376. /package/dist/{ssrf-BZHvtFEv.mjs → ssrf-Dz2hqAiG.mjs} +0 -0
  377. /package/dist/{status-BN40hMpr.mjs → status-xz9JACSX.mjs} +0 -0
  378. /package/dist/{tokens-DIzhPT80.mjs → tokens-DiodRT2y.mjs} +0 -0
  379. /package/dist/{transport-CXkC1F2Z.d.mts → transport-DKy93p6V.d.mts} +0 -0
  380. /package/dist/{transport-C46KHLMP.mjs → transport-zquJ7Bzm.mjs} +0 -0
  381. /package/dist/{trusted-proxy-czZuby6G.mjs → trusted-proxy-NySPw95m.mjs} +0 -0
  382. /package/dist/{types-BsTXSvKG.d.mts → types-BaKec6bx.d.mts} +0 -0
  383. /package/dist/{types-gvNBqijt.mjs → types-C1LdZbQb.mjs} +0 -0
  384. /package/dist/{types-S9VIopdY.d.mts → types-C2LBO0t8.d.mts} +0 -0
  385. /package/dist/{types-CDcuRd4z.d.mts → types-DY9lJRpo.d.mts} +0 -0
  386. /package/dist/{types-YxFz4lDr.d.mts → types-Gd4kXLsa.d.mts} +0 -0
  387. /package/dist/{types-CK0r-Xq4.mjs → types-ftxcMx5-.mjs} +0 -0
  388. /package/dist/{url-D282S1Zw.mjs → url-C05Zz4pW.mjs} +0 -0
  389. /package/dist/{utils-B7gemXz5.mjs → utils-BPzpVHqR.mjs} +0 -0
  390. /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-DrqQCW3R.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-BTA39bRc.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-Cs-ST1tU.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-NcUUIJOw.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-CpYwz_sN.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-CqKPLiKx.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-B0rPTc7J.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";
@@ -2330,7 +2330,7 @@ declare class HookPipeline {
2330
2330
  /**
2331
2331
  * Run content:afterSave hooks
2332
2332
  */
2333
- 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>[]>;
2334
2334
  /**
2335
2335
  * Run content:beforeDelete hooks
2336
2336
  * Returns whether deletion is allowed
@@ -2342,15 +2342,15 @@ declare class HookPipeline {
2342
2342
  /**
2343
2343
  * Run content:afterDelete hooks
2344
2344
  */
2345
- 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>[]>;
2346
2346
  /**
2347
2347
  * Run content:afterPublish hooks (fire-and-forget).
2348
2348
  */
2349
- 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>[]>;
2350
2350
  /**
2351
2351
  * Run content:afterUnpublish hooks (fire-and-forget).
2352
2352
  */
2353
- 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>[]>;
2354
2354
  /**
2355
2355
  * Run content:afterRestore hooks (fire-and-forget).
2356
2356
  */
@@ -4090,36 +4090,6 @@ declare function invalidateSchemaObjectCache(): void;
4090
4090
  /** Invalidate cached public comment reads. */
4091
4091
  declare function invalidateCommentObjectCache(): void;
4092
4092
  //#endregion
4093
- //#region src/i18n/config.d.ts
4094
- /**
4095
- * Dineway i18n Configuration
4096
- *
4097
- * Reads locale configuration from the virtual module (sourced from Astro config).
4098
- * Initialized during runtime startup, then available via getI18nConfig().
4099
- */
4100
- interface I18nConfig {
4101
- defaultLocale: string;
4102
- locales: string[];
4103
- fallback?: Record<string, string>;
4104
- prefixDefaultLocale?: boolean;
4105
- }
4106
- /**
4107
- * Get the current i18n config.
4108
- * Returns null if i18n is not configured.
4109
- */
4110
- declare function getI18nConfig(): I18nConfig | null;
4111
- /**
4112
- * Check if i18n is enabled.
4113
- * Returns true when multiple locales are configured.
4114
- */
4115
- declare function isI18nEnabled(): boolean;
4116
- /**
4117
- * Resolve fallback locale chain for a given locale.
4118
- * Returns array of locales to try, from most preferred to least.
4119
- * Always ends with defaultLocale.
4120
- */
4121
- declare function getFallbackChain(locale: string): string[];
4122
- //#endregion
4123
4093
  //#region src/preview/sidecar-client.d.ts
4124
4094
  /**
4125
4095
  * Preview sidecar protocol helpers.
@@ -4472,17 +4442,17 @@ declare const pluginManifestSchema: z$1.ZodObject<{
4472
4442
  string: "string";
4473
4443
  number: "number";
4474
4444
  boolean: "boolean";
4475
- json: "json";
4476
4445
  file: "file";
4446
+ image: "image";
4447
+ datetime: "datetime";
4477
4448
  slug: "slug";
4478
4449
  text: "text";
4479
4450
  integer: "integer";
4480
- datetime: "datetime";
4481
4451
  select: "select";
4482
4452
  multiSelect: "multiSelect";
4483
4453
  portableText: "portableText";
4484
- image: "image";
4485
4454
  reference: "reference";
4455
+ json: "json";
4486
4456
  repeater: "repeater";
4487
4457
  }>>;
4488
4458
  elements: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
@@ -4610,7 +4580,7 @@ declare class PluginManager {
4610
4580
  /**
4611
4581
  * Run content:afterSave hooks across all active plugins
4612
4582
  */
4613
- 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>[]>;
4614
4584
  /**
4615
4585
  * Run content:beforeDelete hooks across all active plugins
4616
4586
  */
@@ -4621,15 +4591,15 @@ declare class PluginManager {
4621
4591
  /**
4622
4592
  * Run content:afterDelete hooks across all active plugins
4623
4593
  */
4624
- 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>[]>;
4625
4595
  /**
4626
4596
  * Run content:afterPublish hooks across all active plugins
4627
4597
  */
4628
- 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>[]>;
4629
4599
  /**
4630
4600
  * Run content:afterUnpublish hooks across all active plugins
4631
4601
  */
4632
- 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>[]>;
4633
4603
  /**
4634
4604
  * Run content:afterRestore hooks across all active plugins
4635
4605
  */
@@ -6897,6 +6867,8 @@ interface HookConfig<THandler> {
6897
6867
  * Content hook event
6898
6868
  */
6899
6869
  interface ContentHookEvent {
6870
+ /** Persisted item before a successful mutation; absent for creations and before hooks. */
6871
+ previousContent?: Record<string, unknown>;
6900
6872
  content: Record<string, unknown>;
6901
6873
  collection: string;
6902
6874
  isNew: boolean;
@@ -6905,6 +6877,8 @@ interface ContentHookEvent {
6905
6877
  * Content delete hook event
6906
6878
  */
6907
6879
  interface ContentDeleteEvent {
6880
+ /** Persisted item before a successful mutation; absent for creations and before hooks. */
6881
+ previousContent?: Record<string, unknown>;
6908
6882
  id: string;
6909
6883
  collection: string;
6910
6884
  permanent: boolean;
@@ -6913,6 +6887,8 @@ interface ContentDeleteEvent {
6913
6887
  * Content state change hook event.
6914
6888
  */
6915
6889
  interface ContentStateChangeEvent {
6890
+ /** Persisted item before a successful mutation; absent for creations and before hooks. */
6891
+ previousContent?: Record<string, unknown>;
6916
6892
  content: Record<string, unknown>;
6917
6893
  collection: string;
6918
6894
  }
@@ -6974,6 +6950,25 @@ interface BreadcrumbItem {
6974
6950
  /** Absolute or root-relative URL for this crumb. */
6975
6951
  url: string;
6976
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
+ }
6977
6972
  /**
6978
6973
  * Describes the page being rendered. Passed to page hooks so plugins
6979
6974
  * can decide what to contribute without fetching content themselves.
@@ -6991,6 +6986,8 @@ interface PublicPageContext {
6991
6986
  description: string | null;
6992
6987
  canonical: string | null;
6993
6988
  image: string | null;
6989
+ imageMetadata?: PublicPageImage;
6990
+ schema?: PublicPageSchema;
6994
6991
  content?: {
6995
6992
  collection: string;
6996
6993
  id: string;
@@ -7001,6 +6998,7 @@ interface PublicPageContext {
7001
6998
  ogTitle?: string | null;
7002
6999
  ogDescription?: string | null;
7003
7000
  ogImage?: string | null;
7001
+ ogImageMetadata?: PublicPageImage;
7004
7002
  robots?: string | null;
7005
7003
  };
7006
7004
  /** Article metadata for Open Graph article: tags */
@@ -7656,4 +7654,4 @@ interface PluginManifest {
7656
7654
  admin: PluginAdminConfig;
7657
7655
  }
7658
7656
  //#endregion
7659
- export { PluginMcpCommandTool as $, handleMediaList as $a, getDinewayEntry as $i, getComments as $n, image as $o, ValidatedPluginManifest as $r, FieldDescriptor as $s, getSearchStats as $t, MediaUploadEvent as A, PortableTextMarkDef as Aa, invalidateBylineObjectCache as Ai, getTerm as An, StorageDescriptor as Ao, AssignmentService as Ar, MediaRepository as As, StandardHookEntry as At, PluginActor as B, GetSectionsOptions as Ba, CacheHint as Bi, getMenu as Bn, handleContentGetIncludingTrashed as Bo, PublicationReleasePolicyDisposition as Br, DinewayDatabaseError as Bs, PublicationPolicyOverride as Bt, FieldWidgetConfig as C, hashString as Ca, getI18nConfig as Ci, WidgetComponentDef as Cn, PluginMcpRegistry as Co, VerifyPreviewTokenResult as Cr, SiteActivityResultStatus as Cs, PortableTextBlockField as Ct, KVAccess as D, PortableTextHtmlBlock as Da, cachedQuery as Di, getTaxonomyDef as Dn, getStoredConfig as Do, AssignmentAccessContext as Dr, RevisionRepository as Ds, ResolvedPluginHooks as Dt, HttpAccess as E, PortableTextCodeBlock as Ea, CachedQueryOptions as Ei, getEntryTerms as En, PluginDescriptor as Eo, verifyPreviewToken as Er, PublicComment as Es, ResolvedPlugin as Et, PageMetadataContribution as F, ProseMirrorMark as Fa, invalidateSchemaObjectCache as Fi, TaxonomyTermRow as Fn, handleContentCreate as Fo, CreateHandoffSnapshotInput as Fr, WhereRange as Fs, StorageCollection as Ft, PluginAuthMethod as G, getCollectionInfo as Ga, EditFieldMeta as Gi, MenuItem as Gn, handleContentRestore as Go, SandboxNotAvailableError as Gr, parseBody as Gs, PublicationReadinessResult as Gt, PluginAdminConfig as H, SectionSource as Ha, CollectionResult as Hi, CreateMenuInput as Hn, handleContentListTrashed as Ho, NodeSandboxRunner as Hr, OptionsRepository as Hs, PublicationReadinessPolicyBlocker as Ht, PageMetadataEvent as I, ProseMirrorNode as Ia, invalidateTaxonomyObjectCache as Ii, UpdateTermInput as In, handleContentDelete as Io, HandoffSnapshot as Ir, WhereValue$1 as Is, StorageCollectionConfig as It, PluginDefinition as J, MediaListResponse as Ja, ResolvePathResult as Ji, UpdateMenuInput as Jn, handleContentUnpublish as Jo, createPluginManager as Jr, apiSuccess as Js, PublicationReleasePolicy as Jt, PluginCapability as K, SchemaError as Ka, EntryResult as Ki, MenuItemType as Kn, handleContentSchedule as Ko, createNoopSandboxRunner as Kr, parseQuery as Ks, PublicationReadinessWarning as Kt, PageMetadataHandler as L, getSection as La, isObjectCacheActive as Li, getByline as Ln, handleContentDiscardDraft as Lo, SiteAuthTokenContext as Lr, dinewayLoader as Ls, StoredComment as Lt, PageFragmentContribution as M, PortableTextTextBlock as Ma, invalidateCommentObjectCache as Mi, CreateTermInput as Mn, handleContentCompare as Mo, HandoffResumeResult as Mr, CollectionFilter$1 as Ms, StandardPluginDefinition as Mt, PageFragmentEvent as N, PortableTextUnknownBlock as Na, invalidateMenuObjectCache as Ni, TaxonomyDef as Nn, handleContentCountScheduled as No, HandoffSnapshotStore as Nr, EntryData as Ns, StandardRouteEntry as Nt, LogAccess as O, PortableTextImageBlock as Oa, contentNamespace as Oi, getTaxonomyDefs as On, LocalStorageConfig as Oo, AssignmentActionInput as Or, CreateMediaInput as Os, ResolvedPluginMcpConfig as Ot, PageFragmentHandler as P, ProseMirrorDocument as Pa, invalidateObjectCache as Pi, TaxonomyTerm as Pn, handleContentCountTrashed as Po, ResumeHandoffSnapshotInput as Pr, EntryFilter as Ps, StandardRouteHandler as Pt, PluginMcpCommandPreview as Q, handleMediaGet as Qa, getDinewayCollection as Qi, getCommentCount as Qn, reference as Qo, PluginSecretStoreOptions as Qr, ContentResponse as Qs, extractSearchableFields as Qt, PageMetadataLinkRel as R, getSections as Ra, AfterCallback as Ri, getBylineBySlug as Rn, handleContentDuplicate as Ro, BuiltContentReleasePayload as Rr, getDb as Rs, isStandardPluginDefinition as Rt, EmailMessage as S, computeContentHash as Sa, getFallbackChain as Si, WidgetArea as Sn, SerializedRequest as So, VerifyPreviewTokenOptions as Sr, SiteActivityRepository as Ss, PortableTextBlockConfig as St, HookName as T, prosemirrorToPortableText as Ta, CacheNamespace as Ti, getEntriesByTerm as Tn, DinewayConfig as To, parseContentId as Tr, SiteActivityTimelineQuery as Ts, ResolvedHook as Tt, PluginAdminExports as U, UpdateSectionInput as Ua, ContentEntry as Ui, CreateMenuItemInput as Un, handleContentPermanentDelete as Uo, createNodeSandboxRunner as Ur, ParseResult as Us, PublicationReadinessPolicyFinding as Ut, PluginActorType as V, Section as Va, CollectionFilter as Vi, getMenus as Vn, handleContentList as Vo, buildStableActionHash as Vr, Element as Vs, PublicationReadinessBlocker as Vt, PluginAdminPage as W, validateContent as Wa, DinewayCollections as Wi, Menu as Wn, handleContentPublish as Wo, NoopSandboxRunner as Wr, isParseError as Ws, PublicationReadinessPolicyTarget as Wt, PluginManifest as X, handleMediaCreate as Xa, TranslationSummary as Xi, GetCommentsOptions as Xn, handleContentUpdate as Xo, PluginSecretStatus as Xr, ApiContext as Xs, currentTimestamp as Xt, PluginHooks as Y, MediaResponse as Ya, SelectedCollectionData as Yi, UpdateMenuItemInput as Yn, handleContentUnschedule as Yo, createReviewedPluginMcpCommandExecutor as Yr, handleError as Ys, PublicationReleasePreparationTarget as Yt, PluginMcpAuthorization as Z, handleMediaDelete as Za, TranslationsResult as Zi, GetCommentsResult as Zn, portableText as Zo, PluginSecretStore as Zr, ContentListResponse as Zs, extractPlainText as Zt, EmailAfterSendHandler as _, verifyGuestAccessToken as _a, defaultPreviewSidecarClient as _i, CreateWidgetInput as _n, SandboxEmailSendCallback as _o, GetPreviewUrlOptions as _r, CreateAssignmentInput as _s, PluginRouteTargetAuthorizationRequest as _t, CommentAfterModerateEvent as a, FieldAnnotation as aa, FileSessionDatabaseFactory as ai, CollectionSearchOptions as an, handleRevisionRestore as ao, PreviewToolbarConfig as ar, ContentReference as as, PluginMcpResource as at, EmailDeliverEvent as b, isSafeHref as ba, verifyPreviewSignature as bi, UpdateWidgetInput as bn, SandboxRunnerFactory as bo, GeneratePreviewTokenOptions as br, SiteActivity as bs, PluginStorageConfig as bt, CommentBeforeCreateHandler as c, GuestAccessExpectedScope as ca, SessionDatabaseFactory as ci, SearchResponse as cn, SiteBriefingAssembler as co, ApplySnapshotToDatabaseOptions as cr, RelationRepository as cs, PluginMcpRiskFactor as ct, ContentAccess as d, IssueGuestAccessTokenOptions as da, SessionDatabaseLimitError as di, SuggestOptions as dn, PluginRouteError as do, getAppliedSnapshotMeta as dr, AssignmentActorRef as ds, PluginMigration as dt, getEditMeta as ea, ListResponse as ec, pluginManifestSchema as ei, getSuggestions as en, handleMediaUpdate as eo, getPluginSetting as er, FieldDefinition as es, PluginMcpConfig as et, ContentDeleteEvent as f, IssuedGuestAccessToken as fa, SessionOpenOptions as fi, Suggestion as fn, EmailPipeline as fo, Snapshot as fr, AssignmentActorType as fs, PluginRoute as ft, EmailAfterSendEvent as g, issueGuestAccessToken as ga, buildPreviewSignatureHeader as gi, CreateWidgetAreaInput as gn, SandboxEmailMessage as go, isPreviewRequest as gr, AssignmentStatus as gs, PluginRouteMethod as gt, EmailAccess as h, hashGuestAccessToken as ha, PreviewSidecarSignature as hi, getWidgetComponents as hn, createHookPipeline as ho, getPreviewToken as hr, AssignmentRepository as hs, PluginRouteBodyMode as ht, CommentAfterCreateHandler as i, EditProxy as ia, createFilePreviewMiddleware as ii, FTSManager as in, handleRevisionList as io, setSiteSettings as ir, PortableTextBlock$1 as is, PluginMcpQueryTool as it, ModerationDecision as j, PortableTextSpan as ja, invalidateCollectionCache as ji, getTermsForEntries as jn, handleContentAuthors as jo, CreateWorkflowAssignmentInput as jr, ContentRepository as js, StandardHookHandler as jt, MediaAccess as k, PortableTextLinkMark as ka, contentNamespaces as ki, getTaxonomyTerms as kn, S3StorageConfig as ko, AssignmentListInput as kr, MediaItem$1 as ks, RouteContext as kt, CommentModerateEvent as l, GuestAccessTokenClaims as la, SessionDatabaseHandle as li, SearchResult as ln, SiteBriefingContextEntry as lo, applySnapshotToDatabase as lr, UpdateRelationInput as ls, PluginMcpRiskLevel as lt, ContentPublishStateChangeEvent as m, VerifyGuestAccessTokenResult as ma, PreviewSidecarClient as mi, getWidgetAreas as mn, HookResult as mo, isBlockedInPreview as mr, AssignmentPriority as ms, PluginRouteAuthorization as mt, CollectionCommentSettings as n, resolveDinewayPath as na, definePlugin as ni, searchCollection as nn, RevisionResponse as no, getSiteSetting as nr, FileValue as ns, PluginMcpPiiClass as nt, CommentAfterModerateHandler as o, createEditable as oa, FileSessionDatabaseFactoryOptions as oi, SearchConfig as on, generateManifest as oo, renderPreviewToolbar as or, CreateRelationInput as os, PluginMcpResourceContent as ot, ContentHookEvent as p, VerifyGuestAccessTokenOptions as pa, SessionOpenOrCreateOptions as pi, getWidgetArea as pn, HookPipeline as po, renderPreviewLoadingPage as pr, AssignmentListQuery as ps, PluginRouteApiTokenPolicy as pt, PluginContext as q, SchemaRegistry as qa, InferCollectionData as qi, ReorderMenuItemsInput as qn, handleContentTranslations as qo, PluginManager as qr, apiError as qs, PublicationReceipt as qt, CommentAfterCreateEvent as r, CMSAnnotation as ra, FilePreviewMiddlewareConfig as ri, searchWithDb as rn, handleRevisionGet as ro, getSiteSettings as rr, ImageValue as rs, PluginMcpPiiPolicy as rt, CommentBeforeCreateEvent as s, createNoop as sa, SessionCleanupResult as si, SearchOptions as sn, SiteBriefing as so, AppliedSnapshotMeta as sr, Relation as ss, PluginMcpReversibility as st, BreadcrumbItem as t, getTranslations as ta, ManifestResponse as tc, runPluginMigrations as ti, search as tn, RevisionListResponse as to, getPluginSettings as tr, FieldUIHints as ts, PluginMcpExecutionContext as tt, CommentModerateHandler as u, GuestAccessTokenConfigurationError as ua, SessionDatabaseInfo as ui, SearchStats as un, SandboxedPluginEntry as uo, dropSessionDatabaseTables as ur, Assignment as us, PluginMcpTool as ut, EmailBeforeSendEvent as v, RateLimitResult as va, parsePreviewSignatureHeader as vi, PropDef as vn, SandboxOptions as vo, buildPreviewUrl as vr, MarkAssignmentsOverdueInput as vs, PluginRouteTargetAuthorizer as vt, HookConfig as w, portableTextToProsemirror as wa, isI18nEnabled as wi, WidgetType as wn, PluginMcpTargetAuthorizer$1 as wo, generatePreviewToken as wr, SiteActivitySourceType as ws, PublicPageContext as wt, EmailDeliverHandler as x, sanitizeHref as xa, I18nConfig as xi, Widget as xn, SandboxedPlugin as xo, PreviewTokenPayload as xr, SiteActivityActorType as xs, PluginTargetScope as xt, EmailBeforeSendHandler as y, checkRateLimit as ya, signPreviewUrl as yi, ReorderWidgetsInput as yn, SandboxRunner as yo, getPreviewUrl as yr, CreateSiteActivityInput as ys, PluginRouteTargetContext as yt, PagePlacement as z, CreateSectionInput as za, after as zi, getEntriesByByline as zn, handleContentGet as zo, PublicationReleasePolicyContribution as zr, DatabaseConfig 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 { $n as getComments, Bn as getMenu, Es as PublicComment, F as PageMetadataContribution, Ga as getCollectionInfo, Qi as getDinewayCollection, ea as getEditMeta, kn as getTaxonomyTerms, pn as getWidgetArea, rr as getSiteSettings, wt as PublicPageContext, xa as sanitizeHref, xn as Widget } from "../types-C4ZrBtdu.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-urVGl6bz.mjs";
9
- import "../types-BsTXSvKG.mjs";
10
- import { t as getPublicOrigin } from "../public-url-ClXQnxy1.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-DfR5LVWQ.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-CqKPLiKx.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-Cs-ST1tU.mjs";
15
- import { t as getCollectionInfo } from "../query-D5Wvb06i.mjs";
16
- import "../resolve-B6BpqwAR.mjs";
17
- import { a as getTaxonomyTerms } from "../taxonomies-CpYwz_sN.mjs";
18
- import { n as sanitizeHref } from "../url-D282S1Zw.mjs";
19
- import { r as getEditMeta, t as getDinewayCollection } from "../query-B0rPTc7J.mjs";
20
- import "../comment-reaction-BNXm1YHa.mjs";
21
- import { i as getComments, t as getMenu } from "../menus-Cu8lQOFw.mjs";
22
- import { t as getWidgetArea } from "../widgets-cBtEykx0.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) {
@@ -1,5 +1,5 @@
1
- import { i as encodeCursor, r as decodeCursor } from "./types-al8YMHdF.mjs";
2
- import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-BdkWx1oD.mjs";
1
+ import { i as encodeCursor, r as decodeCursor } from "./types-C9F2TLQV.mjs";
2
+ import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-B-1_U3oF.mjs";
3
3
  import { ulid } from "ulidx";
4
4
 
5
5
  //#region src/database/repositories/user.ts
@@ -1,6 +1,6 @@
1
- import { d as FieldType } from "./types-ywmuDETA.mjs";
2
- import { t as Database } from "./types-BFeoAIHl.mjs";
3
- import { d as Storage } from "./types-YxFz4lDr.mjs";
1
+ import { d as FieldType } from "./types-B2kbOwSj.mjs";
2
+ import { t as Database } from "./types-C8cUW9dh.mjs";
3
+ import { d as Storage } from "./types-Gd4kXLsa.mjs";
4
4
  import { Kysely } from "kysely";
5
5
 
6
6
  //#region src/settings/types.d.ts
@@ -109,6 +109,8 @@ interface SeedCollection {
109
109
  icon?: string;
110
110
  supports?: ("drafts" | "revisions" | "preview" | "scheduling" | "search" | "seo")[];
111
111
  urlPattern?: string;
112
+ /** Field containing the complete public path, including any locale prefix. */
113
+ urlField?: string;
112
114
  /** Enable comments on this collection */
113
115
  commentsEnabled?: boolean;
114
116
  fields: SeedField[];
@@ -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 { n as FIELD_TYPES } from "./types-B7TDDFMG.mjs";
3
3
 
4
4
  //#region src/seed/validate.ts
@@ -66,6 +66,14 @@ function validateSeed(data) {
66
66
  }
67
67
  if (!collection.label) errors.push(`${prefix}: label is required`);
68
68
  if (collection.urlPattern && !collection.urlPattern.includes("{slug}")) errors.push(`${prefix}.urlPattern: must include a {slug} placeholder`);
69
+ if (collection.urlField) {
70
+ const field = Array.isArray(collection.fields) ? collection.fields.find((candidate) => candidate.slug === collection.urlField) : void 0;
71
+ if (!field || ![
72
+ "string",
73
+ "text",
74
+ "url"
75
+ ].includes(field.type)) errors.push(`${prefix}.urlField: must reference an existing string, text or url field`);
76
+ }
69
77
  if (!Array.isArray(collection.fields)) errors.push(`${prefix}.fields: must be an array`);
70
78
  else {
71
79
  const fieldSlugs = /* @__PURE__ */ new Set();
@@ -0,0 +1,6 @@
1
+ //#region src/version.ts
2
+ const VERSION = "0.2.21";
3
+ const COMMIT = "fa00cadb3";
4
+
5
+ //#endregion
6
+ export { VERSION as n, COMMIT as t };
@@ -1,6 +1,6 @@
1
- import { r as getDb } from "./loader-CqKPLiKx.mjs";
1
+ import { r as getDb } from "./loader-BCr2VSzt.mjs";
2
2
  import { r as requestCached } from "./request-cache-CBFjCwSt.mjs";
3
- import { t as getWidgetComponents$1 } from "./components-D0w9MzQe.mjs";
3
+ import { t as getWidgetComponents$1 } from "./components-DGu-rih7.mjs";
4
4
 
5
5
  //#region src/widgets/index.ts
6
6
  /**