emdash 1.0.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1439) hide show
  1. package/dist/action-token-BdWad2YG.mjs +26 -0
  2. package/dist/action-token-BdWad2YG.mjs.map +1 -0
  3. package/dist/activation-xomsCMJg.mjs +387 -0
  4. package/dist/activation-xomsCMJg.mjs.map +1 -0
  5. package/dist/adapters-B4-nbElt.d.mts +173 -0
  6. package/dist/adapters-B4-nbElt.d.mts.map +1 -0
  7. package/dist/allowed-origins-CLpHGGlc.mjs +116 -0
  8. package/dist/allowed-origins-CLpHGGlc.mjs.map +1 -0
  9. package/dist/api/route-utils.d.mts +4 -4
  10. package/dist/api/route-utils.d.mts.map +1 -1
  11. package/dist/api/route-utils.mjs +49 -48
  12. package/dist/api/route-utils.mjs.map +1 -1
  13. package/dist/api/schemas/index.d.mts +2 -2
  14. package/dist/api/schemas/index.mjs +10 -10
  15. package/dist/api-DBw_IWoi.mjs +5024 -0
  16. package/dist/api-DBw_IWoi.mjs.map +1 -0
  17. package/dist/api-tokens-B0ZipcZ-.mjs +173 -0
  18. package/dist/api-tokens-B0ZipcZ-.mjs.map +1 -0
  19. package/dist/apply-Cx48saFC.mjs +1680 -0
  20. package/dist/apply-Cx48saFC.mjs.map +1 -0
  21. package/dist/approvals-BXgtXA2s.mjs +460 -0
  22. package/dist/approvals-BXgtXA2s.mjs.map +1 -0
  23. package/dist/artifact-fetch-DsRczRGG.mjs +659 -0
  24. package/dist/artifact-fetch-DsRczRGG.mjs.map +1 -0
  25. package/dist/artifacts-D-O-qj9C.mjs +307 -0
  26. package/dist/artifacts-D-O-qj9C.mjs.map +1 -0
  27. package/dist/astro/image-endpoint.d.mts.map +1 -1
  28. package/dist/astro/image-endpoint.mjs +26 -6
  29. package/dist/astro/image-endpoint.mjs.map +1 -1
  30. package/dist/astro/index.d.mts +14 -14
  31. package/dist/astro/index.d.mts.map +1 -1
  32. package/dist/astro/index.mjs +253 -17
  33. package/dist/astro/index.mjs.map +1 -1
  34. package/dist/astro/middleware/auth.d.mts +12 -12
  35. package/dist/astro/middleware/auth.d.mts.map +1 -1
  36. package/dist/astro/middleware/auth.mjs +18 -13
  37. package/dist/astro/middleware/auth.mjs.map +1 -1
  38. package/dist/astro/middleware/media-usage-write-fence.mjs +6 -6
  39. package/dist/astro/middleware/redirect.d.mts.map +1 -1
  40. package/dist/astro/middleware/redirect.mjs +34 -32
  41. package/dist/astro/middleware/redirect.mjs.map +1 -1
  42. package/dist/astro/middleware/request-context.d.mts.map +1 -1
  43. package/dist/astro/middleware/request-context.mjs +99 -60
  44. package/dist/astro/middleware/request-context.mjs.map +1 -1
  45. package/dist/astro/middleware/setup.mjs +1 -1
  46. package/dist/astro/middleware.d.mts +12 -12
  47. package/dist/astro/middleware.d.mts.map +1 -1
  48. package/dist/astro/middleware.mjs +233 -128
  49. package/dist/astro/middleware.mjs.map +1 -1
  50. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +15 -15
  51. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +15 -15
  52. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +8 -7
  53. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs.map +1 -1
  54. package/dist/astro/routes/api/admin/api-tokens/index.mjs +9 -8
  55. package/dist/astro/routes/api/admin/api-tokens/index.mjs.map +1 -1
  56. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +7 -7
  57. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +17 -17
  58. package/dist/astro/routes/api/admin/byline-fields/index.mjs +17 -17
  59. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +17 -17
  60. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +22 -22
  61. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +22 -23
  62. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs.map +1 -1
  63. package/dist/astro/routes/api/admin/bylines/index.mjs +23 -23
  64. package/dist/astro/routes/api/admin/bylines/index.mjs.map +1 -1
  65. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +19 -19
  66. package/dist/astro/routes/api/admin/comments/_id_.mjs +8 -8
  67. package/dist/astro/routes/api/admin/comments/bulk.mjs +18 -18
  68. package/dist/astro/routes/api/admin/comments/counts.mjs +8 -8
  69. package/dist/astro/routes/api/admin/comments/index.mjs +18 -18
  70. package/dist/astro/routes/api/admin/core-update.mjs +8 -8
  71. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +7 -7
  72. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +6 -6
  73. package/dist/astro/routes/api/admin/media-usage/activation.mjs +21 -21
  74. package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs +22 -22
  75. package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs +22 -22
  76. package/dist/astro/routes/api/admin/media-usage/progress.mjs +23 -23
  77. package/dist/astro/routes/api/admin/media-usage/repair.mjs +29 -29
  78. package/dist/astro/routes/api/admin/media-usage/work/index.mjs +22 -22
  79. package/dist/astro/routes/api/admin/media-usage/work/retry.mjs +22 -22
  80. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +7 -7
  81. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +7 -7
  82. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +9 -9
  83. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +9 -9
  84. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +73 -72
  85. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs.map +1 -1
  86. package/dist/astro/routes/api/admin/plugins/_id_/mcp.mjs +8 -8
  87. package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs +71 -70
  88. package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs.map +1 -1
  89. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +72 -71
  90. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs.map +1 -1
  91. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +82 -81
  92. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs.map +1 -1
  93. package/dist/astro/routes/api/admin/plugins/index.mjs +72 -71
  94. package/dist/astro/routes/api/admin/plugins/index.mjs.map +1 -1
  95. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +8 -8
  96. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +71 -70
  97. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs.map +1 -1
  98. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +81 -80
  99. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs.map +1 -1
  100. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +71 -70
  101. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs.map +1 -1
  102. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs +72 -71
  103. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs.map +1 -1
  104. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs +83 -82
  105. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs.map +1 -1
  106. package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs +10 -10
  107. package/dist/astro/routes/api/admin/plugins/registry/install.mjs +74 -73
  108. package/dist/astro/routes/api/admin/plugins/registry/install.mjs.map +1 -1
  109. package/dist/astro/routes/api/admin/plugins/registry/publisher-handle.mjs +8 -8
  110. package/dist/astro/routes/api/admin/plugins/registry/verify.mjs +72 -71
  111. package/dist/astro/routes/api/admin/plugins/registry/verify.mjs.map +1 -1
  112. package/dist/astro/routes/api/admin/plugins/updates.mjs +71 -70
  113. package/dist/astro/routes/api/admin/plugins/updates.mjs.map +1 -1
  114. package/dist/astro/routes/api/admin/scheduled-policy-rejections/_collection_/_id_.mjs +6 -6
  115. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +71 -70
  116. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs.map +1 -1
  117. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +8 -8
  118. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +71 -70
  119. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs.map +1 -1
  120. package/dist/astro/routes/api/admin/transfer/_...path_.mjs +5 -5
  121. package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.mjs +39 -39
  122. package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.mjs +39 -39
  123. package/dist/astro/routes/api/admin/transfer/approvals/index.mjs +41 -41
  124. package/dist/astro/routes/api/admin/transfer/capabilities.mjs +41 -41
  125. package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.mjs +41 -41
  126. package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.mjs +42 -42
  127. package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.mjs +42 -42
  128. package/dist/astro/routes/api/admin/transfer/exports/_id_/index.mjs +41 -41
  129. package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.mjs +42 -42
  130. package/dist/astro/routes/api/admin/transfer/exports/index.mjs +43 -43
  131. package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.mjs +41 -41
  132. package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.mjs +41 -41
  133. package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.mjs +43 -43
  134. package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.mjs +41 -41
  135. package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.mjs +43 -43
  136. package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.mjs +41 -41
  137. package/dist/astro/routes/api/admin/transfer/imports/_id_/index.mjs +41 -41
  138. package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.mjs +43 -43
  139. package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.mjs +41 -41
  140. package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.mjs +41 -41
  141. package/dist/astro/routes/api/admin/transfer/imports/index.mjs +43 -43
  142. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +5 -5
  143. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +5 -5
  144. package/dist/astro/routes/api/admin/users/_id_/index.mjs +15 -15
  145. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +7 -7
  146. package/dist/astro/routes/api/admin/users/index.mjs +15 -15
  147. package/dist/astro/routes/api/auth/dev-bypass.mjs +7 -7
  148. package/dist/astro/routes/api/auth/handover.d.mts +8 -0
  149. package/dist/astro/routes/api/auth/handover.d.mts.map +1 -0
  150. package/dist/astro/routes/api/auth/handover.mjs +49 -0
  151. package/dist/astro/routes/api/auth/handover.mjs.map +1 -0
  152. package/dist/astro/routes/api/auth/invite/accept.mjs +5 -5
  153. package/dist/astro/routes/api/auth/invite/complete.mjs +20 -20
  154. package/dist/astro/routes/api/auth/invite/index.mjs +17 -17
  155. package/dist/astro/routes/api/auth/invite/register-options.mjs +18 -18
  156. package/dist/astro/routes/api/auth/logout.mjs +6 -6
  157. package/dist/astro/routes/api/auth/magic-link/send.mjs +20 -19
  158. package/dist/astro/routes/api/auth/magic-link/send.mjs.map +1 -1
  159. package/dist/astro/routes/api/auth/magic-link/verify.d.mts.map +1 -1
  160. package/dist/astro/routes/api/auth/magic-link/verify.mjs +24 -18
  161. package/dist/astro/routes/api/auth/magic-link/verify.mjs.map +1 -1
  162. package/dist/astro/routes/api/auth/me.mjs +16 -16
  163. package/dist/astro/routes/api/auth/mode.mjs +6 -6
  164. package/dist/astro/routes/api/auth/oauth/_provider_/callback.d.mts.map +1 -1
  165. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +36 -13
  166. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs.map +1 -1
  167. package/dist/astro/routes/api/auth/oauth/_provider_.d.mts.map +1 -1
  168. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +20 -5
  169. package/dist/astro/routes/api/auth/oauth/_provider_.mjs.map +1 -1
  170. package/dist/astro/routes/api/auth/passkey/_id_.mjs +15 -15
  171. package/dist/astro/routes/api/auth/passkey/index.mjs +5 -5
  172. package/dist/astro/routes/api/auth/passkey/options.d.mts.map +1 -1
  173. package/dist/astro/routes/api/auth/passkey/options.mjs +28 -21
  174. package/dist/astro/routes/api/auth/passkey/options.mjs.map +1 -1
  175. package/dist/astro/routes/api/auth/passkey/register/options.mjs +18 -18
  176. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +19 -19
  177. package/dist/astro/routes/api/auth/passkey/verify.mjs +20 -20
  178. package/dist/astro/routes/api/auth/signup/complete.mjs +20 -20
  179. package/dist/astro/routes/api/auth/signup/request.mjs +19 -18
  180. package/dist/astro/routes/api/auth/signup/request.mjs.map +1 -1
  181. package/dist/astro/routes/api/auth/signup/verify.mjs +5 -5
  182. package/dist/astro/routes/api/calendar.d.mts +8 -0
  183. package/dist/astro/routes/api/calendar.d.mts.map +1 -0
  184. package/dist/astro/routes/api/calendar.mjs +204 -0
  185. package/dist/astro/routes/api/calendar.mjs.map +1 -0
  186. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +14 -14
  187. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +20 -20
  188. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +6 -6
  189. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +17 -17
  190. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +6 -6
  191. package/dist/astro/routes/api/content/_collection_/_id_/lock.mjs +17 -17
  192. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +6 -6
  193. package/dist/astro/routes/api/content/_collection_/_id_/plugin-extensions/_pluginId_/_kind_/_extensionId_.mjs +12 -12
  194. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +31 -31
  195. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +17 -17
  196. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs +35 -35
  197. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs +35 -35
  198. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +6 -6
  199. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +6 -6
  200. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +17 -17
  201. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +25 -25
  202. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +6 -6
  203. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +17 -17
  204. package/dist/astro/routes/api/content/_collection_/_id_.mjs +17 -17
  205. package/dist/astro/routes/api/content/_collection_/authors.mjs +6 -6
  206. package/dist/astro/routes/api/content/_collection_/index.mjs +16 -16
  207. package/dist/astro/routes/api/content/_collection_/trash.mjs +16 -16
  208. package/dist/astro/routes/api/dashboard.mjs +12 -12
  209. package/dist/astro/routes/api/dev/emails.mjs +6 -6
  210. package/dist/astro/routes/api/health.mjs +7 -7
  211. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  212. package/dist/astro/routes/api/import/probe.mjs +25 -25
  213. package/dist/astro/routes/api/import/wordpress/analyze.mjs +6 -6
  214. package/dist/astro/routes/api/import/wordpress/execute.d.mts +13 -13
  215. package/dist/astro/routes/api/import/wordpress/execute.mjs +31 -24
  216. package/dist/astro/routes/api/import/wordpress/execute.mjs.map +1 -1
  217. package/dist/astro/routes/api/import/wordpress/media.d.mts +12 -12
  218. package/dist/astro/routes/api/import/wordpress/media.mjs +20 -20
  219. package/dist/astro/routes/api/import/wordpress/prepare.mjs +18 -18
  220. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.d.mts +8 -0
  221. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.d.mts.map +1 -1
  222. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.mjs +67 -31
  223. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.mjs.map +1 -1
  224. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +13 -13
  225. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +27 -27
  226. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  227. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +25 -25
  228. package/dist/astro/routes/api/import/wordpress-plugin/callback.mjs +1 -1
  229. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +13 -13
  230. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +40 -33
  231. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs.map +1 -1
  232. package/dist/astro/routes/api/manifest.mjs +10 -7
  233. package/dist/astro/routes/api/manifest.mjs.map +1 -1
  234. package/dist/astro/routes/api/mcp.mjs +94 -94
  235. package/dist/astro/routes/api/mcp.mjs.map +1 -1
  236. package/dist/astro/routes/api/media/_id_/confirm.d.mts.map +1 -1
  237. package/dist/astro/routes/api/media/_id_/confirm.mjs +36 -20
  238. package/dist/astro/routes/api/media/_id_/confirm.mjs.map +1 -1
  239. package/dist/astro/routes/api/media/_id_/replace.mjs +17 -17
  240. package/dist/astro/routes/api/media/_id_/upload.mjs +10 -10
  241. package/dist/astro/routes/api/media/_id_/usage.mjs +31 -31
  242. package/dist/astro/routes/api/media/_id_.mjs +29 -29
  243. package/dist/astro/routes/api/media/asset/_id_/_filename_.mjs +7 -7
  244. package/dist/astro/routes/api/media/file/_...key_.d.mts.map +1 -1
  245. package/dist/astro/routes/api/media/file/_...key_.mjs +46 -16
  246. package/dist/astro/routes/api/media/file/_...key_.mjs.map +1 -1
  247. package/dist/astro/routes/api/media/folders/_id_.mjs +17 -17
  248. package/dist/astro/routes/api/media/folders/index.mjs +17 -17
  249. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +6 -6
  250. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +6 -6
  251. package/dist/astro/routes/api/media/providers/index.mjs +6 -6
  252. package/dist/astro/routes/api/media/upload-url.mjs +45 -25
  253. package/dist/astro/routes/api/media/upload-url.mjs.map +1 -1
  254. package/dist/astro/routes/api/media.d.mts.map +1 -1
  255. package/dist/astro/routes/api/media.mjs +47 -36
  256. package/dist/astro/routes/api/media.mjs.map +1 -1
  257. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +18 -18
  258. package/dist/astro/routes/api/menus/_name_/items.mjs +18 -18
  259. package/dist/astro/routes/api/menus/_name_/reorder.mjs +18 -18
  260. package/dist/astro/routes/api/menus/_name_/translations.mjs +18 -18
  261. package/dist/astro/routes/api/menus/_name_.mjs +18 -18
  262. package/dist/astro/routes/api/menus/index.mjs +18 -18
  263. package/dist/astro/routes/api/oauth/authorize.mjs +6 -6
  264. package/dist/astro/routes/api/oauth/device/authorize.mjs +9 -9
  265. package/dist/astro/routes/api/oauth/device/code.mjs +13 -12
  266. package/dist/astro/routes/api/oauth/device/code.mjs.map +1 -1
  267. package/dist/astro/routes/api/oauth/device/token.mjs +12 -11
  268. package/dist/astro/routes/api/oauth/device/token.mjs.map +1 -1
  269. package/dist/astro/routes/api/oauth/register.mjs +9 -8
  270. package/dist/astro/routes/api/oauth/register.mjs.map +1 -1
  271. package/dist/astro/routes/api/oauth/token/refresh.mjs +9 -9
  272. package/dist/astro/routes/api/oauth/token/revoke.mjs +9 -9
  273. package/dist/astro/routes/api/oauth/token.mjs +9 -9
  274. package/dist/astro/routes/api/openapi.json.mjs +23 -23
  275. package/dist/astro/routes/api/openapi.json.mjs.map +1 -1
  276. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +12 -12
  277. package/dist/astro/routes/api/redirects/404s/index.mjs +20 -19
  278. package/dist/astro/routes/api/redirects/404s/index.mjs.map +1 -1
  279. package/dist/astro/routes/api/redirects/404s/summary.mjs +20 -19
  280. package/dist/astro/routes/api/redirects/404s/summary.mjs.map +1 -1
  281. package/dist/astro/routes/api/redirects/_id_.mjs +20 -19
  282. package/dist/astro/routes/api/redirects/_id_.mjs.map +1 -1
  283. package/dist/astro/routes/api/redirects/index.mjs +20 -19
  284. package/dist/astro/routes/api/redirects/index.mjs.map +1 -1
  285. package/dist/astro/routes/api/relations/_id_/index.mjs +35 -35
  286. package/dist/astro/routes/api/relations/index.mjs +35 -35
  287. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +6 -6
  288. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +17 -17
  289. package/dist/astro/routes/api/schema/block-types/_slug_/index.mjs +71 -70
  290. package/dist/astro/routes/api/schema/block-types/_slug_/index.mjs.map +1 -1
  291. package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.mjs +71 -70
  292. package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.mjs.map +1 -1
  293. package/dist/astro/routes/api/schema/block-types/index.mjs +71 -70
  294. package/dist/astro/routes/api/schema/block-types/index.mjs.map +1 -1
  295. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +71 -70
  296. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs.map +1 -1
  297. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +71 -70
  298. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs.map +1 -1
  299. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +71 -70
  300. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs.map +1 -1
  301. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +71 -70
  302. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs.map +1 -1
  303. package/dist/astro/routes/api/schema/collections/index.mjs +71 -70
  304. package/dist/astro/routes/api/schema/collections/index.mjs.map +1 -1
  305. package/dist/astro/routes/api/schema/collections/reorder.mjs +71 -70
  306. package/dist/astro/routes/api/schema/collections/reorder.mjs.map +1 -1
  307. package/dist/astro/routes/api/schema/index.mjs +17 -17
  308. package/dist/astro/routes/api/schema/index.mjs.map +1 -1
  309. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +71 -70
  310. package/dist/astro/routes/api/schema/orphans/_slug_.mjs.map +1 -1
  311. package/dist/astro/routes/api/schema/orphans/index.mjs +71 -70
  312. package/dist/astro/routes/api/schema/orphans/index.mjs.map +1 -1
  313. package/dist/astro/routes/api/search/enable.mjs +19 -19
  314. package/dist/astro/routes/api/search/index.mjs +18 -18
  315. package/dist/astro/routes/api/search/rebuild.mjs +19 -19
  316. package/dist/astro/routes/api/search/stats.mjs +9 -9
  317. package/dist/astro/routes/api/search/suggest.mjs +18 -18
  318. package/dist/astro/routes/api/sections/_slug_.mjs +18 -18
  319. package/dist/astro/routes/api/sections/index.mjs +18 -18
  320. package/dist/astro/routes/api/settings/backups/archives/_name_.mjs +8 -8
  321. package/dist/astro/routes/api/settings/backups/archives/index.mjs +8 -8
  322. package/dist/astro/routes/api/settings/backups/export.mjs +8 -8
  323. package/dist/astro/routes/api/settings/backups/index.mjs +9 -9
  324. package/dist/astro/routes/api/settings/domain-notify.d.mts +8 -0
  325. package/dist/astro/routes/api/settings/domain-notify.d.mts.map +1 -0
  326. package/dist/astro/routes/api/settings/domain-notify.mjs +125 -0
  327. package/dist/astro/routes/api/settings/domain-notify.mjs.map +1 -0
  328. package/dist/astro/routes/api/settings/domain.d.mts +9 -0
  329. package/dist/astro/routes/api/settings/domain.d.mts.map +1 -0
  330. package/dist/astro/routes/api/settings/domain.mjs +61 -0
  331. package/dist/astro/routes/api/settings/domain.mjs.map +1 -0
  332. package/dist/astro/routes/api/settings/email.mjs +7 -7
  333. package/dist/astro/routes/api/settings.mjs +22 -22
  334. package/dist/astro/routes/api/setup/admin-verify.mjs +21 -21
  335. package/dist/astro/routes/api/setup/admin.mjs +19 -19
  336. package/dist/astro/routes/api/setup/dev-bypass.mjs +43 -43
  337. package/dist/astro/routes/api/setup/dev-reset.mjs +5 -5
  338. package/dist/astro/routes/api/setup/index.d.mts.map +1 -1
  339. package/dist/astro/routes/api/setup/index.mjs +59 -50
  340. package/dist/astro/routes/api/setup/index.mjs.map +1 -1
  341. package/dist/astro/routes/api/setup/status.mjs +7 -7
  342. package/dist/astro/routes/api/site/domain-proof.d.mts +8 -0
  343. package/dist/astro/routes/api/site/domain-proof.d.mts.map +1 -0
  344. package/dist/astro/routes/api/site/domain-proof.mjs +33 -0
  345. package/dist/astro/routes/api/site/domain-proof.mjs.map +1 -0
  346. package/dist/astro/routes/api/snapshot.mjs +10 -10
  347. package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs +23 -23
  348. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +23 -23
  349. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +23 -23
  350. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +23 -23
  351. package/dist/astro/routes/api/taxonomies/_name_/translations.mjs +22 -22
  352. package/dist/astro/routes/api/taxonomies/_name_.mjs +23 -23
  353. package/dist/astro/routes/api/taxonomies/bulk-tag.mjs +36 -36
  354. package/dist/astro/routes/api/taxonomies/index.mjs +23 -23
  355. package/dist/astro/routes/api/themes/preview.mjs +8 -8
  356. package/dist/astro/routes/api/typegen.mjs +7 -7
  357. package/dist/astro/routes/api/visual-editing/action-token.mjs +8 -8
  358. package/dist/astro/routes/api/visual-editing/content/_collection_/_id_/publish.mjs +20 -20
  359. package/dist/astro/routes/api/visual-editing/toolbar-labels.mjs +5 -5
  360. package/dist/astro/routes/api/well-known/auth.mjs +1 -1
  361. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +2 -2
  362. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +2 -2
  363. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +17 -17
  364. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +19 -19
  365. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +19 -19
  366. package/dist/astro/routes/api/widget-areas/_name_.mjs +9 -9
  367. package/dist/astro/routes/api/widget-areas/index.mjs +19 -19
  368. package/dist/astro/routes/api/widget-components.mjs +6 -6
  369. package/dist/astro/routes/robots.txt.mjs +7 -7
  370. package/dist/astro/routes/sitemap-_collection_.xml.d.mts.map +1 -1
  371. package/dist/astro/routes/sitemap-_collection_.xml.mjs +30 -13
  372. package/dist/astro/routes/sitemap-_collection_.xml.mjs.map +1 -1
  373. package/dist/astro/routes/sitemap.xml.d.mts.map +1 -1
  374. package/dist/astro/routes/sitemap.xml.mjs +14 -13
  375. package/dist/astro/routes/sitemap.xml.mjs.map +1 -1
  376. package/dist/astro/types.d.mts +30 -18
  377. package/dist/astro/types.d.mts.map +1 -1
  378. package/dist/audit-CCH3MA4Y.mjs +127 -0
  379. package/dist/audit-CCH3MA4Y.mjs.map +1 -0
  380. package/dist/auth/providers/github.d.mts +1 -1
  381. package/dist/auth/providers/google.d.mts +1 -1
  382. package/dist/auth/providers/microsoft.d.mts +27 -0
  383. package/dist/auth/providers/microsoft.d.mts.map +1 -0
  384. package/dist/auth/providers/microsoft.mjs +20 -0
  385. package/dist/auth/providers/microsoft.mjs.map +1 -0
  386. package/dist/authoritative-records-Dcs7l2H5.mjs +5183 -0
  387. package/dist/authoritative-records-Dcs7l2H5.mjs.map +1 -0
  388. package/dist/authorize-TdIGpRSE.mjs +49 -0
  389. package/dist/authorize-TdIGpRSE.mjs.map +1 -0
  390. package/dist/backup-CZt5Mzwx.mjs +246 -0
  391. package/dist/backup-CZt5Mzwx.mjs.map +1 -0
  392. package/dist/base64-BQBZwXCx.mjs +63 -0
  393. package/dist/base64-BQBZwXCx.mjs.map +1 -0
  394. package/dist/block-types-DHnkzE6u.mjs +132 -0
  395. package/dist/block-types-DHnkzE6u.mjs.map +1 -0
  396. package/dist/block-values-C4N_F2-G.mjs +175 -0
  397. package/dist/block-values-C4N_F2-G.mjs.map +1 -0
  398. package/dist/byline-BmVKOQ8l.mjs +909 -0
  399. package/dist/byline-BmVKOQ8l.mjs.map +1 -0
  400. package/dist/byline-fields-B8SDs3M_.mjs +123 -0
  401. package/dist/byline-fields-B8SDs3M_.mjs.map +1 -0
  402. package/dist/byline-fields-Bze3ZdAw.mjs +280 -0
  403. package/dist/byline-fields-Bze3ZdAw.mjs.map +1 -0
  404. package/dist/bylines-CHhR28r9.mjs +150 -0
  405. package/dist/bylines-CHhR28r9.mjs.map +1 -0
  406. package/dist/bylines-DZS4OflA.mjs +234 -0
  407. package/dist/bylines-DZS4OflA.mjs.map +1 -0
  408. package/dist/cache-x0z8t_m9.mjs +133 -0
  409. package/dist/cache-x0z8t_m9.mjs.map +1 -0
  410. package/dist/canonical-BUcKRYpG.mjs +174 -0
  411. package/dist/canonical-BUcKRYpG.mjs.map +1 -0
  412. package/dist/capture-triggers-C9JKoIdT.mjs +362 -0
  413. package/dist/capture-triggers-C9JKoIdT.mjs.map +1 -0
  414. package/dist/challenge-store-BHgdPVze.mjs +51 -0
  415. package/dist/challenge-store-BHgdPVze.mjs.map +1 -0
  416. package/dist/checksum-BYR5i7qe.mjs +162 -0
  417. package/dist/checksum-BYR5i7qe.mjs.map +1 -0
  418. package/dist/chrome-tags-BIKBMZYO.mjs +24 -0
  419. package/dist/chrome-tags-BIKBMZYO.mjs.map +1 -0
  420. package/dist/chunks-Dr5Vr0zA.mjs +25 -0
  421. package/dist/chunks-Dr5Vr0zA.mjs.map +1 -0
  422. package/dist/cli/index.mjs +54 -52
  423. package/dist/cli/index.mjs.map +1 -1
  424. package/dist/client/cf-access.d.mts +1 -1
  425. package/dist/client/index.d.mts +34 -34
  426. package/dist/client/index.d.mts.map +1 -1
  427. package/dist/client/index.mjs +2 -2
  428. package/dist/client/index.mjs.map +1 -1
  429. package/dist/collection-slugs-cache-B2Gs9Jwx.mjs +85 -0
  430. package/dist/collection-slugs-cache-B2Gs9Jwx.mjs.map +1 -0
  431. package/dist/comment-CWla6OHV.mjs +325 -0
  432. package/dist/comment-CWla6OHV.mjs.map +1 -0
  433. package/dist/comment-reaction-RZrcs5cW.mjs +85 -0
  434. package/dist/comment-reaction-RZrcs5cW.mjs.map +1 -0
  435. package/dist/comments-BzmIKVb2.mjs +99 -0
  436. package/dist/comments-BzmIKVb2.mjs.map +1 -0
  437. package/dist/comments-Da_dI2O1.mjs +195 -0
  438. package/dist/comments-Da_dI2O1.mjs.map +1 -0
  439. package/dist/components-oFXumpf5.mjs +112 -0
  440. package/dist/components-oFXumpf5.mjs.map +1 -0
  441. package/dist/config--wamYxBW.d.mts +39 -0
  442. package/dist/config--wamYxBW.d.mts.map +1 -0
  443. package/dist/config-Bo4eOOdV.mjs +228 -0
  444. package/dist/config-Bo4eOOdV.mjs.map +1 -0
  445. package/dist/config-C4-UxIk7.d.mts +6790 -0
  446. package/dist/config-C4-UxIk7.d.mts.map +1 -0
  447. package/dist/connection-UpzYxtE2.mjs +36 -0
  448. package/dist/connection-UpzYxtE2.mjs.map +1 -0
  449. package/dist/content-CcHrqkgp.mjs +2072 -0
  450. package/dist/content-CcHrqkgp.mjs.map +1 -0
  451. package/dist/content-list-query-Bxxdd9fv.d.mts +26 -0
  452. package/dist/content-list-query-Bxxdd9fv.d.mts.map +1 -0
  453. package/dist/content-repair-havk1F0-.mjs +442 -0
  454. package/dist/content-repair-havk1F0-.mjs.map +1 -0
  455. package/dist/context-CvhgHgSH.mjs +2043 -0
  456. package/dist/context-CvhgHgSH.mjs.map +1 -0
  457. package/dist/credits-CygUrPOi.mjs +110 -0
  458. package/dist/credits-CygUrPOi.mjs.map +1 -0
  459. package/dist/cron-C6ytTOLw.mjs +306 -0
  460. package/dist/cron-C6ytTOLw.mjs.map +1 -0
  461. package/dist/dashboard-7_FYfafc.mjs +151 -0
  462. package/dist/dashboard-7_FYfafc.mjs.map +1 -0
  463. package/dist/db/index.d.mts +3 -3
  464. package/dist/db/index.mjs +1 -1
  465. package/dist/db/index.mjs.map +1 -1
  466. package/dist/db/libsql-migrations.d.mts +1 -1
  467. package/dist/db/libsql-migrations.mjs +5 -5
  468. package/dist/db/libsql.d.mts +1 -1
  469. package/dist/db/postgres-migrations.d.mts +1 -1
  470. package/dist/db/postgres-migrations.mjs +4 -4
  471. package/dist/db/postgres.d.mts +1 -1
  472. package/dist/db/sqlite-migrations.d.mts +1 -1
  473. package/dist/db/sqlite-migrations.mjs +4 -4
  474. package/dist/db/sqlite.d.mts +1 -1
  475. package/dist/db/sqlite.mjs +1 -1
  476. package/dist/default-CHCUkV4Z.mjs +81 -0
  477. package/dist/default-CHCUkV4Z.mjs.map +1 -0
  478. package/dist/deferred-tasks-G0xhcJTl.d.mts +9 -0
  479. package/dist/deferred-tasks-G0xhcJTl.d.mts.map +1 -0
  480. package/dist/dev-typegen-Dtl8AfS6.mjs +29 -0
  481. package/dist/dev-typegen-Dtl8AfS6.mjs.map +1 -0
  482. package/dist/device-flow-CzDJmQ1q.mjs +521 -0
  483. package/dist/device-flow-CzDJmQ1q.mjs.map +1 -0
  484. package/dist/digest-xJmyPv2r.mjs +194 -0
  485. package/dist/digest-xJmyPv2r.mjs.map +1 -0
  486. package/dist/direct-executor-BXiYIVJ9.mjs +104 -0
  487. package/dist/direct-executor-BXiYIVJ9.mjs.map +1 -0
  488. package/dist/email-console-7ZPApLlm.mjs +50 -0
  489. package/dist/email-console-7ZPApLlm.mjs.map +1 -0
  490. package/dist/email-locale-DFdUA6UF.mjs +25 -0
  491. package/dist/email-locale-DFdUA6UF.mjs.map +1 -0
  492. package/dist/emdash-runtime-C4oFeVpN.mjs +4363 -0
  493. package/dist/emdash-runtime-C4oFeVpN.mjs.map +1 -0
  494. package/dist/enrich-Duu4sV3a.mjs +194 -0
  495. package/dist/enrich-Duu4sV3a.mjs.map +1 -0
  496. package/dist/entry-lock-B4n0HdQ_.mjs +163 -0
  497. package/dist/entry-lock-B4n0HdQ_.mjs.map +1 -0
  498. package/dist/entry-lock-BAAlKYrz.d.mts +4566 -0
  499. package/dist/entry-lock-BAAlKYrz.d.mts.map +1 -0
  500. package/dist/entry-lock-Cjz0h45X.mjs +1209 -0
  501. package/dist/entry-lock-Cjz0h45X.mjs.map +1 -0
  502. package/dist/env-types-4bkF6Bqg.mjs +38 -0
  503. package/dist/env-types-4bkF6Bqg.mjs.map +1 -0
  504. package/dist/error-DxgQdaZ_.mjs +90 -0
  505. package/dist/error-DxgQdaZ_.mjs.map +1 -0
  506. package/dist/errors-CjtE5aWF.mjs +120 -0
  507. package/dist/errors-CjtE5aWF.mjs.map +1 -0
  508. package/dist/errors-hskQ0C8G.mjs +479 -0
  509. package/dist/errors-hskQ0C8G.mjs.map +1 -0
  510. package/dist/escape-ESFhYzwG.mjs +9 -0
  511. package/dist/escape-ESFhYzwG.mjs.map +1 -0
  512. package/dist/fence-vc3aHgRA.mjs +162 -0
  513. package/dist/fence-vc3aHgRA.mjs.map +1 -0
  514. package/dist/field-defs-cache-zoow36nz.mjs +77 -0
  515. package/dist/field-defs-cache-zoow36nz.mjs.map +1 -0
  516. package/dist/field-map-JD1wG0Tq.mjs +83 -0
  517. package/dist/field-map-JD1wG0Tq.mjs.map +1 -0
  518. package/dist/fts-manager-WJCN8uU6.mjs +443 -0
  519. package/dist/fts-manager-WJCN8uU6.mjs.map +1 -0
  520. package/dist/gc-CsGZiKdH.mjs +75 -0
  521. package/dist/gc-CsGZiKdH.mjs.map +1 -0
  522. package/dist/hash-C4DFoJ7Z.mjs +37 -0
  523. package/dist/hash-C4DFoJ7Z.mjs.map +1 -0
  524. package/dist/hook-result-CXjtMk7Q.d.mts +31 -0
  525. package/dist/hook-result-CXjtMk7Q.d.mts.map +1 -0
  526. package/dist/hreflang-BAma7iRr.mjs +105 -0
  527. package/dist/hreflang-BAma7iRr.mjs.map +1 -0
  528. package/dist/hreflang-BsYo4x_M.d.mts +50 -0
  529. package/dist/hreflang-BsYo4x_M.d.mts.map +1 -0
  530. package/dist/http-route-dispatch-C8G7hAK6.mjs +342 -0
  531. package/dist/http-route-dispatch-C8G7hAK6.mjs.map +1 -0
  532. package/dist/identity-BwBKM1fH.mjs +35 -0
  533. package/dist/identity-BwBKM1fH.mjs.map +1 -0
  534. package/dist/import-DJ3Z2wxE.mjs +2021 -0
  535. package/dist/import-DJ3Z2wxE.mjs.map +1 -0
  536. package/dist/index-DYsn97dY.d.mts +623 -0
  537. package/dist/index-DYsn97dY.d.mts.map +1 -0
  538. package/dist/index.d.mts +24 -24
  539. package/dist/index.mjs +99 -98
  540. package/dist/init-lock-BGmew3r1.mjs +56 -0
  541. package/dist/init-lock-BGmew3r1.mjs.map +1 -0
  542. package/dist/install-finalization-DCFnFSHv.mjs +58 -0
  543. package/dist/install-finalization-DCFnFSHv.mjs.map +1 -0
  544. package/dist/keys-CGvAndSp.mjs +61 -0
  545. package/dist/keys-CGvAndSp.mjs.map +1 -0
  546. package/dist/kinds-DT1W4T4Y.mjs +974 -0
  547. package/dist/kinds-DT1W4T4Y.mjs.map +1 -0
  548. package/dist/lifecycle-BzglCSY0.mjs +25 -0
  549. package/dist/lifecycle-BzglCSY0.mjs.map +1 -0
  550. package/dist/load-DjUqmf3s.mjs +28 -0
  551. package/dist/load-DjUqmf3s.mjs.map +1 -0
  552. package/dist/loader-CetY659y.mjs +1355 -0
  553. package/dist/loader-CetY659y.mjs.map +1 -0
  554. package/dist/loops-DkT1zkPH.mjs +205 -0
  555. package/dist/loops-DkT1zkPH.mjs.map +1 -0
  556. package/dist/manifest-builder-BOFCd9rX.mjs +189 -0
  557. package/dist/manifest-builder-BOFCd9rX.mjs.map +1 -0
  558. package/dist/manifest-schema-BiFBPEsp.mjs +497 -0
  559. package/dist/manifest-schema-BiFBPEsp.mjs.map +1 -0
  560. package/dist/marketplace-CUlenvZm.mjs +257 -0
  561. package/dist/marketplace-CUlenvZm.mjs.map +1 -0
  562. package/dist/media/image-endpoint.d.mts +26 -2
  563. package/dist/media/image-endpoint.d.mts.map +1 -1
  564. package/dist/media/image-endpoint.mjs +73 -3
  565. package/dist/media/image-endpoint.mjs.map +1 -1
  566. package/dist/media/index.d.mts +1 -1
  567. package/dist/media/index.mjs +1 -1
  568. package/dist/media/local-runtime.d.mts +14 -14
  569. package/dist/media/local-runtime.mjs +7 -7
  570. package/dist/media-CRKsKlfK.mjs +416 -0
  571. package/dist/media-CRKsKlfK.mjs.map +1 -0
  572. package/dist/media-C_z7sRuC.mjs +294 -0
  573. package/dist/media-C_z7sRuC.mjs.map +1 -0
  574. package/dist/media-IT8hQleU.mjs +373 -0
  575. package/dist/media-IT8hQleU.mjs.map +1 -0
  576. package/dist/media-allowlist-Ct6wvnT2.mjs +45 -0
  577. package/dist/media-allowlist-Ct6wvnT2.mjs.map +1 -0
  578. package/dist/media-folders-DtMt-vAA.mjs +210 -0
  579. package/dist/media-folders-DtMt-vAA.mjs.map +1 -0
  580. package/dist/media-url-BpXLqCmf.mjs +43 -0
  581. package/dist/media-url-BpXLqCmf.mjs.map +1 -0
  582. package/dist/media-usage-DEPHZZ9X.mjs +282 -0
  583. package/dist/media-usage-DEPHZZ9X.mjs.map +1 -0
  584. package/dist/media-usage-activation-V2Siabtw.mjs +78 -0
  585. package/dist/media-usage-activation-V2Siabtw.mjs.map +1 -0
  586. package/dist/media-usage-work-Cv1OE59F.mjs +151 -0
  587. package/dist/media-usage-work-Cv1OE59F.mjs.map +1 -0
  588. package/dist/media-usage-work-cgDYGvrt.mjs +1015 -0
  589. package/dist/media-usage-work-cgDYGvrt.mjs.map +1 -0
  590. package/dist/menus-CvVYfsuk.mjs +753 -0
  591. package/dist/menus-CvVYfsuk.mjs.map +1 -0
  592. package/dist/menus-D1HC8npj.mjs +92 -0
  593. package/dist/menus-D1HC8npj.mjs.map +1 -0
  594. package/dist/menus-DL8IPIcm.mjs +3721 -0
  595. package/dist/menus-DL8IPIcm.mjs.map +1 -0
  596. package/dist/migrations/index.d.mts +1 -1
  597. package/dist/migrations/index.mjs +3 -3
  598. package/dist/mime-B5M9R53H.mjs +81 -0
  599. package/dist/mime-B5M9R53H.mjs.map +1 -0
  600. package/dist/mode-eieqAWLe.mjs +23 -0
  601. package/dist/mode-eieqAWLe.mjs.map +1 -0
  602. package/dist/node-sqlite-compat-VuyzJw1b.mjs +63 -0
  603. package/dist/node-sqlite-compat-VuyzJw1b.mjs.map +1 -0
  604. package/dist/oauth-authorization-B6ZJbMd2.mjs +274 -0
  605. package/dist/oauth-authorization-B6ZJbMd2.mjs.map +1 -0
  606. package/dist/oauth-clients-DVjRc9v3.mjs +266 -0
  607. package/dist/oauth-clients-DVjRc9v3.mjs.map +1 -0
  608. package/dist/oauth-state-store-CnmYYsVQ.mjs +50 -0
  609. package/dist/oauth-state-store-CnmYYsVQ.mjs.map +1 -0
  610. package/dist/oauth-user-lookup-Dz1_R5vT.mjs +26 -0
  611. package/dist/oauth-user-lookup-Dz1_R5vT.mjs.map +1 -0
  612. package/dist/object-cache/memory.d.mts +1 -1
  613. package/dist/options-BR9XZl7h.d.mts +81 -0
  614. package/dist/options-BR9XZl7h.d.mts.map +1 -0
  615. package/dist/ownership-COPyVysP.mjs +12 -0
  616. package/dist/ownership-COPyVysP.mjs.map +1 -0
  617. package/dist/page/index.d.mts +2 -2
  618. package/dist/page/index.mjs +6 -6
  619. package/dist/parse-BOGhrwSq.d.mts +174 -0
  620. package/dist/parse-BOGhrwSq.d.mts.map +1 -0
  621. package/dist/parse-Cn5aSk1N.mjs +81 -0
  622. package/dist/parse-Cn5aSk1N.mjs.map +1 -0
  623. package/dist/passkey-config-mMFRQUCj.mjs +46 -0
  624. package/dist/passkey-config-mMFRQUCj.mjs.map +1 -0
  625. package/dist/paths-BmcAdBo9.mjs +77 -0
  626. package/dist/paths-BmcAdBo9.mjs.map +1 -0
  627. package/dist/patterns-CMNnYCgf.mjs +159 -0
  628. package/dist/patterns-CMNnYCgf.mjs.map +1 -0
  629. package/dist/placeholder-nOep3_Gn.d.mts +306 -0
  630. package/dist/placeholder-nOep3_Gn.d.mts.map +1 -0
  631. package/dist/plan-CDY4K8CH.mjs +135 -0
  632. package/dist/plan-CDY4K8CH.mjs.map +1 -0
  633. package/dist/plugin-test-runtime.d.mts +14 -14
  634. package/dist/plugin-test-runtime.d.mts.map +1 -1
  635. package/dist/plugin-test-runtime.mjs +111 -110
  636. package/dist/plugin-types.d.mts +2 -2
  637. package/dist/plugin-utils.d.mts +12 -12
  638. package/dist/plugin-utils.mjs +1 -1
  639. package/dist/plugin-utils.mjs.map +1 -1
  640. package/dist/plugins/adapt-sandbox-entry.d.mts +12 -12
  641. package/dist/plugins/adapt-sandbox-entry.mjs +3 -3
  642. package/dist/plugins/host.d.mts +5 -5
  643. package/dist/plugins/host.mjs +45 -44
  644. package/dist/plugins-DFBpfbO3.mjs +261 -0
  645. package/dist/plugins-DFBpfbO3.mjs.map +1 -0
  646. package/dist/policy-B_2qnHSy.mjs +45 -0
  647. package/dist/policy-B_2qnHSy.mjs.map +1 -0
  648. package/dist/portable-text-Dc2YAusw.mjs +307 -0
  649. package/dist/portable-text-Dc2YAusw.mjs.map +1 -0
  650. package/dist/preview-BtzikJ9O.mjs +107 -0
  651. package/dist/preview-BtzikJ9O.mjs.map +1 -0
  652. package/dist/protocol-M268ox8L.d.mts +61 -0
  653. package/dist/protocol-M268ox8L.d.mts.map +1 -0
  654. package/dist/public-submission-BQZavgZU.mjs +251 -0
  655. package/dist/public-submission-BQZavgZU.mjs.map +1 -0
  656. package/dist/public-url-uT1Ok2Tu.mjs +101 -0
  657. package/dist/public-url-uT1Ok2Tu.mjs.map +1 -0
  658. package/dist/query-BGG3sDEd.mjs +1127 -0
  659. package/dist/query-BGG3sDEd.mjs.map +1 -0
  660. package/dist/query-C_CWlifp.mjs +41 -0
  661. package/dist/query-C_CWlifp.mjs.map +1 -0
  662. package/dist/range-CXK_kDbI.mjs +51 -0
  663. package/dist/range-CXK_kDbI.mjs.map +1 -0
  664. package/dist/rate-limit-Dvamvay-.mjs +127 -0
  665. package/dist/rate-limit-Dvamvay-.mjs.map +1 -0
  666. package/dist/receipt-BmQGzquP.mjs +43 -0
  667. package/dist/receipt-BmQGzquP.mjs.map +1 -0
  668. package/dist/redirect-B39kTQ_0.mjs +423 -0
  669. package/dist/redirect-B39kTQ_0.mjs.map +1 -0
  670. package/dist/redirect-BguJ00Pv.mjs +19 -0
  671. package/dist/redirect-BguJ00Pv.mjs.map +1 -0
  672. package/dist/redirects-C8G4BsfP.mjs +446 -0
  673. package/dist/redirects-C8G4BsfP.mjs.map +1 -0
  674. package/dist/redirects-DFT7Wr-e.mjs +148 -0
  675. package/dist/redirects-DFT7Wr-e.mjs.map +1 -0
  676. package/dist/registry/testing.mjs +3 -3
  677. package/dist/registry-DeZ27gVi.mjs +8374 -0
  678. package/dist/registry-DeZ27gVi.mjs.map +1 -0
  679. package/dist/relations-DBB1bRJW.mjs +776 -0
  680. package/dist/relations-DBB1bRJW.mjs.map +1 -0
  681. package/dist/request-context.d.mts +2 -2
  682. package/dist/request-context.mjs.map +1 -1
  683. package/dist/request-meta-BSvkhIBX.mjs +141 -0
  684. package/dist/request-meta-BSvkhIBX.mjs.map +1 -0
  685. package/dist/resolve-BxH64HN9.mjs +100 -0
  686. package/dist/resolve-BxH64HN9.mjs.map +1 -0
  687. package/dist/revision-BWEH2qQB.mjs +368 -0
  688. package/dist/revision-BWEH2qQB.mjs.map +1 -0
  689. package/dist/route-wire-CwbWB_6O.mjs +197 -0
  690. package/dist/route-wire-CwbWB_6O.mjs.map +1 -0
  691. package/dist/routes-BfIxc7ft.mjs +272 -0
  692. package/dist/routes-BfIxc7ft.mjs.map +1 -0
  693. package/dist/runner-DkeafPBA.d.mts +68 -0
  694. package/dist/runner-DkeafPBA.d.mts.map +1 -0
  695. package/dist/runner-wqt4BrIW.mjs +6383 -0
  696. package/dist/runner-wqt4BrIW.mjs.map +1 -0
  697. package/dist/runtime.d.mts +13 -13
  698. package/dist/runtime.mjs +3 -3
  699. package/dist/schema/project-env-types.mjs +38 -38
  700. package/dist/schema-BXIW-JHi.mjs +815 -0
  701. package/dist/schema-BXIW-JHi.mjs.map +1 -0
  702. package/dist/schema-I74JwYte.mjs +13 -0
  703. package/dist/schema-I74JwYte.mjs.map +1 -0
  704. package/dist/scopes-RWZ5ft_Z.mjs +34 -0
  705. package/dist/scopes-RWZ5ft_Z.mjs.map +1 -0
  706. package/dist/search-DxwagyWS.mjs +450 -0
  707. package/dist/search-DxwagyWS.mjs.map +1 -0
  708. package/dist/secrets-Cc_O3Kp-.mjs +369 -0
  709. package/dist/secrets-Cc_O3Kp-.mjs.map +1 -0
  710. package/dist/sections-Ccq9ZgyD.mjs +346 -0
  711. package/dist/sections-Ccq9ZgyD.mjs.map +1 -0
  712. package/dist/seed/index.d.mts +2 -2
  713. package/dist/seed/index.mjs +36 -36
  714. package/dist/seo/index.d.mts +3 -3
  715. package/dist/seo/index.mjs +23 -23
  716. package/dist/seo-CCnfPWAQ.mjs +133 -0
  717. package/dist/seo-CCnfPWAQ.mjs.map +1 -0
  718. package/dist/seo-QCtJ1jjV.mjs +188 -0
  719. package/dist/seo-QCtJ1jjV.mjs.map +1 -0
  720. package/dist/service-DX84s2rw.mjs +150 -0
  721. package/dist/service-DX84s2rw.mjs.map +1 -0
  722. package/dist/session-user-1dtJc2zv.mjs +61 -0
  723. package/dist/session-user-1dtJc2zv.mjs.map +1 -0
  724. package/dist/settings-B1jOxAIl.mjs +443 -0
  725. package/dist/settings-B1jOxAIl.mjs.map +1 -0
  726. package/dist/settings-Bc1IBl1t.mjs +66 -0
  727. package/dist/settings-Bc1IBl1t.mjs.map +1 -0
  728. package/dist/settings-GaZ5sVgg.mjs +73 -0
  729. package/dist/settings-GaZ5sVgg.mjs.map +1 -0
  730. package/dist/setup-complete-DidMAWJS.mjs +65 -0
  731. package/dist/setup-complete-DidMAWJS.mjs.map +1 -0
  732. package/dist/setup-nonce-DKl4S4c6.mjs +25 -0
  733. package/dist/setup-nonce-DKl4S4c6.mjs.map +1 -0
  734. package/dist/single-flight-cache-D0EaGbN1.mjs +104 -0
  735. package/dist/single-flight-cache-D0EaGbN1.mjs.map +1 -0
  736. package/dist/site-domain-CbI51Pc2.mjs +113 -0
  737. package/dist/site-domain-CbI51Pc2.mjs.map +1 -0
  738. package/dist/site-settings-CDdT4mVm.mjs +50 -0
  739. package/dist/site-settings-CDdT4mVm.mjs.map +1 -0
  740. package/dist/site-url-CrDZaAvo.mjs +45 -0
  741. package/dist/site-url-CrDZaAvo.mjs.map +1 -0
  742. package/dist/sitemap-name-W3BTor6X.mjs +26 -0
  743. package/dist/sitemap-name-W3BTor6X.mjs.map +1 -0
  744. package/dist/slug-BJhHKoOH.mjs +16 -0
  745. package/dist/slug-BJhHKoOH.mjs.map +1 -0
  746. package/dist/slugify-bu2-jKia.mjs +22 -0
  747. package/dist/slugify-bu2-jKia.mjs.map +1 -0
  748. package/dist/snapshot-BuI_2uDe.mjs +414 -0
  749. package/dist/snapshot-BuI_2uDe.mjs.map +1 -0
  750. package/dist/ssrf-LM_0wpGA.mjs +406 -0
  751. package/dist/ssrf-LM_0wpGA.mjs.map +1 -0
  752. package/dist/stage-DhzZuYaT.mjs +662 -0
  753. package/dist/stage-DhzZuYaT.mjs.map +1 -0
  754. package/dist/staged-DboEaWsV.mjs +686 -0
  755. package/dist/staged-DboEaWsV.mjs.map +1 -0
  756. package/dist/state-DCXDzjHq.mjs +178 -0
  757. package/dist/state-DCXDzjHq.mjs.map +1 -0
  758. package/dist/status-Dl85BK39.mjs +30 -0
  759. package/dist/status-Dl85BK39.mjs.map +1 -0
  760. package/dist/storage/local.d.mts +2 -2
  761. package/dist/storage/local.d.mts.map +1 -1
  762. package/dist/storage/local.mjs +12 -5
  763. package/dist/storage/local.mjs.map +1 -1
  764. package/dist/storage/s3.d.mts +4 -2
  765. package/dist/storage/s3.d.mts.map +1 -1
  766. package/dist/storage/s3.mjs +56 -9
  767. package/dist/storage/s3.mjs.map +1 -1
  768. package/dist/storage-query-BOBmeDMD.d.mts +1615 -0
  769. package/dist/storage-query-BOBmeDMD.d.mts.map +1 -0
  770. package/dist/tar-K40edFMt.mjs +449 -0
  771. package/dist/tar-K40edFMt.mjs.map +1 -0
  772. package/dist/target-BOighEY1.mjs +27 -0
  773. package/dist/target-BOighEY1.mjs.map +1 -0
  774. package/dist/taxonomies-DQSywBvX.mjs +697 -0
  775. package/dist/taxonomies-DQSywBvX.mjs.map +1 -0
  776. package/dist/taxonomies-Dj5eaobC.mjs +939 -0
  777. package/dist/taxonomies-Dj5eaobC.mjs.map +1 -0
  778. package/dist/taxonomy-QrNmTfIZ.mjs +550 -0
  779. package/dist/taxonomy-QrNmTfIZ.mjs.map +1 -0
  780. package/dist/tokens-j5L0as2H.mjs +171 -0
  781. package/dist/tokens-j5L0as2H.mjs.map +1 -0
  782. package/dist/transfer-CYEw8Tu4.mjs +8873 -0
  783. package/dist/transfer-CYEw8Tu4.mjs.map +1 -0
  784. package/dist/transfer-DDX10hkD.mjs +166 -0
  785. package/dist/transfer-DDX10hkD.mjs.map +1 -0
  786. package/dist/transfer-download-BAqq6GJv.mjs +33 -0
  787. package/dist/transfer-download-BAqq6GJv.mjs.map +1 -0
  788. package/dist/transformations-De44wqV_.mjs +196 -0
  789. package/dist/transformations-De44wqV_.mjs.map +1 -0
  790. package/dist/transport-1QjUhCRO.d.mts +42 -0
  791. package/dist/transport-1QjUhCRO.d.mts.map +1 -0
  792. package/dist/transport-Ds5pVX7p.mjs +136 -0
  793. package/dist/transport-Ds5pVX7p.mjs.map +1 -0
  794. package/dist/trusted-proxy-d4Tk6biT.mjs +51 -0
  795. package/dist/trusted-proxy-d4Tk6biT.mjs.map +1 -0
  796. package/dist/turnstile-DaFLtyrs.mjs +58 -0
  797. package/dist/turnstile-DaFLtyrs.mjs.map +1 -0
  798. package/dist/types-B4-1P2DK.d.mts +227 -0
  799. package/dist/types-B4-1P2DK.d.mts.map +1 -0
  800. package/dist/types-BKXA0f-c.mjs +16 -0
  801. package/dist/types-BKXA0f-c.mjs.map +1 -0
  802. package/dist/types-BiHcpUoO.d.mts +374 -0
  803. package/dist/types-BiHcpUoO.d.mts.map +1 -0
  804. package/dist/types-BihhvkyN.d.mts +85 -0
  805. package/dist/types-BihhvkyN.d.mts.map +1 -0
  806. package/dist/types-Bq9Wohd7.d.mts +363 -0
  807. package/dist/types-Bq9Wohd7.d.mts.map +1 -0
  808. package/dist/types-C-Xp0CcN.mjs +103 -0
  809. package/dist/types-C-Xp0CcN.mjs.map +1 -0
  810. package/dist/types-C4P7F1Vq.d.mts +1741 -0
  811. package/dist/types-C4P7F1Vq.d.mts.map +1 -0
  812. package/dist/types-CGaqwHw4.mjs +37 -0
  813. package/dist/types-CGaqwHw4.mjs.map +1 -0
  814. package/dist/types-Cj0_yZkn.mjs +18 -0
  815. package/dist/types-Cj0_yZkn.mjs.map +1 -0
  816. package/dist/types-D4ECCE4X.mjs +77 -0
  817. package/dist/types-D4ECCE4X.mjs.map +1 -0
  818. package/dist/types-DcRJp0vS.d.mts +125 -0
  819. package/dist/types-DcRJp0vS.d.mts.map +1 -0
  820. package/dist/types-Ff85fTzU.d.mts +289 -0
  821. package/dist/types-Ff85fTzU.d.mts.map +1 -0
  822. package/dist/types-UKr5Sf4y.d.mts +916 -0
  823. package/dist/types-UKr5Sf4y.d.mts.map +1 -0
  824. package/dist/types-YpN8hZW7.d.mts +204 -0
  825. package/dist/types-YpN8hZW7.d.mts.map +1 -0
  826. package/dist/update-check-DrlsK-tt.mjs +161 -0
  827. package/dist/update-check-DrlsK-tt.mjs.map +1 -0
  828. package/dist/upload-attempts-D8CPPvRU.mjs +32 -0
  829. package/dist/upload-attempts-D8CPPvRU.mjs.map +1 -0
  830. package/dist/url-pattern-Di4Nn3vP.mjs +41 -0
  831. package/dist/url-pattern-Di4Nn3vP.mjs.map +1 -0
  832. package/dist/user-B-ZdGjhI.mjs +171 -0
  833. package/dist/user-B-ZdGjhI.mjs.map +1 -0
  834. package/dist/utils-D7wL3r6-.mjs +437 -0
  835. package/dist/utils-D7wL3r6-.mjs.map +1 -0
  836. package/dist/validate-BSZbSUDk.mjs +524 -0
  837. package/dist/validate-BSZbSUDk.mjs.map +1 -0
  838. package/dist/validate-Dfv0DpZi.d.mts +468 -0
  839. package/dist/validate-Dfv0DpZi.d.mts.map +1 -0
  840. package/dist/validation-DRyC_Vm5.mjs +219 -0
  841. package/dist/validation-DRyC_Vm5.mjs.map +1 -0
  842. package/dist/version-C4kz0PcO.mjs +7 -0
  843. package/dist/version-C4kz0PcO.mjs.map +1 -0
  844. package/dist/version-jhs2BRtl.mjs +9 -0
  845. package/dist/version-jhs2BRtl.mjs.map +1 -0
  846. package/dist/video-DReZ48Un.mjs +54 -0
  847. package/dist/video-DReZ48Un.mjs.map +1 -0
  848. package/dist/virtual-modules-D0e6VbEv.mjs +516 -0
  849. package/dist/virtual-modules-D0e6VbEv.mjs.map +1 -0
  850. package/dist/widgets-BkcMzKct.mjs +121 -0
  851. package/dist/widgets-BkcMzKct.mjs.map +1 -0
  852. package/dist/wxr-taxonomies-BxI0CbTg.mjs +453 -0
  853. package/dist/wxr-taxonomies-BxI0CbTg.mjs.map +1 -0
  854. package/dist/wxr-taxonomies-Dad33GJi.d.mts +34 -0
  855. package/dist/wxr-taxonomies-Dad33GJi.d.mts.map +1 -0
  856. package/dist/zod-generator-BQilAboC.mjs +424 -0
  857. package/dist/zod-generator-BQilAboC.mjs.map +1 -0
  858. package/package.json +19 -10
  859. package/src/api/errors.ts +12 -0
  860. package/src/api/handlers/api-tokens.ts +12 -6
  861. package/src/api/handlers/bylines.ts +24 -3
  862. package/src/api/handlers/calendar.ts +246 -0
  863. package/src/api/handlers/content.ts +69 -13
  864. package/src/api/handlers/domain-move-notice.ts +94 -0
  865. package/src/api/handlers/index.ts +2 -0
  866. package/src/api/handlers/manifest.ts +5 -0
  867. package/src/api/handlers/media-allowlist.ts +1 -0
  868. package/src/api/handlers/media-upload.ts +13 -10
  869. package/src/api/handlers/media-usage.ts +2 -1
  870. package/src/api/handlers/media.ts +1 -0
  871. package/src/api/handlers/plugins.ts +21 -29
  872. package/src/api/handlers/redirects.ts +6 -6
  873. package/src/api/handlers/seo.ts +155 -59
  874. package/src/api/handlers/settings.ts +31 -1
  875. package/src/api/handlers/site-domain.ts +143 -0
  876. package/src/api/openapi/document.ts +2 -2
  877. package/src/api/public-url.ts +1 -1
  878. package/src/api/schemas/bylines.ts +3 -1
  879. package/src/api/schemas/content.ts +36 -0
  880. package/src/api/schemas/media-usage.ts +7 -1
  881. package/src/api/schemas/media.ts +12 -0
  882. package/src/api/site-url.ts +53 -5
  883. package/src/api/types.ts +2 -0
  884. package/src/astro/image-endpoint.ts +46 -4
  885. package/src/astro/integration/admin-locales.ts +168 -0
  886. package/src/astro/integration/dev-env.ts +84 -0
  887. package/src/astro/integration/index.ts +67 -10
  888. package/src/astro/integration/routes.ts +25 -0
  889. package/src/astro/integration/runtime.ts +15 -0
  890. package/src/astro/integration/vite-config.ts +29 -1
  891. package/src/astro/middleware/auth.ts +16 -3
  892. package/src/astro/middleware/csp.ts +2 -0
  893. package/src/astro/middleware/redirect.ts +47 -21
  894. package/src/astro/middleware/request-context.ts +64 -31
  895. package/src/astro/middleware.ts +150 -26
  896. package/src/astro/prefetch.ts +10 -3
  897. package/src/astro/routes/api/admin/bylines/[id]/translations.ts +0 -5
  898. package/src/astro/routes/api/admin/bylines/index.ts +1 -1
  899. package/src/astro/routes/api/admin/plugins/[id]/index.ts +1 -0
  900. package/src/astro/routes/api/auth/handover.ts +58 -0
  901. package/src/astro/routes/api/auth/magic-link/verify.ts +11 -3
  902. package/src/astro/routes/api/auth/oauth/[provider]/callback.ts +56 -4
  903. package/src/astro/routes/api/auth/oauth/[provider].ts +37 -4
  904. package/src/astro/routes/api/auth/passkey/options.ts +10 -2
  905. package/src/astro/routes/api/calendar.ts +35 -0
  906. package/src/astro/routes/api/import/wordpress/execute.ts +19 -0
  907. package/src/astro/routes/api/import/wordpress/rewrite-url-helpers.ts +80 -42
  908. package/src/astro/routes/api/import/wordpress-plugin/execute.ts +15 -0
  909. package/src/astro/routes/api/manifest.ts +10 -0
  910. package/src/astro/routes/api/media/[id]/confirm.ts +19 -0
  911. package/src/astro/routes/api/media/file/[...key].ts +60 -12
  912. package/src/astro/routes/api/media/upload-url.ts +35 -7
  913. package/src/astro/routes/api/media.ts +24 -5
  914. package/src/astro/routes/api/schema/index.ts +1 -1
  915. package/src/astro/routes/api/settings/domain-notify.ts +76 -0
  916. package/src/astro/routes/api/settings/domain.ts +63 -0
  917. package/src/astro/routes/api/setup/index.ts +21 -2
  918. package/src/astro/routes/api/site/domain-proof.ts +28 -0
  919. package/src/astro/routes/sitemap-[collection].xml.ts +31 -8
  920. package/src/astro/routes/sitemap.xml.ts +12 -10
  921. package/src/astro/types.ts +13 -1
  922. package/src/auth/providers/microsoft-admin.tsx +31 -0
  923. package/src/auth/providers/microsoft.ts +47 -0
  924. package/src/auth/rate-limit.ts +18 -13
  925. package/src/auth/types.ts +7 -0
  926. package/src/aws-sdk.d.ts +2 -1
  927. package/src/cleanup.ts +26 -0
  928. package/src/cli/commands/export-seed.ts +2 -0
  929. package/src/cli/commands/seed.ts +5 -4
  930. package/src/client/index.ts +6 -1
  931. package/src/comments/public-submission.ts +15 -8
  932. package/src/comments/turnstile.ts +6 -1
  933. package/src/components/CommentForm.astro +48 -8
  934. package/src/components/Comments.astro +50 -28
  935. package/src/components/EmDashImage.astro +6 -4
  936. package/src/components/Gallery.astro +4 -3
  937. package/src/components/HtmlBlock.astro +17 -6
  938. package/src/components/HtmlBlockFrame.astro +63 -0
  939. package/src/components/Iframe.astro +141 -0
  940. package/src/components/Image.astro +4 -3
  941. package/src/components/InlinePortableTextEditor.tsx +156 -33
  942. package/src/components/Video.astro +100 -0
  943. package/src/components/WebMcpSearch.astro +80 -0
  944. package/src/components/index.ts +8 -2
  945. package/src/components/inline-code-block.tsx +8 -0
  946. package/src/components/webmcp-search.ts +138 -0
  947. package/src/components/widgets/RecentPosts.astro +57 -17
  948. package/src/config/secrets.ts +27 -15
  949. package/src/content/converters/mark-safety.ts +3 -3
  950. package/src/content/converters/portable-text-identity.ts +2 -0
  951. package/src/content/converters/portable-text-to-prosemirror.ts +43 -2
  952. package/src/content/converters/prosemirror-to-portable-text.ts +44 -2
  953. package/src/content/converters/types.ts +46 -0
  954. package/src/content/converters/video.ts +77 -0
  955. package/src/database/content-datetime.ts +11 -4
  956. package/src/database/datetime-storage.ts +1 -1
  957. package/src/database/migrations/090_redirect_enable_loop_guard.ts +70 -0
  958. package/src/database/migrations/091_redirect_artifacts.ts +141 -0
  959. package/src/database/migrations/runner.ts +17 -1
  960. package/src/database/repositories/comment.ts +17 -3
  961. package/src/database/repositories/content.ts +103 -29
  962. package/src/database/repositories/plugin-storage.ts +28 -19
  963. package/src/database/repositories/redirect.ts +30 -3
  964. package/src/database/repositories/taxonomy.ts +61 -46
  965. package/src/database/repositories/types.ts +2 -0
  966. package/src/database/request-scoped.ts +34 -0
  967. package/src/database/types.ts +23 -0
  968. package/src/db/adapters.ts +2 -0
  969. package/src/emdash-runtime.ts +245 -71
  970. package/src/import/menus.ts +3 -0
  971. package/src/import/sources/wordpress-plugin.ts +3 -2
  972. package/src/import/utils.ts +2 -3
  973. package/src/index.ts +4 -0
  974. package/src/loader.ts +360 -98
  975. package/src/mcp/server.ts +12 -4
  976. package/src/media/image-endpoint.ts +101 -1
  977. package/src/media/mime.ts +21 -0
  978. package/src/media/responsive.ts +14 -7
  979. package/src/media/usage/extractor.ts +19 -2
  980. package/src/media/usage/types.ts +5 -1
  981. package/src/menus/index.ts +30 -26
  982. package/src/plugin-utils.ts +1 -1
  983. package/src/plugins/context.ts +3 -7
  984. package/src/plugins/hooks.ts +11 -1
  985. package/src/plugins/http-route-dispatch.ts +5 -1
  986. package/src/plugins/manager.ts +12 -2
  987. package/src/plugins/manifest-schema.ts +1 -0
  988. package/src/plugins/route-error.ts +14 -0
  989. package/src/plugins/routes.ts +2 -2
  990. package/src/plugins/state.ts +36 -0
  991. package/src/plugins/types.ts +22 -0
  992. package/src/query.ts +20 -29
  993. package/src/redirects/artifacts.ts +460 -0
  994. package/src/redirects/cache.ts +76 -41
  995. package/src/redirects/patterns.ts +26 -2
  996. package/src/request-context.ts +1 -1
  997. package/src/schema/registry.ts +7 -4
  998. package/src/schema/slug.ts +19 -0
  999. package/src/search/text-extraction.ts +6 -1
  1000. package/src/seed/apply.ts +65 -57
  1001. package/src/seed/validate.ts +31 -0
  1002. package/src/seo/sitemap-name.ts +22 -0
  1003. package/src/settings/index.ts +17 -12
  1004. package/src/storage/index.ts +2 -0
  1005. package/src/storage/local.ts +10 -2
  1006. package/src/storage/range.ts +54 -0
  1007. package/src/storage/s3.ts +52 -8
  1008. package/src/storage/types.ts +30 -3
  1009. package/src/transfer/format/columns.ts +3 -0
  1010. package/src/transfer/import/rebuild.ts +17 -2
  1011. package/src/transfer/import/scaffold.ts +16 -9
  1012. package/src/ui.ts +2 -0
  1013. package/src/utils/sanitize.ts +14 -9
  1014. package/src/utils/slugify.ts +6 -1
  1015. package/src/virtual-modules.d.ts +3 -0
  1016. package/src/visual-editing/toolbar.ts +80 -35
  1017. package/src/widgets/components.ts +4 -0
  1018. package/src/widgets/index.ts +74 -82
  1019. package/src/widgets/recent-posts.ts +62 -0
  1020. package/dist/action-token-D2KE1Rqf.mjs +0 -26
  1021. package/dist/action-token-D2KE1Rqf.mjs.map +0 -1
  1022. package/dist/activation-DDuqAat2.mjs +0 -387
  1023. package/dist/activation-DDuqAat2.mjs.map +0 -1
  1024. package/dist/adapters-Ds-1Pmkm.d.mts +0 -171
  1025. package/dist/adapters-Ds-1Pmkm.d.mts.map +0 -1
  1026. package/dist/allowed-origins-D78QvbTO.mjs +0 -116
  1027. package/dist/allowed-origins-D78QvbTO.mjs.map +0 -1
  1028. package/dist/api-BBZlif0y.mjs +0 -4974
  1029. package/dist/api-BBZlif0y.mjs.map +0 -1
  1030. package/dist/api-tokens-BGbfWZVO.mjs +0 -166
  1031. package/dist/api-tokens-BGbfWZVO.mjs.map +0 -1
  1032. package/dist/apply-CDNV4JJ-.mjs +0 -1672
  1033. package/dist/apply-CDNV4JJ-.mjs.map +0 -1
  1034. package/dist/approvals-CVvJSEBF.mjs +0 -460
  1035. package/dist/approvals-CVvJSEBF.mjs.map +0 -1
  1036. package/dist/artifact-fetch-CGK0DQLj.mjs +0 -659
  1037. package/dist/artifact-fetch-CGK0DQLj.mjs.map +0 -1
  1038. package/dist/audit-BszbE_BP.mjs +0 -127
  1039. package/dist/audit-BszbE_BP.mjs.map +0 -1
  1040. package/dist/authoritative-records-ChM8dTeV.mjs +0 -5172
  1041. package/dist/authoritative-records-ChM8dTeV.mjs.map +0 -1
  1042. package/dist/authorize-CTGywswM.mjs +0 -49
  1043. package/dist/authorize-CTGywswM.mjs.map +0 -1
  1044. package/dist/backup-CDrPP8fI.mjs +0 -246
  1045. package/dist/backup-CDrPP8fI.mjs.map +0 -1
  1046. package/dist/base64-DvnNgP7e.mjs +0 -63
  1047. package/dist/base64-DvnNgP7e.mjs.map +0 -1
  1048. package/dist/block-types-nNEaPkvx.mjs +0 -132
  1049. package/dist/block-types-nNEaPkvx.mjs.map +0 -1
  1050. package/dist/block-values-Bho1nsZF.mjs +0 -175
  1051. package/dist/block-values-Bho1nsZF.mjs.map +0 -1
  1052. package/dist/byline-02tu_Uc-.mjs +0 -909
  1053. package/dist/byline-02tu_Uc-.mjs.map +0 -1
  1054. package/dist/byline-fields-BYbTptTU.mjs +0 -280
  1055. package/dist/byline-fields-BYbTptTU.mjs.map +0 -1
  1056. package/dist/byline-fields-BjQH-1z9.mjs +0 -123
  1057. package/dist/byline-fields-BjQH-1z9.mjs.map +0 -1
  1058. package/dist/bylines-VytjeHBI.mjs +0 -214
  1059. package/dist/bylines-VytjeHBI.mjs.map +0 -1
  1060. package/dist/bylines-gyWBWUUc.mjs +0 -150
  1061. package/dist/bylines-gyWBWUUc.mjs.map +0 -1
  1062. package/dist/cache-CPanL9IO.mjs +0 -114
  1063. package/dist/cache-CPanL9IO.mjs.map +0 -1
  1064. package/dist/canonical-CAecl1UQ.mjs +0 -174
  1065. package/dist/canonical-CAecl1UQ.mjs.map +0 -1
  1066. package/dist/capture-triggers-CdZfvHtF.mjs +0 -362
  1067. package/dist/capture-triggers-CdZfvHtF.mjs.map +0 -1
  1068. package/dist/challenge-store-VePApay4.mjs +0 -51
  1069. package/dist/challenge-store-VePApay4.mjs.map +0 -1
  1070. package/dist/checksum-BSIhEAYW.mjs +0 -162
  1071. package/dist/checksum-BSIhEAYW.mjs.map +0 -1
  1072. package/dist/chrome-tags-CKELm-bo.mjs +0 -24
  1073. package/dist/chrome-tags-CKELm-bo.mjs.map +0 -1
  1074. package/dist/chunks-DBmkKmBH.mjs +0 -25
  1075. package/dist/chunks-DBmkKmBH.mjs.map +0 -1
  1076. package/dist/collection-slugs-cache-BNRAPNiu.mjs +0 -85
  1077. package/dist/collection-slugs-cache-BNRAPNiu.mjs.map +0 -1
  1078. package/dist/comment-Cq1UYN8_.mjs +0 -313
  1079. package/dist/comment-Cq1UYN8_.mjs.map +0 -1
  1080. package/dist/comment-reaction-B5sZzSoA.mjs +0 -85
  1081. package/dist/comment-reaction-B5sZzSoA.mjs.map +0 -1
  1082. package/dist/comments-B3F-ETyh.mjs +0 -195
  1083. package/dist/comments-B3F-ETyh.mjs.map +0 -1
  1084. package/dist/comments-zrTgWBSg.mjs +0 -99
  1085. package/dist/comments-zrTgWBSg.mjs.map +0 -1
  1086. package/dist/components-Dbf4Eq16.mjs +0 -108
  1087. package/dist/components-Dbf4Eq16.mjs.map +0 -1
  1088. package/dist/config-BCM5sQP7.d.mts +0 -6688
  1089. package/dist/config-BCM5sQP7.d.mts.map +0 -1
  1090. package/dist/config-CXPcy2iY.mjs +0 -228
  1091. package/dist/config-CXPcy2iY.mjs.map +0 -1
  1092. package/dist/config-CZkZBuBK.d.mts +0 -39
  1093. package/dist/config-CZkZBuBK.d.mts.map +0 -1
  1094. package/dist/connection-C5GIciX9.mjs +0 -36
  1095. package/dist/connection-C5GIciX9.mjs.map +0 -1
  1096. package/dist/content-RzEXY3QX.mjs +0 -2020
  1097. package/dist/content-RzEXY3QX.mjs.map +0 -1
  1098. package/dist/content-list-query-B6P37Ug_.d.mts +0 -26
  1099. package/dist/content-list-query-B6P37Ug_.d.mts.map +0 -1
  1100. package/dist/content-repair-BDVsYXWK.mjs +0 -442
  1101. package/dist/content-repair-BDVsYXWK.mjs.map +0 -1
  1102. package/dist/context-BpTIzY5h.mjs +0 -2026
  1103. package/dist/context-BpTIzY5h.mjs.map +0 -1
  1104. package/dist/credits-JOE92Gr7.mjs +0 -110
  1105. package/dist/credits-JOE92Gr7.mjs.map +0 -1
  1106. package/dist/cron-ktyapbdB.mjs +0 -306
  1107. package/dist/cron-ktyapbdB.mjs.map +0 -1
  1108. package/dist/dashboard-BoV4pwPP.mjs +0 -151
  1109. package/dist/dashboard-BoV4pwPP.mjs.map +0 -1
  1110. package/dist/default-B7KnYwtQ.mjs +0 -81
  1111. package/dist/default-B7KnYwtQ.mjs.map +0 -1
  1112. package/dist/deferred-tasks-eaUIqXj8.d.mts +0 -9
  1113. package/dist/deferred-tasks-eaUIqXj8.d.mts.map +0 -1
  1114. package/dist/dev-typegen-8JlYYFno.mjs +0 -29
  1115. package/dist/dev-typegen-8JlYYFno.mjs.map +0 -1
  1116. package/dist/device-flow-BlV_z24g.mjs +0 -521
  1117. package/dist/device-flow-BlV_z24g.mjs.map +0 -1
  1118. package/dist/digest-DiYAoZpf.mjs +0 -194
  1119. package/dist/digest-DiYAoZpf.mjs.map +0 -1
  1120. package/dist/direct-executor-Db8xA3zg.mjs +0 -104
  1121. package/dist/direct-executor-Db8xA3zg.mjs.map +0 -1
  1122. package/dist/email-console-Dm78wSmg.mjs +0 -50
  1123. package/dist/email-console-Dm78wSmg.mjs.map +0 -1
  1124. package/dist/email-locale-B4X9LXe9.mjs +0 -25
  1125. package/dist/email-locale-B4X9LXe9.mjs.map +0 -1
  1126. package/dist/emdash-runtime-BakQ6io7.mjs +0 -4239
  1127. package/dist/emdash-runtime-BakQ6io7.mjs.map +0 -1
  1128. package/dist/enrich-BDdVNeDK.mjs +0 -194
  1129. package/dist/enrich-BDdVNeDK.mjs.map +0 -1
  1130. package/dist/entry-lock-DY8B-xcr.d.mts +0 -4544
  1131. package/dist/entry-lock-DY8B-xcr.d.mts.map +0 -1
  1132. package/dist/entry-lock-DrUAdTzf.mjs +0 -163
  1133. package/dist/entry-lock-DrUAdTzf.mjs.map +0 -1
  1134. package/dist/entry-lock-yIkBduqJ.mjs +0 -1180
  1135. package/dist/entry-lock-yIkBduqJ.mjs.map +0 -1
  1136. package/dist/env-types-DkHYR2pl.mjs +0 -38
  1137. package/dist/env-types-DkHYR2pl.mjs.map +0 -1
  1138. package/dist/error-DIYXAVk4.mjs +0 -90
  1139. package/dist/error-DIYXAVk4.mjs.map +0 -1
  1140. package/dist/errors-CNvATh_7.mjs +0 -469
  1141. package/dist/errors-CNvATh_7.mjs.map +0 -1
  1142. package/dist/errors-CjXd1LgH.mjs +0 -120
  1143. package/dist/errors-CjXd1LgH.mjs.map +0 -1
  1144. package/dist/escape-B1GM0yJU.mjs +0 -9
  1145. package/dist/escape-B1GM0yJU.mjs.map +0 -1
  1146. package/dist/fence-8MaKKWhp.mjs +0 -162
  1147. package/dist/fence-8MaKKWhp.mjs.map +0 -1
  1148. package/dist/field-defs-cache-DEkFYCDE.mjs +0 -77
  1149. package/dist/field-defs-cache-DEkFYCDE.mjs.map +0 -1
  1150. package/dist/field-map-D7ioN0r0.mjs +0 -83
  1151. package/dist/field-map-D7ioN0r0.mjs.map +0 -1
  1152. package/dist/fts-manager-DU03MxWu.mjs +0 -443
  1153. package/dist/fts-manager-DU03MxWu.mjs.map +0 -1
  1154. package/dist/gc-DMiE7ezk.mjs +0 -75
  1155. package/dist/gc-DMiE7ezk.mjs.map +0 -1
  1156. package/dist/hash-CY4QdeMJ.mjs +0 -37
  1157. package/dist/hash-CY4QdeMJ.mjs.map +0 -1
  1158. package/dist/hook-result-Cb67D3P3.d.mts +0 -31
  1159. package/dist/hook-result-Cb67D3P3.d.mts.map +0 -1
  1160. package/dist/hreflang-Bterc3b7.mjs +0 -105
  1161. package/dist/hreflang-Bterc3b7.mjs.map +0 -1
  1162. package/dist/hreflang-uIBOE5yg.d.mts +0 -50
  1163. package/dist/hreflang-uIBOE5yg.d.mts.map +0 -1
  1164. package/dist/http-route-dispatch-DubjTibD.mjs +0 -339
  1165. package/dist/http-route-dispatch-DubjTibD.mjs.map +0 -1
  1166. package/dist/identity-DJ-5AcdG.mjs +0 -35
  1167. package/dist/identity-DJ-5AcdG.mjs.map +0 -1
  1168. package/dist/import-DEfuIgRz.mjs +0 -2020
  1169. package/dist/import-DEfuIgRz.mjs.map +0 -1
  1170. package/dist/index-xCy3j0f6.d.mts +0 -623
  1171. package/dist/index-xCy3j0f6.d.mts.map +0 -1
  1172. package/dist/init-lock-4eRRB4Le.mjs +0 -56
  1173. package/dist/init-lock-4eRRB4Le.mjs.map +0 -1
  1174. package/dist/install-finalization-DeGRbaVa.mjs +0 -58
  1175. package/dist/install-finalization-DeGRbaVa.mjs.map +0 -1
  1176. package/dist/keys-DWwMxdZh.mjs +0 -61
  1177. package/dist/keys-DWwMxdZh.mjs.map +0 -1
  1178. package/dist/kinds-D1A-00-F.mjs +0 -974
  1179. package/dist/kinds-D1A-00-F.mjs.map +0 -1
  1180. package/dist/lifecycle-BWtBGNEn.mjs +0 -25
  1181. package/dist/lifecycle-BWtBGNEn.mjs.map +0 -1
  1182. package/dist/load-BR1NEa_3.mjs +0 -28
  1183. package/dist/load-BR1NEa_3.mjs.map +0 -1
  1184. package/dist/loader-D4edocWH.mjs +0 -1197
  1185. package/dist/loader-D4edocWH.mjs.map +0 -1
  1186. package/dist/loops-DLaHFrvI.mjs +0 -205
  1187. package/dist/loops-DLaHFrvI.mjs.map +0 -1
  1188. package/dist/manifest-builder-8jsSLR7s.mjs +0 -189
  1189. package/dist/manifest-builder-8jsSLR7s.mjs.map +0 -1
  1190. package/dist/manifest-schema-DcZjRNEv.mjs +0 -496
  1191. package/dist/manifest-schema-DcZjRNEv.mjs.map +0 -1
  1192. package/dist/marketplace-CNxjq10S.mjs +0 -257
  1193. package/dist/marketplace-CNxjq10S.mjs.map +0 -1
  1194. package/dist/media-3v7mqAVX.mjs +0 -294
  1195. package/dist/media-3v7mqAVX.mjs.map +0 -1
  1196. package/dist/media-Bs6qmlVl.mjs +0 -408
  1197. package/dist/media-Bs6qmlVl.mjs.map +0 -1
  1198. package/dist/media-CputjGE1.mjs +0 -373
  1199. package/dist/media-CputjGE1.mjs.map +0 -1
  1200. package/dist/media-allowlist-isqF1gAh.mjs +0 -44
  1201. package/dist/media-allowlist-isqF1gAh.mjs.map +0 -1
  1202. package/dist/media-folders-D2VdVBf6.mjs +0 -210
  1203. package/dist/media-folders-D2VdVBf6.mjs.map +0 -1
  1204. package/dist/media-url-DbkMY3y6.mjs +0 -43
  1205. package/dist/media-url-DbkMY3y6.mjs.map +0 -1
  1206. package/dist/media-usage-activation-BaT4AlNI.mjs +0 -78
  1207. package/dist/media-usage-activation-BaT4AlNI.mjs.map +0 -1
  1208. package/dist/media-usage-v43L0kR_.mjs +0 -282
  1209. package/dist/media-usage-v43L0kR_.mjs.map +0 -1
  1210. package/dist/media-usage-work-CY8gIeU-.mjs +0 -151
  1211. package/dist/media-usage-work-CY8gIeU-.mjs.map +0 -1
  1212. package/dist/media-usage-work-VO108Q9E.mjs +0 -1015
  1213. package/dist/media-usage-work-VO108Q9E.mjs.map +0 -1
  1214. package/dist/menus-BYyeRemR.mjs +0 -3647
  1215. package/dist/menus-BYyeRemR.mjs.map +0 -1
  1216. package/dist/menus-mC_XTxD7.mjs +0 -92
  1217. package/dist/menus-mC_XTxD7.mjs.map +0 -1
  1218. package/dist/menus-trvc6_fW.mjs +0 -753
  1219. package/dist/menus-trvc6_fW.mjs.map +0 -1
  1220. package/dist/mime-IZf-LHIS.mjs +0 -36
  1221. package/dist/mime-IZf-LHIS.mjs.map +0 -1
  1222. package/dist/mode-B9-gMXL9.mjs +0 -23
  1223. package/dist/mode-B9-gMXL9.mjs.map +0 -1
  1224. package/dist/node-sqlite-compat-DztcWs4y.mjs +0 -63
  1225. package/dist/node-sqlite-compat-DztcWs4y.mjs.map +0 -1
  1226. package/dist/oauth-authorization-BIHy9SGU.mjs +0 -274
  1227. package/dist/oauth-authorization-BIHy9SGU.mjs.map +0 -1
  1228. package/dist/oauth-clients-BZWZvKXa.mjs +0 -266
  1229. package/dist/oauth-clients-BZWZvKXa.mjs.map +0 -1
  1230. package/dist/oauth-state-store-CxXTjXdI.mjs +0 -50
  1231. package/dist/oauth-state-store-CxXTjXdI.mjs.map +0 -1
  1232. package/dist/oauth-user-lookup-GWojfxRl.mjs +0 -26
  1233. package/dist/oauth-user-lookup-GWojfxRl.mjs.map +0 -1
  1234. package/dist/options-DRF6dlXY.d.mts +0 -81
  1235. package/dist/options-DRF6dlXY.d.mts.map +0 -1
  1236. package/dist/ownership-Bd77AmJz.mjs +0 -12
  1237. package/dist/ownership-Bd77AmJz.mjs.map +0 -1
  1238. package/dist/parse-5Y0W39xR.mjs +0 -81
  1239. package/dist/parse-5Y0W39xR.mjs.map +0 -1
  1240. package/dist/parse-BPblgoa-.d.mts +0 -172
  1241. package/dist/parse-BPblgoa-.d.mts.map +0 -1
  1242. package/dist/passkey-config-PiQ5cBnt.mjs +0 -46
  1243. package/dist/passkey-config-PiQ5cBnt.mjs.map +0 -1
  1244. package/dist/paths-DkS74lBM.mjs +0 -77
  1245. package/dist/paths-DkS74lBM.mjs.map +0 -1
  1246. package/dist/patterns-DyZJ67I7.mjs +0 -140
  1247. package/dist/patterns-DyZJ67I7.mjs.map +0 -1
  1248. package/dist/placeholder-Bez2282x.d.mts +0 -306
  1249. package/dist/placeholder-Bez2282x.d.mts.map +0 -1
  1250. package/dist/plan-Lw7iGnGD.mjs +0 -135
  1251. package/dist/plan-Lw7iGnGD.mjs.map +0 -1
  1252. package/dist/plugins-D7xSh1Lu.mjs +0 -277
  1253. package/dist/plugins-D7xSh1Lu.mjs.map +0 -1
  1254. package/dist/policy-DMRiMdLn.mjs +0 -45
  1255. package/dist/policy-DMRiMdLn.mjs.map +0 -1
  1256. package/dist/portable-text-kcyN3F-a.mjs +0 -307
  1257. package/dist/portable-text-kcyN3F-a.mjs.map +0 -1
  1258. package/dist/preview--2VDLaND.mjs +0 -107
  1259. package/dist/preview--2VDLaND.mjs.map +0 -1
  1260. package/dist/protocol-FvwLA8P-.d.mts +0 -61
  1261. package/dist/protocol-FvwLA8P-.d.mts.map +0 -1
  1262. package/dist/public-submission-BRyK76U8.mjs +0 -250
  1263. package/dist/public-submission-BRyK76U8.mjs.map +0 -1
  1264. package/dist/public-url-7j0cpCFc.mjs +0 -101
  1265. package/dist/public-url-7j0cpCFc.mjs.map +0 -1
  1266. package/dist/query-BRNTde3V.mjs +0 -41
  1267. package/dist/query-BRNTde3V.mjs.map +0 -1
  1268. package/dist/query-DyYYWOKk.mjs +0 -1161
  1269. package/dist/query-DyYYWOKk.mjs.map +0 -1
  1270. package/dist/rate-limit-D0BcE76H.mjs +0 -120
  1271. package/dist/rate-limit-D0BcE76H.mjs.map +0 -1
  1272. package/dist/receipt-C4icyHlC.mjs +0 -43
  1273. package/dist/receipt-C4icyHlC.mjs.map +0 -1
  1274. package/dist/redirect-9DbtxSNG.mjs +0 -19
  1275. package/dist/redirect-9DbtxSNG.mjs.map +0 -1
  1276. package/dist/redirect-BvFKh8Sz.mjs +0 -416
  1277. package/dist/redirect-BvFKh8Sz.mjs.map +0 -1
  1278. package/dist/redirects-1nhdEaTq.mjs +0 -148
  1279. package/dist/redirects-1nhdEaTq.mjs.map +0 -1
  1280. package/dist/redirects-D1yMnSR9.mjs +0 -446
  1281. package/dist/redirects-D1yMnSR9.mjs.map +0 -1
  1282. package/dist/registry-CzPJNu3H.mjs +0 -8366
  1283. package/dist/registry-CzPJNu3H.mjs.map +0 -1
  1284. package/dist/relations-C8JpSkU6.mjs +0 -776
  1285. package/dist/relations-C8JpSkU6.mjs.map +0 -1
  1286. package/dist/request-meta-Bs60XW1m.mjs +0 -141
  1287. package/dist/request-meta-Bs60XW1m.mjs.map +0 -1
  1288. package/dist/resolve-BHWgMU_X.mjs +0 -100
  1289. package/dist/resolve-BHWgMU_X.mjs.map +0 -1
  1290. package/dist/revision-CGkQA0e5.mjs +0 -366
  1291. package/dist/revision-CGkQA0e5.mjs.map +0 -1
  1292. package/dist/route-wire-ClUVQduA.mjs +0 -197
  1293. package/dist/route-wire-ClUVQduA.mjs.map +0 -1
  1294. package/dist/routes-D2GFl3B7.mjs +0 -272
  1295. package/dist/routes-D2GFl3B7.mjs.map +0 -1
  1296. package/dist/runner-CLpxmhl8.mjs +0 -6197
  1297. package/dist/runner-CLpxmhl8.mjs.map +0 -1
  1298. package/dist/runner-CWl76CH3.d.mts +0 -68
  1299. package/dist/runner-CWl76CH3.d.mts.map +0 -1
  1300. package/dist/schema-27XefSYG.mjs +0 -13
  1301. package/dist/schema-27XefSYG.mjs.map +0 -1
  1302. package/dist/schema-Btvj3BMh.mjs +0 -815
  1303. package/dist/schema-Btvj3BMh.mjs.map +0 -1
  1304. package/dist/scopes-DGCj6K4p.mjs +0 -34
  1305. package/dist/scopes-DGCj6K4p.mjs.map +0 -1
  1306. package/dist/search-pZRRmWjh.mjs +0 -448
  1307. package/dist/search-pZRRmWjh.mjs.map +0 -1
  1308. package/dist/secrets-CIi0nFiR.mjs +0 -341
  1309. package/dist/secrets-CIi0nFiR.mjs.map +0 -1
  1310. package/dist/sections-CIhqs3Ao.mjs +0 -346
  1311. package/dist/sections-CIhqs3Ao.mjs.map +0 -1
  1312. package/dist/seo-DifeiGdl.mjs +0 -114
  1313. package/dist/seo-DifeiGdl.mjs.map +0 -1
  1314. package/dist/seo-DpYxmGaL.mjs +0 -133
  1315. package/dist/seo-DpYxmGaL.mjs.map +0 -1
  1316. package/dist/service-COVdVpSK.mjs +0 -150
  1317. package/dist/service-COVdVpSK.mjs.map +0 -1
  1318. package/dist/session-user-C6IEjuty.mjs +0 -61
  1319. package/dist/session-user-C6IEjuty.mjs.map +0 -1
  1320. package/dist/settings-CwcrX-Ay.mjs +0 -61
  1321. package/dist/settings-CwcrX-Ay.mjs.map +0 -1
  1322. package/dist/settings-D_cJtT48.mjs +0 -439
  1323. package/dist/settings-D_cJtT48.mjs.map +0 -1
  1324. package/dist/settings-tnPQN3Z2.mjs +0 -51
  1325. package/dist/settings-tnPQN3Z2.mjs.map +0 -1
  1326. package/dist/setup-complete-BOrI10UY.mjs +0 -65
  1327. package/dist/setup-complete-BOrI10UY.mjs.map +0 -1
  1328. package/dist/setup-nonce-0XTBLTsX.mjs +0 -25
  1329. package/dist/setup-nonce-0XTBLTsX.mjs.map +0 -1
  1330. package/dist/single-flight-cache-B5O2qhO1.mjs +0 -104
  1331. package/dist/single-flight-cache-B5O2qhO1.mjs.map +0 -1
  1332. package/dist/site-settings-B7vGFRDT.mjs +0 -50
  1333. package/dist/site-settings-B7vGFRDT.mjs.map +0 -1
  1334. package/dist/site-url-wEYRMHBv.mjs +0 -16
  1335. package/dist/site-url-wEYRMHBv.mjs.map +0 -1
  1336. package/dist/slugify-T5GHH42D.mjs +0 -17
  1337. package/dist/slugify-T5GHH42D.mjs.map +0 -1
  1338. package/dist/snapshot-W36KbLmc.mjs +0 -414
  1339. package/dist/snapshot-W36KbLmc.mjs.map +0 -1
  1340. package/dist/ssrf-CRJ-xom5.mjs +0 -406
  1341. package/dist/ssrf-CRJ-xom5.mjs.map +0 -1
  1342. package/dist/stage-DA0NrTRZ.mjs +0 -662
  1343. package/dist/stage-DA0NrTRZ.mjs.map +0 -1
  1344. package/dist/staged-Bw5eHbKS.mjs +0 -686
  1345. package/dist/staged-Bw5eHbKS.mjs.map +0 -1
  1346. package/dist/state-BTlprvUF.mjs +0 -153
  1347. package/dist/state-BTlprvUF.mjs.map +0 -1
  1348. package/dist/status-C6IrSLMT.mjs +0 -30
  1349. package/dist/status-C6IrSLMT.mjs.map +0 -1
  1350. package/dist/storage-query-CdVF2bng.d.mts +0 -1614
  1351. package/dist/storage-query-CdVF2bng.d.mts.map +0 -1
  1352. package/dist/tar-BGOZARjy.mjs +0 -449
  1353. package/dist/tar-BGOZARjy.mjs.map +0 -1
  1354. package/dist/target-YhYH_0uc.mjs +0 -27
  1355. package/dist/target-YhYH_0uc.mjs.map +0 -1
  1356. package/dist/taxonomies-DK_XBrmT.mjs +0 -697
  1357. package/dist/taxonomies-DK_XBrmT.mjs.map +0 -1
  1358. package/dist/taxonomies-S1M3rUC0.mjs +0 -939
  1359. package/dist/taxonomies-S1M3rUC0.mjs.map +0 -1
  1360. package/dist/taxonomy-BesdHIwi.mjs +0 -525
  1361. package/dist/taxonomy-BesdHIwi.mjs.map +0 -1
  1362. package/dist/tokens-B_ffPF1q.mjs +0 -171
  1363. package/dist/tokens-B_ffPF1q.mjs.map +0 -1
  1364. package/dist/transfer-9fVSxyrV.mjs +0 -166
  1365. package/dist/transfer-9fVSxyrV.mjs.map +0 -1
  1366. package/dist/transfer-B7LUTaYD.mjs +0 -8855
  1367. package/dist/transfer-B7LUTaYD.mjs.map +0 -1
  1368. package/dist/transfer-download-BdNq4VWN.mjs +0 -33
  1369. package/dist/transfer-download-BdNq4VWN.mjs.map +0 -1
  1370. package/dist/transformations-BtQdvyly.mjs +0 -196
  1371. package/dist/transformations-BtQdvyly.mjs.map +0 -1
  1372. package/dist/transport-CriYXY1c.mjs +0 -136
  1373. package/dist/transport-CriYXY1c.mjs.map +0 -1
  1374. package/dist/transport-SnhS6xku.d.mts +0 -42
  1375. package/dist/transport-SnhS6xku.d.mts.map +0 -1
  1376. package/dist/trusted-proxy-C0eHXPd-.mjs +0 -51
  1377. package/dist/trusted-proxy-C0eHXPd-.mjs.map +0 -1
  1378. package/dist/turnstile-BNPrWd1e.mjs +0 -53
  1379. package/dist/turnstile-BNPrWd1e.mjs.map +0 -1
  1380. package/dist/types-B8sF_kE5.d.mts +0 -287
  1381. package/dist/types-B8sF_kE5.d.mts.map +0 -1
  1382. package/dist/types-BYVIYOlD.d.mts +0 -1720
  1383. package/dist/types-BYVIYOlD.d.mts.map +0 -1
  1384. package/dist/types-Bs4bi95j.d.mts +0 -374
  1385. package/dist/types-Bs4bi95j.d.mts.map +0 -1
  1386. package/dist/types-CGuODCZi.d.mts +0 -198
  1387. package/dist/types-CGuODCZi.d.mts.map +0 -1
  1388. package/dist/types-CVsmpTcU.mjs +0 -18
  1389. package/dist/types-CVsmpTcU.mjs.map +0 -1
  1390. package/dist/types-ClFEExxn.mjs +0 -37
  1391. package/dist/types-ClFEExxn.mjs.map +0 -1
  1392. package/dist/types-D994zUWB.d.mts +0 -85
  1393. package/dist/types-D994zUWB.d.mts.map +0 -1
  1394. package/dist/types-DAj1ByJQ.d.mts +0 -125
  1395. package/dist/types-DAj1ByJQ.d.mts.map +0 -1
  1396. package/dist/types-Dlv6esp4.mjs +0 -77
  1397. package/dist/types-Dlv6esp4.mjs.map +0 -1
  1398. package/dist/types-Dr1LVwL7.d.mts +0 -363
  1399. package/dist/types-Dr1LVwL7.d.mts.map +0 -1
  1400. package/dist/types-MN9bOQ1g.d.mts +0 -198
  1401. package/dist/types-MN9bOQ1g.d.mts.map +0 -1
  1402. package/dist/types-d2Szb1oz.mjs +0 -16
  1403. package/dist/types-d2Szb1oz.mjs.map +0 -1
  1404. package/dist/types-ibtP7GEA.d.mts +0 -896
  1405. package/dist/types-ibtP7GEA.d.mts.map +0 -1
  1406. package/dist/types-j6MBDjlZ.mjs +0 -103
  1407. package/dist/types-j6MBDjlZ.mjs.map +0 -1
  1408. package/dist/update-check-D8No-E5s.mjs +0 -161
  1409. package/dist/update-check-D8No-E5s.mjs.map +0 -1
  1410. package/dist/upload-attempts-BodUoFBu.mjs +0 -32
  1411. package/dist/upload-attempts-BodUoFBu.mjs.map +0 -1
  1412. package/dist/url-pattern-DGAG6ZP2.mjs +0 -41
  1413. package/dist/url-pattern-DGAG6ZP2.mjs.map +0 -1
  1414. package/dist/user-BOvuF1sQ.mjs +0 -171
  1415. package/dist/user-BOvuF1sQ.mjs.map +0 -1
  1416. package/dist/utils-Dr01wRKt.mjs +0 -439
  1417. package/dist/utils-Dr01wRKt.mjs.map +0 -1
  1418. package/dist/validate-BttYU7NK.mjs +0 -516
  1419. package/dist/validate-BttYU7NK.mjs.map +0 -1
  1420. package/dist/validate-Df09inbC.d.mts +0 -468
  1421. package/dist/validate-Df09inbC.d.mts.map +0 -1
  1422. package/dist/validation-DH2WRwWO.mjs +0 -219
  1423. package/dist/validation-DH2WRwWO.mjs.map +0 -1
  1424. package/dist/version-BbygH8CT.mjs +0 -7
  1425. package/dist/version-BbygH8CT.mjs.map +0 -1
  1426. package/dist/version-CseoDDOd.mjs +0 -9
  1427. package/dist/version-CseoDDOd.mjs.map +0 -1
  1428. package/dist/virtual-modules-82GlnQyG.mjs +0 -516
  1429. package/dist/virtual-modules-82GlnQyG.mjs.map +0 -1
  1430. package/dist/widgets-DMAgGcQt.mjs +0 -126
  1431. package/dist/widgets-DMAgGcQt.mjs.map +0 -1
  1432. package/dist/wxr-taxonomies-Bi5kFSxQ.mjs +0 -453
  1433. package/dist/wxr-taxonomies-Bi5kFSxQ.mjs.map +0 -1
  1434. package/dist/wxr-taxonomies-y_FpYlDn.d.mts +0 -34
  1435. package/dist/wxr-taxonomies-y_FpYlDn.d.mts.map +0 -1
  1436. package/dist/zod-generator-DnfG5sGQ.mjs +0 -424
  1437. package/dist/zod-generator-DnfG5sGQ.mjs.map +0 -1
  1438. /package/dist/{api-tokens-B4COohsb.mjs → api-tokens-D2zgAIEt.mjs} +0 -0
  1439. /package/dist/{ssrf-sC4_5rxm.mjs → ssrf-BvNItdxk.mjs} +0 -0
@@ -0,0 +1,686 @@
1
+ import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-Dr5Vr0zA.mjs";
2
+ import { a as STAGED_CURSOR_MARKER, c as encodeCursor, i as InvalidCursorError, s as decodeCursor } from "./types-C-Xp0CcN.mjs";
3
+ import { sql } from "kysely";
4
+ import { ulid } from "ulidx";
5
+
6
+ //#region src/database/repositories/relation.ts
7
+ const REFERENCE_INSERT_BIND_COLUMNS = 6;
8
+ const D1_MAX_BOUND_PARAMETERS = 100;
9
+ const REFERENCE_INSERT_BATCH_SIZE = Math.floor(D1_MAX_BOUND_PARAMETERS / REFERENCE_INSERT_BIND_COLUMNS);
10
+ const REFERENCE_REPOSITION_BATCH_SIZE = Math.floor(D1_MAX_BOUND_PARAMETERS / 2);
11
+ /**
12
+ * Narrow a computed position to a non-negative integer before it is written as
13
+ * a SQL literal. Every caller passes an array index; this is what keeps that
14
+ * true at the one place the value stops being a bound parameter.
15
+ */
16
+ function asPosition(sortOrder) {
17
+ if (!Number.isInteger(sortOrder) || sortOrder < 0) throw new TypeError(`Invalid reference sort order: ${sortOrder}`);
18
+ return sortOrder;
19
+ }
20
+ /**
21
+ * Content-references repository.
22
+ *
23
+ * Owns relation *definitions* (`_emdash_relations`) and the *edge* junction
24
+ * (`_emdash_content_references`, whose endpoints are content
25
+ * `translation_group`s so edges are locale-agnostic, mirroring
26
+ * `content_taxonomies`).
27
+ *
28
+ * A relation is schema, so it is not localized — it sits with
29
+ * `_emdash_collections` and `_emdash_fields`, not with the row-per-locale
30
+ * tables. See migration 086.
31
+ *
32
+ * Like `TaxonomyRepository`, this is not the validation boundary: it trusts its
33
+ * typed inputs. The API slice supplies Zod schemas at the route and enforces
34
+ * collection-agreement / relation-existence invariants in the handler.
35
+ */
36
+ var RelationRepository = class {
37
+ constructor(db) {
38
+ this.db = db;
39
+ }
40
+ /**
41
+ * Create a relation.
42
+ *
43
+ * `slug` is unique across all relations, so a duplicate raises the DB's
44
+ * unique violation for the handler to translate into a conflict.
45
+ */
46
+ async create(input) {
47
+ const id = ulid();
48
+ const now = (/* @__PURE__ */ new Date()).toISOString();
49
+ await this.db.insertInto("_emdash_relations").values({
50
+ id,
51
+ slug: input.slug,
52
+ parent_collection: input.parentCollection,
53
+ child_collection: input.childCollection,
54
+ parent_label: input.parentLabel,
55
+ child_label: input.childLabel,
56
+ parent_label_singular: input.parentLabelSingular ?? null,
57
+ child_label_singular: input.childLabelSingular ?? null,
58
+ max_children_per_parent: input.maxChildrenPerParent ?? null,
59
+ max_parents_per_child: input.maxParentsPerChild ?? null,
60
+ created_at: now,
61
+ updated_at: now
62
+ }).execute();
63
+ const relation = await this.findById(id);
64
+ if (!relation) throw new Error("Failed to create relation");
65
+ return relation;
66
+ }
67
+ async findById(id) {
68
+ const row = await this.db.selectFrom("_emdash_relations").selectAll().where("id", "=", id).executeTakeFirst();
69
+ return row ? this.rowToRelation(row) : null;
70
+ }
71
+ /**
72
+ * Find a relation by its slug. No locale: a slug identifies a relation
73
+ * outright (`UNIQUE(slug)`, migration 086), which is what lets an entry in
74
+ * any locale address it.
75
+ */
76
+ async findBySlug(slug) {
77
+ const row = await this.db.selectFrom("_emdash_relations").selectAll().where("slug", "=", slug).executeTakeFirst();
78
+ return row ? this.rowToRelation(row) : null;
79
+ }
80
+ /** All relations, ordered by slug. */
81
+ async list() {
82
+ return (await this.db.selectFrom("_emdash_relations").selectAll().orderBy("slug", "asc").execute()).map((row) => this.rowToRelation(row));
83
+ }
84
+ /** Relations where `collection` is the parent OR the child side. */
85
+ async findForCollection(collection) {
86
+ return (await this.db.selectFrom("_emdash_relations").selectAll().where((eb) => eb.or([eb("parent_collection", "=", collection), eb("child_collection", "=", collection)])).orderBy("slug", "asc").execute()).map((row) => this.rowToRelation(row));
87
+ }
88
+ /**
89
+ * Update a relation's role labels and cardinality. Structural fields are
90
+ * immutable — a reference field stores the slug, and the edges are keyed by
91
+ * the id. No-ops when nothing is supplied.
92
+ */
93
+ async update(id, input) {
94
+ if (!await this.findById(id)) return null;
95
+ const updates = {};
96
+ if (input.parentLabel !== void 0) updates.parent_label = input.parentLabel;
97
+ if (input.childLabel !== void 0) updates.child_label = input.childLabel;
98
+ if (input.parentLabelSingular !== void 0) updates.parent_label_singular = input.parentLabelSingular;
99
+ if (input.childLabelSingular !== void 0) updates.child_label_singular = input.childLabelSingular;
100
+ if (input.maxChildrenPerParent !== void 0) updates.max_children_per_parent = input.maxChildrenPerParent;
101
+ if (input.maxParentsPerChild !== void 0) updates.max_parents_per_child = input.maxParentsPerChild;
102
+ if (Object.keys(updates).length > 0) {
103
+ updates.updated_at = (/* @__PURE__ */ new Date()).toISOString();
104
+ await this.db.updateTable("_emdash_relations").set(updates).where("id", "=", id).execute();
105
+ }
106
+ return this.findById(id);
107
+ }
108
+ /**
109
+ * Delete a relation and its edges (application-layer cascade — the edge
110
+ * table has no FK).
111
+ */
112
+ async delete(id) {
113
+ if (!await this.findById(id)) return false;
114
+ await this.db.deleteFrom("_emdash_content_references").where("relation_id", "=", id).execute();
115
+ return ((await this.db.deleteFrom("_emdash_relations").where("id", "=", id).executeTakeFirst()).numDeletedRows ?? 0n) > 0n;
116
+ }
117
+ /**
118
+ * Insert one edge only while the end it lands on is still under its limit,
119
+ * deciding and writing in a single statement.
120
+ *
121
+ * A count read before the insert answers for a moment that has passed by the
122
+ * time the row goes in: two requests can both read a free slot and both fill
123
+ * it, and the unique edge constraint does not catch it because they are
124
+ * different pairs. Folding the count into the insert's `WHERE` makes the
125
+ * decision and the write one thing, on D1 as much as anywhere. Returns false
126
+ * when the limit refused the row.
127
+ */
128
+ async insertEdgeWithinLimit(row, limitedSide, limit) {
129
+ const column = limitedSide === "parent" ? "parent_group" : "child_group";
130
+ const group = limitedSide === "parent" ? row.parent_group : row.child_group;
131
+ return ((await sql`
132
+ INSERT INTO ${sql.ref("_emdash_content_references")}
133
+ (id, relation_id, parent_group, child_group, sort_order, created_at)
134
+ SELECT ${row.id}, ${row.relation_id}, ${row.parent_group}, ${row.child_group},
135
+ ${row.sort_order}, ${row.created_at}
136
+ WHERE (
137
+ SELECT COUNT(*) FROM ${sql.ref("_emdash_content_references")}
138
+ WHERE relation_id = ${row.relation_id} AND ${sql.ref(column)} = ${group}
139
+ ) < ${limit}
140
+ `.execute(this.db)).numAffectedRows ?? 0n) > 0n;
141
+ }
142
+ /**
143
+ * Write new edges, taking back the ones already written if the limited end
144
+ * refuses a later one.
145
+ *
146
+ * Returns the refused group in a one-element array, or an empty array when
147
+ * every row went in. The rollback is what lets a replacement add before it
148
+ * removes: on D1 nothing else can take a partial write back.
149
+ *
150
+ * An unlimited end cannot refuse anything, so its rows go in as batches; a
151
+ * limited one takes a statement per edge, because a limit enforced only by a
152
+ * count before the write is one two requests can both walk past.
153
+ */
154
+ async insertEdges(rows, limitedSide, limit) {
155
+ if (rows.length === 0) return [];
156
+ if (limit === null) {
157
+ for (const rowBatch of chunks(rows, REFERENCE_INSERT_BATCH_SIZE)) await this.db.insertInto("_emdash_content_references").values(rowBatch).onConflict((oc) => oc.doNothing()).execute();
158
+ return [];
159
+ }
160
+ const written = [];
161
+ for (const row of rows) {
162
+ if (await this.insertEdgeWithinLimit(row, limitedSide, limit)) {
163
+ written.push(row.id);
164
+ continue;
165
+ }
166
+ await this.deleteEdgesById(written);
167
+ return [limitedSide === "parent" ? row.parent_group : row.child_group];
168
+ }
169
+ return [];
170
+ }
171
+ /** Remove edges by id, in D1-safe batches. */
172
+ async deleteEdgesById(ids) {
173
+ for (const idBatch of chunks(ids, SQL_BATCH_SIZE)) await this.db.deleteFrom("_emdash_content_references").where("id", "in", idBatch).execute();
174
+ }
175
+ /**
176
+ * Move kept edges to their new positions, a statement per batch rather than
177
+ * one per edge: dragging one entry up a long list moves every entry below it,
178
+ * and that is a single editor action.
179
+ */
180
+ async repositionEdges(moves) {
181
+ for (const moveBatch of chunks(moves, REFERENCE_REPOSITION_BATCH_SIZE)) {
182
+ const branches = moveBatch.map((move) => sql`WHEN ${move.id} THEN ${sql.lit(asPosition(move.sortOrder))}`);
183
+ await this.db.updateTable("_emdash_content_references").set({ sort_order: sql`CASE ${sql.ref("id")} ${sql.join(branches, sql` `)} END` }).where("id", "in", moveBatch.map((move) => move.id)).execute();
184
+ }
185
+ }
186
+ /** Normalize a relation id OR slug to its id. Returns null for an unknown
187
+ * relation (edge methods then no-op, matching
188
+ * `TaxonomyRepository.attachToEntry`). */
189
+ async resolveRelationId(idOrSlug) {
190
+ return (await this.resolveRelationLimits(idOrSlug))?.id ?? null;
191
+ }
192
+ /** The same lookup, carrying the limits an edge write has to hold to. */
193
+ async resolveRelationLimits(idOrSlug) {
194
+ const row = await this.db.selectFrom("_emdash_relations").select([
195
+ "id",
196
+ "max_children_per_parent",
197
+ "max_parents_per_child"
198
+ ]).where((eb) => eb.or([eb("id", "=", idOrSlug), eb("slug", "=", idOrSlug)])).executeTakeFirst();
199
+ if (!row) return null;
200
+ return {
201
+ id: row.id,
202
+ maxChildrenPerParent: row.max_children_per_parent,
203
+ maxParentsPerChild: row.max_parents_per_child
204
+ };
205
+ }
206
+ rowToReference(row) {
207
+ return {
208
+ id: row.id,
209
+ relationId: row.relation_id,
210
+ parentGroup: row.parent_group,
211
+ childGroup: row.child_group,
212
+ sortOrder: row.sort_order
213
+ };
214
+ }
215
+ /**
216
+ * Link `parentGroup → childGroup` under a relation. `relation` is a relation
217
+ * id or group. Idempotent (onConflict doNothing against the unique edge).
218
+ * `sortOrder` defaults to append: max(sort_order)+1 within (relation, parent).
219
+ *
220
+ * The default-append MAX→INSERT is not atomic: concurrent appends without an
221
+ * explicit `sortOrder` may both read the same max and collide on sort_order,
222
+ * and onConflict silently drops the loser. Callers needing strict ordering
223
+ * under concurrency should pass `sortOrder` explicitly (or serialize).
224
+ */
225
+ async addReference(relation, parentGroup, childGroup, sortOrder) {
226
+ const relationId = await this.resolveRelationId(relation);
227
+ if (!relationId) return;
228
+ let order = sortOrder;
229
+ if (order === void 0) {
230
+ const max = await this.db.selectFrom("_emdash_content_references").select((eb) => eb.fn.max("sort_order").as("max")).where("relation_id", "=", relationId).where("parent_group", "=", parentGroup).executeTakeFirst();
231
+ order = max?.max === null || max?.max === void 0 ? 0 : Number(max.max) + 1;
232
+ }
233
+ await this.db.insertInto("_emdash_content_references").values({
234
+ id: ulid(),
235
+ relation_id: relationId,
236
+ parent_group: parentGroup,
237
+ child_group: childGroup,
238
+ sort_order: order,
239
+ created_at: (/* @__PURE__ */ new Date()).toISOString()
240
+ }).onConflict((oc) => oc.doNothing()).execute();
241
+ }
242
+ /** Remove one `parentGroup → childGroup` edge under a relation. */
243
+ async removeReference(relation, parentGroup, childGroup) {
244
+ const relationId = await this.resolveRelationId(relation);
245
+ if (!relationId) return;
246
+ await this.db.deleteFrom("_emdash_content_references").where("relation_id", "=", relationId).where("parent_group", "=", parentGroup).where("child_group", "=", childGroup).execute();
247
+ }
248
+ /** Forward traversal: a parent's children for a relation, ordered. */
249
+ async getChildren(relation, parentGroup) {
250
+ const relationId = await this.resolveRelationId(relation);
251
+ if (!relationId) return [];
252
+ return (await this.db.selectFrom("_emdash_content_references").selectAll().where("relation_id", "=", relationId).where("parent_group", "=", parentGroup).orderBy("sort_order", "asc").orderBy("id", "asc").execute()).map((row) => this.rowToReference(row));
253
+ }
254
+ /**
255
+ * Forward traversal, paginated: one page of a parent's children for a
256
+ * relation, ordered by `(sort_order, id)`. Use this on request paths — a
257
+ * parent's children are capped but still up to 1000, and an unbounded read
258
+ * scales poorly. Returns `{ items, nextCursor? }`; the cursor's order value is
259
+ * the row's `sort_order`. Default limit 50, max 100.
260
+ */
261
+ async getChildrenPage(relation, parentGroup, options = {}) {
262
+ const relationId = await this.resolveRelationId(relation);
263
+ if (!relationId) return { items: [] };
264
+ return this.getChildrenPageById(relationId, parentGroup, options);
265
+ }
266
+ /** `getChildrenPage` for a caller that already holds the relation's id. */
267
+ async getChildrenPageById(relationId, parentGroup, options = {}) {
268
+ const limit = Math.max(1, Math.min(options.limit || 50, 100));
269
+ let query = this.db.selectFrom("_emdash_content_references").selectAll().where("relation_id", "=", relationId).where("parent_group", "=", parentGroup);
270
+ if (options.cursor) {
271
+ const decoded = decodeCursor(options.cursor);
272
+ if (decoded.orderValue === STAGED_CURSOR_MARKER) query = query.where((eb) => {
273
+ const anchor = () => eb.selectFrom("_emdash_content_references as anchor").where("anchor.relation_id", "=", relationId).where("anchor.parent_group", "=", parentGroup).where("anchor.child_group", "=", decoded.id);
274
+ return eb.or([
275
+ eb.not(eb.exists(anchor().select("anchor.id"))),
276
+ eb("sort_order", ">", anchor().select("anchor.sort_order")),
277
+ eb.and([eb("sort_order", "=", anchor().select("anchor.sort_order")), eb("id", ">", anchor().select("anchor.id"))])
278
+ ]);
279
+ });
280
+ else {
281
+ const sortOrder = Number(decoded.orderValue);
282
+ if (!Number.isFinite(sortOrder)) throw new InvalidCursorError(options.cursor);
283
+ query = query.where((eb) => eb.or([eb("sort_order", ">", sortOrder), eb.and([eb("sort_order", "=", sortOrder), eb("id", ">", decoded.id)])]));
284
+ }
285
+ }
286
+ const rows = await query.orderBy("sort_order", "asc").orderBy("id", "asc").limit(limit + 1).execute();
287
+ const hasMore = rows.length > limit;
288
+ const items = rows.slice(0, limit).map((row) => this.rowToReference(row));
289
+ const result = { items };
290
+ const last = items.at(-1);
291
+ if (hasMore && last) result.nextCursor = encodeCursor(String(last.sortOrder), last.id);
292
+ return result;
293
+ }
294
+ /** Backlink traversal: the parents that reference a child for a relation. */
295
+ async getParents(relation, childGroup) {
296
+ const relationId = await this.resolveRelationId(relation);
297
+ if (!relationId) return [];
298
+ return (await this.db.selectFrom("_emdash_content_references").selectAll().where("relation_id", "=", relationId).where("child_group", "=", childGroup).orderBy("id", "asc").execute()).map((row) => this.rowToReference(row));
299
+ }
300
+ /**
301
+ * Replace all children of `parentGroup` under a relation with `childGroups`,
302
+ * assigning positional sort_order (index in the deduped array).
303
+ * Mirrors the intent of `TaxonomyRepository.setTermsForEntry`.
304
+ *
305
+ * A parent references a given child at most once (the unique edge), so
306
+ * duplicate `childGroups` are collapsed first-occurrence-wins rather than
307
+ * relying on the insert's onConflict to silently drop them.
308
+ *
309
+ * Written as a diff, in the order add → remove → reposition, rather than as a
310
+ * delete of the whole end followed by a re-insert. There is no transaction on
311
+ * D1: a replacement that removed first would leave the parent holding nothing
312
+ * the moment the far side refused one of the additions, and report a failed
313
+ * save over an emptied field. Additions already written come back out when a
314
+ * later one is refused, so a refused call leaves the selection as it found it.
315
+ * The diff also keeps an edge the caller is merely re-stating out of the far
316
+ * side's count, which a delete-and-reinsert survives only because its delete
317
+ * frees the slot a moment before it asks for it back.
318
+ *
319
+ * Concurrency: two simultaneous replace-all calls for the same (relation,
320
+ * parent) can interleave and merge into the union of both sets (a lost update
321
+ * — neither "replace" wins). This is non-corrupting — keyset pagination stays
322
+ * totally ordered via the `(sort_order, id)` tiebreak even with duplicate
323
+ * sort_orders — and a single client editing one parent's children serially
324
+ * never hits it. A D1-portable fix isn't available (no multi-statement
325
+ * transactions), so concurrent replace-all on one parent is unsupported by
326
+ * design rather than guarded here.
327
+ *
328
+ * Returns the child group `maxParentsPerChild` refused, in a one-element
329
+ * array — empty unless the relation limits that end and something else has
330
+ * taken the slot since the caller resolved its selection.
331
+ */
332
+ async setChildren(relation, parentGroup, childGroups) {
333
+ const rel = await this.resolveRelationLimits(relation);
334
+ if (!rel) return [];
335
+ const existing = await this.db.selectFrom("_emdash_content_references").select([
336
+ "id",
337
+ "child_group",
338
+ "sort_order"
339
+ ]).where("relation_id", "=", rel.id).where("parent_group", "=", parentGroup).execute();
340
+ const existingChildren = new Set(existing.map((row) => row.child_group));
341
+ const uniqueChildGroups = [...new Set(childGroups)];
342
+ const positions = new Map(uniqueChildGroups.map((childGroup, index) => [childGroup, index]));
343
+ const now = (/* @__PURE__ */ new Date()).toISOString();
344
+ const additions = uniqueChildGroups.map((childGroup, index) => ({
345
+ childGroup,
346
+ index
347
+ })).filter(({ childGroup }) => !existingChildren.has(childGroup)).map(({ childGroup, index }) => ({
348
+ id: ulid(),
349
+ relation_id: rel.id,
350
+ parent_group: parentGroup,
351
+ child_group: childGroup,
352
+ sort_order: index,
353
+ created_at: now
354
+ }));
355
+ const rejected = await this.insertEdges(additions, "child", rel.maxParentsPerChild);
356
+ if (rejected.length > 0) return rejected;
357
+ const removals = [];
358
+ const repositions = [];
359
+ for (const row of existing) {
360
+ const position = positions.get(row.child_group);
361
+ if (position === void 0) removals.push(row.id);
362
+ else if (position !== row.sort_order) repositions.push({
363
+ id: row.id,
364
+ sortOrder: position
365
+ });
366
+ }
367
+ await this.deleteEdgesById(removals);
368
+ await this.repositionEdges(repositions);
369
+ return [];
370
+ }
371
+ /**
372
+ * Replace all parents of `childGroup` under a relation with `parentGroups`:
373
+ * the mirror of `setChildren`, for a field bound to the child side.
374
+ *
375
+ * Duplicates collapse first-occurrence-wins, and the same diff ordering and
376
+ * non-transactional caveats apply — see `setChildren`, including that two
377
+ * concurrent replace-all calls for one (relation, child) can merge.
378
+ *
379
+ * `sort_order` orders children within a parent and has no counterpart on this
380
+ * side, so a *new* edge takes the next position among that parent's existing
381
+ * children rather than a position in this child's list. A parent the caller
382
+ * re-states keeps the position it already holds: that position is the other
383
+ * side's list order, and saving a backlink field must not rewrite it. A
384
+ * child-side field therefore has no order of its own; `getParents` reads by
385
+ * `id`.
386
+ *
387
+ * Returns the parent group `maxChildrenPerParent` refused, the mirror of what
388
+ * `setChildren` returns.
389
+ */
390
+ async setParents(relation, childGroup, parentGroups) {
391
+ const rel = await this.resolveRelationLimits(relation);
392
+ if (!rel) return [];
393
+ const relationId = rel.id;
394
+ const existing = await this.db.selectFrom("_emdash_content_references").select(["id", "parent_group"]).where("relation_id", "=", relationId).where("child_group", "=", childGroup).execute();
395
+ const existingParents = new Set(existing.map((row) => row.parent_group));
396
+ const uniqueParentGroups = [...new Set(parentGroups)];
397
+ const selected = new Set(uniqueParentGroups);
398
+ const newParents = uniqueParentGroups.filter((parentGroup) => !existingParents.has(parentGroup));
399
+ const nextSortOrder = /* @__PURE__ */ new Map();
400
+ for (const groupBatch of chunks(newParents, REFERENCE_INSERT_BATCH_SIZE)) {
401
+ const maxima = await this.db.selectFrom("_emdash_content_references").select((eb) => ["parent_group", eb.fn.max("sort_order").as("max")]).where("relation_id", "=", relationId).where("parent_group", "in", groupBatch).groupBy("parent_group").execute();
402
+ for (const row of maxima) nextSortOrder.set(row.parent_group, row.max === null ? 0 : Number(row.max) + 1);
403
+ }
404
+ const now = (/* @__PURE__ */ new Date()).toISOString();
405
+ const additions = newParents.map((parentGroup) => ({
406
+ id: ulid(),
407
+ relation_id: relationId,
408
+ parent_group: parentGroup,
409
+ child_group: childGroup,
410
+ sort_order: nextSortOrder.get(parentGroup) ?? 0,
411
+ created_at: now
412
+ }));
413
+ const rejected = await this.insertEdges(additions, "parent", rel.maxChildrenPerParent);
414
+ if (rejected.length > 0) return rejected;
415
+ await this.deleteEdgesById(existing.filter((row) => !selected.has(row.parent_group)).map((row) => row.id));
416
+ return [];
417
+ }
418
+ /**
419
+ * Copy every outgoing edge of `fromParentGroup` onto `toParentGroup`,
420
+ * preserving relation, child, and sort order. Used when duplicating a content
421
+ * entry so the copy carries the same reference selections (edges are
422
+ * storage-less, keyed by translation_group, so they don't ride along in the
423
+ * row's `data`). Only the parent side is copied; backlinks pointing at the
424
+ * original stay on the original. Idempotent per edge via onConflict.
425
+ *
426
+ * A copy is still a new edge, so it holds to `maxParentsPerChild` like any
427
+ * other: a child already at its limit cannot also belong to the copy. Returns
428
+ * the child group that refused, in a one-element array, having taken back
429
+ * every edge this call had already written — the caller decides what a
430
+ * duplicate that cannot carry its selection should do.
431
+ */
432
+ async copyParentEdges(fromParentGroup, toParentGroup) {
433
+ const rows = await this.db.selectFrom("_emdash_content_references").selectAll().where("parent_group", "=", fromParentGroup).execute();
434
+ if (rows.length === 0) return [];
435
+ const now = (/* @__PURE__ */ new Date()).toISOString();
436
+ const byRelation = /* @__PURE__ */ new Map();
437
+ for (const row of rows) {
438
+ const copies = byRelation.get(row.relation_id) ?? [];
439
+ copies.push({
440
+ id: ulid(),
441
+ relation_id: row.relation_id,
442
+ parent_group: toParentGroup,
443
+ child_group: row.child_group,
444
+ sort_order: row.sort_order,
445
+ created_at: now
446
+ });
447
+ byRelation.set(row.relation_id, copies);
448
+ }
449
+ const written = [];
450
+ for (const [relationId, copies] of byRelation) {
451
+ const rel = await this.resolveRelationLimits(relationId);
452
+ const rejected = await this.insertEdges(copies, "child", rel?.maxParentsPerChild ?? null);
453
+ if (rejected.length > 0) {
454
+ await this.deleteEdgesById(written);
455
+ return rejected;
456
+ }
457
+ written.push(...copies.map((copy) => copy.id));
458
+ }
459
+ return [];
460
+ }
461
+ /**
462
+ * How many edges each of `groups` already holds at one end of a relation,
463
+ * ignoring edges whose opposite end is `excludeOppositeGroup`.
464
+ *
465
+ * The exclusion is what lets a re-save of an unchanged selection pass: the
466
+ * selecting entry's own edges are not counted against the limit it is about
467
+ * to re-establish. Groups with no edges are absent from the map.
468
+ */
469
+ async countEdgesByGroup(relationId, side, groups, excludeOppositeGroup) {
470
+ const column = side === "parent" ? "parent_group" : "child_group";
471
+ const opposite = side === "parent" ? "child_group" : "parent_group";
472
+ const counts = /* @__PURE__ */ new Map();
473
+ for (const groupBatch of chunks([...new Set(groups)], SQL_BATCH_SIZE)) {
474
+ let query = this.db.selectFrom("_emdash_content_references").select((eb) => [column, eb.fn.countAll().as("count")]).where("relation_id", "=", relationId).where(column, "in", groupBatch);
475
+ if (excludeOppositeGroup !== null) query = query.where(opposite, "!=", excludeOppositeGroup);
476
+ const rows = await query.groupBy(column).execute();
477
+ for (const row of rows) counts.set(row[column], Number(row.count));
478
+ }
479
+ return counts;
480
+ }
481
+ /**
482
+ * Backlink traversal, paginated: one page of the parents that reference a
483
+ * child for a relation, ordered by `id`. Unlike a parent's children, a
484
+ * child's backlinks are *unbounded* — one popular entry can be referenced by
485
+ * arbitrarily many parents — so this read must paginate. Returns
486
+ * `{ items, nextCursor? }`; the cursor's order value is the row `id`. Default
487
+ * limit 50, max 100.
488
+ */
489
+ async getParentsPage(relation, childGroup, options = {}) {
490
+ const relationId = await this.resolveRelationId(relation);
491
+ if (!relationId) return { items: [] };
492
+ return this.getParentsPageById(relationId, childGroup, options);
493
+ }
494
+ /** `getParentsPage` for a caller that already holds the relation's id. */
495
+ async getParentsPageById(relationId, childGroup, options = {}) {
496
+ const limit = Math.max(1, Math.min(options.limit || 50, 100));
497
+ let query = this.db.selectFrom("_emdash_content_references").selectAll().where("relation_id", "=", relationId).where("child_group", "=", childGroup);
498
+ if (options.cursor) {
499
+ const decoded = decodeCursor(options.cursor);
500
+ if (decoded.orderValue === STAGED_CURSOR_MARKER) query = query.where((eb) => {
501
+ const anchor = eb.selectFrom("_emdash_content_references as anchor").where("anchor.relation_id", "=", relationId).where("anchor.child_group", "=", childGroup).where("anchor.parent_group", "=", decoded.id);
502
+ return eb.or([eb.not(eb.exists(anchor.select("anchor.id"))), eb("id", ">", anchor.select("anchor.id"))]);
503
+ });
504
+ else query = query.where("id", ">", decoded.id);
505
+ }
506
+ const rows = await query.orderBy("id", "asc").limit(limit + 1).execute();
507
+ const hasMore = rows.length > limit;
508
+ const items = rows.slice(0, limit).map((row) => this.rowToReference(row));
509
+ const result = { items };
510
+ const last = items.at(-1);
511
+ if (hasMore && last) result.nextCursor = encodeCursor(last.id, last.id);
512
+ return result;
513
+ }
514
+ /**
515
+ * Remove every edge where `group` is the parent OR the child — i.e. ensure no
516
+ * orphaned reference edges survive when a content entry is deleted. The
517
+ * application-layer cascade that group-linking precludes at the SQL level.
518
+ * Callers must be sure the whole group is gone: edges outlive any single
519
+ * locale row. Returns the number of edges removed.
520
+ */
521
+ async clearReferencesForGroup(group) {
522
+ const result = await this.db.deleteFrom("_emdash_content_references").where((eb) => eb.or([eb("parent_group", "=", group), eb("child_group", "=", group)])).executeTakeFirst();
523
+ return Number(result.numDeletedRows ?? 0);
524
+ }
525
+ /** Count a parent's children under a relation. */
526
+ async countChildren(relation, parentGroup) {
527
+ const relationId = await this.resolveRelationId(relation);
528
+ if (!relationId) return 0;
529
+ const result = await this.db.selectFrom("_emdash_content_references").select((eb) => eb.fn.count("id").as("count")).where("relation_id", "=", relationId).where("parent_group", "=", parentGroup).executeTakeFirst();
530
+ return Number(result?.count ?? 0);
531
+ }
532
+ /** Count a child's parents (backlinks) under a relation. */
533
+ async countParents(relation, childGroup) {
534
+ const relationId = await this.resolveRelationId(relation);
535
+ if (!relationId) return 0;
536
+ const result = await this.db.selectFrom("_emdash_content_references").select((eb) => eb.fn.count("id").as("count")).where("relation_id", "=", relationId).where("child_group", "=", childGroup).executeTakeFirst();
537
+ return Number(result?.count ?? 0);
538
+ }
539
+ /**
540
+ * Total edges per relation, for every relation at once. Relations with no
541
+ * edges are absent from the map.
542
+ *
543
+ * One grouped scan rather than a count per relation: the delete dialogs name
544
+ * how many links go with a relation, and the relations list shows the same
545
+ * number on every row.
546
+ */
547
+ async countEdgesByRelation() {
548
+ const rows = await this.db.selectFrom("_emdash_content_references").select(["relation_id", (eb) => eb.fn.count("id").as("count")]).groupBy("relation_id").execute();
549
+ return new Map(rows.map((row) => [row.relation_id, Number(row.count ?? 0)]));
550
+ }
551
+ /**
552
+ * Batch child-counts for many parents under a relation. Chunks at
553
+ * SQL_BATCH_SIZE for D1's bind-parameter limit. Returns parent_group → count
554
+ * (parents with no children are absent from the map). Mirrors
555
+ * `TaxonomyRepository.countEntriesForTerms`.
556
+ */
557
+ async countChildrenForParents(relation, parentGroups) {
558
+ const counts = /* @__PURE__ */ new Map();
559
+ if (parentGroups.length === 0) return counts;
560
+ const relationId = await this.resolveRelationId(relation);
561
+ if (!relationId) return counts;
562
+ for (const chunk of chunks(parentGroups, SQL_BATCH_SIZE)) {
563
+ const rows = await this.db.selectFrom("_emdash_content_references").select(["parent_group", (eb) => eb.fn.count("id").as("count")]).where("relation_id", "=", relationId).where("parent_group", "in", chunk).groupBy("parent_group").execute();
564
+ for (const row of rows) counts.set(row.parent_group, Number(row.count ?? 0));
565
+ }
566
+ return counts;
567
+ }
568
+ rowToRelation(row) {
569
+ return {
570
+ id: row.id,
571
+ slug: row.slug,
572
+ parentCollection: row.parent_collection,
573
+ childCollection: row.child_collection,
574
+ parentLabel: row.parent_label,
575
+ childLabel: row.child_label,
576
+ parentLabelSingular: row.parent_label_singular,
577
+ childLabelSingular: row.child_label_singular,
578
+ maxChildrenPerParent: row.max_children_per_parent,
579
+ maxParentsPerChild: row.max_parents_per_child
580
+ };
581
+ }
582
+ };
583
+
584
+ //#endregion
585
+ //#region src/references/staged.ts
586
+ /**
587
+ * The shape a pending reference selection takes inside a draft revision, and how
588
+ * to read and page it.
589
+ *
590
+ * Nothing here touches the database, which is what lets both the write side
591
+ * (`api/handlers/staged-references.ts`, which promotes and validates a staged
592
+ * selection) and the read side (the entry read, the edge routes, the public
593
+ * query resolver) share it without importing each other.
594
+ */
595
+ /**
596
+ * Where a collection that keeps drafts stages a pending reference selection: in
597
+ * the draft revision's data, beside `_slug`. The leading underscore is what
598
+ * keeps it out of the column writer, the loaded entry's `data`, and the publish
599
+ * promotion loop, all of which already skip `_`-prefixed keys.
600
+ *
601
+ * The link table holds the live selection only.
602
+ */
603
+ const STAGED_REFERENCES_KEY = "_references";
604
+ /**
605
+ * The live selection each staged field was saved against. Promotion computes
606
+ * the diff between `_references` and this baseline, so a draft only adds or
607
+ * removes the links it actually intended rather than replacing the live set
608
+ * with a stale snapshot.
609
+ */
610
+ const STAGED_REFERENCES_BASELINE_KEY = "_referencesBaseline";
611
+ /** Default page size for one reference field, matching the list endpoints. */
612
+ const REFERENCE_PAGE_LIMIT = 50;
613
+ /** Hard ceiling, matching the list endpoints. */
614
+ const REFERENCE_PAGE_MAX_LIMIT = 100;
615
+ /**
616
+ * Page a staged selection, which is a list in memory rather than a table.
617
+ *
618
+ * The cursor anchors on the last group of the previous page rather than on its
619
+ * index: the editor can reorder or drop entries between one page and the next,
620
+ * and an index would then silently skip or repeat. An anchor that is no longer
621
+ * in the selection means the entries it pointed past are gone, so the walk ends.
622
+ */
623
+ function pageStagedGroups(groups, options = {}) {
624
+ const limit = Math.min(Math.max(options.limit ?? REFERENCE_PAGE_LIMIT, 1), REFERENCE_PAGE_MAX_LIMIT);
625
+ let start = 0;
626
+ if (options.cursor) {
627
+ const decoded = decodeCursor(options.cursor);
628
+ if (decoded.orderValue === STAGED_CURSOR_MARKER) {
629
+ const index = groups.indexOf(decoded.id);
630
+ if (index === -1) return { groups: [] };
631
+ start = index + 1;
632
+ }
633
+ }
634
+ const page = groups.slice(start, start + limit);
635
+ const last = page.at(-1);
636
+ return {
637
+ groups: page,
638
+ nextCursor: last && start + page.length < groups.length ? encodeCursor(STAGED_CURSOR_MARKER, last) : void 0
639
+ };
640
+ }
641
+ function isGroupList(value) {
642
+ return Array.isArray(value) && value.every((entry) => typeof entry === "string");
643
+ }
644
+ /** The staged selection inside a revision's data, if it carries one. */
645
+ function readStagedReferences(data) {
646
+ const staged = data?.[STAGED_REFERENCES_KEY];
647
+ if (typeof staged !== "object" || staged === null || Array.isArray(staged)) return void 0;
648
+ const result = {};
649
+ for (const [fieldSlug, groups] of Object.entries(staged)) if (isGroupList(groups)) result[fieldSlug] = groups;
650
+ return Object.keys(result).length > 0 ? result : void 0;
651
+ }
652
+ /**
653
+ * Fold a save's selections into whatever the previous draft staged. A save that
654
+ * names one reference field must not drop another field's pending selection, so
655
+ * fields absent from `incoming` keep their staged value.
656
+ */
657
+ function mergeStagedReferences(base, incoming) {
658
+ return {
659
+ ...readStagedReferences(base),
660
+ ...incoming
661
+ };
662
+ }
663
+ /** The baseline selection inside a revision's data, if it carries one. */
664
+ function readStagedReferenceBaselines(data) {
665
+ const baselines = data?.[STAGED_REFERENCES_BASELINE_KEY];
666
+ if (typeof baselines !== "object" || baselines === null || Array.isArray(baselines)) return;
667
+ const result = {};
668
+ for (const [fieldSlug, groups] of Object.entries(baselines)) if (isGroupList(groups)) result[fieldSlug] = groups;
669
+ return Object.keys(result).length > 0 ? result : void 0;
670
+ }
671
+ /**
672
+ * Fold a save's baselines into the previous draft's baselines. The baseline for
673
+ * a field is captured once, on the first save that stages it, so the diff stays
674
+ * anchored to the live selection the user was looking at.
675
+ */
676
+ function mergeStagedReferenceBaselines(base, incoming) {
677
+ const existing = readStagedReferenceBaselines(base) ?? {};
678
+ return {
679
+ ...incoming,
680
+ ...existing
681
+ };
682
+ }
683
+
684
+ //#endregion
685
+ export { mergeStagedReferenceBaselines as a, readStagedReferenceBaselines as c, RelationRepository as d, STAGED_REFERENCES_KEY as i, readStagedReferences as l, REFERENCE_PAGE_MAX_LIMIT as n, mergeStagedReferences as o, STAGED_REFERENCES_BASELINE_KEY as r, pageStagedGroups as s, REFERENCE_PAGE_LIMIT as t, REFERENCE_INSERT_BATCH_SIZE as u };
686
+ //# sourceMappingURL=staged-DboEaWsV.mjs.map