emdash 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1451) hide show
  1. package/dist/action-token-B1ds4laA.mjs +26 -0
  2. package/dist/action-token-B1ds4laA.mjs.map +1 -0
  3. package/dist/activation-sGF9br3X.mjs +387 -0
  4. package/dist/activation-sGF9br3X.mjs.map +1 -0
  5. package/dist/adapters-BOMSX9PU.d.mts +173 -0
  6. package/dist/adapters-BOMSX9PU.d.mts.map +1 -0
  7. package/dist/allowed-origins-CovsTkm3.mjs +116 -0
  8. package/dist/allowed-origins-CovsTkm3.mjs.map +1 -0
  9. package/dist/api/route-utils.d.mts +4 -4
  10. package/dist/api/route-utils.mjs +59 -57
  11. package/dist/api/route-utils.mjs.map +1 -1
  12. package/dist/api/schemas/index.d.mts +1 -1
  13. package/dist/api/schemas/index.mjs +11 -11
  14. package/dist/api-C_LxFnOm.mjs +5077 -0
  15. package/dist/api-C_LxFnOm.mjs.map +1 -0
  16. package/dist/api-tokens-DQ9Ee-vP.mjs +173 -0
  17. package/dist/api-tokens-DQ9Ee-vP.mjs.map +1 -0
  18. package/dist/apply-CLjfxvyH.mjs +1758 -0
  19. package/dist/apply-CLjfxvyH.mjs.map +1 -0
  20. package/dist/approvals-ocK89i4H.mjs +460 -0
  21. package/dist/approvals-ocK89i4H.mjs.map +1 -0
  22. package/dist/artifact-fetch-CgvvpoWQ.mjs +659 -0
  23. package/dist/artifact-fetch-CgvvpoWQ.mjs.map +1 -0
  24. package/dist/artifacts-DwOYYBQm.mjs +323 -0
  25. package/dist/artifacts-DwOYYBQm.mjs.map +1 -0
  26. package/dist/astro/image-endpoint.mjs +12 -2
  27. package/dist/astro/image-endpoint.mjs.map +1 -1
  28. package/dist/astro/index.d.mts +14 -14
  29. package/dist/astro/index.mjs +23 -12
  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.mjs +10 -10
  33. package/dist/astro/middleware/media-usage-write-fence.mjs +5 -5
  34. package/dist/astro/middleware/redirect.d.mts.map +1 -1
  35. package/dist/astro/middleware/redirect.mjs +128 -48
  36. package/dist/astro/middleware/redirect.mjs.map +1 -1
  37. package/dist/astro/middleware/request-context.d.mts.map +1 -1
  38. package/dist/astro/middleware/request-context.mjs +12 -8
  39. package/dist/astro/middleware/request-context.mjs.map +1 -1
  40. package/dist/astro/middleware/setup.mjs +1 -1
  41. package/dist/astro/middleware.d.mts +12 -12
  42. package/dist/astro/middleware.d.mts.map +1 -1
  43. package/dist/astro/middleware.mjs +134 -124
  44. package/dist/astro/middleware.mjs.map +1 -1
  45. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +16 -16
  46. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +16 -16
  47. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +6 -6
  48. package/dist/astro/routes/api/admin/api-tokens/index.mjs +7 -7
  49. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +7 -7
  50. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +19 -19
  51. package/dist/astro/routes/api/admin/byline-fields/index.mjs +19 -19
  52. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +19 -19
  53. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +29 -28
  54. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs.map +1 -1
  55. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +29 -28
  56. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs.map +1 -1
  57. package/dist/astro/routes/api/admin/bylines/index.mjs +29 -28
  58. package/dist/astro/routes/api/admin/bylines/index.mjs.map +1 -1
  59. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +21 -21
  60. package/dist/astro/routes/api/admin/comments/_id_.mjs +8 -8
  61. package/dist/astro/routes/api/admin/comments/bulk.mjs +20 -20
  62. package/dist/astro/routes/api/admin/comments/counts.mjs +8 -8
  63. package/dist/astro/routes/api/admin/comments/index.mjs +20 -20
  64. package/dist/astro/routes/api/admin/core-update.mjs +7 -7
  65. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +6 -6
  66. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +5 -5
  67. package/dist/astro/routes/api/admin/media-usage/activation.mjs +22 -22
  68. package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs +23 -23
  69. package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs +23 -23
  70. package/dist/astro/routes/api/admin/media-usage/progress.mjs +27 -26
  71. package/dist/astro/routes/api/admin/media-usage/progress.mjs.map +1 -1
  72. package/dist/astro/routes/api/admin/media-usage/repair.mjs +33 -32
  73. package/dist/astro/routes/api/admin/media-usage/repair.mjs.map +1 -1
  74. package/dist/astro/routes/api/admin/media-usage/work/index.mjs +23 -23
  75. package/dist/astro/routes/api/admin/media-usage/work/retry.mjs +23 -23
  76. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +6 -6
  77. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +6 -6
  78. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +8 -8
  79. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +8 -8
  80. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +81 -79
  81. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs.map +1 -1
  82. package/dist/astro/routes/api/admin/plugins/_id_/mcp.mjs +7 -7
  83. package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs +80 -78
  84. package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs.map +1 -1
  85. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +80 -78
  86. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs.map +1 -1
  87. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +91 -89
  88. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs.map +1 -1
  89. package/dist/astro/routes/api/admin/plugins/index.mjs +81 -79
  90. package/dist/astro/routes/api/admin/plugins/index.mjs.map +1 -1
  91. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +7 -7
  92. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +80 -78
  93. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs.map +1 -1
  94. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +90 -88
  95. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs.map +1 -1
  96. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +80 -78
  97. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs.map +1 -1
  98. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs +80 -78
  99. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs.map +1 -1
  100. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs +92 -90
  101. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs.map +1 -1
  102. package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs +9 -9
  103. package/dist/astro/routes/api/admin/plugins/registry/install.mjs +82 -80
  104. package/dist/astro/routes/api/admin/plugins/registry/install.mjs.map +1 -1
  105. package/dist/astro/routes/api/admin/plugins/registry/publisher-handle.mjs +7 -7
  106. package/dist/astro/routes/api/admin/plugins/registry/verify.mjs +81 -79
  107. package/dist/astro/routes/api/admin/plugins/registry/verify.mjs.map +1 -1
  108. package/dist/astro/routes/api/admin/plugins/updates.mjs +80 -78
  109. package/dist/astro/routes/api/admin/plugins/updates.mjs.map +1 -1
  110. package/dist/astro/routes/api/admin/scheduled-policy-rejections/_collection_/_id_.mjs +6 -6
  111. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +80 -78
  112. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs.map +1 -1
  113. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +7 -7
  114. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +80 -78
  115. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs.map +1 -1
  116. package/dist/astro/routes/api/admin/transfer/_...path_.mjs +4 -4
  117. package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.mjs +45 -43
  118. package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.mjs.map +1 -1
  119. package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.mjs +45 -43
  120. package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.mjs.map +1 -1
  121. package/dist/astro/routes/api/admin/transfer/approvals/index.mjs +47 -45
  122. package/dist/astro/routes/api/admin/transfer/approvals/index.mjs.map +1 -1
  123. package/dist/astro/routes/api/admin/transfer/capabilities.mjs +47 -45
  124. package/dist/astro/routes/api/admin/transfer/capabilities.mjs.map +1 -1
  125. package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.mjs +47 -45
  126. package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.mjs.map +1 -1
  127. package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.mjs +48 -46
  128. package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.mjs.map +1 -1
  129. package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.mjs +48 -46
  130. package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.mjs.map +1 -1
  131. package/dist/astro/routes/api/admin/transfer/exports/_id_/index.mjs +47 -45
  132. package/dist/astro/routes/api/admin/transfer/exports/_id_/index.mjs.map +1 -1
  133. package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.mjs +48 -46
  134. package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.mjs.map +1 -1
  135. package/dist/astro/routes/api/admin/transfer/exports/index.mjs +49 -47
  136. package/dist/astro/routes/api/admin/transfer/exports/index.mjs.map +1 -1
  137. package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.mjs +47 -45
  138. package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.mjs.map +1 -1
  139. package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.mjs +47 -45
  140. package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.mjs.map +1 -1
  141. package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.mjs +49 -47
  142. package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.mjs.map +1 -1
  143. package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.mjs +47 -45
  144. package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.mjs.map +1 -1
  145. package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.mjs +49 -47
  146. package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.mjs.map +1 -1
  147. package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.mjs +47 -45
  148. package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.mjs.map +1 -1
  149. package/dist/astro/routes/api/admin/transfer/imports/_id_/index.mjs +47 -45
  150. package/dist/astro/routes/api/admin/transfer/imports/_id_/index.mjs.map +1 -1
  151. package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.mjs +49 -47
  152. package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.mjs.map +1 -1
  153. package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.mjs +47 -45
  154. package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.mjs.map +1 -1
  155. package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.mjs +47 -45
  156. package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.mjs.map +1 -1
  157. package/dist/astro/routes/api/admin/transfer/imports/index.mjs +49 -47
  158. package/dist/astro/routes/api/admin/transfer/imports/index.mjs.map +1 -1
  159. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +5 -5
  160. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +4 -4
  161. package/dist/astro/routes/api/admin/users/_id_/index.mjs +17 -17
  162. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +6 -6
  163. package/dist/astro/routes/api/admin/users/index.mjs +16 -16
  164. package/dist/astro/routes/api/auth/dev-bypass.mjs +6 -6
  165. package/dist/astro/routes/api/auth/handover.mjs +6 -6
  166. package/dist/astro/routes/api/auth/invite/accept.mjs +4 -4
  167. package/dist/astro/routes/api/auth/invite/complete.mjs +21 -21
  168. package/dist/astro/routes/api/auth/invite/index.mjs +18 -18
  169. package/dist/astro/routes/api/auth/invite/register-options.mjs +19 -19
  170. package/dist/astro/routes/api/auth/logout.mjs +5 -5
  171. package/dist/astro/routes/api/auth/magic-link/send.mjs +20 -20
  172. package/dist/astro/routes/api/auth/magic-link/verify.mjs +17 -17
  173. package/dist/astro/routes/api/auth/me.mjs +17 -17
  174. package/dist/astro/routes/api/auth/mode.mjs +5 -5
  175. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +8 -8
  176. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
  177. package/dist/astro/routes/api/auth/passkey/_id_.mjs +16 -16
  178. package/dist/astro/routes/api/auth/passkey/index.mjs +4 -4
  179. package/dist/astro/routes/api/auth/passkey/options.mjs +21 -21
  180. package/dist/astro/routes/api/auth/passkey/register/options.mjs +19 -19
  181. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +20 -20
  182. package/dist/astro/routes/api/auth/passkey/verify.mjs +21 -21
  183. package/dist/astro/routes/api/auth/signup/complete.mjs +21 -21
  184. package/dist/astro/routes/api/auth/signup/request.mjs +19 -19
  185. package/dist/astro/routes/api/auth/signup/verify.mjs +4 -4
  186. package/dist/astro/routes/api/calendar.mjs +17 -17
  187. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +13 -13
  188. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +21 -21
  189. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +5 -5
  190. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +20 -20
  191. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +5 -5
  192. package/dist/astro/routes/api/content/_collection_/_id_/lock.mjs +19 -19
  193. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +6 -6
  194. package/dist/astro/routes/api/content/_collection_/_id_/plugin-extensions/_pluginId_/_kind_/_extensionId_.mjs +12 -12
  195. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +36 -35
  196. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs.map +1 -1
  197. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +20 -20
  198. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs +40 -39
  199. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs.map +1 -1
  200. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs +40 -39
  201. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs.map +1 -1
  202. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +6 -6
  203. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +5 -5
  204. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +20 -20
  205. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.d.mts.map +1 -1
  206. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +40 -32
  207. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs.map +1 -1
  208. package/dist/astro/routes/api/content/_collection_/_id_/translations.d.mts.map +1 -1
  209. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +9 -5
  210. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs.map +1 -1
  211. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +20 -20
  212. package/dist/astro/routes/api/content/_collection_/_id_.mjs +20 -20
  213. package/dist/astro/routes/api/content/_collection_/authors.mjs +5 -5
  214. package/dist/astro/routes/api/content/_collection_/index.mjs +17 -17
  215. package/dist/astro/routes/api/content/_collection_/trash.mjs +17 -17
  216. package/dist/astro/routes/api/dashboard.mjs +21 -15
  217. package/dist/astro/routes/api/dashboard.mjs.map +1 -1
  218. package/dist/astro/routes/api/dev/emails.mjs +5 -5
  219. package/dist/astro/routes/api/dev/scheduled-tasks.mjs +119 -117
  220. package/dist/astro/routes/api/dev/scheduled-tasks.mjs.map +1 -1
  221. package/dist/astro/routes/api/health.mjs +6 -6
  222. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  223. package/dist/astro/routes/api/import/probe.mjs +31 -29
  224. package/dist/astro/routes/api/import/probe.mjs.map +1 -1
  225. package/dist/astro/routes/api/import/wordpress/analyze.mjs +8 -8
  226. package/dist/astro/routes/api/import/wordpress/execute.d.mts +13 -13
  227. package/dist/astro/routes/api/import/wordpress/execute.mjs +31 -30
  228. package/dist/astro/routes/api/import/wordpress/execute.mjs.map +1 -1
  229. package/dist/astro/routes/api/import/wordpress/media.d.mts +12 -12
  230. package/dist/astro/routes/api/import/wordpress/media.mjs +21 -21
  231. package/dist/astro/routes/api/import/wordpress/prepare.mjs +22 -22
  232. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +13 -13
  233. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +32 -31
  234. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs.map +1 -1
  235. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  236. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +31 -29
  237. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs.map +1 -1
  238. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +13 -13
  239. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +42 -40
  240. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs.map +1 -1
  241. package/dist/astro/routes/api/manifest.mjs +6 -6
  242. package/dist/astro/routes/api/mcp.mjs +117 -100
  243. package/dist/astro/routes/api/mcp.mjs.map +1 -1
  244. package/dist/astro/routes/api/media/_id_/confirm.mjs +21 -21
  245. package/dist/astro/routes/api/media/_id_/replace.mjs +18 -18
  246. package/dist/astro/routes/api/media/_id_/upload.mjs +9 -9
  247. package/dist/astro/routes/api/media/_id_/usage.mjs +35 -34
  248. package/dist/astro/routes/api/media/_id_/usage.mjs.map +1 -1
  249. package/dist/astro/routes/api/media/_id_.mjs +33 -32
  250. package/dist/astro/routes/api/media/_id_.mjs.map +1 -1
  251. package/dist/astro/routes/api/media/asset/_id_/_filename_.mjs +6 -6
  252. package/dist/astro/routes/api/media/file/_...key_.mjs +21 -13
  253. package/dist/astro/routes/api/media/file/_...key_.mjs.map +1 -1
  254. package/dist/astro/routes/api/media/folders/_id_.mjs +18 -18
  255. package/dist/astro/routes/api/media/folders/index.mjs +18 -18
  256. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +5 -5
  257. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +5 -5
  258. package/dist/astro/routes/api/media/providers/index.mjs +5 -5
  259. package/dist/astro/routes/api/media/upload-url.mjs +20 -20
  260. package/dist/astro/routes/api/media.mjs +37 -36
  261. package/dist/astro/routes/api/media.mjs.map +1 -1
  262. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +22 -21
  263. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs.map +1 -1
  264. package/dist/astro/routes/api/menus/_name_/items.mjs +22 -21
  265. package/dist/astro/routes/api/menus/_name_/items.mjs.map +1 -1
  266. package/dist/astro/routes/api/menus/_name_/reorder.mjs +22 -21
  267. package/dist/astro/routes/api/menus/_name_/reorder.mjs.map +1 -1
  268. package/dist/astro/routes/api/menus/_name_/translations.mjs +22 -21
  269. package/dist/astro/routes/api/menus/_name_/translations.mjs.map +1 -1
  270. package/dist/astro/routes/api/menus/_name_.mjs +22 -21
  271. package/dist/astro/routes/api/menus/_name_.mjs.map +1 -1
  272. package/dist/astro/routes/api/menus/index.mjs +22 -21
  273. package/dist/astro/routes/api/menus/index.mjs.map +1 -1
  274. package/dist/astro/routes/api/oauth/authorize.mjs +6 -6
  275. package/dist/astro/routes/api/oauth/device/authorize.mjs +8 -8
  276. package/dist/astro/routes/api/oauth/device/code.mjs +11 -11
  277. package/dist/astro/routes/api/oauth/device/token.mjs +10 -10
  278. package/dist/astro/routes/api/oauth/register.mjs +7 -7
  279. package/dist/astro/routes/api/oauth/token/refresh.mjs +8 -8
  280. package/dist/astro/routes/api/oauth/token/revoke.mjs +8 -8
  281. package/dist/astro/routes/api/oauth/token.mjs +8 -8
  282. package/dist/astro/routes/api/openapi.json.mjs +22 -22
  283. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +12 -12
  284. package/dist/astro/routes/api/redirects/404s/index.mjs +23 -22
  285. package/dist/astro/routes/api/redirects/404s/index.mjs.map +1 -1
  286. package/dist/astro/routes/api/redirects/404s/summary.mjs +23 -22
  287. package/dist/astro/routes/api/redirects/404s/summary.mjs.map +1 -1
  288. package/dist/astro/routes/api/redirects/_id_.mjs +24 -23
  289. package/dist/astro/routes/api/redirects/_id_.mjs.map +1 -1
  290. package/dist/astro/routes/api/redirects/index.mjs +24 -23
  291. package/dist/astro/routes/api/redirects/index.mjs.map +1 -1
  292. package/dist/astro/routes/api/relations/_id_/index.mjs +40 -39
  293. package/dist/astro/routes/api/relations/_id_/index.mjs.map +1 -1
  294. package/dist/astro/routes/api/relations/index.mjs +40 -39
  295. package/dist/astro/routes/api/relations/index.mjs.map +1 -1
  296. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +5 -5
  297. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +19 -19
  298. package/dist/astro/routes/api/schema/block-types/_slug_/index.mjs +80 -78
  299. package/dist/astro/routes/api/schema/block-types/_slug_/index.mjs.map +1 -1
  300. package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.mjs +80 -78
  301. package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.mjs.map +1 -1
  302. package/dist/astro/routes/api/schema/block-types/index.mjs +80 -78
  303. package/dist/astro/routes/api/schema/block-types/index.mjs.map +1 -1
  304. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +80 -78
  305. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs.map +1 -1
  306. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +80 -78
  307. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs.map +1 -1
  308. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +80 -78
  309. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs.map +1 -1
  310. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +80 -78
  311. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs.map +1 -1
  312. package/dist/astro/routes/api/schema/collections/index.mjs +80 -78
  313. package/dist/astro/routes/api/schema/collections/index.mjs.map +1 -1
  314. package/dist/astro/routes/api/schema/collections/reorder.mjs +80 -78
  315. package/dist/astro/routes/api/schema/collections/reorder.mjs.map +1 -1
  316. package/dist/astro/routes/api/schema/index.mjs +20 -19
  317. package/dist/astro/routes/api/schema/index.mjs.map +1 -1
  318. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +80 -78
  319. package/dist/astro/routes/api/schema/orphans/_slug_.mjs.map +1 -1
  320. package/dist/astro/routes/api/schema/orphans/index.mjs +80 -78
  321. package/dist/astro/routes/api/schema/orphans/index.mjs.map +1 -1
  322. package/dist/astro/routes/api/search/enable.mjs +23 -22
  323. package/dist/astro/routes/api/search/enable.mjs.map +1 -1
  324. package/dist/astro/routes/api/search/index.mjs +22 -21
  325. package/dist/astro/routes/api/search/index.mjs.map +1 -1
  326. package/dist/astro/routes/api/search/rebuild.mjs +23 -22
  327. package/dist/astro/routes/api/search/rebuild.mjs.map +1 -1
  328. package/dist/astro/routes/api/search/stats.mjs +12 -11
  329. package/dist/astro/routes/api/search/stats.mjs.map +1 -1
  330. package/dist/astro/routes/api/search/suggest.mjs +22 -21
  331. package/dist/astro/routes/api/search/suggest.mjs.map +1 -1
  332. package/dist/astro/routes/api/sections/_slug_.mjs +22 -21
  333. package/dist/astro/routes/api/sections/_slug_.mjs.map +1 -1
  334. package/dist/astro/routes/api/sections/index.mjs +22 -21
  335. package/dist/astro/routes/api/sections/index.mjs.map +1 -1
  336. package/dist/astro/routes/api/settings/backups/archives/_name_.mjs +7 -7
  337. package/dist/astro/routes/api/settings/backups/archives/index.mjs +7 -7
  338. package/dist/astro/routes/api/settings/backups/export.mjs +7 -7
  339. package/dist/astro/routes/api/settings/backups/index.mjs +8 -8
  340. package/dist/astro/routes/api/settings/domain-notify.mjs +9 -9
  341. package/dist/astro/routes/api/settings/domain.mjs +22 -20
  342. package/dist/astro/routes/api/settings/domain.mjs.map +1 -1
  343. package/dist/astro/routes/api/settings/email.mjs +6 -6
  344. package/dist/astro/routes/api/settings.mjs +29 -27
  345. package/dist/astro/routes/api/settings.mjs.map +1 -1
  346. package/dist/astro/routes/api/setup/admin-verify.mjs +23 -23
  347. package/dist/astro/routes/api/setup/admin.mjs +20 -20
  348. package/dist/astro/routes/api/setup/dev-bypass.mjs +52 -50
  349. package/dist/astro/routes/api/setup/dev-bypass.mjs.map +1 -1
  350. package/dist/astro/routes/api/setup/dev-reset.mjs +4 -4
  351. package/dist/astro/routes/api/setup/index.mjs +58 -56
  352. package/dist/astro/routes/api/setup/index.mjs.map +1 -1
  353. package/dist/astro/routes/api/setup/status.mjs +6 -6
  354. package/dist/astro/routes/api/site/domain-proof.mjs +16 -14
  355. package/dist/astro/routes/api/site/domain-proof.mjs.map +1 -1
  356. package/dist/astro/routes/api/snapshot.mjs +8 -8
  357. package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs +30 -29
  358. package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs.map +1 -1
  359. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +30 -29
  360. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs.map +1 -1
  361. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +30 -29
  362. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs.map +1 -1
  363. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +30 -29
  364. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs.map +1 -1
  365. package/dist/astro/routes/api/taxonomies/_name_/translations.mjs +28 -27
  366. package/dist/astro/routes/api/taxonomies/_name_/translations.mjs.map +1 -1
  367. package/dist/astro/routes/api/taxonomies/_name_.mjs +30 -29
  368. package/dist/astro/routes/api/taxonomies/_name_.mjs.map +1 -1
  369. package/dist/astro/routes/api/taxonomies/bulk-tag.mjs +44 -43
  370. package/dist/astro/routes/api/taxonomies/bulk-tag.mjs.map +1 -1
  371. package/dist/astro/routes/api/taxonomies/index.mjs +30 -29
  372. package/dist/astro/routes/api/taxonomies/index.mjs.map +1 -1
  373. package/dist/astro/routes/api/themes/preview.mjs +6 -6
  374. package/dist/astro/routes/api/typegen.mjs +6 -6
  375. package/dist/astro/routes/api/visual-editing/action-token.mjs +6 -6
  376. package/dist/astro/routes/api/visual-editing/content/_collection_/_id_/publish.mjs +21 -21
  377. package/dist/astro/routes/api/visual-editing/toolbar-labels.mjs +4 -4
  378. package/dist/astro/routes/api/well-known/auth.mjs +1 -1
  379. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +2 -2
  380. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +2 -2
  381. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +19 -19
  382. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +24 -23
  383. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs.map +1 -1
  384. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +24 -23
  385. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs.map +1 -1
  386. package/dist/astro/routes/api/widget-areas/_name_.mjs +13 -12
  387. package/dist/astro/routes/api/widget-areas/_name_.mjs.map +1 -1
  388. package/dist/astro/routes/api/widget-areas/index.mjs +24 -23
  389. package/dist/astro/routes/api/widget-areas/index.mjs.map +1 -1
  390. package/dist/astro/routes/api/widget-components.mjs +5 -5
  391. package/dist/astro/routes/robots.txt.mjs +15 -13
  392. package/dist/astro/routes/robots.txt.mjs.map +1 -1
  393. package/dist/astro/routes/sitemap-_collection_.xml.mjs +19 -17
  394. package/dist/astro/routes/sitemap-_collection_.xml.mjs.map +1 -1
  395. package/dist/astro/routes/sitemap.xml.mjs +16 -14
  396. package/dist/astro/routes/sitemap.xml.mjs.map +1 -1
  397. package/dist/astro/types.d.mts +17 -17
  398. package/dist/audit-B8XE-0UV.mjs +127 -0
  399. package/dist/audit-B8XE-0UV.mjs.map +1 -0
  400. package/dist/auth/providers/github.d.mts +1 -1
  401. package/dist/auth/providers/google.d.mts +1 -1
  402. package/dist/auth/providers/microsoft.d.mts +1 -1
  403. package/dist/authoritative-records-LPtrIGOY.mjs +5183 -0
  404. package/dist/authoritative-records-LPtrIGOY.mjs.map +1 -0
  405. package/dist/authorize-CoDsRRp5.mjs +74 -0
  406. package/dist/authorize-CoDsRRp5.mjs.map +1 -0
  407. package/dist/backup-2Wj-hTCN.mjs +246 -0
  408. package/dist/backup-2Wj-hTCN.mjs.map +1 -0
  409. package/dist/block-types-C3gJEe7l.mjs +132 -0
  410. package/dist/block-types-C3gJEe7l.mjs.map +1 -0
  411. package/dist/block-values-CgbMtSGU.mjs +215 -0
  412. package/dist/block-values-CgbMtSGU.mjs.map +1 -0
  413. package/dist/byline-CzGZC2Zs.mjs +922 -0
  414. package/dist/byline-CzGZC2Zs.mjs.map +1 -0
  415. package/dist/byline-fields-B1qHvRps.mjs +280 -0
  416. package/dist/byline-fields-B1qHvRps.mjs.map +1 -0
  417. package/dist/byline-fields-vYd_4Q1e.mjs +123 -0
  418. package/dist/byline-fields-vYd_4Q1e.mjs.map +1 -0
  419. package/dist/byline-registry-BhzpO41z.mjs +406 -0
  420. package/dist/byline-registry-BhzpO41z.mjs.map +1 -0
  421. package/dist/bylines-BF555iIz.mjs +150 -0
  422. package/dist/bylines-BF555iIz.mjs.map +1 -0
  423. package/dist/bylines-DJx6IWWi.mjs +234 -0
  424. package/dist/bylines-DJx6IWWi.mjs.map +1 -0
  425. package/dist/cache-BWzswWB-.mjs +151 -0
  426. package/dist/cache-BWzswWB-.mjs.map +1 -0
  427. package/dist/canonical-DjF_z6GI.mjs +174 -0
  428. package/dist/canonical-DjF_z6GI.mjs.map +1 -0
  429. package/dist/capture-triggers-D7g3fOZj.mjs +362 -0
  430. package/dist/capture-triggers-D7g3fOZj.mjs.map +1 -0
  431. package/dist/challenge-store-Cfjdvw86.mjs +51 -0
  432. package/dist/challenge-store-Cfjdvw86.mjs.map +1 -0
  433. package/dist/checksum-BF4acJwn.mjs +162 -0
  434. package/dist/checksum-BF4acJwn.mjs.map +1 -0
  435. package/dist/chrome-tags-BDs29G3g.mjs +24 -0
  436. package/dist/chrome-tags-BDs29G3g.mjs.map +1 -0
  437. package/dist/chunks-CYBOL-zn.mjs +25 -0
  438. package/dist/chunks-CYBOL-zn.mjs.map +1 -0
  439. package/dist/cli/index.mjs +67 -65
  440. package/dist/cli/index.mjs.map +1 -1
  441. package/dist/client/cf-access.d.mts +1 -1
  442. package/dist/client/index.d.mts +48 -48
  443. package/dist/client/index.d.mts.map +1 -1
  444. package/dist/client/index.mjs +4 -3
  445. package/dist/client/index.mjs.map +1 -1
  446. package/dist/collection-slugs-cache-B2J5aESO.mjs +91 -0
  447. package/dist/collection-slugs-cache-B2J5aESO.mjs.map +1 -0
  448. package/dist/comment-DV7dybcs.mjs +335 -0
  449. package/dist/comment-DV7dybcs.mjs.map +1 -0
  450. package/dist/comment-reaction-CWwqiT6x.mjs +85 -0
  451. package/dist/comment-reaction-CWwqiT6x.mjs.map +1 -0
  452. package/dist/comments-DVjWJm8X.mjs +99 -0
  453. package/dist/comments-DVjWJm8X.mjs.map +1 -0
  454. package/dist/comments-Q-ILHCEI.mjs +195 -0
  455. package/dist/comments-Q-ILHCEI.mjs.map +1 -0
  456. package/dist/components-DnOmvvgg.mjs +112 -0
  457. package/dist/components-DnOmvvgg.mjs.map +1 -0
  458. package/dist/config-9IzA83_U.d.mts +6811 -0
  459. package/dist/config-9IzA83_U.d.mts.map +1 -0
  460. package/dist/config-BdQzFtmR.mjs +228 -0
  461. package/dist/config-BdQzFtmR.mjs.map +1 -0
  462. package/dist/config-Cs2RBkJ6.d.mts +41 -0
  463. package/dist/config-Cs2RBkJ6.d.mts.map +1 -0
  464. package/dist/config-Cs_AwWXI.mjs +106 -0
  465. package/dist/config-Cs_AwWXI.mjs.map +1 -0
  466. package/dist/connection-CiXgZyCY.mjs +36 -0
  467. package/dist/connection-CiXgZyCY.mjs.map +1 -0
  468. package/dist/content-Dt0Os_WQ.mjs +2109 -0
  469. package/dist/content-Dt0Os_WQ.mjs.map +1 -0
  470. package/dist/content-list-query-BK26u9Ly.d.mts +26 -0
  471. package/dist/content-list-query-BK26u9Ly.d.mts.map +1 -0
  472. package/dist/content-policy-BLDbNJOb.mjs +46 -0
  473. package/dist/content-policy-BLDbNJOb.mjs.map +1 -0
  474. package/dist/content-repair-CjwbLy4m.mjs +442 -0
  475. package/dist/content-repair-CjwbLy4m.mjs.map +1 -0
  476. package/dist/context-ErV7UdQY.mjs +2089 -0
  477. package/dist/context-ErV7UdQY.mjs.map +1 -0
  478. package/dist/credits-BRyjafiF.mjs +110 -0
  479. package/dist/credits-BRyjafiF.mjs.map +1 -0
  480. package/dist/cron-Bm5xa7tv.mjs +306 -0
  481. package/dist/cron-Bm5xa7tv.mjs.map +1 -0
  482. package/dist/dashboard-DVxQ5XiI.mjs +168 -0
  483. package/dist/dashboard-DVxQ5XiI.mjs.map +1 -0
  484. package/dist/database/migration-lock.mjs +1 -1
  485. package/dist/db/index.d.mts +3 -3
  486. package/dist/db/index.mjs +2 -2
  487. package/dist/db/libsql-migrations.d.mts +1 -1
  488. package/dist/db/libsql-migrations.mjs +5 -5
  489. package/dist/db/libsql.d.mts +1 -1
  490. package/dist/db/postgres-migrations.d.mts +1 -1
  491. package/dist/db/postgres-migrations.mjs +5 -5
  492. package/dist/db/postgres.d.mts +1 -1
  493. package/dist/db/sqlite-migrations.d.mts +1 -1
  494. package/dist/db/sqlite-migrations.mjs +5 -5
  495. package/dist/db/sqlite.d.mts +1 -1
  496. package/dist/db/sqlite.mjs +1 -1
  497. package/dist/db-errors-unnO6yiZ.mjs +65 -0
  498. package/dist/db-errors-unnO6yiZ.mjs.map +1 -0
  499. package/dist/default-B9Tf2n94.mjs +81 -0
  500. package/dist/default-B9Tf2n94.mjs.map +1 -0
  501. package/dist/deferred-tasks-CpPEqsga.d.mts +9 -0
  502. package/dist/deferred-tasks-CpPEqsga.d.mts.map +1 -0
  503. package/dist/destination-DR3IHjmy.mjs +18 -0
  504. package/dist/destination-DR3IHjmy.mjs.map +1 -0
  505. package/dist/dev-typegen-ZeWYV8Jp.mjs +29 -0
  506. package/dist/dev-typegen-ZeWYV8Jp.mjs.map +1 -0
  507. package/dist/device-flow-BbYNZ9Xi.mjs +521 -0
  508. package/dist/device-flow-BbYNZ9Xi.mjs.map +1 -0
  509. package/dist/digest-DlBa7kJl.mjs +194 -0
  510. package/dist/digest-DlBa7kJl.mjs.map +1 -0
  511. package/dist/direct-executor-5T8gkhvA.mjs +117 -0
  512. package/dist/direct-executor-5T8gkhvA.mjs.map +1 -0
  513. package/dist/dist-DY0aOmAP.mjs +810 -0
  514. package/dist/dist-DY0aOmAP.mjs.map +1 -0
  515. package/dist/email-console-v3OM8It-.mjs +50 -0
  516. package/dist/email-console-v3OM8It-.mjs.map +1 -0
  517. package/dist/email-locale-CoZo-oZx.mjs +25 -0
  518. package/dist/email-locale-CoZo-oZx.mjs.map +1 -0
  519. package/dist/emdash-runtime-DwezbIqQ.mjs +4392 -0
  520. package/dist/emdash-runtime-DwezbIqQ.mjs.map +1 -0
  521. package/dist/enrich-C3XIJi0O.mjs +194 -0
  522. package/dist/enrich-C3XIJi0O.mjs.map +1 -0
  523. package/dist/entry-lock-CY7XpdSw.d.mts +4568 -0
  524. package/dist/entry-lock-CY7XpdSw.d.mts.map +1 -0
  525. package/dist/entry-lock-DDuWaAiP.mjs +1211 -0
  526. package/dist/entry-lock-DDuWaAiP.mjs.map +1 -0
  527. package/dist/entry-lock-D_Og9Gy3.mjs +163 -0
  528. package/dist/entry-lock-D_Og9Gy3.mjs.map +1 -0
  529. package/dist/entry-locks-Cp8_BcQQ.mjs +167 -0
  530. package/dist/entry-locks-Cp8_BcQQ.mjs.map +1 -0
  531. package/dist/env-types-Br8uywYA.mjs +38 -0
  532. package/dist/env-types-Br8uywYA.mjs.map +1 -0
  533. package/dist/error-CT2SsX5S.mjs +90 -0
  534. package/dist/error-CT2SsX5S.mjs.map +1 -0
  535. package/dist/errors-BMaCpLeS.mjs +479 -0
  536. package/dist/errors-BMaCpLeS.mjs.map +1 -0
  537. package/dist/errors-DlJwot7q.mjs +120 -0
  538. package/dist/errors-DlJwot7q.mjs.map +1 -0
  539. package/dist/escape-BfbDyuQ-.mjs +9 -0
  540. package/dist/escape-BfbDyuQ-.mjs.map +1 -0
  541. package/dist/fence-BOD3SxZG.mjs +162 -0
  542. package/dist/fence-BOD3SxZG.mjs.map +1 -0
  543. package/dist/field-defs-cache-C7sR7ZeU.mjs +77 -0
  544. package/dist/field-defs-cache-C7sR7ZeU.mjs.map +1 -0
  545. package/dist/field-map-C_rDXfdJ.mjs +84 -0
  546. package/dist/field-map-C_rDXfdJ.mjs.map +1 -0
  547. package/dist/focal-point-CgCcr1Ca.mjs +23 -0
  548. package/dist/focal-point-CgCcr1Ca.mjs.map +1 -0
  549. package/dist/fts-manager-BzFo0xx6.mjs +483 -0
  550. package/dist/fts-manager-BzFo0xx6.mjs.map +1 -0
  551. package/dist/gc-B_c3DPpi.mjs +75 -0
  552. package/dist/gc-B_c3DPpi.mjs.map +1 -0
  553. package/dist/hash-A-o2ZX8O.mjs +37 -0
  554. package/dist/hash-A-o2ZX8O.mjs.map +1 -0
  555. package/dist/hook-result-f8t7hIuu.d.mts +31 -0
  556. package/dist/hook-result-f8t7hIuu.d.mts.map +1 -0
  557. package/dist/hreflang-BpUK9Lcu.mjs +105 -0
  558. package/dist/hreflang-BpUK9Lcu.mjs.map +1 -0
  559. package/dist/hreflang-D07R-RbI.d.mts +50 -0
  560. package/dist/hreflang-D07R-RbI.d.mts.map +1 -0
  561. package/dist/http-route-dispatch-C2Ep2Uf6.mjs +342 -0
  562. package/dist/http-route-dispatch-C2Ep2Uf6.mjs.map +1 -0
  563. package/dist/identity-BivQ8wkV.mjs +35 -0
  564. package/dist/identity-BivQ8wkV.mjs.map +1 -0
  565. package/dist/import-B4UvHNJz.mjs +2126 -0
  566. package/dist/import-B4UvHNJz.mjs.map +1 -0
  567. package/dist/index-C37Ty40w.d.mts +623 -0
  568. package/dist/index-C37Ty40w.d.mts.map +1 -0
  569. package/dist/index.d.mts +23 -23
  570. package/dist/index.mjs +112 -110
  571. package/dist/install-finalization-BbYaB4wj.mjs +58 -0
  572. package/dist/install-finalization-BbYaB4wj.mjs.map +1 -0
  573. package/dist/json-recordset-BjYIWFkV.mjs +12 -0
  574. package/dist/json-recordset-BjYIWFkV.mjs.map +1 -0
  575. package/dist/json-schema-Cde7le0s.mjs +15 -0
  576. package/dist/json-schema-Cde7le0s.mjs.map +1 -0
  577. package/dist/keys-CusTXpw-.mjs +61 -0
  578. package/dist/keys-CusTXpw-.mjs.map +1 -0
  579. package/dist/kinds-DogmNB6n.mjs +974 -0
  580. package/dist/kinds-DogmNB6n.mjs.map +1 -0
  581. package/dist/lifecycle-BLCoCz4T.mjs +25 -0
  582. package/dist/lifecycle-BLCoCz4T.mjs.map +1 -0
  583. package/dist/load-Dds3KhXr.mjs +28 -0
  584. package/dist/load-Dds3KhXr.mjs.map +1 -0
  585. package/dist/loader-D4w4XE7q.mjs +1420 -0
  586. package/dist/loader-D4w4XE7q.mjs.map +1 -0
  587. package/dist/loops-IYgzQdQu.mjs +205 -0
  588. package/dist/loops-IYgzQdQu.mjs.map +1 -0
  589. package/dist/manifest-builder-CGF5kujD.mjs +196 -0
  590. package/dist/manifest-builder-CGF5kujD.mjs.map +1 -0
  591. package/dist/manifest-schema-B0BxPSjB.mjs +497 -0
  592. package/dist/manifest-schema-B0BxPSjB.mjs.map +1 -0
  593. package/dist/marketplace-DNvEGLqU.mjs +257 -0
  594. package/dist/marketplace-DNvEGLqU.mjs.map +1 -0
  595. package/dist/media/image-endpoint.d.mts +3 -2
  596. package/dist/media/image-endpoint.d.mts.map +1 -1
  597. package/dist/media/image-endpoint.mjs +17 -8
  598. package/dist/media/image-endpoint.mjs.map +1 -1
  599. package/dist/media/index.d.mts +1 -1
  600. package/dist/media/index.mjs +7 -6
  601. package/dist/media/index.mjs.map +1 -1
  602. package/dist/media/local-runtime.d.mts +14 -14
  603. package/dist/media/local-runtime.d.mts.map +1 -1
  604. package/dist/media/local-runtime.mjs +18 -13
  605. package/dist/media/local-runtime.mjs.map +1 -1
  606. package/dist/media-BL9MRrSG.mjs +294 -0
  607. package/dist/media-BL9MRrSG.mjs.map +1 -0
  608. package/dist/media-B_x5B9EA.mjs +373 -0
  609. package/dist/media-B_x5B9EA.mjs.map +1 -0
  610. package/dist/media-allowlist-CpmqBbIQ.mjs +45 -0
  611. package/dist/media-allowlist-CpmqBbIQ.mjs.map +1 -0
  612. package/dist/media-folders-CNs_A_B-.mjs +210 -0
  613. package/dist/media-folders-CNs_A_B-.mjs.map +1 -0
  614. package/dist/media-qTTHVkls.mjs +416 -0
  615. package/dist/media-qTTHVkls.mjs.map +1 -0
  616. package/dist/media-url-GJboA1fl.mjs +43 -0
  617. package/dist/media-url-GJboA1fl.mjs.map +1 -0
  618. package/dist/media-usage-ClWgrX0d.mjs +282 -0
  619. package/dist/media-usage-ClWgrX0d.mjs.map +1 -0
  620. package/dist/media-usage-activation-B8Fjtq0h.mjs +78 -0
  621. package/dist/media-usage-activation-B8Fjtq0h.mjs.map +1 -0
  622. package/dist/media-usage-work-L8-Au4j-.mjs +1036 -0
  623. package/dist/media-usage-work-L8-Au4j-.mjs.map +1 -0
  624. package/dist/media-usage-work-LXgze5j9.mjs +151 -0
  625. package/dist/media-usage-work-LXgze5j9.mjs.map +1 -0
  626. package/dist/menus-BAxcbsbv.mjs +818 -0
  627. package/dist/menus-BAxcbsbv.mjs.map +1 -0
  628. package/dist/menus-BI6oBXco.mjs +92 -0
  629. package/dist/menus-BI6oBXco.mjs.map +1 -0
  630. package/dist/menus-fvGFd4m6.mjs +3725 -0
  631. package/dist/menus-fvGFd4m6.mjs.map +1 -0
  632. package/dist/migrations/index.d.mts +1 -1
  633. package/dist/migrations/index.mjs +4 -4
  634. package/dist/mime-DwhtRyUt.mjs +81 -0
  635. package/dist/mime-DwhtRyUt.mjs.map +1 -0
  636. package/dist/mode-DIDSUwuN.mjs +23 -0
  637. package/dist/mode-DIDSUwuN.mjs.map +1 -0
  638. package/dist/node-sqlite-compat-Ddr_mlR9.mjs +63 -0
  639. package/dist/node-sqlite-compat-Ddr_mlR9.mjs.map +1 -0
  640. package/dist/normalize-Ip_hFAm8.mjs +216 -0
  641. package/dist/normalize-Ip_hFAm8.mjs.map +1 -0
  642. package/dist/oauth-authorization-CcMgeT8R.mjs +274 -0
  643. package/dist/oauth-authorization-CcMgeT8R.mjs.map +1 -0
  644. package/dist/oauth-clients-C_osi0PU.mjs +266 -0
  645. package/dist/oauth-clients-C_osi0PU.mjs.map +1 -0
  646. package/dist/oauth-state-store-DGLP-6CK.mjs +50 -0
  647. package/dist/oauth-state-store-DGLP-6CK.mjs.map +1 -0
  648. package/dist/oauth-user-lookup-z77Ee0Hm.mjs +26 -0
  649. package/dist/oauth-user-lookup-z77Ee0Hm.mjs.map +1 -0
  650. package/dist/object-cache/memory.d.mts +1 -1
  651. package/dist/object-cache-EjasjtoQ.mjs +586 -0
  652. package/dist/object-cache-EjasjtoQ.mjs.map +1 -0
  653. package/dist/options-CmUpkyKW.d.mts +81 -0
  654. package/dist/options-CmUpkyKW.d.mts.map +1 -0
  655. package/dist/ownership-DCk5NutQ.mjs +12 -0
  656. package/dist/ownership-DCk5NutQ.mjs.map +1 -0
  657. package/dist/page/index.d.mts +2 -2
  658. package/dist/page/index.mjs +14 -12
  659. package/dist/page/index.mjs.map +1 -1
  660. package/dist/parse-2W-E2f7w.mjs +81 -0
  661. package/dist/parse-2W-E2f7w.mjs.map +1 -0
  662. package/dist/parse-6pN8Xqg5.d.mts +176 -0
  663. package/dist/parse-6pN8Xqg5.d.mts.map +1 -0
  664. package/dist/passkey-config-DTTZB6EI.mjs +46 -0
  665. package/dist/passkey-config-DTTZB6EI.mjs.map +1 -0
  666. package/dist/paths-CQA62503.mjs +77 -0
  667. package/dist/paths-CQA62503.mjs.map +1 -0
  668. package/dist/patterns-CryGz_EV.mjs +159 -0
  669. package/dist/patterns-CryGz_EV.mjs.map +1 -0
  670. package/dist/placeholder-BlfXkucE.d.mts +313 -0
  671. package/dist/placeholder-BlfXkucE.d.mts.map +1 -0
  672. package/dist/plan-B95eiwnF.mjs +135 -0
  673. package/dist/plan-B95eiwnF.mjs.map +1 -0
  674. package/dist/plugin-test-runtime.d.mts +14 -14
  675. package/dist/plugin-test-runtime.d.mts.map +1 -1
  676. package/dist/plugin-test-runtime.mjs +121 -119
  677. package/dist/plugin-tool-name-BDA7m4Xa.mjs +27 -0
  678. package/dist/plugin-tool-name-BDA7m4Xa.mjs.map +1 -0
  679. package/dist/plugin-types.d.mts +2 -2
  680. package/dist/plugin-utils.d.mts +12 -12
  681. package/dist/plugins/adapt-sandbox-entry.d.mts +12 -12
  682. package/dist/plugins/adapt-sandbox-entry.mjs +4 -4
  683. package/dist/plugins/host.d.mts +5 -5
  684. package/dist/plugins/host.mjs +57 -55
  685. package/dist/plugins-BhxLJ008.mjs +261 -0
  686. package/dist/plugins-BhxLJ008.mjs.map +1 -0
  687. package/dist/policy-DOJ2sPqB.mjs +53 -0
  688. package/dist/policy-DOJ2sPqB.mjs.map +1 -0
  689. package/dist/portable-text-RCMpCj47.mjs +311 -0
  690. package/dist/portable-text-RCMpCj47.mjs.map +1 -0
  691. package/dist/preview-DFwL5APO.mjs +107 -0
  692. package/dist/preview-DFwL5APO.mjs.map +1 -0
  693. package/dist/protocol-B-ztxp_y.d.mts +65 -0
  694. package/dist/protocol-B-ztxp_y.d.mts.map +1 -0
  695. package/dist/public-plugin-api-routes-ik4fPZMv.mjs +316 -0
  696. package/dist/public-plugin-api-routes-ik4fPZMv.mjs.map +1 -0
  697. package/dist/public-submission-C5JZIykp.mjs +251 -0
  698. package/dist/public-submission-C5JZIykp.mjs.map +1 -0
  699. package/dist/public-url-CQwzRljH.mjs +101 -0
  700. package/dist/public-url-CQwzRljH.mjs.map +1 -0
  701. package/dist/query-BFHjCzSh.mjs +37 -0
  702. package/dist/query-BFHjCzSh.mjs.map +1 -0
  703. package/dist/query-DuwyFr5Z.mjs +41 -0
  704. package/dist/query-DuwyFr5Z.mjs.map +1 -0
  705. package/dist/query-eR_Nz70M.mjs +1157 -0
  706. package/dist/query-eR_Nz70M.mjs.map +1 -0
  707. package/dist/range-BQWPjWgQ.mjs +51 -0
  708. package/dist/range-BQWPjWgQ.mjs.map +1 -0
  709. package/dist/rate-limit-mPKeQ3sm.mjs +127 -0
  710. package/dist/rate-limit-mPKeQ3sm.mjs.map +1 -0
  711. package/dist/receipt-CmUpyuW5.mjs +43 -0
  712. package/dist/receipt-CmUpyuW5.mjs.map +1 -0
  713. package/dist/redirect-BtiMkehU.mjs +19 -0
  714. package/dist/redirect-BtiMkehU.mjs.map +1 -0
  715. package/dist/redirect-DcmNMvOs.mjs +423 -0
  716. package/dist/redirect-DcmNMvOs.mjs.map +1 -0
  717. package/dist/redirect-paths-K5i3xYfR.mjs +36 -0
  718. package/dist/redirect-paths-K5i3xYfR.mjs.map +1 -0
  719. package/dist/redirects-BA_TvtuH.mjs +148 -0
  720. package/dist/redirects-BA_TvtuH.mjs.map +1 -0
  721. package/dist/redirects-BIrRvgn4.mjs +446 -0
  722. package/dist/redirects-BIrRvgn4.mjs.map +1 -0
  723. package/dist/registry/testing.mjs +3 -3
  724. package/dist/registry-DymfZkAN.mjs +8374 -0
  725. package/dist/registry-DymfZkAN.mjs.map +1 -0
  726. package/dist/relations-DrEs3Sc1.mjs +789 -0
  727. package/dist/relations-DrEs3Sc1.mjs.map +1 -0
  728. package/dist/request-cache-5z2WzWmh.mjs +104 -0
  729. package/dist/request-cache-5z2WzWmh.mjs.map +1 -0
  730. package/dist/request-context.d.mts +12 -1
  731. package/dist/request-context.d.mts.map +1 -1
  732. package/dist/request-context.mjs.map +1 -1
  733. package/dist/request-meta-o8RIf9pa.mjs +141 -0
  734. package/dist/request-meta-o8RIf9pa.mjs.map +1 -0
  735. package/dist/resolve-CVy9xgy_.mjs +102 -0
  736. package/dist/resolve-CVy9xgy_.mjs.map +1 -0
  737. package/dist/resolve-DdNXBJSr.mjs +199 -0
  738. package/dist/resolve-DdNXBJSr.mjs.map +1 -0
  739. package/dist/revision-Dx7Uth1X.mjs +374 -0
  740. package/dist/revision-Dx7Uth1X.mjs.map +1 -0
  741. package/dist/route-cache-DAG5dPhh.mjs +20 -0
  742. package/dist/route-cache-DAG5dPhh.mjs.map +1 -0
  743. package/dist/route-wire-Xbsu8Vih.mjs +197 -0
  744. package/dist/route-wire-Xbsu8Vih.mjs.map +1 -0
  745. package/dist/routes-YQkSOsws.mjs +272 -0
  746. package/dist/routes-YQkSOsws.mjs.map +1 -0
  747. package/dist/runner-CLorw5vo.mjs +6669 -0
  748. package/dist/runner-CLorw5vo.mjs.map +1 -0
  749. package/dist/runner-g1A9P-wD.d.mts +73 -0
  750. package/dist/runner-g1A9P-wD.d.mts.map +1 -0
  751. package/dist/runtime.d.mts +13 -13
  752. package/dist/runtime.mjs +6 -5
  753. package/dist/runtime.mjs.map +1 -1
  754. package/dist/schema/project-env-types.mjs +49 -47
  755. package/dist/schema/project-env-types.mjs.map +1 -1
  756. package/dist/schema-Bss8qImF.mjs +13 -0
  757. package/dist/schema-Bss8qImF.mjs.map +1 -0
  758. package/dist/schema-C036pqEw.mjs +815 -0
  759. package/dist/schema-C036pqEw.mjs.map +1 -0
  760. package/dist/scopes-C_SoYl9x.mjs +34 -0
  761. package/dist/scopes-C_SoYl9x.mjs.map +1 -0
  762. package/dist/search-uNqCgePJ.mjs +450 -0
  763. package/dist/search-uNqCgePJ.mjs.map +1 -0
  764. package/dist/sections-BLusMa96.mjs +346 -0
  765. package/dist/sections-BLusMa96.mjs.map +1 -0
  766. package/dist/seed/index.d.mts +2 -2
  767. package/dist/seed/index.mjs +47 -45
  768. package/dist/seo/index.d.mts +3 -3
  769. package/dist/seo/index.mjs +32 -30
  770. package/dist/seo/index.mjs.map +1 -1
  771. package/dist/seo-BodxIpws.mjs +188 -0
  772. package/dist/seo-BodxIpws.mjs.map +1 -0
  773. package/dist/seo-DaMYIQY8.mjs +133 -0
  774. package/dist/seo-DaMYIQY8.mjs.map +1 -0
  775. package/dist/service-BuM1BRsA.mjs +150 -0
  776. package/dist/service-BuM1BRsA.mjs.map +1 -0
  777. package/dist/session-user-2DpQDMKw.mjs +61 -0
  778. package/dist/session-user-2DpQDMKw.mjs.map +1 -0
  779. package/dist/settings-B3ZmPF_8.mjs +73 -0
  780. package/dist/settings-B3ZmPF_8.mjs.map +1 -0
  781. package/dist/settings-P5hwPX6_.mjs +66 -0
  782. package/dist/settings-P5hwPX6_.mjs.map +1 -0
  783. package/dist/settings-yIqoN-Ok.mjs +519 -0
  784. package/dist/settings-yIqoN-Ok.mjs.map +1 -0
  785. package/dist/setup-complete-eu6MUQnt.mjs +65 -0
  786. package/dist/setup-complete-eu6MUQnt.mjs.map +1 -0
  787. package/dist/setup-nonce-CyPOapqY.mjs +25 -0
  788. package/dist/setup-nonce-CyPOapqY.mjs.map +1 -0
  789. package/dist/site-domain-8lEJl_0U.mjs +131 -0
  790. package/dist/site-domain-8lEJl_0U.mjs.map +1 -0
  791. package/dist/site-settings-uPkW0e6o.mjs +50 -0
  792. package/dist/site-settings-uPkW0e6o.mjs.map +1 -0
  793. package/dist/site-url-25SGVXwL.mjs +45 -0
  794. package/dist/site-url-25SGVXwL.mjs.map +1 -0
  795. package/dist/sitemap-name-DTK7CYnY.mjs +26 -0
  796. package/dist/sitemap-name-DTK7CYnY.mjs.map +1 -0
  797. package/dist/slug-BEDl2IJY.mjs +16 -0
  798. package/dist/slug-BEDl2IJY.mjs.map +1 -0
  799. package/dist/slugify-BDEG9pLk.mjs +22 -0
  800. package/dist/slugify-BDEG9pLk.mjs.map +1 -0
  801. package/dist/snapshot-CvkIBRLY.mjs +414 -0
  802. package/dist/snapshot-CvkIBRLY.mjs.map +1 -0
  803. package/dist/ssrf-mcCKMH6B.mjs +406 -0
  804. package/dist/ssrf-mcCKMH6B.mjs.map +1 -0
  805. package/dist/stage-BQfGzGOy.mjs +662 -0
  806. package/dist/stage-BQfGzGOy.mjs.map +1 -0
  807. package/dist/staged-B5vQGeSf.mjs +686 -0
  808. package/dist/staged-B5vQGeSf.mjs.map +1 -0
  809. package/dist/state-dO6t6OxV.mjs +178 -0
  810. package/dist/state-dO6t6OxV.mjs.map +1 -0
  811. package/dist/status-DSURZwKS.mjs +30 -0
  812. package/dist/status-DSURZwKS.mjs.map +1 -0
  813. package/dist/storage/local.d.mts +1 -1
  814. package/dist/storage/local.mjs +2 -2
  815. package/dist/storage/s3.d.mts +1 -1
  816. package/dist/storage/s3.mjs +1 -1
  817. package/dist/storage-query-Cy0SZ8iG.d.mts +1619 -0
  818. package/dist/storage-query-Cy0SZ8iG.d.mts.map +1 -0
  819. package/dist/tar-DWzcUZ_Q.mjs +449 -0
  820. package/dist/tar-DWzcUZ_Q.mjs.map +1 -0
  821. package/dist/target-C9htUbrT.mjs +27 -0
  822. package/dist/target-C9htUbrT.mjs.map +1 -0
  823. package/dist/taxonomies-By2aGvq2.mjs +729 -0
  824. package/dist/taxonomies-By2aGvq2.mjs.map +1 -0
  825. package/dist/taxonomies-CVRd_jz0.mjs +937 -0
  826. package/dist/taxonomies-CVRd_jz0.mjs.map +1 -0
  827. package/dist/taxonomy-BG_xu2Qf.mjs +563 -0
  828. package/dist/taxonomy-BG_xu2Qf.mjs.map +1 -0
  829. package/dist/tokens-U5vzgSrM.mjs +171 -0
  830. package/dist/tokens-U5vzgSrM.mjs.map +1 -0
  831. package/dist/transaction-CkoQ5wqQ.mjs +29 -0
  832. package/dist/transaction-CkoQ5wqQ.mjs.map +1 -0
  833. package/dist/transfer-DA0OSfaT.mjs +8873 -0
  834. package/dist/transfer-DA0OSfaT.mjs.map +1 -0
  835. package/dist/transfer-Pyf3d7ka.mjs +166 -0
  836. package/dist/transfer-Pyf3d7ka.mjs.map +1 -0
  837. package/dist/transfer-download-cX7SuWEy.mjs +33 -0
  838. package/dist/transfer-download-cX7SuWEy.mjs.map +1 -0
  839. package/dist/transformations-DczubD4j.mjs +196 -0
  840. package/dist/transformations-DczubD4j.mjs.map +1 -0
  841. package/dist/transport-Dm5QzpT_.d.mts +42 -0
  842. package/dist/transport-Dm5QzpT_.d.mts.map +1 -0
  843. package/dist/transport-DtIrjEFO.mjs +137 -0
  844. package/dist/transport-DtIrjEFO.mjs.map +1 -0
  845. package/dist/trusted-proxy-CDRd5Kmw.mjs +51 -0
  846. package/dist/trusted-proxy-CDRd5Kmw.mjs.map +1 -0
  847. package/dist/turnstile-Ct5YuFNY.mjs +58 -0
  848. package/dist/turnstile-Ct5YuFNY.mjs.map +1 -0
  849. package/dist/types-Bgujop4S.d.mts +374 -0
  850. package/dist/types-Bgujop4S.d.mts.map +1 -0
  851. package/dist/types-BirHUEXt.mjs +18 -0
  852. package/dist/types-BirHUEXt.mjs.map +1 -0
  853. package/dist/types-BqJgTL_y.d.mts +293 -0
  854. package/dist/types-BqJgTL_y.d.mts.map +1 -0
  855. package/dist/types-C-lrOt9T.d.mts +87 -0
  856. package/dist/types-C-lrOt9T.d.mts.map +1 -0
  857. package/dist/types-CCEHAhOv.d.mts +916 -0
  858. package/dist/types-CCEHAhOv.d.mts.map +1 -0
  859. package/dist/types-CLVwYRBr.d.mts +227 -0
  860. package/dist/types-CLVwYRBr.d.mts.map +1 -0
  861. package/dist/types-C_asjp1J.mjs +201 -0
  862. package/dist/types-C_asjp1J.mjs.map +1 -0
  863. package/dist/types-CadaL_k8.d.mts +366 -0
  864. package/dist/types-CadaL_k8.d.mts.map +1 -0
  865. package/dist/types-DVbTb4Hk.mjs +77 -0
  866. package/dist/types-DVbTb4Hk.mjs.map +1 -0
  867. package/dist/types-Ddku19Zw.d.mts +209 -0
  868. package/dist/types-Ddku19Zw.d.mts.map +1 -0
  869. package/dist/types-DwhEvIVb.mjs +133 -0
  870. package/dist/types-DwhEvIVb.mjs.map +1 -0
  871. package/dist/types-FIiGQ3PE.mjs +16 -0
  872. package/dist/types-FIiGQ3PE.mjs.map +1 -0
  873. package/dist/types-OauzCOY0.mjs +37 -0
  874. package/dist/types-OauzCOY0.mjs.map +1 -0
  875. package/dist/types-mQGTpP-4.d.mts +1741 -0
  876. package/dist/types-mQGTpP-4.d.mts.map +1 -0
  877. package/dist/types-nbjz3Mgm.d.mts +125 -0
  878. package/dist/types-nbjz3Mgm.d.mts.map +1 -0
  879. package/dist/update-check-hW32-0pf.mjs +161 -0
  880. package/dist/update-check-hW32-0pf.mjs.map +1 -0
  881. package/dist/upload-attempts-Bpik1TLF.mjs +32 -0
  882. package/dist/upload-attempts-Bpik1TLF.mjs.map +1 -0
  883. package/dist/url-DTfGDJhI.mjs +104 -0
  884. package/dist/url-DTfGDJhI.mjs.map +1 -0
  885. package/dist/url-pattern-CJeCyNij.mjs +41 -0
  886. package/dist/url-pattern-CJeCyNij.mjs.map +1 -0
  887. package/dist/user-nQInBZbE.mjs +171 -0
  888. package/dist/user-nQInBZbE.mjs.map +1 -0
  889. package/dist/utils-govudc_U.mjs +442 -0
  890. package/dist/utils-govudc_U.mjs.map +1 -0
  891. package/dist/validate-BxLvcDYh.mjs +524 -0
  892. package/dist/validate-BxLvcDYh.mjs.map +1 -0
  893. package/dist/validate-mnoVfASU.d.mts +468 -0
  894. package/dist/validate-mnoVfASU.d.mts.map +1 -0
  895. package/dist/validation-DQDEvh87.mjs +221 -0
  896. package/dist/validation-DQDEvh87.mjs.map +1 -0
  897. package/dist/version-BOFfLiVT.mjs +49 -0
  898. package/dist/version-BOFfLiVT.mjs.map +1 -0
  899. package/dist/version-Dcvx_C9g.mjs +7 -0
  900. package/dist/version-Dcvx_C9g.mjs.map +1 -0
  901. package/dist/version-DzTJ3gD7.mjs +9 -0
  902. package/dist/version-DzTJ3gD7.mjs.map +1 -0
  903. package/dist/video-BX7AI5nJ.mjs +54 -0
  904. package/dist/video-BX7AI5nJ.mjs.map +1 -0
  905. package/dist/virtual-modules-CU29aip9.mjs +515 -0
  906. package/dist/virtual-modules-CU29aip9.mjs.map +1 -0
  907. package/dist/widgets-HIeFmZxt.mjs +121 -0
  908. package/dist/widgets-HIeFmZxt.mjs.map +1 -0
  909. package/dist/wxr-taxonomies-Dy2i2ON3.d.mts +34 -0
  910. package/dist/wxr-taxonomies-Dy2i2ON3.d.mts.map +1 -0
  911. package/dist/wxr-taxonomies-DyOGhl8W.mjs +454 -0
  912. package/dist/wxr-taxonomies-DyOGhl8W.mjs.map +1 -0
  913. package/dist/zod-generator-VxCPVDpo.mjs +425 -0
  914. package/dist/zod-generator-VxCPVDpo.mjs.map +1 -0
  915. package/package.json +5 -5
  916. package/src/api/handlers/bulk-tag.ts +11 -3
  917. package/src/api/handlers/bylines.ts +6 -2
  918. package/src/api/handlers/content.ts +107 -7
  919. package/src/api/handlers/dashboard.ts +13 -6
  920. package/src/api/handlers/menus.ts +24 -10
  921. package/src/api/handlers/relations.ts +15 -1
  922. package/src/api/handlers/taxonomies.ts +27 -17
  923. package/src/astro/image-endpoint.ts +23 -2
  924. package/src/astro/integration/vite-config.ts +16 -8
  925. package/src/astro/middleware/redirect.ts +158 -63
  926. package/src/astro/middleware/request-context.ts +1 -0
  927. package/src/astro/middleware.ts +17 -4
  928. package/src/astro/routes/api/content/[collection]/[id]/terms/[taxonomy].ts +4 -1
  929. package/src/astro/routes/api/content/[collection]/[id]/translations.ts +14 -1
  930. package/src/astro/routes/api/dashboard.ts +2 -0
  931. package/src/astro/routes/api/media/file/[...key].ts +13 -3
  932. package/src/auth/types.ts +6 -0
  933. package/src/cli/commands/export-seed.ts +6 -4
  934. package/src/cli/commands/login.ts +2 -4
  935. package/src/client/index.ts +1 -0
  936. package/src/client/transport.ts +11 -7
  937. package/src/components/EmDashImage.astro +14 -2
  938. package/src/components/InlinePortableTextEditor.tsx +4 -1
  939. package/src/database/migrations/content-sized.ts +82 -0
  940. package/src/database/migrations/policy.ts +28 -2
  941. package/src/database/migrations/runner.ts +48 -0
  942. package/src/database/repositories/byline.ts +73 -17
  943. package/src/database/repositories/comment.ts +17 -7
  944. package/src/database/repositories/content.ts +79 -19
  945. package/src/database/repositories/menu.ts +77 -11
  946. package/src/database/repositories/taxonomy-def.ts +9 -2
  947. package/src/database/repositories/taxonomy.ts +47 -14
  948. package/src/database/repositories/types.ts +11 -0
  949. package/src/emdash-runtime.ts +37 -10
  950. package/src/fields/image.ts +1 -0
  951. package/src/i18n/config.ts +58 -10
  952. package/src/i18n/normalize.ts +16 -2
  953. package/src/i18n/query.ts +47 -0
  954. package/src/i18n/resolve.ts +8 -3
  955. package/src/import/wxr-taxonomies.ts +3 -2
  956. package/src/loader.ts +80 -22
  957. package/src/mcp/server.ts +28 -1
  958. package/src/media/caption.ts +30 -0
  959. package/src/media/image-endpoint.ts +13 -6
  960. package/src/media/local-runtime.ts +3 -0
  961. package/src/media/normalize.ts +15 -8
  962. package/src/media/responsive.ts +12 -2
  963. package/src/media/types.ts +16 -3
  964. package/src/menus/index.ts +21 -11
  965. package/src/migrations/manifest.ts +1 -0
  966. package/src/plugins/byline-access.ts +3 -1
  967. package/src/plugins/context.ts +1 -2
  968. package/src/plugins/storage-indexes.ts +7 -3
  969. package/src/query.ts +23 -13
  970. package/src/redirects/artifacts.ts +39 -5
  971. package/src/references/field-map.ts +6 -4
  972. package/src/request-context.ts +8 -0
  973. package/src/schema/collection-slugs-cache.ts +31 -17
  974. package/src/schema/registry.ts +9 -0
  975. package/src/schema/zod-generator.ts +2 -1
  976. package/src/search/fts-manager.ts +98 -28
  977. package/src/search/query.ts +31 -64
  978. package/src/seed/apply.ts +191 -87
  979. package/src/seed/types.ts +3 -1
  980. package/src/settings/index.ts +135 -35
  981. package/src/settings/version.ts +54 -0
  982. package/src/taxonomies/index.ts +95 -52
  983. package/src/taxonomies/term-counts.ts +2 -1
  984. package/src/utils/db-errors.ts +15 -0
  985. package/src/virtual-modules.d.ts +1 -0
  986. package/dist/action-token-SK8zyN7w.mjs +0 -26
  987. package/dist/action-token-SK8zyN7w.mjs.map +0 -1
  988. package/dist/activation-Dim4YMM7.mjs +0 -387
  989. package/dist/activation-Dim4YMM7.mjs.map +0 -1
  990. package/dist/adapters-F_xorvWv.d.mts +0 -173
  991. package/dist/adapters-F_xorvWv.d.mts.map +0 -1
  992. package/dist/allowed-origins-CEug-p0t.mjs +0 -116
  993. package/dist/allowed-origins-CEug-p0t.mjs.map +0 -1
  994. package/dist/api-D-7BNHoz.mjs +0 -5025
  995. package/dist/api-D-7BNHoz.mjs.map +0 -1
  996. package/dist/api-tokens-Bx38ZCQp.mjs +0 -173
  997. package/dist/api-tokens-Bx38ZCQp.mjs.map +0 -1
  998. package/dist/apply-T7ATgzCh.mjs +0 -1702
  999. package/dist/apply-T7ATgzCh.mjs.map +0 -1
  1000. package/dist/approvals-D-m6wvGl.mjs +0 -460
  1001. package/dist/approvals-D-m6wvGl.mjs.map +0 -1
  1002. package/dist/artifact-fetch-DIh7iyOV.mjs +0 -659
  1003. package/dist/artifact-fetch-DIh7iyOV.mjs.map +0 -1
  1004. package/dist/artifacts-htGyfCSt.mjs +0 -307
  1005. package/dist/artifacts-htGyfCSt.mjs.map +0 -1
  1006. package/dist/audit-_gieLVGU.mjs +0 -127
  1007. package/dist/audit-_gieLVGU.mjs.map +0 -1
  1008. package/dist/authoritative-records-CQlB3JzE.mjs +0 -5183
  1009. package/dist/authoritative-records-CQlB3JzE.mjs.map +0 -1
  1010. package/dist/authorize-DPFBGbE6.mjs +0 -74
  1011. package/dist/authorize-DPFBGbE6.mjs.map +0 -1
  1012. package/dist/backup-3FgVxiDJ.mjs +0 -246
  1013. package/dist/backup-3FgVxiDJ.mjs.map +0 -1
  1014. package/dist/block-types-CYcG56JB.mjs +0 -132
  1015. package/dist/block-types-CYcG56JB.mjs.map +0 -1
  1016. package/dist/block-values-gCX4HBSl.mjs +0 -215
  1017. package/dist/block-values-gCX4HBSl.mjs.map +0 -1
  1018. package/dist/byline-BR1qhyiw.mjs +0 -909
  1019. package/dist/byline-BR1qhyiw.mjs.map +0 -1
  1020. package/dist/byline-fields-4ClDC88c.mjs +0 -123
  1021. package/dist/byline-fields-4ClDC88c.mjs.map +0 -1
  1022. package/dist/byline-fields-BLXZnX7N.mjs +0 -280
  1023. package/dist/byline-fields-BLXZnX7N.mjs.map +0 -1
  1024. package/dist/byline-registry-dvt4N3xV.mjs +0 -406
  1025. package/dist/byline-registry-dvt4N3xV.mjs.map +0 -1
  1026. package/dist/bylines-CVOvRUL7.mjs +0 -234
  1027. package/dist/bylines-CVOvRUL7.mjs.map +0 -1
  1028. package/dist/bylines-DxOs9B7z.mjs +0 -150
  1029. package/dist/bylines-DxOs9B7z.mjs.map +0 -1
  1030. package/dist/cache-CEU9wo_h.mjs +0 -151
  1031. package/dist/cache-CEU9wo_h.mjs.map +0 -1
  1032. package/dist/canonical-BudtH-Fx.mjs +0 -174
  1033. package/dist/canonical-BudtH-Fx.mjs.map +0 -1
  1034. package/dist/capture-triggers-CT6dK9zd.mjs +0 -362
  1035. package/dist/capture-triggers-CT6dK9zd.mjs.map +0 -1
  1036. package/dist/challenge-store-C17BYx2-.mjs +0 -51
  1037. package/dist/challenge-store-C17BYx2-.mjs.map +0 -1
  1038. package/dist/checksum-CEqvfxGX.mjs +0 -162
  1039. package/dist/checksum-CEqvfxGX.mjs.map +0 -1
  1040. package/dist/chrome-tags-BIKBMZYO.mjs +0 -24
  1041. package/dist/chrome-tags-BIKBMZYO.mjs.map +0 -1
  1042. package/dist/chunks-xC4UD5-S.mjs +0 -25
  1043. package/dist/chunks-xC4UD5-S.mjs.map +0 -1
  1044. package/dist/collection-slugs-cache-e09QeJQt.mjs +0 -85
  1045. package/dist/collection-slugs-cache-e09QeJQt.mjs.map +0 -1
  1046. package/dist/comment-UvIWDKcW.mjs +0 -325
  1047. package/dist/comment-UvIWDKcW.mjs.map +0 -1
  1048. package/dist/comment-reaction-dGp6_FRo.mjs +0 -85
  1049. package/dist/comment-reaction-dGp6_FRo.mjs.map +0 -1
  1050. package/dist/comments-pej-_BUO.mjs +0 -195
  1051. package/dist/comments-pej-_BUO.mjs.map +0 -1
  1052. package/dist/comments-yiRFx3w5.mjs +0 -99
  1053. package/dist/comments-yiRFx3w5.mjs.map +0 -1
  1054. package/dist/components-Brp__9xo.mjs +0 -112
  1055. package/dist/components-Brp__9xo.mjs.map +0 -1
  1056. package/dist/config-Bsm_u_oE.d.mts +0 -6799
  1057. package/dist/config-Bsm_u_oE.d.mts.map +0 -1
  1058. package/dist/config-CFMojMFK.d.mts +0 -39
  1059. package/dist/config-CFMojMFK.d.mts.map +0 -1
  1060. package/dist/config-CvmjJcVw.mjs +0 -73
  1061. package/dist/config-CvmjJcVw.mjs.map +0 -1
  1062. package/dist/config-DBU6iUQB.mjs +0 -228
  1063. package/dist/config-DBU6iUQB.mjs.map +0 -1
  1064. package/dist/connection-BtEN_lP9.mjs +0 -36
  1065. package/dist/connection-BtEN_lP9.mjs.map +0 -1
  1066. package/dist/content-DQSRZTVw.mjs +0 -2075
  1067. package/dist/content-DQSRZTVw.mjs.map +0 -1
  1068. package/dist/content-list-query-CYKcY6Vi.d.mts +0 -26
  1069. package/dist/content-list-query-CYKcY6Vi.d.mts.map +0 -1
  1070. package/dist/content-policy-Dm32n9C6.mjs +0 -46
  1071. package/dist/content-policy-Dm32n9C6.mjs.map +0 -1
  1072. package/dist/content-repair-DNh5--x5.mjs +0 -442
  1073. package/dist/content-repair-DNh5--x5.mjs.map +0 -1
  1074. package/dist/context-BYptmCN0.mjs +0 -2090
  1075. package/dist/context-BYptmCN0.mjs.map +0 -1
  1076. package/dist/credits-B9iORdWB.mjs +0 -110
  1077. package/dist/credits-B9iORdWB.mjs.map +0 -1
  1078. package/dist/cron-D7obTIfk.mjs +0 -306
  1079. package/dist/cron-D7obTIfk.mjs.map +0 -1
  1080. package/dist/dashboard-D0jcgBD7.mjs +0 -167
  1081. package/dist/dashboard-D0jcgBD7.mjs.map +0 -1
  1082. package/dist/db-errors-CBD5yMro.mjs +0 -55
  1083. package/dist/db-errors-CBD5yMro.mjs.map +0 -1
  1084. package/dist/default-C0W-PhAp.mjs +0 -81
  1085. package/dist/default-C0W-PhAp.mjs.map +0 -1
  1086. package/dist/deferred-tasks-ZvUECSzI.d.mts +0 -9
  1087. package/dist/deferred-tasks-ZvUECSzI.d.mts.map +0 -1
  1088. package/dist/destination-r2zIAZ2S.mjs +0 -18
  1089. package/dist/destination-r2zIAZ2S.mjs.map +0 -1
  1090. package/dist/dev-typegen-EBni_pOQ.mjs +0 -29
  1091. package/dist/dev-typegen-EBni_pOQ.mjs.map +0 -1
  1092. package/dist/device-flow-BkFKBoAn.mjs +0 -521
  1093. package/dist/device-flow-BkFKBoAn.mjs.map +0 -1
  1094. package/dist/digest-DJ1tHCgy.mjs +0 -194
  1095. package/dist/digest-DJ1tHCgy.mjs.map +0 -1
  1096. package/dist/direct-executor-Cbxzg4qe.mjs +0 -117
  1097. package/dist/direct-executor-Cbxzg4qe.mjs.map +0 -1
  1098. package/dist/dist-Cfu8mMBs.mjs +0 -810
  1099. package/dist/dist-Cfu8mMBs.mjs.map +0 -1
  1100. package/dist/email-console-FFVJWb9N.mjs +0 -50
  1101. package/dist/email-console-FFVJWb9N.mjs.map +0 -1
  1102. package/dist/email-locale-BJ8DjTzZ.mjs +0 -25
  1103. package/dist/email-locale-BJ8DjTzZ.mjs.map +0 -1
  1104. package/dist/emdash-runtime-DVi7vtXC.mjs +0 -4379
  1105. package/dist/emdash-runtime-DVi7vtXC.mjs.map +0 -1
  1106. package/dist/enrich-Duu4sV3a.mjs +0 -194
  1107. package/dist/enrich-Duu4sV3a.mjs.map +0 -1
  1108. package/dist/entry-lock-C7VX0NGK.d.mts +0 -4568
  1109. package/dist/entry-lock-C7VX0NGK.d.mts.map +0 -1
  1110. package/dist/entry-lock-DLxCffFW.mjs +0 -163
  1111. package/dist/entry-lock-DLxCffFW.mjs.map +0 -1
  1112. package/dist/entry-lock-Df6-XhIu.mjs +0 -1211
  1113. package/dist/entry-lock-Df6-XhIu.mjs.map +0 -1
  1114. package/dist/entry-locks-DJAqVweV.mjs +0 -167
  1115. package/dist/entry-locks-DJAqVweV.mjs.map +0 -1
  1116. package/dist/env-types-C3FCVBWe.mjs +0 -38
  1117. package/dist/env-types-C3FCVBWe.mjs.map +0 -1
  1118. package/dist/error-CVWeIOku.mjs +0 -90
  1119. package/dist/error-CVWeIOku.mjs.map +0 -1
  1120. package/dist/errors-B4f4It-2.mjs +0 -120
  1121. package/dist/errors-B4f4It-2.mjs.map +0 -1
  1122. package/dist/errors-BOYNdIo3.mjs +0 -479
  1123. package/dist/errors-BOYNdIo3.mjs.map +0 -1
  1124. package/dist/escape-lsNq38PP.mjs +0 -9
  1125. package/dist/escape-lsNq38PP.mjs.map +0 -1
  1126. package/dist/fence-C3MUitUN.mjs +0 -162
  1127. package/dist/fence-C3MUitUN.mjs.map +0 -1
  1128. package/dist/field-defs-cache-Dez5iWJJ.mjs +0 -77
  1129. package/dist/field-defs-cache-Dez5iWJJ.mjs.map +0 -1
  1130. package/dist/field-map-Bft9LKak.mjs +0 -83
  1131. package/dist/field-map-Bft9LKak.mjs.map +0 -1
  1132. package/dist/focal-point-JX8kcOTQ.mjs +0 -23
  1133. package/dist/focal-point-JX8kcOTQ.mjs.map +0 -1
  1134. package/dist/fts-manager-Beg3e4bI.mjs +0 -443
  1135. package/dist/fts-manager-Beg3e4bI.mjs.map +0 -1
  1136. package/dist/gc-ByyAYiYE.mjs +0 -75
  1137. package/dist/gc-ByyAYiYE.mjs.map +0 -1
  1138. package/dist/hash-BJaeek87.mjs +0 -37
  1139. package/dist/hash-BJaeek87.mjs.map +0 -1
  1140. package/dist/hook-result-BrdLyOdI.d.mts +0 -31
  1141. package/dist/hook-result-BrdLyOdI.d.mts.map +0 -1
  1142. package/dist/hreflang-C8Jb-hrf.mjs +0 -105
  1143. package/dist/hreflang-C8Jb-hrf.mjs.map +0 -1
  1144. package/dist/hreflang-CY_F5OjF.d.mts +0 -50
  1145. package/dist/hreflang-CY_F5OjF.d.mts.map +0 -1
  1146. package/dist/http-route-dispatch-CyeW6iPv.mjs +0 -342
  1147. package/dist/http-route-dispatch-CyeW6iPv.mjs.map +0 -1
  1148. package/dist/identity-Cael5uTT.mjs +0 -35
  1149. package/dist/identity-Cael5uTT.mjs.map +0 -1
  1150. package/dist/import-BUXjdZUn.mjs +0 -2126
  1151. package/dist/import-BUXjdZUn.mjs.map +0 -1
  1152. package/dist/index-BB9sVisO.d.mts +0 -623
  1153. package/dist/index-BB9sVisO.d.mts.map +0 -1
  1154. package/dist/install-finalization-3JX5qQEA.mjs +0 -58
  1155. package/dist/install-finalization-3JX5qQEA.mjs.map +0 -1
  1156. package/dist/json-recordset-BUjxhr77.mjs +0 -12
  1157. package/dist/json-recordset-BUjxhr77.mjs.map +0 -1
  1158. package/dist/json-schema-v_D_pPNG.mjs +0 -15
  1159. package/dist/json-schema-v_D_pPNG.mjs.map +0 -1
  1160. package/dist/keys-CifIkT0N.mjs +0 -61
  1161. package/dist/keys-CifIkT0N.mjs.map +0 -1
  1162. package/dist/kinds-B_Qcl5pz.mjs +0 -974
  1163. package/dist/kinds-B_Qcl5pz.mjs.map +0 -1
  1164. package/dist/lifecycle-7vUJeFRe.mjs +0 -25
  1165. package/dist/lifecycle-7vUJeFRe.mjs.map +0 -1
  1166. package/dist/load-CdAG9wz-.mjs +0 -28
  1167. package/dist/load-CdAG9wz-.mjs.map +0 -1
  1168. package/dist/loader-CswroUbe.mjs +0 -1380
  1169. package/dist/loader-CswroUbe.mjs.map +0 -1
  1170. package/dist/loops-uA4iTOzd.mjs +0 -205
  1171. package/dist/loops-uA4iTOzd.mjs.map +0 -1
  1172. package/dist/manifest-builder-B8zjuH3f.mjs +0 -189
  1173. package/dist/manifest-builder-B8zjuH3f.mjs.map +0 -1
  1174. package/dist/manifest-schema-DNb4XmTS.mjs +0 -497
  1175. package/dist/manifest-schema-DNb4XmTS.mjs.map +0 -1
  1176. package/dist/marketplace-CqbgeIa7.mjs +0 -257
  1177. package/dist/marketplace-CqbgeIa7.mjs.map +0 -1
  1178. package/dist/media--dJRU6i2.mjs +0 -294
  1179. package/dist/media--dJRU6i2.mjs.map +0 -1
  1180. package/dist/media-1WC65OCB.mjs +0 -416
  1181. package/dist/media-1WC65OCB.mjs.map +0 -1
  1182. package/dist/media-Bws9f18T.mjs +0 -373
  1183. package/dist/media-Bws9f18T.mjs.map +0 -1
  1184. package/dist/media-allowlist-BJB7MFx6.mjs +0 -45
  1185. package/dist/media-allowlist-BJB7MFx6.mjs.map +0 -1
  1186. package/dist/media-folders-Dn3C16B8.mjs +0 -210
  1187. package/dist/media-folders-Dn3C16B8.mjs.map +0 -1
  1188. package/dist/media-url-BQgKvpQ5.mjs +0 -43
  1189. package/dist/media-url-BQgKvpQ5.mjs.map +0 -1
  1190. package/dist/media-usage-CF0WVcLO.mjs +0 -282
  1191. package/dist/media-usage-CF0WVcLO.mjs.map +0 -1
  1192. package/dist/media-usage-activation-C9HwVw5w.mjs +0 -78
  1193. package/dist/media-usage-activation-C9HwVw5w.mjs.map +0 -1
  1194. package/dist/media-usage-work-CkLa5-nc.mjs +0 -1036
  1195. package/dist/media-usage-work-CkLa5-nc.mjs.map +0 -1
  1196. package/dist/media-usage-work-m3AWTmmC.mjs +0 -151
  1197. package/dist/media-usage-work-m3AWTmmC.mjs.map +0 -1
  1198. package/dist/menus-BCVSSp1z.mjs +0 -753
  1199. package/dist/menus-BCVSSp1z.mjs.map +0 -1
  1200. package/dist/menus-BSzwObhV.mjs +0 -92
  1201. package/dist/menus-BSzwObhV.mjs.map +0 -1
  1202. package/dist/menus-Cl4kwdt7.mjs +0 -3721
  1203. package/dist/menus-Cl4kwdt7.mjs.map +0 -1
  1204. package/dist/mime-B5M9R53H.mjs +0 -81
  1205. package/dist/mime-B5M9R53H.mjs.map +0 -1
  1206. package/dist/mode-C-D3qICy.mjs +0 -23
  1207. package/dist/mode-C-D3qICy.mjs.map +0 -1
  1208. package/dist/node-sqlite-compat-CrKzRr0J.mjs +0 -63
  1209. package/dist/node-sqlite-compat-CrKzRr0J.mjs.map +0 -1
  1210. package/dist/normalize-BuWa0lvd.mjs +0 -191
  1211. package/dist/normalize-BuWa0lvd.mjs.map +0 -1
  1212. package/dist/oauth-authorization-TpEJrYB7.mjs +0 -274
  1213. package/dist/oauth-authorization-TpEJrYB7.mjs.map +0 -1
  1214. package/dist/oauth-clients-BT0Pg-MO.mjs +0 -266
  1215. package/dist/oauth-clients-BT0Pg-MO.mjs.map +0 -1
  1216. package/dist/oauth-state-store-CHMn_mwc.mjs +0 -50
  1217. package/dist/oauth-state-store-CHMn_mwc.mjs.map +0 -1
  1218. package/dist/oauth-user-lookup-BDgF6IVG.mjs +0 -26
  1219. package/dist/oauth-user-lookup-BDgF6IVG.mjs.map +0 -1
  1220. package/dist/object-cache-Bo6DGaC9.mjs +0 -586
  1221. package/dist/object-cache-Bo6DGaC9.mjs.map +0 -1
  1222. package/dist/options-DJWaq3Ie.d.mts +0 -81
  1223. package/dist/options-DJWaq3Ie.d.mts.map +0 -1
  1224. package/dist/ownership-MiyA7qKO.mjs +0 -12
  1225. package/dist/ownership-MiyA7qKO.mjs.map +0 -1
  1226. package/dist/parse-CWHOFc6z.d.mts +0 -176
  1227. package/dist/parse-CWHOFc6z.d.mts.map +0 -1
  1228. package/dist/parse-DgQ2NABT.mjs +0 -81
  1229. package/dist/parse-DgQ2NABT.mjs.map +0 -1
  1230. package/dist/passkey-config-D0kdzEao.mjs +0 -46
  1231. package/dist/passkey-config-D0kdzEao.mjs.map +0 -1
  1232. package/dist/paths-biDzFTY2.mjs +0 -77
  1233. package/dist/paths-biDzFTY2.mjs.map +0 -1
  1234. package/dist/patterns-CMNnYCgf.mjs +0 -159
  1235. package/dist/patterns-CMNnYCgf.mjs.map +0 -1
  1236. package/dist/placeholder-D41vk11_.d.mts +0 -306
  1237. package/dist/placeholder-D41vk11_.d.mts.map +0 -1
  1238. package/dist/plan-CCoqxNoU.mjs +0 -135
  1239. package/dist/plan-CCoqxNoU.mjs.map +0 -1
  1240. package/dist/plugin-tool-name-DDUgN_0p.mjs +0 -27
  1241. package/dist/plugin-tool-name-DDUgN_0p.mjs.map +0 -1
  1242. package/dist/plugins-COJ2L49n.mjs +0 -261
  1243. package/dist/plugins-COJ2L49n.mjs.map +0 -1
  1244. package/dist/policy-DLQ--Hnm.mjs +0 -45
  1245. package/dist/policy-DLQ--Hnm.mjs.map +0 -1
  1246. package/dist/portable-text-BH4zgkSm.mjs +0 -311
  1247. package/dist/portable-text-BH4zgkSm.mjs.map +0 -1
  1248. package/dist/preview-DLexxwp3.mjs +0 -107
  1249. package/dist/preview-DLexxwp3.mjs.map +0 -1
  1250. package/dist/protocol-79kUO7jP.d.mts +0 -65
  1251. package/dist/protocol-79kUO7jP.d.mts.map +0 -1
  1252. package/dist/public-plugin-api-routes-BuAMJ8nN.mjs +0 -316
  1253. package/dist/public-plugin-api-routes-BuAMJ8nN.mjs.map +0 -1
  1254. package/dist/public-submission-Di3TsgzX.mjs +0 -251
  1255. package/dist/public-submission-Di3TsgzX.mjs.map +0 -1
  1256. package/dist/public-url-Bt98vysr.mjs +0 -101
  1257. package/dist/public-url-Bt98vysr.mjs.map +0 -1
  1258. package/dist/query-CpnRlBh8.mjs +0 -1156
  1259. package/dist/query-CpnRlBh8.mjs.map +0 -1
  1260. package/dist/query-haKvLAWl.mjs +0 -41
  1261. package/dist/query-haKvLAWl.mjs.map +0 -1
  1262. package/dist/range-CYfeXgGK.mjs +0 -51
  1263. package/dist/range-CYfeXgGK.mjs.map +0 -1
  1264. package/dist/rate-limit-Xp4d0NBY.mjs +0 -127
  1265. package/dist/rate-limit-Xp4d0NBY.mjs.map +0 -1
  1266. package/dist/receipt-BUsQCOeM.mjs +0 -43
  1267. package/dist/receipt-BUsQCOeM.mjs.map +0 -1
  1268. package/dist/redirect-CQAV7mCo.mjs +0 -19
  1269. package/dist/redirect-CQAV7mCo.mjs.map +0 -1
  1270. package/dist/redirect-DiS_3mA4.mjs +0 -423
  1271. package/dist/redirect-DiS_3mA4.mjs.map +0 -1
  1272. package/dist/redirect-paths-CNYq7w80.mjs +0 -36
  1273. package/dist/redirect-paths-CNYq7w80.mjs.map +0 -1
  1274. package/dist/redirects-BEVSRMa2.mjs +0 -148
  1275. package/dist/redirects-BEVSRMa2.mjs.map +0 -1
  1276. package/dist/redirects-BHpy-VsZ.mjs +0 -446
  1277. package/dist/redirects-BHpy-VsZ.mjs.map +0 -1
  1278. package/dist/registry-TUVaid9Z.mjs +0 -8369
  1279. package/dist/registry-TUVaid9Z.mjs.map +0 -1
  1280. package/dist/relations-CA_QuMTU.mjs +0 -776
  1281. package/dist/relations-CA_QuMTU.mjs.map +0 -1
  1282. package/dist/request-cache-C4CIo5ad.mjs +0 -104
  1283. package/dist/request-cache-C4CIo5ad.mjs.map +0 -1
  1284. package/dist/request-meta-bwZ_NsvU.mjs +0 -141
  1285. package/dist/request-meta-bwZ_NsvU.mjs.map +0 -1
  1286. package/dist/resolve-D-kqyKns.mjs +0 -199
  1287. package/dist/resolve-D-kqyKns.mjs.map +0 -1
  1288. package/dist/resolve-DwNM-CXl.mjs +0 -101
  1289. package/dist/resolve-DwNM-CXl.mjs.map +0 -1
  1290. package/dist/revision-BVp8S0e_.mjs +0 -374
  1291. package/dist/revision-BVp8S0e_.mjs.map +0 -1
  1292. package/dist/route-cache-QSOyDEw0.mjs +0 -20
  1293. package/dist/route-cache-QSOyDEw0.mjs.map +0 -1
  1294. package/dist/route-wire-Ca_HWCZ5.mjs +0 -197
  1295. package/dist/route-wire-Ca_HWCZ5.mjs.map +0 -1
  1296. package/dist/routes-BerZFrvV.mjs +0 -272
  1297. package/dist/routes-BerZFrvV.mjs.map +0 -1
  1298. package/dist/runner-BObHz5FC.d.mts +0 -68
  1299. package/dist/runner-BObHz5FC.d.mts.map +0 -1
  1300. package/dist/runner-C5NeAkBQ.mjs +0 -6595
  1301. package/dist/runner-C5NeAkBQ.mjs.map +0 -1
  1302. package/dist/schema-C4OBuv6Z.mjs +0 -13
  1303. package/dist/schema-C4OBuv6Z.mjs.map +0 -1
  1304. package/dist/schema-DJRfvM_o.mjs +0 -815
  1305. package/dist/schema-DJRfvM_o.mjs.map +0 -1
  1306. package/dist/scopes-BU03K7Uo.mjs +0 -34
  1307. package/dist/scopes-BU03K7Uo.mjs.map +0 -1
  1308. package/dist/search-DfVzks89.mjs +0 -450
  1309. package/dist/search-DfVzks89.mjs.map +0 -1
  1310. package/dist/sections-BMy4JVUz.mjs +0 -346
  1311. package/dist/sections-BMy4JVUz.mjs.map +0 -1
  1312. package/dist/seo-ClB-dw9w.mjs +0 -188
  1313. package/dist/seo-ClB-dw9w.mjs.map +0 -1
  1314. package/dist/seo-VZYOEy8f.mjs +0 -133
  1315. package/dist/seo-VZYOEy8f.mjs.map +0 -1
  1316. package/dist/service-Bo_usgSk.mjs +0 -150
  1317. package/dist/service-Bo_usgSk.mjs.map +0 -1
  1318. package/dist/session-user-DlpPdf8L.mjs +0 -61
  1319. package/dist/session-user-DlpPdf8L.mjs.map +0 -1
  1320. package/dist/settings-CWb84sDm.mjs +0 -452
  1321. package/dist/settings-CWb84sDm.mjs.map +0 -1
  1322. package/dist/settings-DS914jjE.mjs +0 -66
  1323. package/dist/settings-DS914jjE.mjs.map +0 -1
  1324. package/dist/settings-Dd1uivmQ.mjs +0 -73
  1325. package/dist/settings-Dd1uivmQ.mjs.map +0 -1
  1326. package/dist/setup-complete-BuNxAUiN.mjs +0 -65
  1327. package/dist/setup-complete-BuNxAUiN.mjs.map +0 -1
  1328. package/dist/setup-nonce-BnEAX0iy.mjs +0 -25
  1329. package/dist/setup-nonce-BnEAX0iy.mjs.map +0 -1
  1330. package/dist/site-domain-Bq5j5bVg.mjs +0 -131
  1331. package/dist/site-domain-Bq5j5bVg.mjs.map +0 -1
  1332. package/dist/site-settings-DRHfX7bq.mjs +0 -50
  1333. package/dist/site-settings-DRHfX7bq.mjs.map +0 -1
  1334. package/dist/site-url-MB685I5X.mjs +0 -45
  1335. package/dist/site-url-MB685I5X.mjs.map +0 -1
  1336. package/dist/sitemap-name-BTg2NJJv.mjs +0 -26
  1337. package/dist/sitemap-name-BTg2NJJv.mjs.map +0 -1
  1338. package/dist/slug-aVnUV4SL.mjs +0 -16
  1339. package/dist/slug-aVnUV4SL.mjs.map +0 -1
  1340. package/dist/slugify-bu2-jKia.mjs +0 -22
  1341. package/dist/slugify-bu2-jKia.mjs.map +0 -1
  1342. package/dist/snapshot-DYsG4uOq.mjs +0 -414
  1343. package/dist/snapshot-DYsG4uOq.mjs.map +0 -1
  1344. package/dist/ssrf-BcYjyM4M.mjs +0 -406
  1345. package/dist/ssrf-BcYjyM4M.mjs.map +0 -1
  1346. package/dist/stage-D8DWgPcO.mjs +0 -662
  1347. package/dist/stage-D8DWgPcO.mjs.map +0 -1
  1348. package/dist/staged-CD_imitH.mjs +0 -686
  1349. package/dist/staged-CD_imitH.mjs.map +0 -1
  1350. package/dist/state-CFbGZziM.mjs +0 -178
  1351. package/dist/state-CFbGZziM.mjs.map +0 -1
  1352. package/dist/status-BFNdxzKc.mjs +0 -30
  1353. package/dist/status-BFNdxzKc.mjs.map +0 -1
  1354. package/dist/storage-query-DRyu3bSU.d.mts +0 -1615
  1355. package/dist/storage-query-DRyu3bSU.d.mts.map +0 -1
  1356. package/dist/tar-DFjExb9X.mjs +0 -449
  1357. package/dist/tar-DFjExb9X.mjs.map +0 -1
  1358. package/dist/target-CWZs2-o6.mjs +0 -27
  1359. package/dist/target-CWZs2-o6.mjs.map +0 -1
  1360. package/dist/taxonomies-ChnU7Mc8.mjs +0 -697
  1361. package/dist/taxonomies-ChnU7Mc8.mjs.map +0 -1
  1362. package/dist/taxonomies-Dd9JJv_a.mjs +0 -939
  1363. package/dist/taxonomies-Dd9JJv_a.mjs.map +0 -1
  1364. package/dist/taxonomy-C_C_LBAU.mjs +0 -550
  1365. package/dist/taxonomy-C_C_LBAU.mjs.map +0 -1
  1366. package/dist/tokens-BnhSnGwJ.mjs +0 -171
  1367. package/dist/tokens-BnhSnGwJ.mjs.map +0 -1
  1368. package/dist/transaction-BVYIo_yu.mjs +0 -29
  1369. package/dist/transaction-BVYIo_yu.mjs.map +0 -1
  1370. package/dist/transfer-ClH6w6BV.mjs +0 -8873
  1371. package/dist/transfer-ClH6w6BV.mjs.map +0 -1
  1372. package/dist/transfer-WmWiR3xf.mjs +0 -166
  1373. package/dist/transfer-WmWiR3xf.mjs.map +0 -1
  1374. package/dist/transfer-download--ofRj9Cw.mjs +0 -33
  1375. package/dist/transfer-download--ofRj9Cw.mjs.map +0 -1
  1376. package/dist/transformations-Bx4lYY0Y.mjs +0 -196
  1377. package/dist/transformations-Bx4lYY0Y.mjs.map +0 -1
  1378. package/dist/transport-BjbqNiPI.mjs +0 -136
  1379. package/dist/transport-BjbqNiPI.mjs.map +0 -1
  1380. package/dist/transport-DxiXnbXk.d.mts +0 -42
  1381. package/dist/transport-DxiXnbXk.d.mts.map +0 -1
  1382. package/dist/trusted-proxy-BU3Nx9g1.mjs +0 -51
  1383. package/dist/trusted-proxy-BU3Nx9g1.mjs.map +0 -1
  1384. package/dist/turnstile-CJwvsOqw.mjs +0 -58
  1385. package/dist/turnstile-CJwvsOqw.mjs.map +0 -1
  1386. package/dist/types-BA3ey2QH.d.mts +0 -87
  1387. package/dist/types-BA3ey2QH.d.mts.map +0 -1
  1388. package/dist/types-BGmQ0uXs.mjs +0 -201
  1389. package/dist/types-BGmQ0uXs.mjs.map +0 -1
  1390. package/dist/types-Bwpzb5o6.d.mts +0 -227
  1391. package/dist/types-Bwpzb5o6.d.mts.map +0 -1
  1392. package/dist/types-CNB-dj6F.d.mts +0 -289
  1393. package/dist/types-CNB-dj6F.d.mts.map +0 -1
  1394. package/dist/types-CgfFGfO5.mjs +0 -16
  1395. package/dist/types-CgfFGfO5.mjs.map +0 -1
  1396. package/dist/types-Cj0_yZkn.mjs +0 -18
  1397. package/dist/types-Cj0_yZkn.mjs.map +0 -1
  1398. package/dist/types-D2NEXtgB.mjs +0 -127
  1399. package/dist/types-D2NEXtgB.mjs.map +0 -1
  1400. package/dist/types-DCFavOii.d.mts +0 -916
  1401. package/dist/types-DCFavOii.d.mts.map +0 -1
  1402. package/dist/types-DHO7Pd25.d.mts +0 -366
  1403. package/dist/types-DHO7Pd25.d.mts.map +0 -1
  1404. package/dist/types-DvqVxZXa.d.mts +0 -125
  1405. package/dist/types-DvqVxZXa.d.mts.map +0 -1
  1406. package/dist/types-QoPHm-2w.d.mts +0 -1741
  1407. package/dist/types-QoPHm-2w.d.mts.map +0 -1
  1408. package/dist/types-RLgeIpnF.d.mts +0 -374
  1409. package/dist/types-RLgeIpnF.d.mts.map +0 -1
  1410. package/dist/types-qHVygneX.mjs +0 -77
  1411. package/dist/types-qHVygneX.mjs.map +0 -1
  1412. package/dist/types-sUHaH7lC.mjs +0 -37
  1413. package/dist/types-sUHaH7lC.mjs.map +0 -1
  1414. package/dist/types-slSqujQL.d.mts +0 -204
  1415. package/dist/types-slSqujQL.d.mts.map +0 -1
  1416. package/dist/update-check-BxNg9T6N.mjs +0 -161
  1417. package/dist/update-check-BxNg9T6N.mjs.map +0 -1
  1418. package/dist/upload-attempts-DPFC4COv.mjs +0 -32
  1419. package/dist/upload-attempts-DPFC4COv.mjs.map +0 -1
  1420. package/dist/url-Dn3IStq8.mjs +0 -104
  1421. package/dist/url-Dn3IStq8.mjs.map +0 -1
  1422. package/dist/url-pattern-QATUE_rv.mjs +0 -41
  1423. package/dist/url-pattern-QATUE_rv.mjs.map +0 -1
  1424. package/dist/user-BlCTKVAm.mjs +0 -171
  1425. package/dist/user-BlCTKVAm.mjs.map +0 -1
  1426. package/dist/utils-TPt7w2cS.mjs +0 -442
  1427. package/dist/utils-TPt7w2cS.mjs.map +0 -1
  1428. package/dist/validate-DxYhJQA-.mjs +0 -524
  1429. package/dist/validate-DxYhJQA-.mjs.map +0 -1
  1430. package/dist/validate-emKxGC5F.d.mts +0 -468
  1431. package/dist/validate-emKxGC5F.d.mts.map +0 -1
  1432. package/dist/validation-Ckq4vsVg.mjs +0 -220
  1433. package/dist/validation-Ckq4vsVg.mjs.map +0 -1
  1434. package/dist/version-BZj18Q7G.mjs +0 -9
  1435. package/dist/version-BZj18Q7G.mjs.map +0 -1
  1436. package/dist/version-DHmGpcch.mjs +0 -7
  1437. package/dist/version-DHmGpcch.mjs.map +0 -1
  1438. package/dist/video-DytCnw3L.mjs +0 -54
  1439. package/dist/video-DytCnw3L.mjs.map +0 -1
  1440. package/dist/virtual-modules-DO954n7P.mjs +0 -515
  1441. package/dist/virtual-modules-DO954n7P.mjs.map +0 -1
  1442. package/dist/widgets-DA5XmvVC.mjs +0 -121
  1443. package/dist/widgets-DA5XmvVC.mjs.map +0 -1
  1444. package/dist/wxr-taxonomies-CrMonejI.d.mts +0 -34
  1445. package/dist/wxr-taxonomies-CrMonejI.d.mts.map +0 -1
  1446. package/dist/wxr-taxonomies-RgRG0d5e.mjs +0 -453
  1447. package/dist/wxr-taxonomies-RgRG0d5e.mjs.map +0 -1
  1448. package/dist/zod-generator-D0JKy94C.mjs +0 -424
  1449. package/dist/zod-generator-D0JKy94C.mjs.map +0 -1
  1450. /package/dist/{api-tokens-CdP49zVF.mjs → api-tokens-C7l0GUAF.mjs} +0 -0
  1451. /package/dist/{ssrf-DM0E-D_8.mjs → ssrf-BBXcxG-f.mjs} +0 -0
@@ -0,0 +1,176 @@
1
+ import { w as BlockType } from "./types-Bgujop4S.mjs";
2
+ import { i as ContentItem } from "./types-BqJgTL_y.mjs";
3
+ import { z } from "zod";
4
+
5
+ //#region src/api/types.d.ts
6
+ /**
7
+ * List response with cursor pagination
8
+ */
9
+ interface ListResponse<T> {
10
+ items: T[];
11
+ nextCursor?: string;
12
+ /**
13
+ * Total number of rows matching the filters, ignoring pagination. Used
14
+ * by the admin to render a stable pagination denominator. Optional so
15
+ * callers that don't surface a row count don't pay for the extra query.
16
+ */
17
+ total?: number;
18
+ }
19
+ /**
20
+ * Content API responses
21
+ */
22
+ interface ContentListResponse extends ListResponse<ContentItem> {}
23
+ interface ContentResponse {
24
+ item: ContentItem;
25
+ /** Opaque revision token for optimistic concurrency */
26
+ _rev?: string;
27
+ }
28
+ /**
29
+ * Manifest API response
30
+ */
31
+ interface ManifestResponse {
32
+ version: string;
33
+ hash: string;
34
+ collections: ManifestCollectionMap;
35
+ plugins: Record<string, {
36
+ adminPages?: Array<{
37
+ path: string;
38
+ component: string;
39
+ }>;
40
+ widgets?: string[];
41
+ }>;
42
+ }
43
+ type ManifestCollectionMap = Record<string, ManifestCollectionDescriptor>;
44
+ interface ManifestCollectionDescriptor {
45
+ label: string;
46
+ labelSingular: string;
47
+ supports: string[];
48
+ hasSeo: boolean;
49
+ urlPattern?: string;
50
+ routable?: boolean;
51
+ titleField?: string;
52
+ dateField?: string;
53
+ hidden?: boolean;
54
+ /** Phosphor icon name for the admin sidebar entry */
55
+ icon?: string;
56
+ /** Admin sidebar folder shared with other collections of the same group */
57
+ group?: string;
58
+ /** `false` omits the dashboard's "new entry" quick action */
59
+ quickCreate?: boolean;
60
+ listColumns?: string[];
61
+ fields: Record<string, ManifestFieldDescriptor>;
62
+ }
63
+ interface ManifestFieldDescriptor extends FieldDescriptor {
64
+ id?: string;
65
+ widget?: string;
66
+ validation?: Record<string, unknown>;
67
+ unsupportedType?: {
68
+ type: string;
69
+ path: string;
70
+ };
71
+ blockTypes?: BlockType[];
72
+ blockTypeFingerprint?: string;
73
+ /** Value a new entry starts with in the admin editor. */
74
+ defaultValue?: unknown;
75
+ /** Set on `integer` fields, which share the `number` kind. */
76
+ integer?: boolean;
77
+ }
78
+ interface FieldDescriptor {
79
+ kind: string;
80
+ label?: string;
81
+ required?: boolean;
82
+ translatable?: boolean;
83
+ /**
84
+ * For `select` / `multiSelect`: the list of enum choices.
85
+ * For `json` fields driven by a plugin `widget`: arbitrary widget config.
86
+ */
87
+ options?: Array<{
88
+ value: string;
89
+ label: string;
90
+ }> | Record<string, unknown>;
91
+ }
92
+ /**
93
+ * Discriminated union for handler results.
94
+ *
95
+ * Handlers return `ApiResult<T>` -- either `{ success: true, data: T }` or
96
+ * `{ success: false, error: { code, message } }`. The `success` literal
97
+ * enables TypeScript narrowing on `.data`.
98
+ *
99
+ * The generic `E` parameter defaults to `ErrorCode` but can be narrowed to
100
+ * `OAuthErrorCode` for OAuth token-endpoint handlers.
101
+ *
102
+ * Use `unwrapResult()` from `error.ts` to convert to an HTTP Response.
103
+ */
104
+ type ApiResult<T, E extends string = string> = {
105
+ success: true;
106
+ data: T;
107
+ } | {
108
+ success: false;
109
+ error: {
110
+ code: E;
111
+ message: string;
112
+ details?: Record<string, unknown>;
113
+ };
114
+ };
115
+ /**
116
+ * API request context
117
+ */
118
+ interface ApiContext {
119
+ userId?: string;
120
+ userRole?: string;
121
+ }
122
+ //#endregion
123
+ //#region src/api/error.d.ts
124
+ /**
125
+ * Create a standardized error response.
126
+ *
127
+ * Always returns `{ success: false, error: { code, message } }` with correct
128
+ * Content-Type. Use this for all error responses in API routes.
129
+ */
130
+ declare function apiError(code: string, message: string, status: number, details?: Record<string, unknown>): Response;
131
+ /**
132
+ * Create a standardized success response.
133
+ *
134
+ * Always returns `{ success: true, data: T }` with correct status code.
135
+ * Use this for all success responses in API routes.
136
+ */
137
+ declare function apiSuccess<T>(data: T, status?: number): Response;
138
+ /**
139
+ * Handle an unknown error in a catch block.
140
+ *
141
+ * - Logs the full error server-side
142
+ * - Returns a generic message to the client (never leaks error.message)
143
+ * - Use `fallbackMessage` for the public-facing message
144
+ * - Use `fallbackCode` for the error code
145
+ */
146
+ declare function handleError(error: unknown, fallbackMessage: string, fallbackCode: string): Response;
147
+ //#endregion
148
+ //#region src/api/parse.d.ts
149
+ /**
150
+ * Result of parsing: either the validated data or an error Response.
151
+ * Routes should check `if (result instanceof Response) return result;`
152
+ */
153
+ type ParseResult<T> = T | Response;
154
+ /**
155
+ * Parse and validate a JSON request body against a Zod schema.
156
+ *
157
+ * Returns the validated data on success, or a 400 Response on failure.
158
+ * Replaces all `(await request.json()) as T` casts.
159
+ */
160
+ declare function parseBody<T extends z.ZodType>(request: Request, schema: T): Promise<ParseResult<z.infer<T>>>;
161
+ /**
162
+ * Parse and validate URL search params against a Zod schema.
163
+ *
164
+ * Converts searchParams to a plain object before validation.
165
+ * Zod coercion handles string -> number/boolean conversion.
166
+ * Replaces manual `url.searchParams.get()` + `parseInt()` patterns.
167
+ */
168
+ declare function parseQuery<T extends z.ZodType>(url: URL, schema: T): ParseResult<z.infer<T>>;
169
+ /**
170
+ * Type guard to check if a ParseResult is an error Response.
171
+ * Usage: `if (isParseError(result)) return result;`
172
+ */
173
+ declare function isParseError<T>(result: ParseResult<T>): result is Response;
174
+ //#endregion
175
+ export { ManifestResponse as _, apiError as a, ApiContext as c, ContentResponse as d, FieldDescriptor as f, ManifestFieldDescriptor as g, ManifestCollectionMap as h, parseQuery as i, ApiResult as l, ManifestCollectionDescriptor as m, isParseError as n, apiSuccess as o, ListResponse as p, parseBody as r, handleError as s, ParseResult as t, ContentListResponse as u };
176
+ //# sourceMappingURL=parse-6pN8Xqg5.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-6pN8Xqg5.d.mts","names":[],"sources":["../src/api/types.ts","../src/api/error.ts","../src/api/parse.ts"],"mappings":";;;;;;AASA;;UAAiB,YAAA;EAChB,KAAA,EAAO,CAAA;EACP,UAAA;EADA;;;;;EAOA,KAAA;AAAA;;;;UAMgB,mBAAA,SAA4B,YAAA,CAAa,WAAA;AAAA,UAEzC,eAAA;EAChB,IAAA,EAAM,WAAA;EAAW;EAEjB,IAAA;AAAA;;;;UAMgB,gBAAA;EAChB,OAAA;EACA,IAAA;EACA,WAAA,EAAa,qBAAA;EACb,OAAA,EAAS,MAAA;IAGP,UAAA,GAAa,KAAA;MAAQ,IAAA;MAAc,SAAA;IAAA;IACnC,OAAA;EAAA;AAAA;AAAA,KAKS,qBAAA,GAAwB,MAAA,SAAe,4BAAA;AAAA,UAElC,4BAAA;EAChB,KAAA;EACA,aAAA;EACA,QAAA;EACA,MAAA;EACA,UAAA;EACA,QAAA;EACA,UAAA;EACA,SAAA;EACA,MAAA;;EAEA,IAAA;EAb8E;EAe9E,KAAA;EAb4C;EAe5C,WAAA;EACA,WAAA;EACA,MAAA,EAAQ,MAAA,SAAe,uBAAA;AAAA;AAAA,UAGP,uBAAA,SAAgC,eAAA;EAChD,EAAA;EACA,MAAA;EACA,UAAA,GAAa,MAAA;EACb,eAAA;IAAoB,IAAA;IAAc,IAAA;EAAA;EAClC,UAAA,GAAa,SAAA;EACb,oBAAA;EAVA;EAYA,YAAA;EAXQ;EAaR,OAAA;AAAA;AAAA,UAGgB,eAAA;EAChB,IAAA;EACA,KAAA;EACA,QAAA;EACA,YAAA;EAZa;;;;EAiBb,OAAA,GAAU,KAAA;IAAQ,KAAA;IAAe,KAAA;EAAA,KAAmB,MAAA;AAAA;;;;;;;;;;;AATrD;;KAwBY,SAAA;EACP,OAAA;EAAe,IAAA,EAAM,CAAA;AAAA;EAEvB,OAAA;EACA,KAAA;IAAS,IAAA,EAAM,CAAA;IAAG,OAAA;IAAiB,OAAA,GAAU,MAAA;EAAA;AAAA;;;AAJhD;UAUiB,UAAA;EAChB,MAAA;EACA,QAAA;AAAA;;;;;;;;;iBCxFe,QAAA,CACf,IAAA,UACA,OAAA,UACA,MAAA,UACA,OAAA,GAAU,MAAA,oBACR,QAAA;;ADZH;;;;;iBC2BgB,UAAA,GAAA,CAAc,IAAA,EAAM,CAAA,EAAG,MAAA,YAAe,QAAA;;;;;;;;;iBAYtC,WAAA,CACf,KAAA,WACA,eAAA,UACA,YAAA,WACE,QAAA;;;;;;;KChDS,WAAA,MAAiB,CAAA,GAAI,QAAA;;;;;AFKjC;;iBEGsB,SAAA,WAAoB,CAAA,CAAE,OAAA,CAAA,CAC3C,OAAA,EAAS,OAAA,EACT,MAAA,EAAQ,CAAA,GACN,OAAA,CAAQ,WAAA,CAAY,CAAA,CAAE,KAAA,CAAM,CAAA;;;;;AFK/B;;;iBEyDgB,UAAA,WAAqB,CAAA,CAAE,OAAA,CAAA,CAAS,GAAA,EAAK,GAAA,EAAK,MAAA,EAAQ,CAAA,GAAI,WAAA,CAAY,CAAA,CAAE,KAAA,CAAM,CAAA;;;;;iBA+B1E,YAAA,GAAA,CAAgB,MAAA,EAAQ,WAAA,CAAY,CAAA,IAAK,MAAA,IAAU,QAAA"}
@@ -0,0 +1,46 @@
1
+ //#region src/auth/passkey-config.ts
2
+ /**
3
+ * Get passkey configuration from request URL
4
+ *
5
+ * @param url The request URL (typically `new URL(Astro.request.url)` or `new URL(request.url)`)
6
+ * @param siteName Optional site name for rpName (defaults to hostname from `url` or public origin)
7
+ * @param siteUrl Optional browser-facing origin (see `EmDashConfig.siteUrl`).
8
+ * When set, the canonical **origin** and **rpId** are taken from this URL.
9
+ * @param allowedOrigins Optional list of additional accepted origins for verification.
10
+ * Each must share `rpId` with the canonical origin (WebAuthn requirement).
11
+ * Typical use: apex + preview subdomain on the same registrable domain.
12
+ * @throws If `siteUrl` is non-empty but not parseable by `new URL()`.
13
+ */
14
+ function getPasskeyConfig(url, siteName, siteUrl, allowedOrigins) {
15
+ let rpName;
16
+ let rpId;
17
+ let canonicalOrigin;
18
+ if (siteUrl) {
19
+ let publicUrl;
20
+ try {
21
+ publicUrl = new URL(siteUrl);
22
+ } catch (e) {
23
+ throw new Error(`Invalid siteUrl: "${siteUrl}"`, { cause: e });
24
+ }
25
+ rpName = siteName || publicUrl.hostname;
26
+ rpId = publicUrl.hostname;
27
+ canonicalOrigin = publicUrl.origin;
28
+ } else {
29
+ rpName = siteName || url.hostname;
30
+ rpId = url.hostname;
31
+ canonicalOrigin = url.origin;
32
+ }
33
+ const origins = [canonicalOrigin];
34
+ if (allowedOrigins) {
35
+ for (const extra of allowedOrigins) if (extra && !origins.includes(extra)) origins.push(extra);
36
+ }
37
+ return {
38
+ rpName,
39
+ rpId,
40
+ origins
41
+ };
42
+ }
43
+
44
+ //#endregion
45
+ export { getPasskeyConfig as t };
46
+ //# sourceMappingURL=passkey-config-DTTZB6EI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passkey-config-DTTZB6EI.mjs","names":[],"sources":["../src/auth/passkey-config.ts"],"sourcesContent":["/**\n * Passkey configuration helper\n *\n * Extracts passkey configuration from the request URL.\n * This ensures the rpId and origin are correctly set for both\n * localhost development and production deployments.\n */\n\nexport interface PasskeyConfig {\n\trpName: string;\n\trpId: string;\n\t/**\n\t * Accepted client-data origins. First entry is the canonical/preferred origin;\n\t * additional entries support multi-origin deployments (e.g. apex + preview\n\t * subdomain sharing the same `rpId`). See `allowedOrigins` parameter.\n\t */\n\torigins: string[];\n}\n\n/**\n * Get passkey configuration from request URL\n *\n * @param url The request URL (typically `new URL(Astro.request.url)` or `new URL(request.url)`)\n * @param siteName Optional site name for rpName (defaults to hostname from `url` or public origin)\n * @param siteUrl Optional browser-facing origin (see `EmDashConfig.siteUrl`).\n * When set, the canonical **origin** and **rpId** are taken from this URL.\n * @param allowedOrigins Optional list of additional accepted origins for verification.\n * Each must share `rpId` with the canonical origin (WebAuthn requirement).\n * Typical use: apex + preview subdomain on the same registrable domain.\n * @throws If `siteUrl` is non-empty but not parseable by `new URL()`.\n */\nexport function getPasskeyConfig(\n\turl: URL,\n\tsiteName?: string,\n\tsiteUrl?: string,\n\tallowedOrigins?: string[],\n): PasskeyConfig {\n\tlet rpName: string;\n\tlet rpId: string;\n\tlet canonicalOrigin: string;\n\n\tif (siteUrl) {\n\t\tlet publicUrl: URL;\n\t\ttry {\n\t\t\tpublicUrl = new URL(siteUrl);\n\t\t} catch (e) {\n\t\t\tthrow new Error(`Invalid siteUrl: \"${siteUrl}\"`, { cause: e });\n\t\t}\n\t\trpName = siteName || publicUrl.hostname;\n\t\trpId = publicUrl.hostname;\n\t\tcanonicalOrigin = publicUrl.origin;\n\t} else {\n\t\trpName = siteName || url.hostname;\n\t\trpId = url.hostname;\n\t\tcanonicalOrigin = url.origin;\n\t}\n\n\tconst origins = [canonicalOrigin];\n\tif (allowedOrigins) {\n\t\tfor (const extra of allowedOrigins) {\n\t\t\tif (extra && !origins.includes(extra)) origins.push(extra);\n\t\t}\n\t}\n\n\treturn { rpName, rpId, origins };\n}\n"],"mappings":";;;;;;;;;;;;;AA+BA,SAAgB,iBACf,KACA,UACA,SACA,gBACgB;CAChB,IAAI;CACJ,IAAI;CACJ,IAAI;AAEJ,KAAI,SAAS;EACZ,IAAI;AACJ,MAAI;AACH,eAAY,IAAI,IAAI,QAAQ;WACpB,GAAG;AACX,SAAM,IAAI,MAAM,qBAAqB,QAAQ,IAAI,EAAE,OAAO,GAAG,CAAC;;AAE/D,WAAS,YAAY,UAAU;AAC/B,SAAO,UAAU;AACjB,oBAAkB,UAAU;QACtB;AACN,WAAS,YAAY,IAAI;AACzB,SAAO,IAAI;AACX,oBAAkB,IAAI;;CAGvB,MAAM,UAAU,CAAC,gBAAgB;AACjC,KAAI,gBACH;OAAK,MAAM,SAAS,eACnB,KAAI,SAAS,CAAC,QAAQ,SAAS,MAAM,CAAE,SAAQ,KAAK,MAAM;;AAI5D,QAAO;EAAE;EAAQ;EAAM;EAAS"}
@@ -0,0 +1,77 @@
1
+ import { p as isRecordKind } from "./kinds-DogmNB6n.mjs";
2
+
3
+ //#region src/transfer/format/paths.ts
4
+ /**
5
+ * Package file paths.
6
+ *
7
+ * A package contains exactly these files, and nothing else:
8
+ *
9
+ * ```
10
+ * manifest.json
11
+ * index/<seq>.ndjson file index chunks, listed in the manifest
12
+ * records/<kind>/<seq>.ndjson record chunks, listed in the index
13
+ * media/<sha256-hex> raw media bytes, listed in the index
14
+ * ```
15
+ *
16
+ * `seq` is a zero-padded six-digit number starting at `000000` with no gaps.
17
+ * Paths are case-sensitive, relative, and never contain `.`/`..` segments,
18
+ * backslashes, or empty segments; anything that does not match is rejected.
19
+ */
20
+ const MANIFEST_PATH = "manifest.json";
21
+ const SEQ_DIGITS = 6;
22
+ const MAX_SEQ = 10 ** SEQ_DIGITS - 1;
23
+ const INDEX_PATH_PATTERN = /^index\/(\d{6})\.ndjson$/;
24
+ const RECORD_PATH_PATTERN = /^records\/([a-z_]+)\/(\d{6})\.ndjson$/;
25
+ const MEDIA_PATH_PATTERN = /^media\/([0-9a-f]{64})$/;
26
+ const SHA256_HEX_PATTERN = /^[0-9a-f]{64}$/;
27
+ function parsePackagePath(path) {
28
+ if (path === MANIFEST_PATH) return {
29
+ type: "manifest",
30
+ path
31
+ };
32
+ const index = INDEX_PATH_PATTERN.exec(path);
33
+ if (index) return {
34
+ type: "index",
35
+ path,
36
+ seq: Number(index[1])
37
+ };
38
+ const records = RECORD_PATH_PATTERN.exec(path);
39
+ if (records) {
40
+ const kind = records[1];
41
+ if (!isRecordKind(kind)) return null;
42
+ return {
43
+ type: "records",
44
+ path,
45
+ kind,
46
+ seq: Number(records[2])
47
+ };
48
+ }
49
+ const media = MEDIA_PATH_PATTERN.exec(path);
50
+ if (media) return {
51
+ type: "media",
52
+ path,
53
+ sha256: media[1]
54
+ };
55
+ return null;
56
+ }
57
+ function isPackagePath(path) {
58
+ return parsePackagePath(path) !== null;
59
+ }
60
+ function formatSeq(seq) {
61
+ if (!Number.isInteger(seq) || seq < 0 || seq > MAX_SEQ) throw new RangeError(`Invalid chunk sequence ${seq}`);
62
+ return String(seq).padStart(SEQ_DIGITS, "0");
63
+ }
64
+ function indexChunkPath(seq) {
65
+ return `index/${formatSeq(seq)}.ndjson`;
66
+ }
67
+ function recordChunkPath(kind, seq) {
68
+ return `records/${kind}/${formatSeq(seq)}.ndjson`;
69
+ }
70
+ function mediaBlobPath(sha256) {
71
+ if (!SHA256_HEX_PATTERN.test(sha256)) throw new TypeError("Expected a lowercase hex SHA-256");
72
+ return `media/${sha256}`;
73
+ }
74
+
75
+ //#endregion
76
+ export { parsePackagePath as a, mediaBlobPath as i, indexChunkPath as n, recordChunkPath as o, isPackagePath as r, MANIFEST_PATH as t };
77
+ //# sourceMappingURL=paths-CQA62503.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths-CQA62503.mjs","names":[],"sources":["../src/transfer/format/paths.ts"],"sourcesContent":["/**\n * Package file paths.\n *\n * A package contains exactly these files, and nothing else:\n *\n * ```\n * manifest.json\n * index/<seq>.ndjson file index chunks, listed in the manifest\n * records/<kind>/<seq>.ndjson record chunks, listed in the index\n * media/<sha256-hex> raw media bytes, listed in the index\n * ```\n *\n * `seq` is a zero-padded six-digit number starting at `000000` with no gaps.\n * Paths are case-sensitive, relative, and never contain `.`/`..` segments,\n * backslashes, or empty segments; anything that does not match is rejected.\n */\n\nimport { isRecordKind, type RecordKind } from \"./kinds.js\";\n\nexport const MANIFEST_PATH = \"manifest.json\";\n\nconst SEQ_DIGITS = 6;\nconst MAX_SEQ = 10 ** SEQ_DIGITS - 1;\n\nconst INDEX_PATH_PATTERN = /^index\\/(\\d{6})\\.ndjson$/;\nconst RECORD_PATH_PATTERN = /^records\\/([a-z_]+)\\/(\\d{6})\\.ndjson$/;\nconst MEDIA_PATH_PATTERN = /^media\\/([0-9a-f]{64})$/;\nconst SHA256_HEX_PATTERN = /^[0-9a-f]{64}$/;\n\nexport type PackagePath =\n\t| { type: \"manifest\"; path: typeof MANIFEST_PATH }\n\t| { type: \"index\"; path: string; seq: number }\n\t| { type: \"records\"; path: string; kind: RecordKind; seq: number }\n\t| { type: \"media\"; path: string; sha256: string };\n\nexport function parsePackagePath(path: string): PackagePath | null {\n\tif (path === MANIFEST_PATH) return { type: \"manifest\", path };\n\tconst index = INDEX_PATH_PATTERN.exec(path);\n\tif (index) return { type: \"index\", path, seq: Number(index[1]) };\n\tconst records = RECORD_PATH_PATTERN.exec(path);\n\tif (records) {\n\t\tconst kind = records[1];\n\t\tif (!isRecordKind(kind)) return null;\n\t\treturn { type: \"records\", path, kind, seq: Number(records[2]) };\n\t}\n\tconst media = MEDIA_PATH_PATTERN.exec(path);\n\tif (media) return { type: \"media\", path, sha256: media[1] };\n\treturn null;\n}\n\nexport function isPackagePath(path: string): boolean {\n\treturn parsePackagePath(path) !== null;\n}\n\nfunction formatSeq(seq: number): string {\n\tif (!Number.isInteger(seq) || seq < 0 || seq > MAX_SEQ) {\n\t\tthrow new RangeError(`Invalid chunk sequence ${seq}`);\n\t}\n\treturn String(seq).padStart(SEQ_DIGITS, \"0\");\n}\n\nexport function indexChunkPath(seq: number): string {\n\treturn `index/${formatSeq(seq)}.ndjson`;\n}\n\nexport function recordChunkPath(kind: RecordKind, seq: number): string {\n\treturn `records/${kind}/${formatSeq(seq)}.ndjson`;\n}\n\nexport function mediaBlobPath(sha256: string): string {\n\tif (!SHA256_HEX_PATTERN.test(sha256)) throw new TypeError(\"Expected a lowercase hex SHA-256\");\n\treturn `media/${sha256}`;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAmBA,MAAa,gBAAgB;AAE7B,MAAM,aAAa;AACnB,MAAM,UAAU,MAAM,aAAa;AAEnC,MAAM,qBAAqB;AAC3B,MAAM,sBAAsB;AAC5B,MAAM,qBAAqB;AAC3B,MAAM,qBAAqB;AAQ3B,SAAgB,iBAAiB,MAAkC;AAClE,KAAI,SAAS,cAAe,QAAO;EAAE,MAAM;EAAY;EAAM;CAC7D,MAAM,QAAQ,mBAAmB,KAAK,KAAK;AAC3C,KAAI,MAAO,QAAO;EAAE,MAAM;EAAS;EAAM,KAAK,OAAO,MAAM,GAAG;EAAE;CAChE,MAAM,UAAU,oBAAoB,KAAK,KAAK;AAC9C,KAAI,SAAS;EACZ,MAAM,OAAO,QAAQ;AACrB,MAAI,CAAC,aAAa,KAAK,CAAE,QAAO;AAChC,SAAO;GAAE,MAAM;GAAW;GAAM;GAAM,KAAK,OAAO,QAAQ,GAAG;GAAE;;CAEhE,MAAM,QAAQ,mBAAmB,KAAK,KAAK;AAC3C,KAAI,MAAO,QAAO;EAAE,MAAM;EAAS;EAAM,QAAQ,MAAM;EAAI;AAC3D,QAAO;;AAGR,SAAgB,cAAc,MAAuB;AACpD,QAAO,iBAAiB,KAAK,KAAK;;AAGnC,SAAS,UAAU,KAAqB;AACvC,KAAI,CAAC,OAAO,UAAU,IAAI,IAAI,MAAM,KAAK,MAAM,QAC9C,OAAM,IAAI,WAAW,0BAA0B,MAAM;AAEtD,QAAO,OAAO,IAAI,CAAC,SAAS,YAAY,IAAI;;AAG7C,SAAgB,eAAe,KAAqB;AACnD,QAAO,SAAS,UAAU,IAAI,CAAC;;AAGhC,SAAgB,gBAAgB,MAAkB,KAAqB;AACtE,QAAO,WAAW,KAAK,GAAG,UAAU,IAAI,CAAC;;AAG1C,SAAgB,cAAc,QAAwB;AACrD,KAAI,CAAC,mBAAmB,KAAK,OAAO,CAAE,OAAM,IAAI,UAAU,mCAAmC;AAC7F,QAAO,SAAS"}
@@ -0,0 +1,159 @@
1
+ //#region src/redirects/patterns.ts
2
+ /**
3
+ * URL pattern matching for redirects.
4
+ *
5
+ * Uses Astro's route syntax: [param] for named segments, [...rest] for catch-all.
6
+ * Compiles patterns to safe regexes -- no user-supplied regex, no ReDoS risk.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const compiled = compilePattern("/old-blog/[...path]");
11
+ * const match = matchPattern(compiled, "/old-blog/2024/01/post");
12
+ * // match = { path: "2024/01/post" }
13
+ *
14
+ * interpolateDestination("/blog/[...path]", match);
15
+ * // "/blog/2024/01/post"
16
+ * ```
17
+ */
18
+ /** Matches [paramName] placeholders */
19
+ const PARAM_PATTERN = /\[(\w+)\]/g;
20
+ /** Matches [...splatName] placeholders */
21
+ const SPLAT_PATTERN = /\[\.\.\.(\w+)\]/g;
22
+ /** Combined pattern for validation: matches both [param] and [...splat] */
23
+ const ANY_PLACEHOLDER = /\[(?:\.\.\.)?(\w+)\]/g;
24
+ /** Nested brackets check: [foo[ */
25
+ const NESTED_BRACKETS = /\[[^\]]*\[/;
26
+ /** Empty brackets: [] */
27
+ const EMPTY_BRACKETS = /\[\]/;
28
+ /** Count open brackets */
29
+ const OPEN_BRACKET = /\[/g;
30
+ /** Count close brackets */
31
+ const CLOSE_BRACKET = /\]/g;
32
+ /** Escape regex-special characters in literal parts */
33
+ const REGEX_SPECIAL_CHARS = /[.*+?^${}()|[\]\\]/g;
34
+ /**
35
+ * Returns true if a source string contains [param] or [...splat] placeholders.
36
+ */
37
+ function isPattern(source) {
38
+ return source.match(ANY_PLACEHOLDER) !== null;
39
+ }
40
+ /**
41
+ * Validate that a pattern string is well-formed.
42
+ * Returns null if valid, or an error message if invalid.
43
+ */
44
+ function validatePattern(source) {
45
+ if (!source.startsWith("/")) return "Pattern must start with /";
46
+ if (NESTED_BRACKETS.test(source)) return "Nested brackets are not allowed";
47
+ if (EMPTY_BRACKETS.test(source)) return "Empty brackets are not allowed";
48
+ if ((source.match(OPEN_BRACKET) ?? []).length !== (source.match(CLOSE_BRACKET) ?? []).length) return "Unmatched brackets";
49
+ const segments = source.split("/").filter(Boolean);
50
+ for (let i = 0; i < segments.length; i++) {
51
+ const segment = segments[i];
52
+ if (SPLAT_PATTERN.test(segment) && i !== segments.length - 1) {
53
+ SPLAT_PATTERN.lastIndex = 0;
54
+ return "Catch-all [...param] must be in the last segment";
55
+ }
56
+ SPLAT_PATTERN.lastIndex = 0;
57
+ }
58
+ for (const segment of segments) {
59
+ const placeholders = segment.match(ANY_PLACEHOLDER);
60
+ if (placeholders && placeholders.length > 1) return "Each segment can contain at most one placeholder";
61
+ if (placeholders && placeholders[0] !== segment) return "A placeholder must be the entire segment, not mixed with literal text";
62
+ }
63
+ const names = [];
64
+ for (const m of source.matchAll(ANY_PLACEHOLDER)) {
65
+ const name = m[1];
66
+ if (names.includes(name)) return `Duplicate parameter name: ${name}`;
67
+ names.push(name);
68
+ }
69
+ return null;
70
+ }
71
+ /**
72
+ * Validate that all placeholders in a destination exist in the source.
73
+ * Returns null if valid, or an error message if invalid.
74
+ */
75
+ function validateDestinationParams(source, destination) {
76
+ const sourceNames = /* @__PURE__ */ new Set();
77
+ for (const m of source.matchAll(ANY_PLACEHOLDER)) sourceNames.add(m[1]);
78
+ for (const m of destination.matchAll(ANY_PLACEHOLDER)) {
79
+ const name = m[1];
80
+ if (!sourceNames.has(name)) return `Destination references [${name}] which is not captured in the source pattern`;
81
+ }
82
+ return null;
83
+ }
84
+ /**
85
+ * Compile a URL pattern into a regex for matching.
86
+ *
87
+ * - `[param]` matches a single path segment (`[^/]+`)
88
+ * - `[...rest]` matches one or more remaining segments (`.+`)
89
+ */
90
+ function compilePattern(source) {
91
+ const paramNames = [];
92
+ let regexStr = "";
93
+ let literalStart = 0;
94
+ for (const match of source.matchAll(ANY_PLACEHOLDER)) {
95
+ regexStr += source.slice(literalStart, match.index).replace(REGEX_SPECIAL_CHARS, "\\$&");
96
+ paramNames.push(match[1]);
97
+ regexStr += match[0].startsWith("[...") ? "(.+)" : "([^/]+)";
98
+ literalStart = match.index + match[0].length;
99
+ }
100
+ regexStr += source.slice(literalStart).replace(REGEX_SPECIAL_CHARS, "\\$&");
101
+ return {
102
+ regex: new RegExp(`^${regexStr}$`),
103
+ paramNames,
104
+ source
105
+ };
106
+ }
107
+ function toggledTrailingSlash(path) {
108
+ if (path.length <= 1) return null;
109
+ return path.endsWith("/") ? path.slice(0, -1) : `${path}/`;
110
+ }
111
+ /**
112
+ * Match a path against a compiled pattern.
113
+ * Returns captured params or null if no match.
114
+ *
115
+ * Trailing slashes are ignored so `/category/arts/feed` and
116
+ * `/category/arts/feed/` match the same rule, consistent with exact and
117
+ * catch-all redirects.
118
+ */
119
+ function matchPattern(compiled, path) {
120
+ const match = path.match(compiled.regex);
121
+ if (match) {
122
+ const params = {};
123
+ for (let i = 0; i < compiled.paramNames.length; i++) {
124
+ const value = match[i + 1];
125
+ if (value !== void 0) params[compiled.paramNames[i]] = value;
126
+ }
127
+ return params;
128
+ }
129
+ const alt = toggledTrailingSlash(path);
130
+ if (!alt) return null;
131
+ const altMatch = alt.match(compiled.regex);
132
+ if (!altMatch) return null;
133
+ const params = {};
134
+ for (let i = 0; i < compiled.paramNames.length; i++) {
135
+ const value = altMatch[i + 1];
136
+ if (value !== void 0) params[compiled.paramNames[i]] = value;
137
+ }
138
+ return params;
139
+ }
140
+ /**
141
+ * Interpolate captured params into a destination pattern.
142
+ *
143
+ * @example
144
+ * interpolateDestination("/blog/[...path]", { path: "2024/01/post" })
145
+ * // "/blog/2024/01/post"
146
+ */
147
+ function interpolateDestination(destination, params) {
148
+ let result = destination.replace(SPLAT_PATTERN, (_match, name) => {
149
+ return params[name] ?? "";
150
+ });
151
+ result = result.replace(PARAM_PATTERN, (_match, name) => {
152
+ return params[name] ?? "";
153
+ });
154
+ return result;
155
+ }
156
+
157
+ //#endregion
158
+ export { validateDestinationParams as a, matchPattern as i, interpolateDestination as n, validatePattern as o, isPattern as r, compilePattern as t };
159
+ //# sourceMappingURL=patterns-CryGz_EV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patterns-CryGz_EV.mjs","names":[],"sources":["../src/redirects/patterns.ts"],"sourcesContent":["/**\n * URL pattern matching for redirects.\n *\n * Uses Astro's route syntax: [param] for named segments, [...rest] for catch-all.\n * Compiles patterns to safe regexes -- no user-supplied regex, no ReDoS risk.\n *\n * @example\n * ```ts\n * const compiled = compilePattern(\"/old-blog/[...path]\");\n * const match = matchPattern(compiled, \"/old-blog/2024/01/post\");\n * // match = { path: \"2024/01/post\" }\n *\n * interpolateDestination(\"/blog/[...path]\", match);\n * // \"/blog/2024/01/post\"\n * ```\n */\n\n/** Matches [paramName] placeholders */\nconst PARAM_PATTERN = /\\[(\\w+)\\]/g;\n\n/** Matches [...splatName] placeholders */\nconst SPLAT_PATTERN = /\\[\\.\\.\\.(\\w+)\\]/g;\n\n/** Combined pattern for validation: matches both [param] and [...splat] */\nconst ANY_PLACEHOLDER = /\\[(?:\\.\\.\\.)?(\\w+)\\]/g;\n\n/** Nested brackets check: [foo[ */\nconst NESTED_BRACKETS = /\\[[^\\]]*\\[/;\n\n/** Empty brackets: [] */\nconst EMPTY_BRACKETS = /\\[\\]/;\n\n/** Count open brackets */\nconst OPEN_BRACKET = /\\[/g;\n\n/** Count close brackets */\nconst CLOSE_BRACKET = /\\]/g;\n\n/** Escape regex-special characters in literal parts */\nconst REGEX_SPECIAL_CHARS = /[.*+?^${}()|[\\]\\\\]/g;\n\nexport interface CompiledPattern {\n\tregex: RegExp;\n\tparamNames: string[];\n\tsource: string;\n}\n\n/**\n * Returns true if a source string contains [param] or [...splat] placeholders.\n */\nexport function isPattern(source: string): boolean {\n\t// Use match() instead of test() to avoid lastIndex issues with the global regex\n\treturn source.match(ANY_PLACEHOLDER) !== null;\n}\n\n/**\n * Validate that a pattern string is well-formed.\n * Returns null if valid, or an error message if invalid.\n */\nexport function validatePattern(source: string): string | null {\n\tif (!source.startsWith(\"/\")) {\n\t\treturn \"Pattern must start with /\";\n\t}\n\n\t// Check for nested brackets\n\tif (NESTED_BRACKETS.test(source)) {\n\t\treturn \"Nested brackets are not allowed\";\n\t}\n\n\t// Check for empty brackets\n\tif (EMPTY_BRACKETS.test(source)) {\n\t\treturn \"Empty brackets are not allowed\";\n\t}\n\n\t// Check for unmatched brackets\n\tconst openCount = (source.match(OPEN_BRACKET) ?? []).length;\n\tconst closeCount = (source.match(CLOSE_BRACKET) ?? []).length;\n\tif (openCount !== closeCount) {\n\t\treturn \"Unmatched brackets\";\n\t}\n\n\t// Check that [...splat] is only in the last segment\n\tconst segments = source.split(\"/\").filter(Boolean);\n\tfor (let i = 0; i < segments.length; i++) {\n\t\tconst segment = segments[i];\n\t\tif (SPLAT_PATTERN.test(segment) && i !== segments.length - 1) {\n\t\t\tSPLAT_PATTERN.lastIndex = 0;\n\t\t\treturn \"Catch-all [...param] must be in the last segment\";\n\t\t}\n\t\tSPLAT_PATTERN.lastIndex = 0;\n\t}\n\n\t// Check that a segment is either all literal or a single placeholder\n\tfor (const segment of segments) {\n\t\tconst placeholders = segment.match(ANY_PLACEHOLDER);\n\t\tif (placeholders && placeholders.length > 1) {\n\t\t\treturn \"Each segment can contain at most one placeholder\";\n\t\t}\n\t\tif (placeholders && placeholders[0] !== segment) {\n\t\t\treturn \"A placeholder must be the entire segment, not mixed with literal text\";\n\t\t}\n\t}\n\n\t// Check for duplicate param names\n\tconst names: string[] = [];\n\tfor (const m of source.matchAll(ANY_PLACEHOLDER)) {\n\t\tconst name = m[1];\n\t\tif (names.includes(name)) {\n\t\t\treturn `Duplicate parameter name: ${name}`;\n\t\t}\n\t\tnames.push(name);\n\t}\n\n\treturn null;\n}\n\n/**\n * Validate that all placeholders in a destination exist in the source.\n * Returns null if valid, or an error message if invalid.\n */\nexport function validateDestinationParams(source: string, destination: string): string | null {\n\tconst sourceNames = new Set<string>();\n\tfor (const m of source.matchAll(ANY_PLACEHOLDER)) {\n\t\tsourceNames.add(m[1]);\n\t}\n\n\tfor (const m of destination.matchAll(ANY_PLACEHOLDER)) {\n\t\tconst name = m[1];\n\t\tif (!sourceNames.has(name)) {\n\t\t\treturn `Destination references [${name}] which is not captured in the source pattern`;\n\t\t}\n\t}\n\n\treturn null;\n}\n\n/**\n * Compile a URL pattern into a regex for matching.\n *\n * - `[param]` matches a single path segment (`[^/]+`)\n * - `[...rest]` matches one or more remaining segments (`.+`)\n */\nexport function compilePattern(source: string): CompiledPattern {\n\tconst paramNames: string[] = [];\n\tlet regexStr = \"\";\n\tlet literalStart = 0;\n\n\tfor (const match of source.matchAll(ANY_PLACEHOLDER)) {\n\t\tregexStr += source.slice(literalStart, match.index).replace(REGEX_SPECIAL_CHARS, \"\\\\$&\");\n\t\tparamNames.push(match[1]);\n\t\tregexStr += match[0].startsWith(\"[...\") ? \"(.+)\" : \"([^/]+)\";\n\t\tliteralStart = match.index + match[0].length;\n\t}\n\tregexStr += source.slice(literalStart).replace(REGEX_SPECIAL_CHARS, \"\\\\$&\");\n\n\treturn {\n\t\tregex: new RegExp(`^${regexStr}$`),\n\t\tparamNames,\n\t\tsource,\n\t};\n}\n\nfunction toggledTrailingSlash(path: string): string | null {\n\tif (path.length <= 1) return null;\n\treturn path.endsWith(\"/\") ? path.slice(0, -1) : `${path}/`;\n}\n\n/**\n * Match a path against a compiled pattern.\n * Returns captured params or null if no match.\n *\n * Trailing slashes are ignored so `/category/arts/feed` and\n * `/category/arts/feed/` match the same rule, consistent with exact and\n * catch-all redirects.\n */\nexport function matchPattern(\n\tcompiled: CompiledPattern,\n\tpath: string,\n): Record<string, string> | null {\n\tconst match = path.match(compiled.regex);\n\tif (match) {\n\t\tconst params: Record<string, string> = {};\n\t\tfor (let i = 0; i < compiled.paramNames.length; i++) {\n\t\t\tconst value = match[i + 1];\n\t\t\tif (value !== undefined) {\n\t\t\t\tparams[compiled.paramNames[i]] = value;\n\t\t\t}\n\t\t}\n\t\treturn params;\n\t}\n\n\tconst alt = toggledTrailingSlash(path);\n\tif (!alt) return null;\n\n\tconst altMatch = alt.match(compiled.regex);\n\tif (!altMatch) return null;\n\n\tconst params: Record<string, string> = {};\n\tfor (let i = 0; i < compiled.paramNames.length; i++) {\n\t\tconst value = altMatch[i + 1];\n\t\tif (value !== undefined) {\n\t\t\tparams[compiled.paramNames[i]] = value;\n\t\t}\n\t}\n\treturn params;\n}\n\n/**\n * Interpolate captured params into a destination pattern.\n *\n * @example\n * interpolateDestination(\"/blog/[...path]\", { path: \"2024/01/post\" })\n * // \"/blog/2024/01/post\"\n */\nexport function interpolateDestination(\n\tdestination: string,\n\tparams: Record<string, string>,\n): string {\n\t// Replace [...splat] first\n\tlet result = destination.replace(SPLAT_PATTERN, (_match, name: string) => {\n\t\treturn params[name] ?? \"\";\n\t});\n\n\t// Then [param]\n\tresult = result.replace(PARAM_PATTERN, (_match, name: string) => {\n\t\treturn params[name] ?? \"\";\n\t});\n\n\treturn result;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAkBA,MAAM,gBAAgB;;AAGtB,MAAM,gBAAgB;;AAGtB,MAAM,kBAAkB;;AAGxB,MAAM,kBAAkB;;AAGxB,MAAM,iBAAiB;;AAGvB,MAAM,eAAe;;AAGrB,MAAM,gBAAgB;;AAGtB,MAAM,sBAAsB;;;;AAW5B,SAAgB,UAAU,QAAyB;AAElD,QAAO,OAAO,MAAM,gBAAgB,KAAK;;;;;;AAO1C,SAAgB,gBAAgB,QAA+B;AAC9D,KAAI,CAAC,OAAO,WAAW,IAAI,CAC1B,QAAO;AAIR,KAAI,gBAAgB,KAAK,OAAO,CAC/B,QAAO;AAIR,KAAI,eAAe,KAAK,OAAO,CAC9B,QAAO;AAMR,MAFmB,OAAO,MAAM,aAAa,IAAI,EAAE,EAAE,YACjC,OAAO,MAAM,cAAc,IAAI,EAAE,EAAE,OAEtD,QAAO;CAIR,MAAM,WAAW,OAAO,MAAM,IAAI,CAAC,OAAO,QAAQ;AAClD,MAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACzC,MAAM,UAAU,SAAS;AACzB,MAAI,cAAc,KAAK,QAAQ,IAAI,MAAM,SAAS,SAAS,GAAG;AAC7D,iBAAc,YAAY;AAC1B,UAAO;;AAER,gBAAc,YAAY;;AAI3B,MAAK,MAAM,WAAW,UAAU;EAC/B,MAAM,eAAe,QAAQ,MAAM,gBAAgB;AACnD,MAAI,gBAAgB,aAAa,SAAS,EACzC,QAAO;AAER,MAAI,gBAAgB,aAAa,OAAO,QACvC,QAAO;;CAKT,MAAM,QAAkB,EAAE;AAC1B,MAAK,MAAM,KAAK,OAAO,SAAS,gBAAgB,EAAE;EACjD,MAAM,OAAO,EAAE;AACf,MAAI,MAAM,SAAS,KAAK,CACvB,QAAO,6BAA6B;AAErC,QAAM,KAAK,KAAK;;AAGjB,QAAO;;;;;;AAOR,SAAgB,0BAA0B,QAAgB,aAAoC;CAC7F,MAAM,8BAAc,IAAI,KAAa;AACrC,MAAK,MAAM,KAAK,OAAO,SAAS,gBAAgB,CAC/C,aAAY,IAAI,EAAE,GAAG;AAGtB,MAAK,MAAM,KAAK,YAAY,SAAS,gBAAgB,EAAE;EACtD,MAAM,OAAO,EAAE;AACf,MAAI,CAAC,YAAY,IAAI,KAAK,CACzB,QAAO,2BAA2B,KAAK;;AAIzC,QAAO;;;;;;;;AASR,SAAgB,eAAe,QAAiC;CAC/D,MAAM,aAAuB,EAAE;CAC/B,IAAI,WAAW;CACf,IAAI,eAAe;AAEnB,MAAK,MAAM,SAAS,OAAO,SAAS,gBAAgB,EAAE;AACrD,cAAY,OAAO,MAAM,cAAc,MAAM,MAAM,CAAC,QAAQ,qBAAqB,OAAO;AACxF,aAAW,KAAK,MAAM,GAAG;AACzB,cAAY,MAAM,GAAG,WAAW,OAAO,GAAG,SAAS;AACnD,iBAAe,MAAM,QAAQ,MAAM,GAAG;;AAEvC,aAAY,OAAO,MAAM,aAAa,CAAC,QAAQ,qBAAqB,OAAO;AAE3E,QAAO;EACN,OAAO,IAAI,OAAO,IAAI,SAAS,GAAG;EAClC;EACA;EACA;;AAGF,SAAS,qBAAqB,MAA6B;AAC1D,KAAI,KAAK,UAAU,EAAG,QAAO;AAC7B,QAAO,KAAK,SAAS,IAAI,GAAG,KAAK,MAAM,GAAG,GAAG,GAAG,GAAG,KAAK;;;;;;;;;;AAWzD,SAAgB,aACf,UACA,MACgC;CAChC,MAAM,QAAQ,KAAK,MAAM,SAAS,MAAM;AACxC,KAAI,OAAO;EACV,MAAM,SAAiC,EAAE;AACzC,OAAK,IAAI,IAAI,GAAG,IAAI,SAAS,WAAW,QAAQ,KAAK;GACpD,MAAM,QAAQ,MAAM,IAAI;AACxB,OAAI,UAAU,OACb,QAAO,SAAS,WAAW,MAAM;;AAGnC,SAAO;;CAGR,MAAM,MAAM,qBAAqB,KAAK;AACtC,KAAI,CAAC,IAAK,QAAO;CAEjB,MAAM,WAAW,IAAI,MAAM,SAAS,MAAM;AAC1C,KAAI,CAAC,SAAU,QAAO;CAEtB,MAAM,SAAiC,EAAE;AACzC,MAAK,IAAI,IAAI,GAAG,IAAI,SAAS,WAAW,QAAQ,KAAK;EACpD,MAAM,QAAQ,SAAS,IAAI;AAC3B,MAAI,UAAU,OACb,QAAO,SAAS,WAAW,MAAM;;AAGnC,QAAO;;;;;;;;;AAUR,SAAgB,uBACf,aACA,QACS;CAET,IAAI,SAAS,YAAY,QAAQ,gBAAgB,QAAQ,SAAiB;AACzE,SAAO,OAAO,SAAS;GACtB;AAGF,UAAS,OAAO,QAAQ,gBAAgB,QAAQ,SAAiB;AAChE,SAAO,OAAO,SAAS;GACtB;AAEF,QAAO"}