dineway 0.2.20 → 0.2.22

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-CqWeLWXX.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 +112 -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 +16 -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-C1E_WA7w.d.mts} +43 -37
  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-DH-YFjZr.mjs → context-B3MeY9FA.mjs} +2 -2
  240. package/dist/{context-CB4PwkM_.mjs → context-BGt7zfQ-.mjs} +8 -8
  241. package/dist/{context-route-helpers-CLoNF0pp.mjs → context-route-helpers-VgsXDvp2.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-BK-EIco_.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-lB2lp3l4.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-ClXQnxy1.d.mts → public-url-BMFk_gUK.d.mts} +1 -1
  283. package/dist/public-url-DFX2c_20.d.mts +99 -0
  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-QSLrpQZp.d.mts} +533 -54
  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-CGXao7VG.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 +2 -2
  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,14 +1,15 @@
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";
11
- import { HandlerResponse } from "./astro/types.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, f as MediaProvider, m as MediaProviderDescriptor, p as MediaProviderCapabilities } 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 { ServerTimingMetric } from "./database/instrumentation.mjs";
10
+ import { d as Storage } from "./types-Gd4kXLsa.mjs";
11
+ import { C as SiteSettingKey, w as SiteSettings } from "./validate-Bc9gaua6.mjs";
12
+ import { DinewayManifest, HandlerResponse } from "./astro/types.mjs";
12
13
  import { Dialect, Kysely, Migration, RawBuilder, Transaction } from "kysely";
13
14
  import { z } from "astro/zod";
14
15
  import { z as z$1 } from "zod";
@@ -2165,6 +2166,44 @@ interface SandboxRunner {
2165
2166
  */
2166
2167
  type SandboxRunnerFactory = (options: SandboxOptions) => SandboxRunner;
2167
2168
  //#endregion
2169
+ //#region src/plugins/cron.d.ts
2170
+ /**
2171
+ * Callback to invoke a plugin's cron hook.
2172
+ * Provided by PluginManager so CronExecutor stays decoupled from the hook pipeline.
2173
+ */
2174
+ type InvokeCronHookFn = (pluginId: string, event: CronEvent) => Promise<void>;
2175
+ /**
2176
+ * Executes overdue cron tasks.
2177
+ *
2178
+ * Called by schedulers (NodeCronScheduler, PiggybackScheduler). Stateless —
2179
+ * all state lives in the database.
2180
+ */
2181
+ declare class CronExecutor {
2182
+ private invokeCronHook;
2183
+ private readonly resolveDb;
2184
+ constructor(db: Kysely<Database> | (() => Kysely<Database>), invokeCronHook: InvokeCronHookFn);
2185
+ private get db();
2186
+ /**
2187
+ * Process all overdue tasks.
2188
+ *
2189
+ * 1. Atomically claim tasks whose next_run_at <= now, status = idle, enabled = 1.
2190
+ * 2. For each claimed task, invoke the plugin's cron hook.
2191
+ * 3. On success: compute next_run_at and reset to idle, or delete one-shots.
2192
+ * 4. On failure: reset to idle (retry on next tick).
2193
+ */
2194
+ tick(): Promise<number>;
2195
+ /**
2196
+ * Recover tasks stuck in 'running' for more than STALE_LOCK_MINUTES.
2197
+ * These likely crashed mid-execution.
2198
+ */
2199
+ recoverStaleLocks(): Promise<number>;
2200
+ /**
2201
+ * Get the next due time across all enabled tasks.
2202
+ * Returns null if no tasks are scheduled.
2203
+ */
2204
+ getNextDueTime(): Promise<string | null>;
2205
+ }
2206
+ //#endregion
2168
2207
  //#region src/plugins/context.d.ts
2169
2208
  /**
2170
2209
  * Options for creating site info
@@ -2330,7 +2369,7 @@ declare class HookPipeline {
2330
2369
  /**
2331
2370
  * Run content:afterSave hooks
2332
2371
  */
2333
- runContentAfterSave(content: Record<string, unknown>, collection: string, isNew: boolean): Promise<HookResult<void>[]>;
2372
+ runContentAfterSave(content: Record<string, unknown>, collection: string, isNew: boolean, previousContent?: Record<string, unknown>): Promise<HookResult<void>[]>;
2334
2373
  /**
2335
2374
  * Run content:beforeDelete hooks
2336
2375
  * Returns whether deletion is allowed
@@ -2342,15 +2381,15 @@ declare class HookPipeline {
2342
2381
  /**
2343
2382
  * Run content:afterDelete hooks
2344
2383
  */
2345
- runContentAfterDelete(id: string, collection: string, permanent: boolean): Promise<HookResult<void>[]>;
2384
+ runContentAfterDelete(id: string, collection: string, permanent: boolean, previousContent?: Record<string, unknown>): Promise<HookResult<void>[]>;
2346
2385
  /**
2347
2386
  * Run content:afterPublish hooks (fire-and-forget).
2348
2387
  */
2349
- runContentAfterPublish(content: Record<string, unknown>, collection: string): Promise<HookResult<void>[]>;
2388
+ runContentAfterPublish(content: Record<string, unknown>, collection: string, previousContent?: Record<string, unknown>): Promise<HookResult<void>[]>;
2350
2389
  /**
2351
2390
  * Run content:afterUnpublish hooks (fire-and-forget).
2352
2391
  */
2353
- runContentAfterUnpublish(content: Record<string, unknown>, collection: string): Promise<HookResult<void>[]>;
2392
+ runContentAfterUnpublish(content: Record<string, unknown>, collection: string, previousContent?: Record<string, unknown>): Promise<HookResult<void>[]>;
2354
2393
  /**
2355
2394
  * Run content:afterRestore hooks (fire-and-forget).
2356
2395
  */
@@ -2569,6 +2608,17 @@ declare class EmailPipeline {
2569
2608
  }
2570
2609
  //#endregion
2571
2610
  //#region src/plugins/routes.d.ts
2611
+ /**
2612
+ * Route metadata (public flag) without the handler.
2613
+ * Used by the catch-all route to decide auth before dispatch.
2614
+ */
2615
+ interface RouteMeta {
2616
+ public: boolean;
2617
+ body: PluginRouteBodyMode;
2618
+ maxBodyBytes?: number;
2619
+ authorization?: PluginRouteAuthorization;
2620
+ apiTokenPolicy?: PluginRouteApiTokenPolicy;
2621
+ }
2572
2622
  /**
2573
2623
  * Result from a route invocation
2574
2624
  */
@@ -2636,7 +2686,18 @@ interface SandboxRunnerRuntimeOptions extends SandboxOptions {
2636
2686
  cronReschedule?: () => void;
2637
2687
  }
2638
2688
  //#endregion
2689
+ //#region src/scheduled-publish.d.ts
2690
+ interface PublishedRef {
2691
+ collection: string;
2692
+ id: string;
2693
+ }
2694
+ //#endregion
2639
2695
  //#region src/dineway-runtime.d.ts
2696
+ /** Combined result from a single-pass page contribution collection */
2697
+ interface PageContributions {
2698
+ metadata: PageMetadataContribution[];
2699
+ fragments: PageFragmentContribution[];
2700
+ }
2640
2701
  /**
2641
2702
  * Sandboxed plugin entry from virtual module
2642
2703
  */
@@ -2675,6 +2736,426 @@ interface SandboxedPluginEntry {
2675
2736
  */
2676
2737
  preferred?: string[];
2677
2738
  }
2739
+ /**
2740
+ * Media provider entry from virtual module
2741
+ */
2742
+ interface MediaProviderEntry {
2743
+ id: string;
2744
+ name: string;
2745
+ icon?: string;
2746
+ capabilities: MediaProviderCapabilities;
2747
+ /** Factory function to create the provider instance */
2748
+ createProvider: (ctx: MediaProviderContext) => MediaProvider;
2749
+ }
2750
+ /**
2751
+ * Context passed to media provider factory functions
2752
+ */
2753
+ interface MediaProviderContext {
2754
+ db: Kysely<Database>;
2755
+ /**
2756
+ * Resolve the current request-scoped database connection when one is active.
2757
+ * Providers that query Dineway tables should call this per operation instead
2758
+ * of capturing `db` once, so sidecar/preview database overrides stay isolated.
2759
+ */
2760
+ getDb?: () => Kysely<Database>;
2761
+ storage: Storage | null;
2762
+ }
2763
+ /**
2764
+ * Dependencies injected from virtual modules (middleware reads these)
2765
+ */
2766
+ interface RuntimeDependencies {
2767
+ config: DinewayConfig;
2768
+ plugins: ResolvedPlugin[];
2769
+ createDialect: (config: any) => Dialect;
2770
+ createStorage: ((config: any) => Storage) | null;
2771
+ sandboxEnabled: boolean;
2772
+ /** Media provider entries from virtual module */
2773
+ mediaProviderEntries?: MediaProviderEntry[];
2774
+ sandboxedPluginEntries: SandboxedPluginEntry[];
2775
+ /** Factory function matching SandboxRunnerFactory signature */
2776
+ createSandboxRunner: ((opts: SandboxRunnerRuntimeOptions) => SandboxRunner) | null;
2777
+ }
2778
+ /**
2779
+ * DinewayRuntime - singleton per worker
2780
+ */
2781
+ declare class DinewayRuntime {
2782
+ /**
2783
+ * The singleton database instance (worker-lifetime cached).
2784
+ * Use the `db` getter instead — it checks the request context first
2785
+ * for per-request overrides from preview/playground sidecars and other
2786
+ * request-scoped database flows.
2787
+ */
2788
+ private readonly _db;
2789
+ readonly storage: Storage | null;
2790
+ readonly configuredPlugins: ResolvedPlugin[];
2791
+ readonly sandboxedPlugins: Map<string, SandboxedPlugin>;
2792
+ readonly sandboxedPluginEntries: SandboxedPluginEntry[];
2793
+ private _hooks;
2794
+ readonly config: DinewayConfig;
2795
+ readonly mediaProviders: Map<string, MediaProvider>;
2796
+ readonly mediaProviderEntries: MediaProviderEntry[];
2797
+ readonly cronExecutor: CronExecutor | null;
2798
+ readonly email: EmailPipeline | null;
2799
+ private cronScheduler;
2800
+ private enabledPlugins;
2801
+ private pluginStates;
2802
+ /** Current hook pipeline. Use the `hooks` getter for external access. */
2803
+ get hooks(): HookPipeline;
2804
+ /** All plugins eligible for the hook pipeline (includes built-in plugins).
2805
+ * Stored so we can rebuild the pipeline when plugins are enabled/disabled. */
2806
+ private allPipelinePlugins;
2807
+ /** Factory options for the hook pipeline context factory */
2808
+ private pipelineFactoryOptions;
2809
+ /** Dependencies needed for exclusive hook resolution */
2810
+ private runtimeDeps;
2811
+ /** Mutable ref for the cron invokeCronHook closure to read the current pipeline */
2812
+ private pipelineRef;
2813
+ /** Process-lifetime FTS health check cache that never stores an in-flight promise. */
2814
+ private readonly _searchHealthCache;
2815
+ /**
2816
+ * Get the database instance for the current request.
2817
+ *
2818
+ * Checks the ALS-based request context first — middleware sets a
2819
+ * per-request Kysely instance there for preview/playground session
2820
+ * databases and other request-scoped overrides. Falls back to the
2821
+ * singleton instance.
2822
+ */
2823
+ get db(): Kysely<Database>;
2824
+ private constructor();
2825
+ /**
2826
+ * Get the sandbox runner instance (for marketplace install/update)
2827
+ */
2828
+ getSandboxRunner(): SandboxRunner | null;
2829
+ get schemaRegistry(): SchemaRegistry;
2830
+ /**
2831
+ * Resolve native MCP contributions from the current active plugin set.
2832
+ * The registry is derived per request so activate/deactivate changes cannot
2833
+ * leave a stateless MCP server with a stale contribution snapshot.
2834
+ */
2835
+ getPluginMcpRegistry(): PluginMcpRegistry;
2836
+ /**
2837
+ * Resolve the outbound HTTP capability for an active native plugin.
2838
+ * MCP handlers use this instead of reaching for global fetch, so the same
2839
+ * capability and SSRF rules apply to routes, hooks, and MCP contributions.
2840
+ */
2841
+ getPluginHttpAccess(pluginId: string): HttpAccess | undefined;
2842
+ /**
2843
+ * Publish any content whose scheduled time has passed.
2844
+ * Routes through the runtime wrapper so after-publish hooks still fire.
2845
+ */
2846
+ publishScheduled(): Promise<PublishedRef[]>;
2847
+ private publishAuthorizedDueContent;
2848
+ /**
2849
+ * Run all scheduled maintenance work from a heartbeat driver.
2850
+ */
2851
+ runScheduledTasks(options?: {
2852
+ onPublished?: (refs: PublishedRef[]) => Promise<void>;
2853
+ }): Promise<{
2854
+ published: PublishedRef[];
2855
+ }>;
2856
+ /**
2857
+ * Tick the cron system from request context (piggyback mode).
2858
+ * Call this from middleware on each request to ensure cron tasks
2859
+ * execute even when no dedicated scheduler is available.
2860
+ */
2861
+ tickCron(): void;
2862
+ /**
2863
+ * Stop the cron scheduler gracefully.
2864
+ * Call during worker shutdown or hot-reload.
2865
+ */
2866
+ stopCron(): Promise<void>;
2867
+ /**
2868
+ * Ensure search-related FTS tables are healthy before the first query.
2869
+ *
2870
+ * Search health is deferred off the runtime cold-start path so ordinary
2871
+ * page loads do not pay the index verification cost. Concurrent callers
2872
+ * coalesce without sharing an in-flight promise, and once it has completed
2873
+ * the result is treated as healthy for the lifetime of this runtime instance.
2874
+ */
2875
+ ensureSearchHealthy(): Promise<void>;
2876
+ /**
2877
+ * Update in-memory plugin status and rebuild the hook pipeline.
2878
+ *
2879
+ * Rebuilding the pipeline ensures disabled plugins' hooks stop firing
2880
+ * and re-enabled plugins' hooks start firing again without a restart.
2881
+ * Exclusive hook selections are re-resolved after each rebuild.
2882
+ */
2883
+ setPluginStatus(pluginId: string, status: "active" | "inactive"): Promise<void>;
2884
+ /**
2885
+ * Rebuild the hook pipeline from the current set of enabled plugins.
2886
+ *
2887
+ * Filters `allPipelinePlugins` to only those in `enabledPlugins`,
2888
+ * creates a fresh HookPipeline, re-resolves exclusive hook selections,
2889
+ * and re-wires the context factory so existing references (cron
2890
+ * callbacks, email pipeline) use the new pipeline.
2891
+ */
2892
+ private rebuildHookPipeline;
2893
+ /**
2894
+ * Synchronize marketplace plugin runtime state with DB + storage.
2895
+ *
2896
+ * Ensures install/update/uninstall changes take effect immediately in the
2897
+ * current worker: loads newly active plugins and removes uninstalled ones.
2898
+ */
2899
+ syncMarketplacePlugins(): Promise<void>;
2900
+ /**
2901
+ * Create and initialize the runtime
2902
+ */
2903
+ static create(deps: RuntimeDependencies, timings?: ServerTimingMetric[]): Promise<DinewayRuntime>;
2904
+ /**
2905
+ * Get a media provider by ID
2906
+ */
2907
+ getMediaProvider(providerId: string): MediaProvider | undefined;
2908
+ /**
2909
+ * Get all media provider entries (for admin UI)
2910
+ */
2911
+ getMediaProviderList(): Array<{
2912
+ id: string;
2913
+ name: string;
2914
+ icon?: string;
2915
+ capabilities: MediaProviderCapabilities;
2916
+ }>;
2917
+ /**
2918
+ * Get or create database instance
2919
+ */
2920
+ private static getDatabase;
2921
+ /**
2922
+ * Get or create storage instance
2923
+ */
2924
+ private static getStorage;
2925
+ /**
2926
+ * Load sandboxed plugins using SandboxRunner
2927
+ */
2928
+ private static loadSandboxedPlugins;
2929
+ /**
2930
+ * Cold-start: load marketplace-installed plugins from site-local bundle storage
2931
+ *
2932
+ * Queries _plugin_state for source='marketplace' rows, fetches each bundle
2933
+ * from persisted storage, and loads via SandboxRunner.
2934
+ */
2935
+ private static loadMarketplacePlugins;
2936
+ /**
2937
+ * Resolve exclusive hook selections on startup.
2938
+ *
2939
+ * Delegates to the shared resolveExclusiveHooks() in hooks.ts.
2940
+ * The runtime version considers all pipeline providers as "active" since
2941
+ * the pipeline was already built from only active/enabled plugins.
2942
+ */
2943
+ private static resolveExclusiveHooks;
2944
+ getManifest(): Promise<DinewayManifest>;
2945
+ private _buildManifest;
2946
+ invalidateManifest(): void;
2947
+ handleContentList(collection: string, params: {
2948
+ cursor?: string;
2949
+ limit?: number;
2950
+ status?: string;
2951
+ orderBy?: string;
2952
+ order?: "asc" | "desc";
2953
+ locale?: string;
2954
+ q?: string;
2955
+ authorId?: string;
2956
+ dateField?: "createdAt" | "updatedAt" | "publishedAt";
2957
+ dateFrom?: string;
2958
+ dateTo?: string;
2959
+ }): Promise<ApiResult<ContentListResponse>>;
2960
+ handleContentAuthors(collection: string): Promise<ApiResult<{
2961
+ items: ContentAuthor[];
2962
+ }>>;
2963
+ handleContentGet(collection: string, id: string, locale?: string): Promise<ApiResult<ContentResponse>>;
2964
+ handleContentGetIncludingTrashed(collection: string, id: string, locale?: string): Promise<ApiResult<ContentResponse>>;
2965
+ handleContentCreate(collection: string, body: {
2966
+ data: Record<string, unknown>;
2967
+ slug?: string;
2968
+ status?: string;
2969
+ authorId?: string;
2970
+ bylines?: Array<{
2971
+ bylineId: string;
2972
+ roleLabel?: string | null;
2973
+ }>;
2974
+ locale?: string;
2975
+ translationOf?: string;
2976
+ }): Promise<ApiResult<ContentResponse>>;
2977
+ handleContentUpdate(collection: string, id: string, body: {
2978
+ data?: Record<string, unknown>;
2979
+ slug?: string;
2980
+ status?: string;
2981
+ authorId?: string | null;
2982
+ bylines?: Array<{
2983
+ bylineId: string;
2984
+ roleLabel?: string | null;
2985
+ }>;
2986
+ locale?: string; /** Skip revision creation (used by autosave) */
2987
+ skipRevision?: boolean;
2988
+ _rev?: string;
2989
+ }): Promise<ApiResult<ContentResponse>>;
2990
+ handleContentDelete(collection: string, id: string): Promise<{
2991
+ success: false;
2992
+ error: {
2993
+ code: string;
2994
+ message: string;
2995
+ details?: Record<string, unknown>;
2996
+ };
2997
+ } | {
2998
+ success: true;
2999
+ data: {
3000
+ deleted: true;
3001
+ id: string;
3002
+ };
3003
+ } | {
3004
+ success: boolean;
3005
+ error: {
3006
+ code: string;
3007
+ message: string;
3008
+ };
3009
+ }>;
3010
+ handleContentListTrashed(collection: string, params?: {
3011
+ cursor?: string;
3012
+ limit?: number;
3013
+ }): Promise<ApiResult<{
3014
+ items: TrashedContentItem[];
3015
+ nextCursor?: string;
3016
+ }>>;
3017
+ handleContentRestore(collection: string, id: string): Promise<ApiResult<{
3018
+ restored: true;
3019
+ item: ContentItem$1;
3020
+ }>>;
3021
+ handleContentPermanentDelete(collection: string, id: string): Promise<ApiResult<{
3022
+ deleted: true;
3023
+ id: string;
3024
+ }>>;
3025
+ handleContentCountTrashed(collection: string): Promise<ApiResult<{
3026
+ count: number;
3027
+ }>>;
3028
+ handleContentDuplicate(collection: string, id: string, authorId?: string): Promise<ApiResult<{
3029
+ item: ContentItem$1;
3030
+ }>>;
3031
+ createPublicationAuthorizationService(): PublicationAuthorizationService;
3032
+ handleContentPublish(collection: string, id: string, options?: {
3033
+ publishedAt?: string;
3034
+ requireScheduledDue?: boolean;
3035
+ }): Promise<ApiResult<ContentResponse>>;
3036
+ handleContentUnpublish(collection: string, id: string): Promise<ApiResult<ContentResponse>>;
3037
+ handleContentSchedule(collection: string, id: string, scheduledAt: string): Promise<ApiResult<ContentResponse>>;
3038
+ handleContentUnschedule(collection: string, id: string): Promise<ApiResult<ContentResponse>>;
3039
+ handleContentCountScheduled(collection: string): Promise<ApiResult<{
3040
+ count: number;
3041
+ }>>;
3042
+ handleContentDiscardDraft(collection: string, id: string): Promise<ApiResult<ContentResponse>>;
3043
+ handleContentCompare(collection: string, id: string): Promise<ApiResult<{
3044
+ hasChanges: boolean;
3045
+ live: Record<string, unknown> | null;
3046
+ draft: Record<string, unknown> | null;
3047
+ }>>;
3048
+ handleContentTranslations(collection: string, id: string): Promise<ApiResult<{
3049
+ translationGroup: string;
3050
+ translations: Array<{
3051
+ id: string;
3052
+ locale: string | null;
3053
+ slug: string | null;
3054
+ status: string;
3055
+ updatedAt: string;
3056
+ }>;
3057
+ }>>;
3058
+ private refreshContentUsageAfterSuccessfulWrite;
3059
+ private deleteContentUsageAfterSuccessfulPermanentDelete;
3060
+ private resolveContentId;
3061
+ handleMediaList(params: {
3062
+ cursor?: string;
3063
+ limit?: number;
3064
+ mimeType?: string | readonly string[];
3065
+ q?: string;
3066
+ }): Promise<ApiResult<MediaListResponse>>;
3067
+ handleMediaGet(id: string): Promise<ApiResult<MediaResponse>>;
3068
+ handleMediaCreate(input: {
3069
+ filename: string;
3070
+ mimeType: string;
3071
+ size?: number;
3072
+ width?: number;
3073
+ height?: number;
3074
+ storageKey: string;
3075
+ contentHash?: string;
3076
+ blurhash?: string;
3077
+ dominantColor?: string;
3078
+ }): Promise<ApiResult<MediaResponse>>;
3079
+ handleMediaUpdate(id: string, input: {
3080
+ alt?: string;
3081
+ caption?: string;
3082
+ width?: number;
3083
+ height?: number;
3084
+ }): Promise<ApiResult<MediaResponse>>;
3085
+ handleMediaDelete(id: string): Promise<ApiResult<{
3086
+ deleted: true;
3087
+ }>>;
3088
+ handleRevisionList(collection: string, entryId: string, params?: {
3089
+ limit?: number;
3090
+ }): Promise<ApiResult<RevisionListResponse>>;
3091
+ handleRevisionGet(revisionId: string): Promise<ApiResult<RevisionResponse>>;
3092
+ handleRevisionRestore(revisionId: string, callerUserId: string): Promise<ApiResult<ContentResponse>>;
3093
+ /**
3094
+ * Get route metadata for a plugin route without invoking the handler.
3095
+ * Used by the catch-all route to decide auth before dispatch.
3096
+ * Returns null if the plugin or route doesn't exist.
3097
+ */
3098
+ getPluginRouteMeta(pluginId: string, path: string): RouteMeta | null;
3099
+ handlePluginApiRoute(pluginId: string, _method: string, path: string, request: Request, invocation?: {
3100
+ actor?: PluginActor | null;
3101
+ }): Promise<{
3102
+ success: boolean;
3103
+ data?: unknown;
3104
+ error?: {
3105
+ code: string;
3106
+ message: string;
3107
+ };
3108
+ } | {
3109
+ success: boolean;
3110
+ error: {
3111
+ code: string;
3112
+ message: string;
3113
+ };
3114
+ status: number;
3115
+ }>;
3116
+ private findSandboxedPlugin;
3117
+ /**
3118
+ * Normalize image/file fields in content data.
3119
+ * Fills missing dimensions, storageKey, mimeType, and filename from providers.
3120
+ */
3121
+ private normalizeMediaFields;
3122
+ private runSandboxedBeforeSave;
3123
+ private runSandboxedBeforeDelete;
3124
+ private previousContentForNotification;
3125
+ private runAfterSaveHooks;
3126
+ private runAfterDeleteHooks;
3127
+ private runAfterPublishHooks;
3128
+ private runAfterUnpublishHooks;
3129
+ private runAfterRestoreHooks;
3130
+ private runAfterScheduleHooks;
3131
+ private runAfterUnscheduleHooks;
3132
+ private runDeferredContentHook;
3133
+ private handleSandboxedRoute;
3134
+ /**
3135
+ * Cache for page contributions. Uses a WeakMap keyed on the PublicPageContext
3136
+ * object so results are collected once per page context per request, even when
3137
+ * multiple render components (DinewayHead, DinewayBodyStart, DinewayBodyEnd)
3138
+ * request contributions from the same page.
3139
+ */
3140
+ private pageContributionCache;
3141
+ /**
3142
+ * Collect all page contributions (metadata + fragments) in a single pass.
3143
+ * Results are cached by page context object identity.
3144
+ */
3145
+ collectPageContributions(page: PublicPageContext): Promise<PageContributions>;
3146
+ private doCollectPageContributions;
3147
+ /**
3148
+ * Collect page metadata contributions from trusted and sandboxed plugins.
3149
+ * Delegates to the single-pass collector and returns the metadata portion.
3150
+ */
3151
+ collectPageMetadata(page: PublicPageContext): Promise<PageMetadataContribution[]>;
3152
+ /**
3153
+ * Collect page fragment contributions from trusted plugins only.
3154
+ * Delegates to the single-pass collector and returns the fragments portion.
3155
+ */
3156
+ collectPageFragments(page: PublicPageContext): Promise<PageFragmentContribution[]>;
3157
+ private isPluginEnabled;
3158
+ }
2678
3159
  //#endregion
2679
3160
  //#region src/site-context/context-types.d.ts
2680
3161
  declare const SITE_CONTEXT_TYPES: readonly ["brand_voice", "seo_strategy", "audience", "content_guideline", "forbidden_terms", "editorial_policy", "migration_note", "plugin_note", "agent_reasoning", "decision", "risk", "content_gap", "style_exception"];
@@ -4090,36 +4571,6 @@ declare function invalidateSchemaObjectCache(): void;
4090
4571
  /** Invalidate cached public comment reads. */
4091
4572
  declare function invalidateCommentObjectCache(): void;
4092
4573
  //#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
4574
  //#region src/preview/sidecar-client.d.ts
4124
4575
  /**
4125
4576
  * Preview sidecar protocol helpers.
@@ -4472,16 +4923,16 @@ declare const pluginManifestSchema: z$1.ZodObject<{
4472
4923
  string: "string";
4473
4924
  number: "number";
4474
4925
  boolean: "boolean";
4475
- json: "json";
4476
4926
  file: "file";
4927
+ json: "json";
4477
4928
  slug: "slug";
4478
- text: "text";
4479
- integer: "integer";
4480
4929
  datetime: "datetime";
4930
+ text: "text";
4481
4931
  select: "select";
4932
+ image: "image";
4933
+ integer: "integer";
4482
4934
  multiSelect: "multiSelect";
4483
4935
  portableText: "portableText";
4484
- image: "image";
4485
4936
  reference: "reference";
4486
4937
  repeater: "repeater";
4487
4938
  }>>;
@@ -4610,7 +5061,7 @@ declare class PluginManager {
4610
5061
  /**
4611
5062
  * Run content:afterSave hooks across all active plugins
4612
5063
  */
4613
- runContentAfterSave(content: Record<string, unknown>, collection: string, isNew: boolean): Promise<HookResult<void>[]>;
5064
+ runContentAfterSave(content: Record<string, unknown>, collection: string, isNew: boolean, previousContent?: Record<string, unknown>): Promise<HookResult<void>[]>;
4614
5065
  /**
4615
5066
  * Run content:beforeDelete hooks across all active plugins
4616
5067
  */
@@ -4621,15 +5072,15 @@ declare class PluginManager {
4621
5072
  /**
4622
5073
  * Run content:afterDelete hooks across all active plugins
4623
5074
  */
4624
- runContentAfterDelete(id: string, collection: string, permanent: boolean): Promise<HookResult<void>[]>;
5075
+ runContentAfterDelete(id: string, collection: string, permanent: boolean, previousContent?: Record<string, unknown>): Promise<HookResult<void>[]>;
4625
5076
  /**
4626
5077
  * Run content:afterPublish hooks across all active plugins
4627
5078
  */
4628
- runContentAfterPublish(content: Record<string, unknown>, collection: string): Promise<HookResult<void>[]>;
5079
+ runContentAfterPublish(content: Record<string, unknown>, collection: string, previousContent?: Record<string, unknown>): Promise<HookResult<void>[]>;
4629
5080
  /**
4630
5081
  * Run content:afterUnpublish hooks across all active plugins
4631
5082
  */
4632
- runContentAfterUnpublish(content: Record<string, unknown>, collection: string): Promise<HookResult<void>[]>;
5083
+ runContentAfterUnpublish(content: Record<string, unknown>, collection: string, previousContent?: Record<string, unknown>): Promise<HookResult<void>[]>;
4633
5084
  /**
4634
5085
  * Run content:afterRestore hooks across all active plugins
4635
5086
  */
@@ -6897,6 +7348,8 @@ interface HookConfig<THandler> {
6897
7348
  * Content hook event
6898
7349
  */
6899
7350
  interface ContentHookEvent {
7351
+ /** Persisted item before a successful mutation; absent for creations and before hooks. */
7352
+ previousContent?: Record<string, unknown>;
6900
7353
  content: Record<string, unknown>;
6901
7354
  collection: string;
6902
7355
  isNew: boolean;
@@ -6905,6 +7358,8 @@ interface ContentHookEvent {
6905
7358
  * Content delete hook event
6906
7359
  */
6907
7360
  interface ContentDeleteEvent {
7361
+ /** Persisted item before a successful mutation; absent for creations and before hooks. */
7362
+ previousContent?: Record<string, unknown>;
6908
7363
  id: string;
6909
7364
  collection: string;
6910
7365
  permanent: boolean;
@@ -6913,6 +7368,8 @@ interface ContentDeleteEvent {
6913
7368
  * Content state change hook event.
6914
7369
  */
6915
7370
  interface ContentStateChangeEvent {
7371
+ /** Persisted item before a successful mutation; absent for creations and before hooks. */
7372
+ previousContent?: Record<string, unknown>;
6916
7373
  content: Record<string, unknown>;
6917
7374
  collection: string;
6918
7375
  }
@@ -6974,6 +7431,25 @@ interface BreadcrumbItem {
6974
7431
  /** Absolute or root-relative URL for this crumb. */
6975
7432
  url: string;
6976
7433
  }
7434
+ /** Public image metadata. Dimensions describe the referenced file, not a display crop. */
7435
+ interface PublicPageImage {
7436
+ url: string;
7437
+ alt?: string;
7438
+ width?: number;
7439
+ height?: number;
7440
+ mimeType?: string;
7441
+ }
7442
+ /** A public Schema.org node supplied by a site or plugin. */
7443
+ interface PublicSchemaNode {
7444
+ "@type": string | readonly string[];
7445
+ "@id"?: string;
7446
+ [key: string]: unknown;
7447
+ }
7448
+ interface PublicPageSchema {
7449
+ nodes: PublicSchemaNode[];
7450
+ /** Identifies a node in this graph that the page primarily describes. */
7451
+ mainEntity?: string;
7452
+ }
6977
7453
  /**
6978
7454
  * Describes the page being rendered. Passed to page hooks so plugins
6979
7455
  * can decide what to contribute without fetching content themselves.
@@ -6991,6 +7467,8 @@ interface PublicPageContext {
6991
7467
  description: string | null;
6992
7468
  canonical: string | null;
6993
7469
  image: string | null;
7470
+ imageMetadata?: PublicPageImage;
7471
+ schema?: PublicPageSchema;
6994
7472
  content?: {
6995
7473
  collection: string;
6996
7474
  id: string;
@@ -7001,6 +7479,7 @@ interface PublicPageContext {
7001
7479
  ogTitle?: string | null;
7002
7480
  ogDescription?: string | null;
7003
7481
  ogImage?: string | null;
7482
+ ogImageMetadata?: PublicPageImage;
7004
7483
  robots?: string | null;
7005
7484
  };
7006
7485
  /** Article metadata for Open Graph article: tags */
@@ -7656,4 +8135,4 @@ interface PluginManifest {
7656
8135
  admin: PluginAdminConfig;
7657
8136
  }
7658
8137
  //#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 };
8138
+ export { PluginMcpCommandTool as $, handleMediaUpdate as $a, getEditMeta as $i, GetCommentsOptions as $n, image as $o, PluginSecretStatus as $r, FieldDescriptor as $s, currentTimestamp as $t, MediaUploadEvent as A, PortableTextSpan as Aa, invalidateCollectionCache as Ai, getTaxonomyDef as An, StorageDescriptor as Ao, AssignmentAccessContext as Ar, MediaRepository as As, ResolvedPluginHooks as At, PluginActor as B, Section as Ba, CollectionFilter as Bi, getByline as Bn, handleContentGetIncludingTrashed as Bo, SiteAuthTokenContext as Br, DinewayDatabaseError as Bs, StoredComment as Bt, FieldWidgetConfig as C, portableTextToProsemirror as Ca, verifyPreviewSignature as Ci, UpdateWidgetInput as Cn, PluginMcpRegistry as Co, GeneratePreviewTokenOptions as Cr, SiteActivityResultStatus as Cs, PortableTextBlockField as Ct, KVAccess as D, PortableTextImageBlock as Da, contentNamespace as Di, WidgetType as Dn, getStoredConfig as Do, generatePreviewToken as Dr, RevisionRepository as Ds, PublicSchemaNode as Dt, HttpAccess as E, PortableTextHtmlBlock as Ea, cachedQuery as Ei, WidgetComponentDef as En, PluginDescriptor as Eo, VerifyPreviewTokenResult as Er, PublicComment as Es, PublicPageSchema as Et, PageMetadataContribution as F, ProseMirrorNode as Fa, invalidateTaxonomyObjectCache as Fi, CreateTermInput as Fn, handleContentCreate as Fo, HandoffResumeResult as Fr, WhereRange as Fs, StandardPluginDefinition as Ft, PluginAuthMethod as G, SchemaError as Ga, EntryResult as Gi, CreateMenuInput as Gn, handleContentRestore as Go, NodeSandboxRunner as Gr, parseBody as Gs, PublicationReadinessPolicyBlocker as Gt, PluginAdminConfig as H, UpdateSectionInput as Ha, ContentEntry as Hi, getEntriesByByline as Hn, handleContentListTrashed as Ho, PublicationReleasePolicyContribution as Hr, OptionsRepository as Hs, PublicationAuthorizationService as Ht, PageMetadataEvent as I, getSection as Ia, isObjectCacheActive as Ii, TaxonomyDef as In, handleContentDelete as Io, HandoffSnapshotStore as Ir, WhereValue$1 as Is, StandardRouteEntry as It, PluginDefinition as J, MediaResponse as Ja, SelectedCollectionData as Ji, MenuItem as Jn, handleContentUnpublish as Jo, SandboxNotAvailableError as Jr, apiSuccess as Js, PublicationReadinessResult as Jt, PluginCapability as K, SchemaRegistry as Ka, InferCollectionData as Ki, CreateMenuItemInput as Kn, handleContentSchedule as Ko, createNodeSandboxRunner as Kr, parseQuery as Ks, PublicationReadinessPolicyFinding as Kt, PageMetadataHandler as L, getSections as La, AfterCallback as Li, TaxonomyTerm as Ln, handleContentDiscardDraft as Lo, ResumeHandoffSnapshotInput as Lr, dinewayLoader as Ls, StandardRouteHandler as Lt, PageFragmentContribution as M, PortableTextUnknownBlock as Ma, invalidateMenuObjectCache as Mi, getTaxonomyTerms as Mn, handleContentCompare as Mo, AssignmentListInput as Mr, CollectionFilter$1 as Ms, RouteContext as Mt, PageFragmentEvent as N, ProseMirrorDocument as Na, invalidateObjectCache as Ni, getTerm as Nn, handleContentCountScheduled as No, AssignmentService as Nr, EntryData as Ns, StandardHookEntry as Nt, LogAccess as O, PortableTextLinkMark as Oa, contentNamespaces as Oi, getEntriesByTerm as On, LocalStorageConfig as Oo, parseContentId as Or, CreateMediaInput as Os, ResolvedHook as Ot, PageFragmentHandler as P, ProseMirrorMark as Pa, invalidateSchemaObjectCache as Pi, getTermsForEntries as Pn, handleContentCountTrashed as Po, CreateWorkflowAssignmentInput as Pr, EntryFilter as Ps, StandardHookHandler as Pt, PluginMcpCommandPreview as Q, handleMediaList as Qa, getDinewayEntry as Qi, UpdateMenuItemInput as Qn, reference as Qo, createReviewedPluginMcpCommandExecutor as Qr, ContentResponse as Qs, PublicationReleasePreparationTarget as Qt, PageMetadataLinkRel as R, CreateSectionInput as Ra, after as Ri, TaxonomyTermRow as Rn, handleContentDuplicate as Ro, CreateHandoffSnapshotInput as Rr, getDb as Rs, StorageCollection as Rt, EmailMessage as S, hashString as Sa, signPreviewUrl as Si, ReorderWidgetsInput as Sn, SerializedRequest as So, getPreviewUrl as Sr, SiteActivityRepository as Ss, PortableTextBlockConfig as St, HookName as T, PortableTextCodeBlock as Ta, CachedQueryOptions as Ti, WidgetArea as Tn, DinewayConfig as To, VerifyPreviewTokenOptions as Tr, SiteActivityTimelineQuery as Ts, PublicPageImage as Tt, PluginAdminExports as U, validateContent as Ua, DinewayCollections as Ui, getMenu as Un, handleContentPermanentDelete as Uo, PublicationReleasePolicyDisposition as Ur, ParseResult as Us, PublicationPolicyOverride as Ut, PluginActorType as V, SectionSource as Va, CollectionResult as Vi, getBylineBySlug as Vn, handleContentList as Vo, BuiltContentReleasePayload as Vr, Element as Vs, isStandardPluginDefinition as Vt, PluginAdminPage as W, getCollectionInfo as Wa, EditFieldMeta as Wi, getMenus as Wn, handleContentPublish as Wo, buildStableActionHash as Wr, isParseError as Ws, PublicationReadinessBlocker as Wt, PluginManifest as X, handleMediaDelete as Xa, TranslationsResult as Xi, ReorderMenuItemsInput as Xn, handleContentUpdate as Xo, PluginManager as Xr, ApiContext as Xs, PublicationReceipt as Xt, PluginHooks as Y, handleMediaCreate as Ya, TranslationSummary as Yi, MenuItemType as Yn, handleContentUnschedule as Yo, createNoopSandboxRunner as Yr, handleError as Ys, PublicationReadinessWarning as Yt, PluginMcpAuthorization as Z, handleMediaGet as Za, getDinewayCollection as Zi, UpdateMenuInput as Zn, portableText as Zo, createPluginManager as Zr, ContentListResponse as Zs, PublicationReleasePolicy as Zt, EmailAfterSendHandler as _, RateLimitResult as _a, PreviewSidecarClient as _i, getWidgetAreas as _n, SandboxEmailSendCallback as _o, isBlockedInPreview as _r, CreateAssignmentInput as _s, PluginRouteTargetAuthorizationRequest as _t, CommentAfterModerateEvent as a, createEditable as aa, definePlugin as ai, searchCollection as an, generateManifest as ao, getSiteSetting as ar, ContentReference as as, PluginMcpResource as at, EmailDeliverEvent as b, sanitizeHref as ba, defaultPreviewSidecarClient as bi, CreateWidgetInput as bn, SandboxRunnerFactory as bo, GetPreviewUrlOptions as br, SiteActivity as bs, PluginStorageConfig as bt, CommentBeforeCreateHandler as c, GuestAccessTokenClaims as ca, FileSessionDatabaseFactory as ci, CollectionSearchOptions as cn, SiteBriefingContextEntry as co, PreviewToolbarConfig as cr, RelationRepository as cs, PluginMcpRiskFactor as ct, ContentAccess as d, IssuedGuestAccessToken as da, SessionDatabaseFactory as di, SearchResponse as dn, PluginRouteError as do, ApplySnapshotToDatabaseOptions as dr, AssignmentActorRef as ds, PluginMigration as dt, getTranslations as ea, ListResponse as ec, PluginSecretStore as ei, extractPlainText as en, RevisionListResponse as eo, GetCommentsResult as er, FieldDefinition as es, PluginMcpConfig as et, ContentDeleteEvent as f, VerifyGuestAccessTokenOptions as fa, SessionDatabaseHandle as fi, SearchResult as fn, EmailPipeline as fo, applySnapshotToDatabase as fr, AssignmentActorType as fs, PluginRoute as ft, EmailAfterSendEvent as g, verifyGuestAccessToken as ga, SessionOpenOrCreateOptions as gi, getWidgetArea as gn, SandboxEmailMessage as go, renderPreviewLoadingPage as gr, AssignmentStatus as gs, PluginRouteMethod as gt, EmailAccess as h, issueGuestAccessToken as ha, SessionOpenOptions as hi, Suggestion as hn, createHookPipeline as ho, Snapshot as hr, AssignmentRepository as hs, PluginRouteBodyMode as ht, CommentAfterCreateHandler as i, FieldAnnotation as ia, runPluginMigrations as ii, search as in, handleRevisionRestore as io, getPluginSettings as ir, PortableTextBlock$1 as is, PluginMcpQueryTool as it, ModerationDecision as j, PortableTextTextBlock as ja, invalidateCommentObjectCache as ji, getTaxonomyDefs as jn, handleContentAuthors as jo, AssignmentActionInput as jr, ContentRepository as js, ResolvedPluginMcpConfig as jt, MediaAccess as k, PortableTextMarkDef as ka, invalidateBylineObjectCache as ki, getEntryTerms as kn, S3StorageConfig as ko, verifyPreviewToken as kr, MediaItem$1 as ks, ResolvedPlugin as kt, CommentModerateEvent as l, GuestAccessTokenConfigurationError as la, FileSessionDatabaseFactoryOptions as li, SearchConfig as ln, DinewayRuntime as lo, renderPreviewToolbar as lr, UpdateRelationInput as ls, PluginMcpRiskLevel as lt, ContentPublishStateChangeEvent as m, hashGuestAccessToken as ma, SessionDatabaseLimitError as mi, SuggestOptions as mn, HookResult as mo, getAppliedSnapshotMeta as mr, AssignmentPriority as ms, PluginRouteAuthorization as mt, CollectionCommentSettings as n, CMSAnnotation as na, ValidatedPluginManifest as ni, getSearchStats as nn, handleRevisionGet as no, getComments as nr, FileValue as ns, PluginMcpPiiClass as nt, CommentAfterModerateHandler as o, createNoop as oa, FilePreviewMiddlewareConfig as oi, searchWithDb as on, SiteBriefing as oo, getSiteSettings as or, CreateRelationInput as os, PluginMcpResourceContent as ot, ContentHookEvent as p, VerifyGuestAccessTokenResult as pa, SessionDatabaseInfo as pi, SearchStats as pn, HookPipeline as po, dropSessionDatabaseTables as pr, AssignmentListQuery as ps, PluginRouteApiTokenPolicy as pt, PluginContext as q, MediaListResponse as qa, ResolvePathResult as qi, Menu as qn, handleContentTranslations as qo, NoopSandboxRunner as qr, apiError as qs, PublicationReadinessPolicyTarget as qt, CommentAfterCreateEvent as r, EditProxy as ra, pluginManifestSchema as ri, getSuggestions as rn, handleRevisionList as ro, getPluginSetting as rr, ImageValue as rs, PluginMcpPiiPolicy as rt, CommentBeforeCreateEvent as s, GuestAccessExpectedScope as sa, createFilePreviewMiddleware as si, FTSManager as sn, SiteBriefingAssembler as so, setSiteSettings as sr, Relation as ss, PluginMcpReversibility as st, BreadcrumbItem as t, resolveDinewayPath as ta, ManifestResponse as tc, PluginSecretStoreOptions as ti, extractSearchableFields as tn, RevisionResponse as to, getCommentCount as tr, FieldUIHints as ts, PluginMcpExecutionContext as tt, CommentModerateHandler as u, IssueGuestAccessTokenOptions as ua, SessionCleanupResult as ui, SearchOptions as un, SandboxedPluginEntry as uo, AppliedSnapshotMeta as ur, Assignment as us, PluginMcpTool as ut, EmailBeforeSendEvent as v, checkRateLimit as va, PreviewSidecarSignature as vi, getWidgetComponents as vn, SandboxOptions as vo, getPreviewToken as vr, MarkAssignmentsOverdueInput as vs, PluginRouteTargetAuthorizer as vt, HookConfig as w, prosemirrorToPortableText as wa, CacheNamespace as wi, Widget as wn, PluginMcpTargetAuthorizer$1 as wo, PreviewTokenPayload as wr, SiteActivitySourceType as ws, PublicPageContext as wt, EmailDeliverHandler as x, computeContentHash as xa, parsePreviewSignatureHeader as xi, PropDef as xn, SandboxedPlugin as xo, buildPreviewUrl as xr, SiteActivityActorType as xs, PluginTargetScope as xt, EmailBeforeSendHandler as y, isSafeHref as ya, buildPreviewSignatureHeader as yi, CreateWidgetAreaInput as yn, SandboxRunner as yo, isPreviewRequest as yr, CreateSiteActivityInput as ys, PluginRouteTargetContext as yt, PagePlacement as z, GetSectionsOptions as za, CacheHint as zi, UpdateTermInput as zn, handleContentGet as zo, HandoffSnapshot as zr, DatabaseConfig as zs, StorageCollectionConfig as zt };