emdash 0.39.1 → 0.40.1

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 (1656) hide show
  1. package/dist/action-token-DYwe4Pk0.mjs +26 -0
  2. package/dist/action-token-DYwe4Pk0.mjs.map +1 -0
  3. package/dist/activation-LOkDM5WT.mjs +382 -0
  4. package/dist/activation-LOkDM5WT.mjs.map +1 -0
  5. package/dist/adapters-B64LbYcB.d.mts +171 -0
  6. package/dist/adapters-B64LbYcB.d.mts.map +1 -0
  7. package/dist/allowed-origins-CHB8oZNM.mjs +116 -0
  8. package/dist/allowed-origins-CHB8oZNM.mjs.map +1 -0
  9. package/dist/api/route-utils.d.mts +4 -4
  10. package/dist/api/route-utils.mjs +49 -40
  11. package/dist/api/route-utils.mjs.map +1 -1
  12. package/dist/api/schemas/index.d.mts +2 -2
  13. package/dist/api/schemas/index.mjs +11 -7
  14. package/dist/api-CuyNEHZG.mjs +4718 -0
  15. package/dist/api-CuyNEHZG.mjs.map +1 -0
  16. package/dist/api-tokens-CE1ECIg0.mjs +3 -0
  17. package/dist/api-tokens-s4i4aUp_.mjs +166 -0
  18. package/dist/api-tokens-s4i4aUp_.mjs.map +1 -0
  19. package/dist/apply-npY1TAhG.mjs +1366 -0
  20. package/dist/apply-npY1TAhG.mjs.map +1 -0
  21. package/dist/approvals-CqMfNxak.mjs +460 -0
  22. package/dist/approvals-CqMfNxak.mjs.map +1 -0
  23. package/dist/artifact-fetch-DZMOGZ3-.mjs +818 -0
  24. package/dist/artifact-fetch-DZMOGZ3-.mjs.map +1 -0
  25. package/dist/astro/index.d.mts +14 -14
  26. package/dist/astro/index.mjs +68 -18
  27. package/dist/astro/index.mjs.map +1 -1
  28. package/dist/astro/middleware/auth.d.mts +14 -12
  29. package/dist/astro/middleware/auth.d.mts.map +1 -1
  30. package/dist/astro/middleware/auth.mjs +26 -11
  31. package/dist/astro/middleware/auth.mjs.map +1 -1
  32. package/dist/astro/middleware/media-usage-write-fence.d.mts +9 -1
  33. package/dist/astro/middleware/media-usage-write-fence.d.mts.map +1 -1
  34. package/dist/astro/middleware/media-usage-write-fence.mjs +95 -13
  35. package/dist/astro/middleware/media-usage-write-fence.mjs.map +1 -1
  36. package/dist/astro/middleware/redirect.mjs +8 -8
  37. package/dist/astro/middleware/request-context.d.mts.map +1 -1
  38. package/dist/astro/middleware/request-context.mjs +145 -47
  39. package/dist/astro/middleware/request-context.mjs.map +1 -1
  40. package/dist/astro/middleware/setup.mjs +1 -1
  41. package/dist/astro/middleware.d.mts +12 -12
  42. package/dist/astro/middleware.d.mts.map +1 -1
  43. package/dist/astro/middleware.mjs +130 -123
  44. package/dist/astro/middleware.mjs.map +1 -1
  45. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +14 -8
  46. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs.map +1 -1
  47. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +14 -8
  48. package/dist/astro/routes/api/admin/allowed-domains/index.mjs.map +1 -1
  49. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +5 -3
  50. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs.map +1 -1
  51. package/dist/astro/routes/api/admin/api-tokens/index.mjs +6 -4
  52. package/dist/astro/routes/api/admin/api-tokens/index.mjs.map +1 -1
  53. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +6 -4
  54. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs.map +1 -1
  55. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +17 -11
  56. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs.map +1 -1
  57. package/dist/astro/routes/api/admin/byline-fields/index.mjs +17 -11
  58. package/dist/astro/routes/api/admin/byline-fields/index.mjs.map +1 -1
  59. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +17 -11
  60. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs.map +1 -1
  61. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +25 -19
  62. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs.map +1 -1
  63. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +25 -19
  64. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs.map +1 -1
  65. package/dist/astro/routes/api/admin/bylines/index.mjs +25 -19
  66. package/dist/astro/routes/api/admin/bylines/index.mjs.map +1 -1
  67. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +19 -13
  68. package/dist/astro/routes/api/admin/comments/_id_/status.mjs.map +1 -1
  69. package/dist/astro/routes/api/admin/comments/_id_.mjs +7 -5
  70. package/dist/astro/routes/api/admin/comments/_id_.mjs.map +1 -1
  71. package/dist/astro/routes/api/admin/comments/bulk.mjs +18 -12
  72. package/dist/astro/routes/api/admin/comments/bulk.mjs.map +1 -1
  73. package/dist/astro/routes/api/admin/comments/counts.mjs +7 -5
  74. package/dist/astro/routes/api/admin/comments/counts.mjs.map +1 -1
  75. package/dist/astro/routes/api/admin/comments/index.mjs +18 -12
  76. package/dist/astro/routes/api/admin/comments/index.mjs.map +1 -1
  77. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +6 -4
  78. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs.map +1 -1
  79. package/dist/astro/routes/api/admin/hooks/exclusive/index.d.mts.map +1 -1
  80. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +5 -6
  81. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs.map +1 -1
  82. package/dist/astro/routes/api/admin/media-usage/activation.mjs +21 -15
  83. package/dist/astro/routes/api/admin/media-usage/activation.mjs.map +1 -1
  84. package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs +23 -17
  85. package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs.map +1 -1
  86. package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs +23 -17
  87. package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs.map +1 -1
  88. package/dist/astro/routes/api/admin/media-usage/progress.mjs +26 -15
  89. package/dist/astro/routes/api/admin/media-usage/progress.mjs.map +1 -1
  90. package/dist/astro/routes/api/admin/media-usage/repair.mjs +32 -19
  91. package/dist/astro/routes/api/admin/media-usage/repair.mjs.map +1 -1
  92. package/dist/astro/routes/api/admin/media-usage/work/index.mjs +23 -17
  93. package/dist/astro/routes/api/admin/media-usage/work/index.mjs.map +1 -1
  94. package/dist/astro/routes/api/admin/media-usage/work/retry.mjs +23 -17
  95. package/dist/astro/routes/api/admin/media-usage/work/retry.mjs.map +1 -1
  96. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +5 -3
  97. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs.map +1 -1
  98. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +5 -3
  99. package/dist/astro/routes/api/admin/oauth-clients/index.mjs.map +1 -1
  100. package/dist/astro/routes/api/admin/plugins/_id_/disable.d.mts.map +1 -1
  101. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +10 -8
  102. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs.map +1 -1
  103. package/dist/astro/routes/api/admin/plugins/_id_/enable.d.mts.map +1 -1
  104. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +10 -8
  105. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs.map +1 -1
  106. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +72 -62
  107. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs.map +1 -1
  108. package/dist/astro/routes/api/admin/plugins/_id_/mcp.mjs +6 -4
  109. package/dist/astro/routes/api/admin/plugins/_id_/mcp.mjs.map +1 -1
  110. package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs +71 -61
  111. package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs.map +1 -1
  112. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.d.mts.map +1 -1
  113. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +74 -64
  114. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs.map +1 -1
  115. package/dist/astro/routes/api/admin/plugins/_id_/update.d.mts.map +1 -1
  116. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +84 -74
  117. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs.map +1 -1
  118. package/dist/astro/routes/api/admin/plugins/index.mjs +72 -62
  119. package/dist/astro/routes/api/admin/plugins/index.mjs.map +1 -1
  120. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +4 -2
  121. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs.map +1 -1
  122. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +71 -61
  123. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs.map +1 -1
  124. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.d.mts.map +1 -1
  125. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +83 -73
  126. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs.map +1 -1
  127. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +71 -61
  128. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs.map +1 -1
  129. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.d.mts.map +1 -1
  130. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs +74 -64
  131. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs.map +1 -1
  132. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs +85 -75
  133. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs.map +1 -1
  134. package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs +8 -6
  135. package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs.map +1 -1
  136. package/dist/astro/routes/api/admin/plugins/registry/install.mjs +76 -66
  137. package/dist/astro/routes/api/admin/plugins/registry/install.mjs.map +1 -1
  138. package/dist/astro/routes/api/admin/plugins/registry/publisher-handle.d.mts +8 -0
  139. package/dist/astro/routes/api/admin/plugins/registry/publisher-handle.d.mts.map +1 -0
  140. package/dist/astro/routes/api/admin/plugins/registry/publisher-handle.mjs +221 -0
  141. package/dist/astro/routes/api/admin/plugins/registry/publisher-handle.mjs.map +1 -0
  142. package/dist/astro/routes/api/admin/plugins/registry/verify.mjs +72 -62
  143. package/dist/astro/routes/api/admin/plugins/registry/verify.mjs.map +1 -1
  144. package/dist/astro/routes/api/admin/plugins/updates.mjs +71 -61
  145. package/dist/astro/routes/api/admin/plugins/updates.mjs.map +1 -1
  146. package/dist/astro/routes/api/admin/scheduled-policy-rejections/_collection_/_id_.mjs +6 -4
  147. package/dist/astro/routes/api/admin/scheduled-policy-rejections/_collection_/_id_.mjs.map +1 -1
  148. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +71 -61
  149. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs.map +1 -1
  150. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +4 -2
  151. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs.map +1 -1
  152. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +71 -61
  153. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs.map +1 -1
  154. package/dist/astro/routes/api/admin/transfer/_...path_.d.mts +12 -0
  155. package/dist/astro/routes/api/admin/transfer/_...path_.d.mts.map +1 -0
  156. package/dist/astro/routes/api/admin/transfer/_...path_.mjs +144 -0
  157. package/dist/astro/routes/api/admin/transfer/_...path_.mjs.map +1 -0
  158. package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.d.mts +8 -0
  159. package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.d.mts.map +1 -0
  160. package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.mjs +68 -0
  161. package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.mjs.map +1 -0
  162. package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.d.mts +8 -0
  163. package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.d.mts.map +1 -0
  164. package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.mjs +68 -0
  165. package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.mjs.map +1 -0
  166. package/dist/astro/routes/api/admin/transfer/approvals/index.d.mts +8 -0
  167. package/dist/astro/routes/api/admin/transfer/approvals/index.d.mts.map +1 -0
  168. package/dist/astro/routes/api/admin/transfer/approvals/index.mjs +67 -0
  169. package/dist/astro/routes/api/admin/transfer/approvals/index.mjs.map +1 -0
  170. package/dist/astro/routes/api/admin/transfer/capabilities.d.mts +8 -0
  171. package/dist/astro/routes/api/admin/transfer/capabilities.d.mts.map +1 -0
  172. package/dist/astro/routes/api/admin/transfer/capabilities.mjs +70 -0
  173. package/dist/astro/routes/api/admin/transfer/capabilities.mjs.map +1 -0
  174. package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.d.mts +8 -0
  175. package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.d.mts.map +1 -0
  176. package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.mjs +67 -0
  177. package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.mjs.map +1 -0
  178. package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.d.mts +8 -0
  179. package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.d.mts.map +1 -0
  180. package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.mjs +70 -0
  181. package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.mjs.map +1 -0
  182. package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.d.mts +8 -0
  183. package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.d.mts.map +1 -0
  184. package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.mjs +69 -0
  185. package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.mjs.map +1 -0
  186. package/dist/astro/routes/api/admin/transfer/exports/_id_/index.d.mts +8 -0
  187. package/dist/astro/routes/api/admin/transfer/exports/_id_/index.d.mts.map +1 -0
  188. package/dist/astro/routes/api/admin/transfer/exports/_id_/index.mjs +66 -0
  189. package/dist/astro/routes/api/admin/transfer/exports/_id_/index.mjs.map +1 -0
  190. package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.d.mts +8 -0
  191. package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.d.mts.map +1 -0
  192. package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.mjs +69 -0
  193. package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.mjs.map +1 -0
  194. package/dist/astro/routes/api/admin/transfer/exports/index.d.mts +9 -0
  195. package/dist/astro/routes/api/admin/transfer/exports/index.d.mts.map +1 -0
  196. package/dist/astro/routes/api/admin/transfer/exports/index.mjs +91 -0
  197. package/dist/astro/routes/api/admin/transfer/exports/index.mjs.map +1 -0
  198. package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.d.mts +8 -0
  199. package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.d.mts.map +1 -0
  200. package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.mjs +66 -0
  201. package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.mjs.map +1 -0
  202. package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.d.mts +8 -0
  203. package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.d.mts.map +1 -0
  204. package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.mjs +70 -0
  205. package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.mjs.map +1 -0
  206. package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.d.mts +8 -0
  207. package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.d.mts.map +1 -0
  208. package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.mjs +78 -0
  209. package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.mjs.map +1 -0
  210. package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.d.mts +8 -0
  211. package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.d.mts.map +1 -0
  212. package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.mjs +66 -0
  213. package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.mjs.map +1 -0
  214. package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.d.mts +8 -0
  215. package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.d.mts.map +1 -0
  216. package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.mjs +77 -0
  217. package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.mjs.map +1 -0
  218. package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.d.mts +8 -0
  219. package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.d.mts.map +1 -0
  220. package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.mjs +77 -0
  221. package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.mjs.map +1 -0
  222. package/dist/astro/routes/api/admin/transfer/imports/_id_/index.d.mts +8 -0
  223. package/dist/astro/routes/api/admin/transfer/imports/_id_/index.d.mts.map +1 -0
  224. package/dist/astro/routes/api/admin/transfer/imports/_id_/index.mjs +66 -0
  225. package/dist/astro/routes/api/admin/transfer/imports/_id_/index.mjs.map +1 -0
  226. package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.d.mts +8 -0
  227. package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.d.mts.map +1 -0
  228. package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.mjs +70 -0
  229. package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.mjs.map +1 -0
  230. package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.d.mts +8 -0
  231. package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.d.mts.map +1 -0
  232. package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.mjs +67 -0
  233. package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.mjs.map +1 -0
  234. package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.d.mts +8 -0
  235. package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.d.mts.map +1 -0
  236. package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.mjs +66 -0
  237. package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.mjs.map +1 -0
  238. package/dist/astro/routes/api/admin/transfer/imports/index.d.mts +9 -0
  239. package/dist/astro/routes/api/admin/transfer/imports/index.d.mts.map +1 -0
  240. package/dist/astro/routes/api/admin/transfer/imports/index.mjs +99 -0
  241. package/dist/astro/routes/api/admin/transfer/imports/index.mjs.map +1 -0
  242. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +3 -1
  243. package/dist/astro/routes/api/admin/users/_id_/disable.mjs.map +1 -1
  244. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +3 -1
  245. package/dist/astro/routes/api/admin/users/_id_/enable.mjs.map +1 -1
  246. package/dist/astro/routes/api/admin/users/_id_/index.mjs +14 -8
  247. package/dist/astro/routes/api/admin/users/_id_/index.mjs.map +1 -1
  248. package/dist/astro/routes/api/admin/users/_id_/send-recovery.d.mts.map +1 -1
  249. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +16 -6
  250. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs.map +1 -1
  251. package/dist/astro/routes/api/admin/users/index.mjs +14 -8
  252. package/dist/astro/routes/api/admin/users/index.mjs.map +1 -1
  253. package/dist/astro/routes/api/auth/dev-bypass.mjs +5 -3
  254. package/dist/astro/routes/api/auth/dev-bypass.mjs.map +1 -1
  255. package/dist/astro/routes/api/auth/invite/accept.mjs +3 -1
  256. package/dist/astro/routes/api/auth/invite/accept.mjs.map +1 -1
  257. package/dist/astro/routes/api/auth/invite/complete.mjs +19 -13
  258. package/dist/astro/routes/api/auth/invite/complete.mjs.map +1 -1
  259. package/dist/astro/routes/api/auth/invite/index.d.mts.map +1 -1
  260. package/dist/astro/routes/api/auth/invite/index.mjs +24 -12
  261. package/dist/astro/routes/api/auth/invite/index.mjs.map +1 -1
  262. package/dist/astro/routes/api/auth/invite/register-options.mjs +18 -12
  263. package/dist/astro/routes/api/auth/invite/register-options.mjs.map +1 -1
  264. package/dist/astro/routes/api/auth/logout.mjs +4 -2
  265. package/dist/astro/routes/api/auth/logout.mjs.map +1 -1
  266. package/dist/astro/routes/api/auth/magic-link/send.d.mts.map +1 -1
  267. package/dist/astro/routes/api/auth/magic-link/send.mjs +29 -15
  268. package/dist/astro/routes/api/auth/magic-link/send.mjs.map +1 -1
  269. package/dist/astro/routes/api/auth/magic-link/verify.d.mts +2 -1
  270. package/dist/astro/routes/api/auth/magic-link/verify.d.mts.map +1 -1
  271. package/dist/astro/routes/api/auth/magic-link/verify.mjs +37 -17
  272. package/dist/astro/routes/api/auth/magic-link/verify.mjs.map +1 -1
  273. package/dist/astro/routes/api/auth/me.mjs +15 -9
  274. package/dist/astro/routes/api/auth/me.mjs.map +1 -1
  275. package/dist/astro/routes/api/auth/mode.mjs +4 -2
  276. package/dist/astro/routes/api/auth/mode.mjs.map +1 -1
  277. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +4 -4
  278. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
  279. package/dist/astro/routes/api/auth/passkey/_id_.mjs +14 -8
  280. package/dist/astro/routes/api/auth/passkey/_id_.mjs.map +1 -1
  281. package/dist/astro/routes/api/auth/passkey/index.mjs +3 -1
  282. package/dist/astro/routes/api/auth/passkey/index.mjs.map +1 -1
  283. package/dist/astro/routes/api/auth/passkey/options.d.mts.map +1 -1
  284. package/dist/astro/routes/api/auth/passkey/options.mjs +21 -24
  285. package/dist/astro/routes/api/auth/passkey/options.mjs.map +1 -1
  286. package/dist/astro/routes/api/auth/passkey/register/options.mjs +18 -12
  287. package/dist/astro/routes/api/auth/passkey/register/options.mjs.map +1 -1
  288. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +19 -13
  289. package/dist/astro/routes/api/auth/passkey/register/verify.mjs.map +1 -1
  290. package/dist/astro/routes/api/auth/passkey/verify.mjs +19 -13
  291. package/dist/astro/routes/api/auth/passkey/verify.mjs.map +1 -1
  292. package/dist/astro/routes/api/auth/signup/complete.mjs +19 -13
  293. package/dist/astro/routes/api/auth/signup/complete.mjs.map +1 -1
  294. package/dist/astro/routes/api/auth/signup/request.mjs +18 -12
  295. package/dist/astro/routes/api/auth/signup/request.mjs.map +1 -1
  296. package/dist/astro/routes/api/auth/signup/verify.mjs +3 -1
  297. package/dist/astro/routes/api/auth/signup/verify.mjs.map +1 -1
  298. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +14 -11
  299. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs.map +1 -1
  300. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +21 -15
  301. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs.map +1 -1
  302. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +4 -2
  303. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs.map +1 -1
  304. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +18 -13
  305. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs.map +1 -1
  306. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +4 -3
  307. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs.map +1 -1
  308. package/dist/astro/routes/api/content/_collection_/_id_/lock.mjs +18 -13
  309. package/dist/astro/routes/api/content/_collection_/_id_/lock.mjs.map +1 -1
  310. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +4 -2
  311. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs.map +1 -1
  312. package/dist/astro/routes/api/content/_collection_/_id_/plugin-extensions/_pluginId_/_kind_/_extensionId_.mjs +10 -8
  313. package/dist/astro/routes/api/content/_collection_/_id_/plugin-extensions/_pluginId_/_kind_/_extensionId_.mjs.map +1 -1
  314. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.d.mts.map +1 -1
  315. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +68 -16
  316. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs.map +1 -1
  317. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +18 -13
  318. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs.map +1 -1
  319. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs +31 -22
  320. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs.map +1 -1
  321. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs +31 -22
  322. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs.map +1 -1
  323. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +4 -3
  324. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs.map +1 -1
  325. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +4 -2
  326. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs.map +1 -1
  327. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +18 -13
  328. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs.map +1 -1
  329. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.d.mts.map +1 -1
  330. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +38 -19
  331. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs.map +1 -1
  332. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +4 -2
  333. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs.map +1 -1
  334. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +18 -13
  335. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs.map +1 -1
  336. package/dist/astro/routes/api/content/_collection_/_id_.mjs +18 -13
  337. package/dist/astro/routes/api/content/_collection_/_id_.mjs.map +1 -1
  338. package/dist/astro/routes/api/content/_collection_/authors.mjs +4 -2
  339. package/dist/astro/routes/api/content/_collection_/authors.mjs.map +1 -1
  340. package/dist/astro/routes/api/content/_collection_/index.mjs +15 -10
  341. package/dist/astro/routes/api/content/_collection_/index.mjs.map +1 -1
  342. package/dist/astro/routes/api/content/_collection_/trash.mjs +15 -9
  343. package/dist/astro/routes/api/content/_collection_/trash.mjs.map +1 -1
  344. package/dist/astro/routes/api/dashboard.mjs +11 -9
  345. package/dist/astro/routes/api/dashboard.mjs.map +1 -1
  346. package/dist/astro/routes/api/dev/emails.mjs +4 -2
  347. package/dist/astro/routes/api/dev/emails.mjs.map +1 -1
  348. package/dist/astro/routes/api/health.mjs +5 -3
  349. package/dist/astro/routes/api/health.mjs.map +1 -1
  350. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  351. package/dist/astro/routes/api/import/probe.mjs +27 -21
  352. package/dist/astro/routes/api/import/probe.mjs.map +1 -1
  353. package/dist/astro/routes/api/import/wordpress/analyze.mjs +5 -3
  354. package/dist/astro/routes/api/import/wordpress/analyze.mjs.map +1 -1
  355. package/dist/astro/routes/api/import/wordpress/execute.d.mts +13 -13
  356. package/dist/astro/routes/api/import/wordpress/execute.mjs +18 -16
  357. package/dist/astro/routes/api/import/wordpress/execute.mjs.map +1 -1
  358. package/dist/astro/routes/api/import/wordpress/media.d.mts +12 -12
  359. package/dist/astro/routes/api/import/wordpress/media.mjs +19 -13
  360. package/dist/astro/routes/api/import/wordpress/media.mjs.map +1 -1
  361. package/dist/astro/routes/api/import/wordpress/prepare.mjs +18 -12
  362. package/dist/astro/routes/api/import/wordpress/prepare.mjs.map +1 -1
  363. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.d.mts +5 -1
  364. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.d.mts.map +1 -1
  365. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.mjs +4 -2
  366. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.mjs.map +1 -1
  367. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +13 -13
  368. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +29 -15
  369. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs.map +1 -1
  370. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  371. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +27 -21
  372. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs.map +1 -1
  373. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +13 -13
  374. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +38 -32
  375. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs.map +1 -1
  376. package/dist/astro/routes/api/manifest.mjs +6 -4
  377. package/dist/astro/routes/api/manifest.mjs.map +1 -1
  378. package/dist/astro/routes/api/mcp.d.mts.map +1 -1
  379. package/dist/astro/routes/api/mcp.mjs +724 -94
  380. package/dist/astro/routes/api/mcp.mjs.map +1 -1
  381. package/dist/astro/routes/api/media/_id_/confirm.mjs +19 -13
  382. package/dist/astro/routes/api/media/_id_/confirm.mjs.map +1 -1
  383. package/dist/astro/routes/api/media/_id_/replace.mjs +16 -10
  384. package/dist/astro/routes/api/media/_id_/replace.mjs.map +1 -1
  385. package/dist/astro/routes/api/media/_id_/upload.mjs +8 -6
  386. package/dist/astro/routes/api/media/_id_/upload.mjs.map +1 -1
  387. package/dist/astro/routes/api/media/_id_/usage.mjs +34 -21
  388. package/dist/astro/routes/api/media/_id_/usage.mjs.map +1 -1
  389. package/dist/astro/routes/api/media/_id_.d.mts.map +1 -1
  390. package/dist/astro/routes/api/media/_id_.mjs +37 -26
  391. package/dist/astro/routes/api/media/_id_.mjs.map +1 -1
  392. package/dist/astro/routes/api/media/asset/_id_/_filename_.mjs +5 -3
  393. package/dist/astro/routes/api/media/asset/_id_/_filename_.mjs.map +1 -1
  394. package/dist/astro/routes/api/media/file/_...key_.d.mts.map +1 -1
  395. package/dist/astro/routes/api/media/file/_...key_.mjs +31 -2
  396. package/dist/astro/routes/api/media/file/_...key_.mjs.map +1 -1
  397. package/dist/astro/routes/api/media/folders/_id_.mjs +16 -10
  398. package/dist/astro/routes/api/media/folders/_id_.mjs.map +1 -1
  399. package/dist/astro/routes/api/media/folders/index.mjs +16 -10
  400. package/dist/astro/routes/api/media/folders/index.mjs.map +1 -1
  401. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +4 -2
  402. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs.map +1 -1
  403. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +4 -2
  404. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs.map +1 -1
  405. package/dist/astro/routes/api/media/providers/index.mjs +4 -2
  406. package/dist/astro/routes/api/media/providers/index.mjs.map +1 -1
  407. package/dist/astro/routes/api/media/upload-url.mjs +18 -12
  408. package/dist/astro/routes/api/media/upload-url.mjs.map +1 -1
  409. package/dist/astro/routes/api/media.mjs +36 -24
  410. package/dist/astro/routes/api/media.mjs.map +1 -1
  411. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +18 -12
  412. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs.map +1 -1
  413. package/dist/astro/routes/api/menus/_name_/items.mjs +18 -12
  414. package/dist/astro/routes/api/menus/_name_/items.mjs.map +1 -1
  415. package/dist/astro/routes/api/menus/_name_/reorder.mjs +18 -12
  416. package/dist/astro/routes/api/menus/_name_/reorder.mjs.map +1 -1
  417. package/dist/astro/routes/api/menus/_name_/translations.mjs +18 -12
  418. package/dist/astro/routes/api/menus/_name_/translations.mjs.map +1 -1
  419. package/dist/astro/routes/api/menus/_name_.mjs +18 -12
  420. package/dist/astro/routes/api/menus/_name_.mjs.map +1 -1
  421. package/dist/astro/routes/api/menus/index.mjs +18 -12
  422. package/dist/astro/routes/api/menus/index.mjs.map +1 -1
  423. package/dist/astro/routes/api/oauth/authorize.d.mts.map +1 -1
  424. package/dist/astro/routes/api/oauth/authorize.mjs +9 -6
  425. package/dist/astro/routes/api/oauth/authorize.mjs.map +1 -1
  426. package/dist/astro/routes/api/oauth/device/authorize.mjs +7 -5
  427. package/dist/astro/routes/api/oauth/device/authorize.mjs.map +1 -1
  428. package/dist/astro/routes/api/oauth/device/code.mjs +10 -8
  429. package/dist/astro/routes/api/oauth/device/code.mjs.map +1 -1
  430. package/dist/astro/routes/api/oauth/device/token.mjs +9 -7
  431. package/dist/astro/routes/api/oauth/device/token.mjs.map +1 -1
  432. package/dist/astro/routes/api/oauth/register.mjs +4 -2
  433. package/dist/astro/routes/api/oauth/register.mjs.map +1 -1
  434. package/dist/astro/routes/api/oauth/token/refresh.mjs +7 -5
  435. package/dist/astro/routes/api/oauth/token/refresh.mjs.map +1 -1
  436. package/dist/astro/routes/api/oauth/token/revoke.mjs +7 -5
  437. package/dist/astro/routes/api/oauth/token/revoke.mjs.map +1 -1
  438. package/dist/astro/routes/api/oauth/token.mjs +7 -5
  439. package/dist/astro/routes/api/oauth/token.mjs.map +1 -1
  440. package/dist/astro/routes/api/openapi.json.mjs +497 -12
  441. package/dist/astro/routes/api/openapi.json.mjs.map +1 -1
  442. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +10 -8
  443. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs.map +1 -1
  444. package/dist/astro/routes/api/redirects/404s/index.mjs +21 -15
  445. package/dist/astro/routes/api/redirects/404s/index.mjs.map +1 -1
  446. package/dist/astro/routes/api/redirects/404s/summary.mjs +21 -15
  447. package/dist/astro/routes/api/redirects/404s/summary.mjs.map +1 -1
  448. package/dist/astro/routes/api/redirects/_id_.mjs +21 -15
  449. package/dist/astro/routes/api/redirects/_id_.mjs.map +1 -1
  450. package/dist/astro/routes/api/redirects/index.mjs +21 -15
  451. package/dist/astro/routes/api/redirects/index.mjs.map +1 -1
  452. package/dist/astro/routes/api/relations/_id_/index.mjs +31 -22
  453. package/dist/astro/routes/api/relations/_id_/index.mjs.map +1 -1
  454. package/dist/astro/routes/api/relations/_id_/translations.mjs +21 -16
  455. package/dist/astro/routes/api/relations/_id_/translations.mjs.map +1 -1
  456. package/dist/astro/routes/api/relations/index.mjs +31 -22
  457. package/dist/astro/routes/api/relations/index.mjs.map +1 -1
  458. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +4 -2
  459. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs.map +1 -1
  460. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +4 -3
  461. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs.map +1 -1
  462. package/dist/astro/routes/api/schema/block-types/_slug_/index.d.mts +9 -0
  463. package/dist/astro/routes/api/schema/block-types/_slug_/index.d.mts.map +1 -0
  464. package/dist/astro/routes/api/schema/block-types/_slug_/index.mjs +102 -0
  465. package/dist/astro/routes/api/schema/block-types/_slug_/index.mjs.map +1 -0
  466. package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.d.mts +8 -0
  467. package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.d.mts.map +1 -0
  468. package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.mjs +96 -0
  469. package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.mjs.map +1 -0
  470. package/dist/astro/routes/api/schema/block-types/index.d.mts +9 -0
  471. package/dist/astro/routes/api/schema/block-types/index.d.mts.map +1 -0
  472. package/dist/astro/routes/api/schema/block-types/index.mjs +102 -0
  473. package/dist/astro/routes/api/schema/block-types/index.mjs.map +1 -0
  474. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +71 -61
  475. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs.map +1 -1
  476. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +71 -61
  477. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs.map +1 -1
  478. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +71 -61
  479. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs.map +1 -1
  480. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +71 -61
  481. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs.map +1 -1
  482. package/dist/astro/routes/api/schema/collections/index.mjs +71 -61
  483. package/dist/astro/routes/api/schema/collections/index.mjs.map +1 -1
  484. package/dist/astro/routes/api/schema/collections/reorder.mjs +71 -61
  485. package/dist/astro/routes/api/schema/collections/reorder.mjs.map +1 -1
  486. package/dist/astro/routes/api/schema/index.mjs +17 -14
  487. package/dist/astro/routes/api/schema/index.mjs.map +1 -1
  488. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +71 -61
  489. package/dist/astro/routes/api/schema/orphans/_slug_.mjs.map +1 -1
  490. package/dist/astro/routes/api/schema/orphans/index.mjs +71 -61
  491. package/dist/astro/routes/api/schema/orphans/index.mjs.map +1 -1
  492. package/dist/astro/routes/api/search/enable.mjs +20 -14
  493. package/dist/astro/routes/api/search/enable.mjs.map +1 -1
  494. package/dist/astro/routes/api/search/index.mjs +19 -13
  495. package/dist/astro/routes/api/search/index.mjs.map +1 -1
  496. package/dist/astro/routes/api/search/rebuild.mjs +20 -14
  497. package/dist/astro/routes/api/search/rebuild.mjs.map +1 -1
  498. package/dist/astro/routes/api/search/stats.mjs +10 -8
  499. package/dist/astro/routes/api/search/stats.mjs.map +1 -1
  500. package/dist/astro/routes/api/search/suggest.mjs +19 -13
  501. package/dist/astro/routes/api/search/suggest.mjs.map +1 -1
  502. package/dist/astro/routes/api/sections/_slug_.mjs +19 -13
  503. package/dist/astro/routes/api/sections/_slug_.mjs.map +1 -1
  504. package/dist/astro/routes/api/sections/index.mjs +19 -13
  505. package/dist/astro/routes/api/sections/index.mjs.map +1 -1
  506. package/dist/astro/routes/api/settings/backups/archives/_name_.mjs +8 -7
  507. package/dist/astro/routes/api/settings/backups/archives/_name_.mjs.map +1 -1
  508. package/dist/astro/routes/api/settings/backups/archives/index.mjs +8 -6
  509. package/dist/astro/routes/api/settings/backups/archives/index.mjs.map +1 -1
  510. package/dist/astro/routes/api/settings/backups/export.mjs +8 -7
  511. package/dist/astro/routes/api/settings/backups/export.mjs.map +1 -1
  512. package/dist/astro/routes/api/settings/backups/index.mjs +9 -8
  513. package/dist/astro/routes/api/settings/backups/index.mjs.map +1 -1
  514. package/dist/astro/routes/api/settings/email.mjs +6 -4
  515. package/dist/astro/routes/api/settings/email.mjs.map +1 -1
  516. package/dist/astro/routes/api/settings.mjs +25 -19
  517. package/dist/astro/routes/api/settings.mjs.map +1 -1
  518. package/dist/astro/routes/api/setup/admin-verify.mjs +20 -14
  519. package/dist/astro/routes/api/setup/admin-verify.mjs.map +1 -1
  520. package/dist/astro/routes/api/setup/admin.mjs +19 -13
  521. package/dist/astro/routes/api/setup/admin.mjs.map +1 -1
  522. package/dist/astro/routes/api/setup/dev-bypass.mjs +43 -37
  523. package/dist/astro/routes/api/setup/dev-bypass.mjs.map +1 -1
  524. package/dist/astro/routes/api/setup/dev-reset.mjs +4 -2
  525. package/dist/astro/routes/api/setup/dev-reset.mjs.map +1 -1
  526. package/dist/astro/routes/api/setup/index.d.mts.map +1 -1
  527. package/dist/astro/routes/api/setup/index.mjs +78 -43
  528. package/dist/astro/routes/api/setup/index.mjs.map +1 -1
  529. package/dist/astro/routes/api/setup/status.mjs +5 -3
  530. package/dist/astro/routes/api/setup/status.mjs.map +1 -1
  531. package/dist/astro/routes/api/snapshot.mjs +11 -9
  532. package/dist/astro/routes/api/snapshot.mjs.map +1 -1
  533. package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs +25 -19
  534. package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs.map +1 -1
  535. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +25 -19
  536. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs.map +1 -1
  537. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +25 -19
  538. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs.map +1 -1
  539. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +25 -19
  540. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs.map +1 -1
  541. package/dist/astro/routes/api/taxonomies/_name_/translations.mjs +24 -18
  542. package/dist/astro/routes/api/taxonomies/_name_/translations.mjs.map +1 -1
  543. package/dist/astro/routes/api/taxonomies/_name_.mjs +25 -19
  544. package/dist/astro/routes/api/taxonomies/_name_.mjs.map +1 -1
  545. package/dist/astro/routes/api/taxonomies/bulk-tag.d.mts +8 -0
  546. package/dist/astro/routes/api/taxonomies/bulk-tag.d.mts.map +1 -0
  547. package/dist/astro/routes/api/taxonomies/bulk-tag.mjs +295 -0
  548. package/dist/astro/routes/api/taxonomies/bulk-tag.mjs.map +1 -0
  549. package/dist/astro/routes/api/taxonomies/index.mjs +25 -19
  550. package/dist/astro/routes/api/taxonomies/index.mjs.map +1 -1
  551. package/dist/astro/routes/api/themes/preview.mjs +7 -5
  552. package/dist/astro/routes/api/themes/preview.mjs.map +1 -1
  553. package/dist/astro/routes/api/typegen.d.mts.map +1 -1
  554. package/dist/astro/routes/api/typegen.mjs +12 -9
  555. package/dist/astro/routes/api/typegen.mjs.map +1 -1
  556. package/dist/astro/routes/api/visual-editing/action-token.mjs +7 -5
  557. package/dist/astro/routes/api/visual-editing/action-token.mjs.map +1 -1
  558. package/dist/astro/routes/api/visual-editing/content/_collection_/_id_/publish.mjs +22 -16
  559. package/dist/astro/routes/api/visual-editing/content/_collection_/_id_/publish.mjs.map +1 -1
  560. package/dist/astro/routes/api/visual-editing/toolbar-labels.mjs +3 -1
  561. package/dist/astro/routes/api/visual-editing/toolbar-labels.mjs.map +1 -1
  562. package/dist/astro/routes/api/well-known/auth.mjs +2 -2
  563. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +2 -2
  564. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +2 -2
  565. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +16 -10
  566. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs.map +1 -1
  567. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +20 -14
  568. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs.map +1 -1
  569. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +20 -14
  570. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs.map +1 -1
  571. package/dist/astro/routes/api/widget-areas/_name_.mjs +10 -8
  572. package/dist/astro/routes/api/widget-areas/_name_.mjs.map +1 -1
  573. package/dist/astro/routes/api/widget-areas/index.mjs +20 -14
  574. package/dist/astro/routes/api/widget-areas/index.mjs.map +1 -1
  575. package/dist/astro/routes/api/widget-components.mjs +4 -2
  576. package/dist/astro/routes/api/widget-components.mjs.map +1 -1
  577. package/dist/astro/routes/robots.txt.mjs +10 -10
  578. package/dist/astro/routes/sitemap-_collection_.xml.mjs +13 -13
  579. package/dist/astro/routes/sitemap.xml.mjs +11 -11
  580. package/dist/astro/types.d.mts +25 -17
  581. package/dist/astro/types.d.mts.map +1 -1
  582. package/dist/audit-RfCugiSB.mjs +127 -0
  583. package/dist/audit-RfCugiSB.mjs.map +1 -0
  584. package/dist/auth/providers/github.d.mts +1 -1
  585. package/dist/auth/providers/google.d.mts +1 -1
  586. package/dist/authoritative-records-CoJvBXAD.mjs +5172 -0
  587. package/dist/authoritative-records-CoJvBXAD.mjs.map +1 -0
  588. package/dist/authorize-seCifOMJ.mjs +49 -0
  589. package/dist/authorize-seCifOMJ.mjs.map +1 -0
  590. package/dist/backup-BQRj3afm.mjs +246 -0
  591. package/dist/backup-BQRj3afm.mjs.map +1 -0
  592. package/dist/block-type-registry-DUI_3KxT.mjs +6709 -0
  593. package/dist/block-type-registry-DUI_3KxT.mjs.map +1 -0
  594. package/dist/block-types-BmZmLmAD.mjs +132 -0
  595. package/dist/block-types-BmZmLmAD.mjs.map +1 -0
  596. package/dist/block-values-C_VIPr5t.mjs +175 -0
  597. package/dist/block-values-C_VIPr5t.mjs.map +1 -0
  598. package/dist/byline-DYmkXqvo.mjs +909 -0
  599. package/dist/byline-DYmkXqvo.mjs.map +1 -0
  600. package/dist/byline-fields-D28AT-Fh.mjs +123 -0
  601. package/dist/byline-fields-D28AT-Fh.mjs.map +1 -0
  602. package/dist/byline-registry-gnKscbQX.mjs +406 -0
  603. package/dist/byline-registry-gnKscbQX.mjs.map +1 -0
  604. package/dist/bylines-BPwJqoYH.mjs +232 -0
  605. package/dist/bylines-BPwJqoYH.mjs.map +1 -0
  606. package/dist/bylines-ukLaYpVZ.mjs +214 -0
  607. package/dist/bylines-ukLaYpVZ.mjs.map +1 -0
  608. package/dist/cache-m7UEkRFV.mjs +108 -0
  609. package/dist/cache-m7UEkRFV.mjs.map +1 -0
  610. package/dist/canonical-YhEQezjg.mjs +174 -0
  611. package/dist/canonical-YhEQezjg.mjs.map +1 -0
  612. package/dist/capture-triggers-kJyl_yyM.mjs +362 -0
  613. package/dist/capture-triggers-kJyl_yyM.mjs.map +1 -0
  614. package/dist/challenge-store-ppU6Uv13.mjs +51 -0
  615. package/dist/challenge-store-ppU6Uv13.mjs.map +1 -0
  616. package/dist/checksum-B2IINIlN.mjs +162 -0
  617. package/dist/checksum-B2IINIlN.mjs.map +1 -0
  618. package/dist/chrome-tags-DApCQSIk.mjs +24 -0
  619. package/dist/chrome-tags-DApCQSIk.mjs.map +1 -0
  620. package/dist/chunks-Dms7Uxbt.mjs +25 -0
  621. package/dist/chunks-Dms7Uxbt.mjs.map +1 -0
  622. package/dist/cli/index.mjs +1471 -56
  623. package/dist/cli/index.mjs.map +1 -1
  624. package/dist/client/cf-access.d.mts +1 -1
  625. package/dist/client/index.d.mts +1050 -4
  626. package/dist/client/index.d.mts.map +1 -1
  627. package/dist/client/index.mjs +193 -11
  628. package/dist/client/index.mjs.map +1 -1
  629. package/dist/collection-deletion-BIm28mo3.mjs +436 -0
  630. package/dist/collection-deletion-BIm28mo3.mjs.map +1 -0
  631. package/dist/collection-deletion-processor-Br6rxs3u.mjs +217 -0
  632. package/dist/collection-deletion-processor-Br6rxs3u.mjs.map +1 -0
  633. package/dist/collection-slugs-cache-CjGk__zp.mjs +85 -0
  634. package/dist/collection-slugs-cache-CjGk__zp.mjs.map +1 -0
  635. package/dist/comment-CrBl22OF.mjs +313 -0
  636. package/dist/comment-CrBl22OF.mjs.map +1 -0
  637. package/dist/comment-reaction-JEQ2Fpd8.mjs +85 -0
  638. package/dist/comment-reaction-JEQ2Fpd8.mjs.map +1 -0
  639. package/dist/comments-2ah9du9y.mjs +195 -0
  640. package/dist/comments-2ah9du9y.mjs.map +1 -0
  641. package/dist/comments-fHZ8ON9O.mjs +99 -0
  642. package/dist/comments-fHZ8ON9O.mjs.map +1 -0
  643. package/dist/components-CXbq7CSM.mjs +108 -0
  644. package/dist/components-CXbq7CSM.mjs.map +1 -0
  645. package/dist/config-BjEm_3xL.d.mts +6537 -0
  646. package/dist/config-BjEm_3xL.d.mts.map +1 -0
  647. package/dist/config-CvmjJcVw.mjs +73 -0
  648. package/dist/config-CvmjJcVw.mjs.map +1 -0
  649. package/dist/config-IhybvkIQ.mjs +242 -0
  650. package/dist/config-IhybvkIQ.mjs.map +1 -0
  651. package/dist/config-Py43JK9r.d.mts +39 -0
  652. package/dist/config-Py43JK9r.d.mts.map +1 -0
  653. package/dist/content-DFaIEDj9.mjs +2281 -0
  654. package/dist/content-DFaIEDj9.mjs.map +1 -0
  655. package/dist/content-list-query-Dra4Dalc.d.mts +26 -0
  656. package/dist/content-list-query-Dra4Dalc.d.mts.map +1 -0
  657. package/dist/content-policy-DFNw91-d.mjs +46 -0
  658. package/dist/content-policy-DFNw91-d.mjs.map +1 -0
  659. package/dist/content-repair-Q8IUrpLL.mjs +442 -0
  660. package/dist/content-repair-Q8IUrpLL.mjs.map +1 -0
  661. package/dist/context-BV_7t-Ua.mjs +1921 -0
  662. package/dist/context-BV_7t-Ua.mjs.map +1 -0
  663. package/dist/cron-7DCJwPXq.mjs +284 -0
  664. package/dist/cron-7DCJwPXq.mjs.map +1 -0
  665. package/dist/dashboard-BP-iJqpd.mjs +151 -0
  666. package/dist/dashboard-BP-iJqpd.mjs.map +1 -0
  667. package/dist/db/index.d.mts +3 -3
  668. package/dist/db/index.mjs +3 -3
  669. package/dist/db/libsql-migrations.d.mts +1 -1
  670. package/dist/db/libsql-migrations.mjs +6 -6
  671. package/dist/db/libsql.d.mts +1 -1
  672. package/dist/db/postgres-migrations.d.mts +1 -1
  673. package/dist/db/postgres-migrations.mjs +6 -6
  674. package/dist/db/postgres.d.mts +1 -1
  675. package/dist/db/sqlite-migrations.d.mts +1 -1
  676. package/dist/db/sqlite-migrations.mjs +6 -6
  677. package/dist/db/sqlite.d.mts +1 -1
  678. package/dist/db/sqlite.mjs +2 -2
  679. package/dist/db/sqlite.mjs.map +1 -1
  680. package/dist/default-DQ6vsviu.mjs +81 -0
  681. package/dist/default-DQ6vsviu.mjs.map +1 -0
  682. package/dist/deferred-tasks-BPxXUB4x.d.mts +9 -0
  683. package/dist/deferred-tasks-BPxXUB4x.d.mts.map +1 -0
  684. package/dist/device-flow-CRd6DXmW.mjs +466 -0
  685. package/dist/device-flow-CRd6DXmW.mjs.map +1 -0
  686. package/dist/dialect-helpers-7_IqPdh9.mjs +307 -0
  687. package/dist/dialect-helpers-7_IqPdh9.mjs.map +1 -0
  688. package/dist/digest-BarSh-pN.mjs +194 -0
  689. package/dist/digest-BarSh-pN.mjs.map +1 -0
  690. package/dist/direct-executor-D2lNadwo.mjs +104 -0
  691. package/dist/direct-executor-D2lNadwo.mjs.map +1 -0
  692. package/dist/dist-BNwANFJR.mjs +810 -0
  693. package/dist/dist-BNwANFJR.mjs.map +1 -0
  694. package/dist/email-console-bJn3ctqA.mjs +50 -0
  695. package/dist/email-console-bJn3ctqA.mjs.map +1 -0
  696. package/dist/email-locale-CN6WAMx0.mjs +25 -0
  697. package/dist/email-locale-CN6WAMx0.mjs.map +1 -0
  698. package/dist/emdash-runtime-CtfnZmPi.mjs +4186 -0
  699. package/dist/emdash-runtime-CtfnZmPi.mjs.map +1 -0
  700. package/dist/enrich-Dl3kZ-lP.mjs +194 -0
  701. package/dist/enrich-Dl3kZ-lP.mjs.map +1 -0
  702. package/dist/entry-lock-BJYdBfXb.mjs +1097 -0
  703. package/dist/entry-lock-BJYdBfXb.mjs.map +1 -0
  704. package/dist/entry-lock-Cf5OoIgN.d.mts +4368 -0
  705. package/dist/entry-lock-Cf5OoIgN.d.mts.map +1 -0
  706. package/dist/entry-lock-DHQOxN7R.mjs +163 -0
  707. package/dist/entry-lock-DHQOxN7R.mjs.map +1 -0
  708. package/dist/entry-locks-D0foLdjQ.mjs +167 -0
  709. package/dist/entry-locks-D0foLdjQ.mjs.map +1 -0
  710. package/dist/error-CfvOHP0M.mjs +90 -0
  711. package/dist/error-CfvOHP0M.mjs.map +1 -0
  712. package/dist/errors-BF0_LFhW.mjs +460 -0
  713. package/dist/errors-BF0_LFhW.mjs.map +1 -0
  714. package/dist/errors-DgE1zJGG.mjs +120 -0
  715. package/dist/errors-DgE1zJGG.mjs.map +1 -0
  716. package/dist/escape-CuaZhZvL.mjs +9 -0
  717. package/dist/escape-CuaZhZvL.mjs.map +1 -0
  718. package/dist/fence-CMDXJYc_.mjs +162 -0
  719. package/dist/fence-CMDXJYc_.mjs.map +1 -0
  720. package/dist/field-defs-cache-HIgBbqZZ.mjs +77 -0
  721. package/dist/field-defs-cache-HIgBbqZZ.mjs.map +1 -0
  722. package/dist/fts-manager-S-K0laoS.mjs +443 -0
  723. package/dist/fts-manager-S-K0laoS.mjs.map +1 -0
  724. package/dist/gc-DjKY0Ay1.mjs +75 -0
  725. package/dist/gc-DjKY0Ay1.mjs.map +1 -0
  726. package/dist/hash-SDAW6zC-.mjs +37 -0
  727. package/dist/hash-SDAW6zC-.mjs.map +1 -0
  728. package/dist/hook-result-B5bXDgS2.d.mts +31 -0
  729. package/dist/hook-result-B5bXDgS2.d.mts.map +1 -0
  730. package/dist/hreflang-CbVI4paR.mjs +105 -0
  731. package/dist/hreflang-CbVI4paR.mjs.map +1 -0
  732. package/dist/hreflang-D5uNnsGJ.d.mts +50 -0
  733. package/dist/hreflang-D5uNnsGJ.d.mts.map +1 -0
  734. package/dist/http-route-dispatch-BitqzwMy.mjs +339 -0
  735. package/dist/http-route-dispatch-BitqzwMy.mjs.map +1 -0
  736. package/dist/identity-Be5kzutJ.mjs +35 -0
  737. package/dist/identity-Be5kzutJ.mjs.map +1 -0
  738. package/dist/import-YzfKCaco.mjs +2020 -0
  739. package/dist/import-YzfKCaco.mjs.map +1 -0
  740. package/dist/index-D-hdtLe8.d.mts +623 -0
  741. package/dist/index-D-hdtLe8.d.mts.map +1 -0
  742. package/dist/index.d.mts +24 -24
  743. package/dist/index.mjs +105 -93
  744. package/dist/install-finalization-DfM1fj5x.mjs +58 -0
  745. package/dist/install-finalization-DfM1fj5x.mjs.map +1 -0
  746. package/dist/keys-yxLm5l35.mjs +61 -0
  747. package/dist/keys-yxLm5l35.mjs.map +1 -0
  748. package/dist/kinds-CRu_T5T5.mjs +961 -0
  749. package/dist/kinds-CRu_T5T5.mjs.map +1 -0
  750. package/dist/lifecycle-BzeGPeQ-.mjs +25 -0
  751. package/dist/lifecycle-BzeGPeQ-.mjs.map +1 -0
  752. package/dist/load-XgJiE6_3.mjs +28 -0
  753. package/dist/load-XgJiE6_3.mjs.map +1 -0
  754. package/dist/loader-BzqeR1ZN.mjs +1086 -0
  755. package/dist/loader-BzqeR1ZN.mjs.map +1 -0
  756. package/dist/loops-BQSzv5Zn.mjs +203 -0
  757. package/dist/loops-BQSzv5Zn.mjs.map +1 -0
  758. package/dist/manifest-builder-BmSAOOEF.mjs +189 -0
  759. package/dist/manifest-builder-BmSAOOEF.mjs.map +1 -0
  760. package/dist/manifest-schema-CY3zng_M.mjs +492 -0
  761. package/dist/manifest-schema-CY3zng_M.mjs.map +1 -0
  762. package/dist/media/image-endpoint.mjs +1 -1
  763. package/dist/media/index.d.mts +1 -1
  764. package/dist/media/index.mjs +3 -3
  765. package/dist/media/local-runtime.d.mts +14 -14
  766. package/dist/media/local-runtime.d.mts.map +1 -1
  767. package/dist/media/local-runtime.mjs +15 -16
  768. package/dist/media/local-runtime.mjs.map +1 -1
  769. package/dist/media-CPXTbb1R.mjs +373 -0
  770. package/dist/media-CPXTbb1R.mjs.map +1 -0
  771. package/dist/media-JXRWDhw3.mjs +294 -0
  772. package/dist/media-JXRWDhw3.mjs.map +1 -0
  773. package/dist/media-Pu1L6xir.mjs +408 -0
  774. package/dist/media-Pu1L6xir.mjs.map +1 -0
  775. package/dist/media-allowlist-BSoa9Vvm.mjs +44 -0
  776. package/dist/media-allowlist-BSoa9Vvm.mjs.map +1 -0
  777. package/dist/media-folders-BE0oo2eX.mjs +210 -0
  778. package/dist/media-folders-BE0oo2eX.mjs.map +1 -0
  779. package/dist/media-url-jArBpzIG.mjs +43 -0
  780. package/dist/media-url-jArBpzIG.mjs.map +1 -0
  781. package/dist/media-usage-De-zeR9E.mjs +1629 -0
  782. package/dist/media-usage-De-zeR9E.mjs.map +1 -0
  783. package/dist/media-usage-activation-HKp7zk7W.mjs +78 -0
  784. package/dist/media-usage-activation-HKp7zk7W.mjs.map +1 -0
  785. package/dist/media-usage-work-C2OZLCAd.mjs +586 -0
  786. package/dist/media-usage-work-C2OZLCAd.mjs.map +1 -0
  787. package/dist/media-usage-work-DwUNbgvS.mjs +152 -0
  788. package/dist/media-usage-work-DwUNbgvS.mjs.map +1 -0
  789. package/dist/menus-BM7BPLOb.mjs +139 -0
  790. package/dist/menus-BM7BPLOb.mjs.map +1 -0
  791. package/dist/menus-Cm68rsAq.mjs +3608 -0
  792. package/dist/menus-Cm68rsAq.mjs.map +1 -0
  793. package/dist/menus-ITeAbcIF.mjs +753 -0
  794. package/dist/menus-ITeAbcIF.mjs.map +1 -0
  795. package/dist/migrations/index.d.mts +1 -1
  796. package/dist/migrations/index.mjs +5 -5
  797. package/dist/mime-ChLqYwDk.mjs +36 -0
  798. package/dist/mime-ChLqYwDk.mjs.map +1 -0
  799. package/dist/mode-CCuKXUci.mjs +23 -0
  800. package/dist/mode-CCuKXUci.mjs.map +1 -0
  801. package/dist/node-sqlite-compat-CONMsl-x.mjs +46 -0
  802. package/dist/node-sqlite-compat-CONMsl-x.mjs.map +1 -0
  803. package/dist/normalize-CO2P8-iE.mjs +191 -0
  804. package/dist/normalize-CO2P8-iE.mjs.map +1 -0
  805. package/dist/oauth-authorization-DlMIL5_h.mjs +274 -0
  806. package/dist/oauth-authorization-DlMIL5_h.mjs.map +1 -0
  807. package/dist/oauth-clients-Djq9r_KP.mjs +266 -0
  808. package/dist/oauth-clients-Djq9r_KP.mjs.map +1 -0
  809. package/dist/oauth-state-store-BbjnZXNC.mjs +50 -0
  810. package/dist/oauth-state-store-BbjnZXNC.mjs.map +1 -0
  811. package/dist/oauth-user-lookup-vue9a64A.mjs +26 -0
  812. package/dist/oauth-user-lookup-vue9a64A.mjs.map +1 -0
  813. package/dist/object-cache/memory.d.mts +1 -1
  814. package/dist/object-cache-CqWNY5uP.mjs +582 -0
  815. package/dist/object-cache-CqWNY5uP.mjs.map +1 -0
  816. package/dist/options-DhrI7eMv.mjs +208 -0
  817. package/dist/options-DhrI7eMv.mjs.map +1 -0
  818. package/dist/options-SQCHQCPH.d.mts +81 -0
  819. package/dist/options-SQCHQCPH.d.mts.map +1 -0
  820. package/dist/page/index.d.mts +2 -2
  821. package/dist/page/index.mjs +9 -9
  822. package/dist/parse-CVgO-Qai.d.mts +168 -0
  823. package/dist/parse-CVgO-Qai.d.mts.map +1 -0
  824. package/dist/parse-DY6OD1j_.mjs +81 -0
  825. package/dist/parse-DY6OD1j_.mjs.map +1 -0
  826. package/dist/passkey-config-X_H8128a.mjs +46 -0
  827. package/dist/passkey-config-X_H8128a.mjs.map +1 -0
  828. package/dist/paths-JxokKIbr.mjs +77 -0
  829. package/dist/paths-JxokKIbr.mjs.map +1 -0
  830. package/dist/patterns-BhAvqO0S.mjs +145 -0
  831. package/dist/patterns-BhAvqO0S.mjs.map +1 -0
  832. package/dist/placeholder-MSEd8gty.d.mts +306 -0
  833. package/dist/placeholder-MSEd8gty.d.mts.map +1 -0
  834. package/dist/plan-xjcWrAah.mjs +135 -0
  835. package/dist/plan-xjcWrAah.mjs.map +1 -0
  836. package/dist/plugin-test-runtime.d.mts +38 -15
  837. package/dist/plugin-test-runtime.d.mts.map +1 -1
  838. package/dist/plugin-test-runtime.mjs +112 -100
  839. package/dist/plugin-types.d.mts +2 -2
  840. package/dist/plugin-utils.d.mts +12 -12
  841. package/dist/plugins/adapt-sandbox-entry.d.mts +12 -12
  842. package/dist/plugins/adapt-sandbox-entry.mjs +3 -3
  843. package/dist/plugins/host.d.mts +5 -5
  844. package/dist/plugins/host.mjs +45 -37
  845. package/dist/plugins-DUXUt8B9.mjs +277 -0
  846. package/dist/plugins-DUXUt8B9.mjs.map +1 -0
  847. package/dist/policy-CUvwAARc.mjs +45 -0
  848. package/dist/policy-CUvwAARc.mjs.map +1 -0
  849. package/dist/portable-text-5O_ZGUjB.mjs +307 -0
  850. package/dist/portable-text-5O_ZGUjB.mjs.map +1 -0
  851. package/dist/preview-CIUcPYr6.mjs +107 -0
  852. package/dist/preview-CIUcPYr6.mjs.map +1 -0
  853. package/dist/protocol-B97DZaFr.d.mts +61 -0
  854. package/dist/protocol-B97DZaFr.d.mts.map +1 -0
  855. package/dist/public-submission-BFBUrqst.mjs +250 -0
  856. package/dist/public-submission-BFBUrqst.mjs.map +1 -0
  857. package/dist/public-url-Bn7U0D7-.mjs +101 -0
  858. package/dist/public-url-Bn7U0D7-.mjs.map +1 -0
  859. package/dist/query-B48peoRT.mjs +890 -0
  860. package/dist/query-B48peoRT.mjs.map +1 -0
  861. package/dist/query-C4IH0uhR.mjs +41 -0
  862. package/dist/query-C4IH0uhR.mjs.map +1 -0
  863. package/dist/rate-limit-BZ6nybgc.mjs +120 -0
  864. package/dist/rate-limit-BZ6nybgc.mjs.map +1 -0
  865. package/dist/receipt-B4wJj5Jq.mjs +43 -0
  866. package/dist/receipt-B4wJj5Jq.mjs.map +1 -0
  867. package/dist/redirect-B29UjdUn.mjs +411 -0
  868. package/dist/redirect-B29UjdUn.mjs.map +1 -0
  869. package/dist/redirect-Cd1E7VUt.mjs +17 -0
  870. package/dist/redirect-Cd1E7VUt.mjs.map +1 -0
  871. package/dist/redirects-Ca2MPfEG.mjs +446 -0
  872. package/dist/redirects-Ca2MPfEG.mjs.map +1 -0
  873. package/dist/redirects-Cv9apQKj.mjs +148 -0
  874. package/dist/redirects-Cv9apQKj.mjs.map +1 -0
  875. package/dist/registry/testing.mjs +3 -3
  876. package/dist/relation-M4NUCb0b.mjs +334 -0
  877. package/dist/relation-M4NUCb0b.mjs.map +1 -0
  878. package/dist/relations-CCif47Oq.mjs +403 -0
  879. package/dist/relations-CCif47Oq.mjs.map +1 -0
  880. package/dist/relations-CK9CYUyr.mjs +310 -0
  881. package/dist/relations-CK9CYUyr.mjs.map +1 -0
  882. package/dist/request-cache-DzLYKm_x.mjs +104 -0
  883. package/dist/request-cache-DzLYKm_x.mjs.map +1 -0
  884. package/dist/request-context.d.mts +1 -1
  885. package/dist/request-meta-sZXt3sRo.mjs +141 -0
  886. package/dist/request-meta-sZXt3sRo.mjs.map +1 -0
  887. package/dist/resolve-2WbQsCvT.mjs +199 -0
  888. package/dist/resolve-2WbQsCvT.mjs.map +1 -0
  889. package/dist/route-wire--1hLuACz.mjs +197 -0
  890. package/dist/route-wire--1hLuACz.mjs.map +1 -0
  891. package/dist/routes-vrR95WR6.mjs +272 -0
  892. package/dist/routes-vrR95WR6.mjs.map +1 -0
  893. package/dist/runner-1y4J9fJB.mjs +5742 -0
  894. package/dist/runner-1y4J9fJB.mjs.map +1 -0
  895. package/dist/runner-D5_LzKXI.d.mts +68 -0
  896. package/dist/runner-D5_LzKXI.d.mts.map +1 -0
  897. package/dist/runtime.d.mts +13 -13
  898. package/dist/runtime.mjs +4 -4
  899. package/dist/schema-BABiRdsH.mjs +13 -0
  900. package/dist/schema-BABiRdsH.mjs.map +1 -0
  901. package/dist/schema-Du3MzCG0.mjs +446 -0
  902. package/dist/schema-Du3MzCG0.mjs.map +1 -0
  903. package/dist/scopes-Dbk-ElhT.mjs +34 -0
  904. package/dist/scopes-Dbk-ElhT.mjs.map +1 -0
  905. package/dist/search-Bt1PL1jf.mjs +448 -0
  906. package/dist/search-Bt1PL1jf.mjs.map +1 -0
  907. package/dist/secrets-CIi0nFiR.mjs +341 -0
  908. package/dist/secrets-CIi0nFiR.mjs.map +1 -0
  909. package/dist/sections-Ddptx_o9.mjs +346 -0
  910. package/dist/sections-Ddptx_o9.mjs.map +1 -0
  911. package/dist/seed/index.d.mts +2 -2
  912. package/dist/seed/index.mjs +35 -30
  913. package/dist/seo/index.d.mts +3 -3
  914. package/dist/seo/index.mjs +25 -21
  915. package/dist/seo/index.mjs.map +1 -1
  916. package/dist/seo-CZT2oLtT.mjs +114 -0
  917. package/dist/seo-CZT2oLtT.mjs.map +1 -0
  918. package/dist/seo-D5w3-Azy.mjs +133 -0
  919. package/dist/seo-D5w3-Azy.mjs.map +1 -0
  920. package/dist/service-DuykXPyW.mjs +150 -0
  921. package/dist/service-DuykXPyW.mjs.map +1 -0
  922. package/dist/session-user-BhaVp8w0.mjs +51 -0
  923. package/dist/session-user-BhaVp8w0.mjs.map +1 -0
  924. package/dist/settings-B4vDl1fK.mjs +439 -0
  925. package/dist/settings-B4vDl1fK.mjs.map +1 -0
  926. package/dist/settings-DYidIB26.mjs +61 -0
  927. package/dist/settings-DYidIB26.mjs.map +1 -0
  928. package/dist/settings-Dyj6v8C4.mjs +51 -0
  929. package/dist/settings-Dyj6v8C4.mjs.map +1 -0
  930. package/dist/setup-complete-bOogcHWG.mjs +26 -0
  931. package/dist/setup-complete-bOogcHWG.mjs.map +1 -0
  932. package/dist/setup-nonce-0EGuKM4s.mjs +25 -0
  933. package/dist/setup-nonce-0EGuKM4s.mjs.map +1 -0
  934. package/dist/site-settings-DOgRUoFX.mjs +50 -0
  935. package/dist/site-settings-DOgRUoFX.mjs.map +1 -0
  936. package/dist/site-url-BU_bbxwj.mjs +16 -0
  937. package/dist/site-url-BU_bbxwj.mjs.map +1 -0
  938. package/dist/snapshot-PawoX-WG.mjs +414 -0
  939. package/dist/snapshot-PawoX-WG.mjs.map +1 -0
  940. package/dist/ssrf-CJUnJymJ.mjs +406 -0
  941. package/dist/ssrf-CJUnJymJ.mjs.map +1 -0
  942. package/dist/stage-DgrBz_du.mjs +662 -0
  943. package/dist/stage-DgrBz_du.mjs.map +1 -0
  944. package/dist/state-DDiPySSG.mjs +153 -0
  945. package/dist/state-DDiPySSG.mjs.map +1 -0
  946. package/dist/status-DZKIG4a9.mjs +30 -0
  947. package/dist/status-DZKIG4a9.mjs.map +1 -0
  948. package/dist/storage/local.d.mts +1 -1
  949. package/dist/storage/local.mjs +1 -1
  950. package/dist/storage/s3.d.mts +1 -1
  951. package/dist/storage/s3.mjs +1 -1
  952. package/dist/storage-query-FXJH5pI8.d.mts +1581 -0
  953. package/dist/storage-query-FXJH5pI8.d.mts.map +1 -0
  954. package/dist/tar-_1AgTYFu.mjs +449 -0
  955. package/dist/tar-_1AgTYFu.mjs.map +1 -0
  956. package/dist/target-_7pn2Gbg.mjs +27 -0
  957. package/dist/target-_7pn2Gbg.mjs.map +1 -0
  958. package/dist/taxonomies-C1IwNe8Q.mjs +697 -0
  959. package/dist/taxonomies-C1IwNe8Q.mjs.map +1 -0
  960. package/dist/taxonomies-C_XMoRcX.mjs +939 -0
  961. package/dist/taxonomies-C_XMoRcX.mjs.map +1 -0
  962. package/dist/taxonomy-C3Fu1YeH.mjs +525 -0
  963. package/dist/taxonomy-C3Fu1YeH.mjs.map +1 -0
  964. package/dist/tokens-u78jETkX.mjs +171 -0
  965. package/dist/tokens-u78jETkX.mjs.map +1 -0
  966. package/dist/transfer-DIGvR9Af.mjs +166 -0
  967. package/dist/transfer-DIGvR9Af.mjs.map +1 -0
  968. package/dist/transfer-DgeCvHnj.mjs +8675 -0
  969. package/dist/transfer-DgeCvHnj.mjs.map +1 -0
  970. package/dist/transfer-download-Pml7RMio.mjs +33 -0
  971. package/dist/transfer-download-Pml7RMio.mjs.map +1 -0
  972. package/dist/transformations-9gfpwY65.mjs +196 -0
  973. package/dist/transformations-9gfpwY65.mjs.map +1 -0
  974. package/dist/transport-BIfH7_hx.d.mts +42 -0
  975. package/dist/transport-BIfH7_hx.d.mts.map +1 -0
  976. package/dist/transport-DKWIq53q.mjs +136 -0
  977. package/dist/transport-DKWIq53q.mjs.map +1 -0
  978. package/dist/trusted-proxy-tKiVtyTD.mjs +51 -0
  979. package/dist/trusted-proxy-tKiVtyTD.mjs.map +1 -0
  980. package/dist/turnstile-DpsoyOfg.mjs +53 -0
  981. package/dist/turnstile-DpsoyOfg.mjs.map +1 -0
  982. package/dist/types-B4sUC2p1.d.mts +198 -0
  983. package/dist/types-B4sUC2p1.d.mts.map +1 -0
  984. package/dist/types-B7Lmsh1E.d.mts +887 -0
  985. package/dist/types-B7Lmsh1E.d.mts.map +1 -0
  986. package/dist/types-BZakh7Ym.mjs +22 -0
  987. package/dist/types-BZakh7Ym.mjs.map +1 -0
  988. package/dist/types-B_CppEmv.d.mts +264 -0
  989. package/dist/types-B_CppEmv.d.mts.map +1 -0
  990. package/dist/types-BcrBrE6-.mjs +159 -0
  991. package/dist/types-BcrBrE6-.mjs.map +1 -0
  992. package/dist/types-CAZgq9fO.d.mts +124 -0
  993. package/dist/types-CAZgq9fO.d.mts.map +1 -0
  994. package/dist/types-Cd-O03VG.d.mts +363 -0
  995. package/dist/types-Cd-O03VG.d.mts.map +1 -0
  996. package/dist/types-Cr-Kg-3D.d.mts +1641 -0
  997. package/dist/types-Cr-Kg-3D.d.mts.map +1 -0
  998. package/dist/types-D2fvWd1i.d.mts +359 -0
  999. package/dist/types-D2fvWd1i.d.mts.map +1 -0
  1000. package/dist/types-D7HUsguf.mjs +77 -0
  1001. package/dist/types-D7HUsguf.mjs.map +1 -0
  1002. package/dist/types-DA1Te3Oy.d.mts +198 -0
  1003. package/dist/types-DA1Te3Oy.d.mts.map +1 -0
  1004. package/dist/types-DhV6Q5bP.mjs +18 -0
  1005. package/dist/types-DhV6Q5bP.mjs.map +1 -0
  1006. package/dist/types-DnnVSl6Y.d.mts +85 -0
  1007. package/dist/types-DnnVSl6Y.d.mts.map +1 -0
  1008. package/dist/types-VT4-BugW.mjs +16 -0
  1009. package/dist/types-VT4-BugW.mjs.map +1 -0
  1010. package/dist/upload-attempts-B68ZGNu9.mjs +32 -0
  1011. package/dist/upload-attempts-B68ZGNu9.mjs.map +1 -0
  1012. package/dist/url-pattern-CCeZMGOh.mjs +33 -0
  1013. package/dist/url-pattern-CCeZMGOh.mjs.map +1 -0
  1014. package/dist/user-DDSL-sGw.mjs +171 -0
  1015. package/dist/user-DDSL-sGw.mjs.map +1 -0
  1016. package/dist/utils-DdhmO9w9.mjs +439 -0
  1017. package/dist/utils-DdhmO9w9.mjs.map +1 -0
  1018. package/dist/validate-CHosPEhs.mjs +453 -0
  1019. package/dist/validate-CHosPEhs.mjs.map +1 -0
  1020. package/dist/validate-CM79QXYE.d.mts +432 -0
  1021. package/dist/validate-CM79QXYE.d.mts.map +1 -0
  1022. package/dist/validation-BFecQczG.mjs +218 -0
  1023. package/dist/validation-BFecQczG.mjs.map +1 -0
  1024. package/dist/version-BRZXVifl.mjs +9 -0
  1025. package/dist/version-BRZXVifl.mjs.map +1 -0
  1026. package/dist/version-DXsxRrob.mjs +7 -0
  1027. package/dist/version-DXsxRrob.mjs.map +1 -0
  1028. package/dist/widgets-WdV72brA.mjs +126 -0
  1029. package/dist/widgets-WdV72brA.mjs.map +1 -0
  1030. package/dist/wxr-taxonomies-BHTdqkmZ.d.mts +34 -0
  1031. package/dist/wxr-taxonomies-BHTdqkmZ.d.mts.map +1 -0
  1032. package/dist/wxr-taxonomies-DP6ESgMN.mjs +372 -0
  1033. package/dist/wxr-taxonomies-DP6ESgMN.mjs.map +1 -0
  1034. package/dist/zod-generator-D6uE4WiS.mjs +389 -0
  1035. package/dist/zod-generator-D6uE4WiS.mjs.map +1 -0
  1036. package/package.json +6 -5
  1037. package/src/api/authorize.ts +17 -0
  1038. package/src/api/email-locale.ts +24 -0
  1039. package/src/api/errors.ts +16 -0
  1040. package/src/api/handlers/api-tokens.ts +18 -3
  1041. package/src/api/handlers/block-types.ts +129 -0
  1042. package/src/api/handlers/bulk-tag.ts +309 -0
  1043. package/src/api/handlers/comments.ts +0 -28
  1044. package/src/api/handlers/index.ts +11 -0
  1045. package/src/api/handlers/manifest.ts +8 -1
  1046. package/src/api/handlers/marketplace.ts +22 -16
  1047. package/src/api/handlers/media-upload.ts +17 -71
  1048. package/src/api/handlers/media-usage.ts +31 -12
  1049. package/src/api/handlers/media.ts +112 -13
  1050. package/src/api/handlers/schema.ts +33 -8
  1051. package/src/api/handlers/settings.ts +2 -2
  1052. package/src/api/handlers/snapshot.ts +261 -3
  1053. package/src/api/handlers/taxonomies.ts +132 -83
  1054. package/src/api/handlers/transfer.ts +1347 -0
  1055. package/src/api/handlers/validate-media-fields.ts +124 -12
  1056. package/src/api/media-usage-write-fence.ts +5 -26
  1057. package/src/api/openapi/document.ts +614 -5
  1058. package/src/api/schemas/auth.ts +7 -1
  1059. package/src/api/schemas/common.ts +5 -0
  1060. package/src/api/schemas/content.ts +20 -1
  1061. package/src/api/schemas/media-usage.ts +11 -0
  1062. package/src/api/schemas/menus.ts +1 -1
  1063. package/src/api/schemas/schema.ts +117 -0
  1064. package/src/api/schemas/settings.ts +3 -3
  1065. package/src/api/schemas/taxonomies.ts +18 -0
  1066. package/src/api/schemas/transfer.ts +249 -0
  1067. package/src/api/transfer-download.ts +36 -0
  1068. package/src/api/types.ts +3 -0
  1069. package/src/astro/integration/routes.ts +31 -0
  1070. package/src/astro/integration/vite-config.ts +36 -4
  1071. package/src/astro/middleware/auth.ts +30 -7
  1072. package/src/astro/middleware/media-usage-write-fence.ts +106 -11
  1073. package/src/astro/middleware/request-context.ts +16 -2
  1074. package/src/astro/middleware.ts +39 -18
  1075. package/src/astro/routes/admin.astro +3 -1
  1076. package/src/astro/routes/api/admin/hooks/exclusive/index.ts +1 -5
  1077. package/src/astro/routes/api/admin/plugins/[id]/disable.ts +4 -3
  1078. package/src/astro/routes/api/admin/plugins/[id]/enable.ts +4 -3
  1079. package/src/astro/routes/api/admin/plugins/[id]/uninstall.ts +4 -3
  1080. package/src/astro/routes/api/admin/plugins/[id]/update.ts +4 -3
  1081. package/src/astro/routes/api/admin/plugins/marketplace/[id]/install.ts +4 -3
  1082. package/src/astro/routes/api/admin/plugins/registry/[id]/uninstall.ts +4 -3
  1083. package/src/astro/routes/api/admin/plugins/registry/[id]/update.ts +3 -3
  1084. package/src/astro/routes/api/admin/plugins/registry/install.ts +3 -3
  1085. package/src/astro/routes/api/admin/plugins/registry/publisher-handle.ts +59 -0
  1086. package/src/astro/routes/api/admin/transfer/[...path].ts +143 -0
  1087. package/src/astro/routes/api/admin/transfer/approvals/[id]/approve.ts +35 -0
  1088. package/src/astro/routes/api/admin/transfer/approvals/[id]/deny.ts +35 -0
  1089. package/src/astro/routes/api/admin/transfer/approvals/index.ts +33 -0
  1090. package/src/astro/routes/api/admin/transfer/capabilities.ts +36 -0
  1091. package/src/astro/routes/api/admin/transfer/exports/[id]/advance.ts +34 -0
  1092. package/src/astro/routes/api/admin/transfer/exports/[id]/archive.ts +35 -0
  1093. package/src/astro/routes/api/admin/transfer/exports/[id]/files/[...path].ts +40 -0
  1094. package/src/astro/routes/api/admin/transfer/exports/[id]/index.ts +25 -0
  1095. package/src/astro/routes/api/admin/transfer/exports/[id]/manifest.ts +38 -0
  1096. package/src/astro/routes/api/admin/transfer/exports/index.ts +64 -0
  1097. package/src/astro/routes/api/admin/transfer/imports/[id]/abandon.ts +28 -0
  1098. package/src/astro/routes/api/admin/transfer/imports/[id]/advance.ts +37 -0
  1099. package/src/astro/routes/api/admin/transfer/imports/[id]/analyze.ts +51 -0
  1100. package/src/astro/routes/api/admin/transfer/imports/[id]/cancel.ts +27 -0
  1101. package/src/astro/routes/api/admin/transfer/imports/[id]/execute.ts +48 -0
  1102. package/src/astro/routes/api/admin/transfer/imports/[id]/files/[...path].ts +54 -0
  1103. package/src/astro/routes/api/admin/transfer/imports/[id]/index.ts +25 -0
  1104. package/src/astro/routes/api/admin/transfer/imports/[id]/missing.ts +34 -0
  1105. package/src/astro/routes/api/admin/transfer/imports/[id]/plan.ts +29 -0
  1106. package/src/astro/routes/api/admin/transfer/imports/[id]/receipt.ts +25 -0
  1107. package/src/astro/routes/api/admin/transfer/imports/index.ts +85 -0
  1108. package/src/astro/routes/api/admin/users/[id]/send-recovery.ts +9 -1
  1109. package/src/astro/routes/api/auth/invite/index.ts +15 -1
  1110. package/src/astro/routes/api/auth/magic-link/send.ts +9 -1
  1111. package/src/astro/routes/api/auth/magic-link/verify.ts +37 -39
  1112. package/src/astro/routes/api/auth/passkey/options.ts +2 -21
  1113. package/src/astro/routes/api/content/[collection]/[id]/preview-url.ts +64 -13
  1114. package/src/astro/routes/api/content/[collection]/[id]/terms/[taxonomy].ts +16 -1
  1115. package/src/astro/routes/api/import/wordpress/rewrite-url-helpers.ts +11 -4
  1116. package/src/astro/routes/api/mcp.ts +1 -0
  1117. package/src/astro/routes/api/media/[id].ts +5 -15
  1118. package/src/astro/routes/api/media/file/[...key].ts +30 -5
  1119. package/src/astro/routes/api/oauth/authorize.ts +4 -0
  1120. package/src/astro/routes/api/schema/block-types/[slug]/index.ts +29 -0
  1121. package/src/astro/routes/api/schema/block-types/[slug]/versions/[version]/activate.ts +31 -0
  1122. package/src/astro/routes/api/schema/block-types/index.ts +29 -0
  1123. package/src/astro/routes/api/setup/index.ts +66 -23
  1124. package/src/astro/routes/api/snapshot.ts +2 -1
  1125. package/src/astro/routes/api/taxonomies/bulk-tag.ts +29 -0
  1126. package/src/astro/routes/api/typegen.ts +8 -4
  1127. package/src/astro/types.ts +9 -0
  1128. package/src/auth/api-tokens.ts +1 -0
  1129. package/src/auth/rate-limit.ts +2 -1
  1130. package/src/auth/scopes.ts +11 -0
  1131. package/src/cleanup.ts +24 -0
  1132. package/src/cli/client-factory.ts +6 -1
  1133. package/src/cli/commands/export-seed.ts +41 -15
  1134. package/src/cli/commands/seed.ts +6 -2
  1135. package/src/cli/commands/site.ts +556 -0
  1136. package/src/cli/index.ts +2 -0
  1137. package/src/cli/site/archive.ts +273 -0
  1138. package/src/cli/site/export.ts +311 -0
  1139. package/src/cli/site/import.ts +815 -0
  1140. package/src/cli/site/shared.ts +241 -0
  1141. package/src/client/index.ts +414 -11
  1142. package/src/client/portable-text.ts +41 -0
  1143. package/src/comments/public-submission.ts +19 -11
  1144. package/src/components/Blocks.astro +46 -0
  1145. package/src/components/Columns.astro +3 -1
  1146. package/src/components/Cover.astro +3 -1
  1147. package/src/components/Gallery.astro +2 -1
  1148. package/src/components/Image.astro +51 -6
  1149. package/src/components/InlinePortableTextEditor.tsx +28 -18
  1150. package/src/components/blocks.ts +44 -0
  1151. package/src/components/index.ts +14 -4
  1152. package/src/content/converters/gallery.ts +54 -16
  1153. package/src/content/converters/image-link.ts +27 -0
  1154. package/src/content/converters/index.ts +1 -0
  1155. package/src/content/converters/portable-text-to-prosemirror.ts +10 -7
  1156. package/src/content/converters/prosemirror-to-portable-text.ts +14 -0
  1157. package/src/content/converters/types.ts +17 -0
  1158. package/src/database/content-datetime.ts +19 -2
  1159. package/src/database/migrations/035_bounded_404_log.ts +28 -39
  1160. package/src/database/migrations/083_block_types.ts +58 -0
  1161. package/src/database/migrations/084_site_transfer.ts +264 -0
  1162. package/src/database/migrations/085_taxonomy_def_groups.ts +155 -0
  1163. package/src/database/migrations/runner.ts +6 -0
  1164. package/src/database/repositories/audit.ts +10 -1
  1165. package/src/database/repositories/byline.ts +4 -1
  1166. package/src/database/repositories/content.ts +83 -11
  1167. package/src/database/repositories/media-usage.ts +43 -13
  1168. package/src/database/repositories/media.ts +72 -2
  1169. package/src/database/repositories/options.ts +12 -0
  1170. package/src/database/repositories/redirect.ts +17 -34
  1171. package/src/database/repositories/revision.ts +6 -3
  1172. package/src/database/repositories/taxonomy-def.ts +126 -0
  1173. package/src/database/repositories/taxonomy.ts +65 -26
  1174. package/src/database/types.ts +133 -1
  1175. package/src/db/sqlite.ts +1 -1
  1176. package/src/emdash-runtime.ts +315 -51
  1177. package/src/import/utils.ts +8 -1
  1178. package/src/import/wxr-taxonomies.ts +11 -67
  1179. package/src/index.ts +27 -1
  1180. package/src/loader.ts +9 -5
  1181. package/src/mcp/server.ts +533 -76
  1182. package/src/mcp/transfer.ts +569 -0
  1183. package/src/media/local-runtime.ts +5 -18
  1184. package/src/media/upload-attempts.ts +5 -0
  1185. package/src/media/url.ts +15 -0
  1186. package/src/media/usage/content-fields.ts +69 -5
  1187. package/src/media/usage/content-refresh.ts +13 -66
  1188. package/src/media/usage/content-repair.ts +10 -2
  1189. package/src/media/usage/extractor.ts +74 -3
  1190. package/src/media/usage/projection-fingerprint.ts +14 -0
  1191. package/src/media/usage/schema-invalidation.ts +72 -0
  1192. package/src/media/usage/site-settings.ts +52 -0
  1193. package/src/media/usage/types.ts +2 -0
  1194. package/src/object-cache/index.ts +69 -4
  1195. package/src/plugin-test-runtime.ts +1 -0
  1196. package/src/plugins/context.ts +104 -56
  1197. package/src/plugins/cron.ts +6 -4
  1198. package/src/plugins/define-plugin.ts +11 -1
  1199. package/src/plugins/email-console.ts +2 -0
  1200. package/src/plugins/email.ts +16 -0
  1201. package/src/plugins/hooks.ts +33 -9
  1202. package/src/plugins/manifest-schema.ts +1 -0
  1203. package/src/plugins/route-error.ts +57 -0
  1204. package/src/plugins/routes.ts +5 -60
  1205. package/src/plugins/sandbox/types.ts +22 -2
  1206. package/src/plugins/types.ts +4 -0
  1207. package/src/registry/artifact-fetch.ts +17 -4
  1208. package/src/registry/publisher-handle.ts +273 -0
  1209. package/src/schema/block-type-contract.ts +478 -0
  1210. package/src/schema/block-type-registry.ts +689 -0
  1211. package/src/schema/block-types.ts +110 -0
  1212. package/src/schema/block-values.ts +293 -0
  1213. package/src/schema/byline-registry.ts +1 -1
  1214. package/src/schema/index.ts +28 -0
  1215. package/src/schema/registry.ts +462 -12
  1216. package/src/schema/types.ts +12 -1
  1217. package/src/schema/zod-generator.ts +92 -9
  1218. package/src/search/fts-manager.ts +40 -0
  1219. package/src/seed/apply.ts +493 -88
  1220. package/src/seed/types.ts +23 -3
  1221. package/src/seed/validate.ts +131 -7
  1222. package/src/settings/index.ts +32 -9
  1223. package/src/settings/types.ts +15 -0
  1224. package/src/taxonomies/index.ts +72 -83
  1225. package/src/transfer/analyze/index.ts +45 -0
  1226. package/src/transfer/analyze/issues.ts +55 -0
  1227. package/src/transfer/analyze/plan.ts +327 -0
  1228. package/src/transfer/analyze/read.ts +134 -0
  1229. package/src/transfer/analyze/step.ts +551 -0
  1230. package/src/transfer/analyze/target.ts +269 -0
  1231. package/src/transfer/analyze/unique-keys.ts +228 -0
  1232. package/src/transfer/analyze/validate.ts +1412 -0
  1233. package/src/transfer/analyze/values.ts +227 -0
  1234. package/src/transfer/analyze/write-rules.ts +196 -0
  1235. package/src/transfer/audit.ts +38 -0
  1236. package/src/transfer/auth.ts +25 -0
  1237. package/src/transfer/container/tar.ts +242 -0
  1238. package/src/transfer/domain.ts +248 -0
  1239. package/src/transfer/errors.ts +134 -0
  1240. package/src/transfer/export/exporter.ts +1067 -0
  1241. package/src/transfer/export/fence.ts +84 -0
  1242. package/src/transfer/export/media.ts +165 -0
  1243. package/src/transfer/export/readers.ts +1164 -0
  1244. package/src/transfer/export/verify.ts +677 -0
  1245. package/src/transfer/fence.ts +193 -0
  1246. package/src/transfer/format/canonical.ts +151 -0
  1247. package/src/transfer/format/column-codec.ts +275 -0
  1248. package/src/transfer/format/columns.ts +707 -0
  1249. package/src/transfer/format/digest.ts +287 -0
  1250. package/src/transfer/format/features.ts +91 -0
  1251. package/src/transfer/format/issues.ts +39 -0
  1252. package/src/transfer/format/kinds.ts +936 -0
  1253. package/src/transfer/format/limits.ts +87 -0
  1254. package/src/transfer/format/manifest.ts +297 -0
  1255. package/src/transfer/format/media-refs.ts +716 -0
  1256. package/src/transfer/format/paths.ts +73 -0
  1257. package/src/transfer/format/plan.ts +162 -0
  1258. package/src/transfer/format/receipt.ts +43 -0
  1259. package/src/transfer/format/records.ts +127 -0
  1260. package/src/transfer/format/settings.ts +94 -0
  1261. package/src/transfer/format/transformations.ts +260 -0
  1262. package/src/transfer/format/version.ts +9 -0
  1263. package/src/transfer/gc.ts +103 -0
  1264. package/src/transfer/import/advance.ts +522 -0
  1265. package/src/transfer/import/context.ts +281 -0
  1266. package/src/transfer/import/entries.ts +186 -0
  1267. package/src/transfer/import/ids.ts +40 -0
  1268. package/src/transfer/import/index.ts +15 -0
  1269. package/src/transfer/import/media.ts +141 -0
  1270. package/src/transfer/import/rebuild.ts +300 -0
  1271. package/src/transfer/import/rows.ts +114 -0
  1272. package/src/transfer/import/scaffold.ts +221 -0
  1273. package/src/transfer/import/sql.ts +134 -0
  1274. package/src/transfer/import/stages.ts +329 -0
  1275. package/src/transfer/import/writers.ts +370 -0
  1276. package/src/transfer/index.ts +472 -0
  1277. package/src/transfer/ops/approvals.ts +359 -0
  1278. package/src/transfer/ops/budget.ts +82 -0
  1279. package/src/transfer/ops/collation.ts +21 -0
  1280. package/src/transfer/ops/identity-map.ts +142 -0
  1281. package/src/transfer/ops/media-blobs.ts +135 -0
  1282. package/src/transfer/ops/operations.ts +842 -0
  1283. package/src/transfer/ops/package-index.ts +159 -0
  1284. package/src/transfer/ops/staged-files.ts +231 -0
  1285. package/src/transfer/ops/states.ts +265 -0
  1286. package/src/transfer/ops/time.ts +54 -0
  1287. package/src/transfer/schema-importer.ts +34 -0
  1288. package/src/transfer/site-id.ts +30 -0
  1289. package/src/transfer/staging/assembler.ts +217 -0
  1290. package/src/transfer/staging/keys.ts +94 -0
  1291. package/src/transfer/staging/package.ts +229 -0
  1292. package/src/transfer/staging/stage.ts +231 -0
  1293. package/src/ui.ts +19 -0
  1294. package/src/visual-editing/toolbar.ts +125 -37
  1295. package/dist/action-token-On1sot_c.mjs +0 -26
  1296. package/dist/action-token-On1sot_c.mjs.map +0 -1
  1297. package/dist/activation-CaMfdBt1.mjs +0 -382
  1298. package/dist/activation-CaMfdBt1.mjs.map +0 -1
  1299. package/dist/adapters-Cq10K4_c.d.mts +0 -171
  1300. package/dist/adapters-Cq10K4_c.d.mts.map +0 -1
  1301. package/dist/allowed-origins-1Sa-2wZK.mjs +0 -116
  1302. package/dist/allowed-origins-1Sa-2wZK.mjs.map +0 -1
  1303. package/dist/api-BB5BoQbN.mjs +0 -4831
  1304. package/dist/api-BB5BoQbN.mjs.map +0 -1
  1305. package/dist/api-tokens-BIXItFKV.mjs +0 -163
  1306. package/dist/api-tokens-BIXItFKV.mjs.map +0 -1
  1307. package/dist/api-tokens-DS1VzN7_.mjs +0 -3
  1308. package/dist/apply-CsKm_5S5.mjs +0 -1005
  1309. package/dist/apply-CsKm_5S5.mjs.map +0 -1
  1310. package/dist/artifact-fetch-COiMhVgk.mjs +0 -813
  1311. package/dist/artifact-fetch-COiMhVgk.mjs.map +0 -1
  1312. package/dist/authoritative-records-DbqshfKD.mjs +0 -5172
  1313. package/dist/authoritative-records-DbqshfKD.mjs.map +0 -1
  1314. package/dist/authorize-BXpfMpp0.mjs +0 -40
  1315. package/dist/authorize-BXpfMpp0.mjs.map +0 -1
  1316. package/dist/backup-B4tByjBb.mjs +0 -246
  1317. package/dist/backup-B4tByjBb.mjs.map +0 -1
  1318. package/dist/byline-C8ndlnP0.mjs +0 -906
  1319. package/dist/byline-C8ndlnP0.mjs.map +0 -1
  1320. package/dist/byline-fields-CsrdvaLV.mjs +0 -123
  1321. package/dist/byline-fields-CsrdvaLV.mjs.map +0 -1
  1322. package/dist/byline-registry-D6lWzXk6.mjs +0 -406
  1323. package/dist/byline-registry-D6lWzXk6.mjs.map +0 -1
  1324. package/dist/bylines-CHP44GkL.mjs +0 -232
  1325. package/dist/bylines-CHP44GkL.mjs.map +0 -1
  1326. package/dist/bylines-DxjM4Usz.mjs +0 -214
  1327. package/dist/bylines-DxjM4Usz.mjs.map +0 -1
  1328. package/dist/cache-BByLKGPu.mjs +0 -108
  1329. package/dist/cache-BByLKGPu.mjs.map +0 -1
  1330. package/dist/capture-triggers-gxQxnxrJ.mjs +0 -362
  1331. package/dist/capture-triggers-gxQxnxrJ.mjs.map +0 -1
  1332. package/dist/challenge-store-CkRdSdd8.mjs +0 -51
  1333. package/dist/challenge-store-CkRdSdd8.mjs.map +0 -1
  1334. package/dist/checksum-Bsi2D9M1.mjs +0 -162
  1335. package/dist/checksum-Bsi2D9M1.mjs.map +0 -1
  1336. package/dist/chrome-tags-D7LGB91U.mjs +0 -24
  1337. package/dist/chrome-tags-D7LGB91U.mjs.map +0 -1
  1338. package/dist/chunks-DUK-cWXi.mjs +0 -25
  1339. package/dist/chunks-DUK-cWXi.mjs.map +0 -1
  1340. package/dist/collection-deletion-C-yQB9fq.mjs +0 -436
  1341. package/dist/collection-deletion-C-yQB9fq.mjs.map +0 -1
  1342. package/dist/collection-slugs-cache-D9auiKmI.mjs +0 -85
  1343. package/dist/collection-slugs-cache-D9auiKmI.mjs.map +0 -1
  1344. package/dist/comment-DcT8qdPK.mjs +0 -313
  1345. package/dist/comment-DcT8qdPK.mjs.map +0 -1
  1346. package/dist/comment-reaction-B6KHCLYK.mjs +0 -85
  1347. package/dist/comment-reaction-B6KHCLYK.mjs.map +0 -1
  1348. package/dist/comments-B67VRNGw.mjs +0 -204
  1349. package/dist/comments-B67VRNGw.mjs.map +0 -1
  1350. package/dist/comments-BVzzt6x5.mjs +0 -99
  1351. package/dist/comments-BVzzt6x5.mjs.map +0 -1
  1352. package/dist/components-DIl9Qzh6.mjs +0 -108
  1353. package/dist/components-DIl9Qzh6.mjs.map +0 -1
  1354. package/dist/config-B2acLeC5.mjs +0 -242
  1355. package/dist/config-B2acLeC5.mjs.map +0 -1
  1356. package/dist/config-CGVeT8Hc.mjs +0 -73
  1357. package/dist/config-CGVeT8Hc.mjs.map +0 -1
  1358. package/dist/config-Cw1Xz_Br.d.mts +0 -6387
  1359. package/dist/config-Cw1Xz_Br.d.mts.map +0 -1
  1360. package/dist/config-D3HhLON3.d.mts +0 -39
  1361. package/dist/config-D3HhLON3.d.mts.map +0 -1
  1362. package/dist/content-C0Hl3ktM.mjs +0 -2216
  1363. package/dist/content-C0Hl3ktM.mjs.map +0 -1
  1364. package/dist/content-list-query-CbPdzsna.d.mts +0 -26
  1365. package/dist/content-list-query-CbPdzsna.d.mts.map +0 -1
  1366. package/dist/content-policy-CM4skrNi.mjs +0 -46
  1367. package/dist/content-policy-CM4skrNi.mjs.map +0 -1
  1368. package/dist/content-refresh-iRBhQHr5.mjs +0 -3599
  1369. package/dist/content-refresh-iRBhQHr5.mjs.map +0 -1
  1370. package/dist/content-repair-8uHRIJkd.mjs +0 -440
  1371. package/dist/content-repair-8uHRIJkd.mjs.map +0 -1
  1372. package/dist/context-DJP3aNeR.mjs +0 -1835
  1373. package/dist/context-DJP3aNeR.mjs.map +0 -1
  1374. package/dist/cron-BcR3RN4K.mjs +0 -282
  1375. package/dist/cron-BcR3RN4K.mjs.map +0 -1
  1376. package/dist/dashboard-B0s6QKgi.mjs +0 -151
  1377. package/dist/dashboard-B0s6QKgi.mjs.map +0 -1
  1378. package/dist/default-BtlxWgh9.mjs +0 -81
  1379. package/dist/default-BtlxWgh9.mjs.map +0 -1
  1380. package/dist/deferred-tasks-Ba9fphlE.d.mts +0 -9
  1381. package/dist/deferred-tasks-Ba9fphlE.d.mts.map +0 -1
  1382. package/dist/device-flow-3E5l0fpH.mjs +0 -466
  1383. package/dist/device-flow-3E5l0fpH.mjs.map +0 -1
  1384. package/dist/dialect-helpers-CtYdsX4W.mjs +0 -307
  1385. package/dist/dialect-helpers-CtYdsX4W.mjs.map +0 -1
  1386. package/dist/direct-executor-CDr1quOq.mjs +0 -104
  1387. package/dist/direct-executor-CDr1quOq.mjs.map +0 -1
  1388. package/dist/dist-2hDLsLeq.mjs +0 -810
  1389. package/dist/dist-2hDLsLeq.mjs.map +0 -1
  1390. package/dist/email-console-gc-E3Eqj.mjs +0 -50
  1391. package/dist/email-console-gc-E3Eqj.mjs.map +0 -1
  1392. package/dist/emdash-runtime-CxxL05Z0.mjs +0 -4041
  1393. package/dist/emdash-runtime-CxxL05Z0.mjs.map +0 -1
  1394. package/dist/enrich-C2Mk0lwE.mjs +0 -194
  1395. package/dist/enrich-C2Mk0lwE.mjs.map +0 -1
  1396. package/dist/entry-lock-CwWdnFyR.mjs +0 -1520
  1397. package/dist/entry-lock-CwWdnFyR.mjs.map +0 -1
  1398. package/dist/entry-lock-D9rnj2Lu.mjs +0 -163
  1399. package/dist/entry-lock-D9rnj2Lu.mjs.map +0 -1
  1400. package/dist/entry-lock-DqkvBC6L.d.mts +0 -3503
  1401. package/dist/entry-lock-DqkvBC6L.d.mts.map +0 -1
  1402. package/dist/entry-locks-CO_KaoU5.mjs +0 -167
  1403. package/dist/entry-locks-CO_KaoU5.mjs.map +0 -1
  1404. package/dist/error-CCTCskie.mjs +0 -90
  1405. package/dist/error-CCTCskie.mjs.map +0 -1
  1406. package/dist/errors-W3PA8HqB.mjs +0 -447
  1407. package/dist/errors-W3PA8HqB.mjs.map +0 -1
  1408. package/dist/escape-DN4Qmjsl.mjs +0 -9
  1409. package/dist/escape-DN4Qmjsl.mjs.map +0 -1
  1410. package/dist/field-defs-cache-Db0pJgqn.mjs +0 -77
  1411. package/dist/field-defs-cache-Db0pJgqn.mjs.map +0 -1
  1412. package/dist/fts-manager-CjX0e5BR.mjs +0 -413
  1413. package/dist/fts-manager-CjX0e5BR.mjs.map +0 -1
  1414. package/dist/hash-CLVFzWvx.mjs +0 -37
  1415. package/dist/hash-CLVFzWvx.mjs.map +0 -1
  1416. package/dist/hook-result-KY1jq21o.d.mts +0 -31
  1417. package/dist/hook-result-KY1jq21o.d.mts.map +0 -1
  1418. package/dist/hreflang-BgS2FqhH.d.mts +0 -50
  1419. package/dist/hreflang-BgS2FqhH.d.mts.map +0 -1
  1420. package/dist/hreflang-DOQeTXpg.mjs +0 -105
  1421. package/dist/hreflang-DOQeTXpg.mjs.map +0 -1
  1422. package/dist/http-route-dispatch-MCVKiQCl.mjs +0 -339
  1423. package/dist/http-route-dispatch-MCVKiQCl.mjs.map +0 -1
  1424. package/dist/identity-vFbpuwfY.mjs +0 -35
  1425. package/dist/identity-vFbpuwfY.mjs.map +0 -1
  1426. package/dist/import-got6I69S.mjs +0 -2020
  1427. package/dist/import-got6I69S.mjs.map +0 -1
  1428. package/dist/index-CDwKDkTq.d.mts +0 -623
  1429. package/dist/index-CDwKDkTq.d.mts.map +0 -1
  1430. package/dist/install-finalization-5Os-QZ-2.mjs +0 -58
  1431. package/dist/install-finalization-5Os-QZ-2.mjs.map +0 -1
  1432. package/dist/lifecycle-7e-Lt_kX.mjs +0 -25
  1433. package/dist/lifecycle-7e-Lt_kX.mjs.map +0 -1
  1434. package/dist/load-C56XiwbV.mjs +0 -28
  1435. package/dist/load-C56XiwbV.mjs.map +0 -1
  1436. package/dist/loader-xhNQiT9T.mjs +0 -1004
  1437. package/dist/loader-xhNQiT9T.mjs.map +0 -1
  1438. package/dist/manifest-builder-Bz3nxVET.mjs +0 -189
  1439. package/dist/manifest-builder-Bz3nxVET.mjs.map +0 -1
  1440. package/dist/manifest-schema-Bkh8SeHd.mjs +0 -491
  1441. package/dist/manifest-schema-Bkh8SeHd.mjs.map +0 -1
  1442. package/dist/media-TBlKCwo7.mjs +0 -334
  1443. package/dist/media-TBlKCwo7.mjs.map +0 -1
  1444. package/dist/media-allowlist-s60eAIf6.mjs +0 -44
  1445. package/dist/media-allowlist-s60eAIf6.mjs.map +0 -1
  1446. package/dist/media-folders-ClIRLUQv.mjs +0 -210
  1447. package/dist/media-folders-ClIRLUQv.mjs.map +0 -1
  1448. package/dist/media-url-DY_ijO3B.mjs +0 -43
  1449. package/dist/media-url-DY_ijO3B.mjs.map +0 -1
  1450. package/dist/media-usage-Bd9rFPKN.mjs +0 -1833
  1451. package/dist/media-usage-Bd9rFPKN.mjs.map +0 -1
  1452. package/dist/media-usage-activation-CAhmb14O.mjs +0 -78
  1453. package/dist/media-usage-activation-CAhmb14O.mjs.map +0 -1
  1454. package/dist/media-usage-work-BPlRMOJv.mjs +0 -152
  1455. package/dist/media-usage-work-BPlRMOJv.mjs.map +0 -1
  1456. package/dist/media-usage-work-Cu5DqewW.mjs +0 -586
  1457. package/dist/media-usage-work-Cu5DqewW.mjs.map +0 -1
  1458. package/dist/media-usage-write-fence-DW5oHT7q.mjs +0 -42
  1459. package/dist/media-usage-write-fence-DW5oHT7q.mjs.map +0 -1
  1460. package/dist/menus-BUQdvXep.mjs +0 -3732
  1461. package/dist/menus-BUQdvXep.mjs.map +0 -1
  1462. package/dist/menus-DgSUodmF.mjs +0 -753
  1463. package/dist/menus-DgSUodmF.mjs.map +0 -1
  1464. package/dist/mime-CCYRC4r1.mjs +0 -36
  1465. package/dist/mime-CCYRC4r1.mjs.map +0 -1
  1466. package/dist/mode-CkmOhFqj.mjs +0 -23
  1467. package/dist/mode-CkmOhFqj.mjs.map +0 -1
  1468. package/dist/node-sqlite-compat-vpVaILnb.mjs +0 -46
  1469. package/dist/node-sqlite-compat-vpVaILnb.mjs.map +0 -1
  1470. package/dist/normalize-dChXQjwS.mjs +0 -191
  1471. package/dist/normalize-dChXQjwS.mjs.map +0 -1
  1472. package/dist/oauth-authorization-DZ-R-hmx.mjs +0 -274
  1473. package/dist/oauth-authorization-DZ-R-hmx.mjs.map +0 -1
  1474. package/dist/oauth-clients-BMPA8vjl.mjs +0 -266
  1475. package/dist/oauth-clients-BMPA8vjl.mjs.map +0 -1
  1476. package/dist/oauth-state-store-0gIdb48-.mjs +0 -50
  1477. package/dist/oauth-state-store-0gIdb48-.mjs.map +0 -1
  1478. package/dist/oauth-user-lookup-ChVW4UWu.mjs +0 -26
  1479. package/dist/oauth-user-lookup-ChVW4UWu.mjs.map +0 -1
  1480. package/dist/object-cache-DlSVbn5Y.mjs +0 -534
  1481. package/dist/object-cache-DlSVbn5Y.mjs.map +0 -1
  1482. package/dist/options-D5WcorD5.mjs +0 -200
  1483. package/dist/options-D5WcorD5.mjs.map +0 -1
  1484. package/dist/options-DAknChnw.d.mts +0 -77
  1485. package/dist/options-DAknChnw.d.mts.map +0 -1
  1486. package/dist/parse-Cr379Av9.mjs +0 -81
  1487. package/dist/parse-Cr379Av9.mjs.map +0 -1
  1488. package/dist/parse-tj9XLNO_.d.mts +0 -165
  1489. package/dist/parse-tj9XLNO_.d.mts.map +0 -1
  1490. package/dist/passkey-config-BD-wMaCf.mjs +0 -46
  1491. package/dist/passkey-config-BD-wMaCf.mjs.map +0 -1
  1492. package/dist/patterns-Do3iqi7N.mjs +0 -145
  1493. package/dist/patterns-Do3iqi7N.mjs.map +0 -1
  1494. package/dist/placeholder-CubPFn_L.d.mts +0 -306
  1495. package/dist/placeholder-CubPFn_L.d.mts.map +0 -1
  1496. package/dist/plugins-DHurtdXQ.mjs +0 -277
  1497. package/dist/plugins-DHurtdXQ.mjs.map +0 -1
  1498. package/dist/policy-pL9QLKZm.mjs +0 -45
  1499. package/dist/policy-pL9QLKZm.mjs.map +0 -1
  1500. package/dist/portable-text-oAwodbPS.mjs +0 -286
  1501. package/dist/portable-text-oAwodbPS.mjs.map +0 -1
  1502. package/dist/preview-Cup2bj8c.mjs +0 -107
  1503. package/dist/preview-Cup2bj8c.mjs.map +0 -1
  1504. package/dist/protocol-C1CNiKX4.d.mts +0 -61
  1505. package/dist/protocol-C1CNiKX4.d.mts.map +0 -1
  1506. package/dist/public-submission-Cs-pFMQK.mjs +0 -245
  1507. package/dist/public-submission-Cs-pFMQK.mjs.map +0 -1
  1508. package/dist/public-url-BWVHsfQv.mjs +0 -101
  1509. package/dist/public-url-BWVHsfQv.mjs.map +0 -1
  1510. package/dist/query-CxnFU6sz.mjs +0 -890
  1511. package/dist/query-CxnFU6sz.mjs.map +0 -1
  1512. package/dist/query-sgHYEgBW.mjs +0 -41
  1513. package/dist/query-sgHYEgBW.mjs.map +0 -1
  1514. package/dist/rate-limit-CqJn-w4h.mjs +0 -120
  1515. package/dist/rate-limit-CqJn-w4h.mjs.map +0 -1
  1516. package/dist/redirect-BrChFPIu.mjs +0 -17
  1517. package/dist/redirect-BrChFPIu.mjs.map +0 -1
  1518. package/dist/redirect-D2Yo-b6S.mjs +0 -415
  1519. package/dist/redirect-D2Yo-b6S.mjs.map +0 -1
  1520. package/dist/redirects-BCiTaIQ-.mjs +0 -146
  1521. package/dist/redirects-BCiTaIQ-.mjs.map +0 -1
  1522. package/dist/redirects-CAoL3r26.mjs +0 -644
  1523. package/dist/redirects-CAoL3r26.mjs.map +0 -1
  1524. package/dist/registry-xKzE-_m5.mjs +0 -1222
  1525. package/dist/registry-xKzE-_m5.mjs.map +0 -1
  1526. package/dist/relation-ClsWcYg2.mjs +0 -334
  1527. package/dist/relation-ClsWcYg2.mjs.map +0 -1
  1528. package/dist/relations-B4w-G5U9.mjs +0 -309
  1529. package/dist/relations-B4w-G5U9.mjs.map +0 -1
  1530. package/dist/relations-C3Td_mct.mjs +0 -403
  1531. package/dist/relations-C3Td_mct.mjs.map +0 -1
  1532. package/dist/request-cache-DaMhSQdx.mjs +0 -104
  1533. package/dist/request-cache-DaMhSQdx.mjs.map +0 -1
  1534. package/dist/request-meta-C8yl_sIs.mjs +0 -141
  1535. package/dist/request-meta-C8yl_sIs.mjs.map +0 -1
  1536. package/dist/resolve-BJIS8wKr.mjs +0 -199
  1537. package/dist/resolve-BJIS8wKr.mjs.map +0 -1
  1538. package/dist/route-wire-D66L2oaZ.mjs +0 -197
  1539. package/dist/route-wire-D66L2oaZ.mjs.map +0 -1
  1540. package/dist/routes-CWzxcZpn.mjs +0 -321
  1541. package/dist/routes-CWzxcZpn.mjs.map +0 -1
  1542. package/dist/runner-3gfxRsJG.d.mts +0 -68
  1543. package/dist/runner-3gfxRsJG.d.mts.map +0 -1
  1544. package/dist/runner-CIltKk4i.mjs +0 -5502
  1545. package/dist/runner-CIltKk4i.mjs.map +0 -1
  1546. package/dist/schema-DQIE9Htn.mjs +0 -420
  1547. package/dist/schema-DQIE9Htn.mjs.map +0 -1
  1548. package/dist/schema-ILPFMPW3.mjs +0 -9
  1549. package/dist/schema-ILPFMPW3.mjs.map +0 -1
  1550. package/dist/scopes-Bn8_rCSt.mjs +0 -27
  1551. package/dist/scopes-Bn8_rCSt.mjs.map +0 -1
  1552. package/dist/search-D6muneha.mjs +0 -448
  1553. package/dist/search-D6muneha.mjs.map +0 -1
  1554. package/dist/secrets-DNgVgz_e.mjs +0 -341
  1555. package/dist/secrets-DNgVgz_e.mjs.map +0 -1
  1556. package/dist/sections-BPCEGYWd.mjs +0 -346
  1557. package/dist/sections-BPCEGYWd.mjs.map +0 -1
  1558. package/dist/seo-BtU70b7l.mjs +0 -114
  1559. package/dist/seo-BtU70b7l.mjs.map +0 -1
  1560. package/dist/seo-rCk6pDwT.mjs +0 -133
  1561. package/dist/seo-rCk6pDwT.mjs.map +0 -1
  1562. package/dist/service-Bpy5iTX0.mjs +0 -150
  1563. package/dist/service-Bpy5iTX0.mjs.map +0 -1
  1564. package/dist/session-user-BQeS2Mrb.mjs +0 -51
  1565. package/dist/session-user-BQeS2Mrb.mjs.map +0 -1
  1566. package/dist/settings-CsoLiwpL.mjs +0 -420
  1567. package/dist/settings-CsoLiwpL.mjs.map +0 -1
  1568. package/dist/settings-DCnWtfSZ.mjs +0 -51
  1569. package/dist/settings-DCnWtfSZ.mjs.map +0 -1
  1570. package/dist/setup-complete-BrZaXpVV.mjs +0 -26
  1571. package/dist/setup-complete-BrZaXpVV.mjs.map +0 -1
  1572. package/dist/setup-nonce-Cb9-884O.mjs +0 -25
  1573. package/dist/setup-nonce-Cb9-884O.mjs.map +0 -1
  1574. package/dist/site-url-DjhYCaep.mjs +0 -16
  1575. package/dist/site-url-DjhYCaep.mjs.map +0 -1
  1576. package/dist/snapshot-C32Xuv3o.mjs +0 -233
  1577. package/dist/snapshot-C32Xuv3o.mjs.map +0 -1
  1578. package/dist/ssrf-Co1GGFZz.mjs +0 -406
  1579. package/dist/ssrf-Co1GGFZz.mjs.map +0 -1
  1580. package/dist/state-C7gCoiHr.mjs +0 -153
  1581. package/dist/state-C7gCoiHr.mjs.map +0 -1
  1582. package/dist/status-DLoBmcDz.mjs +0 -30
  1583. package/dist/status-DLoBmcDz.mjs.map +0 -1
  1584. package/dist/storage-query-CPctdMKX.d.mts +0 -1519
  1585. package/dist/storage-query-CPctdMKX.d.mts.map +0 -1
  1586. package/dist/target-CUKlGrXb.mjs +0 -27
  1587. package/dist/target-CUKlGrXb.mjs.map +0 -1
  1588. package/dist/taxonomies-Bs5dJVDJ.mjs +0 -899
  1589. package/dist/taxonomies-Bs5dJVDJ.mjs.map +0 -1
  1590. package/dist/taxonomies-DjGU22ur.mjs +0 -707
  1591. package/dist/taxonomies-DjGU22ur.mjs.map +0 -1
  1592. package/dist/taxonomy-c1Q8PMFF.mjs +0 -508
  1593. package/dist/taxonomy-c1Q8PMFF.mjs.map +0 -1
  1594. package/dist/tokens-Ns02GAma.mjs +0 -171
  1595. package/dist/tokens-Ns02GAma.mjs.map +0 -1
  1596. package/dist/transport-B8P1xsqk.mjs +0 -136
  1597. package/dist/transport-B8P1xsqk.mjs.map +0 -1
  1598. package/dist/transport-BLHZZcD_.d.mts +0 -42
  1599. package/dist/transport-BLHZZcD_.d.mts.map +0 -1
  1600. package/dist/trusted-proxy-Cg7SuD15.mjs +0 -51
  1601. package/dist/trusted-proxy-Cg7SuD15.mjs.map +0 -1
  1602. package/dist/turnstile-DWCSh_Qc.mjs +0 -53
  1603. package/dist/turnstile-DWCSh_Qc.mjs.map +0 -1
  1604. package/dist/types-B3RkqvDW.mjs +0 -156
  1605. package/dist/types-B3RkqvDW.mjs.map +0 -1
  1606. package/dist/types-BtuppOTV.mjs +0 -16
  1607. package/dist/types-BtuppOTV.mjs.map +0 -1
  1608. package/dist/types-CCR3ivXE.d.mts +0 -363
  1609. package/dist/types-CCR3ivXE.d.mts.map +0 -1
  1610. package/dist/types-CSHgU_-_.mjs +0 -18
  1611. package/dist/types-CSHgU_-_.mjs.map +0 -1
  1612. package/dist/types-CbwqGOXm.d.mts +0 -766
  1613. package/dist/types-CbwqGOXm.d.mts.map +0 -1
  1614. package/dist/types-D4RGIc2I.d.mts +0 -198
  1615. package/dist/types-D4RGIc2I.d.mts.map +0 -1
  1616. package/dist/types-DEHidMEk.d.mts +0 -1637
  1617. package/dist/types-DEHidMEk.d.mts.map +0 -1
  1618. package/dist/types-DQeU2SR7.d.mts +0 -279
  1619. package/dist/types-DQeU2SR7.d.mts.map +0 -1
  1620. package/dist/types-DxQWoQLA.d.mts +0 -264
  1621. package/dist/types-DxQWoQLA.d.mts.map +0 -1
  1622. package/dist/types-FBBnGZ2Y.d.mts +0 -198
  1623. package/dist/types-FBBnGZ2Y.d.mts.map +0 -1
  1624. package/dist/types-ZCnlropY.mjs +0 -69
  1625. package/dist/types-ZCnlropY.mjs.map +0 -1
  1626. package/dist/types-_Qtyawiy.d.mts +0 -124
  1627. package/dist/types-_Qtyawiy.d.mts.map +0 -1
  1628. package/dist/types-gC6FAoa_.d.mts +0 -75
  1629. package/dist/types-gC6FAoa_.d.mts.map +0 -1
  1630. package/dist/types-k--LneIF.mjs +0 -22
  1631. package/dist/types-k--LneIF.mjs.map +0 -1
  1632. package/dist/upload-attempts-2xdnoKGe.mjs +0 -27
  1633. package/dist/upload-attempts-2xdnoKGe.mjs.map +0 -1
  1634. package/dist/url-pattern-3m3reMzr.mjs +0 -33
  1635. package/dist/url-pattern-3m3reMzr.mjs.map +0 -1
  1636. package/dist/user-2R1gceFl.mjs +0 -171
  1637. package/dist/user-2R1gceFl.mjs.map +0 -1
  1638. package/dist/utils-CC2oNGV8.mjs +0 -435
  1639. package/dist/utils-CC2oNGV8.mjs.map +0 -1
  1640. package/dist/validate-CaFSi_Wa.mjs +0 -384
  1641. package/dist/validate-CaFSi_Wa.mjs.map +0 -1
  1642. package/dist/validate-CyQ7I3xF.d.mts +0 -410
  1643. package/dist/validate-CyQ7I3xF.d.mts.map +0 -1
  1644. package/dist/validation-nsX2uixg.mjs +0 -216
  1645. package/dist/validation-nsX2uixg.mjs.map +0 -1
  1646. package/dist/version-DGh4SL8e.mjs +0 -7
  1647. package/dist/version-DGh4SL8e.mjs.map +0 -1
  1648. package/dist/widgets-B7ued6f5.mjs +0 -126
  1649. package/dist/widgets-B7ued6f5.mjs.map +0 -1
  1650. package/dist/wxr-taxonomies-BtH3jYSg.mjs +0 -406
  1651. package/dist/wxr-taxonomies-BtH3jYSg.mjs.map +0 -1
  1652. package/dist/wxr-taxonomies-DU2ZSiGc.d.mts +0 -34
  1653. package/dist/wxr-taxonomies-DU2ZSiGc.d.mts.map +0 -1
  1654. package/dist/zod-generator-DuBjYyrI.mjs +0 -329
  1655. package/dist/zod-generator-DuBjYyrI.mjs.map +0 -1
  1656. /package/dist/{ssrf-BRpTDMV6.mjs → ssrf-DpBH7aOt.mjs} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors-DgE1zJGG.mjs","names":[],"sources":["../src/transfer/errors.ts"],"sourcesContent":["/**\n * Stable error codes for site transfer (export, analysis, import).\n *\n * Every code is `SCREAMING_SNAKE_CASE` with the `TRANSFER_` prefix and has a\n * fixed HTTP status. `mapErrorStatus` in `api/errors.ts` consults\n * {@link transferErrorStatus} first, so handlers can return these codes in an\n * `ApiResult` and `unwrapResult` picks the right status.\n */\n\nimport { z } from \"zod\";\n\nexport const TransferErrorCode = {\n\tTRANSFER_IMPORT_IN_PROGRESS: \"TRANSFER_IMPORT_IN_PROGRESS\",\n\tTRANSFER_FENCE_CHECK_FAILED: \"TRANSFER_FENCE_CHECK_FAILED\",\n\tTRANSFER_EXPORT_CONCURRENT_WRITES: \"TRANSFER_EXPORT_CONCURRENT_WRITES\",\n\tTRANSFER_OPERATION_NOT_FOUND: \"TRANSFER_OPERATION_NOT_FOUND\",\n\tTRANSFER_INVALID_STATE: \"TRANSFER_INVALID_STATE\",\n\tTRANSFER_LEASE_ACTIVE: \"TRANSFER_LEASE_ACTIVE\",\n\tTRANSFER_LEASE_LOST: \"TRANSFER_LEASE_LOST\",\n\tTRANSFER_RUNTIME_MISMATCH: \"TRANSFER_RUNTIME_MISMATCH\",\n\tTRANSFER_IDEMPOTENCY_CONFLICT: \"TRANSFER_IDEMPOTENCY_CONFLICT\",\n\tTRANSFER_TARGET_NOT_EMPTY: \"TRANSFER_TARGET_NOT_EMPTY\",\n\tTRANSFER_EXPIRED: \"TRANSFER_EXPIRED\",\n\tTRANSFER_MANIFEST_INVALID: \"TRANSFER_MANIFEST_INVALID\",\n\tTRANSFER_UNSUPPORTED_FORMAT: \"TRANSFER_UNSUPPORTED_FORMAT\",\n\tTRANSFER_UNSUPPORTED_FEATURE: \"TRANSFER_UNSUPPORTED_FEATURE\",\n\tTRANSFER_PATH_INVALID: \"TRANSFER_PATH_INVALID\",\n\tTRANSFER_FILE_NOT_DECLARED: \"TRANSFER_FILE_NOT_DECLARED\",\n\tTRANSFER_FILE_MISSING: \"TRANSFER_FILE_MISSING\",\n\tTRANSFER_FILE_SIZE_MISMATCH: \"TRANSFER_FILE_SIZE_MISMATCH\",\n\tTRANSFER_FILE_DIGEST_MISMATCH: \"TRANSFER_FILE_DIGEST_MISMATCH\",\n\tTRANSFER_CONTAINER_INVALID: \"TRANSFER_CONTAINER_INVALID\",\n\tTRANSFER_LIMIT_EXCEEDED: \"TRANSFER_LIMIT_EXCEEDED\",\n\tTRANSFER_RECORD_INVALID: \"TRANSFER_RECORD_INVALID\",\n\tTRANSFER_REFERENCE_INVALID: \"TRANSFER_REFERENCE_INVALID\",\n\tTRANSFER_MEDIA_REF_INVALID: \"TRANSFER_MEDIA_REF_INVALID\",\n\tTRANSFER_MEDIA_BLOB_MISSING: \"TRANSFER_MEDIA_BLOB_MISSING\",\n\tTRANSFER_SCHEMA_UNCLASSIFIED: \"TRANSFER_SCHEMA_UNCLASSIFIED\",\n\tTRANSFER_PACKAGE_DIGEST_MISMATCH: \"TRANSFER_PACKAGE_DIGEST_MISMATCH\",\n\tTRANSFER_PLAN_DIGEST_MISMATCH: \"TRANSFER_PLAN_DIGEST_MISMATCH\",\n\tTRANSFER_PLAN_BLOCKED: \"TRANSFER_PLAN_BLOCKED\",\n\tTRANSFER_DECISIONS_INVALID: \"TRANSFER_DECISIONS_INVALID\",\n\tTRANSFER_VERIFICATION_FAILED: \"TRANSFER_VERIFICATION_FAILED\",\n\tTRANSFER_APPROVAL_REQUIRED: \"TRANSFER_APPROVAL_REQUIRED\",\n\tTRANSFER_APPROVAL_INVALID: \"TRANSFER_APPROVAL_INVALID\",\n\tTRANSFER_STORAGE_ERROR: \"TRANSFER_STORAGE_ERROR\",\n\tTRANSFER_EXPORT_ERROR: \"TRANSFER_EXPORT_ERROR\",\n\tTRANSFER_ANALYZE_ERROR: \"TRANSFER_ANALYZE_ERROR\",\n\tTRANSFER_IMPORT_ERROR: \"TRANSFER_IMPORT_ERROR\",\n} as const;\n\nexport type TransferErrorCode = (typeof TransferErrorCode)[keyof typeof TransferErrorCode];\n\nexport const TRANSFER_ERROR_STATUS: Readonly<Record<TransferErrorCode, number>> = Object.freeze({\n\tTRANSFER_IMPORT_IN_PROGRESS: 503,\n\tTRANSFER_FENCE_CHECK_FAILED: 503,\n\tTRANSFER_EXPORT_CONCURRENT_WRITES: 409,\n\tTRANSFER_OPERATION_NOT_FOUND: 404,\n\tTRANSFER_INVALID_STATE: 409,\n\tTRANSFER_LEASE_ACTIVE: 409,\n\tTRANSFER_LEASE_LOST: 409,\n\tTRANSFER_RUNTIME_MISMATCH: 409,\n\tTRANSFER_IDEMPOTENCY_CONFLICT: 409,\n\tTRANSFER_TARGET_NOT_EMPTY: 409,\n\tTRANSFER_EXPIRED: 410,\n\tTRANSFER_MANIFEST_INVALID: 422,\n\tTRANSFER_UNSUPPORTED_FORMAT: 422,\n\tTRANSFER_UNSUPPORTED_FEATURE: 422,\n\tTRANSFER_PATH_INVALID: 422,\n\tTRANSFER_FILE_NOT_DECLARED: 422,\n\tTRANSFER_FILE_MISSING: 422,\n\tTRANSFER_FILE_SIZE_MISMATCH: 422,\n\tTRANSFER_FILE_DIGEST_MISMATCH: 422,\n\tTRANSFER_CONTAINER_INVALID: 422,\n\tTRANSFER_LIMIT_EXCEEDED: 413,\n\tTRANSFER_RECORD_INVALID: 422,\n\tTRANSFER_REFERENCE_INVALID: 422,\n\tTRANSFER_MEDIA_REF_INVALID: 422,\n\tTRANSFER_MEDIA_BLOB_MISSING: 422,\n\tTRANSFER_SCHEMA_UNCLASSIFIED: 500,\n\tTRANSFER_PACKAGE_DIGEST_MISMATCH: 409,\n\tTRANSFER_PLAN_DIGEST_MISMATCH: 409,\n\tTRANSFER_PLAN_BLOCKED: 409,\n\tTRANSFER_DECISIONS_INVALID: 422,\n\tTRANSFER_VERIFICATION_FAILED: 422,\n\tTRANSFER_APPROVAL_REQUIRED: 403,\n\tTRANSFER_APPROVAL_INVALID: 403,\n\tTRANSFER_STORAGE_ERROR: 500,\n\tTRANSFER_EXPORT_ERROR: 500,\n\tTRANSFER_ANALYZE_ERROR: 500,\n\tTRANSFER_IMPORT_ERROR: 500,\n});\n\nexport function isTransferErrorCode(code: string | undefined): code is TransferErrorCode {\n\treturn code !== undefined && Object.hasOwn(TRANSFER_ERROR_STATUS, code);\n}\n\nexport function transferErrorStatus(code: string | undefined): number | undefined {\n\treturn isTransferErrorCode(code) ? TRANSFER_ERROR_STATUS[code] : undefined;\n}\n\n/**\n * JSON-safe, bounded detail attached to a transfer error. Never put record\n * contents, credentials, or storage keys here: details reach API clients and\n * operation rows.\n */\nexport type TransferErrorDetail = Readonly<Record<string, string | number | boolean | null>>;\n\nexport const transferErrorDetailSchema = z.record(\n\tz.string(),\n\tz.union([z.string(), z.number(), z.boolean(), z.null()]),\n);\n\nexport class TransferError extends Error {\n\treadonly code: TransferErrorCode;\n\treadonly status: number;\n\treadonly detail: TransferErrorDetail | undefined;\n\n\tconstructor(\n\t\tcode: TransferErrorCode,\n\t\tmessage: string,\n\t\toptions: { detail?: TransferErrorDetail; cause?: unknown } = {},\n\t) {\n\t\tsuper(message, options.cause === undefined ? undefined : { cause: options.cause });\n\t\tthis.name = \"TransferError\";\n\t\tthis.code = code;\n\t\tthis.status = TRANSFER_ERROR_STATUS[code];\n\t\tthis.detail = options.detail;\n\t}\n}\n\nexport function isTransferError(error: unknown): error is TransferError {\n\treturn error instanceof TransferError;\n}\n"],"mappings":";;;;;;;;;;;AAWA,MAAa,oBAAoB;CAChC,6BAA6B;CAC7B,6BAA6B;CAC7B,mCAAmC;CACnC,8BAA8B;CAC9B,wBAAwB;CACxB,uBAAuB;CACvB,qBAAqB;CACrB,2BAA2B;CAC3B,+BAA+B;CAC/B,2BAA2B;CAC3B,kBAAkB;CAClB,2BAA2B;CAC3B,6BAA6B;CAC7B,8BAA8B;CAC9B,uBAAuB;CACvB,4BAA4B;CAC5B,uBAAuB;CACvB,6BAA6B;CAC7B,+BAA+B;CAC/B,4BAA4B;CAC5B,yBAAyB;CACzB,yBAAyB;CACzB,4BAA4B;CAC5B,4BAA4B;CAC5B,6BAA6B;CAC7B,8BAA8B;CAC9B,kCAAkC;CAClC,+BAA+B;CAC/B,uBAAuB;CACvB,4BAA4B;CAC5B,8BAA8B;CAC9B,4BAA4B;CAC5B,2BAA2B;CAC3B,wBAAwB;CACxB,uBAAuB;CACvB,wBAAwB;CACxB,uBAAuB;CACvB;AAID,MAAa,wBAAqE,OAAO,OAAO;CAC/F,6BAA6B;CAC7B,6BAA6B;CAC7B,mCAAmC;CACnC,8BAA8B;CAC9B,wBAAwB;CACxB,uBAAuB;CACvB,qBAAqB;CACrB,2BAA2B;CAC3B,+BAA+B;CAC/B,2BAA2B;CAC3B,kBAAkB;CAClB,2BAA2B;CAC3B,6BAA6B;CAC7B,8BAA8B;CAC9B,uBAAuB;CACvB,4BAA4B;CAC5B,uBAAuB;CACvB,6BAA6B;CAC7B,+BAA+B;CAC/B,4BAA4B;CAC5B,yBAAyB;CACzB,yBAAyB;CACzB,4BAA4B;CAC5B,4BAA4B;CAC5B,6BAA6B;CAC7B,8BAA8B;CAC9B,kCAAkC;CAClC,+BAA+B;CAC/B,uBAAuB;CACvB,4BAA4B;CAC5B,8BAA8B;CAC9B,4BAA4B;CAC5B,2BAA2B;CAC3B,wBAAwB;CACxB,uBAAuB;CACvB,wBAAwB;CACxB,uBAAuB;CACvB,CAAC;AAEF,SAAgB,oBAAoB,MAAqD;AACxF,QAAO,SAAS,UAAa,OAAO,OAAO,uBAAuB,KAAK;;AAGxE,SAAgB,oBAAoB,MAA8C;AACjF,QAAO,oBAAoB,KAAK,GAAG,sBAAsB,QAAQ;;AAUlE,MAAa,4BAA4B,EAAE,OAC1C,EAAE,QAAQ,EACV,EAAE,MAAM;CAAC,EAAE,QAAQ;CAAE,EAAE,QAAQ;CAAE,EAAE,SAAS;CAAE,EAAE,MAAM;CAAC,CAAC,CACxD;AAED,IAAa,gBAAb,cAAmC,MAAM;CACxC,AAAS;CACT,AAAS;CACT,AAAS;CAET,YACC,MACA,SACA,UAA6D,EAAE,EAC9D;AACD,QAAM,SAAS,QAAQ,UAAU,SAAY,SAAY,EAAE,OAAO,QAAQ,OAAO,CAAC;AAClF,OAAK,OAAO;AACZ,OAAK,OAAO;AACZ,OAAK,SAAS,sBAAsB;AACpC,OAAK,SAAS,QAAQ;;;AAIxB,SAAgB,gBAAgB,OAAwC;AACvE,QAAO,iBAAiB"}
@@ -0,0 +1,9 @@
1
+ //#region src/api/escape.ts
2
+ /** HTML-escape a string to prevent XSS when interpolated into HTML/JS */
3
+ function escapeHtml(str) {
4
+ return str.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll("\"", "&quot;").replaceAll("'", "&#x27;");
5
+ }
6
+
7
+ //#endregion
8
+ export { escapeHtml as t };
9
+ //# sourceMappingURL=escape-CuaZhZvL.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escape-CuaZhZvL.mjs","names":[],"sources":["../src/api/escape.ts"],"sourcesContent":["/** HTML-escape a string to prevent XSS when interpolated into HTML/JS */\nexport function escapeHtml(str: string): string {\n\treturn str\n\t\t.replaceAll(\"&\", \"&amp;\")\n\t\t.replaceAll(\"<\", \"&lt;\")\n\t\t.replaceAll(\">\", \"&gt;\")\n\t\t.replaceAll('\"', \"&quot;\")\n\t\t.replaceAll(\"'\", \"&#x27;\");\n}\n"],"mappings":";;AACA,SAAgB,WAAW,KAAqB;AAC/C,QAAO,IACL,WAAW,KAAK,QAAQ,CACxB,WAAW,KAAK,OAAO,CACvB,WAAW,KAAK,OAAO,CACvB,WAAW,MAAK,SAAS,CACzB,WAAW,KAAK,SAAS"}
@@ -0,0 +1,162 @@
1
+ import { n as isMissingTableError } from "./db-errors-CBD5yMro.mjs";
2
+ import { y as tableExists } from "./dialect-helpers-7_IqPdh9.mjs";
3
+ import { t as apiError } from "./error-CfvOHP0M.mjs";
4
+ import { sql } from "kysely";
5
+
6
+ //#region src/api/media-usage-write-fence.ts
7
+ /**
8
+ * The media usage activation fence alone. Write paths use the unified site
9
+ * write fence in `transfer/fence.ts`, which falls back to this before the
10
+ * transfer tables exist.
11
+ */
12
+ async function findMediaUsageActivationWriteFenceError(db) {
13
+ if (!await tableExists(db, "_emdash_media_usage_activation")) return null;
14
+ try {
15
+ if ((await db.selectFrom("_emdash_media_usage_activation").select("state").where("task_key", "=", "incremental_capture").executeTakeFirst())?.state === "activating") return {
16
+ code: "MEDIA_USAGE_ACTIVATION_IN_PROGRESS",
17
+ message: "Media usage activation is in progress",
18
+ status: 503
19
+ };
20
+ } catch (error) {
21
+ console.error("[media-usage] Failed to check the activation write fence:", error);
22
+ return {
23
+ code: "MEDIA_USAGE_ACTIVATION_CHECK_FAILED",
24
+ message: "Unable to verify media usage activation state",
25
+ status: 503
26
+ };
27
+ }
28
+ return null;
29
+ }
30
+
31
+ //#endregion
32
+ //#region src/transfer/fence.ts
33
+ /**
34
+ * Unified site write fence: media-usage activation and transfer imports.
35
+ *
36
+ * One query answers both questions, so a fenced write path pays a single
37
+ * round trip. A transfer import fences writes while it executes and, after a
38
+ * failure or cancellation once writing started, until it is abandoned. The
39
+ * same query reports whether an export is running, so a fenced write can
40
+ * bump the export's write epoch without an extra query when none is.
41
+ */
42
+ var SiteWriteBlockedError = class extends Error {
43
+ code;
44
+ status;
45
+ operationId;
46
+ constructor(error) {
47
+ super(error.message);
48
+ this.name = error.code;
49
+ this.code = error.code;
50
+ this.status = error.status;
51
+ this.operationId = error.operationId;
52
+ }
53
+ };
54
+ const CHECK_FAILED = {
55
+ code: "TRANSFER_FENCE_CHECK_FAILED",
56
+ message: "Unable to verify whether site writes are allowed",
57
+ status: 503
58
+ };
59
+ /** Read both fences and the running-export flag with one query. */
60
+ async function readSiteWriteFence(db, scope = {}) {
61
+ const mediaUsage = scope.mediaUsage !== false;
62
+ const transfer = scope.transfer !== false;
63
+ let row;
64
+ try {
65
+ row = (await sql`
66
+ SELECT
67
+ (
68
+ SELECT state FROM _emdash_media_usage_activation
69
+ WHERE task_key = 'incremental_capture'
70
+ ) AS media_state,
71
+ (
72
+ SELECT id FROM _emdash_transfer_operations
73
+ WHERE kind = 'import'
74
+ AND (
75
+ state IN ('running', 'verifying')
76
+ OR (state IN ('failed', 'cancelled') AND mutation_started_at IS NOT NULL)
77
+ )
78
+ LIMIT 1
79
+ ) AS import_id,
80
+ (
81
+ SELECT id FROM _emdash_transfer_operations
82
+ WHERE kind = 'export' AND state = 'running'
83
+ LIMIT 1
84
+ ) AS export_id
85
+ `.execute(db)).rows[0];
86
+ } catch (error) {
87
+ if (isMissingTableError(error)) return {
88
+ error: mediaUsage ? await findMediaUsageActivationWriteFenceError(db) : null,
89
+ exportRunning: false
90
+ };
91
+ console.error("[transfer] Failed to check the site write fence:", error);
92
+ return {
93
+ error: CHECK_FAILED,
94
+ exportRunning: false
95
+ };
96
+ }
97
+ const exportRunning = Boolean(row?.export_id);
98
+ if (transfer && row?.import_id) return {
99
+ error: {
100
+ code: "TRANSFER_IMPORT_IN_PROGRESS",
101
+ message: "A site import is in progress or incomplete; writes are disabled",
102
+ status: 503,
103
+ operationId: row.import_id
104
+ },
105
+ exportRunning
106
+ };
107
+ if (mediaUsage && row?.media_state === "activating") return {
108
+ error: {
109
+ code: "MEDIA_USAGE_ACTIVATION_IN_PROGRESS",
110
+ message: "Media usage activation is in progress",
111
+ status: 503
112
+ },
113
+ exportRunning
114
+ };
115
+ return {
116
+ error: null,
117
+ exportRunning
118
+ };
119
+ }
120
+ /**
121
+ * Tell running exports that a fenced write happened, so their consistency
122
+ * fence restarts them. Failures are logged, not thrown: the write itself is
123
+ * allowed either way.
124
+ */
125
+ async function recordSiteWrite(db) {
126
+ try {
127
+ await bumpRunningExportWriteEpochs(db);
128
+ } catch (error) {
129
+ console.error("[transfer] Failed to record a write for running exports:", error);
130
+ }
131
+ }
132
+ /** Increments the write epoch of every running export; returns how many there were. */
133
+ async function bumpRunningExportWriteEpochs(db) {
134
+ const result = await db.updateTable("_emdash_transfer_operations").set({ write_epoch: sql`write_epoch + 1` }).where("kind", "=", "export").where("state", "=", "running").executeTakeFirst();
135
+ return Number(result.numUpdatedRows ?? 0n);
136
+ }
137
+ const NOTHING_TO_RECORD = async () => {};
138
+ /**
139
+ * Throw {@link SiteWriteBlockedError} when a fence blocks writes. Call it
140
+ * immediately before the write, and call the returned function once the
141
+ * write has succeeded: recording it afterwards means an export whose fence
142
+ * was captured while the write ran still sees it.
143
+ */
144
+ async function assertSiteWriteAllowed(db) {
145
+ const status = await readSiteWriteFence(db);
146
+ if (status.error) throw new SiteWriteBlockedError(status.error);
147
+ return status.exportRunning ? () => recordSiteWrite(db) : NOTHING_TO_RECORD;
148
+ }
149
+ /**
150
+ * The fence as an API error response, or null when writes are allowed.
151
+ * Records nothing: for the plugin lifecycle routes that call it, the fence
152
+ * middleware records a successful response's write.
153
+ */
154
+ async function checkSiteWriteFence(db) {
155
+ const status = await readSiteWriteFence(db);
156
+ if (status.error) return apiError(status.error.code, status.error.message, status.error.status);
157
+ return null;
158
+ }
159
+
160
+ //#endregion
161
+ export { readSiteWriteFence as a, checkSiteWriteFence as i, assertSiteWriteAllowed as n, recordSiteWrite as o, bumpRunningExportWriteEpochs as r, SiteWriteBlockedError as t };
162
+ //# sourceMappingURL=fence-CMDXJYc_.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fence-CMDXJYc_.mjs","names":[],"sources":["../src/api/media-usage-write-fence.ts","../src/transfer/fence.ts"],"sourcesContent":["import type { Kysely } from \"kysely\";\n\nimport { tableExists } from \"../database/dialect-helpers.js\";\nimport type { Database } from \"../database/types.js\";\n\nexport interface MediaUsageActivationWriteFenceError {\n\tcode: \"MEDIA_USAGE_ACTIVATION_IN_PROGRESS\" | \"MEDIA_USAGE_ACTIVATION_CHECK_FAILED\";\n\tmessage: string;\n\tstatus: 503;\n}\n\n/**\n * The media usage activation fence alone. Write paths use the unified site\n * write fence in `transfer/fence.ts`, which falls back to this before the\n * transfer tables exist.\n */\nexport async function findMediaUsageActivationWriteFenceError(\n\tdb: Kysely<Database>,\n): Promise<MediaUsageActivationWriteFenceError | null> {\n\tif (!(await tableExists(db, \"_emdash_media_usage_activation\"))) return null;\n\ttry {\n\t\tconst row = await db\n\t\t\t.selectFrom(\"_emdash_media_usage_activation\")\n\t\t\t.select(\"state\")\n\t\t\t.where(\"task_key\", \"=\", \"incremental_capture\")\n\t\t\t.executeTakeFirst();\n\t\tif (row?.state === \"activating\") {\n\t\t\treturn {\n\t\t\t\tcode: \"MEDIA_USAGE_ACTIVATION_IN_PROGRESS\",\n\t\t\t\tmessage: \"Media usage activation is in progress\",\n\t\t\t\tstatus: 503,\n\t\t\t};\n\t\t}\n\t} catch (error) {\n\t\tconsole.error(\"[media-usage] Failed to check the activation write fence:\", error);\n\t\treturn {\n\t\t\tcode: \"MEDIA_USAGE_ACTIVATION_CHECK_FAILED\",\n\t\t\tmessage: \"Unable to verify media usage activation state\",\n\t\t\tstatus: 503,\n\t\t};\n\t}\n\treturn null;\n}\n","/**\n * Unified site write fence: media-usage activation and transfer imports.\n *\n * One query answers both questions, so a fenced write path pays a single\n * round trip. A transfer import fences writes while it executes and, after a\n * failure or cancellation once writing started, until it is abandoned. The\n * same query reports whether an export is running, so a fenced write can\n * bump the export's write epoch without an extra query when none is.\n */\n\nimport { sql, type Kysely } from \"kysely\";\n\nimport { apiError } from \"../api/error.js\";\nimport { findMediaUsageActivationWriteFenceError } from \"../api/media-usage-write-fence.js\";\nimport type { Database } from \"../database/types.js\";\nimport { isMissingTableError } from \"../utils/db-errors.js\";\n\nexport type SiteWriteFenceCode =\n\t| \"MEDIA_USAGE_ACTIVATION_IN_PROGRESS\"\n\t| \"MEDIA_USAGE_ACTIVATION_CHECK_FAILED\"\n\t| \"TRANSFER_IMPORT_IN_PROGRESS\"\n\t| \"TRANSFER_FENCE_CHECK_FAILED\";\n\nexport interface SiteWriteFenceError {\n\tcode: SiteWriteFenceCode;\n\tmessage: string;\n\tstatus: 503;\n\t/** The fencing import, when the fence is a transfer import. */\n\toperationId?: string;\n}\n\nexport class SiteWriteBlockedError extends Error {\n\treadonly code: SiteWriteFenceCode;\n\treadonly status: 503;\n\treadonly operationId: string | undefined;\n\n\tconstructor(error: SiteWriteFenceError) {\n\t\tsuper(error.message);\n\t\tthis.name = error.code;\n\t\tthis.code = error.code;\n\t\tthis.status = error.status;\n\t\tthis.operationId = error.operationId;\n\t}\n}\n\n/** Which fences apply to a write. Both apply unless one is turned off. */\nexport interface SiteWriteFenceScope {\n\tmediaUsage?: boolean;\n\ttransfer?: boolean;\n}\n\nexport interface SiteWriteFenceStatus {\n\terror: SiteWriteFenceError | null;\n\t/** Whether an export was running when the fence was read. */\n\texportRunning: boolean;\n}\n\nconst CHECK_FAILED: SiteWriteFenceError = {\n\tcode: \"TRANSFER_FENCE_CHECK_FAILED\",\n\tmessage: \"Unable to verify whether site writes are allowed\",\n\tstatus: 503,\n};\n\n/** Read both fences and the running-export flag with one query. */\nexport async function readSiteWriteFence(\n\tdb: Kysely<Database>,\n\tscope: SiteWriteFenceScope = {},\n): Promise<SiteWriteFenceStatus> {\n\tconst mediaUsage = scope.mediaUsage !== false;\n\tconst transfer = scope.transfer !== false;\n\tlet row:\n\t\t| { media_state: string | null; import_id: string | null; export_id: string | null }\n\t\t| undefined;\n\ttry {\n\t\tconst result = await sql<{\n\t\t\tmedia_state: string | null;\n\t\t\timport_id: string | null;\n\t\t\texport_id: string | null;\n\t\t}>`\n\t\t\tSELECT\n\t\t\t\t(\n\t\t\t\t\tSELECT state FROM _emdash_media_usage_activation\n\t\t\t\t\tWHERE task_key = 'incremental_capture'\n\t\t\t\t) AS media_state,\n\t\t\t\t(\n\t\t\t\t\tSELECT id FROM _emdash_transfer_operations\n\t\t\t\t\tWHERE kind = 'import'\n\t\t\t\t\t\tAND (\n\t\t\t\t\t\t\tstate IN ('running', 'verifying')\n\t\t\t\t\t\t\tOR (state IN ('failed', 'cancelled') AND mutation_started_at IS NOT NULL)\n\t\t\t\t\t\t)\n\t\t\t\t\tLIMIT 1\n\t\t\t\t) AS import_id,\n\t\t\t\t(\n\t\t\t\t\tSELECT id FROM _emdash_transfer_operations\n\t\t\t\t\tWHERE kind = 'export' AND state = 'running'\n\t\t\t\t\tLIMIT 1\n\t\t\t\t) AS export_id\n\t\t`.execute(db);\n\t\trow = result.rows[0];\n\t} catch (error) {\n\t\tif (isMissingTableError(error)) {\n\t\t\treturn {\n\t\t\t\terror: mediaUsage ? await findMediaUsageActivationWriteFenceError(db) : null,\n\t\t\t\texportRunning: false,\n\t\t\t};\n\t\t}\n\t\tconsole.error(\"[transfer] Failed to check the site write fence:\", error);\n\t\treturn { error: CHECK_FAILED, exportRunning: false };\n\t}\n\n\tconst exportRunning = Boolean(row?.export_id);\n\tif (transfer && row?.import_id) {\n\t\treturn {\n\t\t\terror: {\n\t\t\t\tcode: \"TRANSFER_IMPORT_IN_PROGRESS\",\n\t\t\t\tmessage: \"A site import is in progress or incomplete; writes are disabled\",\n\t\t\t\tstatus: 503,\n\t\t\t\toperationId: row.import_id,\n\t\t\t},\n\t\t\texportRunning,\n\t\t};\n\t}\n\tif (mediaUsage && row?.media_state === \"activating\") {\n\t\treturn {\n\t\t\terror: {\n\t\t\t\tcode: \"MEDIA_USAGE_ACTIVATION_IN_PROGRESS\",\n\t\t\t\tmessage: \"Media usage activation is in progress\",\n\t\t\t\tstatus: 503,\n\t\t\t},\n\t\t\texportRunning,\n\t\t};\n\t}\n\treturn { error: null, exportRunning };\n}\n\nexport async function findSiteWriteFenceError(\n\tdb: Kysely<Database>,\n): Promise<SiteWriteFenceError | null> {\n\treturn (await readSiteWriteFence(db)).error;\n}\n\n/**\n * Tell running exports that a fenced write happened, so their consistency\n * fence restarts them. Failures are logged, not thrown: the write itself is\n * allowed either way.\n */\nexport async function recordSiteWrite(db: Kysely<Database>): Promise<void> {\n\ttry {\n\t\tawait bumpRunningExportWriteEpochs(db);\n\t} catch (error) {\n\t\tconsole.error(\"[transfer] Failed to record a write for running exports:\", error);\n\t}\n}\n\n/** Increments the write epoch of every running export; returns how many there were. */\nexport async function bumpRunningExportWriteEpochs(db: Kysely<Database>): Promise<number> {\n\tconst result = await db\n\t\t.updateTable(\"_emdash_transfer_operations\")\n\t\t.set({ write_epoch: sql<number>`write_epoch + 1` })\n\t\t.where(\"kind\", \"=\", \"export\")\n\t\t.where(\"state\", \"=\", \"running\")\n\t\t.executeTakeFirst();\n\treturn Number(result.numUpdatedRows ?? 0n);\n}\n\n/** Records a completed write for running exports; a no-op when none was running. */\nexport type RecordSiteWrite = () => Promise<void>;\n\nconst NOTHING_TO_RECORD: RecordSiteWrite = async () => {};\n\n/**\n * Throw {@link SiteWriteBlockedError} when a fence blocks writes. Call it\n * immediately before the write, and call the returned function once the\n * write has succeeded: recording it afterwards means an export whose fence\n * was captured while the write ran still sees it.\n */\nexport async function assertSiteWriteAllowed(db: Kysely<Database>): Promise<RecordSiteWrite> {\n\tconst status = await readSiteWriteFence(db);\n\tif (status.error) throw new SiteWriteBlockedError(status.error);\n\treturn status.exportRunning ? () => recordSiteWrite(db) : NOTHING_TO_RECORD;\n}\n\n/**\n * The fence as an API error response, or null when writes are allowed.\n * Records nothing: for the plugin lifecycle routes that call it, the fence\n * middleware records a successful response's write.\n */\nexport async function checkSiteWriteFence(db: Kysely<Database>): Promise<Response | null> {\n\tconst status = await readSiteWriteFence(db);\n\tif (status.error) return apiError(status.error.code, status.error.message, status.error.status);\n\treturn null;\n}\n"],"mappings":";;;;;;;;;;;AAgBA,eAAsB,wCACrB,IACsD;AACtD,KAAI,CAAE,MAAM,YAAY,IAAI,iCAAiC,CAAG,QAAO;AACvE,KAAI;AAMH,OALY,MAAM,GAChB,WAAW,iCAAiC,CAC5C,OAAO,QAAQ,CACf,MAAM,YAAY,KAAK,sBAAsB,CAC7C,kBAAkB,GACX,UAAU,aAClB,QAAO;GACN,MAAM;GACN,SAAS;GACT,QAAQ;GACR;UAEM,OAAO;AACf,UAAQ,MAAM,6DAA6D,MAAM;AACjF,SAAO;GACN,MAAM;GACN,SAAS;GACT,QAAQ;GACR;;AAEF,QAAO;;;;;;;;;;;;;;ACVR,IAAa,wBAAb,cAA2C,MAAM;CAChD,AAAS;CACT,AAAS;CACT,AAAS;CAET,YAAY,OAA4B;AACvC,QAAM,MAAM,QAAQ;AACpB,OAAK,OAAO,MAAM;AAClB,OAAK,OAAO,MAAM;AAClB,OAAK,SAAS,MAAM;AACpB,OAAK,cAAc,MAAM;;;AAgB3B,MAAM,eAAoC;CACzC,MAAM;CACN,SAAS;CACT,QAAQ;CACR;;AAGD,eAAsB,mBACrB,IACA,QAA6B,EAAE,EACC;CAChC,MAAM,aAAa,MAAM,eAAe;CACxC,MAAM,WAAW,MAAM,aAAa;CACpC,IAAI;AAGJ,KAAI;AA0BH,SAzBe,MAAM,GAInB;;;;;;;;;;;;;;;;;;;;IAoBA,QAAQ,GAAG,EACA,KAAK;UACV,OAAO;AACf,MAAI,oBAAoB,MAAM,CAC7B,QAAO;GACN,OAAO,aAAa,MAAM,wCAAwC,GAAG,GAAG;GACxE,eAAe;GACf;AAEF,UAAQ,MAAM,oDAAoD,MAAM;AACxE,SAAO;GAAE,OAAO;GAAc,eAAe;GAAO;;CAGrD,MAAM,gBAAgB,QAAQ,KAAK,UAAU;AAC7C,KAAI,YAAY,KAAK,UACpB,QAAO;EACN,OAAO;GACN,MAAM;GACN,SAAS;GACT,QAAQ;GACR,aAAa,IAAI;GACjB;EACD;EACA;AAEF,KAAI,cAAc,KAAK,gBAAgB,aACtC,QAAO;EACN,OAAO;GACN,MAAM;GACN,SAAS;GACT,QAAQ;GACR;EACD;EACA;AAEF,QAAO;EAAE,OAAO;EAAM;EAAe;;;;;;;AActC,eAAsB,gBAAgB,IAAqC;AAC1E,KAAI;AACH,QAAM,6BAA6B,GAAG;UAC9B,OAAO;AACf,UAAQ,MAAM,4DAA4D,MAAM;;;;AAKlF,eAAsB,6BAA6B,IAAuC;CACzF,MAAM,SAAS,MAAM,GACnB,YAAY,8BAA8B,CAC1C,IAAI,EAAE,aAAa,GAAW,mBAAmB,CAAC,CAClD,MAAM,QAAQ,KAAK,SAAS,CAC5B,MAAM,SAAS,KAAK,UAAU,CAC9B,kBAAkB;AACpB,QAAO,OAAO,OAAO,kBAAkB,GAAG;;AAM3C,MAAM,oBAAqC,YAAY;;;;;;;AAQvD,eAAsB,uBAAuB,IAAgD;CAC5F,MAAM,SAAS,MAAM,mBAAmB,GAAG;AAC3C,KAAI,OAAO,MAAO,OAAM,IAAI,sBAAsB,OAAO,MAAM;AAC/D,QAAO,OAAO,sBAAsB,gBAAgB,GAAG,GAAG;;;;;;;AAQ3D,eAAsB,oBAAoB,IAAgD;CACzF,MAAM,SAAS,MAAM,mBAAmB,GAAG;AAC3C,KAAI,OAAO,MAAO,QAAO,SAAS,OAAO,MAAM,MAAM,OAAO,MAAM,SAAS,OAAO,MAAM,OAAO;AAC/F,QAAO"}
@@ -0,0 +1,77 @@
1
+ import { u as __exportAll } from "./runner-1y4J9fJB.mjs";
2
+ import { t as after } from "./after-PcEvMY_6.mjs";
3
+ import { getRequestContext } from "./request-context.mjs";
4
+ import { n as initWithLock, t as createInitLock } from "./init-lock-4eRRB4Le.mjs";
5
+ import { r as requestCached } from "./request-cache-DzLYKm_x.mjs";
6
+ import { n as BylineSchemaRegistry } from "./byline-registry-gnKscbQX.mjs";
7
+
8
+ //#region src/bylines/field-defs-cache.ts
9
+ var field_defs_cache_exports = /* @__PURE__ */ __exportAll({ getBylineFieldDefs: () => getBylineFieldDefs });
10
+ const HOLDER_KEY = Symbol.for("emdash:byline-field-defs");
11
+ const g = globalThis;
12
+ const holder = g[HOLDER_KEY] ?? (() => {
13
+ const h = {
14
+ value: null,
15
+ hasValue: false,
16
+ cachedVersion: -1,
17
+ lock: createInitLock()
18
+ };
19
+ g[HOLDER_KEY] = h;
20
+ return h;
21
+ })();
22
+ const REQUEST_CACHE_KEY_VERSION = "byline-fields-version";
23
+ const REQUEST_CACHE_KEY_DEFS_PREFIX = "byline-field-defs:";
24
+ /**
25
+ * Reclaim window for the single-flight lock: if an owner holds it past
26
+ * this without publishing (e.g. its request was cancelled and the
27
+ * anchored fetch hasn't completed yet), the next reader reclaims and
28
+ * refetches. `listFields` is a single fast SELECT, so this only needs to
29
+ * cover a genuinely slow/stranded query. Mutable solely so tests can
30
+ * shorten it; production never changes it.
31
+ */
32
+ let reclaimDeadlineMs = 1e4;
33
+ /**
34
+ * Read the persisted `options.byline_fields_version` counter. Cached for
35
+ * the duration of the current request via `requestCached`. Returns `0`
36
+ * when the row is missing (matches `BylineSchemaRegistry.getVersion`).
37
+ */
38
+ async function getBylineFieldsVersion(db) {
39
+ return requestCached(REQUEST_CACHE_KEY_VERSION, () => new BylineSchemaRegistry(db).getVersion());
40
+ }
41
+ /**
42
+ * Resolve registered byline custom-field definitions. Two-tier cache:
43
+ * per-request via `requestCached`, then per-isolate via the global
44
+ * holder.
45
+ *
46
+ * The global holder is bypassed for isolated requests (playground / DO
47
+ * preview, which point at a divergent schema) and for dirty versions
48
+ * (odd counter — see `BylineSchemaRegistry`'s class JSDoc — indicates
49
+ * an in-flight or crashed mutation). Both bypass paths still hit the
50
+ * per-request cache, so a single render dedupes within itself.
51
+ *
52
+ * Always returns an array. Empty = no custom fields registered.
53
+ */
54
+ async function getBylineFieldDefs(db) {
55
+ const isolated = getRequestContext()?.dbIsIsolated === true;
56
+ const version = await getBylineFieldsVersion(db);
57
+ const dirty = version % 2 !== 0;
58
+ return requestCached(`${REQUEST_CACHE_KEY_DEFS_PREFIX}${version}`, async () => {
59
+ if (isolated || dirty) return new BylineSchemaRegistry(db).listFields();
60
+ return initWithLock(holder.lock, () => holder.hasValue && holder.cachedVersion === version ? holder.value : null, (isCurrentClaim) => (async () => {
61
+ const defs = await new BylineSchemaRegistry(db).listFields();
62
+ if (isCurrentClaim() && version >= holder.cachedVersion) {
63
+ holder.value = defs;
64
+ holder.hasValue = true;
65
+ holder.cachedVersion = version;
66
+ }
67
+ return defs;
68
+ })(), {
69
+ deadlineMs: reclaimDeadlineMs,
70
+ anchor: (promise) => after(() => promise)
71
+ });
72
+ });
73
+ }
74
+
75
+ //#endregion
76
+ export { getBylineFieldDefs as n, field_defs_cache_exports as t };
77
+ //# sourceMappingURL=field-defs-cache-HIgBbqZZ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-defs-cache-HIgBbqZZ.mjs","names":[],"sources":["../src/bylines/field-defs-cache.ts"],"sourcesContent":["/**\n * Byline field-definitions cache\n *\n * Discussion #1174 / Phase 3. Two-tier cache for the byline custom-field\n * registry, mirroring the `settings/index.ts` pattern.\n *\n * **Tier 1 — per-isolate (globalThis).** Field definitions change rarely\n * but are read on every byline hydration (admin pages, content rendering,\n * API responses). Caching at the isolate level drops the SELECT-from-\n * `_emdash_byline_fields` from once-per-hydration to once-per-isolate-\n * after-bump. The cache holds the resolved *value* behind a reclaimable\n * single-flight lock (see `utils/single-flight-cache.ts`), never an\n * in-flight promise: concurrent cold-isolate readers coalesce onto one\n * query by polling the published value, so a reader whose request is\n * cancelled mid-query can never strand later byline hydrations on the\n * isolate (the workerd never-settling-promise hazard that produced 524s).\n *\n * Stored on globalThis under `Symbol.for(\"emdash:byline-field-defs\")` so\n * Vite SSR chunk duplication can't produce two independent caches (same\n * pattern as `request-cache.ts` and `request-context.ts`).\n *\n * **Tier 2 — per-request.** Wraps both the version read and the defs\n * fetch in `requestCached` so a single page render that hits byline\n * hydration multiple times (e.g. list view + individual byline lookups\n * in a sidebar) pays at most one version read and one defs fetch in\n * total. The defs cache key includes the version, so a (highly\n * unlikely) mid-request bump still produces a self-consistent view —\n * the second call sees a different key and refetches.\n *\n * **Invalidation.** `options.byline_fields_version` is bumped by every\n * `BylineSchemaRegistry` mutation (Phase 2). Each isolate independently\n * reads the persisted version on the next request and compares against\n * its cached version; mismatch triggers a refetch and overwrite. Other\n * isolates see the change within one request after the bump propagates.\n *\n * **Isolated databases bypass the global cache.** Playground and DO\n * preview sessions set `requestContext.dbIsIsolated = true`, signalling\n * the per-request `db` points at an isolated schema that may diverge\n * from the singleton. Schema-derived caches keyed by the singleton's\n * version would silently leak the singleton's defs into the isolated\n * request. We follow the `loader.ts:74` `getTaxonomyNames` precedent:\n * skip both reading from and writing to the global holder when the\n * request is isolated. The per-request cache (`requestCached`) is keyed\n * by the WeakMap'd `EmDashRequestContext`, so it can't cross-pollinate\n * between requests — it stays in play even for isolated DBs.\n *\n * **Why a versioned cache and not a TTL?** The version counter gives\n * deterministic invalidation without the staleness window a TTL would\n * impose. Field-definition changes need to be visible to the next\n * request, not eventually. The cost is one cheap `options` read per\n * request — cheaper than the field-defs fetch it replaces, and cheaper\n * than maintaining a TTL state machine.\n */\n\nimport type { Kysely } from \"kysely\";\n\nimport { after } from \"../after.js\";\nimport type { Database } from \"../database/types.js\";\nimport { requestCached } from \"../request-cache.js\";\nimport { getRequestContext } from \"../request-context.js\";\nimport { BylineSchemaRegistry } from \"../schema/byline-registry.js\";\nimport type { BylineFieldDefinition } from \"../schema/types.js\";\nimport { createInitLock, type InitLock, initWithLock } from \"../utils/init-lock.js\";\n\ninterface FieldDefsHolder {\n\t/** Last resolved defs, valid only when `hasValue` is true. */\n\tvalue: BylineFieldDefinition[] | null;\n\t/** Presence flag, separate from `value` so an empty-array result still caches. */\n\thasValue: boolean;\n\t/** Persisted-version value that `value` was fetched against. */\n\tcachedVersion: number;\n\t/** Reclaimable single-flight lock so a cancelled owner can't wedge readers. */\n\tlock: InitLock;\n}\n\nconst HOLDER_KEY = Symbol.for(\"emdash:byline-field-defs\");\nconst g = globalThis as Record<symbol, unknown>;\nconst holder: FieldDefsHolder =\n\t// eslint-disable-next-line typescript/no-unsafe-type-assertion -- globalThis singleton pattern (see request-cache.ts)\n\t(g[HOLDER_KEY] as FieldDefsHolder | undefined) ??\n\t(() => {\n\t\tconst h: FieldDefsHolder = {\n\t\t\tvalue: null,\n\t\t\thasValue: false,\n\t\t\tcachedVersion: -1,\n\t\t\tlock: createInitLock(),\n\t\t};\n\t\tg[HOLDER_KEY] = h;\n\t\treturn h;\n\t})();\n\nconst REQUEST_CACHE_KEY_VERSION = \"byline-fields-version\";\nconst REQUEST_CACHE_KEY_DEFS_PREFIX = \"byline-field-defs:\";\n\n/**\n * Reclaim window for the single-flight lock: if an owner holds it past\n * this without publishing (e.g. its request was cancelled and the\n * anchored fetch hasn't completed yet), the next reader reclaims and\n * refetches. `listFields` is a single fast SELECT, so this only needs to\n * cover a genuinely slow/stranded query. Mutable solely so tests can\n * shorten it; production never changes it.\n */\nlet reclaimDeadlineMs = 10_000;\n\n/**\n * Read the persisted `options.byline_fields_version` counter. Cached for\n * the duration of the current request via `requestCached`. Returns `0`\n * when the row is missing (matches `BylineSchemaRegistry.getVersion`).\n */\nasync function getBylineFieldsVersion(db: Kysely<Database>): Promise<number> {\n\treturn requestCached(REQUEST_CACHE_KEY_VERSION, () => new BylineSchemaRegistry(db).getVersion());\n}\n\n/**\n * Resolve registered byline custom-field definitions. Two-tier cache:\n * per-request via `requestCached`, then per-isolate via the global\n * holder.\n *\n * The global holder is bypassed for isolated requests (playground / DO\n * preview, which point at a divergent schema) and for dirty versions\n * (odd counter — see `BylineSchemaRegistry`'s class JSDoc — indicates\n * an in-flight or crashed mutation). Both bypass paths still hit the\n * per-request cache, so a single render dedupes within itself.\n *\n * Always returns an array. Empty = no custom fields registered.\n */\nexport async function getBylineFieldDefs(db: Kysely<Database>): Promise<BylineFieldDefinition[]> {\n\tconst isolated = getRequestContext()?.dbIsIsolated === true;\n\tconst version = await getBylineFieldsVersion(db);\n\tconst dirty = version % 2 !== 0;\n\treturn requestCached(`${REQUEST_CACHE_KEY_DEFS_PREFIX}${version}`, async () => {\n\t\tif (isolated || dirty) {\n\t\t\treturn new BylineSchemaRegistry(db).listFields();\n\t\t}\n\t\t// Per-isolate single-flight cache keyed on the persisted version.\n\t\t// Coalesce concurrent cold readers via the lock and read the\n\t\t// published value; never await another request's in-flight promise\n\t\t// (a cancelled owner would otherwise strand every later byline\n\t\t// hydration on the isolate). The fetch is anchored so a cancelled\n\t\t// originator still drives it to completion and populates the cache.\n\t\treturn initWithLock<BylineFieldDefinition[]>(\n\t\t\tholder.lock,\n\t\t\t() => (holder.hasValue && holder.cachedVersion === version ? holder.value : null),\n\t\t\t(isCurrentClaim) =>\n\t\t\t\t(async () => {\n\t\t\t\t\tconst defs = await new BylineSchemaRegistry(db).listFields();\n\t\t\t\t\t// Publish only while still the current claim, and never\n\t\t\t\t\t// regress over a newer version a concurrent reader stored.\n\t\t\t\t\tif (isCurrentClaim() && version >= holder.cachedVersion) {\n\t\t\t\t\t\tholder.value = defs;\n\t\t\t\t\t\tholder.hasValue = true;\n\t\t\t\t\t\tholder.cachedVersion = version;\n\t\t\t\t\t}\n\t\t\t\t\treturn defs;\n\t\t\t\t})(),\n\t\t\t{ deadlineMs: reclaimDeadlineMs, anchor: (promise) => after(() => promise) },\n\t\t);\n\t});\n}\n\n/**\n * Test/internal helper: clear the per-isolate cache. Useful for unit\n * tests that mutate the registry directly and need to force a refetch\n * without going through the full version-bump path.\n *\n * Production code paths should rely on the version counter for\n * invalidation — calling this from a write path would bypass the\n * coordination that lets other isolates see the change.\n */\nexport function resetBylineFieldDefsCacheForTests(): void {\n\tholder.value = null;\n\tholder.hasValue = false;\n\tholder.cachedVersion = -1;\n\tholder.lock.ownerStartedAt = null;\n\tholder.lock.generation = 0;\n\treclaimDeadlineMs = 10_000;\n}\n\n/**\n * Test-only: shorten the single-flight reclaim window so a \"stranded\n * owner\" scenario can be exercised without waiting out the production\n * deadline. Reset by `resetBylineFieldDefsCacheForTests`.\n *\n * @internal\n */\nexport function setBylineFieldDefsReclaimDeadlineForTests(ms: number): void {\n\treclaimDeadlineMs = ms;\n}\n"],"mappings":";;;;;;;;;AA2EA,MAAM,aAAa,OAAO,IAAI,2BAA2B;AACzD,MAAM,IAAI;AACV,MAAM,SAEJ,EAAE,sBACI;CACN,MAAM,IAAqB;EAC1B,OAAO;EACP,UAAU;EACV,eAAe;EACf,MAAM,gBAAgB;EACtB;AACD,GAAE,cAAc;AAChB,QAAO;IACJ;AAEL,MAAM,4BAA4B;AAClC,MAAM,gCAAgC;;;;;;;;;AAUtC,IAAI,oBAAoB;;;;;;AAOxB,eAAe,uBAAuB,IAAuC;AAC5E,QAAO,cAAc,iCAAiC,IAAI,qBAAqB,GAAG,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;AAgBjG,eAAsB,mBAAmB,IAAwD;CAChG,MAAM,WAAW,mBAAmB,EAAE,iBAAiB;CACvD,MAAM,UAAU,MAAM,uBAAuB,GAAG;CAChD,MAAM,QAAQ,UAAU,MAAM;AAC9B,QAAO,cAAc,GAAG,gCAAgC,WAAW,YAAY;AAC9E,MAAI,YAAY,MACf,QAAO,IAAI,qBAAqB,GAAG,CAAC,YAAY;AAQjD,SAAO,aACN,OAAO,YACA,OAAO,YAAY,OAAO,kBAAkB,UAAU,OAAO,QAAQ,OAC3E,oBACC,YAAY;GACZ,MAAM,OAAO,MAAM,IAAI,qBAAqB,GAAG,CAAC,YAAY;AAG5D,OAAI,gBAAgB,IAAI,WAAW,OAAO,eAAe;AACxD,WAAO,QAAQ;AACf,WAAO,WAAW;AAClB,WAAO,gBAAgB;;AAExB,UAAO;MACJ,EACL;GAAE,YAAY;GAAmB,SAAS,YAAY,YAAY,QAAQ;GAAE,CAC5E;GACA"}