emdash 1.1.0 → 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 (1283) hide show
  1. package/dist/action-token-BdWad2YG.mjs +26 -0
  2. package/dist/action-token-BdWad2YG.mjs.map +1 -0
  3. package/dist/adapters-B4-nbElt.d.mts +173 -0
  4. package/dist/adapters-B4-nbElt.d.mts.map +1 -0
  5. package/dist/allowed-origins-CLpHGGlc.mjs +116 -0
  6. package/dist/allowed-origins-CLpHGGlc.mjs.map +1 -0
  7. package/dist/api/route-utils.d.mts +4 -4
  8. package/dist/api/route-utils.d.mts.map +1 -1
  9. package/dist/api/route-utils.mjs +39 -39
  10. package/dist/api/schemas/index.d.mts +2 -2
  11. package/dist/api/schemas/index.mjs +10 -10
  12. package/dist/api-DBw_IWoi.mjs +5024 -0
  13. package/dist/api-DBw_IWoi.mjs.map +1 -0
  14. package/dist/api-tokens-B0ZipcZ-.mjs +173 -0
  15. package/dist/api-tokens-B0ZipcZ-.mjs.map +1 -0
  16. package/dist/apply-Cx48saFC.mjs +1680 -0
  17. package/dist/apply-Cx48saFC.mjs.map +1 -0
  18. package/dist/approvals-BXgtXA2s.mjs +460 -0
  19. package/dist/approvals-BXgtXA2s.mjs.map +1 -0
  20. package/dist/artifact-fetch-DsRczRGG.mjs +659 -0
  21. package/dist/artifact-fetch-DsRczRGG.mjs.map +1 -0
  22. package/dist/artifacts-D-O-qj9C.mjs +307 -0
  23. package/dist/artifacts-D-O-qj9C.mjs.map +1 -0
  24. package/dist/astro/image-endpoint.d.mts.map +1 -1
  25. package/dist/astro/image-endpoint.mjs +26 -6
  26. package/dist/astro/image-endpoint.mjs.map +1 -1
  27. package/dist/astro/index.d.mts +14 -14
  28. package/dist/astro/index.d.mts.map +1 -1
  29. package/dist/astro/index.mjs +225 -15
  30. package/dist/astro/index.mjs.map +1 -1
  31. package/dist/astro/middleware/auth.d.mts +12 -12
  32. package/dist/astro/middleware/auth.d.mts.map +1 -1
  33. package/dist/astro/middleware/auth.mjs +15 -11
  34. package/dist/astro/middleware/auth.mjs.map +1 -1
  35. package/dist/astro/middleware/media-usage-write-fence.mjs +4 -4
  36. package/dist/astro/middleware/redirect.d.mts.map +1 -1
  37. package/dist/astro/middleware/redirect.mjs +30 -15
  38. package/dist/astro/middleware/redirect.mjs.map +1 -1
  39. package/dist/astro/middleware/request-context.d.mts.map +1 -1
  40. package/dist/astro/middleware/request-context.mjs +71 -44
  41. package/dist/astro/middleware/request-context.mjs.map +1 -1
  42. package/dist/astro/middleware/setup.mjs +1 -1
  43. package/dist/astro/middleware.d.mts +12 -12
  44. package/dist/astro/middleware.d.mts.map +1 -1
  45. package/dist/astro/middleware.mjs +129 -107
  46. package/dist/astro/middleware.mjs.map +1 -1
  47. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +13 -13
  48. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +13 -13
  49. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +6 -5
  50. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs.map +1 -1
  51. package/dist/astro/routes/api/admin/api-tokens/index.mjs +7 -6
  52. package/dist/astro/routes/api/admin/api-tokens/index.mjs.map +1 -1
  53. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +5 -5
  54. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +15 -15
  55. package/dist/astro/routes/api/admin/byline-fields/index.mjs +15 -15
  56. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +15 -15
  57. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +20 -20
  58. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +20 -20
  59. package/dist/astro/routes/api/admin/bylines/index.mjs +20 -20
  60. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +17 -17
  61. package/dist/astro/routes/api/admin/comments/_id_.mjs +6 -6
  62. package/dist/astro/routes/api/admin/comments/bulk.mjs +16 -16
  63. package/dist/astro/routes/api/admin/comments/counts.mjs +6 -6
  64. package/dist/astro/routes/api/admin/comments/index.mjs +16 -16
  65. package/dist/astro/routes/api/admin/core-update.mjs +6 -6
  66. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +5 -5
  67. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +4 -4
  68. package/dist/astro/routes/api/admin/media-usage/activation.mjs +17 -17
  69. package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs +19 -19
  70. package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs +19 -19
  71. package/dist/astro/routes/api/admin/media-usage/progress.mjs +16 -16
  72. package/dist/astro/routes/api/admin/media-usage/repair.mjs +22 -22
  73. package/dist/astro/routes/api/admin/media-usage/work/index.mjs +19 -19
  74. package/dist/astro/routes/api/admin/media-usage/work/retry.mjs +19 -19
  75. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +5 -5
  76. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +5 -5
  77. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +7 -7
  78. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +7 -7
  79. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +63 -63
  80. package/dist/astro/routes/api/admin/plugins/_id_/mcp.mjs +6 -6
  81. package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs +62 -62
  82. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +63 -63
  83. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +72 -72
  84. package/dist/astro/routes/api/admin/plugins/index.mjs +63 -63
  85. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +6 -6
  86. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +62 -62
  87. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +71 -71
  88. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +62 -62
  89. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs +63 -63
  90. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs +73 -73
  91. package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs +8 -8
  92. package/dist/astro/routes/api/admin/plugins/registry/install.mjs +65 -65
  93. package/dist/astro/routes/api/admin/plugins/registry/publisher-handle.mjs +6 -6
  94. package/dist/astro/routes/api/admin/plugins/registry/verify.mjs +63 -63
  95. package/dist/astro/routes/api/admin/plugins/updates.mjs +62 -62
  96. package/dist/astro/routes/api/admin/scheduled-policy-rejections/_collection_/_id_.mjs +4 -4
  97. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +62 -62
  98. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +6 -6
  99. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +62 -62
  100. package/dist/astro/routes/api/admin/transfer/_...path_.mjs +3 -3
  101. package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.mjs +30 -30
  102. package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.mjs +30 -30
  103. package/dist/astro/routes/api/admin/transfer/approvals/index.mjs +32 -32
  104. package/dist/astro/routes/api/admin/transfer/capabilities.mjs +32 -32
  105. package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.mjs +32 -32
  106. package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.mjs +33 -33
  107. package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.mjs +33 -33
  108. package/dist/astro/routes/api/admin/transfer/exports/_id_/index.mjs +32 -32
  109. package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.mjs +33 -33
  110. package/dist/astro/routes/api/admin/transfer/exports/index.mjs +34 -34
  111. package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.mjs +32 -32
  112. package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.mjs +32 -32
  113. package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.mjs +34 -34
  114. package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.mjs +32 -32
  115. package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.mjs +34 -34
  116. package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.mjs +32 -32
  117. package/dist/astro/routes/api/admin/transfer/imports/_id_/index.mjs +32 -32
  118. package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.mjs +34 -34
  119. package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.mjs +32 -32
  120. package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.mjs +32 -32
  121. package/dist/astro/routes/api/admin/transfer/imports/index.mjs +34 -34
  122. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +3 -3
  123. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +3 -3
  124. package/dist/astro/routes/api/admin/users/_id_/index.mjs +13 -13
  125. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +5 -5
  126. package/dist/astro/routes/api/admin/users/index.mjs +13 -13
  127. package/dist/astro/routes/api/auth/dev-bypass.mjs +5 -5
  128. package/dist/astro/routes/api/auth/handover.d.mts +8 -0
  129. package/dist/astro/routes/api/auth/handover.d.mts.map +1 -0
  130. package/dist/astro/routes/api/auth/handover.mjs +49 -0
  131. package/dist/astro/routes/api/auth/handover.mjs.map +1 -0
  132. package/dist/astro/routes/api/auth/invite/accept.mjs +3 -3
  133. package/dist/astro/routes/api/auth/invite/complete.mjs +18 -18
  134. package/dist/astro/routes/api/auth/invite/index.mjs +15 -15
  135. package/dist/astro/routes/api/auth/invite/register-options.mjs +16 -16
  136. package/dist/astro/routes/api/auth/logout.mjs +4 -4
  137. package/dist/astro/routes/api/auth/magic-link/send.mjs +18 -17
  138. package/dist/astro/routes/api/auth/magic-link/send.mjs.map +1 -1
  139. package/dist/astro/routes/api/auth/magic-link/verify.d.mts.map +1 -1
  140. package/dist/astro/routes/api/auth/magic-link/verify.mjs +22 -16
  141. package/dist/astro/routes/api/auth/magic-link/verify.mjs.map +1 -1
  142. package/dist/astro/routes/api/auth/me.mjs +14 -14
  143. package/dist/astro/routes/api/auth/mode.mjs +4 -4
  144. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +7 -7
  145. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
  146. package/dist/astro/routes/api/auth/passkey/_id_.mjs +13 -13
  147. package/dist/astro/routes/api/auth/passkey/index.mjs +3 -3
  148. package/dist/astro/routes/api/auth/passkey/options.d.mts.map +1 -1
  149. package/dist/astro/routes/api/auth/passkey/options.mjs +26 -19
  150. package/dist/astro/routes/api/auth/passkey/options.mjs.map +1 -1
  151. package/dist/astro/routes/api/auth/passkey/register/options.mjs +16 -16
  152. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +17 -17
  153. package/dist/astro/routes/api/auth/passkey/verify.mjs +18 -18
  154. package/dist/astro/routes/api/auth/signup/complete.mjs +18 -18
  155. package/dist/astro/routes/api/auth/signup/request.mjs +17 -16
  156. package/dist/astro/routes/api/auth/signup/request.mjs.map +1 -1
  157. package/dist/astro/routes/api/auth/signup/verify.mjs +3 -3
  158. package/dist/astro/routes/api/calendar.mjs +14 -14
  159. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +11 -11
  160. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +17 -17
  161. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +4 -4
  162. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +15 -15
  163. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +4 -4
  164. package/dist/astro/routes/api/content/_collection_/_id_/lock.mjs +15 -15
  165. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +4 -4
  166. package/dist/astro/routes/api/content/_collection_/_id_/plugin-extensions/_pluginId_/_kind_/_extensionId_.mjs +8 -8
  167. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +23 -23
  168. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +15 -15
  169. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs +27 -27
  170. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs +27 -27
  171. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +4 -4
  172. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +4 -4
  173. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +15 -15
  174. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +20 -20
  175. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +4 -4
  176. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +15 -15
  177. package/dist/astro/routes/api/content/_collection_/_id_.mjs +15 -15
  178. package/dist/astro/routes/api/content/_collection_/authors.mjs +4 -4
  179. package/dist/astro/routes/api/content/_collection_/index.mjs +14 -14
  180. package/dist/astro/routes/api/content/_collection_/trash.mjs +14 -14
  181. package/dist/astro/routes/api/dashboard.mjs +9 -9
  182. package/dist/astro/routes/api/dev/emails.mjs +4 -4
  183. package/dist/astro/routes/api/health.mjs +5 -5
  184. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  185. package/dist/astro/routes/api/import/probe.mjs +22 -22
  186. package/dist/astro/routes/api/import/wordpress/analyze.mjs +4 -4
  187. package/dist/astro/routes/api/import/wordpress/execute.d.mts +13 -13
  188. package/dist/astro/routes/api/import/wordpress/execute.mjs +28 -21
  189. package/dist/astro/routes/api/import/wordpress/execute.mjs.map +1 -1
  190. package/dist/astro/routes/api/import/wordpress/media.d.mts +12 -12
  191. package/dist/astro/routes/api/import/wordpress/media.mjs +16 -16
  192. package/dist/astro/routes/api/import/wordpress/prepare.mjs +16 -16
  193. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.d.mts +8 -0
  194. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.d.mts.map +1 -1
  195. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.mjs +67 -31
  196. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.mjs.map +1 -1
  197. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +13 -13
  198. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +20 -20
  199. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  200. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +22 -22
  201. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +13 -13
  202. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +35 -28
  203. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs.map +1 -1
  204. package/dist/astro/routes/api/manifest.mjs +8 -5
  205. package/dist/astro/routes/api/manifest.mjs.map +1 -1
  206. package/dist/astro/routes/api/mcp.mjs +81 -81
  207. package/dist/astro/routes/api/media/_id_/confirm.d.mts.map +1 -1
  208. package/dist/astro/routes/api/media/_id_/confirm.mjs +32 -16
  209. package/dist/astro/routes/api/media/_id_/confirm.mjs.map +1 -1
  210. package/dist/astro/routes/api/media/_id_/replace.mjs +13 -13
  211. package/dist/astro/routes/api/media/_id_/upload.mjs +6 -6
  212. package/dist/astro/routes/api/media/_id_/usage.mjs +24 -24
  213. package/dist/astro/routes/api/media/_id_.mjs +22 -22
  214. package/dist/astro/routes/api/media/asset/_id_/_filename_.mjs +5 -5
  215. package/dist/astro/routes/api/media/file/_...key_.d.mts.map +1 -1
  216. package/dist/astro/routes/api/media/file/_...key_.mjs +44 -14
  217. package/dist/astro/routes/api/media/file/_...key_.mjs.map +1 -1
  218. package/dist/astro/routes/api/media/folders/_id_.mjs +15 -15
  219. package/dist/astro/routes/api/media/folders/index.mjs +15 -15
  220. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +4 -4
  221. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +4 -4
  222. package/dist/astro/routes/api/media/providers/index.mjs +4 -4
  223. package/dist/astro/routes/api/media/upload-url.mjs +39 -19
  224. package/dist/astro/routes/api/media/upload-url.mjs.map +1 -1
  225. package/dist/astro/routes/api/media.d.mts.map +1 -1
  226. package/dist/astro/routes/api/media.mjs +33 -23
  227. package/dist/astro/routes/api/media.mjs.map +1 -1
  228. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +15 -15
  229. package/dist/astro/routes/api/menus/_name_/items.mjs +15 -15
  230. package/dist/astro/routes/api/menus/_name_/reorder.mjs +15 -15
  231. package/dist/astro/routes/api/menus/_name_/translations.mjs +15 -15
  232. package/dist/astro/routes/api/menus/_name_.mjs +15 -15
  233. package/dist/astro/routes/api/menus/index.mjs +15 -15
  234. package/dist/astro/routes/api/oauth/authorize.mjs +6 -6
  235. package/dist/astro/routes/api/oauth/device/authorize.mjs +7 -7
  236. package/dist/astro/routes/api/oauth/device/code.mjs +11 -10
  237. package/dist/astro/routes/api/oauth/device/code.mjs.map +1 -1
  238. package/dist/astro/routes/api/oauth/device/token.mjs +10 -9
  239. package/dist/astro/routes/api/oauth/device/token.mjs.map +1 -1
  240. package/dist/astro/routes/api/oauth/register.mjs +7 -6
  241. package/dist/astro/routes/api/oauth/register.mjs.map +1 -1
  242. package/dist/astro/routes/api/oauth/token/refresh.mjs +7 -7
  243. package/dist/astro/routes/api/oauth/token/revoke.mjs +7 -7
  244. package/dist/astro/routes/api/oauth/token.mjs +7 -7
  245. package/dist/astro/routes/api/openapi.json.mjs +21 -21
  246. package/dist/astro/routes/api/openapi.json.mjs.map +1 -1
  247. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +8 -8
  248. package/dist/astro/routes/api/redirects/404s/index.mjs +18 -18
  249. package/dist/astro/routes/api/redirects/404s/summary.mjs +18 -18
  250. package/dist/astro/routes/api/redirects/_id_.mjs +18 -18
  251. package/dist/astro/routes/api/redirects/index.mjs +18 -18
  252. package/dist/astro/routes/api/relations/_id_/index.mjs +27 -27
  253. package/dist/astro/routes/api/relations/index.mjs +27 -27
  254. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +4 -4
  255. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +15 -15
  256. package/dist/astro/routes/api/schema/block-types/_slug_/index.mjs +62 -62
  257. package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.mjs +62 -62
  258. package/dist/astro/routes/api/schema/block-types/index.mjs +62 -62
  259. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +62 -62
  260. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +62 -62
  261. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +62 -62
  262. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +62 -62
  263. package/dist/astro/routes/api/schema/collections/index.mjs +62 -62
  264. package/dist/astro/routes/api/schema/collections/reorder.mjs +62 -62
  265. package/dist/astro/routes/api/schema/index.mjs +10 -10
  266. package/dist/astro/routes/api/schema/index.mjs.map +1 -1
  267. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +62 -62
  268. package/dist/astro/routes/api/schema/orphans/index.mjs +62 -62
  269. package/dist/astro/routes/api/search/enable.mjs +17 -17
  270. package/dist/astro/routes/api/search/index.mjs +16 -16
  271. package/dist/astro/routes/api/search/rebuild.mjs +17 -17
  272. package/dist/astro/routes/api/search/stats.mjs +7 -7
  273. package/dist/astro/routes/api/search/suggest.mjs +16 -16
  274. package/dist/astro/routes/api/sections/_slug_.mjs +16 -16
  275. package/dist/astro/routes/api/sections/index.mjs +16 -16
  276. package/dist/astro/routes/api/settings/backups/archives/_name_.mjs +6 -6
  277. package/dist/astro/routes/api/settings/backups/archives/index.mjs +6 -6
  278. package/dist/astro/routes/api/settings/backups/export.mjs +6 -6
  279. package/dist/astro/routes/api/settings/backups/index.mjs +7 -7
  280. package/dist/astro/routes/api/settings/domain-notify.d.mts +8 -0
  281. package/dist/astro/routes/api/settings/domain-notify.d.mts.map +1 -0
  282. package/dist/astro/routes/api/settings/domain-notify.mjs +125 -0
  283. package/dist/astro/routes/api/settings/domain-notify.mjs.map +1 -0
  284. package/dist/astro/routes/api/settings/domain.d.mts +9 -0
  285. package/dist/astro/routes/api/settings/domain.d.mts.map +1 -0
  286. package/dist/astro/routes/api/settings/domain.mjs +61 -0
  287. package/dist/astro/routes/api/settings/domain.mjs.map +1 -0
  288. package/dist/astro/routes/api/settings/email.mjs +5 -5
  289. package/dist/astro/routes/api/settings.mjs +18 -18
  290. package/dist/astro/routes/api/setup/admin-verify.mjs +19 -19
  291. package/dist/astro/routes/api/setup/admin.mjs +17 -17
  292. package/dist/astro/routes/api/setup/dev-bypass.mjs +34 -34
  293. package/dist/astro/routes/api/setup/dev-reset.mjs +3 -3
  294. package/dist/astro/routes/api/setup/index.d.mts.map +1 -1
  295. package/dist/astro/routes/api/setup/index.mjs +44 -40
  296. package/dist/astro/routes/api/setup/index.mjs.map +1 -1
  297. package/dist/astro/routes/api/setup/status.mjs +5 -5
  298. package/dist/astro/routes/api/site/domain-proof.d.mts +8 -0
  299. package/dist/astro/routes/api/site/domain-proof.d.mts.map +1 -0
  300. package/dist/astro/routes/api/site/domain-proof.mjs +33 -0
  301. package/dist/astro/routes/api/site/domain-proof.mjs.map +1 -0
  302. package/dist/astro/routes/api/snapshot.mjs +7 -7
  303. package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs +19 -19
  304. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +19 -19
  305. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +19 -19
  306. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +19 -19
  307. package/dist/astro/routes/api/taxonomies/_name_/translations.mjs +19 -19
  308. package/dist/astro/routes/api/taxonomies/_name_.mjs +19 -19
  309. package/dist/astro/routes/api/taxonomies/bulk-tag.mjs +27 -27
  310. package/dist/astro/routes/api/taxonomies/index.mjs +19 -19
  311. package/dist/astro/routes/api/themes/preview.mjs +5 -5
  312. package/dist/astro/routes/api/typegen.mjs +5 -5
  313. package/dist/astro/routes/api/visual-editing/action-token.mjs +5 -5
  314. package/dist/astro/routes/api/visual-editing/content/_collection_/_id_/publish.mjs +17 -17
  315. package/dist/astro/routes/api/visual-editing/toolbar-labels.mjs +3 -3
  316. package/dist/astro/routes/api/well-known/auth.mjs +1 -1
  317. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +2 -2
  318. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +2 -2
  319. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +14 -14
  320. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +16 -16
  321. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +16 -16
  322. package/dist/astro/routes/api/widget-areas/_name_.mjs +6 -6
  323. package/dist/astro/routes/api/widget-areas/index.mjs +16 -16
  324. package/dist/astro/routes/api/widget-components.mjs +4 -4
  325. package/dist/astro/routes/robots.txt.mjs +4 -4
  326. package/dist/astro/routes/sitemap-_collection_.xml.d.mts.map +1 -1
  327. package/dist/astro/routes/sitemap-_collection_.xml.mjs +27 -10
  328. package/dist/astro/routes/sitemap-_collection_.xml.mjs.map +1 -1
  329. package/dist/astro/routes/sitemap.xml.d.mts.map +1 -1
  330. package/dist/astro/routes/sitemap.xml.mjs +11 -10
  331. package/dist/astro/routes/sitemap.xml.mjs.map +1 -1
  332. package/dist/astro/types.d.mts +30 -18
  333. package/dist/astro/types.d.mts.map +1 -1
  334. package/dist/auth/providers/github.d.mts +1 -1
  335. package/dist/auth/providers/google.d.mts +1 -1
  336. package/dist/auth/providers/microsoft.d.mts +1 -1
  337. package/dist/authoritative-records-Dcs7l2H5.mjs +5183 -0
  338. package/dist/authoritative-records-Dcs7l2H5.mjs.map +1 -0
  339. package/dist/authorize-TdIGpRSE.mjs +49 -0
  340. package/dist/authorize-TdIGpRSE.mjs.map +1 -0
  341. package/dist/backup-CZt5Mzwx.mjs +246 -0
  342. package/dist/backup-CZt5Mzwx.mjs.map +1 -0
  343. package/dist/block-types-DHnkzE6u.mjs +132 -0
  344. package/dist/block-types-DHnkzE6u.mjs.map +1 -0
  345. package/dist/block-values-C4N_F2-G.mjs +175 -0
  346. package/dist/block-values-C4N_F2-G.mjs.map +1 -0
  347. package/dist/byline-BmVKOQ8l.mjs +909 -0
  348. package/dist/byline-BmVKOQ8l.mjs.map +1 -0
  349. package/dist/byline-fields-B8SDs3M_.mjs +123 -0
  350. package/dist/byline-fields-B8SDs3M_.mjs.map +1 -0
  351. package/dist/byline-fields-Bze3ZdAw.mjs +280 -0
  352. package/dist/byline-fields-Bze3ZdAw.mjs.map +1 -0
  353. package/dist/bylines-CHhR28r9.mjs +150 -0
  354. package/dist/bylines-CHhR28r9.mjs.map +1 -0
  355. package/dist/bylines-DZS4OflA.mjs +234 -0
  356. package/dist/bylines-DZS4OflA.mjs.map +1 -0
  357. package/dist/cache-x0z8t_m9.mjs +133 -0
  358. package/dist/cache-x0z8t_m9.mjs.map +1 -0
  359. package/dist/canonical-BUcKRYpG.mjs +174 -0
  360. package/dist/canonical-BUcKRYpG.mjs.map +1 -0
  361. package/dist/challenge-store-BHgdPVze.mjs +51 -0
  362. package/dist/challenge-store-BHgdPVze.mjs.map +1 -0
  363. package/dist/checksum-BYR5i7qe.mjs +162 -0
  364. package/dist/checksum-BYR5i7qe.mjs.map +1 -0
  365. package/dist/chunks-Dr5Vr0zA.mjs +25 -0
  366. package/dist/chunks-Dr5Vr0zA.mjs.map +1 -0
  367. package/dist/cli/index.mjs +44 -42
  368. package/dist/cli/index.mjs.map +1 -1
  369. package/dist/client/cf-access.d.mts +1 -1
  370. package/dist/client/index.d.mts +107 -107
  371. package/dist/client/index.d.mts.map +1 -1
  372. package/dist/client/index.mjs +2 -2
  373. package/dist/client/index.mjs.map +1 -1
  374. package/dist/comment-CWla6OHV.mjs +325 -0
  375. package/dist/comment-CWla6OHV.mjs.map +1 -0
  376. package/dist/comment-reaction-RZrcs5cW.mjs +85 -0
  377. package/dist/comment-reaction-RZrcs5cW.mjs.map +1 -0
  378. package/dist/comments-BzmIKVb2.mjs +99 -0
  379. package/dist/comments-BzmIKVb2.mjs.map +1 -0
  380. package/dist/comments-Da_dI2O1.mjs +195 -0
  381. package/dist/comments-Da_dI2O1.mjs.map +1 -0
  382. package/dist/components-oFXumpf5.mjs +112 -0
  383. package/dist/components-oFXumpf5.mjs.map +1 -0
  384. package/dist/config--wamYxBW.d.mts +39 -0
  385. package/dist/config--wamYxBW.d.mts.map +1 -0
  386. package/dist/config-Bo4eOOdV.mjs +228 -0
  387. package/dist/config-Bo4eOOdV.mjs.map +1 -0
  388. package/dist/config-C4-UxIk7.d.mts +6790 -0
  389. package/dist/config-C4-UxIk7.d.mts.map +1 -0
  390. package/dist/connection-UpzYxtE2.mjs +36 -0
  391. package/dist/connection-UpzYxtE2.mjs.map +1 -0
  392. package/dist/content-CcHrqkgp.mjs +2072 -0
  393. package/dist/content-CcHrqkgp.mjs.map +1 -0
  394. package/dist/content-list-query-Bxxdd9fv.d.mts +26 -0
  395. package/dist/content-list-query-Bxxdd9fv.d.mts.map +1 -0
  396. package/dist/content-repair-havk1F0-.mjs +442 -0
  397. package/dist/content-repair-havk1F0-.mjs.map +1 -0
  398. package/dist/context-CvhgHgSH.mjs +2043 -0
  399. package/dist/context-CvhgHgSH.mjs.map +1 -0
  400. package/dist/credits-CygUrPOi.mjs +110 -0
  401. package/dist/credits-CygUrPOi.mjs.map +1 -0
  402. package/dist/cron-C6ytTOLw.mjs +306 -0
  403. package/dist/cron-C6ytTOLw.mjs.map +1 -0
  404. package/dist/dashboard-7_FYfafc.mjs +151 -0
  405. package/dist/dashboard-7_FYfafc.mjs.map +1 -0
  406. package/dist/db/index.d.mts +3 -3
  407. package/dist/db/index.mjs +1 -1
  408. package/dist/db/libsql-migrations.d.mts +1 -1
  409. package/dist/db/libsql-migrations.mjs +4 -4
  410. package/dist/db/libsql.d.mts +1 -1
  411. package/dist/db/postgres-migrations.d.mts +1 -1
  412. package/dist/db/postgres-migrations.mjs +4 -4
  413. package/dist/db/postgres.d.mts +1 -1
  414. package/dist/db/sqlite-migrations.d.mts +1 -1
  415. package/dist/db/sqlite-migrations.mjs +4 -4
  416. package/dist/db/sqlite.d.mts +1 -1
  417. package/dist/db/sqlite.mjs +1 -1
  418. package/dist/default-CHCUkV4Z.mjs +81 -0
  419. package/dist/default-CHCUkV4Z.mjs.map +1 -0
  420. package/dist/deferred-tasks-G0xhcJTl.d.mts +9 -0
  421. package/dist/deferred-tasks-G0xhcJTl.d.mts.map +1 -0
  422. package/dist/device-flow-CzDJmQ1q.mjs +521 -0
  423. package/dist/device-flow-CzDJmQ1q.mjs.map +1 -0
  424. package/dist/digest-xJmyPv2r.mjs +194 -0
  425. package/dist/digest-xJmyPv2r.mjs.map +1 -0
  426. package/dist/direct-executor-BXiYIVJ9.mjs +104 -0
  427. package/dist/direct-executor-BXiYIVJ9.mjs.map +1 -0
  428. package/dist/email-console-7ZPApLlm.mjs +50 -0
  429. package/dist/email-console-7ZPApLlm.mjs.map +1 -0
  430. package/dist/email-locale-DFdUA6UF.mjs +25 -0
  431. package/dist/email-locale-DFdUA6UF.mjs.map +1 -0
  432. package/dist/emdash-runtime-C4oFeVpN.mjs +4363 -0
  433. package/dist/emdash-runtime-C4oFeVpN.mjs.map +1 -0
  434. package/dist/entry-lock-B4n0HdQ_.mjs +163 -0
  435. package/dist/entry-lock-B4n0HdQ_.mjs.map +1 -0
  436. package/dist/entry-lock-BAAlKYrz.d.mts +4566 -0
  437. package/dist/entry-lock-BAAlKYrz.d.mts.map +1 -0
  438. package/dist/entry-lock-Cjz0h45X.mjs +1209 -0
  439. package/dist/entry-lock-Cjz0h45X.mjs.map +1 -0
  440. package/dist/env-types-4bkF6Bqg.mjs +38 -0
  441. package/dist/env-types-4bkF6Bqg.mjs.map +1 -0
  442. package/dist/error-DxgQdaZ_.mjs +90 -0
  443. package/dist/error-DxgQdaZ_.mjs.map +1 -0
  444. package/dist/errors-CjtE5aWF.mjs +120 -0
  445. package/dist/errors-CjtE5aWF.mjs.map +1 -0
  446. package/dist/errors-hskQ0C8G.mjs +479 -0
  447. package/dist/errors-hskQ0C8G.mjs.map +1 -0
  448. package/dist/escape-ESFhYzwG.mjs +9 -0
  449. package/dist/escape-ESFhYzwG.mjs.map +1 -0
  450. package/dist/fence-vc3aHgRA.mjs +162 -0
  451. package/dist/fence-vc3aHgRA.mjs.map +1 -0
  452. package/dist/field-defs-cache-zoow36nz.mjs +77 -0
  453. package/dist/field-defs-cache-zoow36nz.mjs.map +1 -0
  454. package/dist/field-map-JD1wG0Tq.mjs +83 -0
  455. package/dist/field-map-JD1wG0Tq.mjs.map +1 -0
  456. package/dist/fts-manager-WJCN8uU6.mjs +443 -0
  457. package/dist/fts-manager-WJCN8uU6.mjs.map +1 -0
  458. package/dist/gc-CsGZiKdH.mjs +75 -0
  459. package/dist/gc-CsGZiKdH.mjs.map +1 -0
  460. package/dist/hook-result-CXjtMk7Q.d.mts +31 -0
  461. package/dist/hook-result-CXjtMk7Q.d.mts.map +1 -0
  462. package/dist/hreflang-BAma7iRr.mjs +105 -0
  463. package/dist/hreflang-BAma7iRr.mjs.map +1 -0
  464. package/dist/hreflang-BsYo4x_M.d.mts +50 -0
  465. package/dist/hreflang-BsYo4x_M.d.mts.map +1 -0
  466. package/dist/http-route-dispatch-C8G7hAK6.mjs +342 -0
  467. package/dist/http-route-dispatch-C8G7hAK6.mjs.map +1 -0
  468. package/dist/identity-BwBKM1fH.mjs +35 -0
  469. package/dist/identity-BwBKM1fH.mjs.map +1 -0
  470. package/dist/import-DJ3Z2wxE.mjs +2021 -0
  471. package/dist/import-DJ3Z2wxE.mjs.map +1 -0
  472. package/dist/index-DYsn97dY.d.mts +623 -0
  473. package/dist/index-DYsn97dY.d.mts.map +1 -0
  474. package/dist/index.d.mts +24 -24
  475. package/dist/index.mjs +87 -87
  476. package/dist/install-finalization-DCFnFSHv.mjs +58 -0
  477. package/dist/install-finalization-DCFnFSHv.mjs.map +1 -0
  478. package/dist/keys-CGvAndSp.mjs +61 -0
  479. package/dist/keys-CGvAndSp.mjs.map +1 -0
  480. package/dist/kinds-DT1W4T4Y.mjs +974 -0
  481. package/dist/kinds-DT1W4T4Y.mjs.map +1 -0
  482. package/dist/lifecycle-BzglCSY0.mjs +25 -0
  483. package/dist/lifecycle-BzglCSY0.mjs.map +1 -0
  484. package/dist/load-DjUqmf3s.mjs +28 -0
  485. package/dist/load-DjUqmf3s.mjs.map +1 -0
  486. package/dist/loader-CetY659y.mjs +1355 -0
  487. package/dist/loader-CetY659y.mjs.map +1 -0
  488. package/dist/loops-DkT1zkPH.mjs +205 -0
  489. package/dist/loops-DkT1zkPH.mjs.map +1 -0
  490. package/dist/manifest-builder-BOFCd9rX.mjs +189 -0
  491. package/dist/manifest-builder-BOFCd9rX.mjs.map +1 -0
  492. package/dist/manifest-schema-BiFBPEsp.mjs +497 -0
  493. package/dist/manifest-schema-BiFBPEsp.mjs.map +1 -0
  494. package/dist/marketplace-CUlenvZm.mjs +257 -0
  495. package/dist/marketplace-CUlenvZm.mjs.map +1 -0
  496. package/dist/media/image-endpoint.d.mts +26 -2
  497. package/dist/media/image-endpoint.d.mts.map +1 -1
  498. package/dist/media/image-endpoint.mjs +73 -3
  499. package/dist/media/image-endpoint.mjs.map +1 -1
  500. package/dist/media/index.d.mts +1 -1
  501. package/dist/media/local-runtime.d.mts +14 -14
  502. package/dist/media/local-runtime.mjs +4 -4
  503. package/dist/media-CRKsKlfK.mjs +416 -0
  504. package/dist/media-CRKsKlfK.mjs.map +1 -0
  505. package/dist/media-C_z7sRuC.mjs +294 -0
  506. package/dist/media-C_z7sRuC.mjs.map +1 -0
  507. package/dist/media-IT8hQleU.mjs +373 -0
  508. package/dist/media-IT8hQleU.mjs.map +1 -0
  509. package/dist/media-allowlist-Ct6wvnT2.mjs +45 -0
  510. package/dist/media-allowlist-Ct6wvnT2.mjs.map +1 -0
  511. package/dist/media-folders-DtMt-vAA.mjs +210 -0
  512. package/dist/media-folders-DtMt-vAA.mjs.map +1 -0
  513. package/dist/media-url-BpXLqCmf.mjs +43 -0
  514. package/dist/media-url-BpXLqCmf.mjs.map +1 -0
  515. package/dist/media-usage-DEPHZZ9X.mjs +282 -0
  516. package/dist/media-usage-DEPHZZ9X.mjs.map +1 -0
  517. package/dist/media-usage-activation-V2Siabtw.mjs +78 -0
  518. package/dist/media-usage-activation-V2Siabtw.mjs.map +1 -0
  519. package/dist/media-usage-work-Cv1OE59F.mjs +151 -0
  520. package/dist/media-usage-work-Cv1OE59F.mjs.map +1 -0
  521. package/dist/media-usage-work-cgDYGvrt.mjs +1015 -0
  522. package/dist/media-usage-work-cgDYGvrt.mjs.map +1 -0
  523. package/dist/menus-CvVYfsuk.mjs +753 -0
  524. package/dist/menus-CvVYfsuk.mjs.map +1 -0
  525. package/dist/menus-D1HC8npj.mjs +92 -0
  526. package/dist/menus-D1HC8npj.mjs.map +1 -0
  527. package/dist/menus-DL8IPIcm.mjs +3721 -0
  528. package/dist/menus-DL8IPIcm.mjs.map +1 -0
  529. package/dist/migrations/index.d.mts +1 -1
  530. package/dist/migrations/index.mjs +3 -3
  531. package/dist/mode-eieqAWLe.mjs +23 -0
  532. package/dist/mode-eieqAWLe.mjs.map +1 -0
  533. package/dist/node-sqlite-compat-VuyzJw1b.mjs +63 -0
  534. package/dist/node-sqlite-compat-VuyzJw1b.mjs.map +1 -0
  535. package/dist/oauth-authorization-B6ZJbMd2.mjs +274 -0
  536. package/dist/oauth-authorization-B6ZJbMd2.mjs.map +1 -0
  537. package/dist/oauth-clients-DVjRc9v3.mjs +266 -0
  538. package/dist/oauth-clients-DVjRc9v3.mjs.map +1 -0
  539. package/dist/oauth-state-store-CnmYYsVQ.mjs +50 -0
  540. package/dist/oauth-state-store-CnmYYsVQ.mjs.map +1 -0
  541. package/dist/oauth-user-lookup-Dz1_R5vT.mjs +26 -0
  542. package/dist/oauth-user-lookup-Dz1_R5vT.mjs.map +1 -0
  543. package/dist/object-cache/memory.d.mts +1 -1
  544. package/dist/options-BR9XZl7h.d.mts +81 -0
  545. package/dist/options-BR9XZl7h.d.mts.map +1 -0
  546. package/dist/ownership-COPyVysP.mjs +12 -0
  547. package/dist/ownership-COPyVysP.mjs.map +1 -0
  548. package/dist/page/index.d.mts +2 -2
  549. package/dist/page/index.mjs +3 -3
  550. package/dist/parse-BOGhrwSq.d.mts +174 -0
  551. package/dist/parse-BOGhrwSq.d.mts.map +1 -0
  552. package/dist/parse-Cn5aSk1N.mjs +81 -0
  553. package/dist/parse-Cn5aSk1N.mjs.map +1 -0
  554. package/dist/passkey-config-mMFRQUCj.mjs +46 -0
  555. package/dist/passkey-config-mMFRQUCj.mjs.map +1 -0
  556. package/dist/paths-BmcAdBo9.mjs +77 -0
  557. package/dist/paths-BmcAdBo9.mjs.map +1 -0
  558. package/dist/patterns-CMNnYCgf.mjs +159 -0
  559. package/dist/patterns-CMNnYCgf.mjs.map +1 -0
  560. package/dist/placeholder-nOep3_Gn.d.mts +306 -0
  561. package/dist/placeholder-nOep3_Gn.d.mts.map +1 -0
  562. package/dist/plan-CDY4K8CH.mjs +135 -0
  563. package/dist/plan-CDY4K8CH.mjs.map +1 -0
  564. package/dist/plugin-test-runtime.d.mts +14 -14
  565. package/dist/plugin-test-runtime.d.mts.map +1 -1
  566. package/dist/plugin-test-runtime.mjs +100 -100
  567. package/dist/plugin-types.d.mts +2 -2
  568. package/dist/plugin-utils.d.mts +12 -12
  569. package/dist/plugin-utils.mjs +1 -1
  570. package/dist/plugin-utils.mjs.map +1 -1
  571. package/dist/plugins/adapt-sandbox-entry.d.mts +12 -12
  572. package/dist/plugins/adapt-sandbox-entry.mjs +3 -3
  573. package/dist/plugins/host.d.mts +5 -5
  574. package/dist/plugins/host.mjs +35 -35
  575. package/dist/plugins-DFBpfbO3.mjs +261 -0
  576. package/dist/plugins-DFBpfbO3.mjs.map +1 -0
  577. package/dist/policy-B_2qnHSy.mjs +45 -0
  578. package/dist/policy-B_2qnHSy.mjs.map +1 -0
  579. package/dist/portable-text-Dc2YAusw.mjs +307 -0
  580. package/dist/portable-text-Dc2YAusw.mjs.map +1 -0
  581. package/dist/preview-BtzikJ9O.mjs +107 -0
  582. package/dist/preview-BtzikJ9O.mjs.map +1 -0
  583. package/dist/protocol-M268ox8L.d.mts +61 -0
  584. package/dist/protocol-M268ox8L.d.mts.map +1 -0
  585. package/dist/public-submission-BQZavgZU.mjs +251 -0
  586. package/dist/public-submission-BQZavgZU.mjs.map +1 -0
  587. package/dist/public-url-uT1Ok2Tu.mjs +101 -0
  588. package/dist/public-url-uT1Ok2Tu.mjs.map +1 -0
  589. package/dist/query-BGG3sDEd.mjs +1127 -0
  590. package/dist/query-BGG3sDEd.mjs.map +1 -0
  591. package/dist/query-C_CWlifp.mjs +41 -0
  592. package/dist/query-C_CWlifp.mjs.map +1 -0
  593. package/dist/range-CXK_kDbI.mjs +51 -0
  594. package/dist/range-CXK_kDbI.mjs.map +1 -0
  595. package/dist/rate-limit-Dvamvay-.mjs +127 -0
  596. package/dist/rate-limit-Dvamvay-.mjs.map +1 -0
  597. package/dist/receipt-BmQGzquP.mjs +43 -0
  598. package/dist/receipt-BmQGzquP.mjs.map +1 -0
  599. package/dist/redirect-B39kTQ_0.mjs +423 -0
  600. package/dist/redirect-B39kTQ_0.mjs.map +1 -0
  601. package/dist/redirect-BguJ00Pv.mjs +19 -0
  602. package/dist/redirect-BguJ00Pv.mjs.map +1 -0
  603. package/dist/redirects-C8G4BsfP.mjs +446 -0
  604. package/dist/redirects-C8G4BsfP.mjs.map +1 -0
  605. package/dist/redirects-DFT7Wr-e.mjs +148 -0
  606. package/dist/redirects-DFT7Wr-e.mjs.map +1 -0
  607. package/dist/registry/testing.mjs +3 -3
  608. package/dist/registry-DeZ27gVi.mjs +8374 -0
  609. package/dist/registry-DeZ27gVi.mjs.map +1 -0
  610. package/dist/relations-DBB1bRJW.mjs +776 -0
  611. package/dist/relations-DBB1bRJW.mjs.map +1 -0
  612. package/dist/request-context.d.mts +1 -1
  613. package/dist/request-meta-BSvkhIBX.mjs +141 -0
  614. package/dist/request-meta-BSvkhIBX.mjs.map +1 -0
  615. package/dist/resolve-BxH64HN9.mjs +100 -0
  616. package/dist/resolve-BxH64HN9.mjs.map +1 -0
  617. package/dist/route-wire-CwbWB_6O.mjs +197 -0
  618. package/dist/route-wire-CwbWB_6O.mjs.map +1 -0
  619. package/dist/routes-BfIxc7ft.mjs +272 -0
  620. package/dist/routes-BfIxc7ft.mjs.map +1 -0
  621. package/dist/runner-DkeafPBA.d.mts +68 -0
  622. package/dist/runner-DkeafPBA.d.mts.map +1 -0
  623. package/dist/runner-wqt4BrIW.mjs +6383 -0
  624. package/dist/runner-wqt4BrIW.mjs.map +1 -0
  625. package/dist/runtime.d.mts +13 -13
  626. package/dist/runtime.mjs +1 -1
  627. package/dist/schema/project-env-types.mjs +29 -29
  628. package/dist/schema-BXIW-JHi.mjs +815 -0
  629. package/dist/schema-BXIW-JHi.mjs.map +1 -0
  630. package/dist/schema-I74JwYte.mjs +13 -0
  631. package/dist/schema-I74JwYte.mjs.map +1 -0
  632. package/dist/scopes-RWZ5ft_Z.mjs +34 -0
  633. package/dist/scopes-RWZ5ft_Z.mjs.map +1 -0
  634. package/dist/search-DxwagyWS.mjs +450 -0
  635. package/dist/search-DxwagyWS.mjs.map +1 -0
  636. package/dist/sections-Ccq9ZgyD.mjs +346 -0
  637. package/dist/sections-Ccq9ZgyD.mjs.map +1 -0
  638. package/dist/seed/index.d.mts +2 -2
  639. package/dist/seed/index.mjs +27 -27
  640. package/dist/seo/index.d.mts +3 -3
  641. package/dist/seo/index.mjs +14 -14
  642. package/dist/seo-CCnfPWAQ.mjs +133 -0
  643. package/dist/seo-CCnfPWAQ.mjs.map +1 -0
  644. package/dist/seo-QCtJ1jjV.mjs +188 -0
  645. package/dist/seo-QCtJ1jjV.mjs.map +1 -0
  646. package/dist/service-DX84s2rw.mjs +150 -0
  647. package/dist/service-DX84s2rw.mjs.map +1 -0
  648. package/dist/session-user-1dtJc2zv.mjs +61 -0
  649. package/dist/session-user-1dtJc2zv.mjs.map +1 -0
  650. package/dist/settings-B1jOxAIl.mjs +443 -0
  651. package/dist/settings-B1jOxAIl.mjs.map +1 -0
  652. package/dist/settings-Bc1IBl1t.mjs +66 -0
  653. package/dist/settings-Bc1IBl1t.mjs.map +1 -0
  654. package/dist/settings-GaZ5sVgg.mjs +73 -0
  655. package/dist/settings-GaZ5sVgg.mjs.map +1 -0
  656. package/dist/setup-complete-DidMAWJS.mjs +65 -0
  657. package/dist/setup-complete-DidMAWJS.mjs.map +1 -0
  658. package/dist/setup-nonce-DKl4S4c6.mjs +25 -0
  659. package/dist/setup-nonce-DKl4S4c6.mjs.map +1 -0
  660. package/dist/site-domain-CbI51Pc2.mjs +113 -0
  661. package/dist/site-domain-CbI51Pc2.mjs.map +1 -0
  662. package/dist/site-settings-CDdT4mVm.mjs +50 -0
  663. package/dist/site-settings-CDdT4mVm.mjs.map +1 -0
  664. package/dist/site-url-CrDZaAvo.mjs +45 -0
  665. package/dist/site-url-CrDZaAvo.mjs.map +1 -0
  666. package/dist/sitemap-name-W3BTor6X.mjs +26 -0
  667. package/dist/sitemap-name-W3BTor6X.mjs.map +1 -0
  668. package/dist/slug-BJhHKoOH.mjs +16 -0
  669. package/dist/slug-BJhHKoOH.mjs.map +1 -0
  670. package/dist/slugify-bu2-jKia.mjs +22 -0
  671. package/dist/slugify-bu2-jKia.mjs.map +1 -0
  672. package/dist/snapshot-BuI_2uDe.mjs +414 -0
  673. package/dist/snapshot-BuI_2uDe.mjs.map +1 -0
  674. package/dist/ssrf-LM_0wpGA.mjs +406 -0
  675. package/dist/ssrf-LM_0wpGA.mjs.map +1 -0
  676. package/dist/stage-DhzZuYaT.mjs +662 -0
  677. package/dist/stage-DhzZuYaT.mjs.map +1 -0
  678. package/dist/staged-DboEaWsV.mjs +686 -0
  679. package/dist/staged-DboEaWsV.mjs.map +1 -0
  680. package/dist/state-DCXDzjHq.mjs +178 -0
  681. package/dist/state-DCXDzjHq.mjs.map +1 -0
  682. package/dist/status-Dl85BK39.mjs +30 -0
  683. package/dist/status-Dl85BK39.mjs.map +1 -0
  684. package/dist/storage/local.d.mts +2 -2
  685. package/dist/storage/local.d.mts.map +1 -1
  686. package/dist/storage/local.mjs +11 -4
  687. package/dist/storage/local.mjs.map +1 -1
  688. package/dist/storage/s3.d.mts +4 -2
  689. package/dist/storage/s3.d.mts.map +1 -1
  690. package/dist/storage/s3.mjs +56 -9
  691. package/dist/storage/s3.mjs.map +1 -1
  692. package/dist/storage-query-BOBmeDMD.d.mts +1615 -0
  693. package/dist/storage-query-BOBmeDMD.d.mts.map +1 -0
  694. package/dist/tar-K40edFMt.mjs +449 -0
  695. package/dist/tar-K40edFMt.mjs.map +1 -0
  696. package/dist/target-BOighEY1.mjs +27 -0
  697. package/dist/target-BOighEY1.mjs.map +1 -0
  698. package/dist/taxonomies-DQSywBvX.mjs +697 -0
  699. package/dist/taxonomies-DQSywBvX.mjs.map +1 -0
  700. package/dist/taxonomies-Dj5eaobC.mjs +939 -0
  701. package/dist/taxonomies-Dj5eaobC.mjs.map +1 -0
  702. package/dist/taxonomy-QrNmTfIZ.mjs +550 -0
  703. package/dist/taxonomy-QrNmTfIZ.mjs.map +1 -0
  704. package/dist/tokens-j5L0as2H.mjs +171 -0
  705. package/dist/tokens-j5L0as2H.mjs.map +1 -0
  706. package/dist/transfer-CYEw8Tu4.mjs +8873 -0
  707. package/dist/transfer-CYEw8Tu4.mjs.map +1 -0
  708. package/dist/transfer-DDX10hkD.mjs +166 -0
  709. package/dist/transfer-DDX10hkD.mjs.map +1 -0
  710. package/dist/transfer-download-BAqq6GJv.mjs +33 -0
  711. package/dist/transfer-download-BAqq6GJv.mjs.map +1 -0
  712. package/dist/transformations-De44wqV_.mjs +196 -0
  713. package/dist/transformations-De44wqV_.mjs.map +1 -0
  714. package/dist/transport-1QjUhCRO.d.mts +42 -0
  715. package/dist/transport-1QjUhCRO.d.mts.map +1 -0
  716. package/dist/transport-Ds5pVX7p.mjs +136 -0
  717. package/dist/transport-Ds5pVX7p.mjs.map +1 -0
  718. package/dist/trusted-proxy-d4Tk6biT.mjs +51 -0
  719. package/dist/trusted-proxy-d4Tk6biT.mjs.map +1 -0
  720. package/dist/turnstile-DaFLtyrs.mjs +58 -0
  721. package/dist/turnstile-DaFLtyrs.mjs.map +1 -0
  722. package/dist/types-B4-1P2DK.d.mts +227 -0
  723. package/dist/types-B4-1P2DK.d.mts.map +1 -0
  724. package/dist/types-BKXA0f-c.mjs +16 -0
  725. package/dist/types-BKXA0f-c.mjs.map +1 -0
  726. package/dist/types-BiHcpUoO.d.mts +374 -0
  727. package/dist/types-BiHcpUoO.d.mts.map +1 -0
  728. package/dist/types-BihhvkyN.d.mts +85 -0
  729. package/dist/types-BihhvkyN.d.mts.map +1 -0
  730. package/dist/types-Bq9Wohd7.d.mts +363 -0
  731. package/dist/types-Bq9Wohd7.d.mts.map +1 -0
  732. package/dist/types-C-Xp0CcN.mjs.map +1 -1
  733. package/dist/types-C4P7F1Vq.d.mts +1741 -0
  734. package/dist/types-C4P7F1Vq.d.mts.map +1 -0
  735. package/dist/types-CGaqwHw4.mjs +37 -0
  736. package/dist/types-CGaqwHw4.mjs.map +1 -0
  737. package/dist/types-D4ECCE4X.mjs +77 -0
  738. package/dist/types-D4ECCE4X.mjs.map +1 -0
  739. package/dist/types-DcRJp0vS.d.mts +125 -0
  740. package/dist/types-DcRJp0vS.d.mts.map +1 -0
  741. package/dist/types-Ff85fTzU.d.mts +289 -0
  742. package/dist/types-Ff85fTzU.d.mts.map +1 -0
  743. package/dist/types-UKr5Sf4y.d.mts +916 -0
  744. package/dist/types-UKr5Sf4y.d.mts.map +1 -0
  745. package/dist/types-YpN8hZW7.d.mts +204 -0
  746. package/dist/types-YpN8hZW7.d.mts.map +1 -0
  747. package/dist/update-check-DrlsK-tt.mjs +161 -0
  748. package/dist/update-check-DrlsK-tt.mjs.map +1 -0
  749. package/dist/upload-attempts-D8CPPvRU.mjs +32 -0
  750. package/dist/upload-attempts-D8CPPvRU.mjs.map +1 -0
  751. package/dist/url-pattern-Di4Nn3vP.mjs +41 -0
  752. package/dist/url-pattern-Di4Nn3vP.mjs.map +1 -0
  753. package/dist/user-B-ZdGjhI.mjs +171 -0
  754. package/dist/user-B-ZdGjhI.mjs.map +1 -0
  755. package/dist/utils-D7wL3r6-.mjs +437 -0
  756. package/dist/utils-D7wL3r6-.mjs.map +1 -0
  757. package/dist/validate-BSZbSUDk.mjs +524 -0
  758. package/dist/validate-BSZbSUDk.mjs.map +1 -0
  759. package/dist/validate-Dfv0DpZi.d.mts +468 -0
  760. package/dist/validate-Dfv0DpZi.d.mts.map +1 -0
  761. package/dist/validation-DRyC_Vm5.mjs +219 -0
  762. package/dist/validation-DRyC_Vm5.mjs.map +1 -0
  763. package/dist/version-C4kz0PcO.mjs +7 -0
  764. package/dist/version-C4kz0PcO.mjs.map +1 -0
  765. package/dist/version-jhs2BRtl.mjs +9 -0
  766. package/dist/version-jhs2BRtl.mjs.map +1 -0
  767. package/dist/video-DReZ48Un.mjs +54 -0
  768. package/dist/video-DReZ48Un.mjs.map +1 -0
  769. package/dist/virtual-modules-D0e6VbEv.mjs +516 -0
  770. package/dist/virtual-modules-D0e6VbEv.mjs.map +1 -0
  771. package/dist/widgets-BkcMzKct.mjs +121 -0
  772. package/dist/widgets-BkcMzKct.mjs.map +1 -0
  773. package/dist/wxr-taxonomies-BxI0CbTg.mjs +453 -0
  774. package/dist/wxr-taxonomies-BxI0CbTg.mjs.map +1 -0
  775. package/dist/wxr-taxonomies-Dad33GJi.d.mts +34 -0
  776. package/dist/wxr-taxonomies-Dad33GJi.d.mts.map +1 -0
  777. package/package.json +13 -10
  778. package/src/api/errors.ts +9 -0
  779. package/src/api/handlers/api-tokens.ts +12 -6
  780. package/src/api/handlers/content.ts +57 -8
  781. package/src/api/handlers/domain-move-notice.ts +94 -0
  782. package/src/api/handlers/index.ts +2 -0
  783. package/src/api/handlers/manifest.ts +5 -0
  784. package/src/api/handlers/media-usage.ts +2 -1
  785. package/src/api/handlers/media.ts +1 -0
  786. package/src/api/handlers/seo.ts +155 -59
  787. package/src/api/handlers/settings.ts +31 -1
  788. package/src/api/handlers/site-domain.ts +143 -0
  789. package/src/api/openapi/document.ts +2 -2
  790. package/src/api/public-url.ts +1 -1
  791. package/src/api/schemas/content.ts +20 -0
  792. package/src/api/schemas/media-usage.ts +7 -1
  793. package/src/api/schemas/media.ts +12 -0
  794. package/src/api/site-url.ts +53 -5
  795. package/src/api/types.ts +2 -0
  796. package/src/astro/image-endpoint.ts +46 -4
  797. package/src/astro/integration/admin-locales.ts +168 -0
  798. package/src/astro/integration/dev-env.ts +84 -0
  799. package/src/astro/integration/index.ts +49 -9
  800. package/src/astro/integration/routes.ts +20 -0
  801. package/src/astro/integration/runtime.ts +15 -0
  802. package/src/astro/integration/vite-config.ts +18 -1
  803. package/src/astro/middleware/auth.ts +16 -3
  804. package/src/astro/middleware/csp.ts +1 -0
  805. package/src/astro/middleware/redirect.ts +27 -12
  806. package/src/astro/middleware/request-context.ts +12 -6
  807. package/src/astro/middleware.ts +53 -14
  808. package/src/astro/routes/api/auth/handover.ts +58 -0
  809. package/src/astro/routes/api/auth/magic-link/verify.ts +11 -3
  810. package/src/astro/routes/api/auth/passkey/options.ts +10 -2
  811. package/src/astro/routes/api/import/wordpress/execute.ts +19 -0
  812. package/src/astro/routes/api/import/wordpress/rewrite-url-helpers.ts +80 -42
  813. package/src/astro/routes/api/import/wordpress-plugin/execute.ts +15 -0
  814. package/src/astro/routes/api/manifest.ts +10 -0
  815. package/src/astro/routes/api/media/[id]/confirm.ts +19 -0
  816. package/src/astro/routes/api/media/file/[...key].ts +60 -12
  817. package/src/astro/routes/api/media/upload-url.ts +28 -4
  818. package/src/astro/routes/api/media.ts +15 -0
  819. package/src/astro/routes/api/schema/index.ts +1 -1
  820. package/src/astro/routes/api/settings/domain-notify.ts +76 -0
  821. package/src/astro/routes/api/settings/domain.ts +63 -0
  822. package/src/astro/routes/api/setup/index.ts +7 -0
  823. package/src/astro/routes/api/site/domain-proof.ts +28 -0
  824. package/src/astro/routes/sitemap-[collection].xml.ts +31 -8
  825. package/src/astro/routes/sitemap.xml.ts +12 -10
  826. package/src/astro/types.ts +13 -1
  827. package/src/auth/rate-limit.ts +18 -13
  828. package/src/auth/types.ts +7 -0
  829. package/src/aws-sdk.d.ts +2 -1
  830. package/src/cleanup.ts +26 -0
  831. package/src/cli/commands/export-seed.ts +2 -0
  832. package/src/cli/commands/seed.ts +5 -4
  833. package/src/client/index.ts +6 -1
  834. package/src/comments/public-submission.ts +15 -8
  835. package/src/components/CommentForm.astro +48 -8
  836. package/src/components/Comments.astro +50 -28
  837. package/src/components/EmDashImage.astro +6 -4
  838. package/src/components/Gallery.astro +4 -3
  839. package/src/components/Image.astro +4 -3
  840. package/src/components/InlinePortableTextEditor.tsx +148 -26
  841. package/src/components/Video.astro +100 -0
  842. package/src/components/index.ts +4 -1
  843. package/src/components/inline-code-block.tsx +8 -0
  844. package/src/components/webmcp-search.ts +15 -19
  845. package/src/components/widgets/RecentPosts.astro +57 -17
  846. package/src/content/converters/mark-safety.ts +3 -3
  847. package/src/content/converters/portable-text-identity.ts +1 -0
  848. package/src/content/converters/portable-text-to-prosemirror.ts +7 -0
  849. package/src/content/converters/prosemirror-to-portable-text.ts +16 -0
  850. package/src/content/converters/types.ts +22 -0
  851. package/src/content/converters/video.ts +77 -0
  852. package/src/database/datetime-storage.ts +1 -1
  853. package/src/database/migrations/runner.ts +13 -1
  854. package/src/database/repositories/comment.ts +17 -3
  855. package/src/database/repositories/content.ts +22 -3
  856. package/src/database/repositories/plugin-storage.ts +28 -19
  857. package/src/database/repositories/redirect.ts +24 -2
  858. package/src/database/repositories/taxonomy.ts +61 -46
  859. package/src/database/repositories/types.ts +2 -0
  860. package/src/emdash-runtime.ts +217 -68
  861. package/src/import/sources/wordpress-plugin.ts +3 -2
  862. package/src/import/utils.ts +2 -3
  863. package/src/index.ts +3 -0
  864. package/src/loader.ts +134 -43
  865. package/src/media/image-endpoint.ts +101 -1
  866. package/src/media/responsive.ts +14 -7
  867. package/src/media/usage/extractor.ts +19 -2
  868. package/src/media/usage/types.ts +5 -1
  869. package/src/plugin-utils.ts +1 -1
  870. package/src/plugins/context.ts +3 -7
  871. package/src/plugins/hooks.ts +1 -1
  872. package/src/plugins/http-route-dispatch.ts +5 -1
  873. package/src/plugins/manifest-schema.ts +1 -0
  874. package/src/plugins/route-error.ts +14 -0
  875. package/src/plugins/routes.ts +2 -2
  876. package/src/plugins/state.ts +36 -0
  877. package/src/plugins/types.ts +6 -0
  878. package/src/query.ts +8 -0
  879. package/src/redirects/patterns.ts +26 -2
  880. package/src/schema/registry.ts +7 -4
  881. package/src/schema/slug.ts +19 -0
  882. package/src/search/text-extraction.ts +6 -1
  883. package/src/seed/validate.ts +31 -0
  884. package/src/seo/sitemap-name.ts +22 -0
  885. package/src/storage/index.ts +2 -0
  886. package/src/storage/local.ts +10 -2
  887. package/src/storage/range.ts +54 -0
  888. package/src/storage/s3.ts +52 -8
  889. package/src/storage/types.ts +30 -3
  890. package/src/ui.ts +1 -0
  891. package/src/utils/slugify.ts +6 -1
  892. package/src/visual-editing/toolbar.ts +80 -35
  893. package/src/widgets/components.ts +4 -0
  894. package/src/widgets/index.ts +74 -82
  895. package/src/widgets/recent-posts.ts +62 -0
  896. package/dist/action-token-AgOs1UWD.mjs +0 -26
  897. package/dist/action-token-AgOs1UWD.mjs.map +0 -1
  898. package/dist/adapters-DM1oyHIN.d.mts +0 -173
  899. package/dist/adapters-DM1oyHIN.d.mts.map +0 -1
  900. package/dist/allowed-origins-CFtudhyw.mjs +0 -116
  901. package/dist/allowed-origins-CFtudhyw.mjs.map +0 -1
  902. package/dist/api-CltsXhiX.mjs +0 -4980
  903. package/dist/api-CltsXhiX.mjs.map +0 -1
  904. package/dist/api-tokens-P3mAaQgr.mjs +0 -166
  905. package/dist/api-tokens-P3mAaQgr.mjs.map +0 -1
  906. package/dist/apply-Q7uvzBWW.mjs +0 -1680
  907. package/dist/apply-Q7uvzBWW.mjs.map +0 -1
  908. package/dist/approvals-DycwI6lZ.mjs +0 -460
  909. package/dist/approvals-DycwI6lZ.mjs.map +0 -1
  910. package/dist/artifact-fetch-CWxyELVI.mjs +0 -659
  911. package/dist/artifact-fetch-CWxyELVI.mjs.map +0 -1
  912. package/dist/artifacts-UzWbysb8.mjs +0 -307
  913. package/dist/artifacts-UzWbysb8.mjs.map +0 -1
  914. package/dist/authoritative-records-dSvXCfzb.mjs +0 -5172
  915. package/dist/authoritative-records-dSvXCfzb.mjs.map +0 -1
  916. package/dist/authorize-DeWfk--K.mjs +0 -49
  917. package/dist/authorize-DeWfk--K.mjs.map +0 -1
  918. package/dist/backup-CFnbdTSJ.mjs +0 -246
  919. package/dist/backup-CFnbdTSJ.mjs.map +0 -1
  920. package/dist/block-types-C0YFSfR7.mjs +0 -132
  921. package/dist/block-types-C0YFSfR7.mjs.map +0 -1
  922. package/dist/block-values-H4E0XwE8.mjs +0 -175
  923. package/dist/block-values-H4E0XwE8.mjs.map +0 -1
  924. package/dist/byline-BhVslYLz.mjs +0 -909
  925. package/dist/byline-BhVslYLz.mjs.map +0 -1
  926. package/dist/byline-fields-DHJs0Mja.mjs +0 -280
  927. package/dist/byline-fields-DHJs0Mja.mjs.map +0 -1
  928. package/dist/byline-fields-xdxE9kxZ.mjs +0 -123
  929. package/dist/byline-fields-xdxE9kxZ.mjs.map +0 -1
  930. package/dist/bylines-B_nN9liM.mjs +0 -234
  931. package/dist/bylines-B_nN9liM.mjs.map +0 -1
  932. package/dist/bylines-C71YACkL.mjs +0 -150
  933. package/dist/bylines-C71YACkL.mjs.map +0 -1
  934. package/dist/cache-aTYCL9nK.mjs +0 -133
  935. package/dist/cache-aTYCL9nK.mjs.map +0 -1
  936. package/dist/canonical-Y1dpjCnp.mjs +0 -174
  937. package/dist/canonical-Y1dpjCnp.mjs.map +0 -1
  938. package/dist/challenge-store-CxZxPqaw.mjs +0 -51
  939. package/dist/challenge-store-CxZxPqaw.mjs.map +0 -1
  940. package/dist/checksum-DtH6m5uk.mjs +0 -162
  941. package/dist/checksum-DtH6m5uk.mjs.map +0 -1
  942. package/dist/chunks-zlGB5IQP.mjs +0 -25
  943. package/dist/chunks-zlGB5IQP.mjs.map +0 -1
  944. package/dist/comment-Bu08Wvr3.mjs +0 -313
  945. package/dist/comment-Bu08Wvr3.mjs.map +0 -1
  946. package/dist/comment-reaction-B8SfT-yM.mjs +0 -85
  947. package/dist/comment-reaction-B8SfT-yM.mjs.map +0 -1
  948. package/dist/comments-BRtp992B.mjs +0 -99
  949. package/dist/comments-BRtp992B.mjs.map +0 -1
  950. package/dist/comments-DVUYqdyC.mjs +0 -195
  951. package/dist/comments-DVUYqdyC.mjs.map +0 -1
  952. package/dist/components-CQY-Sgm-.mjs +0 -108
  953. package/dist/components-CQY-Sgm-.mjs.map +0 -1
  954. package/dist/config-B-uePMLj.d.mts +0 -39
  955. package/dist/config-B-uePMLj.d.mts.map +0 -1
  956. package/dist/config-B6BDSsz2.d.mts +0 -6712
  957. package/dist/config-B6BDSsz2.d.mts.map +0 -1
  958. package/dist/config-BsJHiQxC.mjs +0 -228
  959. package/dist/config-BsJHiQxC.mjs.map +0 -1
  960. package/dist/connection-B9pIasFd.mjs +0 -36
  961. package/dist/connection-B9pIasFd.mjs.map +0 -1
  962. package/dist/content-Dji9vEiW.mjs +0 -2063
  963. package/dist/content-Dji9vEiW.mjs.map +0 -1
  964. package/dist/content-list-query-DiNwyKtd.d.mts +0 -26
  965. package/dist/content-list-query-DiNwyKtd.d.mts.map +0 -1
  966. package/dist/content-repair-B7wnbzhN.mjs +0 -442
  967. package/dist/content-repair-B7wnbzhN.mjs.map +0 -1
  968. package/dist/context-Ctcxc8Ia.mjs +0 -2026
  969. package/dist/context-Ctcxc8Ia.mjs.map +0 -1
  970. package/dist/credits-Bu7dlobo.mjs +0 -110
  971. package/dist/credits-Bu7dlobo.mjs.map +0 -1
  972. package/dist/cron-xe5XKqA-.mjs +0 -306
  973. package/dist/cron-xe5XKqA-.mjs.map +0 -1
  974. package/dist/dashboard-B5hVHOtf.mjs +0 -151
  975. package/dist/dashboard-B5hVHOtf.mjs.map +0 -1
  976. package/dist/default-DaoYyFRS.mjs +0 -81
  977. package/dist/default-DaoYyFRS.mjs.map +0 -1
  978. package/dist/deferred-tasks-BYcDx2o_.d.mts +0 -9
  979. package/dist/deferred-tasks-BYcDx2o_.d.mts.map +0 -1
  980. package/dist/device-flow-Ma5P5d2e.mjs +0 -521
  981. package/dist/device-flow-Ma5P5d2e.mjs.map +0 -1
  982. package/dist/digest-xIpR3o64.mjs +0 -194
  983. package/dist/digest-xIpR3o64.mjs.map +0 -1
  984. package/dist/direct-executor-DMWwCey3.mjs +0 -104
  985. package/dist/direct-executor-DMWwCey3.mjs.map +0 -1
  986. package/dist/email-console-DmqVF5J_.mjs +0 -50
  987. package/dist/email-console-DmqVF5J_.mjs.map +0 -1
  988. package/dist/email-locale-Cc5YSXfJ.mjs +0 -25
  989. package/dist/email-locale-Cc5YSXfJ.mjs.map +0 -1
  990. package/dist/emdash-runtime-BlybX9Ui.mjs +0 -4249
  991. package/dist/emdash-runtime-BlybX9Ui.mjs.map +0 -1
  992. package/dist/entry-lock-De1L8qUQ.mjs +0 -163
  993. package/dist/entry-lock-De1L8qUQ.mjs.map +0 -1
  994. package/dist/entry-lock-esmMbgI9.d.mts +0 -4551
  995. package/dist/entry-lock-esmMbgI9.d.mts.map +0 -1
  996. package/dist/entry-lock-sxz2PGAT.mjs +0 -1197
  997. package/dist/entry-lock-sxz2PGAT.mjs.map +0 -1
  998. package/dist/env-types-BkjCtN13.mjs +0 -38
  999. package/dist/env-types-BkjCtN13.mjs.map +0 -1
  1000. package/dist/error-B0rgPgsQ.mjs +0 -90
  1001. package/dist/error-B0rgPgsQ.mjs.map +0 -1
  1002. package/dist/errors-CuHQRiBW.mjs +0 -120
  1003. package/dist/errors-CuHQRiBW.mjs.map +0 -1
  1004. package/dist/errors-DTE6C3K_.mjs +0 -470
  1005. package/dist/errors-DTE6C3K_.mjs.map +0 -1
  1006. package/dist/escape-nJW7dR0s.mjs +0 -9
  1007. package/dist/escape-nJW7dR0s.mjs.map +0 -1
  1008. package/dist/fence-CGw57S4v.mjs +0 -162
  1009. package/dist/fence-CGw57S4v.mjs.map +0 -1
  1010. package/dist/field-defs-cache-Bw8w499w.mjs +0 -77
  1011. package/dist/field-defs-cache-Bw8w499w.mjs.map +0 -1
  1012. package/dist/field-map-hn-D-SyH.mjs +0 -83
  1013. package/dist/field-map-hn-D-SyH.mjs.map +0 -1
  1014. package/dist/fts-manager-DacCYIe4.mjs +0 -443
  1015. package/dist/fts-manager-DacCYIe4.mjs.map +0 -1
  1016. package/dist/gc-BBplHrv6.mjs +0 -75
  1017. package/dist/gc-BBplHrv6.mjs.map +0 -1
  1018. package/dist/hook-result-DSRRxu_-.d.mts +0 -31
  1019. package/dist/hook-result-DSRRxu_-.d.mts.map +0 -1
  1020. package/dist/hreflang-CKPunvU0.mjs +0 -105
  1021. package/dist/hreflang-CKPunvU0.mjs.map +0 -1
  1022. package/dist/hreflang-egumj6WF.d.mts +0 -50
  1023. package/dist/hreflang-egumj6WF.d.mts.map +0 -1
  1024. package/dist/http-route-dispatch-DjNFZcJ2.mjs +0 -339
  1025. package/dist/http-route-dispatch-DjNFZcJ2.mjs.map +0 -1
  1026. package/dist/identity-Dfrx2_Bc.mjs +0 -35
  1027. package/dist/identity-Dfrx2_Bc.mjs.map +0 -1
  1028. package/dist/import-ROBvhbNc.mjs +0 -2021
  1029. package/dist/import-ROBvhbNc.mjs.map +0 -1
  1030. package/dist/index-B4sIdCAT.d.mts +0 -623
  1031. package/dist/index-B4sIdCAT.d.mts.map +0 -1
  1032. package/dist/install-finalization-CPM7Gged.mjs +0 -58
  1033. package/dist/install-finalization-CPM7Gged.mjs.map +0 -1
  1034. package/dist/keys-DxqxcAD4.mjs +0 -61
  1035. package/dist/keys-DxqxcAD4.mjs.map +0 -1
  1036. package/dist/kinds-BQl5gN6e.mjs +0 -974
  1037. package/dist/kinds-BQl5gN6e.mjs.map +0 -1
  1038. package/dist/lifecycle-DGQI7itS.mjs +0 -25
  1039. package/dist/lifecycle-DGQI7itS.mjs.map +0 -1
  1040. package/dist/load-DMxRl4VK.mjs +0 -28
  1041. package/dist/load-DMxRl4VK.mjs.map +0 -1
  1042. package/dist/loader-1DMiOq5s.mjs +0 -1303
  1043. package/dist/loader-1DMiOq5s.mjs.map +0 -1
  1044. package/dist/loops-Dn1i16FP.mjs +0 -205
  1045. package/dist/loops-Dn1i16FP.mjs.map +0 -1
  1046. package/dist/manifest-builder-CTw4FmZk.mjs +0 -189
  1047. package/dist/manifest-builder-CTw4FmZk.mjs.map +0 -1
  1048. package/dist/manifest-schema-gy37bD_D.mjs +0 -496
  1049. package/dist/manifest-schema-gy37bD_D.mjs.map +0 -1
  1050. package/dist/marketplace-tHWSsCUo.mjs +0 -257
  1051. package/dist/marketplace-tHWSsCUo.mjs.map +0 -1
  1052. package/dist/media-Bw-Q65ve.mjs +0 -294
  1053. package/dist/media-Bw-Q65ve.mjs.map +0 -1
  1054. package/dist/media-BzUDu7nl.mjs +0 -373
  1055. package/dist/media-BzUDu7nl.mjs.map +0 -1
  1056. package/dist/media-aahnKHze.mjs +0 -408
  1057. package/dist/media-aahnKHze.mjs.map +0 -1
  1058. package/dist/media-allowlist-RMrjo8TU.mjs +0 -45
  1059. package/dist/media-allowlist-RMrjo8TU.mjs.map +0 -1
  1060. package/dist/media-folders-kabR1oJf.mjs +0 -210
  1061. package/dist/media-folders-kabR1oJf.mjs.map +0 -1
  1062. package/dist/media-url-DloW2xrP.mjs +0 -43
  1063. package/dist/media-url-DloW2xrP.mjs.map +0 -1
  1064. package/dist/media-usage-CHHpV7ee.mjs +0 -282
  1065. package/dist/media-usage-CHHpV7ee.mjs.map +0 -1
  1066. package/dist/media-usage-activation-BinYqC_r.mjs +0 -78
  1067. package/dist/media-usage-activation-BinYqC_r.mjs.map +0 -1
  1068. package/dist/media-usage-work-C734aq6s.mjs +0 -1015
  1069. package/dist/media-usage-work-C734aq6s.mjs.map +0 -1
  1070. package/dist/media-usage-work-lxvV0-UO.mjs +0 -151
  1071. package/dist/media-usage-work-lxvV0-UO.mjs.map +0 -1
  1072. package/dist/menus-6RHNq4ZK.mjs +0 -753
  1073. package/dist/menus-6RHNq4ZK.mjs.map +0 -1
  1074. package/dist/menus-AuCTaO9W.mjs +0 -3704
  1075. package/dist/menus-AuCTaO9W.mjs.map +0 -1
  1076. package/dist/menus-BQKqf0Up.mjs +0 -92
  1077. package/dist/menus-BQKqf0Up.mjs.map +0 -1
  1078. package/dist/mode-nh0ppSX5.mjs +0 -23
  1079. package/dist/mode-nh0ppSX5.mjs.map +0 -1
  1080. package/dist/node-sqlite-compat-CDOEcc97.mjs +0 -63
  1081. package/dist/node-sqlite-compat-CDOEcc97.mjs.map +0 -1
  1082. package/dist/oauth-authorization-BtYQ80uU.mjs +0 -274
  1083. package/dist/oauth-authorization-BtYQ80uU.mjs.map +0 -1
  1084. package/dist/oauth-clients-C1S4NQHh.mjs +0 -266
  1085. package/dist/oauth-clients-C1S4NQHh.mjs.map +0 -1
  1086. package/dist/oauth-state-store-CpGi2FZH.mjs +0 -50
  1087. package/dist/oauth-state-store-CpGi2FZH.mjs.map +0 -1
  1088. package/dist/oauth-user-lookup-BNp1aFAr.mjs +0 -26
  1089. package/dist/oauth-user-lookup-BNp1aFAr.mjs.map +0 -1
  1090. package/dist/options-B41aLm1I.d.mts +0 -81
  1091. package/dist/options-B41aLm1I.d.mts.map +0 -1
  1092. package/dist/ownership-DoeAIuTg.mjs +0 -12
  1093. package/dist/ownership-DoeAIuTg.mjs.map +0 -1
  1094. package/dist/parse-CmFDTGzp.mjs +0 -81
  1095. package/dist/parse-CmFDTGzp.mjs.map +0 -1
  1096. package/dist/parse-QVS0t5oR.d.mts +0 -172
  1097. package/dist/parse-QVS0t5oR.d.mts.map +0 -1
  1098. package/dist/passkey-config-C-MxsV22.mjs +0 -46
  1099. package/dist/passkey-config-C-MxsV22.mjs.map +0 -1
  1100. package/dist/paths-kr8hAMMI.mjs +0 -77
  1101. package/dist/paths-kr8hAMMI.mjs.map +0 -1
  1102. package/dist/patterns-DyZJ67I7.mjs +0 -140
  1103. package/dist/patterns-DyZJ67I7.mjs.map +0 -1
  1104. package/dist/placeholder-Dn7MMdWr.d.mts +0 -306
  1105. package/dist/placeholder-Dn7MMdWr.d.mts.map +0 -1
  1106. package/dist/plan-CuQOeU9g.mjs +0 -135
  1107. package/dist/plan-CuQOeU9g.mjs.map +0 -1
  1108. package/dist/plugins-CGb-G98c.mjs +0 -261
  1109. package/dist/plugins-CGb-G98c.mjs.map +0 -1
  1110. package/dist/policy-C5wrDXYV.mjs +0 -45
  1111. package/dist/policy-C5wrDXYV.mjs.map +0 -1
  1112. package/dist/portable-text-BnRuiR1-.mjs +0 -307
  1113. package/dist/portable-text-BnRuiR1-.mjs.map +0 -1
  1114. package/dist/preview-xWNSR1Li.mjs +0 -107
  1115. package/dist/preview-xWNSR1Li.mjs.map +0 -1
  1116. package/dist/protocol-ClxN-m1e.d.mts +0 -61
  1117. package/dist/protocol-ClxN-m1e.d.mts.map +0 -1
  1118. package/dist/public-submission-CkmT2SKv.mjs +0 -250
  1119. package/dist/public-submission-CkmT2SKv.mjs.map +0 -1
  1120. package/dist/public-url-B5a0QAh6.mjs +0 -101
  1121. package/dist/public-url-B5a0QAh6.mjs.map +0 -1
  1122. package/dist/query-DHqFiqqH.mjs +0 -41
  1123. package/dist/query-DHqFiqqH.mjs.map +0 -1
  1124. package/dist/query-DT85BehD.mjs +0 -1125
  1125. package/dist/query-DT85BehD.mjs.map +0 -1
  1126. package/dist/rate-limit-iMvcu3eu.mjs +0 -120
  1127. package/dist/rate-limit-iMvcu3eu.mjs.map +0 -1
  1128. package/dist/receipt-Dpp1uaX9.mjs +0 -43
  1129. package/dist/receipt-Dpp1uaX9.mjs.map +0 -1
  1130. package/dist/redirect-BRoLiWQE.mjs +0 -19
  1131. package/dist/redirect-BRoLiWQE.mjs.map +0 -1
  1132. package/dist/redirect-xZNpBoGp.mjs +0 -417
  1133. package/dist/redirect-xZNpBoGp.mjs.map +0 -1
  1134. package/dist/redirects-D4EWeXAo.mjs +0 -148
  1135. package/dist/redirects-D4EWeXAo.mjs.map +0 -1
  1136. package/dist/redirects-DCKqwiWp.mjs +0 -446
  1137. package/dist/redirects-DCKqwiWp.mjs.map +0 -1
  1138. package/dist/registry-DaXmUsD4.mjs +0 -8369
  1139. package/dist/registry-DaXmUsD4.mjs.map +0 -1
  1140. package/dist/relations-JvBP8nGP.mjs +0 -776
  1141. package/dist/relations-JvBP8nGP.mjs.map +0 -1
  1142. package/dist/request-meta-B6blULFY.mjs +0 -141
  1143. package/dist/request-meta-B6blULFY.mjs.map +0 -1
  1144. package/dist/resolve-DAhHi5tn.mjs +0 -100
  1145. package/dist/resolve-DAhHi5tn.mjs.map +0 -1
  1146. package/dist/route-wire-DK600v4u.mjs +0 -197
  1147. package/dist/route-wire-DK600v4u.mjs.map +0 -1
  1148. package/dist/routes-BeZyaCzv.mjs +0 -272
  1149. package/dist/routes-BeZyaCzv.mjs.map +0 -1
  1150. package/dist/runner-CskI4Hmq.mjs +0 -6372
  1151. package/dist/runner-CskI4Hmq.mjs.map +0 -1
  1152. package/dist/runner-J3Cj6DGk.d.mts +0 -68
  1153. package/dist/runner-J3Cj6DGk.d.mts.map +0 -1
  1154. package/dist/schema-CK0ihqMR.mjs +0 -815
  1155. package/dist/schema-CK0ihqMR.mjs.map +0 -1
  1156. package/dist/schema-VtaZSrC-.mjs +0 -13
  1157. package/dist/schema-VtaZSrC-.mjs.map +0 -1
  1158. package/dist/scopes-BRnGlL9t.mjs +0 -34
  1159. package/dist/scopes-BRnGlL9t.mjs.map +0 -1
  1160. package/dist/search-D6-XK1Sn.mjs +0 -448
  1161. package/dist/search-D6-XK1Sn.mjs.map +0 -1
  1162. package/dist/sections-CBDCf7qR.mjs +0 -346
  1163. package/dist/sections-CBDCf7qR.mjs.map +0 -1
  1164. package/dist/seo-BdeEPDNW.mjs +0 -133
  1165. package/dist/seo-BdeEPDNW.mjs.map +0 -1
  1166. package/dist/seo-C61bnPuV.mjs +0 -114
  1167. package/dist/seo-C61bnPuV.mjs.map +0 -1
  1168. package/dist/service-BuRKLMxa.mjs +0 -150
  1169. package/dist/service-BuRKLMxa.mjs.map +0 -1
  1170. package/dist/session-user-CqkPtrPL.mjs +0 -61
  1171. package/dist/session-user-CqkPtrPL.mjs.map +0 -1
  1172. package/dist/settings-0u0lTthS.mjs +0 -51
  1173. package/dist/settings-0u0lTthS.mjs.map +0 -1
  1174. package/dist/settings-WHr45II1.mjs +0 -61
  1175. package/dist/settings-WHr45II1.mjs.map +0 -1
  1176. package/dist/settings-m5tIYnF0.mjs +0 -443
  1177. package/dist/settings-m5tIYnF0.mjs.map +0 -1
  1178. package/dist/setup-complete-B2_dhZZz.mjs +0 -65
  1179. package/dist/setup-complete-B2_dhZZz.mjs.map +0 -1
  1180. package/dist/setup-nonce-CJV9ftSK.mjs +0 -25
  1181. package/dist/setup-nonce-CJV9ftSK.mjs.map +0 -1
  1182. package/dist/site-settings-KJOqJW6W.mjs +0 -50
  1183. package/dist/site-settings-KJOqJW6W.mjs.map +0 -1
  1184. package/dist/site-url-Ceq_AUK0.mjs +0 -16
  1185. package/dist/site-url-Ceq_AUK0.mjs.map +0 -1
  1186. package/dist/slugify-T5GHH42D.mjs +0 -17
  1187. package/dist/slugify-T5GHH42D.mjs.map +0 -1
  1188. package/dist/snapshot-Dzsn3NZa.mjs +0 -414
  1189. package/dist/snapshot-Dzsn3NZa.mjs.map +0 -1
  1190. package/dist/ssrf-DsmvZB80.mjs +0 -406
  1191. package/dist/ssrf-DsmvZB80.mjs.map +0 -1
  1192. package/dist/stage-Csnh_yEd.mjs +0 -662
  1193. package/dist/stage-Csnh_yEd.mjs.map +0 -1
  1194. package/dist/staged-Q7pnEVvI.mjs +0 -686
  1195. package/dist/staged-Q7pnEVvI.mjs.map +0 -1
  1196. package/dist/state-kGdOMQRY.mjs +0 -153
  1197. package/dist/state-kGdOMQRY.mjs.map +0 -1
  1198. package/dist/status-D39Fpy8R.mjs +0 -30
  1199. package/dist/status-D39Fpy8R.mjs.map +0 -1
  1200. package/dist/storage-query-C7iy6eUb.d.mts +0 -1615
  1201. package/dist/storage-query-C7iy6eUb.d.mts.map +0 -1
  1202. package/dist/tar-BWiraSUY.mjs +0 -449
  1203. package/dist/tar-BWiraSUY.mjs.map +0 -1
  1204. package/dist/target-DOFs5oUC.mjs +0 -27
  1205. package/dist/target-DOFs5oUC.mjs.map +0 -1
  1206. package/dist/taxonomies-BS40Wxvi.mjs +0 -939
  1207. package/dist/taxonomies-BS40Wxvi.mjs.map +0 -1
  1208. package/dist/taxonomies-DAZU9VDd.mjs +0 -697
  1209. package/dist/taxonomies-DAZU9VDd.mjs.map +0 -1
  1210. package/dist/taxonomy-XzLE95Vx.mjs +0 -525
  1211. package/dist/taxonomy-XzLE95Vx.mjs.map +0 -1
  1212. package/dist/tokens-DSQan4p7.mjs +0 -171
  1213. package/dist/tokens-DSQan4p7.mjs.map +0 -1
  1214. package/dist/transfer-BcCVxDgf.mjs +0 -166
  1215. package/dist/transfer-BcCVxDgf.mjs.map +0 -1
  1216. package/dist/transfer-OMrancOt.mjs +0 -8873
  1217. package/dist/transfer-OMrancOt.mjs.map +0 -1
  1218. package/dist/transfer-download-Dc-ltjZY.mjs +0 -33
  1219. package/dist/transfer-download-Dc-ltjZY.mjs.map +0 -1
  1220. package/dist/transformations-Ddx7UtrY.mjs +0 -196
  1221. package/dist/transformations-Ddx7UtrY.mjs.map +0 -1
  1222. package/dist/transport-flR-Zmds.d.mts +0 -42
  1223. package/dist/transport-flR-Zmds.d.mts.map +0 -1
  1224. package/dist/transport-umzEbgYO.mjs +0 -136
  1225. package/dist/transport-umzEbgYO.mjs.map +0 -1
  1226. package/dist/trusted-proxy-BqfQFs6a.mjs +0 -51
  1227. package/dist/trusted-proxy-BqfQFs6a.mjs.map +0 -1
  1228. package/dist/turnstile-Do60baId.mjs +0 -58
  1229. package/dist/turnstile-Do60baId.mjs.map +0 -1
  1230. package/dist/types-BT1p3uyb.d.mts +0 -1735
  1231. package/dist/types-BT1p3uyb.d.mts.map +0 -1
  1232. package/dist/types-BYaPWs_F.d.mts +0 -198
  1233. package/dist/types-BYaPWs_F.d.mts.map +0 -1
  1234. package/dist/types-CLTQ9b_r.d.mts +0 -374
  1235. package/dist/types-CLTQ9b_r.d.mts.map +0 -1
  1236. package/dist/types-CPkQw2T2.d.mts +0 -85
  1237. package/dist/types-CPkQw2T2.d.mts.map +0 -1
  1238. package/dist/types-CQLvuXoZ.d.mts +0 -198
  1239. package/dist/types-CQLvuXoZ.d.mts.map +0 -1
  1240. package/dist/types-CV5xszpF.d.mts +0 -363
  1241. package/dist/types-CV5xszpF.d.mts.map +0 -1
  1242. package/dist/types-CdEMurNh.mjs +0 -77
  1243. package/dist/types-CdEMurNh.mjs.map +0 -1
  1244. package/dist/types-CxwtnuSS.mjs +0 -37
  1245. package/dist/types-CxwtnuSS.mjs.map +0 -1
  1246. package/dist/types-DGw8KMX_.mjs +0 -16
  1247. package/dist/types-DGw8KMX_.mjs.map +0 -1
  1248. package/dist/types-DOfVMPoo.d.mts +0 -125
  1249. package/dist/types-DOfVMPoo.d.mts.map +0 -1
  1250. package/dist/types-LtS0SM4F.d.mts +0 -287
  1251. package/dist/types-LtS0SM4F.d.mts.map +0 -1
  1252. package/dist/types-ifgOkcBa.d.mts +0 -916
  1253. package/dist/types-ifgOkcBa.d.mts.map +0 -1
  1254. package/dist/update-check-DOc2aBIU.mjs +0 -161
  1255. package/dist/update-check-DOc2aBIU.mjs.map +0 -1
  1256. package/dist/upload-attempts-nzdc3cay.mjs +0 -32
  1257. package/dist/upload-attempts-nzdc3cay.mjs.map +0 -1
  1258. package/dist/url-pattern-hVbqpXs6.mjs +0 -41
  1259. package/dist/url-pattern-hVbqpXs6.mjs.map +0 -1
  1260. package/dist/user-Dnp53zTq.mjs +0 -171
  1261. package/dist/user-Dnp53zTq.mjs.map +0 -1
  1262. package/dist/utils-CoV-PYhg.mjs +0 -439
  1263. package/dist/utils-CoV-PYhg.mjs.map +0 -1
  1264. package/dist/validate-CfQ9_YlD.d.mts +0 -468
  1265. package/dist/validate-CfQ9_YlD.d.mts.map +0 -1
  1266. package/dist/validate-DBX3DKtL.mjs +0 -516
  1267. package/dist/validate-DBX3DKtL.mjs.map +0 -1
  1268. package/dist/validation-BJMiDhB1.mjs +0 -219
  1269. package/dist/validation-BJMiDhB1.mjs.map +0 -1
  1270. package/dist/version-BaT8yKIT.mjs +0 -7
  1271. package/dist/version-BaT8yKIT.mjs.map +0 -1
  1272. package/dist/version-BwEGkqkx.mjs +0 -9
  1273. package/dist/version-BwEGkqkx.mjs.map +0 -1
  1274. package/dist/virtual-modules-B6vJW15k.mjs +0 -516
  1275. package/dist/virtual-modules-B6vJW15k.mjs.map +0 -1
  1276. package/dist/widgets-BkxBAgZ_.mjs +0 -126
  1277. package/dist/widgets-BkxBAgZ_.mjs.map +0 -1
  1278. package/dist/wxr-taxonomies-D7gAJyOF.mjs +0 -453
  1279. package/dist/wxr-taxonomies-D7gAJyOF.mjs.map +0 -1
  1280. package/dist/wxr-taxonomies-DM5J9AsT.d.mts +0 -34
  1281. package/dist/wxr-taxonomies-DM5J9AsT.d.mts.map +0 -1
  1282. /package/dist/{api-tokens-BLz2MtQs.mjs → api-tokens-D2zgAIEt.mjs} +0 -0
  1283. /package/dist/{ssrf-tA45vIPX.mjs → ssrf-BvNItdxk.mjs} +0 -0
@@ -0,0 +1,1127 @@
1
+ import { d as __exportAll } from "./runner-wqt4BrIW.mjs";
2
+ import { n as isMissingTableError } from "./db-errors-CBD5yMro.mjs";
3
+ import { i as isI18nEnabled, n as getFallbackChain, r as getI18nConfig } from "./config-CvmjJcVw.mjs";
4
+ import { getRequestContext } from "./request-context.mjs";
5
+ import { i as contentCacheNamespaces, n as cachedQuery, o as contentNamespaces, p as invalidateSchemaObjectCache } from "./object-cache-Bo6DGaC9.mjs";
6
+ import { r as requestCached } from "./request-cache-C4CIo5ad.mjs";
7
+ import { a as creditsFromFoldedBylines, f as primeSeoPanel, i as FOLDED_TERMS, n as FOLDED_BYLINES, r as FOLDED_BYLINES_EXIST, s as encodeSortCursor, t as CURSOR_RAW_VALUES } from "./loader-CetY659y.mjs";
8
+ import { i as resetRegisteredCollectionsCache } from "./collection-slugs-cache-B2Gs9Jwx.mjs";
9
+ import { t as compileUrlPattern } from "./url-pattern-Di4Nn3vP.mjs";
10
+
11
+ //#region src/visual-editing/editable.ts
12
+ /**
13
+ * Create an editable proxy for an entry.
14
+ *
15
+ * Usage:
16
+ * - `{...entry.edit}` - entry-level annotation (includes status/hasDraft)
17
+ * - `{...entry.edit.title}` - field-level annotation
18
+ * - `{...entry.edit['nested.field']}` - nested field (bracket notation)
19
+ */
20
+ function createEditable(collection, id, options) {
21
+ const base = {
22
+ collection,
23
+ id,
24
+ ...options?.status && { status: options.status },
25
+ ...options?.hasDraft && { hasDraft: true }
26
+ };
27
+ return new Proxy({}, {
28
+ get(_, prop) {
29
+ if (prop === "toJSON") return () => ({ "data-emdash-ref": JSON.stringify(base) });
30
+ if (typeof prop === "symbol") return void 0;
31
+ if (prop === "data-emdash-ref") return JSON.stringify(base);
32
+ return { "data-emdash-ref": JSON.stringify({
33
+ ...base,
34
+ field: String(prop)
35
+ }) };
36
+ },
37
+ ownKeys() {
38
+ return ["data-emdash-ref"];
39
+ },
40
+ getOwnPropertyDescriptor(_, prop) {
41
+ if (prop === "data-emdash-ref") return {
42
+ configurable: true,
43
+ enumerable: true,
44
+ value: JSON.stringify(base)
45
+ };
46
+ }
47
+ });
48
+ }
49
+ /**
50
+ * Create a noop proxy for production mode.
51
+ * Spreading this produces no attributes.
52
+ */
53
+ function createNoop() {
54
+ return new Proxy({}, {
55
+ get(_, prop) {
56
+ if (typeof prop === "symbol") return void 0;
57
+ },
58
+ ownKeys() {
59
+ return [];
60
+ },
61
+ getOwnPropertyDescriptor() {}
62
+ });
63
+ }
64
+
65
+ //#endregion
66
+ //#region src/query.ts
67
+ var query_exports = /* @__PURE__ */ __exportAll({
68
+ bucketFilter: () => bucketFilter,
69
+ getEditMeta: () => getEditMeta,
70
+ getEmDashCollection: () => getEmDashCollection,
71
+ getEmDashEntry: () => getEmDashEntry,
72
+ getEmDashReferences: () => getEmDashReferences,
73
+ getTranslations: () => getTranslations,
74
+ invalidateUrlPatternCache: () => invalidateUrlPatternCache,
75
+ resolveEmDashPath: () => resolveEmDashPath,
76
+ sliceCollectionResult: () => sliceCollectionResult
77
+ });
78
+ const COLLECTION_NAME = "_emdash";
79
+ /** Symbol key for edit metadata on PT arrays — avoids collision with user data */
80
+ const EMDASH_EDIT = Symbol.for("__emdash");
81
+ /** Type guard for EditFieldMeta */
82
+ function isEditFieldMeta(value) {
83
+ if (typeof value !== "object" || value === null) return false;
84
+ if (!("collection" in value) || !("id" in value) || !("field" in value)) return false;
85
+ const { collection, id, field } = value;
86
+ return typeof collection === "string" && typeof id === "string" && typeof field === "string";
87
+ }
88
+ /**
89
+ * Read edit metadata from a value (returns undefined if not tagged).
90
+ * Uses Object.getOwnPropertyDescriptor to access Symbol-keyed property
91
+ * without an unsafe type assertion.
92
+ */
93
+ function getEditMeta(value) {
94
+ if (value && typeof value === "object") {
95
+ const meta = Object.getOwnPropertyDescriptor(value, EMDASH_EDIT)?.value;
96
+ if (isEditFieldMeta(meta)) return meta;
97
+ }
98
+ }
99
+ /**
100
+ * Tag PT-like arrays in entry data with edit metadata (non-enumerable).
101
+ * A PT array is identified by: is an array, first element has _type property.
102
+ */
103
+ function tagEditableFields(data, collection, id) {
104
+ for (const [field, value] of Object.entries(data)) if (Array.isArray(value) && value.length > 0 && value[0] && typeof value[0] === "object" && "_type" in value[0]) Object.defineProperty(value, EMDASH_EDIT, {
105
+ value: {
106
+ collection,
107
+ id,
108
+ field
109
+ },
110
+ enumerable: false,
111
+ configurable: true
112
+ });
113
+ }
114
+ /** Safely read a string field from a Record, with optional fallback */
115
+ function dataStr(data, key, fallback = "") {
116
+ const val = data[key];
117
+ return typeof val === "string" ? val : fallback;
118
+ }
119
+ /** Type guard for Record<string, unknown> */
120
+ function isRecord(value) {
121
+ return typeof value === "object" && value !== null && !Array.isArray(value);
122
+ }
123
+ /** Extract data as Record from an Astro entry (which is any-typed) */
124
+ function entryData(entry) {
125
+ return isRecord(entry.data) ? entry.data : {};
126
+ }
127
+ /** Extract the database ID from entry data (data.id is the ULID, entry.id is the slug) */
128
+ function entryDatabaseId(entry) {
129
+ return dataStr(entryData(entry), "id") || entry.id;
130
+ }
131
+ /** Extract edit options from entry data for the proxy */
132
+ function entryEditOptions(entry) {
133
+ const data = entryData(entry);
134
+ const status = dataStr(data, "status", "draft");
135
+ const draftRevisionId = dataStr(data, "draftRevisionId") || void 0;
136
+ const liveRevisionId = dataStr(data, "liveRevisionId") || void 0;
137
+ return {
138
+ status,
139
+ hasDraft: !!draftRevisionId && draftRevisionId !== liveRevisionId
140
+ };
141
+ }
142
+ function stripRevisionMetadata(entry) {
143
+ const data = entryData(entry);
144
+ delete data.draftRevisionId;
145
+ delete data.liveRevisionId;
146
+ }
147
+ function canExposeRevisionMetadata(entry, collection) {
148
+ const ctx = getRequestContext();
149
+ if (ctx?.editMode) return true;
150
+ if (ctx?.preview?.collection !== collection) return false;
151
+ const dbId = entryDatabaseId(entry);
152
+ return ctx.preview.id === dbId || ctx.preview.id === entry.id;
153
+ }
154
+ /**
155
+ * Get all entries of a content type
156
+ *
157
+ * Returns { entries, error } for graceful error handling.
158
+ *
159
+ * When emdash-env.d.ts is generated, the collection name will be
160
+ * type-checked and the return type will be inferred automatically.
161
+ *
162
+ * @example
163
+ * ```ts
164
+ * import { getEmDashCollection } from "emdash";
165
+ *
166
+ * const { entries: posts, error } = await getEmDashCollection("posts");
167
+ * if (error) {
168
+ * console.error("Failed to load posts:", error);
169
+ * return;
170
+ * }
171
+ * // posts[0].data.title is typed (if emdash-env.d.ts exists)
172
+ *
173
+ * // With filters
174
+ * const { entries: drafts } = await getEmDashCollection("posts", { status: "draft" });
175
+ * ```
176
+ */
177
+ async function getEmDashCollection(type, filter) {
178
+ const bucketed = bucketFilter(filter);
179
+ const ctx = getRequestContext();
180
+ const serveDrafts = ctx?.editMode === true || ctx?.preview !== void 0;
181
+ const cached = await requestCached(collectionCacheKey(type, bucketed.fetchFilter), () => serveDrafts ? getEmDashCollectionUncached(type, bucketed.fetchFilter) : loadCollectionCached(type, bucketed.fetchFilter));
182
+ return bucketed.requestedLimit === void 0 ? cached : sliceCollectionResult(cached, bucketed.requestedLimit, filter?.orderBy);
183
+ }
184
+ /**
185
+ * Distributed (L2) read-through around {@link getEmDashCollectionUncached}.
186
+ *
187
+ * Caches a JSON-safe snapshot keyed by collection + filter + effective locale,
188
+ * folding the shared `bylines`/`taxonomies` epochs into the key so renaming an
189
+ * author or term invalidates affected lists. Errors are never cached.
190
+ */
191
+ async function loadCollectionCached(type, filter) {
192
+ const snapshot = await cachedQuery({
193
+ namespace: contentNamespaces(type),
194
+ key: `collection:${collectionCacheKey(type, filter)}|loc=${effectiveLocaleKey(filter)}`,
195
+ load: async () => {
196
+ const result = await getEmDashCollectionUncached(type, filter);
197
+ if (result.error) return {
198
+ ok: false,
199
+ error: result.error,
200
+ cacheHint: result.cacheHint
201
+ };
202
+ return {
203
+ ok: true,
204
+ value: {
205
+ entries: result.entries.map(entrySnapshot),
206
+ nextCursor: result.nextCursor,
207
+ hasMore: result.hasMore,
208
+ cacheHint: result.cacheHint
209
+ }
210
+ };
211
+ },
212
+ cacheable: (snap) => snap.ok
213
+ });
214
+ if (!snapshot.ok) return {
215
+ entries: [],
216
+ error: snapshot.error,
217
+ cacheHint: snapshot.cacheHint
218
+ };
219
+ return {
220
+ entries: snapshot.value.entries.map((entry) => {
221
+ const revived = reviveEntry(entry);
222
+ if (!canExposeRevisionMetadata(revived, type)) stripRevisionMetadata(revived);
223
+ return revived;
224
+ }),
225
+ nextCursor: snapshot.value.nextCursor,
226
+ hasMore: snapshot.value.hasMore,
227
+ cacheHint: snapshot.value.cacheHint
228
+ };
229
+ }
230
+ /**
231
+ * Threshold for limit bucketing. Page templates routinely render small
232
+ * "recent posts" widgets at limits 3-8; rounding those up to a single
233
+ * shared bucket lets one fetch satisfy several widgets within a request.
234
+ * Above this, the requested limit is honoured exactly — bucketing limit:50
235
+ * to limit:64 would waste hydration work for callers fetching real pages.
236
+ */
237
+ const BUCKET_LIMIT_THRESHOLD = 10;
238
+ /** @internal exported for unit tests; not part of the public API. */
239
+ function bucketFilter(filter) {
240
+ const limit = filter?.limit;
241
+ if (limit === void 0 || limit >= BUCKET_LIMIT_THRESHOLD || limit <= 0 || filter?.cursor !== void 0 || filter?.offset !== void 0) return {
242
+ fetchFilter: filter,
243
+ requestedLimit: void 0
244
+ };
245
+ return {
246
+ fetchFilter: {
247
+ ...filter,
248
+ limit: BUCKET_LIMIT_THRESHOLD
249
+ },
250
+ requestedLimit: limit
251
+ };
252
+ }
253
+ /**
254
+ * Slice a cached bucketed result down to the originally-requested limit
255
+ * and recompute `nextCursor` from the row that would have been the
256
+ * over-fetch detector for that limit. When truncation is needed, returns
257
+ * a shallow-copied result with a new `entries` array; otherwise returns
258
+ * the cached result unchanged (including error results and results
259
+ * already within the requested limit).
260
+ */
261
+ /** @internal exported for unit tests; not part of the public API. */
262
+ function sliceCollectionResult(cached, limit, orderBy) {
263
+ if (cached.error) return cached;
264
+ if (cached.entries.length <= limit) return cached;
265
+ const sliced = cached.entries.slice(0, limit);
266
+ const lastEntry = sliced.at(-1);
267
+ const nextCursor = lastEntry ? encodeEntryCursor(lastEntry, orderBy) : void 0;
268
+ return {
269
+ ...cached,
270
+ entries: sliced,
271
+ nextCursor,
272
+ hasMore: true
273
+ };
274
+ }
275
+ /** Map of database column names to camelCase keys present on entry.data. */
276
+ const ENTRY_DATA_KEY_MAP = {
277
+ created_at: "createdAt",
278
+ updated_at: "updatedAt",
279
+ published_at: "publishedAt",
280
+ scheduled_at: "scheduledAt",
281
+ author_id: "authorId",
282
+ primary_byline_id: "primaryBylineId"
283
+ };
284
+ const FIELD_NAME_PATTERN = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
285
+ /**
286
+ * Encode a `nextCursor` from a content entry, as the loader encodes one from
287
+ * the entry's row. Reads the sort column's raw DB value the loader stashed via
288
+ * CURSOR_RAW_VALUES, since `entry.data` can't reproduce it for every column.
289
+ */
290
+ function encodeEntryCursor(entry, orderBy) {
291
+ const data = entryData(entry);
292
+ const id = dataStr(data, "id");
293
+ if (!id) return void 0;
294
+ let dbField = "created_at";
295
+ if (orderBy) {
296
+ for (const field of Object.keys(orderBy)) if (FIELD_NAME_PATTERN.test(field)) {
297
+ dbField = field;
298
+ break;
299
+ }
300
+ }
301
+ const rawValues = Reflect.get(data, CURSOR_RAW_VALUES);
302
+ if (rawValues !== null && typeof rawValues === "object" && Object.hasOwn(rawValues, dbField)) return encodeSortCursor(dbField, Reflect.get(rawValues, dbField), id);
303
+ return encodeSortCursor(dbField, data[ENTRY_DATA_KEY_MAP[dbField] ?? dbField], id);
304
+ }
305
+ /**
306
+ * Build a canonical cache key for `getEmDashCollection`.
307
+ *
308
+ * `JSON.stringify` is insertion-order-sensitive, so two callers passing
309
+ * semantically identical filters with different key orders would miss
310
+ * the cache. We fix the top-level field order and sort `where` keys
311
+ * (order there is irrelevant), while preserving `orderBy` key order
312
+ * because that's the sort priority.
313
+ */
314
+ function collectionCacheKey(type, filter) {
315
+ if (!filter) return `collection:${type}:`;
316
+ return `collection:${type}:${[
317
+ filter.status ?? "",
318
+ filter.limit ?? "",
319
+ filter.cursor ?? "",
320
+ filter.offset ?? "",
321
+ filter.where ? stableStringify(filter.where) : "",
322
+ filter.orderBy ? JSON.stringify(filter.orderBy) : "",
323
+ filter.locale ?? ""
324
+ ].join("|")}`;
325
+ }
326
+ function stableStringify(value) {
327
+ return JSON.stringify(stableOrder(value));
328
+ }
329
+ function stableOrder(value) {
330
+ const keys = Object.keys(value).toSorted();
331
+ const ordered = {};
332
+ for (const k of keys) {
333
+ const v = value[k];
334
+ if (isRecord(v)) ordered[k] = stableOrder(v);
335
+ else ordered[k] = v;
336
+ }
337
+ return ordered;
338
+ }
339
+ /** Enumerable field carrying the {@link CURSOR_RAW_VALUES} payload in snapshots. */
340
+ const CURSOR_RAW_FIELD = "__emdashCursorRaw";
341
+ function dataSnapshot(data) {
342
+ const rawCursor = Reflect.get(data, CURSOR_RAW_VALUES);
343
+ return {
344
+ ...data,
345
+ [CURSOR_RAW_FIELD]: rawCursor ?? {}
346
+ };
347
+ }
348
+ function reviveData(raw) {
349
+ const data = { ...raw };
350
+ const rawCursor = data[CURSOR_RAW_FIELD] ?? {};
351
+ delete data[CURSOR_RAW_FIELD];
352
+ Object.defineProperty(data, CURSOR_RAW_VALUES, {
353
+ value: rawCursor,
354
+ enumerable: false,
355
+ configurable: false,
356
+ writable: false
357
+ });
358
+ return data;
359
+ }
360
+ function entrySnapshot(entry) {
361
+ const { edit: _edit, references, ...rest } = entry;
362
+ return {
363
+ ...rest,
364
+ data: dataSnapshot(entryData(entry)),
365
+ ...references ? { references: referencesSnapshot(references) } : {}
366
+ };
367
+ }
368
+ function referencesSnapshot(references) {
369
+ const snapshot = {};
370
+ for (const [field, page] of Object.entries(references)) snapshot[field] = {
371
+ entries: page.entries.map((child) => ({
372
+ id: child.id,
373
+ data: dataSnapshot(entryData(child))
374
+ })),
375
+ ...page.nextCursor === void 0 ? {} : { nextCursor: page.nextCursor }
376
+ };
377
+ return snapshot;
378
+ }
379
+ /**
380
+ * Rebuild the reference pages a snapshot carried.
381
+ *
382
+ * Every child comes back with a no-op `edit` proxy and no revision metadata,
383
+ * which is lossless: the object cache is bypassed for edit-mode and preview
384
+ * requests, so a snapshot is only ever written — and read back — by a render
385
+ * that had neither to begin with.
386
+ */
387
+ function reviveReferences(raw) {
388
+ if (!isRecord(raw)) return void 0;
389
+ const references = {};
390
+ for (const [field, page] of Object.entries(raw)) {
391
+ const snapshot = page;
392
+ references[field] = {
393
+ entries: snapshot.entries.map((child) => ({
394
+ id: child.id,
395
+ data: reviveData(child.data),
396
+ edit: createNoop()
397
+ })),
398
+ ...snapshot.nextCursor === void 0 ? {} : { nextCursor: snapshot.nextCursor }
399
+ };
400
+ }
401
+ return references;
402
+ }
403
+ function reviveEntry(raw) {
404
+ const entry = raw;
405
+ const data = reviveData(entry.data);
406
+ const references = reviveReferences(entry.references);
407
+ return {
408
+ ...entry,
409
+ data,
410
+ ...references ? { references } : {},
411
+ edit: createNoop()
412
+ };
413
+ }
414
+ /** Resolve the effective locale used by content reads, for the L2 cache key. */
415
+ function effectiveLocaleKey(filter) {
416
+ const ctx = getRequestContext();
417
+ const i18nConfig = getI18nConfig();
418
+ return filter?.locale ?? ctx?.locale ?? (isI18nEnabled() ? i18nConfig.defaultLocale : void 0) ?? "";
419
+ }
420
+ async function getEmDashCollectionUncached(type, filter) {
421
+ const { getLiveCollection } = await import("astro:content");
422
+ const ctx = getRequestContext();
423
+ const i18nConfig = getI18nConfig();
424
+ const resolvedLocale = filter?.locale ?? ctx?.locale ?? (isI18nEnabled() ? i18nConfig.defaultLocale : void 0);
425
+ const requestedLimit = filter?.limit;
426
+ const pageParam = filter?.cursor !== void 0 ? { cursor: filter.cursor } : filter?.offset !== void 0 ? { offset: filter.offset } : {};
427
+ const draftRevisions = ctx?.editMode ? "all" : ctx?.preview?.collection === type ? { id: ctx.preview.id } : void 0;
428
+ const { entries, error, cacheHint } = await getLiveCollection(COLLECTION_NAME, {
429
+ type,
430
+ status: filter?.status,
431
+ limit: requestedLimit && requestedLimit > 0 ? requestedLimit + 1 : filter?.limit,
432
+ ...pageParam,
433
+ where: filter?.where,
434
+ orderBy: filter?.orderBy,
435
+ locale: resolvedLocale,
436
+ draftRevisions
437
+ });
438
+ if (error) return {
439
+ entries: [],
440
+ error,
441
+ cacheHint: {}
442
+ };
443
+ const hasMore = requestedLimit != null && requestedLimit > 0 && entries.length > requestedLimit;
444
+ const pageEntries = hasMore ? entries.slice(0, requestedLimit) : entries;
445
+ const nextCursor = hasMore ? encodeEntryCursor(pageEntries.at(-1), filter?.orderBy) : void 0;
446
+ const hasMoreResult = requestedLimit != null && requestedLimit > 0 ? hasMore : void 0;
447
+ const isEditMode = ctx?.editMode ?? false;
448
+ const entriesWithEdit = pageEntries.map((entry) => {
449
+ const dbId = entryDatabaseId(entry);
450
+ if (isEditMode) tagEditableFields(entryData(entry), type, dbId);
451
+ if (!canExposeRevisionMetadata(entry, type)) stripRevisionMetadata(entry);
452
+ return {
453
+ ...entry,
454
+ edit: isEditMode ? createEditable(type, dbId, entryEditOptions(entry)) : createNoop()
455
+ };
456
+ });
457
+ await Promise.all([hydrateEntryBylines(type, entriesWithEdit), hydrateEntryTerms(type, entriesWithEdit, resolvedLocale)]);
458
+ return {
459
+ entries: entriesWithEdit,
460
+ nextCursor,
461
+ hasMore: hasMoreResult,
462
+ cacheHint: cacheHint ?? {}
463
+ };
464
+ }
465
+ /**
466
+ * Get a single entry by type and ID/slug
467
+ *
468
+ * Returns { entry, error, isPreview } for graceful error handling.
469
+ * - entry is null if not found (not an error)
470
+ * - error is set only for actual errors (db issues, etc.)
471
+ *
472
+ * Preview mode is detected automatically from request context (ALS).
473
+ * When the URL has a valid `_preview` token, the middleware sets preview
474
+ * context and this function serves draft revision data if available.
475
+ *
476
+ * @example
477
+ * ```ts
478
+ * import { getEmDashEntry } from "emdash";
479
+ *
480
+ * // Simple usage — preview just works via middleware
481
+ * const { entry: post, isPreview, error } = await getEmDashEntry("posts", "my-slug");
482
+ * if (!post) return Astro.rewrite("/404");
483
+ * ```
484
+ *
485
+ * @example
486
+ * ```ts
487
+ * // Opt into reference fields, by field slug
488
+ * const { entry: post } = await getEmDashEntry("posts", slug, {
489
+ * references: { author: true, related_posts: { limit: 6 } },
490
+ * });
491
+ * const author = post?.references?.author.entries[0];
492
+ * ```
493
+ */
494
+ async function getEmDashEntry(type, id, options) {
495
+ return resolveEmDashEntry(type, id, options);
496
+ }
497
+ /**
498
+ * Attach one page of each selected reference field to a resolved entry, and
499
+ * report the cache hint its children contribute.
500
+ *
501
+ * An entry with no translation group predates i18n and has no links; there is
502
+ * nothing to resolve, and `references` stays absent rather than becoming an
503
+ * empty object that reads as "this entry references nothing".
504
+ */
505
+ async function attachReferences(type, entry, options) {
506
+ const data = entryData(entry);
507
+ const entryGroup = dataStr(data, "translationGroup");
508
+ if (!entryGroup) return {};
509
+ const { resolveReferencePages } = await import("./resolve-BxH64HN9.mjs");
510
+ const pages = await resolveReferencePages({
511
+ collection: type,
512
+ entryGroup,
513
+ locale: dataStr(data, "locale") || null,
514
+ draftRevisionId: options.draftRevisionId,
515
+ serveDrafts: options.serveDrafts,
516
+ selection: options.selection
517
+ });
518
+ const references = {};
519
+ const tags = [];
520
+ let lastModified;
521
+ for (const [field, page] of Object.entries(pages)) {
522
+ for (const child of page.entries) {
523
+ tags.push(...child.cacheHint.tags);
524
+ const modified = child.cacheHint.lastModified;
525
+ if (modified && (!lastModified || modified > lastModified)) lastModified = modified;
526
+ }
527
+ references[field] = {
528
+ entries: page.entries.map((child) => wrapReferencedEntry(page.collection, child)),
529
+ ...page.nextCursor === void 0 ? {} : { nextCursor: page.nextCursor }
530
+ };
531
+ }
532
+ entry.references = references;
533
+ return {
534
+ tags,
535
+ ...lastModified ? { lastModified } : {}
536
+ };
537
+ }
538
+ /**
539
+ * Fold the children's cache hint into the entry's own.
540
+ *
541
+ * A render that shows a referenced entry has read that row, so the route's tags
542
+ * have to name it and its `Last-Modified` has to move when it changes. Without
543
+ * this the route cache's `invalidate({ tags: [collection, id] })` on a child
544
+ * write would never reach the pages that render the child.
545
+ */
546
+ function mergeCacheHints(base, extra) {
547
+ if (!extra.tags?.length && !extra.lastModified) return base;
548
+ const tags = [...new Set([...base.tags ?? [], ...extra.tags ?? []])];
549
+ const newest = base.lastModified && extra.lastModified ? base.lastModified > extra.lastModified ? base.lastModified : extra.lastModified : base.lastModified ?? extra.lastModified;
550
+ return {
551
+ ...tags.length > 0 ? { tags } : {},
552
+ ...newest ? { lastModified: newest } : {}
553
+ };
554
+ }
555
+ /**
556
+ * The object-cache namespaces a selection's targets live in.
557
+ *
558
+ * Without them a cached parent snapshot would outlive a write to the entries it
559
+ * points at. Byline and taxonomy namespaces are deliberately absent: referenced
560
+ * entries are loaded without either hydration. The targets are sorted so two
561
+ * callers that name the same fields in a different order share one snapshot.
562
+ */
563
+ async function referenceTargetNamespaces(collection, selection) {
564
+ const { getReferenceFieldMap } = await import("./field-map-JD1wG0Tq.mjs").then((n) => n.t);
565
+ const fieldMap = await getReferenceFieldMap(collection);
566
+ const targets = /* @__PURE__ */ new Set();
567
+ for (const [slug, query] of Object.entries(selection)) {
568
+ if (query === void 0) continue;
569
+ const binding = fieldMap.get(slug);
570
+ if (binding) targets.add(binding.targetCollection);
571
+ }
572
+ return [...targets].toSorted().flatMap((target) => [...contentCacheNamespaces(target)]);
573
+ }
574
+ /**
575
+ * Wrap a referenced entry the way the collection paths wrap their own: an edit
576
+ * proxy in edit mode, revision metadata stripped for anyone who may not see it.
577
+ *
578
+ * The proxy is scoped to the *referenced* entry's collection and row, so
579
+ * clicking through from a card opens the entry the card is about.
580
+ */
581
+ function wrapReferencedEntry(collection, child) {
582
+ const isEditMode = getRequestContext()?.editMode ?? false;
583
+ const dbId = entryDatabaseId(child);
584
+ if (isEditMode) tagEditableFields(child.data, collection, dbId);
585
+ if (!canExposeRevisionMetadata(child, collection)) stripRevisionMetadata(child);
586
+ return {
587
+ id: child.id,
588
+ data: child.data,
589
+ edit: isEditMode ? createEditable(collection, dbId, entryEditOptions(child)) : createNoop()
590
+ };
591
+ }
592
+ async function resolveEmDashEntry(type, id, options) {
593
+ const { getLiveEntry } = await import("astro:content");
594
+ const ctx = getRequestContext();
595
+ const preview = ctx?.preview;
596
+ const isEditMode = ctx?.editMode ?? false;
597
+ const isPreviewMode = !!preview && preview.collection === type;
598
+ const serveDrafts = isPreviewMode || isEditMode;
599
+ const requestedLocale = options?.locale ?? ctx?.locale;
600
+ const references = options?.references;
601
+ /** Wrap a raw Astro entry with edit proxy, tagging editable fields if needed */
602
+ function wrapEntry(raw) {
603
+ const dbId = entryDatabaseId(raw);
604
+ if (isEditMode) tagEditableFields(entryData(raw), type, dbId);
605
+ return {
606
+ ...raw,
607
+ edit: isEditMode ? createEditable(type, dbId, entryEditOptions(raw)) : createNoop()
608
+ };
609
+ }
610
+ /** Check if an entry has completed publication. */
611
+ function isVisible(entry) {
612
+ return dataStr(entryData(entry), "status") === "published";
613
+ }
614
+ const localeChain = requestedLocale && isI18nEnabled() ? getFallbackChain(requestedLocale) : [requestedLocale];
615
+ /** Return a successful EntryResult with bylines, taxonomy terms and references hydrated */
616
+ async function successResult(wrapped, opts) {
617
+ const draftRevisionId = dataStr(entryData(wrapped), "draftRevisionId") || void 0;
618
+ if (!opts.isPreview) stripRevisionMetadata(wrapped);
619
+ const termLocale = isI18nEnabled() ? dataStr(entryData(wrapped), "locale") || void 0 : void 0;
620
+ const [, , referenceHint] = await Promise.all([
621
+ hydrateEntryBylines(type, [wrapped]),
622
+ hydrateEntryTerms(type, [wrapped], termLocale),
623
+ references ? attachReferences(type, wrapped, {
624
+ selection: references,
625
+ serveDrafts: opts.isPreview,
626
+ draftRevisionId
627
+ }) : Promise.resolve({})
628
+ ]);
629
+ return {
630
+ entry: wrapped,
631
+ isPreview: opts.isPreview,
632
+ fallbackLocale: opts.fallbackLocale,
633
+ cacheHint: mergeCacheHints(opts.cacheHint, referenceHint)
634
+ };
635
+ }
636
+ if (serveDrafts) {
637
+ for (let i = 0; i < localeChain.length; i++) {
638
+ const locale = localeChain[i];
639
+ const fallbackLocale = i > 0 ? locale : void 0;
640
+ const { entry: baseEntry, error: baseError, cacheHint } = await getLiveEntry(COLLECTION_NAME, {
641
+ type,
642
+ id,
643
+ locale
644
+ });
645
+ if (baseError) {
646
+ if (baseError.name === "LiveEntryNotFoundError") continue;
647
+ return {
648
+ entry: null,
649
+ error: baseError,
650
+ isPreview: serveDrafts,
651
+ cacheHint: {}
652
+ };
653
+ }
654
+ if (!baseEntry) continue;
655
+ if (isPreviewMode && !isEditMode) {
656
+ const dbId = entryDatabaseId(baseEntry);
657
+ if (preview.id !== dbId && preview.id !== id) {
658
+ if (isVisible(baseEntry)) return successResult(wrapEntry(baseEntry), {
659
+ isPreview: false,
660
+ fallbackLocale,
661
+ cacheHint: cacheHint ?? {}
662
+ });
663
+ continue;
664
+ }
665
+ }
666
+ const draftRevisionId = dataStr(entryData(baseEntry), "draftRevisionId") || void 0;
667
+ if (draftRevisionId) {
668
+ const { entry: draftEntry, error: draftError } = await getLiveEntry(COLLECTION_NAME, {
669
+ type,
670
+ id,
671
+ revisionId: draftRevisionId,
672
+ locale
673
+ });
674
+ if (!draftError && draftEntry) return successResult(wrapEntry(draftEntry), {
675
+ isPreview: serveDrafts,
676
+ fallbackLocale,
677
+ cacheHint: cacheHint ?? {}
678
+ });
679
+ }
680
+ return successResult(wrapEntry(baseEntry), {
681
+ isPreview: serveDrafts,
682
+ fallbackLocale,
683
+ cacheHint: cacheHint ?? {}
684
+ });
685
+ }
686
+ return {
687
+ entry: null,
688
+ isPreview: serveDrafts,
689
+ cacheHint: {}
690
+ };
691
+ }
692
+ const resolveNormal = async () => {
693
+ for (let i = 0; i < localeChain.length; i++) {
694
+ const locale = localeChain[i];
695
+ const fallbackLocale = i > 0 ? locale : void 0;
696
+ const { entry, error, cacheHint } = await getLiveEntry(COLLECTION_NAME, {
697
+ type,
698
+ id,
699
+ locale
700
+ });
701
+ if (error) {
702
+ if (error.name === "LiveEntryNotFoundError") continue;
703
+ return {
704
+ entry: null,
705
+ error,
706
+ isPreview: false,
707
+ cacheHint: {}
708
+ };
709
+ }
710
+ if (entry && isVisible(entry)) return successResult(wrapEntry(entry), {
711
+ isPreview: false,
712
+ fallbackLocale,
713
+ cacheHint: cacheHint ?? {}
714
+ });
715
+ }
716
+ return {
717
+ entry: null,
718
+ isPreview: false,
719
+ cacheHint: {}
720
+ };
721
+ };
722
+ const namespaces = references ? [...contentNamespaces(type), ...await referenceTargetNamespaces(type, references)] : contentNamespaces(type);
723
+ const referenceKey = references ? `|refs=${stableStringify(references)}` : "";
724
+ const snapshot = await cachedQuery({
725
+ namespace: namespaces,
726
+ key: `entry:${id}|loc=${requestedLocale ?? ""}${referenceKey}`,
727
+ load: async () => {
728
+ const result = await resolveNormal();
729
+ if (result.error) return {
730
+ ok: false,
731
+ error: result.error,
732
+ cacheHint: result.cacheHint
733
+ };
734
+ return {
735
+ ok: true,
736
+ value: {
737
+ entry: result.entry ? entrySnapshot(result.entry) : null,
738
+ isPreview: result.isPreview,
739
+ fallbackLocale: result.fallbackLocale,
740
+ cacheHint: result.cacheHint
741
+ }
742
+ };
743
+ },
744
+ cacheable: (snap) => snap.ok
745
+ });
746
+ if (!snapshot.ok) return {
747
+ entry: null,
748
+ error: snapshot.error,
749
+ isPreview: false,
750
+ cacheHint: snapshot.cacheHint
751
+ };
752
+ const revived = snapshot.value.entry ? reviveEntry(snapshot.value.entry) : null;
753
+ if (revived && !canExposeRevisionMetadata(revived, type)) stripRevisionMetadata(revived);
754
+ if (revived) {
755
+ const { id: rowId, seo } = revived.data;
756
+ if (seo && typeof rowId === "string") primeSeoPanel(type, rowId, seo);
757
+ }
758
+ return {
759
+ entry: revived,
760
+ isPreview: snapshot.value.isPreview,
761
+ fallbackLocale: snapshot.value.fallbackLocale,
762
+ cacheHint: snapshot.value.cacheHint
763
+ };
764
+ }
765
+ /**
766
+ * Get one page of a single reference field, without re-reading the entry it
767
+ * hangs off.
768
+ *
769
+ * `getEmDashEntry({ references })` returns the first page of each field it is
770
+ * asked for; this is how a "load more" walks past it, using the `nextCursor`
771
+ * that page carried. Draft visibility follows the same request context — a
772
+ * preview token for this entry, or edit mode — so a walk started in preview
773
+ * keeps seeing the pending selection.
774
+ *
775
+ * @example
776
+ * ```ts
777
+ * import { getEmDashReferences } from "emdash";
778
+ *
779
+ * const more = await getEmDashReferences("posts", post.id, "related_posts", {
780
+ * cursor,
781
+ * limit: 20,
782
+ * });
783
+ * ```
784
+ */
785
+ async function getEmDashReferences(type, id, field, options) {
786
+ const ctx = getRequestContext();
787
+ const preview = ctx?.preview;
788
+ const isEditMode = ctx?.editMode ?? false;
789
+ const locale = options?.locale ?? ctx?.locale;
790
+ try {
791
+ const { getDb } = await import("./loader-CetY659y.mjs").then((n) => n.u);
792
+ const { ContentRepository } = await import("./content-CcHrqkgp.mjs").then((n) => n.n);
793
+ const { resolveReferencePages } = await import("./resolve-BxH64HN9.mjs");
794
+ const db = await getDb();
795
+ const addressed = splitLocalePrefixedId(id, locale);
796
+ const entry = await new ContentRepository(db).findByIdOrSlug(type, addressed.id, addressed.locale);
797
+ if (!entry?.translationGroup) return { entries: [] };
798
+ const previewMatches = !!preview && preview.collection === type && (preview.id === entry.id || preview.id === id);
799
+ const serveDrafts = isEditMode || previewMatches;
800
+ if (!serveDrafts && entry.status !== "published") return { entries: [] };
801
+ const query = options?.limit === void 0 && options?.cursor === void 0 ? true : {
802
+ limit: options.limit,
803
+ cursor: options.cursor
804
+ };
805
+ const page = (await resolveReferencePages({
806
+ collection: type,
807
+ entryGroup: entry.translationGroup,
808
+ locale: entry.locale,
809
+ draftRevisionId: entry.draftRevisionId ?? void 0,
810
+ serveDrafts,
811
+ selection: { [field]: query }
812
+ }))[field];
813
+ if (!page) return { entries: [] };
814
+ const tags = [];
815
+ let lastModified;
816
+ for (const child of page.entries) {
817
+ tags.push(...child.cacheHint.tags);
818
+ const modified = child.cacheHint.lastModified;
819
+ if (modified && (!lastModified || modified > lastModified)) lastModified = modified;
820
+ }
821
+ return {
822
+ entries: page.entries.map((child) => wrapReferencedEntry(page.collection, child)),
823
+ ...page.nextCursor === void 0 ? {} : { nextCursor: page.nextCursor },
824
+ cacheHint: {
825
+ tags,
826
+ ...lastModified ? { lastModified } : {}
827
+ }
828
+ };
829
+ } catch (error) {
830
+ return {
831
+ entries: [],
832
+ error: error instanceof Error ? error : new Error(String(error))
833
+ };
834
+ }
835
+ }
836
+ /**
837
+ * Take a locale prefix off an entry id, and read it as the locale to look in.
838
+ *
839
+ * Wherever i18n prefixes a locale's URLs, an entry is addressed as `fr/about`
840
+ * rather than `about` — that is the id the loader builds and the id a render
841
+ * holds, including for a referenced entry. Rows are stored under the bare slug,
842
+ * so the prefix has to become the locale instead. A first segment that is not a
843
+ * configured locale is part of the identifier and stays put.
844
+ */
845
+ function splitLocalePrefixedId(id, locale) {
846
+ const slash = id.indexOf("/");
847
+ if (slash === -1) return {
848
+ id,
849
+ locale
850
+ };
851
+ const prefix = id.slice(0, slash);
852
+ if (!getI18nConfig()?.locales.includes(prefix)) return {
853
+ id,
854
+ locale
855
+ };
856
+ return {
857
+ id: id.slice(slash + 1),
858
+ locale: prefix
859
+ };
860
+ }
861
+ /**
862
+ * Eagerly hydrate byline data onto entry.data for one or more entries.
863
+ *
864
+ * Attaches `bylines` (array of ContentBylineCredit) and `byline`
865
+ * (primary BylineSummary or null) to each entry's data object.
866
+ * Uses batch queries to avoid N+1.
867
+ *
868
+ * Fails silently if the byline tables don't exist yet (pre-migration).
869
+ */
870
+ async function hydrateEntryBylines(type, entries) {
871
+ if (entries.length === 0) return;
872
+ if (entries.every((e) => FOLDED_BYLINES in entryData(e))) {
873
+ const parsed = entries.map((entry) => {
874
+ const data = entryData(entry);
875
+ const folded = Reflect.get(data, FOLDED_BYLINES);
876
+ return {
877
+ data,
878
+ credits: creditsFromFoldedBylines(Array.isArray(folded) ? folded : [])
879
+ };
880
+ });
881
+ const knownEmpty = entries.every((e) => Reflect.get(entryData(e), FOLDED_BYLINES_EXIST) === false);
882
+ let needsQueryPath = !knownEmpty && parsed.some((p) => p.credits.length === 0 && (dataStr(p.data, "authorId") !== "" || dataStr(p.data, "primaryBylineId") !== ""));
883
+ let hasCustomFields = false;
884
+ if (!needsQueryPath && !knownEmpty) try {
885
+ const { getDb } = await import("./loader-CetY659y.mjs").then((n) => n.u);
886
+ const db = await getDb();
887
+ const { getBylineFieldDefs } = await import("./field-defs-cache-zoow36nz.mjs").then((n) => n.t);
888
+ hasCustomFields = (await getBylineFieldDefs(db)).length > 0;
889
+ } catch (error) {
890
+ if (!isMissingTableError(error)) needsQueryPath = true;
891
+ }
892
+ if (!needsQueryPath && !hasCustomFields) {
893
+ for (const p of parsed) {
894
+ p.data.bylines = p.credits;
895
+ p.data.byline = p.credits[0]?.byline ?? null;
896
+ }
897
+ return;
898
+ }
899
+ }
900
+ try {
901
+ const { getBylinesForEntries } = await import("./bylines-CHhR28r9.mjs").then((n) => n.t);
902
+ const refs = entries.map((e) => {
903
+ const data = entryData(e);
904
+ const id = dataStr(data, "id");
905
+ if (!id) return null;
906
+ return {
907
+ id,
908
+ authorId: dataStr(data, "authorId") || null,
909
+ primaryBylineId: dataStr(data, "primaryBylineId") || null,
910
+ locale: dataStr(data, "locale") || null
911
+ };
912
+ }).filter((r) => r !== null);
913
+ if (refs.length === 0) return;
914
+ const bylinesMap = await getBylinesForEntries(type, refs);
915
+ for (const entry of entries) {
916
+ const data = entryData(entry);
917
+ const dbId = dataStr(data, "id");
918
+ if (!dbId) continue;
919
+ const credits = bylinesMap.get(dbId) ?? [];
920
+ data.bylines = credits;
921
+ data.byline = credits[0]?.byline ?? null;
922
+ }
923
+ } catch (err) {
924
+ if (!isMissingTableError(err)) {
925
+ const msg = err instanceof Error ? err.message : String(err);
926
+ console.warn("[emdash] Failed to hydrate bylines:", msg);
927
+ }
928
+ }
929
+ }
930
+ /**
931
+ * Eagerly hydrate taxonomy term data onto entry.data for one or more entries.
932
+ *
933
+ * Attaches `terms` (Record keyed by taxonomy name with an array of TaxonomyTerm
934
+ * values) to each entry's data object. Uses a single batched JOIN query across
935
+ * all taxonomies so the cost is O(1) regardless of the number of entries or
936
+ * taxonomies on the site.
937
+ *
938
+ * This eliminates the common N+1 pattern where templates loop over list
939
+ * results and call getEntryTerms() per entry. With hydration, the list page
940
+ * stays at a single round-trip for term data.
941
+ *
942
+ * `locale` is the preferred locale the entries were resolved to. Each assigned
943
+ * group resolves that variant first, then the configured default. When it is
944
+ * omitted, the stored locale of each content row is preferred.
945
+ *
946
+ * Fails silently if the taxonomy tables don't exist yet (pre-migration).
947
+ */
948
+ async function hydrateEntryTerms(type, entries, locale) {
949
+ if (entries.length === 0) return;
950
+ if (entries.every((e) => FOLDED_TERMS in entryData(e))) {
951
+ const perEntry = [];
952
+ for (const entry of entries) {
953
+ const data = entryData(entry);
954
+ const folded = Reflect.get(data, FOLDED_TERMS);
955
+ const rows = Array.isArray(folded) ? folded : [];
956
+ const grouped = {};
957
+ for (const r of rows) {
958
+ const name = String(r?.name);
959
+ (grouped[name] ??= []).push({
960
+ id: r?.id,
961
+ name,
962
+ slug: r?.slug,
963
+ label: r?.label,
964
+ parentId: r?.parent_id ?? void 0,
965
+ children: [],
966
+ locale: r?.locale,
967
+ translationGroup: r?.translation_group
968
+ });
969
+ }
970
+ for (const [name, arr] of Object.entries(grouped)) grouped[name] = arr.toSorted((a, b) => String(a.label).localeCompare(String(b.label)));
971
+ data.terms = grouped;
972
+ const entryId = dataStr(data, "id");
973
+ if (entryId) perEntry.push({
974
+ entryId,
975
+ byTaxonomy: grouped
976
+ });
977
+ }
978
+ const { primeFoldedEntryTerms } = await import("./taxonomies-DQSywBvX.mjs").then((n) => n.f);
979
+ primeFoldedEntryTerms(type, perEntry, { locale });
980
+ return;
981
+ }
982
+ try {
983
+ const { getAllTermsForEntries } = await import("./taxonomies-DQSywBvX.mjs").then((n) => n.f);
984
+ const ids = entries.map((e) => dataStr(entryData(e), "id")).filter(Boolean);
985
+ if (ids.length === 0) return;
986
+ const termsMap = await getAllTermsForEntries(type, ids, { locale });
987
+ for (const entry of entries) {
988
+ const data = entryData(entry);
989
+ const dbId = dataStr(data, "id");
990
+ if (!dbId) continue;
991
+ data.terms = termsMap.get(dbId) ?? {};
992
+ }
993
+ } catch (err) {
994
+ if (!isMissingTableError(err)) {
995
+ const msg = err instanceof Error ? err.message : String(err);
996
+ console.warn("[emdash] Failed to hydrate terms:", msg);
997
+ }
998
+ }
999
+ }
1000
+ /**
1001
+ * Get all translations of a content item.
1002
+ *
1003
+ * Given a content entry, returns all locale variants that share the same
1004
+ * translation group. This is useful for building language switcher UI.
1005
+ *
1006
+ * @example
1007
+ * ```ts
1008
+ * import { getEmDashEntry, getTranslations } from "emdash";
1009
+ *
1010
+ * const { entry: post } = await getEmDashEntry("posts", "hello-world", { locale: "en" });
1011
+ * const { translations } = await getTranslations("posts", post.data.id);
1012
+ * // translations = [{ id: "...", locale: "en", slug: "hello-world", status: "published" }, ...]
1013
+ * ```
1014
+ */
1015
+ async function getTranslations(type, id) {
1016
+ try {
1017
+ const db = (await import("./loader-CetY659y.mjs").then((n) => n.u)).getDb;
1018
+ const dbInstance = await db();
1019
+ const { ContentRepository } = await import("./content-CcHrqkgp.mjs").then((n) => n.n);
1020
+ const repo = new ContentRepository(dbInstance);
1021
+ const item = await repo.findByIdOrSlug(type, id);
1022
+ if (!item) return {
1023
+ translationGroup: "",
1024
+ translations: [],
1025
+ error: /* @__PURE__ */ new Error(`Content item not found: ${id}`)
1026
+ };
1027
+ const group = item.translationGroup || item.id;
1028
+ return {
1029
+ translationGroup: group,
1030
+ translations: (await repo.findTranslations(type, group)).map((t) => ({
1031
+ id: t.id,
1032
+ locale: t.locale || "en",
1033
+ slug: t.slug,
1034
+ status: t.status
1035
+ }))
1036
+ };
1037
+ } catch (error) {
1038
+ return {
1039
+ translationGroup: "",
1040
+ translations: [],
1041
+ error: error instanceof Error ? error : new Error(String(error))
1042
+ };
1043
+ }
1044
+ }
1045
+ const URL_PATTERN_CACHE_KEY = Symbol.for("emdash:url-pattern-cache");
1046
+ const queryGlobal = globalThis;
1047
+ const urlPatternCache = queryGlobal[URL_PATTERN_CACHE_KEY] ?? (() => {
1048
+ const cache = { patterns: null };
1049
+ queryGlobal[URL_PATTERN_CACHE_KEY] = cache;
1050
+ return cache;
1051
+ })();
1052
+ /**
1053
+ * Invalidate the cached URL patterns used by resolveEmDashPath.
1054
+ * Call when collection URL patterns change (schema updates).
1055
+ *
1056
+ * Also busts the distributed schema cache (collection metadata such as
1057
+ * `commentsEnabled`, `supports`, fields read by `getCollectionInfo`) and the
1058
+ * per-isolate registered-collection-slugs cache used by term counting, since
1059
+ * every schema-mutation path already routes through here.
1060
+ */
1061
+ function invalidateUrlPatternCache() {
1062
+ urlPatternCache.patterns = null;
1063
+ resetRegisteredCollectionsCache();
1064
+ invalidateSchemaObjectCache();
1065
+ }
1066
+ /**
1067
+ * Resolve a URL path to a content entry by matching against collection URL patterns.
1068
+ *
1069
+ * Loads all collections with a `urlPattern` set, converts each pattern to a regex,
1070
+ * and tests the given path. On match, extracts the slug and fetches the entry.
1071
+ *
1072
+ * @example
1073
+ * ```ts
1074
+ * import { resolveEmDashPath } from "emdash";
1075
+ *
1076
+ * // Given pages with urlPattern "/{slug}" and posts with "/blog/{slug}":
1077
+ * const result = await resolveEmDashPath("/blog/hello-world");
1078
+ * if (result) {
1079
+ * console.log(result.collection); // "posts"
1080
+ * console.log(result.params.slug); // "hello-world"
1081
+ * console.log(result.entry.data); // post data
1082
+ * }
1083
+ * ```
1084
+ */
1085
+ async function resolveEmDashPath(path) {
1086
+ let cachedUrlPatterns = urlPatternCache.patterns;
1087
+ if (!cachedUrlPatterns) {
1088
+ const { getDb } = await import("./loader-CetY659y.mjs").then((n) => n.u);
1089
+ const { SchemaRegistry } = await import("./registry-DeZ27gVi.mjs").then((n) => n.r);
1090
+ const collections = await new SchemaRegistry(await getDb()).listCollections();
1091
+ cachedUrlPatterns = [];
1092
+ for (const collection of collections) {
1093
+ if (!collection.urlPattern) continue;
1094
+ try {
1095
+ const { regex, paramNames } = compileUrlPattern(collection.urlPattern);
1096
+ cachedUrlPatterns.push({
1097
+ slug: collection.slug,
1098
+ regex,
1099
+ paramNames
1100
+ });
1101
+ } catch (error) {
1102
+ const reason = error instanceof Error ? error.message : String(error);
1103
+ console.warn(`[emdash] Skipping URL pattern "${collection.urlPattern}" for collection "${collection.slug}": ${reason}. Update the collection's URL pattern to route its entries.`);
1104
+ }
1105
+ }
1106
+ urlPatternCache.patterns = cachedUrlPatterns;
1107
+ }
1108
+ for (const pattern of cachedUrlPatterns) {
1109
+ const match = path.match(pattern.regex);
1110
+ if (!match) continue;
1111
+ const params = {};
1112
+ for (let i = 0; i < pattern.paramNames.length; i++) params[pattern.paramNames[i]] = match[i + 1];
1113
+ const slug = params.slug;
1114
+ if (!slug) continue;
1115
+ const { entry } = await getEmDashEntry(pattern.slug, slug);
1116
+ if (entry) return {
1117
+ entry,
1118
+ collection: pattern.slug,
1119
+ params
1120
+ };
1121
+ }
1122
+ return null;
1123
+ }
1124
+
1125
+ //#endregion
1126
+ export { getTranslations as a, resolveEmDashPath as c, getEmDashReferences as i, createEditable as l, getEmDashCollection as n, invalidateUrlPatternCache as o, getEmDashEntry as r, query_exports as s, getEditMeta as t, createNoop as u };
1127
+ //# sourceMappingURL=query-BGG3sDEd.mjs.map