emdash 1.0.1 → 1.2.0

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 (1439) hide show
  1. package/dist/action-token-BdWad2YG.mjs +26 -0
  2. package/dist/action-token-BdWad2YG.mjs.map +1 -0
  3. package/dist/activation-xomsCMJg.mjs +387 -0
  4. package/dist/activation-xomsCMJg.mjs.map +1 -0
  5. package/dist/adapters-B4-nbElt.d.mts +173 -0
  6. package/dist/adapters-B4-nbElt.d.mts.map +1 -0
  7. package/dist/allowed-origins-CLpHGGlc.mjs +116 -0
  8. package/dist/allowed-origins-CLpHGGlc.mjs.map +1 -0
  9. package/dist/api/route-utils.d.mts +4 -4
  10. package/dist/api/route-utils.d.mts.map +1 -1
  11. package/dist/api/route-utils.mjs +49 -48
  12. package/dist/api/route-utils.mjs.map +1 -1
  13. package/dist/api/schemas/index.d.mts +2 -2
  14. package/dist/api/schemas/index.mjs +10 -10
  15. package/dist/api-DBw_IWoi.mjs +5024 -0
  16. package/dist/api-DBw_IWoi.mjs.map +1 -0
  17. package/dist/api-tokens-B0ZipcZ-.mjs +173 -0
  18. package/dist/api-tokens-B0ZipcZ-.mjs.map +1 -0
  19. package/dist/apply-Cx48saFC.mjs +1680 -0
  20. package/dist/apply-Cx48saFC.mjs.map +1 -0
  21. package/dist/approvals-BXgtXA2s.mjs +460 -0
  22. package/dist/approvals-BXgtXA2s.mjs.map +1 -0
  23. package/dist/artifact-fetch-DsRczRGG.mjs +659 -0
  24. package/dist/artifact-fetch-DsRczRGG.mjs.map +1 -0
  25. package/dist/artifacts-D-O-qj9C.mjs +307 -0
  26. package/dist/artifacts-D-O-qj9C.mjs.map +1 -0
  27. package/dist/astro/image-endpoint.d.mts.map +1 -1
  28. package/dist/astro/image-endpoint.mjs +26 -6
  29. package/dist/astro/image-endpoint.mjs.map +1 -1
  30. package/dist/astro/index.d.mts +14 -14
  31. package/dist/astro/index.d.mts.map +1 -1
  32. package/dist/astro/index.mjs +253 -17
  33. package/dist/astro/index.mjs.map +1 -1
  34. package/dist/astro/middleware/auth.d.mts +12 -12
  35. package/dist/astro/middleware/auth.d.mts.map +1 -1
  36. package/dist/astro/middleware/auth.mjs +18 -13
  37. package/dist/astro/middleware/auth.mjs.map +1 -1
  38. package/dist/astro/middleware/media-usage-write-fence.mjs +6 -6
  39. package/dist/astro/middleware/redirect.d.mts.map +1 -1
  40. package/dist/astro/middleware/redirect.mjs +34 -32
  41. package/dist/astro/middleware/redirect.mjs.map +1 -1
  42. package/dist/astro/middleware/request-context.d.mts.map +1 -1
  43. package/dist/astro/middleware/request-context.mjs +99 -60
  44. package/dist/astro/middleware/request-context.mjs.map +1 -1
  45. package/dist/astro/middleware/setup.mjs +1 -1
  46. package/dist/astro/middleware.d.mts +12 -12
  47. package/dist/astro/middleware.d.mts.map +1 -1
  48. package/dist/astro/middleware.mjs +233 -128
  49. package/dist/astro/middleware.mjs.map +1 -1
  50. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +15 -15
  51. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +15 -15
  52. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +8 -7
  53. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs.map +1 -1
  54. package/dist/astro/routes/api/admin/api-tokens/index.mjs +9 -8
  55. package/dist/astro/routes/api/admin/api-tokens/index.mjs.map +1 -1
  56. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +7 -7
  57. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +17 -17
  58. package/dist/astro/routes/api/admin/byline-fields/index.mjs +17 -17
  59. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +17 -17
  60. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +22 -22
  61. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +22 -23
  62. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs.map +1 -1
  63. package/dist/astro/routes/api/admin/bylines/index.mjs +23 -23
  64. package/dist/astro/routes/api/admin/bylines/index.mjs.map +1 -1
  65. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +19 -19
  66. package/dist/astro/routes/api/admin/comments/_id_.mjs +8 -8
  67. package/dist/astro/routes/api/admin/comments/bulk.mjs +18 -18
  68. package/dist/astro/routes/api/admin/comments/counts.mjs +8 -8
  69. package/dist/astro/routes/api/admin/comments/index.mjs +18 -18
  70. package/dist/astro/routes/api/admin/core-update.mjs +8 -8
  71. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +7 -7
  72. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +6 -6
  73. package/dist/astro/routes/api/admin/media-usage/activation.mjs +21 -21
  74. package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs +22 -22
  75. package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs +22 -22
  76. package/dist/astro/routes/api/admin/media-usage/progress.mjs +23 -23
  77. package/dist/astro/routes/api/admin/media-usage/repair.mjs +29 -29
  78. package/dist/astro/routes/api/admin/media-usage/work/index.mjs +22 -22
  79. package/dist/astro/routes/api/admin/media-usage/work/retry.mjs +22 -22
  80. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +7 -7
  81. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +7 -7
  82. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +9 -9
  83. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +9 -9
  84. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +73 -72
  85. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs.map +1 -1
  86. package/dist/astro/routes/api/admin/plugins/_id_/mcp.mjs +8 -8
  87. package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs +71 -70
  88. package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs.map +1 -1
  89. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +72 -71
  90. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs.map +1 -1
  91. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +82 -81
  92. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs.map +1 -1
  93. package/dist/astro/routes/api/admin/plugins/index.mjs +72 -71
  94. package/dist/astro/routes/api/admin/plugins/index.mjs.map +1 -1
  95. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +8 -8
  96. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +71 -70
  97. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs.map +1 -1
  98. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +81 -80
  99. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs.map +1 -1
  100. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +71 -70
  101. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs.map +1 -1
  102. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs +72 -71
  103. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs.map +1 -1
  104. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs +83 -82
  105. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs.map +1 -1
  106. package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs +10 -10
  107. package/dist/astro/routes/api/admin/plugins/registry/install.mjs +74 -73
  108. package/dist/astro/routes/api/admin/plugins/registry/install.mjs.map +1 -1
  109. package/dist/astro/routes/api/admin/plugins/registry/publisher-handle.mjs +8 -8
  110. package/dist/astro/routes/api/admin/plugins/registry/verify.mjs +72 -71
  111. package/dist/astro/routes/api/admin/plugins/registry/verify.mjs.map +1 -1
  112. package/dist/astro/routes/api/admin/plugins/updates.mjs +71 -70
  113. package/dist/astro/routes/api/admin/plugins/updates.mjs.map +1 -1
  114. package/dist/astro/routes/api/admin/scheduled-policy-rejections/_collection_/_id_.mjs +6 -6
  115. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +71 -70
  116. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs.map +1 -1
  117. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +8 -8
  118. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +71 -70
  119. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs.map +1 -1
  120. package/dist/astro/routes/api/admin/transfer/_...path_.mjs +5 -5
  121. package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.mjs +39 -39
  122. package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.mjs +39 -39
  123. package/dist/astro/routes/api/admin/transfer/approvals/index.mjs +41 -41
  124. package/dist/astro/routes/api/admin/transfer/capabilities.mjs +41 -41
  125. package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.mjs +41 -41
  126. package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.mjs +42 -42
  127. package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.mjs +42 -42
  128. package/dist/astro/routes/api/admin/transfer/exports/_id_/index.mjs +41 -41
  129. package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.mjs +42 -42
  130. package/dist/astro/routes/api/admin/transfer/exports/index.mjs +43 -43
  131. package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.mjs +41 -41
  132. package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.mjs +41 -41
  133. package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.mjs +43 -43
  134. package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.mjs +41 -41
  135. package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.mjs +43 -43
  136. package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.mjs +41 -41
  137. package/dist/astro/routes/api/admin/transfer/imports/_id_/index.mjs +41 -41
  138. package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.mjs +43 -43
  139. package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.mjs +41 -41
  140. package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.mjs +41 -41
  141. package/dist/astro/routes/api/admin/transfer/imports/index.mjs +43 -43
  142. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +5 -5
  143. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +5 -5
  144. package/dist/astro/routes/api/admin/users/_id_/index.mjs +15 -15
  145. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +7 -7
  146. package/dist/astro/routes/api/admin/users/index.mjs +15 -15
  147. package/dist/astro/routes/api/auth/dev-bypass.mjs +7 -7
  148. package/dist/astro/routes/api/auth/handover.d.mts +8 -0
  149. package/dist/astro/routes/api/auth/handover.d.mts.map +1 -0
  150. package/dist/astro/routes/api/auth/handover.mjs +49 -0
  151. package/dist/astro/routes/api/auth/handover.mjs.map +1 -0
  152. package/dist/astro/routes/api/auth/invite/accept.mjs +5 -5
  153. package/dist/astro/routes/api/auth/invite/complete.mjs +20 -20
  154. package/dist/astro/routes/api/auth/invite/index.mjs +17 -17
  155. package/dist/astro/routes/api/auth/invite/register-options.mjs +18 -18
  156. package/dist/astro/routes/api/auth/logout.mjs +6 -6
  157. package/dist/astro/routes/api/auth/magic-link/send.mjs +20 -19
  158. package/dist/astro/routes/api/auth/magic-link/send.mjs.map +1 -1
  159. package/dist/astro/routes/api/auth/magic-link/verify.d.mts.map +1 -1
  160. package/dist/astro/routes/api/auth/magic-link/verify.mjs +24 -18
  161. package/dist/astro/routes/api/auth/magic-link/verify.mjs.map +1 -1
  162. package/dist/astro/routes/api/auth/me.mjs +16 -16
  163. package/dist/astro/routes/api/auth/mode.mjs +6 -6
  164. package/dist/astro/routes/api/auth/oauth/_provider_/callback.d.mts.map +1 -1
  165. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +36 -13
  166. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs.map +1 -1
  167. package/dist/astro/routes/api/auth/oauth/_provider_.d.mts.map +1 -1
  168. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +20 -5
  169. package/dist/astro/routes/api/auth/oauth/_provider_.mjs.map +1 -1
  170. package/dist/astro/routes/api/auth/passkey/_id_.mjs +15 -15
  171. package/dist/astro/routes/api/auth/passkey/index.mjs +5 -5
  172. package/dist/astro/routes/api/auth/passkey/options.d.mts.map +1 -1
  173. package/dist/astro/routes/api/auth/passkey/options.mjs +28 -21
  174. package/dist/astro/routes/api/auth/passkey/options.mjs.map +1 -1
  175. package/dist/astro/routes/api/auth/passkey/register/options.mjs +18 -18
  176. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +19 -19
  177. package/dist/astro/routes/api/auth/passkey/verify.mjs +20 -20
  178. package/dist/astro/routes/api/auth/signup/complete.mjs +20 -20
  179. package/dist/astro/routes/api/auth/signup/request.mjs +19 -18
  180. package/dist/astro/routes/api/auth/signup/request.mjs.map +1 -1
  181. package/dist/astro/routes/api/auth/signup/verify.mjs +5 -5
  182. package/dist/astro/routes/api/calendar.d.mts +8 -0
  183. package/dist/astro/routes/api/calendar.d.mts.map +1 -0
  184. package/dist/astro/routes/api/calendar.mjs +204 -0
  185. package/dist/astro/routes/api/calendar.mjs.map +1 -0
  186. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +14 -14
  187. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +20 -20
  188. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +6 -6
  189. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +17 -17
  190. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +6 -6
  191. package/dist/astro/routes/api/content/_collection_/_id_/lock.mjs +17 -17
  192. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +6 -6
  193. package/dist/astro/routes/api/content/_collection_/_id_/plugin-extensions/_pluginId_/_kind_/_extensionId_.mjs +12 -12
  194. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +31 -31
  195. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +17 -17
  196. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs +35 -35
  197. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs +35 -35
  198. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +6 -6
  199. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +6 -6
  200. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +17 -17
  201. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +25 -25
  202. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +6 -6
  203. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +17 -17
  204. package/dist/astro/routes/api/content/_collection_/_id_.mjs +17 -17
  205. package/dist/astro/routes/api/content/_collection_/authors.mjs +6 -6
  206. package/dist/astro/routes/api/content/_collection_/index.mjs +16 -16
  207. package/dist/astro/routes/api/content/_collection_/trash.mjs +16 -16
  208. package/dist/astro/routes/api/dashboard.mjs +12 -12
  209. package/dist/astro/routes/api/dev/emails.mjs +6 -6
  210. package/dist/astro/routes/api/health.mjs +7 -7
  211. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  212. package/dist/astro/routes/api/import/probe.mjs +25 -25
  213. package/dist/astro/routes/api/import/wordpress/analyze.mjs +6 -6
  214. package/dist/astro/routes/api/import/wordpress/execute.d.mts +13 -13
  215. package/dist/astro/routes/api/import/wordpress/execute.mjs +31 -24
  216. package/dist/astro/routes/api/import/wordpress/execute.mjs.map +1 -1
  217. package/dist/astro/routes/api/import/wordpress/media.d.mts +12 -12
  218. package/dist/astro/routes/api/import/wordpress/media.mjs +20 -20
  219. package/dist/astro/routes/api/import/wordpress/prepare.mjs +18 -18
  220. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.d.mts +8 -0
  221. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.d.mts.map +1 -1
  222. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.mjs +67 -31
  223. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.mjs.map +1 -1
  224. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +13 -13
  225. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +27 -27
  226. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  227. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +25 -25
  228. package/dist/astro/routes/api/import/wordpress-plugin/callback.mjs +1 -1
  229. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +13 -13
  230. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +40 -33
  231. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs.map +1 -1
  232. package/dist/astro/routes/api/manifest.mjs +10 -7
  233. package/dist/astro/routes/api/manifest.mjs.map +1 -1
  234. package/dist/astro/routes/api/mcp.mjs +94 -94
  235. package/dist/astro/routes/api/mcp.mjs.map +1 -1
  236. package/dist/astro/routes/api/media/_id_/confirm.d.mts.map +1 -1
  237. package/dist/astro/routes/api/media/_id_/confirm.mjs +36 -20
  238. package/dist/astro/routes/api/media/_id_/confirm.mjs.map +1 -1
  239. package/dist/astro/routes/api/media/_id_/replace.mjs +17 -17
  240. package/dist/astro/routes/api/media/_id_/upload.mjs +10 -10
  241. package/dist/astro/routes/api/media/_id_/usage.mjs +31 -31
  242. package/dist/astro/routes/api/media/_id_.mjs +29 -29
  243. package/dist/astro/routes/api/media/asset/_id_/_filename_.mjs +7 -7
  244. package/dist/astro/routes/api/media/file/_...key_.d.mts.map +1 -1
  245. package/dist/astro/routes/api/media/file/_...key_.mjs +46 -16
  246. package/dist/astro/routes/api/media/file/_...key_.mjs.map +1 -1
  247. package/dist/astro/routes/api/media/folders/_id_.mjs +17 -17
  248. package/dist/astro/routes/api/media/folders/index.mjs +17 -17
  249. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +6 -6
  250. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +6 -6
  251. package/dist/astro/routes/api/media/providers/index.mjs +6 -6
  252. package/dist/astro/routes/api/media/upload-url.mjs +45 -25
  253. package/dist/astro/routes/api/media/upload-url.mjs.map +1 -1
  254. package/dist/astro/routes/api/media.d.mts.map +1 -1
  255. package/dist/astro/routes/api/media.mjs +47 -36
  256. package/dist/astro/routes/api/media.mjs.map +1 -1
  257. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +18 -18
  258. package/dist/astro/routes/api/menus/_name_/items.mjs +18 -18
  259. package/dist/astro/routes/api/menus/_name_/reorder.mjs +18 -18
  260. package/dist/astro/routes/api/menus/_name_/translations.mjs +18 -18
  261. package/dist/astro/routes/api/menus/_name_.mjs +18 -18
  262. package/dist/astro/routes/api/menus/index.mjs +18 -18
  263. package/dist/astro/routes/api/oauth/authorize.mjs +6 -6
  264. package/dist/astro/routes/api/oauth/device/authorize.mjs +9 -9
  265. package/dist/astro/routes/api/oauth/device/code.mjs +13 -12
  266. package/dist/astro/routes/api/oauth/device/code.mjs.map +1 -1
  267. package/dist/astro/routes/api/oauth/device/token.mjs +12 -11
  268. package/dist/astro/routes/api/oauth/device/token.mjs.map +1 -1
  269. package/dist/astro/routes/api/oauth/register.mjs +9 -8
  270. package/dist/astro/routes/api/oauth/register.mjs.map +1 -1
  271. package/dist/astro/routes/api/oauth/token/refresh.mjs +9 -9
  272. package/dist/astro/routes/api/oauth/token/revoke.mjs +9 -9
  273. package/dist/astro/routes/api/oauth/token.mjs +9 -9
  274. package/dist/astro/routes/api/openapi.json.mjs +23 -23
  275. package/dist/astro/routes/api/openapi.json.mjs.map +1 -1
  276. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +12 -12
  277. package/dist/astro/routes/api/redirects/404s/index.mjs +20 -19
  278. package/dist/astro/routes/api/redirects/404s/index.mjs.map +1 -1
  279. package/dist/astro/routes/api/redirects/404s/summary.mjs +20 -19
  280. package/dist/astro/routes/api/redirects/404s/summary.mjs.map +1 -1
  281. package/dist/astro/routes/api/redirects/_id_.mjs +20 -19
  282. package/dist/astro/routes/api/redirects/_id_.mjs.map +1 -1
  283. package/dist/astro/routes/api/redirects/index.mjs +20 -19
  284. package/dist/astro/routes/api/redirects/index.mjs.map +1 -1
  285. package/dist/astro/routes/api/relations/_id_/index.mjs +35 -35
  286. package/dist/astro/routes/api/relations/index.mjs +35 -35
  287. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +6 -6
  288. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +17 -17
  289. package/dist/astro/routes/api/schema/block-types/_slug_/index.mjs +71 -70
  290. package/dist/astro/routes/api/schema/block-types/_slug_/index.mjs.map +1 -1
  291. package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.mjs +71 -70
  292. package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.mjs.map +1 -1
  293. package/dist/astro/routes/api/schema/block-types/index.mjs +71 -70
  294. package/dist/astro/routes/api/schema/block-types/index.mjs.map +1 -1
  295. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +71 -70
  296. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs.map +1 -1
  297. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +71 -70
  298. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs.map +1 -1
  299. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +71 -70
  300. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs.map +1 -1
  301. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +71 -70
  302. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs.map +1 -1
  303. package/dist/astro/routes/api/schema/collections/index.mjs +71 -70
  304. package/dist/astro/routes/api/schema/collections/index.mjs.map +1 -1
  305. package/dist/astro/routes/api/schema/collections/reorder.mjs +71 -70
  306. package/dist/astro/routes/api/schema/collections/reorder.mjs.map +1 -1
  307. package/dist/astro/routes/api/schema/index.mjs +17 -17
  308. package/dist/astro/routes/api/schema/index.mjs.map +1 -1
  309. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +71 -70
  310. package/dist/astro/routes/api/schema/orphans/_slug_.mjs.map +1 -1
  311. package/dist/astro/routes/api/schema/orphans/index.mjs +71 -70
  312. package/dist/astro/routes/api/schema/orphans/index.mjs.map +1 -1
  313. package/dist/astro/routes/api/search/enable.mjs +19 -19
  314. package/dist/astro/routes/api/search/index.mjs +18 -18
  315. package/dist/astro/routes/api/search/rebuild.mjs +19 -19
  316. package/dist/astro/routes/api/search/stats.mjs +9 -9
  317. package/dist/astro/routes/api/search/suggest.mjs +18 -18
  318. package/dist/astro/routes/api/sections/_slug_.mjs +18 -18
  319. package/dist/astro/routes/api/sections/index.mjs +18 -18
  320. package/dist/astro/routes/api/settings/backups/archives/_name_.mjs +8 -8
  321. package/dist/astro/routes/api/settings/backups/archives/index.mjs +8 -8
  322. package/dist/astro/routes/api/settings/backups/export.mjs +8 -8
  323. package/dist/astro/routes/api/settings/backups/index.mjs +9 -9
  324. package/dist/astro/routes/api/settings/domain-notify.d.mts +8 -0
  325. package/dist/astro/routes/api/settings/domain-notify.d.mts.map +1 -0
  326. package/dist/astro/routes/api/settings/domain-notify.mjs +125 -0
  327. package/dist/astro/routes/api/settings/domain-notify.mjs.map +1 -0
  328. package/dist/astro/routes/api/settings/domain.d.mts +9 -0
  329. package/dist/astro/routes/api/settings/domain.d.mts.map +1 -0
  330. package/dist/astro/routes/api/settings/domain.mjs +61 -0
  331. package/dist/astro/routes/api/settings/domain.mjs.map +1 -0
  332. package/dist/astro/routes/api/settings/email.mjs +7 -7
  333. package/dist/astro/routes/api/settings.mjs +22 -22
  334. package/dist/astro/routes/api/setup/admin-verify.mjs +21 -21
  335. package/dist/astro/routes/api/setup/admin.mjs +19 -19
  336. package/dist/astro/routes/api/setup/dev-bypass.mjs +43 -43
  337. package/dist/astro/routes/api/setup/dev-reset.mjs +5 -5
  338. package/dist/astro/routes/api/setup/index.d.mts.map +1 -1
  339. package/dist/astro/routes/api/setup/index.mjs +59 -50
  340. package/dist/astro/routes/api/setup/index.mjs.map +1 -1
  341. package/dist/astro/routes/api/setup/status.mjs +7 -7
  342. package/dist/astro/routes/api/site/domain-proof.d.mts +8 -0
  343. package/dist/astro/routes/api/site/domain-proof.d.mts.map +1 -0
  344. package/dist/astro/routes/api/site/domain-proof.mjs +33 -0
  345. package/dist/astro/routes/api/site/domain-proof.mjs.map +1 -0
  346. package/dist/astro/routes/api/snapshot.mjs +10 -10
  347. package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs +23 -23
  348. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +23 -23
  349. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +23 -23
  350. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +23 -23
  351. package/dist/astro/routes/api/taxonomies/_name_/translations.mjs +22 -22
  352. package/dist/astro/routes/api/taxonomies/_name_.mjs +23 -23
  353. package/dist/astro/routes/api/taxonomies/bulk-tag.mjs +36 -36
  354. package/dist/astro/routes/api/taxonomies/index.mjs +23 -23
  355. package/dist/astro/routes/api/themes/preview.mjs +8 -8
  356. package/dist/astro/routes/api/typegen.mjs +7 -7
  357. package/dist/astro/routes/api/visual-editing/action-token.mjs +8 -8
  358. package/dist/astro/routes/api/visual-editing/content/_collection_/_id_/publish.mjs +20 -20
  359. package/dist/astro/routes/api/visual-editing/toolbar-labels.mjs +5 -5
  360. package/dist/astro/routes/api/well-known/auth.mjs +1 -1
  361. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +2 -2
  362. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +2 -2
  363. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +17 -17
  364. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +19 -19
  365. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +19 -19
  366. package/dist/astro/routes/api/widget-areas/_name_.mjs +9 -9
  367. package/dist/astro/routes/api/widget-areas/index.mjs +19 -19
  368. package/dist/astro/routes/api/widget-components.mjs +6 -6
  369. package/dist/astro/routes/robots.txt.mjs +7 -7
  370. package/dist/astro/routes/sitemap-_collection_.xml.d.mts.map +1 -1
  371. package/dist/astro/routes/sitemap-_collection_.xml.mjs +30 -13
  372. package/dist/astro/routes/sitemap-_collection_.xml.mjs.map +1 -1
  373. package/dist/astro/routes/sitemap.xml.d.mts.map +1 -1
  374. package/dist/astro/routes/sitemap.xml.mjs +14 -13
  375. package/dist/astro/routes/sitemap.xml.mjs.map +1 -1
  376. package/dist/astro/types.d.mts +30 -18
  377. package/dist/astro/types.d.mts.map +1 -1
  378. package/dist/audit-CCH3MA4Y.mjs +127 -0
  379. package/dist/audit-CCH3MA4Y.mjs.map +1 -0
  380. package/dist/auth/providers/github.d.mts +1 -1
  381. package/dist/auth/providers/google.d.mts +1 -1
  382. package/dist/auth/providers/microsoft.d.mts +27 -0
  383. package/dist/auth/providers/microsoft.d.mts.map +1 -0
  384. package/dist/auth/providers/microsoft.mjs +20 -0
  385. package/dist/auth/providers/microsoft.mjs.map +1 -0
  386. package/dist/authoritative-records-Dcs7l2H5.mjs +5183 -0
  387. package/dist/authoritative-records-Dcs7l2H5.mjs.map +1 -0
  388. package/dist/authorize-TdIGpRSE.mjs +49 -0
  389. package/dist/authorize-TdIGpRSE.mjs.map +1 -0
  390. package/dist/backup-CZt5Mzwx.mjs +246 -0
  391. package/dist/backup-CZt5Mzwx.mjs.map +1 -0
  392. package/dist/base64-BQBZwXCx.mjs +63 -0
  393. package/dist/base64-BQBZwXCx.mjs.map +1 -0
  394. package/dist/block-types-DHnkzE6u.mjs +132 -0
  395. package/dist/block-types-DHnkzE6u.mjs.map +1 -0
  396. package/dist/block-values-C4N_F2-G.mjs +175 -0
  397. package/dist/block-values-C4N_F2-G.mjs.map +1 -0
  398. package/dist/byline-BmVKOQ8l.mjs +909 -0
  399. package/dist/byline-BmVKOQ8l.mjs.map +1 -0
  400. package/dist/byline-fields-B8SDs3M_.mjs +123 -0
  401. package/dist/byline-fields-B8SDs3M_.mjs.map +1 -0
  402. package/dist/byline-fields-Bze3ZdAw.mjs +280 -0
  403. package/dist/byline-fields-Bze3ZdAw.mjs.map +1 -0
  404. package/dist/bylines-CHhR28r9.mjs +150 -0
  405. package/dist/bylines-CHhR28r9.mjs.map +1 -0
  406. package/dist/bylines-DZS4OflA.mjs +234 -0
  407. package/dist/bylines-DZS4OflA.mjs.map +1 -0
  408. package/dist/cache-x0z8t_m9.mjs +133 -0
  409. package/dist/cache-x0z8t_m9.mjs.map +1 -0
  410. package/dist/canonical-BUcKRYpG.mjs +174 -0
  411. package/dist/canonical-BUcKRYpG.mjs.map +1 -0
  412. package/dist/capture-triggers-C9JKoIdT.mjs +362 -0
  413. package/dist/capture-triggers-C9JKoIdT.mjs.map +1 -0
  414. package/dist/challenge-store-BHgdPVze.mjs +51 -0
  415. package/dist/challenge-store-BHgdPVze.mjs.map +1 -0
  416. package/dist/checksum-BYR5i7qe.mjs +162 -0
  417. package/dist/checksum-BYR5i7qe.mjs.map +1 -0
  418. package/dist/chrome-tags-BIKBMZYO.mjs +24 -0
  419. package/dist/chrome-tags-BIKBMZYO.mjs.map +1 -0
  420. package/dist/chunks-Dr5Vr0zA.mjs +25 -0
  421. package/dist/chunks-Dr5Vr0zA.mjs.map +1 -0
  422. package/dist/cli/index.mjs +54 -52
  423. package/dist/cli/index.mjs.map +1 -1
  424. package/dist/client/cf-access.d.mts +1 -1
  425. package/dist/client/index.d.mts +34 -34
  426. package/dist/client/index.d.mts.map +1 -1
  427. package/dist/client/index.mjs +2 -2
  428. package/dist/client/index.mjs.map +1 -1
  429. package/dist/collection-slugs-cache-B2Gs9Jwx.mjs +85 -0
  430. package/dist/collection-slugs-cache-B2Gs9Jwx.mjs.map +1 -0
  431. package/dist/comment-CWla6OHV.mjs +325 -0
  432. package/dist/comment-CWla6OHV.mjs.map +1 -0
  433. package/dist/comment-reaction-RZrcs5cW.mjs +85 -0
  434. package/dist/comment-reaction-RZrcs5cW.mjs.map +1 -0
  435. package/dist/comments-BzmIKVb2.mjs +99 -0
  436. package/dist/comments-BzmIKVb2.mjs.map +1 -0
  437. package/dist/comments-Da_dI2O1.mjs +195 -0
  438. package/dist/comments-Da_dI2O1.mjs.map +1 -0
  439. package/dist/components-oFXumpf5.mjs +112 -0
  440. package/dist/components-oFXumpf5.mjs.map +1 -0
  441. package/dist/config--wamYxBW.d.mts +39 -0
  442. package/dist/config--wamYxBW.d.mts.map +1 -0
  443. package/dist/config-Bo4eOOdV.mjs +228 -0
  444. package/dist/config-Bo4eOOdV.mjs.map +1 -0
  445. package/dist/config-C4-UxIk7.d.mts +6790 -0
  446. package/dist/config-C4-UxIk7.d.mts.map +1 -0
  447. package/dist/connection-UpzYxtE2.mjs +36 -0
  448. package/dist/connection-UpzYxtE2.mjs.map +1 -0
  449. package/dist/content-CcHrqkgp.mjs +2072 -0
  450. package/dist/content-CcHrqkgp.mjs.map +1 -0
  451. package/dist/content-list-query-Bxxdd9fv.d.mts +26 -0
  452. package/dist/content-list-query-Bxxdd9fv.d.mts.map +1 -0
  453. package/dist/content-repair-havk1F0-.mjs +442 -0
  454. package/dist/content-repair-havk1F0-.mjs.map +1 -0
  455. package/dist/context-CvhgHgSH.mjs +2043 -0
  456. package/dist/context-CvhgHgSH.mjs.map +1 -0
  457. package/dist/credits-CygUrPOi.mjs +110 -0
  458. package/dist/credits-CygUrPOi.mjs.map +1 -0
  459. package/dist/cron-C6ytTOLw.mjs +306 -0
  460. package/dist/cron-C6ytTOLw.mjs.map +1 -0
  461. package/dist/dashboard-7_FYfafc.mjs +151 -0
  462. package/dist/dashboard-7_FYfafc.mjs.map +1 -0
  463. package/dist/db/index.d.mts +3 -3
  464. package/dist/db/index.mjs +1 -1
  465. package/dist/db/index.mjs.map +1 -1
  466. package/dist/db/libsql-migrations.d.mts +1 -1
  467. package/dist/db/libsql-migrations.mjs +5 -5
  468. package/dist/db/libsql.d.mts +1 -1
  469. package/dist/db/postgres-migrations.d.mts +1 -1
  470. package/dist/db/postgres-migrations.mjs +4 -4
  471. package/dist/db/postgres.d.mts +1 -1
  472. package/dist/db/sqlite-migrations.d.mts +1 -1
  473. package/dist/db/sqlite-migrations.mjs +4 -4
  474. package/dist/db/sqlite.d.mts +1 -1
  475. package/dist/db/sqlite.mjs +1 -1
  476. package/dist/default-CHCUkV4Z.mjs +81 -0
  477. package/dist/default-CHCUkV4Z.mjs.map +1 -0
  478. package/dist/deferred-tasks-G0xhcJTl.d.mts +9 -0
  479. package/dist/deferred-tasks-G0xhcJTl.d.mts.map +1 -0
  480. package/dist/dev-typegen-Dtl8AfS6.mjs +29 -0
  481. package/dist/dev-typegen-Dtl8AfS6.mjs.map +1 -0
  482. package/dist/device-flow-CzDJmQ1q.mjs +521 -0
  483. package/dist/device-flow-CzDJmQ1q.mjs.map +1 -0
  484. package/dist/digest-xJmyPv2r.mjs +194 -0
  485. package/dist/digest-xJmyPv2r.mjs.map +1 -0
  486. package/dist/direct-executor-BXiYIVJ9.mjs +104 -0
  487. package/dist/direct-executor-BXiYIVJ9.mjs.map +1 -0
  488. package/dist/email-console-7ZPApLlm.mjs +50 -0
  489. package/dist/email-console-7ZPApLlm.mjs.map +1 -0
  490. package/dist/email-locale-DFdUA6UF.mjs +25 -0
  491. package/dist/email-locale-DFdUA6UF.mjs.map +1 -0
  492. package/dist/emdash-runtime-C4oFeVpN.mjs +4363 -0
  493. package/dist/emdash-runtime-C4oFeVpN.mjs.map +1 -0
  494. package/dist/enrich-Duu4sV3a.mjs +194 -0
  495. package/dist/enrich-Duu4sV3a.mjs.map +1 -0
  496. package/dist/entry-lock-B4n0HdQ_.mjs +163 -0
  497. package/dist/entry-lock-B4n0HdQ_.mjs.map +1 -0
  498. package/dist/entry-lock-BAAlKYrz.d.mts +4566 -0
  499. package/dist/entry-lock-BAAlKYrz.d.mts.map +1 -0
  500. package/dist/entry-lock-Cjz0h45X.mjs +1209 -0
  501. package/dist/entry-lock-Cjz0h45X.mjs.map +1 -0
  502. package/dist/env-types-4bkF6Bqg.mjs +38 -0
  503. package/dist/env-types-4bkF6Bqg.mjs.map +1 -0
  504. package/dist/error-DxgQdaZ_.mjs +90 -0
  505. package/dist/error-DxgQdaZ_.mjs.map +1 -0
  506. package/dist/errors-CjtE5aWF.mjs +120 -0
  507. package/dist/errors-CjtE5aWF.mjs.map +1 -0
  508. package/dist/errors-hskQ0C8G.mjs +479 -0
  509. package/dist/errors-hskQ0C8G.mjs.map +1 -0
  510. package/dist/escape-ESFhYzwG.mjs +9 -0
  511. package/dist/escape-ESFhYzwG.mjs.map +1 -0
  512. package/dist/fence-vc3aHgRA.mjs +162 -0
  513. package/dist/fence-vc3aHgRA.mjs.map +1 -0
  514. package/dist/field-defs-cache-zoow36nz.mjs +77 -0
  515. package/dist/field-defs-cache-zoow36nz.mjs.map +1 -0
  516. package/dist/field-map-JD1wG0Tq.mjs +83 -0
  517. package/dist/field-map-JD1wG0Tq.mjs.map +1 -0
  518. package/dist/fts-manager-WJCN8uU6.mjs +443 -0
  519. package/dist/fts-manager-WJCN8uU6.mjs.map +1 -0
  520. package/dist/gc-CsGZiKdH.mjs +75 -0
  521. package/dist/gc-CsGZiKdH.mjs.map +1 -0
  522. package/dist/hash-C4DFoJ7Z.mjs +37 -0
  523. package/dist/hash-C4DFoJ7Z.mjs.map +1 -0
  524. package/dist/hook-result-CXjtMk7Q.d.mts +31 -0
  525. package/dist/hook-result-CXjtMk7Q.d.mts.map +1 -0
  526. package/dist/hreflang-BAma7iRr.mjs +105 -0
  527. package/dist/hreflang-BAma7iRr.mjs.map +1 -0
  528. package/dist/hreflang-BsYo4x_M.d.mts +50 -0
  529. package/dist/hreflang-BsYo4x_M.d.mts.map +1 -0
  530. package/dist/http-route-dispatch-C8G7hAK6.mjs +342 -0
  531. package/dist/http-route-dispatch-C8G7hAK6.mjs.map +1 -0
  532. package/dist/identity-BwBKM1fH.mjs +35 -0
  533. package/dist/identity-BwBKM1fH.mjs.map +1 -0
  534. package/dist/import-DJ3Z2wxE.mjs +2021 -0
  535. package/dist/import-DJ3Z2wxE.mjs.map +1 -0
  536. package/dist/index-DYsn97dY.d.mts +623 -0
  537. package/dist/index-DYsn97dY.d.mts.map +1 -0
  538. package/dist/index.d.mts +24 -24
  539. package/dist/index.mjs +99 -98
  540. package/dist/init-lock-BGmew3r1.mjs +56 -0
  541. package/dist/init-lock-BGmew3r1.mjs.map +1 -0
  542. package/dist/install-finalization-DCFnFSHv.mjs +58 -0
  543. package/dist/install-finalization-DCFnFSHv.mjs.map +1 -0
  544. package/dist/keys-CGvAndSp.mjs +61 -0
  545. package/dist/keys-CGvAndSp.mjs.map +1 -0
  546. package/dist/kinds-DT1W4T4Y.mjs +974 -0
  547. package/dist/kinds-DT1W4T4Y.mjs.map +1 -0
  548. package/dist/lifecycle-BzglCSY0.mjs +25 -0
  549. package/dist/lifecycle-BzglCSY0.mjs.map +1 -0
  550. package/dist/load-DjUqmf3s.mjs +28 -0
  551. package/dist/load-DjUqmf3s.mjs.map +1 -0
  552. package/dist/loader-CetY659y.mjs +1355 -0
  553. package/dist/loader-CetY659y.mjs.map +1 -0
  554. package/dist/loops-DkT1zkPH.mjs +205 -0
  555. package/dist/loops-DkT1zkPH.mjs.map +1 -0
  556. package/dist/manifest-builder-BOFCd9rX.mjs +189 -0
  557. package/dist/manifest-builder-BOFCd9rX.mjs.map +1 -0
  558. package/dist/manifest-schema-BiFBPEsp.mjs +497 -0
  559. package/dist/manifest-schema-BiFBPEsp.mjs.map +1 -0
  560. package/dist/marketplace-CUlenvZm.mjs +257 -0
  561. package/dist/marketplace-CUlenvZm.mjs.map +1 -0
  562. package/dist/media/image-endpoint.d.mts +26 -2
  563. package/dist/media/image-endpoint.d.mts.map +1 -1
  564. package/dist/media/image-endpoint.mjs +73 -3
  565. package/dist/media/image-endpoint.mjs.map +1 -1
  566. package/dist/media/index.d.mts +1 -1
  567. package/dist/media/index.mjs +1 -1
  568. package/dist/media/local-runtime.d.mts +14 -14
  569. package/dist/media/local-runtime.mjs +7 -7
  570. package/dist/media-CRKsKlfK.mjs +416 -0
  571. package/dist/media-CRKsKlfK.mjs.map +1 -0
  572. package/dist/media-C_z7sRuC.mjs +294 -0
  573. package/dist/media-C_z7sRuC.mjs.map +1 -0
  574. package/dist/media-IT8hQleU.mjs +373 -0
  575. package/dist/media-IT8hQleU.mjs.map +1 -0
  576. package/dist/media-allowlist-Ct6wvnT2.mjs +45 -0
  577. package/dist/media-allowlist-Ct6wvnT2.mjs.map +1 -0
  578. package/dist/media-folders-DtMt-vAA.mjs +210 -0
  579. package/dist/media-folders-DtMt-vAA.mjs.map +1 -0
  580. package/dist/media-url-BpXLqCmf.mjs +43 -0
  581. package/dist/media-url-BpXLqCmf.mjs.map +1 -0
  582. package/dist/media-usage-DEPHZZ9X.mjs +282 -0
  583. package/dist/media-usage-DEPHZZ9X.mjs.map +1 -0
  584. package/dist/media-usage-activation-V2Siabtw.mjs +78 -0
  585. package/dist/media-usage-activation-V2Siabtw.mjs.map +1 -0
  586. package/dist/media-usage-work-Cv1OE59F.mjs +151 -0
  587. package/dist/media-usage-work-Cv1OE59F.mjs.map +1 -0
  588. package/dist/media-usage-work-cgDYGvrt.mjs +1015 -0
  589. package/dist/media-usage-work-cgDYGvrt.mjs.map +1 -0
  590. package/dist/menus-CvVYfsuk.mjs +753 -0
  591. package/dist/menus-CvVYfsuk.mjs.map +1 -0
  592. package/dist/menus-D1HC8npj.mjs +92 -0
  593. package/dist/menus-D1HC8npj.mjs.map +1 -0
  594. package/dist/menus-DL8IPIcm.mjs +3721 -0
  595. package/dist/menus-DL8IPIcm.mjs.map +1 -0
  596. package/dist/migrations/index.d.mts +1 -1
  597. package/dist/migrations/index.mjs +3 -3
  598. package/dist/mime-B5M9R53H.mjs +81 -0
  599. package/dist/mime-B5M9R53H.mjs.map +1 -0
  600. package/dist/mode-eieqAWLe.mjs +23 -0
  601. package/dist/mode-eieqAWLe.mjs.map +1 -0
  602. package/dist/node-sqlite-compat-VuyzJw1b.mjs +63 -0
  603. package/dist/node-sqlite-compat-VuyzJw1b.mjs.map +1 -0
  604. package/dist/oauth-authorization-B6ZJbMd2.mjs +274 -0
  605. package/dist/oauth-authorization-B6ZJbMd2.mjs.map +1 -0
  606. package/dist/oauth-clients-DVjRc9v3.mjs +266 -0
  607. package/dist/oauth-clients-DVjRc9v3.mjs.map +1 -0
  608. package/dist/oauth-state-store-CnmYYsVQ.mjs +50 -0
  609. package/dist/oauth-state-store-CnmYYsVQ.mjs.map +1 -0
  610. package/dist/oauth-user-lookup-Dz1_R5vT.mjs +26 -0
  611. package/dist/oauth-user-lookup-Dz1_R5vT.mjs.map +1 -0
  612. package/dist/object-cache/memory.d.mts +1 -1
  613. package/dist/options-BR9XZl7h.d.mts +81 -0
  614. package/dist/options-BR9XZl7h.d.mts.map +1 -0
  615. package/dist/ownership-COPyVysP.mjs +12 -0
  616. package/dist/ownership-COPyVysP.mjs.map +1 -0
  617. package/dist/page/index.d.mts +2 -2
  618. package/dist/page/index.mjs +6 -6
  619. package/dist/parse-BOGhrwSq.d.mts +174 -0
  620. package/dist/parse-BOGhrwSq.d.mts.map +1 -0
  621. package/dist/parse-Cn5aSk1N.mjs +81 -0
  622. package/dist/parse-Cn5aSk1N.mjs.map +1 -0
  623. package/dist/passkey-config-mMFRQUCj.mjs +46 -0
  624. package/dist/passkey-config-mMFRQUCj.mjs.map +1 -0
  625. package/dist/paths-BmcAdBo9.mjs +77 -0
  626. package/dist/paths-BmcAdBo9.mjs.map +1 -0
  627. package/dist/patterns-CMNnYCgf.mjs +159 -0
  628. package/dist/patterns-CMNnYCgf.mjs.map +1 -0
  629. package/dist/placeholder-nOep3_Gn.d.mts +306 -0
  630. package/dist/placeholder-nOep3_Gn.d.mts.map +1 -0
  631. package/dist/plan-CDY4K8CH.mjs +135 -0
  632. package/dist/plan-CDY4K8CH.mjs.map +1 -0
  633. package/dist/plugin-test-runtime.d.mts +14 -14
  634. package/dist/plugin-test-runtime.d.mts.map +1 -1
  635. package/dist/plugin-test-runtime.mjs +111 -110
  636. package/dist/plugin-types.d.mts +2 -2
  637. package/dist/plugin-utils.d.mts +12 -12
  638. package/dist/plugin-utils.mjs +1 -1
  639. package/dist/plugin-utils.mjs.map +1 -1
  640. package/dist/plugins/adapt-sandbox-entry.d.mts +12 -12
  641. package/dist/plugins/adapt-sandbox-entry.mjs +3 -3
  642. package/dist/plugins/host.d.mts +5 -5
  643. package/dist/plugins/host.mjs +45 -44
  644. package/dist/plugins-DFBpfbO3.mjs +261 -0
  645. package/dist/plugins-DFBpfbO3.mjs.map +1 -0
  646. package/dist/policy-B_2qnHSy.mjs +45 -0
  647. package/dist/policy-B_2qnHSy.mjs.map +1 -0
  648. package/dist/portable-text-Dc2YAusw.mjs +307 -0
  649. package/dist/portable-text-Dc2YAusw.mjs.map +1 -0
  650. package/dist/preview-BtzikJ9O.mjs +107 -0
  651. package/dist/preview-BtzikJ9O.mjs.map +1 -0
  652. package/dist/protocol-M268ox8L.d.mts +61 -0
  653. package/dist/protocol-M268ox8L.d.mts.map +1 -0
  654. package/dist/public-submission-BQZavgZU.mjs +251 -0
  655. package/dist/public-submission-BQZavgZU.mjs.map +1 -0
  656. package/dist/public-url-uT1Ok2Tu.mjs +101 -0
  657. package/dist/public-url-uT1Ok2Tu.mjs.map +1 -0
  658. package/dist/query-BGG3sDEd.mjs +1127 -0
  659. package/dist/query-BGG3sDEd.mjs.map +1 -0
  660. package/dist/query-C_CWlifp.mjs +41 -0
  661. package/dist/query-C_CWlifp.mjs.map +1 -0
  662. package/dist/range-CXK_kDbI.mjs +51 -0
  663. package/dist/range-CXK_kDbI.mjs.map +1 -0
  664. package/dist/rate-limit-Dvamvay-.mjs +127 -0
  665. package/dist/rate-limit-Dvamvay-.mjs.map +1 -0
  666. package/dist/receipt-BmQGzquP.mjs +43 -0
  667. package/dist/receipt-BmQGzquP.mjs.map +1 -0
  668. package/dist/redirect-B39kTQ_0.mjs +423 -0
  669. package/dist/redirect-B39kTQ_0.mjs.map +1 -0
  670. package/dist/redirect-BguJ00Pv.mjs +19 -0
  671. package/dist/redirect-BguJ00Pv.mjs.map +1 -0
  672. package/dist/redirects-C8G4BsfP.mjs +446 -0
  673. package/dist/redirects-C8G4BsfP.mjs.map +1 -0
  674. package/dist/redirects-DFT7Wr-e.mjs +148 -0
  675. package/dist/redirects-DFT7Wr-e.mjs.map +1 -0
  676. package/dist/registry/testing.mjs +3 -3
  677. package/dist/registry-DeZ27gVi.mjs +8374 -0
  678. package/dist/registry-DeZ27gVi.mjs.map +1 -0
  679. package/dist/relations-DBB1bRJW.mjs +776 -0
  680. package/dist/relations-DBB1bRJW.mjs.map +1 -0
  681. package/dist/request-context.d.mts +2 -2
  682. package/dist/request-context.mjs.map +1 -1
  683. package/dist/request-meta-BSvkhIBX.mjs +141 -0
  684. package/dist/request-meta-BSvkhIBX.mjs.map +1 -0
  685. package/dist/resolve-BxH64HN9.mjs +100 -0
  686. package/dist/resolve-BxH64HN9.mjs.map +1 -0
  687. package/dist/revision-BWEH2qQB.mjs +368 -0
  688. package/dist/revision-BWEH2qQB.mjs.map +1 -0
  689. package/dist/route-wire-CwbWB_6O.mjs +197 -0
  690. package/dist/route-wire-CwbWB_6O.mjs.map +1 -0
  691. package/dist/routes-BfIxc7ft.mjs +272 -0
  692. package/dist/routes-BfIxc7ft.mjs.map +1 -0
  693. package/dist/runner-DkeafPBA.d.mts +68 -0
  694. package/dist/runner-DkeafPBA.d.mts.map +1 -0
  695. package/dist/runner-wqt4BrIW.mjs +6383 -0
  696. package/dist/runner-wqt4BrIW.mjs.map +1 -0
  697. package/dist/runtime.d.mts +13 -13
  698. package/dist/runtime.mjs +3 -3
  699. package/dist/schema/project-env-types.mjs +38 -38
  700. package/dist/schema-BXIW-JHi.mjs +815 -0
  701. package/dist/schema-BXIW-JHi.mjs.map +1 -0
  702. package/dist/schema-I74JwYte.mjs +13 -0
  703. package/dist/schema-I74JwYte.mjs.map +1 -0
  704. package/dist/scopes-RWZ5ft_Z.mjs +34 -0
  705. package/dist/scopes-RWZ5ft_Z.mjs.map +1 -0
  706. package/dist/search-DxwagyWS.mjs +450 -0
  707. package/dist/search-DxwagyWS.mjs.map +1 -0
  708. package/dist/secrets-Cc_O3Kp-.mjs +369 -0
  709. package/dist/secrets-Cc_O3Kp-.mjs.map +1 -0
  710. package/dist/sections-Ccq9ZgyD.mjs +346 -0
  711. package/dist/sections-Ccq9ZgyD.mjs.map +1 -0
  712. package/dist/seed/index.d.mts +2 -2
  713. package/dist/seed/index.mjs +36 -36
  714. package/dist/seo/index.d.mts +3 -3
  715. package/dist/seo/index.mjs +23 -23
  716. package/dist/seo-CCnfPWAQ.mjs +133 -0
  717. package/dist/seo-CCnfPWAQ.mjs.map +1 -0
  718. package/dist/seo-QCtJ1jjV.mjs +188 -0
  719. package/dist/seo-QCtJ1jjV.mjs.map +1 -0
  720. package/dist/service-DX84s2rw.mjs +150 -0
  721. package/dist/service-DX84s2rw.mjs.map +1 -0
  722. package/dist/session-user-1dtJc2zv.mjs +61 -0
  723. package/dist/session-user-1dtJc2zv.mjs.map +1 -0
  724. package/dist/settings-B1jOxAIl.mjs +443 -0
  725. package/dist/settings-B1jOxAIl.mjs.map +1 -0
  726. package/dist/settings-Bc1IBl1t.mjs +66 -0
  727. package/dist/settings-Bc1IBl1t.mjs.map +1 -0
  728. package/dist/settings-GaZ5sVgg.mjs +73 -0
  729. package/dist/settings-GaZ5sVgg.mjs.map +1 -0
  730. package/dist/setup-complete-DidMAWJS.mjs +65 -0
  731. package/dist/setup-complete-DidMAWJS.mjs.map +1 -0
  732. package/dist/setup-nonce-DKl4S4c6.mjs +25 -0
  733. package/dist/setup-nonce-DKl4S4c6.mjs.map +1 -0
  734. package/dist/single-flight-cache-D0EaGbN1.mjs +104 -0
  735. package/dist/single-flight-cache-D0EaGbN1.mjs.map +1 -0
  736. package/dist/site-domain-CbI51Pc2.mjs +113 -0
  737. package/dist/site-domain-CbI51Pc2.mjs.map +1 -0
  738. package/dist/site-settings-CDdT4mVm.mjs +50 -0
  739. package/dist/site-settings-CDdT4mVm.mjs.map +1 -0
  740. package/dist/site-url-CrDZaAvo.mjs +45 -0
  741. package/dist/site-url-CrDZaAvo.mjs.map +1 -0
  742. package/dist/sitemap-name-W3BTor6X.mjs +26 -0
  743. package/dist/sitemap-name-W3BTor6X.mjs.map +1 -0
  744. package/dist/slug-BJhHKoOH.mjs +16 -0
  745. package/dist/slug-BJhHKoOH.mjs.map +1 -0
  746. package/dist/slugify-bu2-jKia.mjs +22 -0
  747. package/dist/slugify-bu2-jKia.mjs.map +1 -0
  748. package/dist/snapshot-BuI_2uDe.mjs +414 -0
  749. package/dist/snapshot-BuI_2uDe.mjs.map +1 -0
  750. package/dist/ssrf-LM_0wpGA.mjs +406 -0
  751. package/dist/ssrf-LM_0wpGA.mjs.map +1 -0
  752. package/dist/stage-DhzZuYaT.mjs +662 -0
  753. package/dist/stage-DhzZuYaT.mjs.map +1 -0
  754. package/dist/staged-DboEaWsV.mjs +686 -0
  755. package/dist/staged-DboEaWsV.mjs.map +1 -0
  756. package/dist/state-DCXDzjHq.mjs +178 -0
  757. package/dist/state-DCXDzjHq.mjs.map +1 -0
  758. package/dist/status-Dl85BK39.mjs +30 -0
  759. package/dist/status-Dl85BK39.mjs.map +1 -0
  760. package/dist/storage/local.d.mts +2 -2
  761. package/dist/storage/local.d.mts.map +1 -1
  762. package/dist/storage/local.mjs +12 -5
  763. package/dist/storage/local.mjs.map +1 -1
  764. package/dist/storage/s3.d.mts +4 -2
  765. package/dist/storage/s3.d.mts.map +1 -1
  766. package/dist/storage/s3.mjs +56 -9
  767. package/dist/storage/s3.mjs.map +1 -1
  768. package/dist/storage-query-BOBmeDMD.d.mts +1615 -0
  769. package/dist/storage-query-BOBmeDMD.d.mts.map +1 -0
  770. package/dist/tar-K40edFMt.mjs +449 -0
  771. package/dist/tar-K40edFMt.mjs.map +1 -0
  772. package/dist/target-BOighEY1.mjs +27 -0
  773. package/dist/target-BOighEY1.mjs.map +1 -0
  774. package/dist/taxonomies-DQSywBvX.mjs +697 -0
  775. package/dist/taxonomies-DQSywBvX.mjs.map +1 -0
  776. package/dist/taxonomies-Dj5eaobC.mjs +939 -0
  777. package/dist/taxonomies-Dj5eaobC.mjs.map +1 -0
  778. package/dist/taxonomy-QrNmTfIZ.mjs +550 -0
  779. package/dist/taxonomy-QrNmTfIZ.mjs.map +1 -0
  780. package/dist/tokens-j5L0as2H.mjs +171 -0
  781. package/dist/tokens-j5L0as2H.mjs.map +1 -0
  782. package/dist/transfer-CYEw8Tu4.mjs +8873 -0
  783. package/dist/transfer-CYEw8Tu4.mjs.map +1 -0
  784. package/dist/transfer-DDX10hkD.mjs +166 -0
  785. package/dist/transfer-DDX10hkD.mjs.map +1 -0
  786. package/dist/transfer-download-BAqq6GJv.mjs +33 -0
  787. package/dist/transfer-download-BAqq6GJv.mjs.map +1 -0
  788. package/dist/transformations-De44wqV_.mjs +196 -0
  789. package/dist/transformations-De44wqV_.mjs.map +1 -0
  790. package/dist/transport-1QjUhCRO.d.mts +42 -0
  791. package/dist/transport-1QjUhCRO.d.mts.map +1 -0
  792. package/dist/transport-Ds5pVX7p.mjs +136 -0
  793. package/dist/transport-Ds5pVX7p.mjs.map +1 -0
  794. package/dist/trusted-proxy-d4Tk6biT.mjs +51 -0
  795. package/dist/trusted-proxy-d4Tk6biT.mjs.map +1 -0
  796. package/dist/turnstile-DaFLtyrs.mjs +58 -0
  797. package/dist/turnstile-DaFLtyrs.mjs.map +1 -0
  798. package/dist/types-B4-1P2DK.d.mts +227 -0
  799. package/dist/types-B4-1P2DK.d.mts.map +1 -0
  800. package/dist/types-BKXA0f-c.mjs +16 -0
  801. package/dist/types-BKXA0f-c.mjs.map +1 -0
  802. package/dist/types-BiHcpUoO.d.mts +374 -0
  803. package/dist/types-BiHcpUoO.d.mts.map +1 -0
  804. package/dist/types-BihhvkyN.d.mts +85 -0
  805. package/dist/types-BihhvkyN.d.mts.map +1 -0
  806. package/dist/types-Bq9Wohd7.d.mts +363 -0
  807. package/dist/types-Bq9Wohd7.d.mts.map +1 -0
  808. package/dist/types-C-Xp0CcN.mjs +103 -0
  809. package/dist/types-C-Xp0CcN.mjs.map +1 -0
  810. package/dist/types-C4P7F1Vq.d.mts +1741 -0
  811. package/dist/types-C4P7F1Vq.d.mts.map +1 -0
  812. package/dist/types-CGaqwHw4.mjs +37 -0
  813. package/dist/types-CGaqwHw4.mjs.map +1 -0
  814. package/dist/types-Cj0_yZkn.mjs +18 -0
  815. package/dist/types-Cj0_yZkn.mjs.map +1 -0
  816. package/dist/types-D4ECCE4X.mjs +77 -0
  817. package/dist/types-D4ECCE4X.mjs.map +1 -0
  818. package/dist/types-DcRJp0vS.d.mts +125 -0
  819. package/dist/types-DcRJp0vS.d.mts.map +1 -0
  820. package/dist/types-Ff85fTzU.d.mts +289 -0
  821. package/dist/types-Ff85fTzU.d.mts.map +1 -0
  822. package/dist/types-UKr5Sf4y.d.mts +916 -0
  823. package/dist/types-UKr5Sf4y.d.mts.map +1 -0
  824. package/dist/types-YpN8hZW7.d.mts +204 -0
  825. package/dist/types-YpN8hZW7.d.mts.map +1 -0
  826. package/dist/update-check-DrlsK-tt.mjs +161 -0
  827. package/dist/update-check-DrlsK-tt.mjs.map +1 -0
  828. package/dist/upload-attempts-D8CPPvRU.mjs +32 -0
  829. package/dist/upload-attempts-D8CPPvRU.mjs.map +1 -0
  830. package/dist/url-pattern-Di4Nn3vP.mjs +41 -0
  831. package/dist/url-pattern-Di4Nn3vP.mjs.map +1 -0
  832. package/dist/user-B-ZdGjhI.mjs +171 -0
  833. package/dist/user-B-ZdGjhI.mjs.map +1 -0
  834. package/dist/utils-D7wL3r6-.mjs +437 -0
  835. package/dist/utils-D7wL3r6-.mjs.map +1 -0
  836. package/dist/validate-BSZbSUDk.mjs +524 -0
  837. package/dist/validate-BSZbSUDk.mjs.map +1 -0
  838. package/dist/validate-Dfv0DpZi.d.mts +468 -0
  839. package/dist/validate-Dfv0DpZi.d.mts.map +1 -0
  840. package/dist/validation-DRyC_Vm5.mjs +219 -0
  841. package/dist/validation-DRyC_Vm5.mjs.map +1 -0
  842. package/dist/version-C4kz0PcO.mjs +7 -0
  843. package/dist/version-C4kz0PcO.mjs.map +1 -0
  844. package/dist/version-jhs2BRtl.mjs +9 -0
  845. package/dist/version-jhs2BRtl.mjs.map +1 -0
  846. package/dist/video-DReZ48Un.mjs +54 -0
  847. package/dist/video-DReZ48Un.mjs.map +1 -0
  848. package/dist/virtual-modules-D0e6VbEv.mjs +516 -0
  849. package/dist/virtual-modules-D0e6VbEv.mjs.map +1 -0
  850. package/dist/widgets-BkcMzKct.mjs +121 -0
  851. package/dist/widgets-BkcMzKct.mjs.map +1 -0
  852. package/dist/wxr-taxonomies-BxI0CbTg.mjs +453 -0
  853. package/dist/wxr-taxonomies-BxI0CbTg.mjs.map +1 -0
  854. package/dist/wxr-taxonomies-Dad33GJi.d.mts +34 -0
  855. package/dist/wxr-taxonomies-Dad33GJi.d.mts.map +1 -0
  856. package/dist/zod-generator-BQilAboC.mjs +424 -0
  857. package/dist/zod-generator-BQilAboC.mjs.map +1 -0
  858. package/package.json +19 -10
  859. package/src/api/errors.ts +12 -0
  860. package/src/api/handlers/api-tokens.ts +12 -6
  861. package/src/api/handlers/bylines.ts +24 -3
  862. package/src/api/handlers/calendar.ts +246 -0
  863. package/src/api/handlers/content.ts +69 -13
  864. package/src/api/handlers/domain-move-notice.ts +94 -0
  865. package/src/api/handlers/index.ts +2 -0
  866. package/src/api/handlers/manifest.ts +5 -0
  867. package/src/api/handlers/media-allowlist.ts +1 -0
  868. package/src/api/handlers/media-upload.ts +13 -10
  869. package/src/api/handlers/media-usage.ts +2 -1
  870. package/src/api/handlers/media.ts +1 -0
  871. package/src/api/handlers/plugins.ts +21 -29
  872. package/src/api/handlers/redirects.ts +6 -6
  873. package/src/api/handlers/seo.ts +155 -59
  874. package/src/api/handlers/settings.ts +31 -1
  875. package/src/api/handlers/site-domain.ts +143 -0
  876. package/src/api/openapi/document.ts +2 -2
  877. package/src/api/public-url.ts +1 -1
  878. package/src/api/schemas/bylines.ts +3 -1
  879. package/src/api/schemas/content.ts +36 -0
  880. package/src/api/schemas/media-usage.ts +7 -1
  881. package/src/api/schemas/media.ts +12 -0
  882. package/src/api/site-url.ts +53 -5
  883. package/src/api/types.ts +2 -0
  884. package/src/astro/image-endpoint.ts +46 -4
  885. package/src/astro/integration/admin-locales.ts +168 -0
  886. package/src/astro/integration/dev-env.ts +84 -0
  887. package/src/astro/integration/index.ts +67 -10
  888. package/src/astro/integration/routes.ts +25 -0
  889. package/src/astro/integration/runtime.ts +15 -0
  890. package/src/astro/integration/vite-config.ts +29 -1
  891. package/src/astro/middleware/auth.ts +16 -3
  892. package/src/astro/middleware/csp.ts +2 -0
  893. package/src/astro/middleware/redirect.ts +47 -21
  894. package/src/astro/middleware/request-context.ts +64 -31
  895. package/src/astro/middleware.ts +150 -26
  896. package/src/astro/prefetch.ts +10 -3
  897. package/src/astro/routes/api/admin/bylines/[id]/translations.ts +0 -5
  898. package/src/astro/routes/api/admin/bylines/index.ts +1 -1
  899. package/src/astro/routes/api/admin/plugins/[id]/index.ts +1 -0
  900. package/src/astro/routes/api/auth/handover.ts +58 -0
  901. package/src/astro/routes/api/auth/magic-link/verify.ts +11 -3
  902. package/src/astro/routes/api/auth/oauth/[provider]/callback.ts +56 -4
  903. package/src/astro/routes/api/auth/oauth/[provider].ts +37 -4
  904. package/src/astro/routes/api/auth/passkey/options.ts +10 -2
  905. package/src/astro/routes/api/calendar.ts +35 -0
  906. package/src/astro/routes/api/import/wordpress/execute.ts +19 -0
  907. package/src/astro/routes/api/import/wordpress/rewrite-url-helpers.ts +80 -42
  908. package/src/astro/routes/api/import/wordpress-plugin/execute.ts +15 -0
  909. package/src/astro/routes/api/manifest.ts +10 -0
  910. package/src/astro/routes/api/media/[id]/confirm.ts +19 -0
  911. package/src/astro/routes/api/media/file/[...key].ts +60 -12
  912. package/src/astro/routes/api/media/upload-url.ts +35 -7
  913. package/src/astro/routes/api/media.ts +24 -5
  914. package/src/astro/routes/api/schema/index.ts +1 -1
  915. package/src/astro/routes/api/settings/domain-notify.ts +76 -0
  916. package/src/astro/routes/api/settings/domain.ts +63 -0
  917. package/src/astro/routes/api/setup/index.ts +21 -2
  918. package/src/astro/routes/api/site/domain-proof.ts +28 -0
  919. package/src/astro/routes/sitemap-[collection].xml.ts +31 -8
  920. package/src/astro/routes/sitemap.xml.ts +12 -10
  921. package/src/astro/types.ts +13 -1
  922. package/src/auth/providers/microsoft-admin.tsx +31 -0
  923. package/src/auth/providers/microsoft.ts +47 -0
  924. package/src/auth/rate-limit.ts +18 -13
  925. package/src/auth/types.ts +7 -0
  926. package/src/aws-sdk.d.ts +2 -1
  927. package/src/cleanup.ts +26 -0
  928. package/src/cli/commands/export-seed.ts +2 -0
  929. package/src/cli/commands/seed.ts +5 -4
  930. package/src/client/index.ts +6 -1
  931. package/src/comments/public-submission.ts +15 -8
  932. package/src/comments/turnstile.ts +6 -1
  933. package/src/components/CommentForm.astro +48 -8
  934. package/src/components/Comments.astro +50 -28
  935. package/src/components/EmDashImage.astro +6 -4
  936. package/src/components/Gallery.astro +4 -3
  937. package/src/components/HtmlBlock.astro +17 -6
  938. package/src/components/HtmlBlockFrame.astro +63 -0
  939. package/src/components/Iframe.astro +141 -0
  940. package/src/components/Image.astro +4 -3
  941. package/src/components/InlinePortableTextEditor.tsx +156 -33
  942. package/src/components/Video.astro +100 -0
  943. package/src/components/WebMcpSearch.astro +80 -0
  944. package/src/components/index.ts +8 -2
  945. package/src/components/inline-code-block.tsx +8 -0
  946. package/src/components/webmcp-search.ts +138 -0
  947. package/src/components/widgets/RecentPosts.astro +57 -17
  948. package/src/config/secrets.ts +27 -15
  949. package/src/content/converters/mark-safety.ts +3 -3
  950. package/src/content/converters/portable-text-identity.ts +2 -0
  951. package/src/content/converters/portable-text-to-prosemirror.ts +43 -2
  952. package/src/content/converters/prosemirror-to-portable-text.ts +44 -2
  953. package/src/content/converters/types.ts +46 -0
  954. package/src/content/converters/video.ts +77 -0
  955. package/src/database/content-datetime.ts +11 -4
  956. package/src/database/datetime-storage.ts +1 -1
  957. package/src/database/migrations/090_redirect_enable_loop_guard.ts +70 -0
  958. package/src/database/migrations/091_redirect_artifacts.ts +141 -0
  959. package/src/database/migrations/runner.ts +17 -1
  960. package/src/database/repositories/comment.ts +17 -3
  961. package/src/database/repositories/content.ts +103 -29
  962. package/src/database/repositories/plugin-storage.ts +28 -19
  963. package/src/database/repositories/redirect.ts +30 -3
  964. package/src/database/repositories/taxonomy.ts +61 -46
  965. package/src/database/repositories/types.ts +2 -0
  966. package/src/database/request-scoped.ts +34 -0
  967. package/src/database/types.ts +23 -0
  968. package/src/db/adapters.ts +2 -0
  969. package/src/emdash-runtime.ts +245 -71
  970. package/src/import/menus.ts +3 -0
  971. package/src/import/sources/wordpress-plugin.ts +3 -2
  972. package/src/import/utils.ts +2 -3
  973. package/src/index.ts +4 -0
  974. package/src/loader.ts +360 -98
  975. package/src/mcp/server.ts +12 -4
  976. package/src/media/image-endpoint.ts +101 -1
  977. package/src/media/mime.ts +21 -0
  978. package/src/media/responsive.ts +14 -7
  979. package/src/media/usage/extractor.ts +19 -2
  980. package/src/media/usage/types.ts +5 -1
  981. package/src/menus/index.ts +30 -26
  982. package/src/plugin-utils.ts +1 -1
  983. package/src/plugins/context.ts +3 -7
  984. package/src/plugins/hooks.ts +11 -1
  985. package/src/plugins/http-route-dispatch.ts +5 -1
  986. package/src/plugins/manager.ts +12 -2
  987. package/src/plugins/manifest-schema.ts +1 -0
  988. package/src/plugins/route-error.ts +14 -0
  989. package/src/plugins/routes.ts +2 -2
  990. package/src/plugins/state.ts +36 -0
  991. package/src/plugins/types.ts +22 -0
  992. package/src/query.ts +20 -29
  993. package/src/redirects/artifacts.ts +460 -0
  994. package/src/redirects/cache.ts +76 -41
  995. package/src/redirects/patterns.ts +26 -2
  996. package/src/request-context.ts +1 -1
  997. package/src/schema/registry.ts +7 -4
  998. package/src/schema/slug.ts +19 -0
  999. package/src/search/text-extraction.ts +6 -1
  1000. package/src/seed/apply.ts +65 -57
  1001. package/src/seed/validate.ts +31 -0
  1002. package/src/seo/sitemap-name.ts +22 -0
  1003. package/src/settings/index.ts +17 -12
  1004. package/src/storage/index.ts +2 -0
  1005. package/src/storage/local.ts +10 -2
  1006. package/src/storage/range.ts +54 -0
  1007. package/src/storage/s3.ts +52 -8
  1008. package/src/storage/types.ts +30 -3
  1009. package/src/transfer/format/columns.ts +3 -0
  1010. package/src/transfer/import/rebuild.ts +17 -2
  1011. package/src/transfer/import/scaffold.ts +16 -9
  1012. package/src/ui.ts +2 -0
  1013. package/src/utils/sanitize.ts +14 -9
  1014. package/src/utils/slugify.ts +6 -1
  1015. package/src/virtual-modules.d.ts +3 -0
  1016. package/src/visual-editing/toolbar.ts +80 -35
  1017. package/src/widgets/components.ts +4 -0
  1018. package/src/widgets/index.ts +74 -82
  1019. package/src/widgets/recent-posts.ts +62 -0
  1020. package/dist/action-token-D2KE1Rqf.mjs +0 -26
  1021. package/dist/action-token-D2KE1Rqf.mjs.map +0 -1
  1022. package/dist/activation-DDuqAat2.mjs +0 -387
  1023. package/dist/activation-DDuqAat2.mjs.map +0 -1
  1024. package/dist/adapters-Ds-1Pmkm.d.mts +0 -171
  1025. package/dist/adapters-Ds-1Pmkm.d.mts.map +0 -1
  1026. package/dist/allowed-origins-D78QvbTO.mjs +0 -116
  1027. package/dist/allowed-origins-D78QvbTO.mjs.map +0 -1
  1028. package/dist/api-BBZlif0y.mjs +0 -4974
  1029. package/dist/api-BBZlif0y.mjs.map +0 -1
  1030. package/dist/api-tokens-BGbfWZVO.mjs +0 -166
  1031. package/dist/api-tokens-BGbfWZVO.mjs.map +0 -1
  1032. package/dist/apply-CDNV4JJ-.mjs +0 -1672
  1033. package/dist/apply-CDNV4JJ-.mjs.map +0 -1
  1034. package/dist/approvals-CVvJSEBF.mjs +0 -460
  1035. package/dist/approvals-CVvJSEBF.mjs.map +0 -1
  1036. package/dist/artifact-fetch-CGK0DQLj.mjs +0 -659
  1037. package/dist/artifact-fetch-CGK0DQLj.mjs.map +0 -1
  1038. package/dist/audit-BszbE_BP.mjs +0 -127
  1039. package/dist/audit-BszbE_BP.mjs.map +0 -1
  1040. package/dist/authoritative-records-ChM8dTeV.mjs +0 -5172
  1041. package/dist/authoritative-records-ChM8dTeV.mjs.map +0 -1
  1042. package/dist/authorize-CTGywswM.mjs +0 -49
  1043. package/dist/authorize-CTGywswM.mjs.map +0 -1
  1044. package/dist/backup-CDrPP8fI.mjs +0 -246
  1045. package/dist/backup-CDrPP8fI.mjs.map +0 -1
  1046. package/dist/base64-DvnNgP7e.mjs +0 -63
  1047. package/dist/base64-DvnNgP7e.mjs.map +0 -1
  1048. package/dist/block-types-nNEaPkvx.mjs +0 -132
  1049. package/dist/block-types-nNEaPkvx.mjs.map +0 -1
  1050. package/dist/block-values-Bho1nsZF.mjs +0 -175
  1051. package/dist/block-values-Bho1nsZF.mjs.map +0 -1
  1052. package/dist/byline-02tu_Uc-.mjs +0 -909
  1053. package/dist/byline-02tu_Uc-.mjs.map +0 -1
  1054. package/dist/byline-fields-BYbTptTU.mjs +0 -280
  1055. package/dist/byline-fields-BYbTptTU.mjs.map +0 -1
  1056. package/dist/byline-fields-BjQH-1z9.mjs +0 -123
  1057. package/dist/byline-fields-BjQH-1z9.mjs.map +0 -1
  1058. package/dist/bylines-VytjeHBI.mjs +0 -214
  1059. package/dist/bylines-VytjeHBI.mjs.map +0 -1
  1060. package/dist/bylines-gyWBWUUc.mjs +0 -150
  1061. package/dist/bylines-gyWBWUUc.mjs.map +0 -1
  1062. package/dist/cache-CPanL9IO.mjs +0 -114
  1063. package/dist/cache-CPanL9IO.mjs.map +0 -1
  1064. package/dist/canonical-CAecl1UQ.mjs +0 -174
  1065. package/dist/canonical-CAecl1UQ.mjs.map +0 -1
  1066. package/dist/capture-triggers-CdZfvHtF.mjs +0 -362
  1067. package/dist/capture-triggers-CdZfvHtF.mjs.map +0 -1
  1068. package/dist/challenge-store-VePApay4.mjs +0 -51
  1069. package/dist/challenge-store-VePApay4.mjs.map +0 -1
  1070. package/dist/checksum-BSIhEAYW.mjs +0 -162
  1071. package/dist/checksum-BSIhEAYW.mjs.map +0 -1
  1072. package/dist/chrome-tags-CKELm-bo.mjs +0 -24
  1073. package/dist/chrome-tags-CKELm-bo.mjs.map +0 -1
  1074. package/dist/chunks-DBmkKmBH.mjs +0 -25
  1075. package/dist/chunks-DBmkKmBH.mjs.map +0 -1
  1076. package/dist/collection-slugs-cache-BNRAPNiu.mjs +0 -85
  1077. package/dist/collection-slugs-cache-BNRAPNiu.mjs.map +0 -1
  1078. package/dist/comment-Cq1UYN8_.mjs +0 -313
  1079. package/dist/comment-Cq1UYN8_.mjs.map +0 -1
  1080. package/dist/comment-reaction-B5sZzSoA.mjs +0 -85
  1081. package/dist/comment-reaction-B5sZzSoA.mjs.map +0 -1
  1082. package/dist/comments-B3F-ETyh.mjs +0 -195
  1083. package/dist/comments-B3F-ETyh.mjs.map +0 -1
  1084. package/dist/comments-zrTgWBSg.mjs +0 -99
  1085. package/dist/comments-zrTgWBSg.mjs.map +0 -1
  1086. package/dist/components-Dbf4Eq16.mjs +0 -108
  1087. package/dist/components-Dbf4Eq16.mjs.map +0 -1
  1088. package/dist/config-BCM5sQP7.d.mts +0 -6688
  1089. package/dist/config-BCM5sQP7.d.mts.map +0 -1
  1090. package/dist/config-CXPcy2iY.mjs +0 -228
  1091. package/dist/config-CXPcy2iY.mjs.map +0 -1
  1092. package/dist/config-CZkZBuBK.d.mts +0 -39
  1093. package/dist/config-CZkZBuBK.d.mts.map +0 -1
  1094. package/dist/connection-C5GIciX9.mjs +0 -36
  1095. package/dist/connection-C5GIciX9.mjs.map +0 -1
  1096. package/dist/content-RzEXY3QX.mjs +0 -2020
  1097. package/dist/content-RzEXY3QX.mjs.map +0 -1
  1098. package/dist/content-list-query-B6P37Ug_.d.mts +0 -26
  1099. package/dist/content-list-query-B6P37Ug_.d.mts.map +0 -1
  1100. package/dist/content-repair-BDVsYXWK.mjs +0 -442
  1101. package/dist/content-repair-BDVsYXWK.mjs.map +0 -1
  1102. package/dist/context-BpTIzY5h.mjs +0 -2026
  1103. package/dist/context-BpTIzY5h.mjs.map +0 -1
  1104. package/dist/credits-JOE92Gr7.mjs +0 -110
  1105. package/dist/credits-JOE92Gr7.mjs.map +0 -1
  1106. package/dist/cron-ktyapbdB.mjs +0 -306
  1107. package/dist/cron-ktyapbdB.mjs.map +0 -1
  1108. package/dist/dashboard-BoV4pwPP.mjs +0 -151
  1109. package/dist/dashboard-BoV4pwPP.mjs.map +0 -1
  1110. package/dist/default-B7KnYwtQ.mjs +0 -81
  1111. package/dist/default-B7KnYwtQ.mjs.map +0 -1
  1112. package/dist/deferred-tasks-eaUIqXj8.d.mts +0 -9
  1113. package/dist/deferred-tasks-eaUIqXj8.d.mts.map +0 -1
  1114. package/dist/dev-typegen-8JlYYFno.mjs +0 -29
  1115. package/dist/dev-typegen-8JlYYFno.mjs.map +0 -1
  1116. package/dist/device-flow-BlV_z24g.mjs +0 -521
  1117. package/dist/device-flow-BlV_z24g.mjs.map +0 -1
  1118. package/dist/digest-DiYAoZpf.mjs +0 -194
  1119. package/dist/digest-DiYAoZpf.mjs.map +0 -1
  1120. package/dist/direct-executor-Db8xA3zg.mjs +0 -104
  1121. package/dist/direct-executor-Db8xA3zg.mjs.map +0 -1
  1122. package/dist/email-console-Dm78wSmg.mjs +0 -50
  1123. package/dist/email-console-Dm78wSmg.mjs.map +0 -1
  1124. package/dist/email-locale-B4X9LXe9.mjs +0 -25
  1125. package/dist/email-locale-B4X9LXe9.mjs.map +0 -1
  1126. package/dist/emdash-runtime-BakQ6io7.mjs +0 -4239
  1127. package/dist/emdash-runtime-BakQ6io7.mjs.map +0 -1
  1128. package/dist/enrich-BDdVNeDK.mjs +0 -194
  1129. package/dist/enrich-BDdVNeDK.mjs.map +0 -1
  1130. package/dist/entry-lock-DY8B-xcr.d.mts +0 -4544
  1131. package/dist/entry-lock-DY8B-xcr.d.mts.map +0 -1
  1132. package/dist/entry-lock-DrUAdTzf.mjs +0 -163
  1133. package/dist/entry-lock-DrUAdTzf.mjs.map +0 -1
  1134. package/dist/entry-lock-yIkBduqJ.mjs +0 -1180
  1135. package/dist/entry-lock-yIkBduqJ.mjs.map +0 -1
  1136. package/dist/env-types-DkHYR2pl.mjs +0 -38
  1137. package/dist/env-types-DkHYR2pl.mjs.map +0 -1
  1138. package/dist/error-DIYXAVk4.mjs +0 -90
  1139. package/dist/error-DIYXAVk4.mjs.map +0 -1
  1140. package/dist/errors-CNvATh_7.mjs +0 -469
  1141. package/dist/errors-CNvATh_7.mjs.map +0 -1
  1142. package/dist/errors-CjXd1LgH.mjs +0 -120
  1143. package/dist/errors-CjXd1LgH.mjs.map +0 -1
  1144. package/dist/escape-B1GM0yJU.mjs +0 -9
  1145. package/dist/escape-B1GM0yJU.mjs.map +0 -1
  1146. package/dist/fence-8MaKKWhp.mjs +0 -162
  1147. package/dist/fence-8MaKKWhp.mjs.map +0 -1
  1148. package/dist/field-defs-cache-DEkFYCDE.mjs +0 -77
  1149. package/dist/field-defs-cache-DEkFYCDE.mjs.map +0 -1
  1150. package/dist/field-map-D7ioN0r0.mjs +0 -83
  1151. package/dist/field-map-D7ioN0r0.mjs.map +0 -1
  1152. package/dist/fts-manager-DU03MxWu.mjs +0 -443
  1153. package/dist/fts-manager-DU03MxWu.mjs.map +0 -1
  1154. package/dist/gc-DMiE7ezk.mjs +0 -75
  1155. package/dist/gc-DMiE7ezk.mjs.map +0 -1
  1156. package/dist/hash-CY4QdeMJ.mjs +0 -37
  1157. package/dist/hash-CY4QdeMJ.mjs.map +0 -1
  1158. package/dist/hook-result-Cb67D3P3.d.mts +0 -31
  1159. package/dist/hook-result-Cb67D3P3.d.mts.map +0 -1
  1160. package/dist/hreflang-Bterc3b7.mjs +0 -105
  1161. package/dist/hreflang-Bterc3b7.mjs.map +0 -1
  1162. package/dist/hreflang-uIBOE5yg.d.mts +0 -50
  1163. package/dist/hreflang-uIBOE5yg.d.mts.map +0 -1
  1164. package/dist/http-route-dispatch-DubjTibD.mjs +0 -339
  1165. package/dist/http-route-dispatch-DubjTibD.mjs.map +0 -1
  1166. package/dist/identity-DJ-5AcdG.mjs +0 -35
  1167. package/dist/identity-DJ-5AcdG.mjs.map +0 -1
  1168. package/dist/import-DEfuIgRz.mjs +0 -2020
  1169. package/dist/import-DEfuIgRz.mjs.map +0 -1
  1170. package/dist/index-xCy3j0f6.d.mts +0 -623
  1171. package/dist/index-xCy3j0f6.d.mts.map +0 -1
  1172. package/dist/init-lock-4eRRB4Le.mjs +0 -56
  1173. package/dist/init-lock-4eRRB4Le.mjs.map +0 -1
  1174. package/dist/install-finalization-DeGRbaVa.mjs +0 -58
  1175. package/dist/install-finalization-DeGRbaVa.mjs.map +0 -1
  1176. package/dist/keys-DWwMxdZh.mjs +0 -61
  1177. package/dist/keys-DWwMxdZh.mjs.map +0 -1
  1178. package/dist/kinds-D1A-00-F.mjs +0 -974
  1179. package/dist/kinds-D1A-00-F.mjs.map +0 -1
  1180. package/dist/lifecycle-BWtBGNEn.mjs +0 -25
  1181. package/dist/lifecycle-BWtBGNEn.mjs.map +0 -1
  1182. package/dist/load-BR1NEa_3.mjs +0 -28
  1183. package/dist/load-BR1NEa_3.mjs.map +0 -1
  1184. package/dist/loader-D4edocWH.mjs +0 -1197
  1185. package/dist/loader-D4edocWH.mjs.map +0 -1
  1186. package/dist/loops-DLaHFrvI.mjs +0 -205
  1187. package/dist/loops-DLaHFrvI.mjs.map +0 -1
  1188. package/dist/manifest-builder-8jsSLR7s.mjs +0 -189
  1189. package/dist/manifest-builder-8jsSLR7s.mjs.map +0 -1
  1190. package/dist/manifest-schema-DcZjRNEv.mjs +0 -496
  1191. package/dist/manifest-schema-DcZjRNEv.mjs.map +0 -1
  1192. package/dist/marketplace-CNxjq10S.mjs +0 -257
  1193. package/dist/marketplace-CNxjq10S.mjs.map +0 -1
  1194. package/dist/media-3v7mqAVX.mjs +0 -294
  1195. package/dist/media-3v7mqAVX.mjs.map +0 -1
  1196. package/dist/media-Bs6qmlVl.mjs +0 -408
  1197. package/dist/media-Bs6qmlVl.mjs.map +0 -1
  1198. package/dist/media-CputjGE1.mjs +0 -373
  1199. package/dist/media-CputjGE1.mjs.map +0 -1
  1200. package/dist/media-allowlist-isqF1gAh.mjs +0 -44
  1201. package/dist/media-allowlist-isqF1gAh.mjs.map +0 -1
  1202. package/dist/media-folders-D2VdVBf6.mjs +0 -210
  1203. package/dist/media-folders-D2VdVBf6.mjs.map +0 -1
  1204. package/dist/media-url-DbkMY3y6.mjs +0 -43
  1205. package/dist/media-url-DbkMY3y6.mjs.map +0 -1
  1206. package/dist/media-usage-activation-BaT4AlNI.mjs +0 -78
  1207. package/dist/media-usage-activation-BaT4AlNI.mjs.map +0 -1
  1208. package/dist/media-usage-v43L0kR_.mjs +0 -282
  1209. package/dist/media-usage-v43L0kR_.mjs.map +0 -1
  1210. package/dist/media-usage-work-CY8gIeU-.mjs +0 -151
  1211. package/dist/media-usage-work-CY8gIeU-.mjs.map +0 -1
  1212. package/dist/media-usage-work-VO108Q9E.mjs +0 -1015
  1213. package/dist/media-usage-work-VO108Q9E.mjs.map +0 -1
  1214. package/dist/menus-BYyeRemR.mjs +0 -3647
  1215. package/dist/menus-BYyeRemR.mjs.map +0 -1
  1216. package/dist/menus-mC_XTxD7.mjs +0 -92
  1217. package/dist/menus-mC_XTxD7.mjs.map +0 -1
  1218. package/dist/menus-trvc6_fW.mjs +0 -753
  1219. package/dist/menus-trvc6_fW.mjs.map +0 -1
  1220. package/dist/mime-IZf-LHIS.mjs +0 -36
  1221. package/dist/mime-IZf-LHIS.mjs.map +0 -1
  1222. package/dist/mode-B9-gMXL9.mjs +0 -23
  1223. package/dist/mode-B9-gMXL9.mjs.map +0 -1
  1224. package/dist/node-sqlite-compat-DztcWs4y.mjs +0 -63
  1225. package/dist/node-sqlite-compat-DztcWs4y.mjs.map +0 -1
  1226. package/dist/oauth-authorization-BIHy9SGU.mjs +0 -274
  1227. package/dist/oauth-authorization-BIHy9SGU.mjs.map +0 -1
  1228. package/dist/oauth-clients-BZWZvKXa.mjs +0 -266
  1229. package/dist/oauth-clients-BZWZvKXa.mjs.map +0 -1
  1230. package/dist/oauth-state-store-CxXTjXdI.mjs +0 -50
  1231. package/dist/oauth-state-store-CxXTjXdI.mjs.map +0 -1
  1232. package/dist/oauth-user-lookup-GWojfxRl.mjs +0 -26
  1233. package/dist/oauth-user-lookup-GWojfxRl.mjs.map +0 -1
  1234. package/dist/options-DRF6dlXY.d.mts +0 -81
  1235. package/dist/options-DRF6dlXY.d.mts.map +0 -1
  1236. package/dist/ownership-Bd77AmJz.mjs +0 -12
  1237. package/dist/ownership-Bd77AmJz.mjs.map +0 -1
  1238. package/dist/parse-5Y0W39xR.mjs +0 -81
  1239. package/dist/parse-5Y0W39xR.mjs.map +0 -1
  1240. package/dist/parse-BPblgoa-.d.mts +0 -172
  1241. package/dist/parse-BPblgoa-.d.mts.map +0 -1
  1242. package/dist/passkey-config-PiQ5cBnt.mjs +0 -46
  1243. package/dist/passkey-config-PiQ5cBnt.mjs.map +0 -1
  1244. package/dist/paths-DkS74lBM.mjs +0 -77
  1245. package/dist/paths-DkS74lBM.mjs.map +0 -1
  1246. package/dist/patterns-DyZJ67I7.mjs +0 -140
  1247. package/dist/patterns-DyZJ67I7.mjs.map +0 -1
  1248. package/dist/placeholder-Bez2282x.d.mts +0 -306
  1249. package/dist/placeholder-Bez2282x.d.mts.map +0 -1
  1250. package/dist/plan-Lw7iGnGD.mjs +0 -135
  1251. package/dist/plan-Lw7iGnGD.mjs.map +0 -1
  1252. package/dist/plugins-D7xSh1Lu.mjs +0 -277
  1253. package/dist/plugins-D7xSh1Lu.mjs.map +0 -1
  1254. package/dist/policy-DMRiMdLn.mjs +0 -45
  1255. package/dist/policy-DMRiMdLn.mjs.map +0 -1
  1256. package/dist/portable-text-kcyN3F-a.mjs +0 -307
  1257. package/dist/portable-text-kcyN3F-a.mjs.map +0 -1
  1258. package/dist/preview--2VDLaND.mjs +0 -107
  1259. package/dist/preview--2VDLaND.mjs.map +0 -1
  1260. package/dist/protocol-FvwLA8P-.d.mts +0 -61
  1261. package/dist/protocol-FvwLA8P-.d.mts.map +0 -1
  1262. package/dist/public-submission-BRyK76U8.mjs +0 -250
  1263. package/dist/public-submission-BRyK76U8.mjs.map +0 -1
  1264. package/dist/public-url-7j0cpCFc.mjs +0 -101
  1265. package/dist/public-url-7j0cpCFc.mjs.map +0 -1
  1266. package/dist/query-BRNTde3V.mjs +0 -41
  1267. package/dist/query-BRNTde3V.mjs.map +0 -1
  1268. package/dist/query-DyYYWOKk.mjs +0 -1161
  1269. package/dist/query-DyYYWOKk.mjs.map +0 -1
  1270. package/dist/rate-limit-D0BcE76H.mjs +0 -120
  1271. package/dist/rate-limit-D0BcE76H.mjs.map +0 -1
  1272. package/dist/receipt-C4icyHlC.mjs +0 -43
  1273. package/dist/receipt-C4icyHlC.mjs.map +0 -1
  1274. package/dist/redirect-9DbtxSNG.mjs +0 -19
  1275. package/dist/redirect-9DbtxSNG.mjs.map +0 -1
  1276. package/dist/redirect-BvFKh8Sz.mjs +0 -416
  1277. package/dist/redirect-BvFKh8Sz.mjs.map +0 -1
  1278. package/dist/redirects-1nhdEaTq.mjs +0 -148
  1279. package/dist/redirects-1nhdEaTq.mjs.map +0 -1
  1280. package/dist/redirects-D1yMnSR9.mjs +0 -446
  1281. package/dist/redirects-D1yMnSR9.mjs.map +0 -1
  1282. package/dist/registry-CzPJNu3H.mjs +0 -8366
  1283. package/dist/registry-CzPJNu3H.mjs.map +0 -1
  1284. package/dist/relations-C8JpSkU6.mjs +0 -776
  1285. package/dist/relations-C8JpSkU6.mjs.map +0 -1
  1286. package/dist/request-meta-Bs60XW1m.mjs +0 -141
  1287. package/dist/request-meta-Bs60XW1m.mjs.map +0 -1
  1288. package/dist/resolve-BHWgMU_X.mjs +0 -100
  1289. package/dist/resolve-BHWgMU_X.mjs.map +0 -1
  1290. package/dist/revision-CGkQA0e5.mjs +0 -366
  1291. package/dist/revision-CGkQA0e5.mjs.map +0 -1
  1292. package/dist/route-wire-ClUVQduA.mjs +0 -197
  1293. package/dist/route-wire-ClUVQduA.mjs.map +0 -1
  1294. package/dist/routes-D2GFl3B7.mjs +0 -272
  1295. package/dist/routes-D2GFl3B7.mjs.map +0 -1
  1296. package/dist/runner-CLpxmhl8.mjs +0 -6197
  1297. package/dist/runner-CLpxmhl8.mjs.map +0 -1
  1298. package/dist/runner-CWl76CH3.d.mts +0 -68
  1299. package/dist/runner-CWl76CH3.d.mts.map +0 -1
  1300. package/dist/schema-27XefSYG.mjs +0 -13
  1301. package/dist/schema-27XefSYG.mjs.map +0 -1
  1302. package/dist/schema-Btvj3BMh.mjs +0 -815
  1303. package/dist/schema-Btvj3BMh.mjs.map +0 -1
  1304. package/dist/scopes-DGCj6K4p.mjs +0 -34
  1305. package/dist/scopes-DGCj6K4p.mjs.map +0 -1
  1306. package/dist/search-pZRRmWjh.mjs +0 -448
  1307. package/dist/search-pZRRmWjh.mjs.map +0 -1
  1308. package/dist/secrets-CIi0nFiR.mjs +0 -341
  1309. package/dist/secrets-CIi0nFiR.mjs.map +0 -1
  1310. package/dist/sections-CIhqs3Ao.mjs +0 -346
  1311. package/dist/sections-CIhqs3Ao.mjs.map +0 -1
  1312. package/dist/seo-DifeiGdl.mjs +0 -114
  1313. package/dist/seo-DifeiGdl.mjs.map +0 -1
  1314. package/dist/seo-DpYxmGaL.mjs +0 -133
  1315. package/dist/seo-DpYxmGaL.mjs.map +0 -1
  1316. package/dist/service-COVdVpSK.mjs +0 -150
  1317. package/dist/service-COVdVpSK.mjs.map +0 -1
  1318. package/dist/session-user-C6IEjuty.mjs +0 -61
  1319. package/dist/session-user-C6IEjuty.mjs.map +0 -1
  1320. package/dist/settings-CwcrX-Ay.mjs +0 -61
  1321. package/dist/settings-CwcrX-Ay.mjs.map +0 -1
  1322. package/dist/settings-D_cJtT48.mjs +0 -439
  1323. package/dist/settings-D_cJtT48.mjs.map +0 -1
  1324. package/dist/settings-tnPQN3Z2.mjs +0 -51
  1325. package/dist/settings-tnPQN3Z2.mjs.map +0 -1
  1326. package/dist/setup-complete-BOrI10UY.mjs +0 -65
  1327. package/dist/setup-complete-BOrI10UY.mjs.map +0 -1
  1328. package/dist/setup-nonce-0XTBLTsX.mjs +0 -25
  1329. package/dist/setup-nonce-0XTBLTsX.mjs.map +0 -1
  1330. package/dist/single-flight-cache-B5O2qhO1.mjs +0 -104
  1331. package/dist/single-flight-cache-B5O2qhO1.mjs.map +0 -1
  1332. package/dist/site-settings-B7vGFRDT.mjs +0 -50
  1333. package/dist/site-settings-B7vGFRDT.mjs.map +0 -1
  1334. package/dist/site-url-wEYRMHBv.mjs +0 -16
  1335. package/dist/site-url-wEYRMHBv.mjs.map +0 -1
  1336. package/dist/slugify-T5GHH42D.mjs +0 -17
  1337. package/dist/slugify-T5GHH42D.mjs.map +0 -1
  1338. package/dist/snapshot-W36KbLmc.mjs +0 -414
  1339. package/dist/snapshot-W36KbLmc.mjs.map +0 -1
  1340. package/dist/ssrf-CRJ-xom5.mjs +0 -406
  1341. package/dist/ssrf-CRJ-xom5.mjs.map +0 -1
  1342. package/dist/stage-DA0NrTRZ.mjs +0 -662
  1343. package/dist/stage-DA0NrTRZ.mjs.map +0 -1
  1344. package/dist/staged-Bw5eHbKS.mjs +0 -686
  1345. package/dist/staged-Bw5eHbKS.mjs.map +0 -1
  1346. package/dist/state-BTlprvUF.mjs +0 -153
  1347. package/dist/state-BTlprvUF.mjs.map +0 -1
  1348. package/dist/status-C6IrSLMT.mjs +0 -30
  1349. package/dist/status-C6IrSLMT.mjs.map +0 -1
  1350. package/dist/storage-query-CdVF2bng.d.mts +0 -1614
  1351. package/dist/storage-query-CdVF2bng.d.mts.map +0 -1
  1352. package/dist/tar-BGOZARjy.mjs +0 -449
  1353. package/dist/tar-BGOZARjy.mjs.map +0 -1
  1354. package/dist/target-YhYH_0uc.mjs +0 -27
  1355. package/dist/target-YhYH_0uc.mjs.map +0 -1
  1356. package/dist/taxonomies-DK_XBrmT.mjs +0 -697
  1357. package/dist/taxonomies-DK_XBrmT.mjs.map +0 -1
  1358. package/dist/taxonomies-S1M3rUC0.mjs +0 -939
  1359. package/dist/taxonomies-S1M3rUC0.mjs.map +0 -1
  1360. package/dist/taxonomy-BesdHIwi.mjs +0 -525
  1361. package/dist/taxonomy-BesdHIwi.mjs.map +0 -1
  1362. package/dist/tokens-B_ffPF1q.mjs +0 -171
  1363. package/dist/tokens-B_ffPF1q.mjs.map +0 -1
  1364. package/dist/transfer-9fVSxyrV.mjs +0 -166
  1365. package/dist/transfer-9fVSxyrV.mjs.map +0 -1
  1366. package/dist/transfer-B7LUTaYD.mjs +0 -8855
  1367. package/dist/transfer-B7LUTaYD.mjs.map +0 -1
  1368. package/dist/transfer-download-BdNq4VWN.mjs +0 -33
  1369. package/dist/transfer-download-BdNq4VWN.mjs.map +0 -1
  1370. package/dist/transformations-BtQdvyly.mjs +0 -196
  1371. package/dist/transformations-BtQdvyly.mjs.map +0 -1
  1372. package/dist/transport-CriYXY1c.mjs +0 -136
  1373. package/dist/transport-CriYXY1c.mjs.map +0 -1
  1374. package/dist/transport-SnhS6xku.d.mts +0 -42
  1375. package/dist/transport-SnhS6xku.d.mts.map +0 -1
  1376. package/dist/trusted-proxy-C0eHXPd-.mjs +0 -51
  1377. package/dist/trusted-proxy-C0eHXPd-.mjs.map +0 -1
  1378. package/dist/turnstile-BNPrWd1e.mjs +0 -53
  1379. package/dist/turnstile-BNPrWd1e.mjs.map +0 -1
  1380. package/dist/types-B8sF_kE5.d.mts +0 -287
  1381. package/dist/types-B8sF_kE5.d.mts.map +0 -1
  1382. package/dist/types-BYVIYOlD.d.mts +0 -1720
  1383. package/dist/types-BYVIYOlD.d.mts.map +0 -1
  1384. package/dist/types-Bs4bi95j.d.mts +0 -374
  1385. package/dist/types-Bs4bi95j.d.mts.map +0 -1
  1386. package/dist/types-CGuODCZi.d.mts +0 -198
  1387. package/dist/types-CGuODCZi.d.mts.map +0 -1
  1388. package/dist/types-CVsmpTcU.mjs +0 -18
  1389. package/dist/types-CVsmpTcU.mjs.map +0 -1
  1390. package/dist/types-ClFEExxn.mjs +0 -37
  1391. package/dist/types-ClFEExxn.mjs.map +0 -1
  1392. package/dist/types-D994zUWB.d.mts +0 -85
  1393. package/dist/types-D994zUWB.d.mts.map +0 -1
  1394. package/dist/types-DAj1ByJQ.d.mts +0 -125
  1395. package/dist/types-DAj1ByJQ.d.mts.map +0 -1
  1396. package/dist/types-Dlv6esp4.mjs +0 -77
  1397. package/dist/types-Dlv6esp4.mjs.map +0 -1
  1398. package/dist/types-Dr1LVwL7.d.mts +0 -363
  1399. package/dist/types-Dr1LVwL7.d.mts.map +0 -1
  1400. package/dist/types-MN9bOQ1g.d.mts +0 -198
  1401. package/dist/types-MN9bOQ1g.d.mts.map +0 -1
  1402. package/dist/types-d2Szb1oz.mjs +0 -16
  1403. package/dist/types-d2Szb1oz.mjs.map +0 -1
  1404. package/dist/types-ibtP7GEA.d.mts +0 -896
  1405. package/dist/types-ibtP7GEA.d.mts.map +0 -1
  1406. package/dist/types-j6MBDjlZ.mjs +0 -103
  1407. package/dist/types-j6MBDjlZ.mjs.map +0 -1
  1408. package/dist/update-check-D8No-E5s.mjs +0 -161
  1409. package/dist/update-check-D8No-E5s.mjs.map +0 -1
  1410. package/dist/upload-attempts-BodUoFBu.mjs +0 -32
  1411. package/dist/upload-attempts-BodUoFBu.mjs.map +0 -1
  1412. package/dist/url-pattern-DGAG6ZP2.mjs +0 -41
  1413. package/dist/url-pattern-DGAG6ZP2.mjs.map +0 -1
  1414. package/dist/user-BOvuF1sQ.mjs +0 -171
  1415. package/dist/user-BOvuF1sQ.mjs.map +0 -1
  1416. package/dist/utils-Dr01wRKt.mjs +0 -439
  1417. package/dist/utils-Dr01wRKt.mjs.map +0 -1
  1418. package/dist/validate-BttYU7NK.mjs +0 -516
  1419. package/dist/validate-BttYU7NK.mjs.map +0 -1
  1420. package/dist/validate-Df09inbC.d.mts +0 -468
  1421. package/dist/validate-Df09inbC.d.mts.map +0 -1
  1422. package/dist/validation-DH2WRwWO.mjs +0 -219
  1423. package/dist/validation-DH2WRwWO.mjs.map +0 -1
  1424. package/dist/version-BbygH8CT.mjs +0 -7
  1425. package/dist/version-BbygH8CT.mjs.map +0 -1
  1426. package/dist/version-CseoDDOd.mjs +0 -9
  1427. package/dist/version-CseoDDOd.mjs.map +0 -1
  1428. package/dist/virtual-modules-82GlnQyG.mjs +0 -516
  1429. package/dist/virtual-modules-82GlnQyG.mjs.map +0 -1
  1430. package/dist/widgets-DMAgGcQt.mjs +0 -126
  1431. package/dist/widgets-DMAgGcQt.mjs.map +0 -1
  1432. package/dist/wxr-taxonomies-Bi5kFSxQ.mjs +0 -453
  1433. package/dist/wxr-taxonomies-Bi5kFSxQ.mjs.map +0 -1
  1434. package/dist/wxr-taxonomies-y_FpYlDn.d.mts +0 -34
  1435. package/dist/wxr-taxonomies-y_FpYlDn.d.mts.map +0 -1
  1436. package/dist/zod-generator-DnfG5sGQ.mjs +0 -424
  1437. package/dist/zod-generator-DnfG5sGQ.mjs.map +0 -1
  1438. /package/dist/{api-tokens-B4COohsb.mjs → api-tokens-D2zgAIEt.mjs} +0 -0
  1439. /package/dist/{ssrf-sC4_5rxm.mjs → ssrf-BvNItdxk.mjs} +0 -0
@@ -0,0 +1,1209 @@
1
+ import { a as MAX_COLLECTION_GROUP_LENGTH, o as MAX_COLLECTION_ICON_LENGTH, s as MAX_COLLECTION_LIST_COLUMNS } from "./types-BGmQ0uXs.mjs";
2
+ import { t as SQL_BATCH_SIZE } from "./chunks-Dr5Vr0zA.mjs";
3
+ import { t as SEARCH_TOKENIZERS } from "./types-Cj0_yZkn.mjs";
4
+ import { t as compileUrlPattern } from "./url-pattern-Di4Nn3vP.mjs";
5
+ import { C as roleLevel, g as cursorPaginationQuery, v as httpUrl, w as slugPattern$1, y as localeCode } from "./redirects-DFT7Wr-e.mjs";
6
+ import { z } from "zod";
7
+
8
+ //#region src/api/schemas/bylines.ts
9
+ /** Slug pattern: lowercase letters, digits, and hyphens; must start with a letter */
10
+ const bylineSlugPattern = /^[a-z][a-z0-9-]*$/;
11
+ const bylineSummarySchema = z.object({
12
+ id: z.string(),
13
+ slug: z.string(),
14
+ displayName: z.string(),
15
+ bio: z.string().nullable(),
16
+ avatarMediaId: z.string().nullable(),
17
+ avatarStorageKey: z.string().nullish(),
18
+ avatarAlt: z.string().nullish(),
19
+ avatarBlurhash: z.string().nullish(),
20
+ avatarDominantColor: z.string().nullish(),
21
+ websiteUrl: z.string().nullable(),
22
+ userId: z.string().nullable(),
23
+ isGuest: z.boolean(),
24
+ createdAt: z.string(),
25
+ updatedAt: z.string(),
26
+ locale: z.string(),
27
+ translationGroup: z.string().nullable(),
28
+ customFields: z.record(z.string(), z.union([
29
+ z.string(),
30
+ z.boolean(),
31
+ z.null()
32
+ ])).optional()
33
+ }).meta({ id: "BylineSummary" });
34
+ const bylineCreditSchema = z.object({
35
+ byline: bylineSummarySchema,
36
+ sortOrder: z.number().int(),
37
+ roleLabel: z.string().nullable(),
38
+ source: z.enum(["explicit", "inferred"]).optional().meta({ description: "Whether this credit was explicitly assigned or inferred from authorId" })
39
+ }).meta({ id: "BylineCredit" });
40
+ const contentBylineInputSchema = z.object({
41
+ bylineId: z.string().min(1),
42
+ roleLabel: z.string().nullish()
43
+ }).meta({ id: "ContentBylineInput" });
44
+ const bylinesListQuery = cursorPaginationQuery.extend({
45
+ search: z.string().optional(),
46
+ isGuest: z.coerce.boolean().optional(),
47
+ userId: z.string().optional(),
48
+ locale: localeCode.optional()
49
+ }).meta({ id: "BylinesListQuery" });
50
+ const bylineCreateBody = z.object({
51
+ slug: z.string().min(1).regex(bylineSlugPattern, "Slug must contain only lowercase letters, digits, and hyphens"),
52
+ displayName: z.string().min(1),
53
+ bio: z.string().nullish(),
54
+ avatarMediaId: z.string().nullish(),
55
+ websiteUrl: httpUrl.nullish(),
56
+ userId: z.string().nullish(),
57
+ isGuest: z.boolean().optional(),
58
+ locale: localeCode.optional(),
59
+ translationOf: z.string().min(1).optional(),
60
+ customFields: z.record(z.string(), z.unknown()).optional()
61
+ }).meta({ id: "BylineCreateBody" });
62
+ const bylineTranslationCreateBody = z.object({
63
+ locale: localeCode,
64
+ slug: z.string().min(1).regex(bylineSlugPattern, "Slug must contain only lowercase letters, digits, and hyphens").optional(),
65
+ displayName: z.string().min(1).optional(),
66
+ bio: z.string().nullish(),
67
+ avatarMediaId: z.string().nullish(),
68
+ websiteUrl: httpUrl.nullish()
69
+ }).meta({ id: "BylineTranslationCreateBody" });
70
+ const bylineTranslationsResponseSchema = z.object({ items: z.array(bylineSummarySchema) }).meta({ id: "BylineTranslationsResponse" });
71
+ const bylineUpdateBody = z.object({
72
+ slug: z.string().min(1).regex(bylineSlugPattern, "Slug must contain only lowercase letters, digits, and hyphens").optional(),
73
+ displayName: z.string().min(1).optional(),
74
+ bio: z.string().nullish(),
75
+ avatarMediaId: z.string().nullish(),
76
+ websiteUrl: httpUrl.nullish(),
77
+ userId: z.string().nullish(),
78
+ isGuest: z.boolean().optional(),
79
+ customFields: z.record(z.string(), z.unknown()).optional()
80
+ }).meta({ id: "BylineUpdateBody" });
81
+ const bylineListResponseSchema = z.object({
82
+ items: z.array(bylineSummarySchema),
83
+ nextCursor: z.string().optional()
84
+ }).meta({ id: "BylineListResponse" });
85
+
86
+ //#endregion
87
+ //#region src/api/schemas/relations.ts
88
+ const slugPattern = /^[a-z][a-z0-9_]*$/;
89
+ const collectionSlug$1 = z.string().min(1).max(63).regex(slugPattern, "Invalid collection slug format");
90
+ /** NULL means unlimited on that side. */
91
+ const roleLimit = z.number().int().positive().nullable().optional();
92
+ const roleLabelSingular = z.string().min(1).max(200).nullable().optional();
93
+ const createRelationBody = z.object({
94
+ slug: z.string().min(1).max(63).regex(slugPattern, "Slug must be lowercase alphanumeric with underscores"),
95
+ parentCollection: collectionSlug$1,
96
+ childCollection: collectionSlug$1,
97
+ parentLabel: z.string().min(1).max(200),
98
+ parentLabelSingular: roleLabelSingular,
99
+ childLabel: z.string().min(1).max(200),
100
+ childLabelSingular: roleLabelSingular,
101
+ maxChildrenPerParent: roleLimit,
102
+ maxParentsPerChild: roleLimit
103
+ }).meta({ id: "CreateRelationBody" });
104
+ const relationListQuery = z.object({ collection: collectionSlug$1.optional().meta({ description: "Only relations with this collection on one end" }) }).meta({ id: "RelationListQuery" });
105
+ const updateRelationBody = z.object({
106
+ parentLabel: z.string().min(1).max(200).optional(),
107
+ parentLabelSingular: roleLabelSingular,
108
+ childLabel: z.string().min(1).max(200).optional(),
109
+ childLabelSingular: roleLabelSingular,
110
+ maxChildrenPerParent: roleLimit,
111
+ maxParentsPerChild: roleLimit
112
+ }).refine((body) => Object.values(body).some((value) => value !== void 0), { message: "At least one field is required" }).meta({ id: "UpdateRelationBody" });
113
+ const relationDefSchema = z.object({
114
+ id: z.string(),
115
+ slug: z.string(),
116
+ parentCollection: z.string(),
117
+ childCollection: z.string(),
118
+ parentLabel: z.string(),
119
+ parentLabelSingular: z.string().nullable(),
120
+ childLabel: z.string(),
121
+ childLabelSingular: z.string().nullable(),
122
+ maxChildrenPerParent: z.number().int().nullable(),
123
+ maxParentsPerChild: z.number().int().nullable()
124
+ }).meta({ id: "RelationDef" });
125
+ /** A relation plus what deleting it would take: the fields that view it and
126
+ * how many links it holds. */
127
+ const relationWithUsageSchema = relationDefSchema.extend({
128
+ boundFields: z.array(z.object({
129
+ collectionSlug: z.string(),
130
+ fieldSlug: z.string(),
131
+ side: z.enum(["parent", "child"])
132
+ })),
133
+ linkCount: z.number().int()
134
+ }).meta({ id: "RelationWithUsage" });
135
+ const relationListResponseSchema = z.object({ relations: z.array(relationWithUsageSchema) }).meta({ id: "RelationListResponse" });
136
+ const relationResponseSchema = z.object({ relation: relationWithUsageSchema }).meta({ id: "RelationResponse" });
137
+ const entryRefSchema = z.object({
138
+ id: z.string(),
139
+ slug: z.string().nullable(),
140
+ collection: z.string(),
141
+ title: z.string().nullable(),
142
+ locale: z.string().nullable(),
143
+ translationGroup: z.string().nullable(),
144
+ sortOrder: z.number().int().optional()
145
+ }).meta({ id: "ReferenceEntryRef" });
146
+ const referenceChildrenResponseSchema = z.object({
147
+ children: z.array(entryRefSchema),
148
+ nextCursor: z.string().optional()
149
+ }).meta({ id: "ReferenceChildrenResponse" });
150
+ const referenceParentsResponseSchema = z.object({
151
+ parents: z.array(entryRefSchema),
152
+ nextCursor: z.string().optional()
153
+ }).meta({ id: "ReferenceParentsResponse" });
154
+
155
+ //#endregion
156
+ //#region src/api/schemas/content.ts
157
+ const contentDateTime = z.iso.datetime({
158
+ offset: true,
159
+ message: "must be an ISO 8601 datetime"
160
+ }).or(z.iso.datetime({
161
+ offset: true,
162
+ precision: -1,
163
+ message: "must be an ISO 8601 datetime"
164
+ }));
165
+ /** SEO input — per-content meta fields */
166
+ const contentSeoInput = z.object({
167
+ title: z.string().max(200).nullish(),
168
+ description: z.string().max(500).nullish(),
169
+ image: z.string().nullish(),
170
+ canonical: httpUrl.nullish(),
171
+ noIndex: z.boolean().optional()
172
+ }).meta({ id: "ContentSeoInput" });
173
+ /** ISO 8601 date or datetime bound for the content-list date range filter. */
174
+ const contentDateBound = z.union([contentDateTime, z.iso.date({ message: "must be an ISO 8601 date" })]).optional();
175
+ /**
176
+ * Byline ids for the content-list filter: either the literal `none` or a
177
+ * comma-separated list, parsed into an array.
178
+ *
179
+ * The 25-id cap keeps the `IN (...)` clause clear of D1's bound-parameter
180
+ * ceiling once the rest of the list query's placeholders are counted
181
+ * (`SQL_BATCH_SIZE` is 50 for a query binding nothing else).
182
+ */
183
+ const bylineFilterParam = z.string().trim().min(1).max(2e3).optional().transform((value) => value === void 0 ? void 0 : value === "none" ? "none" : [...new Set(value.split(",").map((id) => id.trim()))].filter((id) => id.length > 0)).refine((value) => value === void 0 || value === "none" || value.length <= 25, { message: "at most 25 bylines may be selected" }).refine((value) => value === void 0 || value === "none" || value.length > 0, { message: "must contain at least one byline id" });
184
+ /** Query-string boolean. Explicit values only — `z.coerce.boolean()` reads "false" as true. */
185
+ const booleanParam = z.enum([
186
+ "1",
187
+ "0",
188
+ "true",
189
+ "false"
190
+ ]).optional().transform((value) => value === "1" || value === "true");
191
+ const contentFieldComparable = z.union([z.string().max(2048), z.number()]);
192
+ const contentFieldFilterScalar = z.union([
193
+ contentFieldComparable,
194
+ z.boolean(),
195
+ z.null()
196
+ ]);
197
+ const contentFieldFilterValue = z.union([
198
+ contentFieldFilterScalar,
199
+ z.object({ in: z.array(z.union([contentFieldComparable, z.boolean()])).min(1).max(SQL_BATCH_SIZE) }).strict(),
200
+ z.object({
201
+ gt: contentFieldComparable.optional(),
202
+ gte: contentFieldComparable.optional(),
203
+ lt: contentFieldComparable.optional(),
204
+ lte: contentFieldComparable.optional()
205
+ }).strict().refine((value) => Object.values(value).some((bound) => bound !== void 0), { message: "Range filter must include at least one bound" })
206
+ ]);
207
+ function contentFieldFilterOperandCount(value) {
208
+ if (value === null) return 0;
209
+ if (!value || typeof value !== "object" || Array.isArray(value)) return 1;
210
+ if ("in" in value && Array.isArray(value.in)) return value.in.length;
211
+ return Object.values(value).filter((bound) => bound !== void 0).length;
212
+ }
213
+ /** AND-combined filters over custom fields explicitly marked as indexed. */
214
+ const contentFieldFiltersSchema = z.record(z.string().max(128).regex(/^[a-z][a-z0-9_]*$/, "must be a safe field identifier"), contentFieldFilterValue).refine((filters) => Object.keys(filters).length <= 20, { message: "At most 20 indexed field filters are allowed" }).refine((filters) => Object.values(filters).reduce((total, value) => total + contentFieldFilterOperandCount(value), 0) <= SQL_BATCH_SIZE, { message: `Indexed field filters have a total operand budget of ${SQL_BATCH_SIZE}` });
215
+ const contentFieldFiltersQuery = z.string().max(8192).transform((value, ctx) => {
216
+ try {
217
+ return JSON.parse(value);
218
+ } catch {
219
+ ctx.addIssue({
220
+ code: "custom",
221
+ message: "must be valid JSON"
222
+ });
223
+ return z.NEVER;
224
+ }
225
+ }).pipe(contentFieldFiltersSchema);
226
+ /** Statuses the content list can filter by. */
227
+ const CONTENT_STATUSES = [
228
+ "draft",
229
+ "published",
230
+ "scheduled",
231
+ "archived",
232
+ "pending",
233
+ "private",
234
+ "future"
235
+ ];
236
+ const pageParam = z.coerce.number().int().min(1).max(Number.MAX_SAFE_INTEGER).optional().meta({ description: "1-based page number, for numbered pages instead of a cursor" });
237
+ const contentListQuery = cursorPaginationQuery.extend({
238
+ page: pageParam,
239
+ status: z.enum([...CONTENT_STATUSES, "all"]).optional().transform((status) => status === "all" ? void 0 : status),
240
+ orderBy: z.string().optional(),
241
+ order: z.enum(["asc", "desc"]).optional(),
242
+ locale: localeCode.optional(),
243
+ q: z.string().trim().min(1).max(200).optional(),
244
+ authorId: z.string().min(1).max(64).optional(),
245
+ dateField: z.enum([
246
+ "createdAt",
247
+ "updatedAt",
248
+ "publishedAt"
249
+ ]).optional(),
250
+ dateFrom: contentDateBound,
251
+ dateTo: contentDateBound,
252
+ bylines: bylineFilterParam,
253
+ includeInferredBylines: booleanParam,
254
+ fieldFilters: contentFieldFiltersQuery.optional()
255
+ }).refine(({ cursor, page }) => cursor === void 0 || page === void 0, {
256
+ message: "cursor and page cannot be used together",
257
+ path: ["page"]
258
+ }).transform(({ bylines, ...rest }) => ({
259
+ ...rest,
260
+ bylinesNone: bylines === "none",
261
+ bylines: bylines === "none" ? void 0 : bylines
262
+ })).meta({ id: "ContentListQuery" });
263
+ const MAX_CALENDAR_RANGE_MS = 1488 * 60 * 60 * 1e3;
264
+ /** Canonical UTC form, so bounds compare as text against stored timestamps. */
265
+ const calendarBound = z.iso.datetime({
266
+ offset: true,
267
+ message: "must be an ISO 8601 datetime"
268
+ }).transform((value) => new Date(value).toISOString());
269
+ /** Calendar range: `from` inclusive, `to` exclusive, at most 62 days apart. */
270
+ const calendarQuery = cursorPaginationQuery.extend({
271
+ from: calendarBound,
272
+ to: calendarBound
273
+ }).refine((query) => query.from < query.to, {
274
+ message: "to must be after from",
275
+ path: ["to"]
276
+ }).refine((query) => Date.parse(query.to) - Date.parse(query.from) <= MAX_CALENDAR_RANGE_MS, {
277
+ message: "the range can span at most 62 days",
278
+ path: ["to"]
279
+ });
280
+ /** ISO 8601 datetime for `publishedAt` / `createdAt`. Routes gate writes behind `content:publish_any`. */
281
+ const contentDateOverride = contentDateTime.nullish();
282
+ const overrideLockFlag = z.boolean().optional().meta({ description: "Write even though another editor holds this entry's edit lock. Without it the write is refused with 409 ENTRY_LOCKED." });
283
+ const contentCreateBody = z.object({
284
+ data: z.record(z.string(), z.unknown()),
285
+ slug: z.string().nullish(),
286
+ status: z.enum(["draft"]).optional(),
287
+ bylines: z.array(contentBylineInputSchema).optional(),
288
+ locale: localeCode.optional(),
289
+ translationOf: z.string().optional(),
290
+ seo: contentSeoInput.optional(),
291
+ taxonomies: z.record(z.string(), z.array(z.string())).optional().meta({ description: "Taxonomy term assignments as { taxonomyName: [termSlug, ...] }, resolved in the entry's locale." }),
292
+ references: z.record(z.string(), z.array(z.string()).max(1e3)).optional().meta({ description: "Reference selections as { fieldSlug: [entryId, ...] }, in display order. Written as content-reference links in the same transaction as the entry. A field bound to the child end of its relation selects the entries pointing at this one, which carry no order." }),
293
+ publishedAt: contentDateOverride,
294
+ createdAt: contentDateOverride,
295
+ migrateBlocks: z.boolean().optional(),
296
+ replaceBlocks: z.boolean().optional()
297
+ }).meta({ id: "ContentCreateBody" });
298
+ const contentUpdateBody = z.object({
299
+ data: z.record(z.string(), z.unknown()).optional(),
300
+ slug: z.string().nullish(),
301
+ status: z.enum(["draft"]).optional(),
302
+ authorId: z.string().nullish(),
303
+ bylines: z.array(contentBylineInputSchema).optional(),
304
+ _rev: z.string().optional().meta({ description: "Opaque revision token for optimistic concurrency" }),
305
+ skipRevision: z.boolean().optional(),
306
+ overrideLock: overrideLockFlag,
307
+ seo: contentSeoInput.optional(),
308
+ taxonomies: z.record(z.string(), z.array(z.string())).optional().meta({ description: "Replace taxonomy assignments as { taxonomyName: [termSlug, ...] }. Only named taxonomies are touched; pass an empty array to clear a taxonomy." }),
309
+ references: z.record(z.string(), z.array(z.string()).max(1e3)).optional().meta({ description: "Reference selections as { fieldSlug: [entryId, ...] }, in display order. Written as content-reference links in the same transaction as the entry. A field bound to the child end of its relation selects the entries pointing at this one, which carry no order." }),
310
+ publishedAt: contentDateOverride,
311
+ migrateBlocks: z.boolean().optional(),
312
+ replaceBlocks: z.boolean().optional()
313
+ }).meta({ id: "ContentUpdateBody" });
314
+ const contentScheduleBody = z.object({
315
+ scheduledAt: contentDateTime.meta({
316
+ description: "ISO 8601 datetime with Z or an explicit offset for scheduled publishing",
317
+ examples: ["2025-06-15T09:00:00Z"]
318
+ }),
319
+ overrideLock: overrideLockFlag,
320
+ _rev: z.string().optional().meta({ description: "Opaque revision token for optimistic concurrency" })
321
+ }).meta({ id: "ContentScheduleBody" });
322
+ const contentRevisionConditionBody = z.object({
323
+ _rev: z.string().optional().meta({ description: "Opaque revision token for optimistic concurrency" }),
324
+ overrideLock: overrideLockFlag
325
+ }).meta({ id: "ContentRevisionConditionBody" });
326
+ const revisionRestoreBody = z.object({ overrideLock: overrideLockFlag });
327
+ const contentPublishBody = contentRevisionConditionBody.extend({ publishedAt: contentDateTime.optional().meta({ description: "Optional ISO 8601 datetime to backdate the publish (e.g. when migrating content). Requires content:publish_any permission. Without this, existing published_at is preserved on re-publish." }) }).meta({ id: "ContentPublishBody" });
328
+ const contentPreviewUrlBody = z.object({
329
+ expiresIn: z.union([z.string(), z.number()]).optional(),
330
+ pathPattern: z.string().optional()
331
+ }).meta({ id: "ContentPreviewUrlBody" });
332
+ const contentTermsBody = z.object({ termIds: z.array(z.string()) }).meta({ id: "ContentTermsBody" });
333
+ /** A single term variant returned as part of an entry's term assignments. */
334
+ const contentEntryTermSchema = z.object({
335
+ id: z.string(),
336
+ name: z.string().meta({ description: "Taxonomy name" }),
337
+ slug: z.string(),
338
+ label: z.string(),
339
+ parentId: z.string().nullable(),
340
+ locale: localeCode,
341
+ translationGroup: z.string().nullable()
342
+ }).meta({ id: "ContentEntryTerm" });
343
+ /** Term assignments response for the content terms endpoint. */
344
+ const contentTermsResponseSchema = z.object({
345
+ terms: z.array(contentEntryTermSchema),
346
+ unresolved: z.array(z.object({
347
+ translationGroup: z.string(),
348
+ availableLocales: z.array(localeCode),
349
+ translations: z.array(z.object({
350
+ id: z.string(),
351
+ slug: z.string(),
352
+ locale: localeCode
353
+ }))
354
+ })),
355
+ entryLocale: localeCode,
356
+ defaultLocale: localeCode,
357
+ implicitDefaultLocale: z.boolean()
358
+ }).meta({ id: "ContentTermsResponse" });
359
+ const contentTrashQuery = cursorPaginationQuery.extend({
360
+ page: pageParam,
361
+ locale: localeCode.optional().meta({ description: "Restrict the trash listing to entries in this locale" })
362
+ }).refine(({ cursor, page }) => cursor === void 0 || page === void 0, {
363
+ message: "cursor and page cannot be used together",
364
+ path: ["page"]
365
+ }).meta({ id: "ContentTrashQuery" });
366
+ /** SEO metadata on a content item */
367
+ const contentSeoSchema = z.object({
368
+ title: z.string().nullable(),
369
+ description: z.string().nullable(),
370
+ image: z.string().nullable(),
371
+ canonical: z.string().nullable(),
372
+ noIndex: z.boolean()
373
+ }).meta({ id: "ContentSeo" });
374
+ /** A single content item as returned by the API */
375
+ const contentItemSchema = z.object({
376
+ id: z.string(),
377
+ type: z.string().meta({ description: "Collection slug this item belongs to" }),
378
+ slug: z.string().nullable(),
379
+ status: z.string().meta({ description: "draft, published, or scheduled" }),
380
+ data: z.record(z.string(), z.unknown()).meta({ description: "User-defined field values" }),
381
+ authorId: z.string().nullable(),
382
+ primaryBylineId: z.string().nullable(),
383
+ byline: bylineSummarySchema.nullable().optional(),
384
+ bylines: z.array(bylineCreditSchema).optional(),
385
+ createdAt: z.string(),
386
+ updatedAt: z.string(),
387
+ publishedAt: z.string().nullable(),
388
+ scheduledAt: z.string().nullable(),
389
+ liveRevisionId: z.string().nullable(),
390
+ draftRevisionId: z.string().nullable(),
391
+ version: z.number().int(),
392
+ locale: z.string().nullable(),
393
+ translationGroup: z.string().nullable(),
394
+ seo: contentSeoSchema.optional(),
395
+ references: z.record(z.string(), referenceChildrenResponseSchema).optional()
396
+ }).meta({ id: "ContentItem" });
397
+ /** Response for single content item endpoints (get, create, update) */
398
+ const contentResponseSchema = z.object({
399
+ item: contentItemSchema,
400
+ _rev: z.string().optional().meta({ description: "Opaque revision token for optimistic concurrency" })
401
+ }).meta({ id: "ContentResponse" });
402
+ /** Response for restoring an item from trash */
403
+ const contentRestoreResponseSchema = z.object({
404
+ restored: z.literal(true),
405
+ item: contentItemSchema,
406
+ _rev: z.string().meta({ description: "Opaque revision token for optimistic concurrency" })
407
+ }).meta({ id: "ContentRestoreResponse" });
408
+ /** Response for content list endpoints */
409
+ const contentListResponseSchema = z.object({
410
+ items: z.array(contentItemSchema),
411
+ nextCursor: z.string().optional(),
412
+ total: z.number().int().nonnegative().optional()
413
+ }).meta({ id: "ContentListResponse" });
414
+ /** A distinct content author for the admin author filter */
415
+ const contentAuthorSchema = z.object({
416
+ id: z.string(),
417
+ name: z.string().nullable(),
418
+ email: z.string(),
419
+ avatarUrl: z.string().nullable()
420
+ }).meta({ id: "ContentAuthor" });
421
+ /** Response for the content authors endpoint */
422
+ const contentAuthorsResponseSchema = z.object({ items: z.array(contentAuthorSchema) }).meta({ id: "ContentAuthorsResponse" });
423
+ /** Trashed content item */
424
+ const trashedContentItemSchema = z.object({
425
+ id: z.string(),
426
+ type: z.string(),
427
+ slug: z.string().nullable(),
428
+ status: z.string(),
429
+ locale: z.string().nullable(),
430
+ translationGroup: z.string().nullable(),
431
+ data: z.record(z.string(), z.unknown()),
432
+ authorId: z.string().nullable(),
433
+ createdAt: z.string(),
434
+ updatedAt: z.string(),
435
+ publishedAt: z.string().nullable(),
436
+ deletedAt: z.string()
437
+ }).meta({ id: "TrashedContentItem" });
438
+ /** Response for trashed content list */
439
+ const trashedContentListResponseSchema = z.object({
440
+ items: z.array(trashedContentItemSchema),
441
+ nextCursor: z.string().optional(),
442
+ total: z.number().int().nonnegative().optional()
443
+ }).meta({ id: "TrashedContentListResponse" });
444
+ /** Response for content compare (live vs draft) */
445
+ const contentCompareResponseSchema = z.object({
446
+ hasChanges: z.boolean(),
447
+ live: z.record(z.string(), z.unknown()).nullable(),
448
+ draft: z.record(z.string(), z.unknown()).nullable()
449
+ }).meta({ id: "ContentCompareResponse" });
450
+ /** Translation summary for a content item */
451
+ const contentTranslationSchema = z.object({
452
+ id: z.string(),
453
+ locale: z.string().nullable(),
454
+ slug: z.string().nullable(),
455
+ status: z.string(),
456
+ updatedAt: z.string()
457
+ });
458
+ /** Response for content translations endpoint */
459
+ const contentTranslationsResponseSchema = z.object({
460
+ translationGroup: z.string(),
461
+ translations: z.array(contentTranslationSchema)
462
+ }).meta({ id: "ContentTranslationsResponse" });
463
+
464
+ //#endregion
465
+ //#region src/api/schemas/schema.ts
466
+ const collectionSupportValues = z.enum([
467
+ "drafts",
468
+ "revisions",
469
+ "preview",
470
+ "scheduling",
471
+ "search",
472
+ "seo"
473
+ ]);
474
+ const collectionSourcePattern = /^(template:.+|import:.+|manual|discovered|seed)$/;
475
+ const collectionListColumns = z.array(z.string().min(1).max(63).regex(slugPattern$1, "Invalid field slug format"));
476
+ const collectionAdminInputConfig = z.object({
477
+ listColumns: collectionListColumns.max(MAX_COLLECTION_LIST_COLUMNS, `At most ${MAX_COLLECTION_LIST_COLUMNS} list columns are allowed`).optional(),
478
+ quickCreate: z.boolean().optional()
479
+ });
480
+ const collectionAdminResponseConfig = z.object({
481
+ listColumns: collectionListColumns.optional(),
482
+ quickCreate: z.boolean().optional()
483
+ });
484
+ const fieldTypeValues = z.enum([
485
+ "string",
486
+ "text",
487
+ "url",
488
+ "number",
489
+ "integer",
490
+ "boolean",
491
+ "datetime",
492
+ "select",
493
+ "multiSelect",
494
+ "portableText",
495
+ "image",
496
+ "file",
497
+ "reference",
498
+ "json",
499
+ "slug",
500
+ "repeater",
501
+ "blocks"
502
+ ]);
503
+ const repeaterSubFieldSchema = z.object({
504
+ slug: z.string().min(1).max(63).regex(slugPattern$1, "Invalid slug format"),
505
+ type: z.enum([
506
+ "string",
507
+ "text",
508
+ "url",
509
+ "number",
510
+ "integer",
511
+ "boolean",
512
+ "datetime",
513
+ "select",
514
+ "image"
515
+ ]),
516
+ label: z.string().min(1),
517
+ required: z.boolean().optional(),
518
+ options: z.array(z.string()).optional()
519
+ });
520
+ const urlPatternValue = z.string().superRefine((pattern, ctx) => {
521
+ try {
522
+ compileUrlPattern(pattern);
523
+ } catch (error) {
524
+ ctx.addIssue({
525
+ code: "custom",
526
+ message: error instanceof Error ? error.message : "Invalid URL pattern"
527
+ });
528
+ }
529
+ });
530
+ const fieldValidation = z.object({
531
+ required: z.boolean().optional(),
532
+ min: z.number().optional(),
533
+ max: z.number().optional(),
534
+ minLength: z.number().int().min(0).optional(),
535
+ maxLength: z.number().int().min(0).optional(),
536
+ pattern: z.string().optional(),
537
+ options: z.array(z.string()).optional(),
538
+ subFields: z.array(repeaterSubFieldSchema).min(1).optional(),
539
+ minItems: z.number().int().min(0).optional(),
540
+ maxItems: z.number().int().min(1).optional(),
541
+ allowedMimeTypes: z.array(z.string().regex(/^[a-z0-9][a-z0-9!#$&^_+\-.]*\/[a-z0-9!#$&^_+\-.]*$/i, "Invalid MIME type")).min(1, "allowedMimeTypes must not be empty — omit the field to allow all types").max(64, "allowedMimeTypes may contain at most 64 entries").optional(),
542
+ targetCollection: z.string().min(1).optional(),
543
+ multiple: z.boolean().optional(),
544
+ relation: z.string().min(1).max(63).regex(slugPattern$1, "Invalid relation slug format").optional(),
545
+ relationSide: z.enum(["parent", "child"]).optional(),
546
+ allowedTypes: z.array(z.string().min(1).max(63).regex(slugPattern$1)).optional(),
547
+ retiredTypes: z.array(z.string().min(1).max(63).regex(slugPattern$1)).optional()
548
+ }).superRefine((validation, ctx) => {
549
+ for (const [minimum, maximum] of [
550
+ ["min", "max"],
551
+ ["minLength", "maxLength"],
552
+ ["minItems", "maxItems"]
553
+ ]) {
554
+ const minimumValue = validation[minimum];
555
+ const maximumValue = validation[maximum];
556
+ if (minimumValue !== void 0 && maximumValue !== void 0 && minimumValue > maximumValue) ctx.addIssue({
557
+ code: "custom",
558
+ path: [maximum],
559
+ message: `${maximum} must be greater than or equal to ${minimum}`
560
+ });
561
+ }
562
+ if (validation.pattern !== void 0) try {
563
+ RegExp(validation.pattern);
564
+ } catch {
565
+ ctx.addIssue({
566
+ code: "custom",
567
+ path: ["pattern"],
568
+ message: "Invalid validation pattern"
569
+ });
570
+ }
571
+ }).optional();
572
+ const fieldWidgetOptions = z.record(z.string(), z.unknown()).optional();
573
+ /** Admin sidebar folder label; an empty string clears it like `null`. */
574
+ const navGroupValue = z.string().trim().max(MAX_COLLECTION_GROUP_LENGTH);
575
+ const createCollectionBody = z.object({
576
+ slug: z.string().min(1).max(63).regex(slugPattern$1, "Invalid slug format"),
577
+ label: z.string().min(1),
578
+ labelSingular: z.string().optional(),
579
+ description: z.string().optional(),
580
+ icon: z.string().trim().max(MAX_COLLECTION_ICON_LENGTH).optional(),
581
+ admin: collectionAdminInputConfig.optional(),
582
+ supports: z.array(collectionSupportValues).optional(),
583
+ source: z.string().regex(collectionSourcePattern).optional(),
584
+ urlPattern: urlPatternValue.optional(),
585
+ routable: z.boolean().optional(),
586
+ hasSeo: z.boolean().optional(),
587
+ hidden: z.boolean().optional(),
588
+ sortOrder: z.number().int().nullish(),
589
+ editLocking: z.boolean().optional(),
590
+ group: navGroupValue.nullish()
591
+ }).meta({ id: "CreateCollectionBody" });
592
+ const updateCollectionBody = z.object({
593
+ label: z.string().min(1).optional(),
594
+ labelSingular: z.string().optional(),
595
+ description: z.string().optional(),
596
+ icon: z.string().trim().max(MAX_COLLECTION_ICON_LENGTH).optional(),
597
+ admin: collectionAdminInputConfig.optional(),
598
+ supports: z.array(collectionSupportValues).optional(),
599
+ urlPattern: z.string().nullish(),
600
+ routable: z.boolean().optional(),
601
+ hasSeo: z.boolean().optional(),
602
+ hidden: z.boolean().optional(),
603
+ sortOrder: z.number().int().nullish(),
604
+ group: navGroupValue.nullish(),
605
+ commentsEnabled: z.boolean().optional(),
606
+ commentsModeration: z.enum([
607
+ "all",
608
+ "first_time",
609
+ "none"
610
+ ]).optional(),
611
+ commentsClosedAfterDays: z.number().int().min(0).optional(),
612
+ commentsAutoApproveUsers: z.boolean().optional(),
613
+ editLocking: z.boolean().optional(),
614
+ titleField: z.string().min(1).max(63).regex(slugPattern$1, "Invalid field slug format").nullish(),
615
+ dateField: z.string().min(1).max(63).regex(slugPattern$1, "Invalid field slug format").nullish()
616
+ }).meta({ id: "UpdateCollectionBody" });
617
+ const createFieldBody = z.object({
618
+ slug: z.string().min(1).max(63).regex(slugPattern$1, "Invalid slug format"),
619
+ label: z.string().min(1),
620
+ type: fieldTypeValues,
621
+ required: z.boolean().optional(),
622
+ unique: z.boolean().optional(),
623
+ defaultValue: z.unknown().optional(),
624
+ validation: fieldValidation.nullable(),
625
+ widget: z.string().optional(),
626
+ options: fieldWidgetOptions,
627
+ sortOrder: z.number().int().min(0).optional(),
628
+ searchable: z.boolean().optional(),
629
+ indexed: z.boolean().optional(),
630
+ translatable: z.boolean().optional()
631
+ }).meta({ id: "CreateFieldBody" });
632
+ const updateFieldBody = z.object({
633
+ label: z.string().min(1).optional(),
634
+ type: fieldTypeValues.optional(),
635
+ required: z.boolean().optional(),
636
+ unique: z.boolean().optional(),
637
+ defaultValue: z.unknown().optional(),
638
+ validation: fieldValidation.nullable(),
639
+ widget: z.string().optional(),
640
+ options: fieldWidgetOptions,
641
+ sortOrder: z.number().int().min(0).optional(),
642
+ searchable: z.boolean().optional(),
643
+ indexed: z.boolean().optional(),
644
+ translatable: z.boolean().optional()
645
+ }).meta({ id: "UpdateFieldBody" });
646
+ const fieldReorderBody = z.object({ fieldSlugs: z.array(z.string().min(1)) }).meta({ id: "FieldReorderBody" });
647
+ const collectionReorderBody = z.object({ slugs: z.array(z.string().min(1)) }).meta({ id: "CollectionReorderBody" });
648
+ const orphanRegisterBody = z.object({
649
+ label: z.string().optional(),
650
+ labelSingular: z.string().optional(),
651
+ description: z.string().optional()
652
+ }).meta({ id: "OrphanRegisterBody" });
653
+ const schemaExportQuery = z.object({ format: z.string().optional() });
654
+ const blockFieldTypeValues = z.enum([
655
+ "string",
656
+ "text",
657
+ "url",
658
+ "number",
659
+ "integer",
660
+ "boolean",
661
+ "datetime",
662
+ "select",
663
+ "multiSelect",
664
+ "portableText",
665
+ "image",
666
+ "file",
667
+ "repeater"
668
+ ]);
669
+ const blockFieldValidation = z.object({
670
+ min: z.number().optional(),
671
+ max: z.number().optional(),
672
+ minLength: z.number().int().min(0).optional(),
673
+ maxLength: z.number().int().min(0).optional(),
674
+ pattern: z.string().optional(),
675
+ options: z.array(z.string()).optional(),
676
+ subFields: z.array(repeaterSubFieldSchema).min(1).optional(),
677
+ minItems: z.number().int().min(0).optional(),
678
+ maxItems: z.number().int().min(1).optional(),
679
+ allowedMimeTypes: z.array(z.string()).min(1).max(64).optional()
680
+ }).strict().optional();
681
+ const blockFieldDefinitionSchema = z.object({
682
+ slug: z.string().min(1).max(63).regex(slugPattern$1, "Invalid field slug format"),
683
+ label: z.string().min(1).max(200),
684
+ type: blockFieldTypeValues,
685
+ required: z.boolean().optional(),
686
+ defaultValue: z.unknown().optional(),
687
+ validation: blockFieldValidation,
688
+ options: z.object({ darkVariant: z.boolean().optional() }).strict().optional()
689
+ }).strict();
690
+ const createBlockTypeBody = z.object({
691
+ slug: z.string().min(1).max(63).regex(slugPattern$1, "Invalid block type slug format"),
692
+ label: z.string().min(1).max(200),
693
+ description: z.string().optional(),
694
+ icon: z.string().optional(),
695
+ category: z.string().optional(),
696
+ fields: z.array(blockFieldDefinitionSchema)
697
+ }).strict().meta({ id: "CreateBlockTypeBody" });
698
+ const updateBlockTypeBody = z.object({
699
+ expectedFingerprint: z.string().min(1),
700
+ label: z.string().min(1).max(200).optional(),
701
+ description: z.string().nullish(),
702
+ icon: z.string().nullish(),
703
+ category: z.string().nullish(),
704
+ fields: z.array(blockFieldDefinitionSchema).optional(),
705
+ breaking: z.boolean().optional()
706
+ }).strict().meta({ id: "UpdateBlockTypeBody" });
707
+ const activateBlockTypeVersionBody = z.object({ expectedFingerprint: z.string().min(1) }).strict().meta({ id: "ActivateBlockTypeVersionBody" });
708
+ const collectionGetQuery = z.object({ includeFields: z.string().transform((v) => v === "true").optional() });
709
+ const collectionSchema = z.object({
710
+ id: z.string(),
711
+ slug: z.string(),
712
+ label: z.string(),
713
+ labelSingular: z.string().nullable(),
714
+ description: z.string().nullable(),
715
+ icon: z.string().nullable(),
716
+ admin: collectionAdminResponseConfig.optional(),
717
+ supports: z.array(z.string()),
718
+ source: z.string().nullable(),
719
+ urlPattern: z.string().nullable(),
720
+ routable: z.boolean(),
721
+ hasSeo: z.boolean(),
722
+ hidden: z.boolean(),
723
+ sortOrder: z.number().int().nullable(),
724
+ editLocking: z.boolean(),
725
+ group: z.string().nullish(),
726
+ createdAt: z.string(),
727
+ updatedAt: z.string(),
728
+ titleField: z.string().nullish(),
729
+ dateField: z.string().nullish()
730
+ }).meta({ id: "Collection" });
731
+ const fieldSchema = z.object({
732
+ id: z.string(),
733
+ collectionId: z.string(),
734
+ slug: z.string(),
735
+ label: z.string(),
736
+ type: fieldTypeValues,
737
+ required: z.boolean(),
738
+ unique: z.boolean(),
739
+ defaultValue: z.unknown().nullable(),
740
+ validation: z.record(z.string(), z.unknown()).nullable(),
741
+ widget: z.string().nullable(),
742
+ options: z.record(z.string(), z.unknown()).nullable(),
743
+ blockTypes: z.array(z.lazy(() => blockTypeSchema)).optional(),
744
+ blockTypeFingerprint: z.string().optional(),
745
+ sortOrder: z.number().int(),
746
+ searchable: z.boolean(),
747
+ indexed: z.boolean(),
748
+ translatable: z.boolean(),
749
+ createdAt: z.string(),
750
+ updatedAt: z.string()
751
+ }).meta({ id: "Field" });
752
+ const collectionResponseSchema = z.object({ item: collectionSchema }).meta({ id: "CollectionResponse" });
753
+ const collectionWithFieldsResponseSchema = z.object({ item: collectionSchema.extend({ fields: z.array(fieldSchema) }) }).meta({ id: "CollectionWithFieldsResponse" });
754
+ const collectionListResponseSchema = z.object({ items: z.array(collectionSchema) }).meta({ id: "CollectionListResponse" });
755
+ const fieldResponseSchema = z.object({ item: fieldSchema }).meta({ id: "FieldResponse" });
756
+ const fieldListResponseSchema = z.object({ items: z.array(fieldSchema) }).meta({ id: "FieldListResponse" });
757
+ const blockTypeVersionSchema = z.object({
758
+ id: z.string(),
759
+ blockTypeId: z.string(),
760
+ version: z.number().int().positive(),
761
+ fields: z.array(blockFieldDefinitionSchema),
762
+ fingerprint: z.string(),
763
+ active: z.boolean(),
764
+ unsupportedTypes: z.array(z.object({
765
+ type: z.string(),
766
+ path: z.string()
767
+ }).strict()).optional(),
768
+ createdAt: z.string(),
769
+ updatedAt: z.string()
770
+ }).meta({ id: "BlockTypeVersion" });
771
+ const blockTypeSchema = z.object({
772
+ id: z.string(),
773
+ slug: z.string(),
774
+ label: z.string(),
775
+ description: z.string().optional(),
776
+ icon: z.string().optional(),
777
+ category: z.string().optional(),
778
+ currentVersion: z.number().int().positive(),
779
+ source: z.enum(["user", "seed"]),
780
+ versions: z.array(blockTypeVersionSchema),
781
+ createdAt: z.string(),
782
+ updatedAt: z.string()
783
+ }).meta({ id: "BlockType" });
784
+ const blockTypeResponseSchema = z.object({ item: blockTypeSchema }).meta({ id: "BlockTypeResponse" });
785
+ const blockTypeListResponseSchema = z.object({ items: z.array(blockTypeSchema) }).meta({ id: "BlockTypeListResponse" });
786
+ const orphanedTableSchema = z.object({
787
+ slug: z.string(),
788
+ tableName: z.string(),
789
+ rowCount: z.number().int()
790
+ }).meta({ id: "OrphanedTable" });
791
+ const orphanedTableListResponseSchema = z.object({ items: z.array(orphanedTableSchema) }).meta({ id: "OrphanedTableListResponse" });
792
+
793
+ //#endregion
794
+ //#region src/api/schemas/taxonomies.ts
795
+ const collectionSlug = z.string().min(1).max(63).regex(/^[a-z][a-z0-9_]*$/, "Invalid collection slug format");
796
+ const createTaxonomyDefBody = z.object({
797
+ name: z.string().min(1).max(63).regex(/^[a-z][a-z0-9_]*$/, "Name must be lowercase alphanumeric with underscores"),
798
+ label: z.string().min(1).max(200),
799
+ labelSingular: z.string().min(1).max(200).optional(),
800
+ hierarchical: z.boolean().optional(),
801
+ collections: z.array(collectionSlug).max(100).optional(),
802
+ locale: localeCode.optional(),
803
+ translationOf: z.string().min(1).optional()
804
+ }).meta({ id: "CreateTaxonomyDefBody" });
805
+ /**
806
+ * `name` and `locale` are absent on purpose: both identify the definition row
807
+ * being written, and `.strict()` turns an attempt to change either into a 400
808
+ * rather than a silently ignored field.
809
+ */
810
+ const updateTaxonomyDefBody = z.object({
811
+ label: z.string().min(1).max(200).optional(),
812
+ labelSingular: z.string().min(1).max(200).nullish(),
813
+ hierarchical: z.boolean().optional(),
814
+ collections: z.array(collectionSlug).max(100).optional()
815
+ }).strict().meta({ id: "UpdateTaxonomyDefBody" });
816
+ const createTermBody = z.object({
817
+ slug: z.string().min(1).optional().meta({ description: "Term slug. Omit to derive a unique slug from the label." }),
818
+ label: z.string().min(1),
819
+ parentId: z.string().nullish(),
820
+ description: z.string().optional(),
821
+ locale: localeCode.optional(),
822
+ translationOf: z.string().min(1).optional()
823
+ }).meta({ id: "CreateTermBody" });
824
+ const bulkTagBody = z.object({
825
+ termId: z.string().min(1),
826
+ apply: z.boolean().default(false),
827
+ refreshOnly: z.boolean().optional(),
828
+ items: z.array(z.union([z.object({
829
+ collection: collectionSlug,
830
+ id: z.string().min(1)
831
+ }).strict(), z.object({ url: z.string().min(1).max(2048) }).strict()])).min(1).max(50)
832
+ }).strict().meta({ id: "BulkTagBody" });
833
+ const updateTermBody = z.object({
834
+ slug: z.string().min(1).optional(),
835
+ label: z.string().min(1).optional(),
836
+ parentId: z.string().nullish(),
837
+ description: z.string().optional()
838
+ }).meta({ id: "UpdateTermBody" });
839
+ const reorderTermsBody = z.object({
840
+ parentId: z.string().min(1).nullish().meta({ description: "Parent term whose children are being ordered (translation_group or row id). Omit or null for the top level, which for a flat taxonomy is every term." }),
841
+ ids: z.array(z.string().min(1)).max(100).meta({ description: "Terms to move, in the desired order — each a row id or translation_group. May be a subset of the group: the listed terms are permuted within the positions they already occupy and every other member keeps its place. An id outside the group is rejected with REORDER_MISMATCH." })
842
+ }).strict().meta({ id: "ReorderTermsBody" });
843
+ const termListQuery = z.object({
844
+ locale: localeCode.optional(),
845
+ includeCounts: z.enum(["true", "false"]).transform((v) => v === "true").optional().default(true).meta({ description: "Include each term's visible-usage count. Pass false to skip the aggregate; `count` is then absent from every term." }),
846
+ resolveFallback: z.enum(["true", "false"]).transform((value) => value === "true").optional().default(false).meta({ description: "Resolve one term per translation group, preferring the requested locale and then the configured default locale." })
847
+ }).meta({ id: "TermListQuery" });
848
+ const taxonomyDefSchema = z.object({
849
+ id: z.string(),
850
+ name: z.string(),
851
+ label: z.string(),
852
+ labelSingular: z.string().optional(),
853
+ hierarchical: z.boolean(),
854
+ collections: z.array(z.string()),
855
+ locale: z.string(),
856
+ translationGroup: z.string().nullable()
857
+ }).meta({ id: "TaxonomyDef" });
858
+ const taxonomyDefTranslationsSchema = z.object({
859
+ translationGroup: z.string().nullable(),
860
+ translations: z.array(z.object({
861
+ id: z.string(),
862
+ name: z.string(),
863
+ label: z.string(),
864
+ locale: z.string()
865
+ }))
866
+ }).meta({ id: "TaxonomyDefTranslations" });
867
+ const taxonomyListResponseSchema = z.object({ taxonomies: z.array(taxonomyDefSchema) }).meta({ id: "TaxonomyListResponse" });
868
+ const taxonomyResponseSchema = z.object({ taxonomy: taxonomyDefSchema }).meta({ id: "TaxonomyResponse" });
869
+ const termSchema = z.object({
870
+ id: z.string(),
871
+ name: z.string(),
872
+ slug: z.string(),
873
+ label: z.string(),
874
+ parentId: z.string().nullable(),
875
+ description: z.string().optional(),
876
+ locale: z.string(),
877
+ translationGroup: z.string().nullable()
878
+ }).meta({ id: "Term" });
879
+ const termTranslationsSchema = z.object({
880
+ translationGroup: z.string().nullable(),
881
+ translations: z.array(z.object({
882
+ id: z.string(),
883
+ slug: z.string(),
884
+ label: z.string(),
885
+ locale: z.string()
886
+ }))
887
+ }).meta({ id: "TermTranslations" });
888
+ const termWithCountSchema = z.object({
889
+ id: z.string(),
890
+ name: z.string(),
891
+ slug: z.string(),
892
+ label: z.string(),
893
+ parentId: z.string().nullable(),
894
+ description: z.string().optional(),
895
+ count: z.number().int().optional(),
896
+ children: z.array(z.lazy(() => termWithCountSchema)),
897
+ locale: z.string(),
898
+ translationGroup: z.string().nullable()
899
+ }).meta({ id: "TermWithCount" });
900
+ const termListResponseSchema = z.object({ terms: z.array(termWithCountSchema) }).meta({ id: "TermListResponse" });
901
+ const termResponseSchema = z.object({ term: termSchema }).meta({ id: "TermResponse" });
902
+ const termReorderResponseSchema = z.object({ reordered: z.literal(true) }).meta({ id: "TermReorderResponse" });
903
+ const termGetResponseSchema = z.object({ term: termSchema.extend({
904
+ count: z.number().int(),
905
+ children: z.array(z.object({
906
+ id: z.string(),
907
+ slug: z.string(),
908
+ label: z.string()
909
+ }))
910
+ }) }).meta({ id: "TermGetResponse" });
911
+
912
+ //#endregion
913
+ //#region src/api/schemas/sections.ts
914
+ const sectionSource = z.enum([
915
+ "theme",
916
+ "user",
917
+ "import"
918
+ ]);
919
+ const sectionsListQuery = z.object({
920
+ source: sectionSource.optional(),
921
+ search: z.string().optional(),
922
+ limit: z.coerce.number().int().min(1).max(100).optional().default(50),
923
+ cursor: z.string().max(2048).optional()
924
+ }).meta({ id: "SectionsListQuery" });
925
+ const createSectionBody = z.object({
926
+ slug: z.string().min(1),
927
+ title: z.string().min(1),
928
+ description: z.string().optional(),
929
+ keywords: z.array(z.string()).optional(),
930
+ content: z.array(z.record(z.string(), z.unknown())),
931
+ previewMediaId: z.string().optional(),
932
+ source: z.enum(["user", "import"]).optional(),
933
+ themeId: z.string().optional()
934
+ }).meta({ id: "CreateSectionBody" });
935
+ const updateSectionBody = z.object({
936
+ slug: z.string().min(1).optional(),
937
+ title: z.string().min(1).optional(),
938
+ description: z.string().optional(),
939
+ keywords: z.array(z.string()).optional(),
940
+ content: z.array(z.record(z.string(), z.unknown())).optional(),
941
+ previewMediaId: z.string().nullish()
942
+ }).meta({ id: "UpdateSectionBody" });
943
+ const sectionSchema = z.object({
944
+ id: z.string(),
945
+ slug: z.string(),
946
+ title: z.string(),
947
+ description: z.string().nullable(),
948
+ keywords: z.array(z.string()).nullable(),
949
+ content: z.array(z.record(z.string(), z.unknown())),
950
+ previewMediaId: z.string().nullable(),
951
+ source: z.string(),
952
+ themeId: z.string().nullable(),
953
+ createdAt: z.string(),
954
+ updatedAt: z.string()
955
+ }).meta({ id: "Section" });
956
+ const sectionListResponseSchema = z.object({
957
+ items: z.array(sectionSchema),
958
+ nextCursor: z.string().optional()
959
+ }).meta({ id: "SectionListResponse" });
960
+
961
+ //#endregion
962
+ //#region src/api/schemas/settings.ts
963
+ const mediaReferenceInput = z.object({
964
+ mediaId: z.string(),
965
+ alt: z.string().optional()
966
+ });
967
+ const socialSettings = z.object({
968
+ twitter: z.string().optional(),
969
+ github: z.string().optional(),
970
+ facebook: z.string().optional(),
971
+ instagram: z.string().optional(),
972
+ linkedin: z.string().optional(),
973
+ youtube: z.string().optional()
974
+ });
975
+ const seoSettingsInput = z.object({
976
+ titleSeparator: z.string().max(10).optional(),
977
+ defaultOgImage: mediaReferenceInput.nullable().optional(),
978
+ robotsTxt: z.string().max(5e3).optional(),
979
+ googleVerification: z.string().max(100).optional(),
980
+ bingVerification: z.string().max(100).optional()
981
+ });
982
+ const settingsUpdateBody = z.object({
983
+ title: z.string().optional(),
984
+ tagline: z.string().optional(),
985
+ logo: mediaReferenceInput.nullable().optional(),
986
+ favicon: mediaReferenceInput.nullable().optional(),
987
+ url: z.union([httpUrl, z.literal("")]).optional(),
988
+ postsPerPage: z.number().int().min(1).max(100).optional(),
989
+ dateFormat: z.string().optional(),
990
+ timezone: z.string().optional(),
991
+ social: socialSettings.optional(),
992
+ seo: seoSettingsInput.optional()
993
+ }).meta({ id: "SettingsUpdateBody" });
994
+ const mediaReferenceResponse = z.object({
995
+ mediaId: z.string(),
996
+ alt: z.string().optional(),
997
+ url: z.string().optional(),
998
+ contentType: z.string().optional(),
999
+ width: z.number().int().optional(),
1000
+ height: z.number().int().optional()
1001
+ });
1002
+ const seoSettingsResponse = z.object({
1003
+ titleSeparator: z.string().max(10).optional(),
1004
+ defaultOgImage: mediaReferenceResponse.optional(),
1005
+ robotsTxt: z.string().max(5e3).optional(),
1006
+ googleVerification: z.string().max(100).optional(),
1007
+ bingVerification: z.string().max(100).optional()
1008
+ });
1009
+ const siteSettingsSchema = z.object({
1010
+ title: z.string().optional(),
1011
+ tagline: z.string().optional(),
1012
+ logo: mediaReferenceResponse.optional(),
1013
+ favicon: mediaReferenceResponse.optional(),
1014
+ url: z.string().optional(),
1015
+ postsPerPage: z.number().int().optional(),
1016
+ dateFormat: z.string().optional(),
1017
+ timezone: z.string().optional(),
1018
+ social: socialSettings.optional(),
1019
+ seo: seoSettingsResponse.optional()
1020
+ }).meta({ id: "SiteSettings" });
1021
+
1022
+ //#endregion
1023
+ //#region src/api/schemas/search.ts
1024
+ const searchQuery = z.object({
1025
+ q: z.string().min(1),
1026
+ collections: z.string().optional(),
1027
+ status: z.string().optional(),
1028
+ locale: localeCode.optional(),
1029
+ limit: z.coerce.number().int().min(1).max(100).optional(),
1030
+ cursor: z.string().optional(),
1031
+ scope: z.enum(["all", "title"]).optional().meta({ description: "Which indexed fields to match against. 'title' matches only the collection's title field; collections without an indexed title field return no results. Defaults to 'all'." })
1032
+ }).meta({ id: "SearchQuery" });
1033
+ const searchSuggestQuery = z.object({
1034
+ q: z.string().min(1),
1035
+ collections: z.string().optional(),
1036
+ locale: localeCode.optional(),
1037
+ limit: z.coerce.number().int().min(1).max(20).optional()
1038
+ }).meta({ id: "SearchSuggestQuery" });
1039
+ const searchRebuildBody = z.object({ collection: z.string().min(1) }).meta({ id: "SearchRebuildBody" });
1040
+ const searchEnableBody = z.object({
1041
+ collection: z.string().min(1),
1042
+ enabled: z.boolean(),
1043
+ weights: z.record(z.string(), z.number()).optional(),
1044
+ tokenize: z.enum(SEARCH_TOKENIZERS).optional()
1045
+ }).meta({ id: "SearchEnableBody" });
1046
+ const searchResultSchema = z.object({
1047
+ collection: z.string(),
1048
+ id: z.string(),
1049
+ slug: z.string().nullable(),
1050
+ locale: z.string(),
1051
+ title: z.string().optional(),
1052
+ snippet: z.string().optional(),
1053
+ score: z.number()
1054
+ }).meta({ id: "SearchResult" });
1055
+ const searchResponseSchema = z.object({
1056
+ items: z.array(searchResultSchema),
1057
+ nextCursor: z.string().optional()
1058
+ }).meta({ id: "SearchResponse" });
1059
+
1060
+ //#endregion
1061
+ //#region src/api/schemas/users.ts
1062
+ const usersListQuery = z.object({
1063
+ search: z.string().optional(),
1064
+ role: z.string().optional(),
1065
+ cursor: z.string().max(2048).optional(),
1066
+ limit: z.coerce.number().int().min(1).max(100).optional().default(50)
1067
+ }).meta({ id: "UsersListQuery" });
1068
+ const userUpdateBody = z.object({
1069
+ name: z.string().optional(),
1070
+ email: z.email().optional(),
1071
+ role: roleLevel.optional()
1072
+ }).meta({ id: "UserUpdateBody" });
1073
+ const allowedDomainCreateBody = z.object({
1074
+ domain: z.string().min(1),
1075
+ defaultRole: roleLevel
1076
+ }).meta({ id: "AllowedDomainCreateBody" });
1077
+ const allowedDomainUpdateBody = z.object({
1078
+ enabled: z.boolean().optional(),
1079
+ defaultRole: roleLevel.optional()
1080
+ }).meta({ id: "AllowedDomainUpdateBody" });
1081
+ const userSchema = z.object({
1082
+ id: z.string(),
1083
+ email: z.string(),
1084
+ name: z.string().nullable(),
1085
+ avatarUrl: z.string().nullable(),
1086
+ role: z.number().int(),
1087
+ emailVerified: z.boolean(),
1088
+ disabled: z.boolean(),
1089
+ createdAt: z.string(),
1090
+ updatedAt: z.string(),
1091
+ lastLogin: z.string().nullable(),
1092
+ credentialCount: z.number().int().optional(),
1093
+ oauthProviders: z.array(z.string()).optional()
1094
+ }).meta({ id: "User" });
1095
+ const userListResponseSchema = z.object({
1096
+ items: z.array(userSchema),
1097
+ nextCursor: z.string().optional()
1098
+ }).meta({ id: "UserListResponse" });
1099
+ const userDetailSchema = z.object({
1100
+ id: z.string(),
1101
+ email: z.string(),
1102
+ name: z.string().nullable(),
1103
+ avatarUrl: z.string().nullable(),
1104
+ role: z.number().int(),
1105
+ emailVerified: z.boolean(),
1106
+ disabled: z.boolean(),
1107
+ createdAt: z.string(),
1108
+ updatedAt: z.string(),
1109
+ lastLogin: z.string().nullable(),
1110
+ credentials: z.array(z.object({
1111
+ id: z.string(),
1112
+ name: z.string().nullable(),
1113
+ deviceType: z.string().nullable(),
1114
+ createdAt: z.string(),
1115
+ lastUsedAt: z.string()
1116
+ })),
1117
+ oauthAccounts: z.array(z.object({
1118
+ provider: z.string(),
1119
+ createdAt: z.string()
1120
+ }))
1121
+ }).meta({ id: "UserDetail" });
1122
+
1123
+ //#endregion
1124
+ //#region src/api/schemas/widgets.ts
1125
+ const widgetType = z.enum([
1126
+ "content",
1127
+ "menu",
1128
+ "component"
1129
+ ]);
1130
+ const createWidgetAreaBody = z.object({
1131
+ name: z.string().min(1),
1132
+ label: z.string().min(1),
1133
+ description: z.string().optional()
1134
+ }).meta({ id: "CreateWidgetAreaBody" });
1135
+ const createWidgetBody = z.object({
1136
+ type: widgetType,
1137
+ title: z.string().optional(),
1138
+ content: z.array(z.record(z.string(), z.unknown())).optional(),
1139
+ menuName: z.string().optional(),
1140
+ componentId: z.string().optional(),
1141
+ componentProps: z.record(z.string(), z.unknown()).optional()
1142
+ }).meta({ id: "CreateWidgetBody" });
1143
+ const updateWidgetBody = z.object({
1144
+ type: widgetType.optional(),
1145
+ title: z.string().optional(),
1146
+ content: z.array(z.record(z.string(), z.unknown())).optional(),
1147
+ menuName: z.string().optional(),
1148
+ componentId: z.string().optional(),
1149
+ componentProps: z.record(z.string(), z.unknown()).optional()
1150
+ }).meta({ id: "UpdateWidgetBody" });
1151
+ const reorderWidgetsBody = z.object({ widgetIds: z.array(z.string().min(1)) }).meta({ id: "ReorderWidgetsBody" });
1152
+ const widgetAreaSchema = z.object({
1153
+ id: z.string(),
1154
+ name: z.string(),
1155
+ label: z.string(),
1156
+ description: z.string().nullable(),
1157
+ created_at: z.string(),
1158
+ updated_at: z.string()
1159
+ }).meta({ id: "WidgetArea" });
1160
+ const widgetSchema = z.object({
1161
+ id: z.string(),
1162
+ type: widgetType,
1163
+ title: z.string().optional(),
1164
+ content: z.array(z.record(z.string(), z.unknown())).optional(),
1165
+ menuName: z.string().optional(),
1166
+ componentId: z.string().optional(),
1167
+ componentProps: z.record(z.string(), z.unknown()).optional()
1168
+ }).meta({ id: "Widget" });
1169
+ const widgetAreaWithWidgetsSchema = widgetAreaSchema.extend({ widgets: z.array(widgetSchema) }).meta({ id: "WidgetAreaWithWidgets" });
1170
+ const widgetAreaWithWidgetsAndCountSchema = widgetAreaWithWidgetsSchema.extend({ widgetCount: z.number().int() }).meta({ id: "WidgetAreaWithWidgetsAndCount" });
1171
+
1172
+ //#endregion
1173
+ //#region src/api/schemas/entry-lock.ts
1174
+ const entryLockAcquireBody = z.object({
1175
+ takeover: z.boolean().optional().meta({ description: "Take the lock from whoever holds it. Their next heartbeat or save reports the new holder." }),
1176
+ token: z.string().min(1).max(128).optional().meta({ description: "Identifies the caller's editing session. Send the same value on DELETE so a release from one tab does not drop a lock another tab of the same account still relies on." })
1177
+ }).meta({ id: "EntryLockAcquireBody" });
1178
+ const entryLockHolderSchema = z.object({
1179
+ userId: z.string(),
1180
+ userName: z.string().nullable(),
1181
+ acquiredAt: z.string(),
1182
+ expiresAt: z.string()
1183
+ }).meta({ id: "EntryLockHolder" });
1184
+ const entryLockStatusSchema = z.object({
1185
+ enabled: z.boolean().meta({ description: "Whether the collection takes edit locks at all" }),
1186
+ holder: entryLockHolderSchema.nullable(),
1187
+ heldByCaller: z.boolean()
1188
+ }).meta({ id: "EntryLockStatus" });
1189
+ const entryLockReleaseResponseSchema = z.object({ released: z.boolean() }).meta({ id: "EntryLockReleaseResponse" });
1190
+ const entryLockConflictSchema = z.object({
1191
+ success: z.literal(false),
1192
+ error: z.object({
1193
+ code: z.literal("ENTRY_LOCKED"),
1194
+ message: z.string(),
1195
+ details: entryLockHolderSchema
1196
+ })
1197
+ });
1198
+ const entryMutationConflictSchema = z.object({
1199
+ success: z.literal(false),
1200
+ error: z.object({
1201
+ code: z.string().meta({ examples: ["CONFLICT", "ENTRY_LOCKED"] }),
1202
+ message: z.string(),
1203
+ details: entryLockHolderSchema.optional()
1204
+ })
1205
+ });
1206
+
1207
+ //#endregion
1208
+ export { activateBlockTypeVersionBody as $, referenceChildrenResponseSchema as $t, createSectionBody as A, contentFieldFiltersSchema as At, taxonomyDefTranslationsSchema as B, contentSeoInput as Bt, searchQuery as C, updateCollectionBody as Ct, searchSuggestQuery as D, contentAuthorsResponseSchema as Dt, searchResultSchema as E, contentAuthorSchema as Et, bulkTagBody as F, contentPublishBody as Ft, termListResponseSchema as G, contentTranslationsResponseSchema as Gt, taxonomyResponseSchema as H, contentTermsBody as Ht, createTaxonomyDefBody as I, contentResponseSchema as It, termSchema as J, revisionRestoreBody as Jt, termReorderResponseSchema as K, contentTrashQuery as Kt, createTermBody as L, contentRestoreResponseSchema as Lt, sectionSchema as M, contentListQuery as Mt, sectionsListQuery as N, contentListResponseSchema as Nt, settingsUpdateBody as O, contentCompareResponseSchema as Ot, updateSectionBody as P, contentPreviewUrlBody as Pt, updateTermBody as Q, entryRefSchema as Qt, reorderTermsBody as R, contentRevisionConditionBody as Rt, searchEnableBody as S, updateBlockTypeBody as St, searchResponseSchema as T, calendarQuery as Tt, termGetResponseSchema as U, contentTermsResponseSchema as Ut, taxonomyListResponseSchema as V, contentSeoSchema as Vt, termListQuery as W, contentTranslationSchema as Wt, termWithCountSchema as X, trashedContentListResponseSchema as Xt, termTranslationsSchema as Y, trashedContentItemSchema as Yt, updateTaxonomyDefBody as Z, createRelationBody as Zt, userDetailSchema as _, fieldSchema as _t, entryLockStatusSchema as a, relationWithUsageSchema as an, collectionGetQuery as at, userUpdateBody as b, orphanedTableSchema as bt, createWidgetBody as c, bylineCreditSchema as cn, collectionResponseSchema as ct, widgetAreaSchema as d, bylineTranslationCreateBody as dn, createBlockTypeBody as dt, referenceParentsResponseSchema as en, blockFieldDefinitionSchema as et, widgetAreaWithWidgetsAndCountSchema as f, bylineTranslationsResponseSchema as fn, createCollectionBody as ft, allowedDomainUpdateBody as g, fieldResponseSchema as gt, allowedDomainCreateBody as h, contentBylineInputSchema as hn, fieldReorderBody as ht, entryLockReleaseResponseSchema as i, relationResponseSchema as in, blockTypeVersionSchema as it, sectionListResponseSchema as j, contentItemSchema as jt, siteSettingsSchema as k, contentCreateBody as kt, reorderWidgetsBody as l, bylineListResponseSchema as ln, collectionSchema as lt, widgetSchema as m, bylinesListQuery as mn, fieldListResponseSchema as mt, entryLockConflictSchema as n, relationListQuery as nn, blockTypeResponseSchema as nt, entryMutationConflictSchema as o, updateRelationBody as on, collectionListResponseSchema as ot, widgetAreaWithWidgetsSchema as p, bylineUpdateBody as pn, createFieldBody as pt, termResponseSchema as q, contentUpdateBody as qt, entryLockHolderSchema as r, relationListResponseSchema as rn, blockTypeSchema as rt, createWidgetAreaBody as s, bylineCreateBody as sn, collectionReorderBody as st, entryLockAcquireBody as t, relationDefSchema as tn, blockTypeListResponseSchema as tt, updateWidgetBody as u, bylineSummarySchema as un, collectionWithFieldsResponseSchema as ut, userListResponseSchema as v, orphanRegisterBody as vt, searchRebuildBody as w, updateFieldBody as wt, usersListQuery as x, schemaExportQuery as xt, userSchema as y, orphanedTableListResponseSchema as yt, taxonomyDefSchema as z, contentScheduleBody as zt };
1209
+ //# sourceMappingURL=entry-lock-Cjz0h45X.mjs.map