emdash 1.2.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 (1592) 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 -55
  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.d.mts.map +1 -1
  30. package/dist/astro/index.mjs +122 -20
  31. package/dist/astro/index.mjs.map +1 -1
  32. package/dist/astro/middleware/auth.d.mts +12 -12
  33. package/dist/astro/middleware/auth.d.mts.map +1 -1
  34. package/dist/astro/middleware/auth.mjs +12 -11
  35. package/dist/astro/middleware/auth.mjs.map +1 -1
  36. package/dist/astro/middleware/media-usage-write-fence.mjs +5 -5
  37. package/dist/astro/middleware/redirect.d.mts.map +1 -1
  38. package/dist/astro/middleware/redirect.mjs +161 -61
  39. package/dist/astro/middleware/redirect.mjs.map +1 -1
  40. package/dist/astro/middleware/request-context.d.mts.map +1 -1
  41. package/dist/astro/middleware/request-context.mjs +58 -20
  42. package/dist/astro/middleware/request-context.mjs.map +1 -1
  43. package/dist/astro/middleware/setup.mjs +1 -1
  44. package/dist/astro/middleware.d.mts +12 -12
  45. package/dist/astro/middleware.d.mts.map +1 -1
  46. package/dist/astro/middleware.mjs +137 -419
  47. package/dist/astro/middleware.mjs.map +1 -1
  48. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +16 -16
  49. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +16 -16
  50. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +6 -6
  51. package/dist/astro/routes/api/admin/api-tokens/index.mjs +7 -7
  52. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +7 -7
  53. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +19 -19
  54. package/dist/astro/routes/api/admin/byline-fields/index.mjs +19 -19
  55. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +19 -19
  56. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +29 -27
  57. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs.map +1 -1
  58. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +29 -27
  59. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs.map +1 -1
  60. package/dist/astro/routes/api/admin/bylines/index.mjs +29 -27
  61. package/dist/astro/routes/api/admin/bylines/index.mjs.map +1 -1
  62. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +21 -21
  63. package/dist/astro/routes/api/admin/comments/_id_.mjs +8 -8
  64. package/dist/astro/routes/api/admin/comments/bulk.mjs +20 -20
  65. package/dist/astro/routes/api/admin/comments/counts.mjs +8 -8
  66. package/dist/astro/routes/api/admin/comments/index.mjs +20 -20
  67. package/dist/astro/routes/api/admin/core-update.mjs +7 -7
  68. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +6 -6
  69. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +5 -5
  70. package/dist/astro/routes/api/admin/media-usage/activation.mjs +22 -22
  71. package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs +23 -23
  72. package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs +23 -23
  73. package/dist/astro/routes/api/admin/media-usage/progress.mjs +27 -25
  74. package/dist/astro/routes/api/admin/media-usage/progress.mjs.map +1 -1
  75. package/dist/astro/routes/api/admin/media-usage/repair.mjs +33 -31
  76. package/dist/astro/routes/api/admin/media-usage/repair.mjs.map +1 -1
  77. package/dist/astro/routes/api/admin/media-usage/work/index.mjs +23 -23
  78. package/dist/astro/routes/api/admin/media-usage/work/retry.mjs +23 -23
  79. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +6 -6
  80. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +6 -6
  81. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +8 -8
  82. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +8 -8
  83. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +81 -77
  84. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs.map +1 -1
  85. package/dist/astro/routes/api/admin/plugins/_id_/mcp.mjs +7 -7
  86. package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs +80 -76
  87. package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs.map +1 -1
  88. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +80 -77
  89. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs.map +1 -1
  90. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +91 -88
  91. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs.map +1 -1
  92. package/dist/astro/routes/api/admin/plugins/index.mjs +81 -77
  93. package/dist/astro/routes/api/admin/plugins/index.mjs.map +1 -1
  94. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +7 -7
  95. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +80 -76
  96. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs.map +1 -1
  97. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +90 -87
  98. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs.map +1 -1
  99. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +80 -76
  100. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs.map +1 -1
  101. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs +80 -77
  102. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs.map +1 -1
  103. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs +92 -89
  104. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs.map +1 -1
  105. package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs +10 -10
  106. package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs.map +1 -1
  107. package/dist/astro/routes/api/admin/plugins/registry/install.mjs +82 -79
  108. package/dist/astro/routes/api/admin/plugins/registry/install.mjs.map +1 -1
  109. package/dist/astro/routes/api/admin/plugins/registry/publisher-handle.mjs +7 -7
  110. package/dist/astro/routes/api/admin/plugins/registry/verify.mjs +81 -77
  111. package/dist/astro/routes/api/admin/plugins/registry/verify.mjs.map +1 -1
  112. package/dist/astro/routes/api/admin/plugins/updates.mjs +80 -76
  113. package/dist/astro/routes/api/admin/plugins/updates.mjs.map +1 -1
  114. package/dist/astro/routes/api/admin/scheduled-policy-rejections/_collection_/_id_.mjs +6 -6
  115. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +80 -76
  116. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs.map +1 -1
  117. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +7 -7
  118. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +80 -76
  119. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs.map +1 -1
  120. package/dist/astro/routes/api/admin/transfer/_...path_.mjs +4 -4
  121. package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.mjs +45 -42
  122. package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.mjs.map +1 -1
  123. package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.mjs +45 -42
  124. package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.mjs.map +1 -1
  125. package/dist/astro/routes/api/admin/transfer/approvals/index.mjs +47 -44
  126. package/dist/astro/routes/api/admin/transfer/approvals/index.mjs.map +1 -1
  127. package/dist/astro/routes/api/admin/transfer/capabilities.mjs +47 -44
  128. package/dist/astro/routes/api/admin/transfer/capabilities.mjs.map +1 -1
  129. package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.mjs +47 -44
  130. package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.mjs.map +1 -1
  131. package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.mjs +48 -45
  132. package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.mjs.map +1 -1
  133. package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.mjs +48 -45
  134. package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.mjs.map +1 -1
  135. package/dist/astro/routes/api/admin/transfer/exports/_id_/index.mjs +47 -44
  136. package/dist/astro/routes/api/admin/transfer/exports/_id_/index.mjs.map +1 -1
  137. package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.mjs +48 -45
  138. package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.mjs.map +1 -1
  139. package/dist/astro/routes/api/admin/transfer/exports/index.mjs +49 -46
  140. package/dist/astro/routes/api/admin/transfer/exports/index.mjs.map +1 -1
  141. package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.mjs +47 -44
  142. package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.mjs.map +1 -1
  143. package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.mjs +47 -44
  144. package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.mjs.map +1 -1
  145. package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.mjs +49 -46
  146. package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.mjs.map +1 -1
  147. package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.mjs +47 -44
  148. package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.mjs.map +1 -1
  149. package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.mjs +49 -46
  150. package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.mjs.map +1 -1
  151. package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.mjs +47 -44
  152. package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.mjs.map +1 -1
  153. package/dist/astro/routes/api/admin/transfer/imports/_id_/index.mjs +47 -44
  154. package/dist/astro/routes/api/admin/transfer/imports/_id_/index.mjs.map +1 -1
  155. package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.mjs +49 -46
  156. package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.mjs.map +1 -1
  157. package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.mjs +47 -44
  158. package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.mjs.map +1 -1
  159. package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.mjs +47 -44
  160. package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.mjs.map +1 -1
  161. package/dist/astro/routes/api/admin/transfer/imports/index.mjs +49 -46
  162. package/dist/astro/routes/api/admin/transfer/imports/index.mjs.map +1 -1
  163. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +5 -5
  164. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +4 -4
  165. package/dist/astro/routes/api/admin/users/_id_/index.mjs +17 -17
  166. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +6 -6
  167. package/dist/astro/routes/api/admin/users/index.mjs +16 -16
  168. package/dist/astro/routes/api/auth/dev-bypass.mjs +6 -6
  169. package/dist/astro/routes/api/auth/handover.mjs +6 -6
  170. package/dist/astro/routes/api/auth/invite/accept.mjs +4 -4
  171. package/dist/astro/routes/api/auth/invite/complete.mjs +21 -21
  172. package/dist/astro/routes/api/auth/invite/index.mjs +18 -18
  173. package/dist/astro/routes/api/auth/invite/register-options.mjs +19 -19
  174. package/dist/astro/routes/api/auth/logout.mjs +5 -5
  175. package/dist/astro/routes/api/auth/magic-link/send.mjs +20 -20
  176. package/dist/astro/routes/api/auth/magic-link/verify.mjs +17 -17
  177. package/dist/astro/routes/api/auth/me.mjs +17 -17
  178. package/dist/astro/routes/api/auth/mode.mjs +5 -5
  179. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +8 -8
  180. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
  181. package/dist/astro/routes/api/auth/passkey/_id_.mjs +16 -16
  182. package/dist/astro/routes/api/auth/passkey/index.mjs +4 -4
  183. package/dist/astro/routes/api/auth/passkey/options.mjs +21 -21
  184. package/dist/astro/routes/api/auth/passkey/register/options.mjs +19 -19
  185. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +20 -20
  186. package/dist/astro/routes/api/auth/passkey/verify.mjs +21 -21
  187. package/dist/astro/routes/api/auth/signup/complete.mjs +21 -21
  188. package/dist/astro/routes/api/auth/signup/request.mjs +19 -19
  189. package/dist/astro/routes/api/auth/signup/verify.mjs +4 -4
  190. package/dist/astro/routes/api/calendar.mjs +17 -17
  191. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +13 -13
  192. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +21 -21
  193. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +5 -5
  194. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.d.mts.map +1 -1
  195. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +21 -20
  196. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs.map +1 -1
  197. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +7 -10
  198. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs.map +1 -1
  199. package/dist/astro/routes/api/content/_collection_/_id_/lock.mjs +23 -20
  200. package/dist/astro/routes/api/content/_collection_/_id_/lock.mjs.map +1 -1
  201. package/dist/astro/routes/api/content/_collection_/_id_/permanent.d.mts.map +1 -1
  202. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +7 -6
  203. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs.map +1 -1
  204. package/dist/astro/routes/api/content/_collection_/_id_/plugin-extensions/_pluginId_/_kind_/_extensionId_.mjs +12 -12
  205. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +36 -34
  206. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs.map +1 -1
  207. package/dist/astro/routes/api/content/_collection_/_id_/publish.d.mts.map +1 -1
  208. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +21 -20
  209. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs.map +1 -1
  210. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs +40 -38
  211. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs.map +1 -1
  212. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs +40 -38
  213. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs.map +1 -1
  214. package/dist/astro/routes/api/content/_collection_/_id_/restore.d.mts.map +1 -1
  215. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +7 -6
  216. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs.map +1 -1
  217. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +5 -5
  218. package/dist/astro/routes/api/content/_collection_/_id_/schedule.d.mts.map +1 -1
  219. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +22 -21
  220. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs.map +1 -1
  221. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.d.mts.map +1 -1
  222. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +46 -33
  223. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs.map +1 -1
  224. package/dist/astro/routes/api/content/_collection_/_id_/translations.d.mts.map +1 -1
  225. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +9 -5
  226. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs.map +1 -1
  227. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.d.mts.map +1 -1
  228. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +21 -20
  229. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs.map +1 -1
  230. package/dist/astro/routes/api/content/_collection_/_id_.d.mts.map +1 -1
  231. package/dist/astro/routes/api/content/_collection_/_id_.mjs +30 -23
  232. package/dist/astro/routes/api/content/_collection_/_id_.mjs.map +1 -1
  233. package/dist/astro/routes/api/content/_collection_/authors.mjs +5 -5
  234. package/dist/astro/routes/api/content/_collection_/index.mjs +20 -23
  235. package/dist/astro/routes/api/content/_collection_/index.mjs.map +1 -1
  236. package/dist/astro/routes/api/content/_collection_/trash.mjs +17 -17
  237. package/dist/astro/routes/api/dashboard.d.mts.map +1 -1
  238. package/dist/astro/routes/api/dashboard.mjs +27 -15
  239. package/dist/astro/routes/api/dashboard.mjs.map +1 -1
  240. package/dist/astro/routes/api/dev/emails.mjs +5 -5
  241. package/dist/astro/routes/api/dev/scheduled-tasks.d.mts +12 -0
  242. package/dist/astro/routes/api/dev/scheduled-tasks.d.mts.map +1 -0
  243. package/dist/astro/routes/api/dev/scheduled-tasks.mjs +142 -0
  244. package/dist/astro/routes/api/dev/scheduled-tasks.mjs.map +1 -0
  245. package/dist/astro/routes/api/health.mjs +6 -6
  246. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  247. package/dist/astro/routes/api/import/probe.mjs +31 -27
  248. package/dist/astro/routes/api/import/probe.mjs.map +1 -1
  249. package/dist/astro/routes/api/import/wordpress/analyze.d.mts.map +1 -1
  250. package/dist/astro/routes/api/import/wordpress/analyze.mjs +8 -21
  251. package/dist/astro/routes/api/import/wordpress/analyze.mjs.map +1 -1
  252. package/dist/astro/routes/api/import/wordpress/execute.d.mts +15 -14
  253. package/dist/astro/routes/api/import/wordpress/execute.d.mts.map +1 -1
  254. package/dist/astro/routes/api/import/wordpress/execute.mjs +36 -36
  255. package/dist/astro/routes/api/import/wordpress/execute.mjs.map +1 -1
  256. package/dist/astro/routes/api/import/wordpress/media.d.mts +12 -12
  257. package/dist/astro/routes/api/import/wordpress/media.mjs +21 -21
  258. package/dist/astro/routes/api/import/wordpress/prepare.mjs +22 -20
  259. package/dist/astro/routes/api/import/wordpress/prepare.mjs.map +1 -1
  260. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +13 -13
  261. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +32 -30
  262. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs.map +1 -1
  263. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  264. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +32 -27
  265. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs.map +1 -1
  266. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +13 -13
  267. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts.map +1 -1
  268. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +66 -43
  269. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs.map +1 -1
  270. package/dist/astro/routes/api/manifest.mjs +6 -6
  271. package/dist/astro/routes/api/mcp.mjs +160 -109
  272. package/dist/astro/routes/api/mcp.mjs.map +1 -1
  273. package/dist/astro/routes/api/media/_id_/confirm.mjs +21 -21
  274. package/dist/astro/routes/api/media/_id_/replace.mjs +18 -18
  275. package/dist/astro/routes/api/media/_id_/upload.mjs +9 -9
  276. package/dist/astro/routes/api/media/_id_/usage.mjs +35 -33
  277. package/dist/astro/routes/api/media/_id_/usage.mjs.map +1 -1
  278. package/dist/astro/routes/api/media/_id_.mjs +33 -31
  279. package/dist/astro/routes/api/media/_id_.mjs.map +1 -1
  280. package/dist/astro/routes/api/media/asset/_id_/_filename_.mjs +6 -6
  281. package/dist/astro/routes/api/media/file/_...key_.mjs +21 -13
  282. package/dist/astro/routes/api/media/file/_...key_.mjs.map +1 -1
  283. package/dist/astro/routes/api/media/folders/_id_.mjs +18 -18
  284. package/dist/astro/routes/api/media/folders/index.mjs +18 -18
  285. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +5 -5
  286. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +5 -5
  287. package/dist/astro/routes/api/media/providers/index.mjs +5 -5
  288. package/dist/astro/routes/api/media/upload-url.mjs +20 -20
  289. package/dist/astro/routes/api/media.mjs +37 -35
  290. package/dist/astro/routes/api/media.mjs.map +1 -1
  291. package/dist/astro/routes/api/menus/_name_/items/_id_.d.mts.map +1 -1
  292. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +24 -22
  293. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs.map +1 -1
  294. package/dist/astro/routes/api/menus/_name_/items.d.mts.map +1 -1
  295. package/dist/astro/routes/api/menus/_name_/items.mjs +23 -21
  296. package/dist/astro/routes/api/menus/_name_/items.mjs.map +1 -1
  297. package/dist/astro/routes/api/menus/_name_/reorder.d.mts.map +1 -1
  298. package/dist/astro/routes/api/menus/_name_/reorder.mjs +23 -21
  299. package/dist/astro/routes/api/menus/_name_/reorder.mjs.map +1 -1
  300. package/dist/astro/routes/api/menus/_name_/translations.d.mts.map +1 -1
  301. package/dist/astro/routes/api/menus/_name_/translations.mjs +23 -21
  302. package/dist/astro/routes/api/menus/_name_/translations.mjs.map +1 -1
  303. package/dist/astro/routes/api/menus/_name_.d.mts.map +1 -1
  304. package/dist/astro/routes/api/menus/_name_.mjs +24 -22
  305. package/dist/astro/routes/api/menus/_name_.mjs.map +1 -1
  306. package/dist/astro/routes/api/menus/index.d.mts.map +1 -1
  307. package/dist/astro/routes/api/menus/index.mjs +23 -21
  308. package/dist/astro/routes/api/menus/index.mjs.map +1 -1
  309. package/dist/astro/routes/api/oauth/authorize.mjs +6 -6
  310. package/dist/astro/routes/api/oauth/device/authorize.mjs +8 -8
  311. package/dist/astro/routes/api/oauth/device/code.mjs +11 -11
  312. package/dist/astro/routes/api/oauth/device/token.mjs +10 -10
  313. package/dist/astro/routes/api/oauth/register.mjs +7 -7
  314. package/dist/astro/routes/api/oauth/token/refresh.mjs +8 -8
  315. package/dist/astro/routes/api/oauth/token/revoke.mjs +8 -8
  316. package/dist/astro/routes/api/oauth/token.mjs +8 -8
  317. package/dist/astro/routes/api/openapi.json.mjs +22 -22
  318. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +12 -12
  319. package/dist/astro/routes/api/redirects/404s/index.mjs +23 -22
  320. package/dist/astro/routes/api/redirects/404s/index.mjs.map +1 -1
  321. package/dist/astro/routes/api/redirects/404s/summary.mjs +23 -22
  322. package/dist/astro/routes/api/redirects/404s/summary.mjs.map +1 -1
  323. package/dist/astro/routes/api/redirects/_id_.d.mts.map +1 -1
  324. package/dist/astro/routes/api/redirects/_id_.mjs +36 -26
  325. package/dist/astro/routes/api/redirects/_id_.mjs.map +1 -1
  326. package/dist/astro/routes/api/redirects/index.d.mts.map +1 -1
  327. package/dist/astro/routes/api/redirects/index.mjs +28 -24
  328. package/dist/astro/routes/api/redirects/index.mjs.map +1 -1
  329. package/dist/astro/routes/api/relations/_id_/index.mjs +40 -38
  330. package/dist/astro/routes/api/relations/_id_/index.mjs.map +1 -1
  331. package/dist/astro/routes/api/relations/index.mjs +40 -38
  332. package/dist/astro/routes/api/relations/index.mjs.map +1 -1
  333. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +5 -5
  334. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +19 -19
  335. package/dist/astro/routes/api/schema/block-types/_slug_/index.mjs +80 -76
  336. package/dist/astro/routes/api/schema/block-types/_slug_/index.mjs.map +1 -1
  337. package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.mjs +80 -76
  338. package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.mjs.map +1 -1
  339. package/dist/astro/routes/api/schema/block-types/index.mjs +80 -76
  340. package/dist/astro/routes/api/schema/block-types/index.mjs.map +1 -1
  341. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +80 -76
  342. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs.map +1 -1
  343. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +80 -76
  344. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs.map +1 -1
  345. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +80 -76
  346. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs.map +1 -1
  347. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +80 -76
  348. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs.map +1 -1
  349. package/dist/astro/routes/api/schema/collections/index.mjs +80 -76
  350. package/dist/astro/routes/api/schema/collections/index.mjs.map +1 -1
  351. package/dist/astro/routes/api/schema/collections/reorder.mjs +80 -76
  352. package/dist/astro/routes/api/schema/collections/reorder.mjs.map +1 -1
  353. package/dist/astro/routes/api/schema/index.mjs +20 -18
  354. package/dist/astro/routes/api/schema/index.mjs.map +1 -1
  355. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +80 -76
  356. package/dist/astro/routes/api/schema/orphans/_slug_.mjs.map +1 -1
  357. package/dist/astro/routes/api/schema/orphans/index.mjs +80 -76
  358. package/dist/astro/routes/api/schema/orphans/index.mjs.map +1 -1
  359. package/dist/astro/routes/api/search/enable.mjs +23 -21
  360. package/dist/astro/routes/api/search/enable.mjs.map +1 -1
  361. package/dist/astro/routes/api/search/index.mjs +22 -20
  362. package/dist/astro/routes/api/search/index.mjs.map +1 -1
  363. package/dist/astro/routes/api/search/rebuild.mjs +23 -21
  364. package/dist/astro/routes/api/search/rebuild.mjs.map +1 -1
  365. package/dist/astro/routes/api/search/stats.mjs +12 -10
  366. package/dist/astro/routes/api/search/stats.mjs.map +1 -1
  367. package/dist/astro/routes/api/search/suggest.mjs +22 -20
  368. package/dist/astro/routes/api/search/suggest.mjs.map +1 -1
  369. package/dist/astro/routes/api/sections/_slug_.mjs +22 -20
  370. package/dist/astro/routes/api/sections/_slug_.mjs.map +1 -1
  371. package/dist/astro/routes/api/sections/index.mjs +22 -20
  372. package/dist/astro/routes/api/sections/index.mjs.map +1 -1
  373. package/dist/astro/routes/api/settings/backups/archives/_name_.mjs +7 -7
  374. package/dist/astro/routes/api/settings/backups/archives/index.mjs +7 -7
  375. package/dist/astro/routes/api/settings/backups/export.mjs +7 -7
  376. package/dist/astro/routes/api/settings/backups/index.mjs +8 -8
  377. package/dist/astro/routes/api/settings/domain-notify.mjs +9 -9
  378. package/dist/astro/routes/api/settings/domain.d.mts.map +1 -1
  379. package/dist/astro/routes/api/settings/domain.mjs +23 -18
  380. package/dist/astro/routes/api/settings/domain.mjs.map +1 -1
  381. package/dist/astro/routes/api/settings/email.mjs +6 -6
  382. package/dist/astro/routes/api/settings.d.mts.map +1 -1
  383. package/dist/astro/routes/api/settings.mjs +30 -25
  384. package/dist/astro/routes/api/settings.mjs.map +1 -1
  385. package/dist/astro/routes/api/setup/admin-verify.d.mts.map +1 -1
  386. package/dist/astro/routes/api/setup/admin-verify.mjs +27 -23
  387. package/dist/astro/routes/api/setup/admin-verify.mjs.map +1 -1
  388. package/dist/astro/routes/api/setup/admin.mjs +20 -20
  389. package/dist/astro/routes/api/setup/dev-bypass.mjs +52 -48
  390. package/dist/astro/routes/api/setup/dev-bypass.mjs.map +1 -1
  391. package/dist/astro/routes/api/setup/dev-reset.mjs +4 -4
  392. package/dist/astro/routes/api/setup/index.mjs +58 -54
  393. package/dist/astro/routes/api/setup/index.mjs.map +1 -1
  394. package/dist/astro/routes/api/setup/status.mjs +6 -6
  395. package/dist/astro/routes/api/site/domain-proof.mjs +16 -12
  396. package/dist/astro/routes/api/site/domain-proof.mjs.map +1 -1
  397. package/dist/astro/routes/api/snapshot.mjs +8 -8
  398. package/dist/astro/routes/api/taxonomies/_name_/reorder.d.mts.map +1 -1
  399. package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs +31 -28
  400. package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs.map +1 -1
  401. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.d.mts.map +1 -1
  402. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +31 -28
  403. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs.map +1 -1
  404. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.d.mts.map +1 -1
  405. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +32 -29
  406. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs.map +1 -1
  407. package/dist/astro/routes/api/taxonomies/_name_/terms/index.d.mts.map +1 -1
  408. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +31 -28
  409. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs.map +1 -1
  410. package/dist/astro/routes/api/taxonomies/_name_/translations.mjs +28 -26
  411. package/dist/astro/routes/api/taxonomies/_name_/translations.mjs.map +1 -1
  412. package/dist/astro/routes/api/taxonomies/_name_.d.mts.map +1 -1
  413. package/dist/astro/routes/api/taxonomies/_name_.mjs +32 -29
  414. package/dist/astro/routes/api/taxonomies/_name_.mjs.map +1 -1
  415. package/dist/astro/routes/api/taxonomies/bulk-tag.mjs +44 -42
  416. package/dist/astro/routes/api/taxonomies/bulk-tag.mjs.map +1 -1
  417. package/dist/astro/routes/api/taxonomies/index.d.mts.map +1 -1
  418. package/dist/astro/routes/api/taxonomies/index.mjs +31 -28
  419. package/dist/astro/routes/api/taxonomies/index.mjs.map +1 -1
  420. package/dist/astro/routes/api/themes/preview.mjs +6 -6
  421. package/dist/astro/routes/api/typegen.mjs +6 -6
  422. package/dist/astro/routes/api/visual-editing/action-token.mjs +6 -6
  423. package/dist/astro/routes/api/visual-editing/content/_collection_/_id_/publish.mjs +21 -21
  424. package/dist/astro/routes/api/visual-editing/toolbar-labels.mjs +4 -4
  425. package/dist/astro/routes/api/well-known/auth.mjs +1 -1
  426. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +2 -2
  427. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +2 -2
  428. package/dist/astro/routes/api/widget-areas/_name_/reorder.d.mts.map +1 -1
  429. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +20 -19
  430. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs.map +1 -1
  431. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.d.mts.map +1 -1
  432. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +26 -23
  433. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs.map +1 -1
  434. package/dist/astro/routes/api/widget-areas/_name_/widgets.d.mts.map +1 -1
  435. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +25 -22
  436. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs.map +1 -1
  437. package/dist/astro/routes/api/widget-areas/_name_.d.mts.map +1 -1
  438. package/dist/astro/routes/api/widget-areas/_name_.mjs +14 -11
  439. package/dist/astro/routes/api/widget-areas/_name_.mjs.map +1 -1
  440. package/dist/astro/routes/api/widget-areas/index.d.mts.map +1 -1
  441. package/dist/astro/routes/api/widget-areas/index.mjs +25 -22
  442. package/dist/astro/routes/api/widget-areas/index.mjs.map +1 -1
  443. package/dist/astro/routes/api/widget-components.mjs +5 -5
  444. package/dist/astro/routes/robots.txt.d.mts.map +1 -1
  445. package/dist/astro/routes/robots.txt.mjs +43 -8
  446. package/dist/astro/routes/robots.txt.mjs.map +1 -1
  447. package/dist/astro/routes/sitemap-_collection_.xml.mjs +19 -12
  448. package/dist/astro/routes/sitemap-_collection_.xml.mjs.map +1 -1
  449. package/dist/astro/routes/sitemap.xml.mjs +16 -9
  450. package/dist/astro/routes/sitemap.xml.mjs.map +1 -1
  451. package/dist/astro/types.d.mts +19 -17
  452. package/dist/astro/types.d.mts.map +1 -1
  453. package/dist/audit-B8XE-0UV.mjs +127 -0
  454. package/dist/audit-B8XE-0UV.mjs.map +1 -0
  455. package/dist/auth/providers/github.d.mts +1 -1
  456. package/dist/auth/providers/google.d.mts +1 -1
  457. package/dist/auth/providers/microsoft.d.mts +1 -1
  458. package/dist/authoritative-records-LPtrIGOY.mjs +5183 -0
  459. package/dist/authoritative-records-LPtrIGOY.mjs.map +1 -0
  460. package/dist/authorize-CoDsRRp5.mjs +74 -0
  461. package/dist/authorize-CoDsRRp5.mjs.map +1 -0
  462. package/dist/backup-2Wj-hTCN.mjs +246 -0
  463. package/dist/backup-2Wj-hTCN.mjs.map +1 -0
  464. package/dist/block-types-C3gJEe7l.mjs +132 -0
  465. package/dist/block-types-C3gJEe7l.mjs.map +1 -0
  466. package/dist/block-values-CgbMtSGU.mjs +215 -0
  467. package/dist/block-values-CgbMtSGU.mjs.map +1 -0
  468. package/dist/byline-CzGZC2Zs.mjs +922 -0
  469. package/dist/byline-CzGZC2Zs.mjs.map +1 -0
  470. package/dist/byline-fields-B1qHvRps.mjs +280 -0
  471. package/dist/byline-fields-B1qHvRps.mjs.map +1 -0
  472. package/dist/byline-fields-vYd_4Q1e.mjs +123 -0
  473. package/dist/byline-fields-vYd_4Q1e.mjs.map +1 -0
  474. package/dist/byline-registry-BhzpO41z.mjs +406 -0
  475. package/dist/byline-registry-BhzpO41z.mjs.map +1 -0
  476. package/dist/bylines-BF555iIz.mjs +150 -0
  477. package/dist/bylines-BF555iIz.mjs.map +1 -0
  478. package/dist/bylines-DJx6IWWi.mjs +234 -0
  479. package/dist/bylines-DJx6IWWi.mjs.map +1 -0
  480. package/dist/cache-BWzswWB-.mjs +151 -0
  481. package/dist/cache-BWzswWB-.mjs.map +1 -0
  482. package/dist/canonical-DjF_z6GI.mjs +174 -0
  483. package/dist/canonical-DjF_z6GI.mjs.map +1 -0
  484. package/dist/capture-triggers-D7g3fOZj.mjs +362 -0
  485. package/dist/capture-triggers-D7g3fOZj.mjs.map +1 -0
  486. package/dist/challenge-store-Cfjdvw86.mjs +51 -0
  487. package/dist/challenge-store-Cfjdvw86.mjs.map +1 -0
  488. package/dist/checksum-BF4acJwn.mjs +162 -0
  489. package/dist/checksum-BF4acJwn.mjs.map +1 -0
  490. package/dist/chrome-tags-BDs29G3g.mjs +24 -0
  491. package/dist/chrome-tags-BDs29G3g.mjs.map +1 -0
  492. package/dist/chunks-CYBOL-zn.mjs +25 -0
  493. package/dist/chunks-CYBOL-zn.mjs.map +1 -0
  494. package/dist/cli/index.mjs +146 -130
  495. package/dist/cli/index.mjs.map +1 -1
  496. package/dist/client/cf-access.d.mts +1 -1
  497. package/dist/client/index.d.mts +47 -47
  498. package/dist/client/index.d.mts.map +1 -1
  499. package/dist/client/index.mjs +14 -11
  500. package/dist/client/index.mjs.map +1 -1
  501. package/dist/collection-slugs-cache-B2J5aESO.mjs +91 -0
  502. package/dist/collection-slugs-cache-B2J5aESO.mjs.map +1 -0
  503. package/dist/comment-DV7dybcs.mjs +335 -0
  504. package/dist/comment-DV7dybcs.mjs.map +1 -0
  505. package/dist/comment-reaction-CWwqiT6x.mjs +85 -0
  506. package/dist/comment-reaction-CWwqiT6x.mjs.map +1 -0
  507. package/dist/comments-DVjWJm8X.mjs +99 -0
  508. package/dist/comments-DVjWJm8X.mjs.map +1 -0
  509. package/dist/comments-Q-ILHCEI.mjs +195 -0
  510. package/dist/comments-Q-ILHCEI.mjs.map +1 -0
  511. package/dist/components-DnOmvvgg.mjs +112 -0
  512. package/dist/components-DnOmvvgg.mjs.map +1 -0
  513. package/dist/config-9IzA83_U.d.mts +6811 -0
  514. package/dist/config-9IzA83_U.d.mts.map +1 -0
  515. package/dist/config-BdQzFtmR.mjs +228 -0
  516. package/dist/config-BdQzFtmR.mjs.map +1 -0
  517. package/dist/config-Cs2RBkJ6.d.mts +41 -0
  518. package/dist/config-Cs2RBkJ6.d.mts.map +1 -0
  519. package/dist/config-Cs_AwWXI.mjs +106 -0
  520. package/dist/config-Cs_AwWXI.mjs.map +1 -0
  521. package/dist/connection-CiXgZyCY.mjs +36 -0
  522. package/dist/connection-CiXgZyCY.mjs.map +1 -0
  523. package/dist/content-Dt0Os_WQ.mjs +2109 -0
  524. package/dist/content-Dt0Os_WQ.mjs.map +1 -0
  525. package/dist/content-list-query-BK26u9Ly.d.mts +26 -0
  526. package/dist/content-list-query-BK26u9Ly.d.mts.map +1 -0
  527. package/dist/content-policy-BLDbNJOb.mjs +46 -0
  528. package/dist/content-policy-BLDbNJOb.mjs.map +1 -0
  529. package/dist/content-repair-CjwbLy4m.mjs +442 -0
  530. package/dist/content-repair-CjwbLy4m.mjs.map +1 -0
  531. package/dist/context-ErV7UdQY.mjs +2089 -0
  532. package/dist/context-ErV7UdQY.mjs.map +1 -0
  533. package/dist/credits-BRyjafiF.mjs +110 -0
  534. package/dist/credits-BRyjafiF.mjs.map +1 -0
  535. package/dist/cron-Bm5xa7tv.mjs +306 -0
  536. package/dist/cron-Bm5xa7tv.mjs.map +1 -0
  537. package/dist/dashboard-DVxQ5XiI.mjs +168 -0
  538. package/dist/dashboard-DVxQ5XiI.mjs.map +1 -0
  539. package/dist/database/migration-lock.d.mts +17 -4
  540. package/dist/database/migration-lock.d.mts.map +1 -1
  541. package/dist/database/migration-lock.mjs +33 -6
  542. package/dist/database/migration-lock.mjs.map +1 -1
  543. package/dist/db/index.d.mts +3 -3
  544. package/dist/db/index.mjs +2 -2
  545. package/dist/db/libsql-migrations.d.mts +1 -1
  546. package/dist/db/libsql-migrations.mjs +5 -5
  547. package/dist/db/libsql.d.mts +1 -1
  548. package/dist/db/postgres-migrations.d.mts +1 -1
  549. package/dist/db/postgres-migrations.mjs +5 -5
  550. package/dist/db/postgres.d.mts +1 -1
  551. package/dist/db/sqlite-migrations.d.mts +1 -1
  552. package/dist/db/sqlite-migrations.mjs +5 -5
  553. package/dist/db/sqlite.d.mts +1 -1
  554. package/dist/db/sqlite.mjs +1 -1
  555. package/dist/db-errors-unnO6yiZ.mjs +65 -0
  556. package/dist/db-errors-unnO6yiZ.mjs.map +1 -0
  557. package/dist/default-B9Tf2n94.mjs +81 -0
  558. package/dist/default-B9Tf2n94.mjs.map +1 -0
  559. package/dist/deferred-tasks-CpPEqsga.d.mts +9 -0
  560. package/dist/deferred-tasks-CpPEqsga.d.mts.map +1 -0
  561. package/dist/destination-DR3IHjmy.mjs +18 -0
  562. package/dist/destination-DR3IHjmy.mjs.map +1 -0
  563. package/dist/dev-typegen-ZeWYV8Jp.mjs +29 -0
  564. package/dist/dev-typegen-ZeWYV8Jp.mjs.map +1 -0
  565. package/dist/device-flow-BbYNZ9Xi.mjs +521 -0
  566. package/dist/device-flow-BbYNZ9Xi.mjs.map +1 -0
  567. package/dist/digest-DlBa7kJl.mjs +194 -0
  568. package/dist/digest-DlBa7kJl.mjs.map +1 -0
  569. package/dist/direct-executor-5T8gkhvA.mjs +117 -0
  570. package/dist/direct-executor-5T8gkhvA.mjs.map +1 -0
  571. package/dist/dist-DY0aOmAP.mjs +810 -0
  572. package/dist/dist-DY0aOmAP.mjs.map +1 -0
  573. package/dist/email-console-v3OM8It-.mjs +50 -0
  574. package/dist/email-console-v3OM8It-.mjs.map +1 -0
  575. package/dist/email-locale-CoZo-oZx.mjs +25 -0
  576. package/dist/email-locale-CoZo-oZx.mjs.map +1 -0
  577. package/dist/emdash-runtime-DwezbIqQ.mjs +4392 -0
  578. package/dist/emdash-runtime-DwezbIqQ.mjs.map +1 -0
  579. package/dist/enrich-C3XIJi0O.mjs +194 -0
  580. package/dist/enrich-C3XIJi0O.mjs.map +1 -0
  581. package/dist/entry-lock-CY7XpdSw.d.mts +4568 -0
  582. package/dist/entry-lock-CY7XpdSw.d.mts.map +1 -0
  583. package/dist/entry-lock-DDuWaAiP.mjs +1211 -0
  584. package/dist/entry-lock-DDuWaAiP.mjs.map +1 -0
  585. package/dist/entry-lock-D_Og9Gy3.mjs +163 -0
  586. package/dist/entry-lock-D_Og9Gy3.mjs.map +1 -0
  587. package/dist/entry-locks-Cp8_BcQQ.mjs +167 -0
  588. package/dist/entry-locks-Cp8_BcQQ.mjs.map +1 -0
  589. package/dist/env-types-Br8uywYA.mjs +38 -0
  590. package/dist/env-types-Br8uywYA.mjs.map +1 -0
  591. package/dist/error-CT2SsX5S.mjs +90 -0
  592. package/dist/error-CT2SsX5S.mjs.map +1 -0
  593. package/dist/errors-BMaCpLeS.mjs +479 -0
  594. package/dist/errors-BMaCpLeS.mjs.map +1 -0
  595. package/dist/errors-DlJwot7q.mjs +120 -0
  596. package/dist/errors-DlJwot7q.mjs.map +1 -0
  597. package/dist/escape-BfbDyuQ-.mjs +9 -0
  598. package/dist/escape-BfbDyuQ-.mjs.map +1 -0
  599. package/dist/fence-BOD3SxZG.mjs +162 -0
  600. package/dist/fence-BOD3SxZG.mjs.map +1 -0
  601. package/dist/field-defs-cache-C7sR7ZeU.mjs +77 -0
  602. package/dist/field-defs-cache-C7sR7ZeU.mjs.map +1 -0
  603. package/dist/field-map-C_rDXfdJ.mjs +84 -0
  604. package/dist/field-map-C_rDXfdJ.mjs.map +1 -0
  605. package/dist/focal-point-CgCcr1Ca.mjs +23 -0
  606. package/dist/focal-point-CgCcr1Ca.mjs.map +1 -0
  607. package/dist/fts-manager-BzFo0xx6.mjs +483 -0
  608. package/dist/fts-manager-BzFo0xx6.mjs.map +1 -0
  609. package/dist/gc-B_c3DPpi.mjs +75 -0
  610. package/dist/gc-B_c3DPpi.mjs.map +1 -0
  611. package/dist/hash-A-o2ZX8O.mjs +37 -0
  612. package/dist/hash-A-o2ZX8O.mjs.map +1 -0
  613. package/dist/hook-result-f8t7hIuu.d.mts +31 -0
  614. package/dist/hook-result-f8t7hIuu.d.mts.map +1 -0
  615. package/dist/hreflang-BpUK9Lcu.mjs +105 -0
  616. package/dist/hreflang-BpUK9Lcu.mjs.map +1 -0
  617. package/dist/hreflang-D07R-RbI.d.mts +50 -0
  618. package/dist/hreflang-D07R-RbI.d.mts.map +1 -0
  619. package/dist/http-route-dispatch-C2Ep2Uf6.mjs +342 -0
  620. package/dist/http-route-dispatch-C2Ep2Uf6.mjs.map +1 -0
  621. package/dist/identity-BivQ8wkV.mjs +35 -0
  622. package/dist/identity-BivQ8wkV.mjs.map +1 -0
  623. package/dist/import-B4UvHNJz.mjs +2126 -0
  624. package/dist/import-B4UvHNJz.mjs.map +1 -0
  625. package/dist/index-C37Ty40w.d.mts +623 -0
  626. package/dist/index-C37Ty40w.d.mts.map +1 -0
  627. package/dist/index.d.mts +23 -23
  628. package/dist/index.mjs +112 -108
  629. package/dist/install-finalization-BbYaB4wj.mjs +58 -0
  630. package/dist/install-finalization-BbYaB4wj.mjs.map +1 -0
  631. package/dist/json-recordset-BjYIWFkV.mjs +12 -0
  632. package/dist/json-recordset-BjYIWFkV.mjs.map +1 -0
  633. package/dist/json-schema-Cde7le0s.mjs +15 -0
  634. package/dist/json-schema-Cde7le0s.mjs.map +1 -0
  635. package/dist/keys-CusTXpw-.mjs +61 -0
  636. package/dist/keys-CusTXpw-.mjs.map +1 -0
  637. package/dist/kinds-DogmNB6n.mjs +974 -0
  638. package/dist/kinds-DogmNB6n.mjs.map +1 -0
  639. package/dist/lifecycle-BLCoCz4T.mjs +25 -0
  640. package/dist/lifecycle-BLCoCz4T.mjs.map +1 -0
  641. package/dist/load-Dds3KhXr.mjs +28 -0
  642. package/dist/load-Dds3KhXr.mjs.map +1 -0
  643. package/dist/loader-D4w4XE7q.mjs +1420 -0
  644. package/dist/loader-D4w4XE7q.mjs.map +1 -0
  645. package/dist/loops-IYgzQdQu.mjs +205 -0
  646. package/dist/loops-IYgzQdQu.mjs.map +1 -0
  647. package/dist/manifest-builder-CGF5kujD.mjs +196 -0
  648. package/dist/manifest-builder-CGF5kujD.mjs.map +1 -0
  649. package/dist/manifest-schema-B0BxPSjB.mjs +497 -0
  650. package/dist/manifest-schema-B0BxPSjB.mjs.map +1 -0
  651. package/dist/marketplace-DNvEGLqU.mjs +257 -0
  652. package/dist/marketplace-DNvEGLqU.mjs.map +1 -0
  653. package/dist/media/image-endpoint.d.mts +3 -2
  654. package/dist/media/image-endpoint.d.mts.map +1 -1
  655. package/dist/media/image-endpoint.mjs +17 -8
  656. package/dist/media/image-endpoint.mjs.map +1 -1
  657. package/dist/media/index.d.mts +1 -1
  658. package/dist/media/index.mjs +7 -6
  659. package/dist/media/index.mjs.map +1 -1
  660. package/dist/media/local-runtime.d.mts +14 -14
  661. package/dist/media/local-runtime.d.mts.map +1 -1
  662. package/dist/media/local-runtime.mjs +18 -8
  663. package/dist/media/local-runtime.mjs.map +1 -1
  664. package/dist/media-BL9MRrSG.mjs +294 -0
  665. package/dist/media-BL9MRrSG.mjs.map +1 -0
  666. package/dist/media-B_x5B9EA.mjs +373 -0
  667. package/dist/media-B_x5B9EA.mjs.map +1 -0
  668. package/dist/media-allowlist-CpmqBbIQ.mjs +45 -0
  669. package/dist/media-allowlist-CpmqBbIQ.mjs.map +1 -0
  670. package/dist/media-folders-CNs_A_B-.mjs +210 -0
  671. package/dist/media-folders-CNs_A_B-.mjs.map +1 -0
  672. package/dist/media-qTTHVkls.mjs +416 -0
  673. package/dist/media-qTTHVkls.mjs.map +1 -0
  674. package/dist/media-url-GJboA1fl.mjs +43 -0
  675. package/dist/media-url-GJboA1fl.mjs.map +1 -0
  676. package/dist/media-usage-ClWgrX0d.mjs +282 -0
  677. package/dist/media-usage-ClWgrX0d.mjs.map +1 -0
  678. package/dist/media-usage-activation-B8Fjtq0h.mjs +78 -0
  679. package/dist/media-usage-activation-B8Fjtq0h.mjs.map +1 -0
  680. package/dist/media-usage-work-L8-Au4j-.mjs +1036 -0
  681. package/dist/media-usage-work-L8-Au4j-.mjs.map +1 -0
  682. package/dist/media-usage-work-LXgze5j9.mjs +151 -0
  683. package/dist/media-usage-work-LXgze5j9.mjs.map +1 -0
  684. package/dist/menus-BAxcbsbv.mjs +818 -0
  685. package/dist/menus-BAxcbsbv.mjs.map +1 -0
  686. package/dist/menus-BI6oBXco.mjs +92 -0
  687. package/dist/menus-BI6oBXco.mjs.map +1 -0
  688. package/dist/menus-fvGFd4m6.mjs +3725 -0
  689. package/dist/menus-fvGFd4m6.mjs.map +1 -0
  690. package/dist/migrations/index.d.mts +1 -1
  691. package/dist/migrations/index.d.mts.map +1 -1
  692. package/dist/migrations/index.mjs +4 -4
  693. package/dist/mime-DwhtRyUt.mjs +81 -0
  694. package/dist/mime-DwhtRyUt.mjs.map +1 -0
  695. package/dist/mode-DIDSUwuN.mjs +23 -0
  696. package/dist/mode-DIDSUwuN.mjs.map +1 -0
  697. package/dist/node-sqlite-compat-Ddr_mlR9.mjs +63 -0
  698. package/dist/node-sqlite-compat-Ddr_mlR9.mjs.map +1 -0
  699. package/dist/normalize-Ip_hFAm8.mjs +216 -0
  700. package/dist/normalize-Ip_hFAm8.mjs.map +1 -0
  701. package/dist/oauth-authorization-CcMgeT8R.mjs +274 -0
  702. package/dist/oauth-authorization-CcMgeT8R.mjs.map +1 -0
  703. package/dist/oauth-clients-C_osi0PU.mjs +266 -0
  704. package/dist/oauth-clients-C_osi0PU.mjs.map +1 -0
  705. package/dist/oauth-state-store-DGLP-6CK.mjs +50 -0
  706. package/dist/oauth-state-store-DGLP-6CK.mjs.map +1 -0
  707. package/dist/oauth-user-lookup-z77Ee0Hm.mjs +26 -0
  708. package/dist/oauth-user-lookup-z77Ee0Hm.mjs.map +1 -0
  709. package/dist/object-cache/memory.d.mts +1 -1
  710. package/dist/object-cache-EjasjtoQ.mjs +586 -0
  711. package/dist/object-cache-EjasjtoQ.mjs.map +1 -0
  712. package/dist/options-CmUpkyKW.d.mts +81 -0
  713. package/dist/options-CmUpkyKW.d.mts.map +1 -0
  714. package/dist/ownership-DCk5NutQ.mjs +12 -0
  715. package/dist/ownership-DCk5NutQ.mjs.map +1 -0
  716. package/dist/page/index.d.mts +2 -2
  717. package/dist/page/index.mjs +14 -7
  718. package/dist/page/index.mjs.map +1 -1
  719. package/dist/parse-2W-E2f7w.mjs +81 -0
  720. package/dist/parse-2W-E2f7w.mjs.map +1 -0
  721. package/dist/parse-6pN8Xqg5.d.mts +176 -0
  722. package/dist/parse-6pN8Xqg5.d.mts.map +1 -0
  723. package/dist/passkey-config-DTTZB6EI.mjs +46 -0
  724. package/dist/passkey-config-DTTZB6EI.mjs.map +1 -0
  725. package/dist/paths-CQA62503.mjs +77 -0
  726. package/dist/paths-CQA62503.mjs.map +1 -0
  727. package/dist/patterns-CryGz_EV.mjs +159 -0
  728. package/dist/patterns-CryGz_EV.mjs.map +1 -0
  729. package/dist/placeholder-BlfXkucE.d.mts +313 -0
  730. package/dist/placeholder-BlfXkucE.d.mts.map +1 -0
  731. package/dist/plan-B95eiwnF.mjs +135 -0
  732. package/dist/plan-B95eiwnF.mjs.map +1 -0
  733. package/dist/plugin-test-runtime.d.mts +14 -14
  734. package/dist/plugin-test-runtime.d.mts.map +1 -1
  735. package/dist/plugin-test-runtime.mjs +121 -117
  736. package/dist/plugin-tool-name-BDA7m4Xa.mjs +27 -0
  737. package/dist/plugin-tool-name-BDA7m4Xa.mjs.map +1 -0
  738. package/dist/plugin-types.d.mts +2 -2
  739. package/dist/plugin-utils.d.mts +12 -12
  740. package/dist/plugins/adapt-sandbox-entry.d.mts +12 -12
  741. package/dist/plugins/adapt-sandbox-entry.d.mts.map +1 -1
  742. package/dist/plugins/adapt-sandbox-entry.mjs +9 -8
  743. package/dist/plugins/adapt-sandbox-entry.mjs.map +1 -1
  744. package/dist/plugins/host.d.mts +5 -5
  745. package/dist/plugins/host.mjs +57 -51
  746. package/dist/plugins-BhxLJ008.mjs +261 -0
  747. package/dist/plugins-BhxLJ008.mjs.map +1 -0
  748. package/dist/policy-DOJ2sPqB.mjs +53 -0
  749. package/dist/policy-DOJ2sPqB.mjs.map +1 -0
  750. package/dist/portable-text-RCMpCj47.mjs +311 -0
  751. package/dist/portable-text-RCMpCj47.mjs.map +1 -0
  752. package/dist/preview-DFwL5APO.mjs +107 -0
  753. package/dist/preview-DFwL5APO.mjs.map +1 -0
  754. package/dist/protocol-B-ztxp_y.d.mts +65 -0
  755. package/dist/protocol-B-ztxp_y.d.mts.map +1 -0
  756. package/dist/public-plugin-api-routes-ik4fPZMv.mjs +316 -0
  757. package/dist/public-plugin-api-routes-ik4fPZMv.mjs.map +1 -0
  758. package/dist/public-submission-C5JZIykp.mjs +251 -0
  759. package/dist/public-submission-C5JZIykp.mjs.map +1 -0
  760. package/dist/public-url-CQwzRljH.mjs +101 -0
  761. package/dist/public-url-CQwzRljH.mjs.map +1 -0
  762. package/dist/query-BFHjCzSh.mjs +37 -0
  763. package/dist/query-BFHjCzSh.mjs.map +1 -0
  764. package/dist/query-DuwyFr5Z.mjs +41 -0
  765. package/dist/query-DuwyFr5Z.mjs.map +1 -0
  766. package/dist/query-eR_Nz70M.mjs +1157 -0
  767. package/dist/query-eR_Nz70M.mjs.map +1 -0
  768. package/dist/range-BQWPjWgQ.mjs +51 -0
  769. package/dist/range-BQWPjWgQ.mjs.map +1 -0
  770. package/dist/rate-limit-mPKeQ3sm.mjs +127 -0
  771. package/dist/rate-limit-mPKeQ3sm.mjs.map +1 -0
  772. package/dist/receipt-CmUpyuW5.mjs +43 -0
  773. package/dist/receipt-CmUpyuW5.mjs.map +1 -0
  774. package/dist/redirect-BtiMkehU.mjs +19 -0
  775. package/dist/redirect-BtiMkehU.mjs.map +1 -0
  776. package/dist/redirect-DcmNMvOs.mjs +423 -0
  777. package/dist/redirect-DcmNMvOs.mjs.map +1 -0
  778. package/dist/redirect-paths-K5i3xYfR.mjs +36 -0
  779. package/dist/redirect-paths-K5i3xYfR.mjs.map +1 -0
  780. package/dist/redirects-BA_TvtuH.mjs +148 -0
  781. package/dist/redirects-BA_TvtuH.mjs.map +1 -0
  782. package/dist/redirects-BIrRvgn4.mjs +446 -0
  783. package/dist/redirects-BIrRvgn4.mjs.map +1 -0
  784. package/dist/registry/testing.mjs +3 -3
  785. package/dist/registry-DymfZkAN.mjs +8374 -0
  786. package/dist/registry-DymfZkAN.mjs.map +1 -0
  787. package/dist/relations-DrEs3Sc1.mjs +789 -0
  788. package/dist/relations-DrEs3Sc1.mjs.map +1 -0
  789. package/dist/request-cache-5z2WzWmh.mjs +104 -0
  790. package/dist/request-cache-5z2WzWmh.mjs.map +1 -0
  791. package/dist/request-context.d.mts +12 -1
  792. package/dist/request-context.d.mts.map +1 -1
  793. package/dist/request-context.mjs.map +1 -1
  794. package/dist/request-meta-o8RIf9pa.mjs +141 -0
  795. package/dist/request-meta-o8RIf9pa.mjs.map +1 -0
  796. package/dist/resolve-CVy9xgy_.mjs +102 -0
  797. package/dist/resolve-CVy9xgy_.mjs.map +1 -0
  798. package/dist/resolve-DdNXBJSr.mjs +199 -0
  799. package/dist/resolve-DdNXBJSr.mjs.map +1 -0
  800. package/dist/revision-Dx7Uth1X.mjs +374 -0
  801. package/dist/revision-Dx7Uth1X.mjs.map +1 -0
  802. package/dist/route-cache-DAG5dPhh.mjs +20 -0
  803. package/dist/route-cache-DAG5dPhh.mjs.map +1 -0
  804. package/dist/route-wire-Xbsu8Vih.mjs +197 -0
  805. package/dist/route-wire-Xbsu8Vih.mjs.map +1 -0
  806. package/dist/routes-YQkSOsws.mjs +272 -0
  807. package/dist/routes-YQkSOsws.mjs.map +1 -0
  808. package/dist/runner-CLorw5vo.mjs +6669 -0
  809. package/dist/runner-CLorw5vo.mjs.map +1 -0
  810. package/dist/runner-g1A9P-wD.d.mts +73 -0
  811. package/dist/runner-g1A9P-wD.d.mts.map +1 -0
  812. package/dist/runtime.d.mts +13 -13
  813. package/dist/runtime.mjs +6 -4
  814. package/dist/runtime.mjs.map +1 -1
  815. package/dist/schema/project-env-types.mjs +49 -43
  816. package/dist/schema/project-env-types.mjs.map +1 -1
  817. package/dist/schema-Bss8qImF.mjs +13 -0
  818. package/dist/schema-Bss8qImF.mjs.map +1 -0
  819. package/dist/schema-C036pqEw.mjs +815 -0
  820. package/dist/schema-C036pqEw.mjs.map +1 -0
  821. package/dist/scopes-C_SoYl9x.mjs +34 -0
  822. package/dist/scopes-C_SoYl9x.mjs.map +1 -0
  823. package/dist/search-uNqCgePJ.mjs +450 -0
  824. package/dist/search-uNqCgePJ.mjs.map +1 -0
  825. package/dist/sections-BLusMa96.mjs +346 -0
  826. package/dist/sections-BLusMa96.mjs.map +1 -0
  827. package/dist/seed/index.d.mts +2 -2
  828. package/dist/seed/index.mjs +47 -41
  829. package/dist/seo/index.d.mts +3 -3
  830. package/dist/seo/index.mjs +32 -26
  831. package/dist/seo/index.mjs.map +1 -1
  832. package/dist/seo-BodxIpws.mjs +188 -0
  833. package/dist/seo-BodxIpws.mjs.map +1 -0
  834. package/dist/seo-DaMYIQY8.mjs +133 -0
  835. package/dist/seo-DaMYIQY8.mjs.map +1 -0
  836. package/dist/service-BuM1BRsA.mjs +150 -0
  837. package/dist/service-BuM1BRsA.mjs.map +1 -0
  838. package/dist/session-user-2DpQDMKw.mjs +61 -0
  839. package/dist/session-user-2DpQDMKw.mjs.map +1 -0
  840. package/dist/settings-B3ZmPF_8.mjs +73 -0
  841. package/dist/settings-B3ZmPF_8.mjs.map +1 -0
  842. package/dist/settings-P5hwPX6_.mjs +66 -0
  843. package/dist/settings-P5hwPX6_.mjs.map +1 -0
  844. package/dist/settings-yIqoN-Ok.mjs +519 -0
  845. package/dist/settings-yIqoN-Ok.mjs.map +1 -0
  846. package/dist/setup-complete-eu6MUQnt.mjs +65 -0
  847. package/dist/setup-complete-eu6MUQnt.mjs.map +1 -0
  848. package/dist/setup-nonce-CyPOapqY.mjs +25 -0
  849. package/dist/setup-nonce-CyPOapqY.mjs.map +1 -0
  850. package/dist/site-domain-8lEJl_0U.mjs +131 -0
  851. package/dist/site-domain-8lEJl_0U.mjs.map +1 -0
  852. package/dist/site-settings-uPkW0e6o.mjs +50 -0
  853. package/dist/site-settings-uPkW0e6o.mjs.map +1 -0
  854. package/dist/site-url-25SGVXwL.mjs +45 -0
  855. package/dist/site-url-25SGVXwL.mjs.map +1 -0
  856. package/dist/sitemap-name-DTK7CYnY.mjs +26 -0
  857. package/dist/sitemap-name-DTK7CYnY.mjs.map +1 -0
  858. package/dist/slug-BEDl2IJY.mjs +16 -0
  859. package/dist/slug-BEDl2IJY.mjs.map +1 -0
  860. package/dist/slugify-BDEG9pLk.mjs +22 -0
  861. package/dist/slugify-BDEG9pLk.mjs.map +1 -0
  862. package/dist/snapshot-CvkIBRLY.mjs +414 -0
  863. package/dist/snapshot-CvkIBRLY.mjs.map +1 -0
  864. package/dist/ssrf-mcCKMH6B.mjs +406 -0
  865. package/dist/ssrf-mcCKMH6B.mjs.map +1 -0
  866. package/dist/stage-BQfGzGOy.mjs +662 -0
  867. package/dist/stage-BQfGzGOy.mjs.map +1 -0
  868. package/dist/staged-B5vQGeSf.mjs +686 -0
  869. package/dist/staged-B5vQGeSf.mjs.map +1 -0
  870. package/dist/state-dO6t6OxV.mjs +178 -0
  871. package/dist/state-dO6t6OxV.mjs.map +1 -0
  872. package/dist/status-DSURZwKS.mjs +30 -0
  873. package/dist/status-DSURZwKS.mjs.map +1 -0
  874. package/dist/storage/local.d.mts +1 -1
  875. package/dist/storage/local.mjs +3 -3
  876. package/dist/storage/s3.d.mts +1 -1
  877. package/dist/storage/s3.mjs +1 -1
  878. package/dist/storage-query-Cy0SZ8iG.d.mts +1619 -0
  879. package/dist/storage-query-Cy0SZ8iG.d.mts.map +1 -0
  880. package/dist/tar-DWzcUZ_Q.mjs +449 -0
  881. package/dist/tar-DWzcUZ_Q.mjs.map +1 -0
  882. package/dist/target-C9htUbrT.mjs +27 -0
  883. package/dist/target-C9htUbrT.mjs.map +1 -0
  884. package/dist/taxonomies-By2aGvq2.mjs +729 -0
  885. package/dist/taxonomies-By2aGvq2.mjs.map +1 -0
  886. package/dist/taxonomies-CVRd_jz0.mjs +937 -0
  887. package/dist/taxonomies-CVRd_jz0.mjs.map +1 -0
  888. package/dist/taxonomy-BG_xu2Qf.mjs +563 -0
  889. package/dist/taxonomy-BG_xu2Qf.mjs.map +1 -0
  890. package/dist/tokens-U5vzgSrM.mjs +171 -0
  891. package/dist/tokens-U5vzgSrM.mjs.map +1 -0
  892. package/dist/transaction-CkoQ5wqQ.mjs +29 -0
  893. package/dist/transaction-CkoQ5wqQ.mjs.map +1 -0
  894. package/dist/transfer-DA0OSfaT.mjs +8873 -0
  895. package/dist/transfer-DA0OSfaT.mjs.map +1 -0
  896. package/dist/transfer-Pyf3d7ka.mjs +166 -0
  897. package/dist/transfer-Pyf3d7ka.mjs.map +1 -0
  898. package/dist/transfer-download-cX7SuWEy.mjs +33 -0
  899. package/dist/transfer-download-cX7SuWEy.mjs.map +1 -0
  900. package/dist/transformations-DczubD4j.mjs +196 -0
  901. package/dist/transformations-DczubD4j.mjs.map +1 -0
  902. package/dist/transport-Dm5QzpT_.d.mts +42 -0
  903. package/dist/transport-Dm5QzpT_.d.mts.map +1 -0
  904. package/dist/transport-DtIrjEFO.mjs +137 -0
  905. package/dist/transport-DtIrjEFO.mjs.map +1 -0
  906. package/dist/trusted-proxy-CDRd5Kmw.mjs +51 -0
  907. package/dist/trusted-proxy-CDRd5Kmw.mjs.map +1 -0
  908. package/dist/turnstile-Ct5YuFNY.mjs +58 -0
  909. package/dist/turnstile-Ct5YuFNY.mjs.map +1 -0
  910. package/dist/types-Bgujop4S.d.mts +374 -0
  911. package/dist/types-Bgujop4S.d.mts.map +1 -0
  912. package/dist/types-BirHUEXt.mjs +18 -0
  913. package/dist/types-BirHUEXt.mjs.map +1 -0
  914. package/dist/types-BqJgTL_y.d.mts +293 -0
  915. package/dist/types-BqJgTL_y.d.mts.map +1 -0
  916. package/dist/types-C-lrOt9T.d.mts +87 -0
  917. package/dist/types-C-lrOt9T.d.mts.map +1 -0
  918. package/dist/types-CCEHAhOv.d.mts +916 -0
  919. package/dist/types-CCEHAhOv.d.mts.map +1 -0
  920. package/dist/types-CLVwYRBr.d.mts +227 -0
  921. package/dist/types-CLVwYRBr.d.mts.map +1 -0
  922. package/dist/types-C_asjp1J.mjs +201 -0
  923. package/dist/types-C_asjp1J.mjs.map +1 -0
  924. package/dist/types-CadaL_k8.d.mts +366 -0
  925. package/dist/types-CadaL_k8.d.mts.map +1 -0
  926. package/dist/types-DVbTb4Hk.mjs +77 -0
  927. package/dist/types-DVbTb4Hk.mjs.map +1 -0
  928. package/dist/types-Ddku19Zw.d.mts +209 -0
  929. package/dist/types-Ddku19Zw.d.mts.map +1 -0
  930. package/dist/types-DwhEvIVb.mjs +133 -0
  931. package/dist/types-DwhEvIVb.mjs.map +1 -0
  932. package/dist/types-FIiGQ3PE.mjs +16 -0
  933. package/dist/types-FIiGQ3PE.mjs.map +1 -0
  934. package/dist/types-OauzCOY0.mjs +37 -0
  935. package/dist/types-OauzCOY0.mjs.map +1 -0
  936. package/dist/types-mQGTpP-4.d.mts +1741 -0
  937. package/dist/types-mQGTpP-4.d.mts.map +1 -0
  938. package/dist/types-nbjz3Mgm.d.mts +125 -0
  939. package/dist/types-nbjz3Mgm.d.mts.map +1 -0
  940. package/dist/update-check-hW32-0pf.mjs +161 -0
  941. package/dist/update-check-hW32-0pf.mjs.map +1 -0
  942. package/dist/upload-attempts-Bpik1TLF.mjs +32 -0
  943. package/dist/upload-attempts-Bpik1TLF.mjs.map +1 -0
  944. package/dist/url-DTfGDJhI.mjs +104 -0
  945. package/dist/url-DTfGDJhI.mjs.map +1 -0
  946. package/dist/url-pattern-CJeCyNij.mjs +41 -0
  947. package/dist/url-pattern-CJeCyNij.mjs.map +1 -0
  948. package/dist/user-nQInBZbE.mjs +171 -0
  949. package/dist/user-nQInBZbE.mjs.map +1 -0
  950. package/dist/utils-govudc_U.mjs +442 -0
  951. package/dist/utils-govudc_U.mjs.map +1 -0
  952. package/dist/validate-BxLvcDYh.mjs +524 -0
  953. package/dist/validate-BxLvcDYh.mjs.map +1 -0
  954. package/dist/validate-mnoVfASU.d.mts +468 -0
  955. package/dist/validate-mnoVfASU.d.mts.map +1 -0
  956. package/dist/validation-DQDEvh87.mjs +221 -0
  957. package/dist/validation-DQDEvh87.mjs.map +1 -0
  958. package/dist/version-BOFfLiVT.mjs +49 -0
  959. package/dist/version-BOFfLiVT.mjs.map +1 -0
  960. package/dist/version-Dcvx_C9g.mjs +7 -0
  961. package/dist/version-Dcvx_C9g.mjs.map +1 -0
  962. package/dist/version-DzTJ3gD7.mjs +9 -0
  963. package/dist/version-DzTJ3gD7.mjs.map +1 -0
  964. package/dist/video-BX7AI5nJ.mjs +54 -0
  965. package/dist/video-BX7AI5nJ.mjs.map +1 -0
  966. package/dist/virtual-modules-CU29aip9.mjs +515 -0
  967. package/dist/virtual-modules-CU29aip9.mjs.map +1 -0
  968. package/dist/widgets-HIeFmZxt.mjs +121 -0
  969. package/dist/widgets-HIeFmZxt.mjs.map +1 -0
  970. package/dist/wxr-taxonomies-Dy2i2ON3.d.mts +34 -0
  971. package/dist/wxr-taxonomies-Dy2i2ON3.d.mts.map +1 -0
  972. package/dist/wxr-taxonomies-DyOGhl8W.mjs +454 -0
  973. package/dist/wxr-taxonomies-DyOGhl8W.mjs.map +1 -0
  974. package/dist/zod-generator-VxCPVDpo.mjs +425 -0
  975. package/dist/zod-generator-VxCPVDpo.mjs.map +1 -0
  976. package/package.json +7 -6
  977. package/src/api/authorize.ts +42 -0
  978. package/src/api/handlers/bulk-tag.ts +11 -3
  979. package/src/api/handlers/bylines.ts +6 -2
  980. package/src/api/handlers/content.ts +107 -7
  981. package/src/api/handlers/dashboard.ts +44 -14
  982. package/src/api/handlers/manifest.ts +1 -0
  983. package/src/api/handlers/menus.ts +24 -10
  984. package/src/api/handlers/plugins.ts +1 -0
  985. package/src/api/handlers/relations.ts +15 -1
  986. package/src/api/handlers/revision.ts +6 -2
  987. package/src/api/handlers/site-domain.ts +26 -10
  988. package/src/api/handlers/taxonomies.ts +27 -17
  989. package/src/api/schemas/settings.ts +2 -0
  990. package/src/api/types.ts +2 -0
  991. package/src/astro/image-endpoint.ts +23 -2
  992. package/src/astro/integration/dev-scheduler-bridge.ts +91 -0
  993. package/src/astro/integration/index.ts +48 -1
  994. package/src/astro/integration/routes.ts +8 -0
  995. package/src/astro/integration/runtime.ts +2 -1
  996. package/src/astro/integration/virtual-modules.ts +9 -16
  997. package/src/astro/integration/vite-config.ts +20 -23
  998. package/src/astro/middleware/auth.ts +3 -1
  999. package/src/astro/middleware/redirect.ts +202 -78
  1000. package/src/astro/middleware/request-context.ts +1 -0
  1001. package/src/astro/middleware.ts +35 -7
  1002. package/src/astro/prefetch.ts +7 -5
  1003. package/src/astro/public-plugin-api-routes.ts +10 -2
  1004. package/src/astro/routes/api/admin/plugins/registry/artifact.ts +1 -1
  1005. package/src/astro/routes/api/content/[collection]/[id]/discard-draft.ts +2 -1
  1006. package/src/astro/routes/api/content/[collection]/[id]/duplicate.ts +1 -5
  1007. package/src/astro/routes/api/content/[collection]/[id]/lock.ts +2 -2
  1008. package/src/astro/routes/api/content/[collection]/[id]/permanent.ts +2 -1
  1009. package/src/astro/routes/api/content/[collection]/[id]/publish.ts +2 -1
  1010. package/src/astro/routes/api/content/[collection]/[id]/restore.ts +2 -1
  1011. package/src/astro/routes/api/content/[collection]/[id]/schedule.ts +3 -2
  1012. package/src/astro/routes/api/content/[collection]/[id]/terms/[taxonomy].ts +9 -5
  1013. package/src/astro/routes/api/content/[collection]/[id]/translations.ts +14 -1
  1014. package/src/astro/routes/api/content/[collection]/[id]/unpublish.ts +2 -1
  1015. package/src/astro/routes/api/content/[collection]/[id].ts +18 -6
  1016. package/src/astro/routes/api/content/[collection]/index.ts +1 -5
  1017. package/src/astro/routes/api/dashboard.ts +6 -1
  1018. package/src/astro/routes/api/dev/scheduled-tasks.ts +20 -0
  1019. package/src/astro/routes/api/import/wordpress/analyze.ts +1 -16
  1020. package/src/astro/routes/api/import/wordpress/execute.ts +8 -3
  1021. package/src/astro/routes/api/import/wordpress-plugin/analyze.ts +4 -1
  1022. package/src/astro/routes/api/import/wordpress-plugin/execute.ts +34 -5
  1023. package/src/astro/routes/api/media/file/[...key].ts +13 -3
  1024. package/src/astro/routes/api/menus/[name]/items/[id].ts +3 -2
  1025. package/src/astro/routes/api/menus/[name]/items.ts +2 -1
  1026. package/src/astro/routes/api/menus/[name]/reorder.ts +2 -1
  1027. package/src/astro/routes/api/menus/[name]/translations.ts +2 -1
  1028. package/src/astro/routes/api/menus/[name].ts +3 -2
  1029. package/src/astro/routes/api/menus/index.ts +2 -1
  1030. package/src/astro/routes/api/redirects/[id].ts +15 -2
  1031. package/src/astro/routes/api/redirects/index.ts +5 -1
  1032. package/src/astro/routes/api/settings/domain.ts +2 -1
  1033. package/src/astro/routes/api/settings.ts +2 -1
  1034. package/src/astro/routes/api/setup/admin-verify.ts +7 -1
  1035. package/src/astro/routes/api/taxonomies/[name]/reorder.ts +2 -1
  1036. package/src/astro/routes/api/taxonomies/[name]/terms/[slug]/translations.ts +2 -1
  1037. package/src/astro/routes/api/taxonomies/[name]/terms/[slug].ts +3 -2
  1038. package/src/astro/routes/api/taxonomies/[name]/terms/index.ts +2 -1
  1039. package/src/astro/routes/api/taxonomies/[name].ts +3 -2
  1040. package/src/astro/routes/api/taxonomies/index.ts +2 -1
  1041. package/src/astro/routes/api/widget-areas/[name]/reorder.ts +2 -1
  1042. package/src/astro/routes/api/widget-areas/[name]/widgets/[id].ts +3 -2
  1043. package/src/astro/routes/api/widget-areas/[name]/widgets.ts +2 -1
  1044. package/src/astro/routes/api/widget-areas/[name].ts +2 -1
  1045. package/src/astro/routes/api/widget-areas/index.ts +2 -1
  1046. package/src/astro/routes/robots.txt.ts +33 -2
  1047. package/src/astro/types.ts +10 -1
  1048. package/src/auth/types.ts +10 -4
  1049. package/src/cache/redirect-paths.ts +56 -0
  1050. package/src/cache/route-cache.ts +22 -0
  1051. package/src/cli/commands/export-seed.ts +6 -4
  1052. package/src/cli/commands/import/wordpress.ts +3 -27
  1053. package/src/cli/commands/login.ts +37 -47
  1054. package/src/cli/commands/migrate.ts +36 -4
  1055. package/src/cli/commands/seed.ts +18 -8
  1056. package/src/cli/wxr/parser.ts +2 -2
  1057. package/src/client/index.ts +13 -2
  1058. package/src/client/portable-text.ts +21 -7
  1059. package/src/client/transport.ts +11 -7
  1060. package/src/comments/query.ts +8 -2
  1061. package/src/components/CommentForm.astro +2 -2
  1062. package/src/components/Comments.astro +1 -1
  1063. package/src/components/EmDashImage.astro +14 -2
  1064. package/src/components/InlinePortableTextEditor.tsx +156 -1326
  1065. package/src/components/inline-block-types.ts +278 -0
  1066. package/src/components/inline-bubble-menu.tsx +696 -0
  1067. package/src/components/inline-editor-ui.tsx +1192 -0
  1068. package/src/components/inline-image.tsx +722 -0
  1069. package/src/components/inline-media-picker.tsx +1221 -0
  1070. package/src/components/inline-slash-menu.tsx +556 -0
  1071. package/src/database/collection-cleanup.ts +30 -0
  1072. package/src/database/datetime-storage.ts +337 -60
  1073. package/src/database/migration-lock.ts +43 -7
  1074. package/src/database/migrations/content-sized.ts +82 -0
  1075. package/src/database/migrations/policy.ts +28 -2
  1076. package/src/database/migrations/runner.ts +48 -0
  1077. package/src/database/repositories/byline.ts +73 -17
  1078. package/src/database/repositories/comment.ts +17 -7
  1079. package/src/database/repositories/content.ts +82 -20
  1080. package/src/database/repositories/menu.ts +77 -11
  1081. package/src/database/repositories/plugin-storage.ts +109 -8
  1082. package/src/database/repositories/revision.ts +24 -6
  1083. package/src/database/repositories/taxonomy-def.ts +9 -2
  1084. package/src/database/repositories/taxonomy.ts +47 -14
  1085. package/src/database/repositories/types.ts +76 -7
  1086. package/src/emdash-runtime.ts +213 -170
  1087. package/src/fields/image.ts +1 -0
  1088. package/src/i18n/config.ts +58 -10
  1089. package/src/i18n/normalize.ts +16 -2
  1090. package/src/i18n/query.ts +47 -0
  1091. package/src/i18n/resolve.ts +8 -3
  1092. package/src/import/index.ts +1 -0
  1093. package/src/import/registry.ts +17 -0
  1094. package/src/import/sources/wordpress-plugin.ts +151 -9
  1095. package/src/import/types.ts +3 -0
  1096. package/src/import/utils.ts +5 -0
  1097. package/src/import/wxr-taxonomies.ts +3 -2
  1098. package/src/loader.ts +116 -24
  1099. package/src/mcp/json-schema.ts +14 -0
  1100. package/src/mcp/plugin-tool-name.ts +36 -0
  1101. package/src/mcp/server.ts +102 -16
  1102. package/src/media/caption.ts +30 -0
  1103. package/src/media/image-endpoint.ts +13 -6
  1104. package/src/media/local-runtime.ts +3 -0
  1105. package/src/media/normalize.ts +15 -8
  1106. package/src/media/responsive.ts +12 -2
  1107. package/src/media/types.ts +16 -3
  1108. package/src/media/usage/collection-deletion.ts +4 -0
  1109. package/src/menus/index.ts +21 -11
  1110. package/src/migrations/direct-executor.ts +42 -12
  1111. package/src/migrations/manifest.ts +1 -0
  1112. package/src/migrations/protocol.ts +6 -2
  1113. package/src/plugins/adapt-sandbox-entry.ts +16 -6
  1114. package/src/plugins/byline-access.ts +3 -1
  1115. package/src/plugins/context.ts +1 -2
  1116. package/src/plugins/state.ts +5 -8
  1117. package/src/plugins/storage-indexes.ts +7 -3
  1118. package/src/query.ts +74 -23
  1119. package/src/redirects/artifacts.ts +39 -5
  1120. package/src/redirects/cache.ts +34 -2
  1121. package/src/references/field-map.ts +6 -4
  1122. package/src/request-context.ts +8 -0
  1123. package/src/schema/block-values.ts +80 -17
  1124. package/src/schema/collection-slugs-cache.ts +31 -17
  1125. package/src/schema/registry.ts +18 -1
  1126. package/src/schema/zod-generator.ts +2 -1
  1127. package/src/search/fts-manager.ts +98 -28
  1128. package/src/search/query.ts +34 -65
  1129. package/src/seed/apply.ts +222 -94
  1130. package/src/seed/types.ts +3 -1
  1131. package/src/settings/index.ts +155 -35
  1132. package/src/settings/types.ts +2 -0
  1133. package/src/settings/version.ts +54 -0
  1134. package/src/taxonomies/index.ts +95 -52
  1135. package/src/taxonomies/term-counts.ts +2 -1
  1136. package/src/utils/db-errors.ts +15 -0
  1137. package/src/virtual-modules.d.ts +1 -0
  1138. package/src/visual-editing/toolbar.ts +46 -12
  1139. package/dist/action-token-BdWad2YG.mjs +0 -26
  1140. package/dist/action-token-BdWad2YG.mjs.map +0 -1
  1141. package/dist/activation-xomsCMJg.mjs +0 -387
  1142. package/dist/activation-xomsCMJg.mjs.map +0 -1
  1143. package/dist/adapters-B4-nbElt.d.mts +0 -173
  1144. package/dist/adapters-B4-nbElt.d.mts.map +0 -1
  1145. package/dist/allowed-origins-CLpHGGlc.mjs +0 -116
  1146. package/dist/allowed-origins-CLpHGGlc.mjs.map +0 -1
  1147. package/dist/api-DBw_IWoi.mjs +0 -5024
  1148. package/dist/api-DBw_IWoi.mjs.map +0 -1
  1149. package/dist/api-tokens-B0ZipcZ-.mjs +0 -173
  1150. package/dist/api-tokens-B0ZipcZ-.mjs.map +0 -1
  1151. package/dist/apply-Cx48saFC.mjs +0 -1680
  1152. package/dist/apply-Cx48saFC.mjs.map +0 -1
  1153. package/dist/approvals-BXgtXA2s.mjs +0 -460
  1154. package/dist/approvals-BXgtXA2s.mjs.map +0 -1
  1155. package/dist/artifact-fetch-DsRczRGG.mjs +0 -659
  1156. package/dist/artifact-fetch-DsRczRGG.mjs.map +0 -1
  1157. package/dist/artifacts-D-O-qj9C.mjs +0 -307
  1158. package/dist/artifacts-D-O-qj9C.mjs.map +0 -1
  1159. package/dist/audit-CCH3MA4Y.mjs +0 -127
  1160. package/dist/audit-CCH3MA4Y.mjs.map +0 -1
  1161. package/dist/authoritative-records-Dcs7l2H5.mjs +0 -5183
  1162. package/dist/authoritative-records-Dcs7l2H5.mjs.map +0 -1
  1163. package/dist/authorize-TdIGpRSE.mjs +0 -49
  1164. package/dist/authorize-TdIGpRSE.mjs.map +0 -1
  1165. package/dist/backup-CZt5Mzwx.mjs +0 -246
  1166. package/dist/backup-CZt5Mzwx.mjs.map +0 -1
  1167. package/dist/block-types-DHnkzE6u.mjs +0 -132
  1168. package/dist/block-types-DHnkzE6u.mjs.map +0 -1
  1169. package/dist/block-values-C4N_F2-G.mjs +0 -175
  1170. package/dist/block-values-C4N_F2-G.mjs.map +0 -1
  1171. package/dist/byline-BmVKOQ8l.mjs +0 -909
  1172. package/dist/byline-BmVKOQ8l.mjs.map +0 -1
  1173. package/dist/byline-fields-B8SDs3M_.mjs +0 -123
  1174. package/dist/byline-fields-B8SDs3M_.mjs.map +0 -1
  1175. package/dist/byline-fields-Bze3ZdAw.mjs +0 -280
  1176. package/dist/byline-fields-Bze3ZdAw.mjs.map +0 -1
  1177. package/dist/byline-registry-dvt4N3xV.mjs +0 -406
  1178. package/dist/byline-registry-dvt4N3xV.mjs.map +0 -1
  1179. package/dist/bylines-CHhR28r9.mjs +0 -150
  1180. package/dist/bylines-CHhR28r9.mjs.map +0 -1
  1181. package/dist/bylines-DZS4OflA.mjs +0 -234
  1182. package/dist/bylines-DZS4OflA.mjs.map +0 -1
  1183. package/dist/cache-x0z8t_m9.mjs +0 -133
  1184. package/dist/cache-x0z8t_m9.mjs.map +0 -1
  1185. package/dist/canonical-BUcKRYpG.mjs +0 -174
  1186. package/dist/canonical-BUcKRYpG.mjs.map +0 -1
  1187. package/dist/capture-triggers-C9JKoIdT.mjs +0 -362
  1188. package/dist/capture-triggers-C9JKoIdT.mjs.map +0 -1
  1189. package/dist/challenge-store-BHgdPVze.mjs +0 -51
  1190. package/dist/challenge-store-BHgdPVze.mjs.map +0 -1
  1191. package/dist/checksum-BYR5i7qe.mjs +0 -162
  1192. package/dist/checksum-BYR5i7qe.mjs.map +0 -1
  1193. package/dist/chrome-tags-BIKBMZYO.mjs +0 -24
  1194. package/dist/chrome-tags-BIKBMZYO.mjs.map +0 -1
  1195. package/dist/chunks-Dr5Vr0zA.mjs +0 -25
  1196. package/dist/chunks-Dr5Vr0zA.mjs.map +0 -1
  1197. package/dist/collection-slugs-cache-B2Gs9Jwx.mjs +0 -85
  1198. package/dist/collection-slugs-cache-B2Gs9Jwx.mjs.map +0 -1
  1199. package/dist/comment-CWla6OHV.mjs +0 -325
  1200. package/dist/comment-CWla6OHV.mjs.map +0 -1
  1201. package/dist/comment-reaction-RZrcs5cW.mjs +0 -85
  1202. package/dist/comment-reaction-RZrcs5cW.mjs.map +0 -1
  1203. package/dist/comments-BzmIKVb2.mjs +0 -99
  1204. package/dist/comments-BzmIKVb2.mjs.map +0 -1
  1205. package/dist/comments-Da_dI2O1.mjs +0 -195
  1206. package/dist/comments-Da_dI2O1.mjs.map +0 -1
  1207. package/dist/components-oFXumpf5.mjs +0 -112
  1208. package/dist/components-oFXumpf5.mjs.map +0 -1
  1209. package/dist/config--wamYxBW.d.mts +0 -39
  1210. package/dist/config--wamYxBW.d.mts.map +0 -1
  1211. package/dist/config-Bo4eOOdV.mjs +0 -228
  1212. package/dist/config-Bo4eOOdV.mjs.map +0 -1
  1213. package/dist/config-C4-UxIk7.d.mts +0 -6790
  1214. package/dist/config-C4-UxIk7.d.mts.map +0 -1
  1215. package/dist/config-CvmjJcVw.mjs +0 -73
  1216. package/dist/config-CvmjJcVw.mjs.map +0 -1
  1217. package/dist/connection-UpzYxtE2.mjs +0 -36
  1218. package/dist/connection-UpzYxtE2.mjs.map +0 -1
  1219. package/dist/content-CcHrqkgp.mjs +0 -2072
  1220. package/dist/content-CcHrqkgp.mjs.map +0 -1
  1221. package/dist/content-list-query-Bxxdd9fv.d.mts +0 -26
  1222. package/dist/content-list-query-Bxxdd9fv.d.mts.map +0 -1
  1223. package/dist/content-policy-Dm32n9C6.mjs +0 -46
  1224. package/dist/content-policy-Dm32n9C6.mjs.map +0 -1
  1225. package/dist/content-repair-havk1F0-.mjs +0 -442
  1226. package/dist/content-repair-havk1F0-.mjs.map +0 -1
  1227. package/dist/context-CvhgHgSH.mjs +0 -2043
  1228. package/dist/context-CvhgHgSH.mjs.map +0 -1
  1229. package/dist/credits-CygUrPOi.mjs +0 -110
  1230. package/dist/credits-CygUrPOi.mjs.map +0 -1
  1231. package/dist/cron-C6ytTOLw.mjs +0 -306
  1232. package/dist/cron-C6ytTOLw.mjs.map +0 -1
  1233. package/dist/dashboard-7_FYfafc.mjs +0 -151
  1234. package/dist/dashboard-7_FYfafc.mjs.map +0 -1
  1235. package/dist/db-errors-CBD5yMro.mjs +0 -55
  1236. package/dist/db-errors-CBD5yMro.mjs.map +0 -1
  1237. package/dist/default-CHCUkV4Z.mjs +0 -81
  1238. package/dist/default-CHCUkV4Z.mjs.map +0 -1
  1239. package/dist/deferred-tasks-G0xhcJTl.d.mts +0 -9
  1240. package/dist/deferred-tasks-G0xhcJTl.d.mts.map +0 -1
  1241. package/dist/destination-r2zIAZ2S.mjs +0 -18
  1242. package/dist/destination-r2zIAZ2S.mjs.map +0 -1
  1243. package/dist/dev-typegen-Dtl8AfS6.mjs +0 -29
  1244. package/dist/dev-typegen-Dtl8AfS6.mjs.map +0 -1
  1245. package/dist/device-flow-CzDJmQ1q.mjs +0 -521
  1246. package/dist/device-flow-CzDJmQ1q.mjs.map +0 -1
  1247. package/dist/digest-xJmyPv2r.mjs +0 -194
  1248. package/dist/digest-xJmyPv2r.mjs.map +0 -1
  1249. package/dist/direct-executor-BXiYIVJ9.mjs +0 -104
  1250. package/dist/direct-executor-BXiYIVJ9.mjs.map +0 -1
  1251. package/dist/dist-Cfu8mMBs.mjs +0 -810
  1252. package/dist/dist-Cfu8mMBs.mjs.map +0 -1
  1253. package/dist/email-console-7ZPApLlm.mjs +0 -50
  1254. package/dist/email-console-7ZPApLlm.mjs.map +0 -1
  1255. package/dist/email-locale-DFdUA6UF.mjs +0 -25
  1256. package/dist/email-locale-DFdUA6UF.mjs.map +0 -1
  1257. package/dist/emdash-runtime-C4oFeVpN.mjs +0 -4363
  1258. package/dist/emdash-runtime-C4oFeVpN.mjs.map +0 -1
  1259. package/dist/enrich-Duu4sV3a.mjs +0 -194
  1260. package/dist/enrich-Duu4sV3a.mjs.map +0 -1
  1261. package/dist/entry-lock-B4n0HdQ_.mjs +0 -163
  1262. package/dist/entry-lock-B4n0HdQ_.mjs.map +0 -1
  1263. package/dist/entry-lock-BAAlKYrz.d.mts +0 -4566
  1264. package/dist/entry-lock-BAAlKYrz.d.mts.map +0 -1
  1265. package/dist/entry-lock-Cjz0h45X.mjs +0 -1209
  1266. package/dist/entry-lock-Cjz0h45X.mjs.map +0 -1
  1267. package/dist/entry-locks-DJAqVweV.mjs +0 -167
  1268. package/dist/entry-locks-DJAqVweV.mjs.map +0 -1
  1269. package/dist/env-types-4bkF6Bqg.mjs +0 -38
  1270. package/dist/env-types-4bkF6Bqg.mjs.map +0 -1
  1271. package/dist/error-DxgQdaZ_.mjs +0 -90
  1272. package/dist/error-DxgQdaZ_.mjs.map +0 -1
  1273. package/dist/errors-CjtE5aWF.mjs +0 -120
  1274. package/dist/errors-CjtE5aWF.mjs.map +0 -1
  1275. package/dist/errors-hskQ0C8G.mjs +0 -479
  1276. package/dist/errors-hskQ0C8G.mjs.map +0 -1
  1277. package/dist/escape-ESFhYzwG.mjs +0 -9
  1278. package/dist/escape-ESFhYzwG.mjs.map +0 -1
  1279. package/dist/fence-vc3aHgRA.mjs +0 -162
  1280. package/dist/fence-vc3aHgRA.mjs.map +0 -1
  1281. package/dist/field-defs-cache-zoow36nz.mjs +0 -77
  1282. package/dist/field-defs-cache-zoow36nz.mjs.map +0 -1
  1283. package/dist/field-map-JD1wG0Tq.mjs +0 -83
  1284. package/dist/field-map-JD1wG0Tq.mjs.map +0 -1
  1285. package/dist/focal-point-JX8kcOTQ.mjs +0 -23
  1286. package/dist/focal-point-JX8kcOTQ.mjs.map +0 -1
  1287. package/dist/fts-manager-WJCN8uU6.mjs +0 -443
  1288. package/dist/fts-manager-WJCN8uU6.mjs.map +0 -1
  1289. package/dist/gc-CsGZiKdH.mjs +0 -75
  1290. package/dist/gc-CsGZiKdH.mjs.map +0 -1
  1291. package/dist/hash-C4DFoJ7Z.mjs +0 -37
  1292. package/dist/hash-C4DFoJ7Z.mjs.map +0 -1
  1293. package/dist/hook-result-CXjtMk7Q.d.mts +0 -31
  1294. package/dist/hook-result-CXjtMk7Q.d.mts.map +0 -1
  1295. package/dist/hreflang-BAma7iRr.mjs +0 -105
  1296. package/dist/hreflang-BAma7iRr.mjs.map +0 -1
  1297. package/dist/hreflang-BsYo4x_M.d.mts +0 -50
  1298. package/dist/hreflang-BsYo4x_M.d.mts.map +0 -1
  1299. package/dist/http-route-dispatch-C8G7hAK6.mjs +0 -342
  1300. package/dist/http-route-dispatch-C8G7hAK6.mjs.map +0 -1
  1301. package/dist/identity-BwBKM1fH.mjs +0 -35
  1302. package/dist/identity-BwBKM1fH.mjs.map +0 -1
  1303. package/dist/import-DJ3Z2wxE.mjs +0 -2021
  1304. package/dist/import-DJ3Z2wxE.mjs.map +0 -1
  1305. package/dist/index-DYsn97dY.d.mts +0 -623
  1306. package/dist/index-DYsn97dY.d.mts.map +0 -1
  1307. package/dist/install-finalization-DCFnFSHv.mjs +0 -58
  1308. package/dist/install-finalization-DCFnFSHv.mjs.map +0 -1
  1309. package/dist/keys-CGvAndSp.mjs +0 -61
  1310. package/dist/keys-CGvAndSp.mjs.map +0 -1
  1311. package/dist/kinds-DT1W4T4Y.mjs +0 -974
  1312. package/dist/kinds-DT1W4T4Y.mjs.map +0 -1
  1313. package/dist/lifecycle-BzglCSY0.mjs +0 -25
  1314. package/dist/lifecycle-BzglCSY0.mjs.map +0 -1
  1315. package/dist/load-DjUqmf3s.mjs +0 -28
  1316. package/dist/load-DjUqmf3s.mjs.map +0 -1
  1317. package/dist/loader-CetY659y.mjs +0 -1355
  1318. package/dist/loader-CetY659y.mjs.map +0 -1
  1319. package/dist/loops-DkT1zkPH.mjs +0 -205
  1320. package/dist/loops-DkT1zkPH.mjs.map +0 -1
  1321. package/dist/manifest-builder-BOFCd9rX.mjs +0 -189
  1322. package/dist/manifest-builder-BOFCd9rX.mjs.map +0 -1
  1323. package/dist/manifest-schema-BiFBPEsp.mjs +0 -497
  1324. package/dist/manifest-schema-BiFBPEsp.mjs.map +0 -1
  1325. package/dist/marketplace-CUlenvZm.mjs +0 -257
  1326. package/dist/marketplace-CUlenvZm.mjs.map +0 -1
  1327. package/dist/media-CRKsKlfK.mjs +0 -416
  1328. package/dist/media-CRKsKlfK.mjs.map +0 -1
  1329. package/dist/media-C_z7sRuC.mjs +0 -294
  1330. package/dist/media-C_z7sRuC.mjs.map +0 -1
  1331. package/dist/media-IT8hQleU.mjs +0 -373
  1332. package/dist/media-IT8hQleU.mjs.map +0 -1
  1333. package/dist/media-allowlist-Ct6wvnT2.mjs +0 -45
  1334. package/dist/media-allowlist-Ct6wvnT2.mjs.map +0 -1
  1335. package/dist/media-folders-DtMt-vAA.mjs +0 -210
  1336. package/dist/media-folders-DtMt-vAA.mjs.map +0 -1
  1337. package/dist/media-url-BpXLqCmf.mjs +0 -43
  1338. package/dist/media-url-BpXLqCmf.mjs.map +0 -1
  1339. package/dist/media-usage-DEPHZZ9X.mjs +0 -282
  1340. package/dist/media-usage-DEPHZZ9X.mjs.map +0 -1
  1341. package/dist/media-usage-activation-V2Siabtw.mjs +0 -78
  1342. package/dist/media-usage-activation-V2Siabtw.mjs.map +0 -1
  1343. package/dist/media-usage-work-Cv1OE59F.mjs +0 -151
  1344. package/dist/media-usage-work-Cv1OE59F.mjs.map +0 -1
  1345. package/dist/media-usage-work-cgDYGvrt.mjs +0 -1015
  1346. package/dist/media-usage-work-cgDYGvrt.mjs.map +0 -1
  1347. package/dist/menus-CvVYfsuk.mjs +0 -753
  1348. package/dist/menus-CvVYfsuk.mjs.map +0 -1
  1349. package/dist/menus-D1HC8npj.mjs +0 -92
  1350. package/dist/menus-D1HC8npj.mjs.map +0 -1
  1351. package/dist/menus-DL8IPIcm.mjs +0 -3721
  1352. package/dist/menus-DL8IPIcm.mjs.map +0 -1
  1353. package/dist/mime-B5M9R53H.mjs +0 -81
  1354. package/dist/mime-B5M9R53H.mjs.map +0 -1
  1355. package/dist/mode-eieqAWLe.mjs +0 -23
  1356. package/dist/mode-eieqAWLe.mjs.map +0 -1
  1357. package/dist/node-sqlite-compat-VuyzJw1b.mjs +0 -63
  1358. package/dist/node-sqlite-compat-VuyzJw1b.mjs.map +0 -1
  1359. package/dist/normalize-BuWa0lvd.mjs +0 -191
  1360. package/dist/normalize-BuWa0lvd.mjs.map +0 -1
  1361. package/dist/oauth-authorization-B6ZJbMd2.mjs +0 -274
  1362. package/dist/oauth-authorization-B6ZJbMd2.mjs.map +0 -1
  1363. package/dist/oauth-clients-DVjRc9v3.mjs +0 -266
  1364. package/dist/oauth-clients-DVjRc9v3.mjs.map +0 -1
  1365. package/dist/oauth-state-store-CnmYYsVQ.mjs +0 -50
  1366. package/dist/oauth-state-store-CnmYYsVQ.mjs.map +0 -1
  1367. package/dist/oauth-user-lookup-Dz1_R5vT.mjs +0 -26
  1368. package/dist/oauth-user-lookup-Dz1_R5vT.mjs.map +0 -1
  1369. package/dist/object-cache-Bo6DGaC9.mjs +0 -586
  1370. package/dist/object-cache-Bo6DGaC9.mjs.map +0 -1
  1371. package/dist/options-BR9XZl7h.d.mts +0 -81
  1372. package/dist/options-BR9XZl7h.d.mts.map +0 -1
  1373. package/dist/ownership-COPyVysP.mjs +0 -12
  1374. package/dist/ownership-COPyVysP.mjs.map +0 -1
  1375. package/dist/parse-BOGhrwSq.d.mts +0 -174
  1376. package/dist/parse-BOGhrwSq.d.mts.map +0 -1
  1377. package/dist/parse-Cn5aSk1N.mjs +0 -81
  1378. package/dist/parse-Cn5aSk1N.mjs.map +0 -1
  1379. package/dist/passkey-config-mMFRQUCj.mjs +0 -46
  1380. package/dist/passkey-config-mMFRQUCj.mjs.map +0 -1
  1381. package/dist/paths-BmcAdBo9.mjs +0 -77
  1382. package/dist/paths-BmcAdBo9.mjs.map +0 -1
  1383. package/dist/patterns-CMNnYCgf.mjs +0 -159
  1384. package/dist/patterns-CMNnYCgf.mjs.map +0 -1
  1385. package/dist/placeholder-nOep3_Gn.d.mts +0 -306
  1386. package/dist/placeholder-nOep3_Gn.d.mts.map +0 -1
  1387. package/dist/plan-CDY4K8CH.mjs +0 -135
  1388. package/dist/plan-CDY4K8CH.mjs.map +0 -1
  1389. package/dist/plugins-DFBpfbO3.mjs +0 -261
  1390. package/dist/plugins-DFBpfbO3.mjs.map +0 -1
  1391. package/dist/policy-B_2qnHSy.mjs +0 -45
  1392. package/dist/policy-B_2qnHSy.mjs.map +0 -1
  1393. package/dist/portable-text-Dc2YAusw.mjs +0 -307
  1394. package/dist/portable-text-Dc2YAusw.mjs.map +0 -1
  1395. package/dist/preview-BtzikJ9O.mjs +0 -107
  1396. package/dist/preview-BtzikJ9O.mjs.map +0 -1
  1397. package/dist/protocol-M268ox8L.d.mts +0 -61
  1398. package/dist/protocol-M268ox8L.d.mts.map +0 -1
  1399. package/dist/public-submission-BQZavgZU.mjs +0 -251
  1400. package/dist/public-submission-BQZavgZU.mjs.map +0 -1
  1401. package/dist/public-url-uT1Ok2Tu.mjs +0 -101
  1402. package/dist/public-url-uT1Ok2Tu.mjs.map +0 -1
  1403. package/dist/query-BGG3sDEd.mjs +0 -1127
  1404. package/dist/query-BGG3sDEd.mjs.map +0 -1
  1405. package/dist/query-C_CWlifp.mjs +0 -41
  1406. package/dist/query-C_CWlifp.mjs.map +0 -1
  1407. package/dist/range-CXK_kDbI.mjs +0 -51
  1408. package/dist/range-CXK_kDbI.mjs.map +0 -1
  1409. package/dist/rate-limit-Dvamvay-.mjs +0 -127
  1410. package/dist/rate-limit-Dvamvay-.mjs.map +0 -1
  1411. package/dist/receipt-BmQGzquP.mjs +0 -43
  1412. package/dist/receipt-BmQGzquP.mjs.map +0 -1
  1413. package/dist/redirect-B39kTQ_0.mjs +0 -423
  1414. package/dist/redirect-B39kTQ_0.mjs.map +0 -1
  1415. package/dist/redirect-BguJ00Pv.mjs +0 -19
  1416. package/dist/redirect-BguJ00Pv.mjs.map +0 -1
  1417. package/dist/redirects-C8G4BsfP.mjs +0 -446
  1418. package/dist/redirects-C8G4BsfP.mjs.map +0 -1
  1419. package/dist/redirects-DFT7Wr-e.mjs +0 -148
  1420. package/dist/redirects-DFT7Wr-e.mjs.map +0 -1
  1421. package/dist/registry-DeZ27gVi.mjs +0 -8374
  1422. package/dist/registry-DeZ27gVi.mjs.map +0 -1
  1423. package/dist/relations-DBB1bRJW.mjs +0 -776
  1424. package/dist/relations-DBB1bRJW.mjs.map +0 -1
  1425. package/dist/request-cache-C4CIo5ad.mjs +0 -104
  1426. package/dist/request-cache-C4CIo5ad.mjs.map +0 -1
  1427. package/dist/request-meta-BSvkhIBX.mjs +0 -141
  1428. package/dist/request-meta-BSvkhIBX.mjs.map +0 -1
  1429. package/dist/resolve-BxH64HN9.mjs +0 -100
  1430. package/dist/resolve-BxH64HN9.mjs.map +0 -1
  1431. package/dist/resolve-D-kqyKns.mjs +0 -199
  1432. package/dist/resolve-D-kqyKns.mjs.map +0 -1
  1433. package/dist/revision-BWEH2qQB.mjs +0 -368
  1434. package/dist/revision-BWEH2qQB.mjs.map +0 -1
  1435. package/dist/route-wire-CwbWB_6O.mjs +0 -197
  1436. package/dist/route-wire-CwbWB_6O.mjs.map +0 -1
  1437. package/dist/routes-BfIxc7ft.mjs +0 -272
  1438. package/dist/routes-BfIxc7ft.mjs.map +0 -1
  1439. package/dist/runner-DkeafPBA.d.mts +0 -68
  1440. package/dist/runner-DkeafPBA.d.mts.map +0 -1
  1441. package/dist/runner-wqt4BrIW.mjs +0 -6383
  1442. package/dist/runner-wqt4BrIW.mjs.map +0 -1
  1443. package/dist/schema-BXIW-JHi.mjs +0 -815
  1444. package/dist/schema-BXIW-JHi.mjs.map +0 -1
  1445. package/dist/schema-I74JwYte.mjs +0 -13
  1446. package/dist/schema-I74JwYte.mjs.map +0 -1
  1447. package/dist/scopes-RWZ5ft_Z.mjs +0 -34
  1448. package/dist/scopes-RWZ5ft_Z.mjs.map +0 -1
  1449. package/dist/search-DxwagyWS.mjs +0 -450
  1450. package/dist/search-DxwagyWS.mjs.map +0 -1
  1451. package/dist/sections-Ccq9ZgyD.mjs +0 -346
  1452. package/dist/sections-Ccq9ZgyD.mjs.map +0 -1
  1453. package/dist/seo-CCnfPWAQ.mjs +0 -133
  1454. package/dist/seo-CCnfPWAQ.mjs.map +0 -1
  1455. package/dist/seo-QCtJ1jjV.mjs +0 -188
  1456. package/dist/seo-QCtJ1jjV.mjs.map +0 -1
  1457. package/dist/service-DX84s2rw.mjs +0 -150
  1458. package/dist/service-DX84s2rw.mjs.map +0 -1
  1459. package/dist/session-user-1dtJc2zv.mjs +0 -61
  1460. package/dist/session-user-1dtJc2zv.mjs.map +0 -1
  1461. package/dist/settings-B1jOxAIl.mjs +0 -443
  1462. package/dist/settings-B1jOxAIl.mjs.map +0 -1
  1463. package/dist/settings-Bc1IBl1t.mjs +0 -66
  1464. package/dist/settings-Bc1IBl1t.mjs.map +0 -1
  1465. package/dist/settings-GaZ5sVgg.mjs +0 -73
  1466. package/dist/settings-GaZ5sVgg.mjs.map +0 -1
  1467. package/dist/setup-complete-DidMAWJS.mjs +0 -65
  1468. package/dist/setup-complete-DidMAWJS.mjs.map +0 -1
  1469. package/dist/setup-nonce-DKl4S4c6.mjs +0 -25
  1470. package/dist/setup-nonce-DKl4S4c6.mjs.map +0 -1
  1471. package/dist/site-domain-CbI51Pc2.mjs +0 -113
  1472. package/dist/site-domain-CbI51Pc2.mjs.map +0 -1
  1473. package/dist/site-settings-CDdT4mVm.mjs +0 -50
  1474. package/dist/site-settings-CDdT4mVm.mjs.map +0 -1
  1475. package/dist/site-url-CrDZaAvo.mjs +0 -45
  1476. package/dist/site-url-CrDZaAvo.mjs.map +0 -1
  1477. package/dist/sitemap-name-W3BTor6X.mjs +0 -26
  1478. package/dist/sitemap-name-W3BTor6X.mjs.map +0 -1
  1479. package/dist/slug-BJhHKoOH.mjs +0 -16
  1480. package/dist/slug-BJhHKoOH.mjs.map +0 -1
  1481. package/dist/slugify-bu2-jKia.mjs +0 -22
  1482. package/dist/slugify-bu2-jKia.mjs.map +0 -1
  1483. package/dist/snapshot-BuI_2uDe.mjs +0 -414
  1484. package/dist/snapshot-BuI_2uDe.mjs.map +0 -1
  1485. package/dist/ssrf-LM_0wpGA.mjs +0 -406
  1486. package/dist/ssrf-LM_0wpGA.mjs.map +0 -1
  1487. package/dist/stage-DhzZuYaT.mjs +0 -662
  1488. package/dist/stage-DhzZuYaT.mjs.map +0 -1
  1489. package/dist/staged-DboEaWsV.mjs +0 -686
  1490. package/dist/staged-DboEaWsV.mjs.map +0 -1
  1491. package/dist/state-DCXDzjHq.mjs +0 -178
  1492. package/dist/state-DCXDzjHq.mjs.map +0 -1
  1493. package/dist/status-Dl85BK39.mjs +0 -30
  1494. package/dist/status-Dl85BK39.mjs.map +0 -1
  1495. package/dist/storage-query-BOBmeDMD.d.mts +0 -1615
  1496. package/dist/storage-query-BOBmeDMD.d.mts.map +0 -1
  1497. package/dist/tar-K40edFMt.mjs +0 -449
  1498. package/dist/tar-K40edFMt.mjs.map +0 -1
  1499. package/dist/target-BOighEY1.mjs +0 -27
  1500. package/dist/target-BOighEY1.mjs.map +0 -1
  1501. package/dist/taxonomies-DQSywBvX.mjs +0 -697
  1502. package/dist/taxonomies-DQSywBvX.mjs.map +0 -1
  1503. package/dist/taxonomies-Dj5eaobC.mjs +0 -939
  1504. package/dist/taxonomies-Dj5eaobC.mjs.map +0 -1
  1505. package/dist/taxonomy-QrNmTfIZ.mjs +0 -550
  1506. package/dist/taxonomy-QrNmTfIZ.mjs.map +0 -1
  1507. package/dist/tokens-j5L0as2H.mjs +0 -171
  1508. package/dist/tokens-j5L0as2H.mjs.map +0 -1
  1509. package/dist/transaction-BVYIo_yu.mjs +0 -29
  1510. package/dist/transaction-BVYIo_yu.mjs.map +0 -1
  1511. package/dist/transfer-CYEw8Tu4.mjs +0 -8873
  1512. package/dist/transfer-CYEw8Tu4.mjs.map +0 -1
  1513. package/dist/transfer-DDX10hkD.mjs +0 -166
  1514. package/dist/transfer-DDX10hkD.mjs.map +0 -1
  1515. package/dist/transfer-download-BAqq6GJv.mjs +0 -33
  1516. package/dist/transfer-download-BAqq6GJv.mjs.map +0 -1
  1517. package/dist/transformations-De44wqV_.mjs +0 -196
  1518. package/dist/transformations-De44wqV_.mjs.map +0 -1
  1519. package/dist/transport-1QjUhCRO.d.mts +0 -42
  1520. package/dist/transport-1QjUhCRO.d.mts.map +0 -1
  1521. package/dist/transport-Ds5pVX7p.mjs +0 -136
  1522. package/dist/transport-Ds5pVX7p.mjs.map +0 -1
  1523. package/dist/trusted-proxy-d4Tk6biT.mjs +0 -51
  1524. package/dist/trusted-proxy-d4Tk6biT.mjs.map +0 -1
  1525. package/dist/turnstile-DaFLtyrs.mjs +0 -58
  1526. package/dist/turnstile-DaFLtyrs.mjs.map +0 -1
  1527. package/dist/types-B4-1P2DK.d.mts +0 -227
  1528. package/dist/types-B4-1P2DK.d.mts.map +0 -1
  1529. package/dist/types-BGmQ0uXs.mjs +0 -201
  1530. package/dist/types-BGmQ0uXs.mjs.map +0 -1
  1531. package/dist/types-BKXA0f-c.mjs +0 -16
  1532. package/dist/types-BKXA0f-c.mjs.map +0 -1
  1533. package/dist/types-BiHcpUoO.d.mts +0 -374
  1534. package/dist/types-BiHcpUoO.d.mts.map +0 -1
  1535. package/dist/types-BihhvkyN.d.mts +0 -85
  1536. package/dist/types-BihhvkyN.d.mts.map +0 -1
  1537. package/dist/types-Bq9Wohd7.d.mts +0 -363
  1538. package/dist/types-Bq9Wohd7.d.mts.map +0 -1
  1539. package/dist/types-C-Xp0CcN.mjs +0 -103
  1540. package/dist/types-C-Xp0CcN.mjs.map +0 -1
  1541. package/dist/types-C4P7F1Vq.d.mts +0 -1741
  1542. package/dist/types-C4P7F1Vq.d.mts.map +0 -1
  1543. package/dist/types-CGaqwHw4.mjs +0 -37
  1544. package/dist/types-CGaqwHw4.mjs.map +0 -1
  1545. package/dist/types-Cj0_yZkn.mjs +0 -18
  1546. package/dist/types-Cj0_yZkn.mjs.map +0 -1
  1547. package/dist/types-D4ECCE4X.mjs +0 -77
  1548. package/dist/types-D4ECCE4X.mjs.map +0 -1
  1549. package/dist/types-DcRJp0vS.d.mts +0 -125
  1550. package/dist/types-DcRJp0vS.d.mts.map +0 -1
  1551. package/dist/types-Ff85fTzU.d.mts +0 -289
  1552. package/dist/types-Ff85fTzU.d.mts.map +0 -1
  1553. package/dist/types-UKr5Sf4y.d.mts +0 -916
  1554. package/dist/types-UKr5Sf4y.d.mts.map +0 -1
  1555. package/dist/types-YpN8hZW7.d.mts +0 -204
  1556. package/dist/types-YpN8hZW7.d.mts.map +0 -1
  1557. package/dist/update-check-DrlsK-tt.mjs +0 -161
  1558. package/dist/update-check-DrlsK-tt.mjs.map +0 -1
  1559. package/dist/upload-attempts-D8CPPvRU.mjs +0 -32
  1560. package/dist/upload-attempts-D8CPPvRU.mjs.map +0 -1
  1561. package/dist/url-Dn3IStq8.mjs +0 -104
  1562. package/dist/url-Dn3IStq8.mjs.map +0 -1
  1563. package/dist/url-pattern-Di4Nn3vP.mjs +0 -41
  1564. package/dist/url-pattern-Di4Nn3vP.mjs.map +0 -1
  1565. package/dist/user-B-ZdGjhI.mjs +0 -171
  1566. package/dist/user-B-ZdGjhI.mjs.map +0 -1
  1567. package/dist/utils-D7wL3r6-.mjs +0 -437
  1568. package/dist/utils-D7wL3r6-.mjs.map +0 -1
  1569. package/dist/validate-BSZbSUDk.mjs +0 -524
  1570. package/dist/validate-BSZbSUDk.mjs.map +0 -1
  1571. package/dist/validate-Dfv0DpZi.d.mts +0 -468
  1572. package/dist/validate-Dfv0DpZi.d.mts.map +0 -1
  1573. package/dist/validation-DRyC_Vm5.mjs +0 -219
  1574. package/dist/validation-DRyC_Vm5.mjs.map +0 -1
  1575. package/dist/version-C4kz0PcO.mjs +0 -7
  1576. package/dist/version-C4kz0PcO.mjs.map +0 -1
  1577. package/dist/version-jhs2BRtl.mjs +0 -9
  1578. package/dist/version-jhs2BRtl.mjs.map +0 -1
  1579. package/dist/video-DReZ48Un.mjs +0 -54
  1580. package/dist/video-DReZ48Un.mjs.map +0 -1
  1581. package/dist/virtual-modules-D0e6VbEv.mjs +0 -516
  1582. package/dist/virtual-modules-D0e6VbEv.mjs.map +0 -1
  1583. package/dist/widgets-BkcMzKct.mjs +0 -121
  1584. package/dist/widgets-BkcMzKct.mjs.map +0 -1
  1585. package/dist/wxr-taxonomies-BxI0CbTg.mjs +0 -453
  1586. package/dist/wxr-taxonomies-BxI0CbTg.mjs.map +0 -1
  1587. package/dist/wxr-taxonomies-Dad33GJi.d.mts +0 -34
  1588. package/dist/wxr-taxonomies-Dad33GJi.d.mts.map +0 -1
  1589. package/dist/zod-generator-BQilAboC.mjs +0 -424
  1590. package/dist/zod-generator-BQilAboC.mjs.map +0 -1
  1591. /package/dist/{api-tokens-D2zgAIEt.mjs → api-tokens-C7l0GUAF.mjs} +0 -0
  1592. /package/dist/{ssrf-BvNItdxk.mjs → ssrf-BBXcxG-f.mjs} +0 -0
@@ -0,0 +1,342 @@
1
+ import { n as generateFieldSchema } from "./zod-generator-VxCPVDpo.mjs";
2
+ import { n as apiSuccess, t as apiError } from "./error-CT2SsX5S.mjs";
3
+ import { i as pluginRouteResponseToWire, n as parseDeclaredPluginRouteInput, r as pluginRouteResponseFromWire, t as PluginRouteRequestError } from "./route-wire-Xbsu8Vih.mjs";
4
+ import { a as requireOwnerPerm, o as requirePerm } from "./authorize-CoDsRRp5.mjs";
5
+ import { n as requireScope } from "./scopes-C_SoYl9x.mjs";
6
+ import { Permissions } from "@emdash-cms/auth";
7
+ import { getLocaleDir, resolveLocale } from "@emdash-cms/admin/locales";
8
+ import { isEditorDraftPatchEffect, validateContentEditorPanelInteraction, validateEditorDraftPatchEffect } from "@emdash-cms/blocks/server";
9
+
10
+ //#region src/plugins/editor-draft.ts
11
+ const EDITOR_DRAFT_LIMITS = {
12
+ maxFields: 32,
13
+ maxSnapshotBytes: 192 * 1024,
14
+ maxFieldBytes: 64 * 1024
15
+ };
16
+ const ENCODER = new TextEncoder();
17
+ const INVOCATION_PATTERN = /^[A-Za-z0-9_-]{16,128}$/;
18
+ function isRecord$1(value) {
19
+ return typeof value === "object" && value !== null && !Array.isArray(value);
20
+ }
21
+ function isBrowserDraftRequest(value) {
22
+ return isRecord$1(value) && typeof value.collection === "string" && typeof value.entryId === "string" && (value.locale === null || typeof value.locale === "string") && typeof value.baseRevision === "string" && typeof value.generation === "number" && typeof value.invocationId === "string" && isRecord$1(value.fields);
23
+ }
24
+ function jsonBytes(value) {
25
+ try {
26
+ return ENCODER.encode(JSON.stringify(value)).byteLength;
27
+ } catch {
28
+ return null;
29
+ }
30
+ }
31
+ function selectedFields(collection, selector) {
32
+ const selected = new Set(selector?.fields ?? []);
33
+ if (selector?.translatable) {
34
+ for (const field of collection.fields) if (field.translatable) selected.add(field.slug);
35
+ }
36
+ return selected;
37
+ }
38
+ function sanitizeField(field) {
39
+ return {
40
+ slug: field.slug,
41
+ label: field.label,
42
+ type: field.type,
43
+ required: field.required,
44
+ translatable: field.translatable,
45
+ ...field.validation ? { validation: { ...field.validation } } : {}
46
+ };
47
+ }
48
+ function fail(code, message) {
49
+ return {
50
+ code,
51
+ message
52
+ };
53
+ }
54
+ function validateEditorDraftRequest(input) {
55
+ if (!isBrowserDraftRequest(input.request)) return fail("EDITOR_DRAFT_INVALID", "Invalid editor draft snapshot");
56
+ const request = input.request;
57
+ if (request.collection !== input.collection.slug || request.entryId !== input.entry.id || request.locale !== input.entry.locale) return fail("EDITOR_DRAFT_STALE", "Editor draft identity is stale");
58
+ if (request.baseRevision !== input.entry.revision) return fail("EDITOR_DRAFT_STALE", "Editor draft base revision is stale");
59
+ if (!Number.isSafeInteger(request.generation) || request.generation < 0 || typeof request.invocationId !== "string" || !INVOCATION_PATTERN.test(request.invocationId)) return fail("EDITOR_DRAFT_INVALID", "Invalid editor draft invocation identity");
60
+ const size = jsonBytes(request);
61
+ if (size === null) return fail("EDITOR_DRAFT_INVALID", "Editor draft snapshot must be JSON serializable");
62
+ if (size > EDITOR_DRAFT_LIMITS.maxSnapshotBytes) return fail("EDITOR_DRAFT_TOO_LARGE", "Editor draft snapshot exceeds the size limit");
63
+ const readFields = selectedFields(input.collection, input.readSelector);
64
+ const patchFields = selectedFields(input.collection, input.patchSelector);
65
+ if (readFields.size > EDITOR_DRAFT_LIMITS.maxFields || patchFields.size > EDITOR_DRAFT_LIMITS.maxFields) return fail("EDITOR_DRAFT_TOO_LARGE", "Editor draft selector exceeds the field limit");
66
+ const supplied = Object.keys(request.fields);
67
+ if (supplied.length > EDITOR_DRAFT_LIMITS.maxFields) return fail("EDITOR_DRAFT_TOO_LARGE", "Editor draft snapshot exceeds the field limit");
68
+ if (supplied.length > 0 && !input.canRead) return fail("EDITOR_DRAFT_CAPABILITY_REQUIRED", "Plugin cannot read unsaved editor content");
69
+ const bySlug = new Map(input.collection.fields.map((field) => [field.slug, field]));
70
+ const patchFieldDefinitions = Array.from(patchFields, (slug) => bySlug.get(slug)).filter((field) => Boolean(field && !field.unsupportedType)).map(sanitizeField);
71
+ const fields = {};
72
+ const fieldDefinitions = [];
73
+ for (const slug of supplied) {
74
+ if (!readFields.has(slug)) return fail("EDITOR_DRAFT_FIELD_FORBIDDEN", `Editor draft field '${slug}' is not allowed`);
75
+ const field = bySlug.get(slug);
76
+ if (!field || field.unsupportedType) return fail("EDITOR_DRAFT_UNSUPPORTED_FIELD_TYPE", `Editor draft field '${slug}' has an unsupported type`);
77
+ const fieldSize = jsonBytes(request.fields[slug]);
78
+ if (fieldSize === null) return fail("EDITOR_DRAFT_INVALID", `Editor draft field '${slug}' is invalid`);
79
+ if (fieldSize > EDITOR_DRAFT_LIMITS.maxFieldBytes) return fail("EDITOR_DRAFT_TOO_LARGE", `Editor draft field '${slug}' exceeds the size limit`);
80
+ if (!generateFieldSchema(field).safeParse(request.fields[slug]).success) return fail("EDITOR_DRAFT_INVALID", `Editor draft field '${slug}' is invalid`);
81
+ fields[slug] = request.fields[slug];
82
+ fieldDefinitions.push(sanitizeField(field));
83
+ }
84
+ if (input.readSelector && !input.canRead) return fail("EDITOR_DRAFT_CAPABILITY_REQUIRED", "Plugin cannot read unsaved editor content");
85
+ if (input.patchSelector && !input.canPatch) return fail("EDITOR_DRAFT_CAPABILITY_REQUIRED", "Plugin cannot propose unsaved editor changes");
86
+ return {
87
+ snapshot: {
88
+ collection: input.collection.slug,
89
+ entryId: input.entry.id,
90
+ locale: input.entry.locale,
91
+ baseRevision: input.entry.revision,
92
+ invocationId: request.invocationId,
93
+ fields,
94
+ fieldDefinitions
95
+ },
96
+ receipt: {
97
+ entryId: input.entry.id,
98
+ locale: input.entry.locale,
99
+ baseRevision: input.entry.revision,
100
+ generation: request.generation,
101
+ invocationId: request.invocationId,
102
+ fieldDefinitions: patchFieldDefinitions
103
+ },
104
+ readFields,
105
+ patchFields
106
+ };
107
+ }
108
+ function validateEditorDraftPatch(input) {
109
+ if (!validateEditorDraftPatchEffect(input.patch).valid || !isEditorDraftPatchEffect(input.patch)) return fail("EDITOR_DRAFT_INVALID", "Plugin returned an invalid editor draft patch");
110
+ const patch = input.patch;
111
+ const bySlug = new Map(input.collection.fields.map((field) => [field.slug, field]));
112
+ for (const operation of patch.operations) {
113
+ if (!input.allowedFields.has(operation.field)) return fail("EDITOR_DRAFT_FIELD_FORBIDDEN", `Editor draft field '${operation.field}' is not allowed`);
114
+ const field = bySlug.get(operation.field);
115
+ if (!field || field.unsupportedType) return fail("EDITOR_DRAFT_UNSUPPORTED_FIELD_TYPE", `Editor draft field '${operation.field}' has an unsupported type`);
116
+ const value = operation.op === "clear" ? null : operation.value;
117
+ if (!generateFieldSchema(field).safeParse(value).success) return fail("EDITOR_DRAFT_INVALID", `Editor draft field '${operation.field}' is invalid`);
118
+ const fieldSize = jsonBytes(value);
119
+ if (fieldSize === null || fieldSize > EDITOR_DRAFT_LIMITS.maxFieldBytes) return fail("EDITOR_DRAFT_TOO_LARGE", `Editor draft field '${operation.field}' exceeds the size limit`);
120
+ }
121
+ return patch;
122
+ }
123
+
124
+ //#endregion
125
+ //#region src/plugins/http-route-dispatch.ts
126
+ function editorDraftErrorResponse(error) {
127
+ const status = error.code === "EDITOR_DRAFT_STALE" ? 409 : error.code === "EDITOR_DRAFT_FIELD_FORBIDDEN" || error.code === "EDITOR_DRAFT_CAPABILITY_REQUIRED" ? 403 : error.code === "EDITOR_DRAFT_TOO_LARGE" ? 413 : error.code === "EDITOR_DRAFT_UNSUPPORTED_FIELD_TYPE" ? 422 : 400;
128
+ return apiError(error.code, error.message, status);
129
+ }
130
+ function toRoleLevel$1(value) {
131
+ if (value === 10 || value === 20 || value === 30 || value === 40 || value === 50) return value;
132
+ return null;
133
+ }
134
+ function isRecord(value) {
135
+ return typeof value === "object" && value !== null && !Array.isArray(value);
136
+ }
137
+ function isPermission(value) {
138
+ return Object.hasOwn(Permissions, value);
139
+ }
140
+ function authorizePrivatePluginRouteRequest(routeMeta, request, user, tokenScopes) {
141
+ const permission = routeMeta.permission ?? "plugins:manage";
142
+ if (!isPermission(permission)) return apiError("INVALID_PLUGIN_ROUTE", "Plugin route declares an invalid permission", 500);
143
+ let permissionUser;
144
+ if (user) {
145
+ const role = toRoleLevel$1(user.role);
146
+ if (role === null) return apiError("INVALID_USER", "Authenticated user has an invalid role", 500);
147
+ permissionUser = {
148
+ id: user.id,
149
+ role
150
+ };
151
+ } else permissionUser = user;
152
+ const denied = requirePerm(permissionUser, permission);
153
+ if (denied) return denied;
154
+ const scopeError = requireScope({ tokenScopes }, "admin");
155
+ if (scopeError) return scopeError;
156
+ if (!tokenScopes && request.headers.get("X-EmDash-Request") !== "1") return apiError("CSRF_REJECTED", "Missing required header", 403);
157
+ return null;
158
+ }
159
+ /** Dispatch a request through the production plugin-route policy boundary. */
160
+ async function dispatchPluginApiRequest({ runtime, pluginId, path, request, user, tokenScopes, invalidateContentCache, editorDispatch }) {
161
+ const method = request.method.toUpperCase();
162
+ const routeMeta = runtime.getPluginRouteMeta(pluginId, path);
163
+ if (!routeMeta) return apiError("NOT_FOUND", "Plugin route not found", 404);
164
+ if (!routeMeta.public) {
165
+ const denied = authorizePrivatePluginRouteRequest(routeMeta, request, user, tokenScopes);
166
+ if (denied) return denied;
167
+ }
168
+ if (routeMeta.methods && !routeMeta.methods.some((allowed) => allowed === method)) {
169
+ const response = apiError("METHOD_NOT_ALLOWED", "Method not allowed", 405);
170
+ response.headers.set("Allow", routeMeta.methods.join(", "));
171
+ return response;
172
+ }
173
+ const caller = routeMeta.public ? void 0 : user ?? void 0;
174
+ const result = await runtime.handlePluginApiRoute(pluginId, method, path, request, caller, invalidateContentCache, editorDispatch);
175
+ if (!result.success) {
176
+ const code = result.error?.code ?? "PLUGIN_ERROR";
177
+ const message = code === "INTERNAL_ERROR" ? "Plugin route error" : result.error?.message ?? "Plugin route error";
178
+ const status = result.status ?? (code === "NOT_FOUND" ? 404 : 400);
179
+ const details = code !== "INTERNAL_ERROR" && result.error && "details" in result.error ? result.error.details : void 0;
180
+ return apiError(code, message, status, isRecord(details) ? details : void 0);
181
+ }
182
+ let response;
183
+ if (routeMeta.response === "raw") try {
184
+ response = pluginRouteResponseFromWire(await pluginRouteResponseToWire(result.data, routeMeta.public ? { publicRequestUrl: request.url } : { allowExternalLocation: true }), method);
185
+ } catch (error) {
186
+ console.error(`[plugin:${pluginId}] Invalid raw route response:`, error);
187
+ return apiError("INVALID_PLUGIN_RESPONSE", "Plugin returned an invalid response", 500);
188
+ }
189
+ else response = apiSuccess(result.data);
190
+ if (response.ok && routeMeta.public && routeMeta.cacheControl && (method === "GET" || method === "HEAD")) response.headers.set("Cache-Control", routeMeta.cacheControl);
191
+ else response.headers.set("Cache-Control", "private, no-store");
192
+ return response;
193
+ }
194
+ const EDITOR_EXTENSION_REQUEST_MAX_BYTES = 256 * 1024;
195
+ /** Dispatch a saved-entry extension through ownership, route, and isolate policy. */
196
+ async function dispatchPluginEditorExtensionApiRequest({ runtime, pluginId, kind, extensionId, collection, entryId, request, user, tokenScopes, invalidateContentCache }) {
197
+ const definition = runtime.getPluginEditorExtension(pluginId, kind, extensionId, collection);
198
+ if (!definition) return apiError("NOT_FOUND", "Plugin editor extension not found", 404);
199
+ const routeMeta = runtime.getPluginRouteMeta(pluginId, definition.extension.route);
200
+ if (!routeMeta || routeMeta.public) return apiError("INVALID_PLUGIN_EDITOR_EXTENSION", "Plugin editor extension must reference a private route", 500);
201
+ const denied = authorizePrivatePluginRouteRequest(routeMeta, request, user, tokenScopes);
202
+ if (denied) return denied;
203
+ const requestedLocale = new URL(request.url).searchParams.get("locale") || void 0;
204
+ const contentResult = await runtime.handleContentGet(collection, entryId, requestedLocale);
205
+ if (!contentResult.success) return contentResult.error?.code === "NOT_FOUND" ? apiError("NOT_FOUND", "Content item not found", 404) : apiError("CONTENT_GET_ERROR", "Failed to load content item", 500);
206
+ const contentData = contentResult.data;
207
+ const item = typeof contentData === "object" && contentData !== null && "item" in contentData ? contentData.item : null;
208
+ if (typeof item !== "object" || item === null) return apiError("CONTENT_GET_ERROR", "Failed to load content item", 500);
209
+ const authorId = "authorId" in item && typeof item.authorId === "string" ? item.authorId : "";
210
+ let ownershipUser = user == null ? user : void 0;
211
+ if (user) {
212
+ const ownerRole = toRoleLevel$1(user.role);
213
+ if (ownerRole === null) return apiError("INVALID_USER", "Authenticated user has an invalid role", 500);
214
+ ownershipUser = {
215
+ id: user.id,
216
+ role: ownerRole
217
+ };
218
+ }
219
+ const ownershipDenied = requireOwnerPerm(ownershipUser, authorId, "content:edit_own", "content:edit_any");
220
+ if (ownershipDenied) return ownershipDenied;
221
+ const canonicalId = "id" in item && typeof item.id === "string" ? item.id : null;
222
+ const canonicalLocale = "locale" in item && typeof item.locale === "string" ? item.locale : null;
223
+ const version = "version" in item && typeof item.version === "number" ? item.version : null;
224
+ const baseRevision = typeof contentData === "object" && contentData !== null && "_rev" in contentData && typeof contentData._rev === "string" ? contentData._rev : null;
225
+ if (!canonicalId || version === null) return apiError("CONTENT_GET_ERROR", "Content item has invalid identity", 500);
226
+ let input;
227
+ let editorBody;
228
+ try {
229
+ editorBody = await parseDeclaredPluginRouteInput(request, {
230
+ body: "json",
231
+ maxBytes: EDITOR_EXTENSION_REQUEST_MAX_BYTES
232
+ });
233
+ } catch (error) {
234
+ if (error instanceof PluginRouteRequestError) return apiError(error.status === 413 ? "EDITOR_DRAFT_TOO_LARGE" : "INVALID_REQUEST", error.status === 413 ? "Editor interaction exceeds the size limit" : "Invalid editor interaction", error.status);
235
+ return apiError("INVALID_REQUEST", "Editor interaction could not be read", 400);
236
+ }
237
+ if (kind === "panel") {
238
+ if (!isRecord(editorBody)) return apiError("INVALID_REQUEST", "Editor panel interaction must be an object", 400);
239
+ input = editorBody;
240
+ if (!validateContentEditorPanelInteraction(input).valid) return apiError("INVALID_PLUGIN_UI_CONTEXT", "Invalid editor panel interaction", 400);
241
+ } else {
242
+ if (!isRecord(editorBody)) return apiError("INVALID_REQUEST", "Invalid editor action interaction", 400);
243
+ input = {
244
+ type: "editor_action",
245
+ ...Object.hasOwn(editorBody, "draft") ? { draft: editorBody.draft } : {}
246
+ };
247
+ }
248
+ let validatedDraft = null;
249
+ if (input.draft !== void 0) {
250
+ if (!baseRevision) return apiError("EDITOR_DRAFT_INVALID", "Content item has no draft revision identity", 409);
251
+ const collectionSchema = await runtime.getPluginEditorDraftSchema(collection);
252
+ if (!collectionSchema) return apiError("NOT_FOUND", "Collection not found", 404);
253
+ const draft = validateEditorDraftRequest({
254
+ request: input.draft,
255
+ collection: collectionSchema,
256
+ entry: {
257
+ id: canonicalId,
258
+ locale: canonicalLocale,
259
+ revision: baseRevision
260
+ },
261
+ readSelector: definition.extension.draft?.read,
262
+ patchSelector: definition.extension.draft?.patch,
263
+ canRead: definition.capabilities.includes("admin.editor-draft:read"),
264
+ canPatch: definition.capabilities.includes("admin.editor-draft:patch")
265
+ });
266
+ if ("code" in draft) {
267
+ console.warn(`[plugin:${pluginId}] Editor draft ${kind}/${extensionId} rejected: ${draft.code}`);
268
+ return editorDraftErrorResponse(draft);
269
+ }
270
+ validatedDraft = draft;
271
+ input = {
272
+ ...input,
273
+ draft: draft.snapshot
274
+ };
275
+ }
276
+ const headers = new Headers(request.headers);
277
+ headers.delete("content-length");
278
+ headers.delete("content-encoding");
279
+ headers.set("Content-Type", "application/json");
280
+ const pluginRequest = new Request(request.url, {
281
+ method: "POST",
282
+ headers,
283
+ body: JSON.stringify(input)
284
+ });
285
+ const locale = resolveLocale(request);
286
+ const response = await dispatchPluginApiRequest({
287
+ runtime,
288
+ pluginId,
289
+ path: definition.extension.route,
290
+ request: pluginRequest,
291
+ user,
292
+ tokenScopes,
293
+ invalidateContentCache,
294
+ editorDispatch: {
295
+ kind,
296
+ policy: definition.policy,
297
+ ui: {
298
+ surface: kind === "panel" ? "content-editor-panel" : "content-editor-action",
299
+ locale,
300
+ direction: getLocaleDir(locale),
301
+ contentLocale: canonicalLocale ?? void 0,
302
+ extensionId,
303
+ entry: {
304
+ collection,
305
+ id: canonicalId,
306
+ locale: canonicalLocale,
307
+ version
308
+ }
309
+ }
310
+ }
311
+ });
312
+ if (!response.ok) return response;
313
+ const envelope = await response.clone().json();
314
+ if (!isRecord(envelope) || !isRecord(envelope.data)) return apiError("INVALID_PLUGIN_RESPONSE", "Plugin returned an invalid response", 502);
315
+ const data = envelope.data;
316
+ if (data.patch === void 0 && !validatedDraft) return response;
317
+ if (data.patch !== void 0 && !validatedDraft) return apiError("EDITOR_DRAFT_INVALID", "Plugin returned an editor draft patch without a draft invocation", 400);
318
+ if (data.patch !== void 0) {
319
+ const collectionSchema = await runtime.getPluginEditorDraftSchema(collection);
320
+ if (!collectionSchema) return apiError("NOT_FOUND", "Collection not found", 404);
321
+ const patch = validateEditorDraftPatch({
322
+ patch: data.patch,
323
+ collection: collectionSchema,
324
+ allowedFields: validatedDraft?.patchFields ?? /* @__PURE__ */ new Set()
325
+ });
326
+ if ("code" in patch) {
327
+ console.warn(`[plugin:${pluginId}] Editor draft ${kind}/${extensionId} rejected: ${patch.code}`);
328
+ return editorDraftErrorResponse(patch);
329
+ }
330
+ data.patch = patch;
331
+ }
332
+ const finalResponse = apiSuccess({
333
+ ...data,
334
+ editorInvocation: validatedDraft?.receipt
335
+ });
336
+ finalResponse.headers.set("Cache-Control", "private, no-store");
337
+ return finalResponse;
338
+ }
339
+
340
+ //#endregion
341
+ export { validateEditorDraftRequest as i, dispatchPluginEditorExtensionApiRequest as n, validateEditorDraftPatch as r, dispatchPluginApiRequest as t };
342
+ //# sourceMappingURL=http-route-dispatch-C2Ep2Uf6.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-route-dispatch-C2Ep2Uf6.mjs","names":["isRecord","toRoleLevel"],"sources":["../src/plugins/editor-draft.ts","../src/plugins/http-route-dispatch.ts"],"sourcesContent":["import type {\n\tEditorDraftFieldDefinition,\n\tEditorDraftInvocationReceipt,\n\tEditorDraftPatchEffect,\n\tEditorDraftSnapshot,\n} from \"@emdash-cms/blocks\";\nimport {\n\tisEditorDraftPatchEffect,\n\tvalidateEditorDraftPatchEffect,\n} from \"@emdash-cms/blocks/server\";\n\nimport type { CollectionWithFields, Field } from \"../schema/types.js\";\nimport { generateFieldSchema } from \"../schema/zod-generator.js\";\nimport type { PluginEditorDraftFieldSelector } from \"./types.js\";\n\nexport const EDITOR_DRAFT_LIMITS = {\n\tmaxFields: 32,\n\tmaxSnapshotBytes: 192 * 1024,\n\tmaxFieldBytes: 64 * 1024,\n} as const;\n\nexport type EditorDraftErrorCode =\n\t| \"EDITOR_DRAFT_STALE\"\n\t| \"EDITOR_DRAFT_FIELD_FORBIDDEN\"\n\t| \"EDITOR_DRAFT_INVALID\"\n\t| \"EDITOR_DRAFT_UNSUPPORTED_FIELD_TYPE\"\n\t| \"EDITOR_DRAFT_TOO_LARGE\"\n\t| \"EDITOR_DRAFT_CAPABILITY_REQUIRED\";\n\nexport interface EditorDraftValidationError {\n\tcode: EditorDraftErrorCode;\n\tmessage: string;\n}\n\ninterface BrowserDraftRequest {\n\tcollection: string;\n\tentryId: string;\n\tlocale: string | null;\n\tbaseRevision: string;\n\tgeneration: number;\n\tinvocationId: string;\n\tfields: Record<string, unknown>;\n}\n\nexport interface ValidatedEditorDraftRequest {\n\tsnapshot: EditorDraftSnapshot;\n\treceipt: EditorDraftInvocationReceipt;\n\treadFields: ReadonlySet<string>;\n\tpatchFields: ReadonlySet<string>;\n}\n\nconst ENCODER = new TextEncoder();\nconst INVOCATION_PATTERN = /^[A-Za-z0-9_-]{16,128}$/;\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction isBrowserDraftRequest(value: unknown): value is BrowserDraftRequest {\n\treturn (\n\t\tisRecord(value) &&\n\t\ttypeof value.collection === \"string\" &&\n\t\ttypeof value.entryId === \"string\" &&\n\t\t(value.locale === null || typeof value.locale === \"string\") &&\n\t\ttypeof value.baseRevision === \"string\" &&\n\t\ttypeof value.generation === \"number\" &&\n\t\ttypeof value.invocationId === \"string\" &&\n\t\tisRecord(value.fields)\n\t);\n}\n\nfunction jsonBytes(value: unknown): number | null {\n\ttry {\n\t\treturn ENCODER.encode(JSON.stringify(value)).byteLength;\n\t} catch {\n\t\treturn null;\n\t}\n}\n\nfunction selectedFields(\n\tcollection: CollectionWithFields,\n\tselector: PluginEditorDraftFieldSelector | undefined,\n): Set<string> {\n\tconst selected = new Set(selector?.fields ?? []);\n\tif (selector?.translatable) {\n\t\tfor (const field of collection.fields) {\n\t\t\tif (field.translatable) selected.add(field.slug);\n\t\t}\n\t}\n\treturn selected;\n}\n\nfunction sanitizeField(field: Field): EditorDraftFieldDefinition {\n\treturn {\n\t\tslug: field.slug,\n\t\tlabel: field.label,\n\t\ttype: field.type,\n\t\trequired: field.required,\n\t\ttranslatable: field.translatable,\n\t\t...(field.validation ? { validation: { ...field.validation } } : {}),\n\t};\n}\n\nfunction fail(code: EditorDraftErrorCode, message: string): EditorDraftValidationError {\n\treturn { code, message };\n}\n\nexport function validateEditorDraftRequest(input: {\n\trequest: unknown;\n\tcollection: CollectionWithFields;\n\tentry: { id: string; locale: string | null; revision: string };\n\treadSelector?: PluginEditorDraftFieldSelector;\n\tpatchSelector?: PluginEditorDraftFieldSelector;\n\tcanRead: boolean;\n\tcanPatch: boolean;\n}): ValidatedEditorDraftRequest | EditorDraftValidationError {\n\tif (!isBrowserDraftRequest(input.request)) {\n\t\treturn fail(\"EDITOR_DRAFT_INVALID\", \"Invalid editor draft snapshot\");\n\t}\n\tconst request = input.request;\n\tif (\n\t\trequest.collection !== input.collection.slug ||\n\t\trequest.entryId !== input.entry.id ||\n\t\trequest.locale !== input.entry.locale\n\t) {\n\t\treturn fail(\"EDITOR_DRAFT_STALE\", \"Editor draft identity is stale\");\n\t}\n\tif (request.baseRevision !== input.entry.revision) {\n\t\treturn fail(\"EDITOR_DRAFT_STALE\", \"Editor draft base revision is stale\");\n\t}\n\tif (\n\t\t!Number.isSafeInteger(request.generation) ||\n\t\trequest.generation < 0 ||\n\t\ttypeof request.invocationId !== \"string\" ||\n\t\t!INVOCATION_PATTERN.test(request.invocationId)\n\t) {\n\t\treturn fail(\"EDITOR_DRAFT_INVALID\", \"Invalid editor draft invocation identity\");\n\t}\n\tconst size = jsonBytes(request);\n\tif (size === null)\n\t\treturn fail(\"EDITOR_DRAFT_INVALID\", \"Editor draft snapshot must be JSON serializable\");\n\tif (size > EDITOR_DRAFT_LIMITS.maxSnapshotBytes) {\n\t\treturn fail(\"EDITOR_DRAFT_TOO_LARGE\", \"Editor draft snapshot exceeds the size limit\");\n\t}\n\n\tconst readFields = selectedFields(input.collection, input.readSelector);\n\tconst patchFields = selectedFields(input.collection, input.patchSelector);\n\tif (\n\t\treadFields.size > EDITOR_DRAFT_LIMITS.maxFields ||\n\t\tpatchFields.size > EDITOR_DRAFT_LIMITS.maxFields\n\t) {\n\t\treturn fail(\"EDITOR_DRAFT_TOO_LARGE\", \"Editor draft selector exceeds the field limit\");\n\t}\n\tconst supplied = Object.keys(request.fields);\n\tif (supplied.length > EDITOR_DRAFT_LIMITS.maxFields) {\n\t\treturn fail(\"EDITOR_DRAFT_TOO_LARGE\", \"Editor draft snapshot exceeds the field limit\");\n\t}\n\tif (supplied.length > 0 && !input.canRead) {\n\t\treturn fail(\"EDITOR_DRAFT_CAPABILITY_REQUIRED\", \"Plugin cannot read unsaved editor content\");\n\t}\n\tconst bySlug = new Map(input.collection.fields.map((field) => [field.slug, field]));\n\tconst patchFieldDefinitions = Array.from(patchFields, (slug) => bySlug.get(slug))\n\t\t.filter((field): field is Field => Boolean(field && !field.unsupportedType))\n\t\t.map(sanitizeField);\n\tconst fields: Record<string, unknown> = {};\n\tconst fieldDefinitions: EditorDraftFieldDefinition[] = [];\n\tfor (const slug of supplied) {\n\t\tif (!readFields.has(slug)) {\n\t\t\treturn fail(\"EDITOR_DRAFT_FIELD_FORBIDDEN\", `Editor draft field '${slug}' is not allowed`);\n\t\t}\n\t\tconst field = bySlug.get(slug);\n\t\tif (!field || field.unsupportedType) {\n\t\t\treturn fail(\n\t\t\t\t\"EDITOR_DRAFT_UNSUPPORTED_FIELD_TYPE\",\n\t\t\t\t`Editor draft field '${slug}' has an unsupported type`,\n\t\t\t);\n\t\t}\n\t\tconst fieldSize = jsonBytes(request.fields[slug]);\n\t\tif (fieldSize === null)\n\t\t\treturn fail(\"EDITOR_DRAFT_INVALID\", `Editor draft field '${slug}' is invalid`);\n\t\tif (fieldSize > EDITOR_DRAFT_LIMITS.maxFieldBytes) {\n\t\t\treturn fail(\"EDITOR_DRAFT_TOO_LARGE\", `Editor draft field '${slug}' exceeds the size limit`);\n\t\t}\n\t\tif (!generateFieldSchema(field).safeParse(request.fields[slug]).success) {\n\t\t\treturn fail(\"EDITOR_DRAFT_INVALID\", `Editor draft field '${slug}' is invalid`);\n\t\t}\n\t\tfields[slug] = request.fields[slug];\n\t\tfieldDefinitions.push(sanitizeField(field));\n\t}\n\tif (input.readSelector && !input.canRead) {\n\t\treturn fail(\"EDITOR_DRAFT_CAPABILITY_REQUIRED\", \"Plugin cannot read unsaved editor content\");\n\t}\n\tif (input.patchSelector && !input.canPatch) {\n\t\treturn fail(\"EDITOR_DRAFT_CAPABILITY_REQUIRED\", \"Plugin cannot propose unsaved editor changes\");\n\t}\n\n\treturn {\n\t\tsnapshot: {\n\t\t\tcollection: input.collection.slug,\n\t\t\tentryId: input.entry.id,\n\t\t\tlocale: input.entry.locale,\n\t\t\tbaseRevision: input.entry.revision,\n\t\t\tinvocationId: request.invocationId,\n\t\t\tfields,\n\t\t\tfieldDefinitions,\n\t\t},\n\t\treceipt: {\n\t\t\tentryId: input.entry.id,\n\t\t\tlocale: input.entry.locale,\n\t\t\tbaseRevision: input.entry.revision,\n\t\t\tgeneration: request.generation,\n\t\t\tinvocationId: request.invocationId,\n\t\t\tfieldDefinitions: patchFieldDefinitions,\n\t\t},\n\t\treadFields,\n\t\tpatchFields,\n\t};\n}\n\nexport function validateEditorDraftPatch(input: {\n\tpatch: unknown;\n\tcollection: CollectionWithFields;\n\tallowedFields: ReadonlySet<string>;\n}): EditorDraftPatchEffect | EditorDraftValidationError {\n\tconst structural = validateEditorDraftPatchEffect(input.patch);\n\tif (!structural.valid || !isEditorDraftPatchEffect(input.patch))\n\t\treturn fail(\"EDITOR_DRAFT_INVALID\", \"Plugin returned an invalid editor draft patch\");\n\tconst patch = input.patch;\n\tconst bySlug = new Map(input.collection.fields.map((field) => [field.slug, field]));\n\tfor (const operation of patch.operations) {\n\t\tif (!input.allowedFields.has(operation.field)) {\n\t\t\treturn fail(\n\t\t\t\t\"EDITOR_DRAFT_FIELD_FORBIDDEN\",\n\t\t\t\t`Editor draft field '${operation.field}' is not allowed`,\n\t\t\t);\n\t\t}\n\t\tconst field = bySlug.get(operation.field);\n\t\tif (!field || field.unsupportedType) {\n\t\t\treturn fail(\n\t\t\t\t\"EDITOR_DRAFT_UNSUPPORTED_FIELD_TYPE\",\n\t\t\t\t`Editor draft field '${operation.field}' has an unsupported type`,\n\t\t\t);\n\t\t}\n\t\tconst value = operation.op === \"clear\" ? null : operation.value;\n\t\tif (!generateFieldSchema(field).safeParse(value).success) {\n\t\t\treturn fail(\"EDITOR_DRAFT_INVALID\", `Editor draft field '${operation.field}' is invalid`);\n\t\t}\n\t\tconst fieldSize = jsonBytes(value);\n\t\tif (fieldSize === null || fieldSize > EDITOR_DRAFT_LIMITS.maxFieldBytes) {\n\t\t\treturn fail(\n\t\t\t\t\"EDITOR_DRAFT_TOO_LARGE\",\n\t\t\t\t`Editor draft field '${operation.field}' exceeds the size limit`,\n\t\t\t);\n\t\t}\n\t}\n\treturn patch;\n}\n","import { getLocaleDir, resolveLocale } from \"@emdash-cms/admin/locales\";\nimport { Permissions, type Permission, type RoleLevel } from \"@emdash-cms/auth\";\nimport { validateContentEditorPanelInteraction } from \"@emdash-cms/blocks/server\";\n\nimport { requirePerm, requireOwnerPerm } from \"../api/authorize.js\";\nimport { apiError, apiSuccess } from \"../api/error.js\";\nimport { requireScope } from \"../auth/scopes.js\";\nimport type { EmDashRuntime, PluginEditorExtensionDispatch } from \"../emdash-runtime.js\";\nimport {\n\tvalidateEditorDraftPatch,\n\tvalidateEditorDraftRequest,\n\ttype ValidatedEditorDraftRequest,\n} from \"./editor-draft.js\";\nimport { pluginRouteResponseFromWire, pluginRouteResponseToWire } from \"./route-wire.js\";\nimport { parseDeclaredPluginRouteInput, PluginRouteRequestError } from \"./route-wire.js\";\nimport type { PluginContentCacheInvalidator, RouteMeta } from \"./routes.js\";\nimport type { UserInfo } from \"./types.js\";\n\nfunction editorDraftErrorResponse(error: { code: string; message: string }): Response {\n\tconst status =\n\t\terror.code === \"EDITOR_DRAFT_STALE\"\n\t\t\t? 409\n\t\t\t: error.code === \"EDITOR_DRAFT_FIELD_FORBIDDEN\" ||\n\t\t\t\t error.code === \"EDITOR_DRAFT_CAPABILITY_REQUIRED\"\n\t\t\t\t? 403\n\t\t\t\t: error.code === \"EDITOR_DRAFT_TOO_LARGE\"\n\t\t\t\t\t? 413\n\t\t\t\t\t: error.code === \"EDITOR_DRAFT_UNSUPPORTED_FIELD_TYPE\"\n\t\t\t\t\t\t? 422\n\t\t\t\t\t\t: 400;\n\treturn apiError(error.code, error.message, status);\n}\n\nfunction toRoleLevel(value: number): RoleLevel | null {\n\tif (value === 10 || value === 20 || value === 30 || value === 40 || value === 50) {\n\t\treturn value;\n\t}\n\treturn null;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction isPermission(value: string): value is Permission {\n\treturn Object.hasOwn(Permissions, value);\n}\n\nfunction authorizePrivatePluginRouteRequest(\n\trouteMeta: RouteMeta,\n\trequest: Request,\n\tuser?: UserInfo | null,\n\ttokenScopes?: string[],\n): Response | null {\n\tconst permission = routeMeta.permission ?? \"plugins:manage\";\n\tif (!isPermission(permission)) {\n\t\treturn apiError(\"INVALID_PLUGIN_ROUTE\", \"Plugin route declares an invalid permission\", 500);\n\t}\n\n\tlet permissionUser: { id: string; role: RoleLevel } | null | undefined;\n\tif (user) {\n\t\tconst role = toRoleLevel(user.role);\n\t\tif (role === null) {\n\t\t\treturn apiError(\"INVALID_USER\", \"Authenticated user has an invalid role\", 500);\n\t\t}\n\t\tpermissionUser = { id: user.id, role };\n\t} else {\n\t\tpermissionUser = user;\n\t}\n\n\tconst denied = requirePerm(permissionUser, permission);\n\tif (denied) return denied;\n\tconst scopeError = requireScope({ tokenScopes }, \"admin\");\n\tif (scopeError) return scopeError;\n\tif (!tokenScopes && request.headers.get(\"X-EmDash-Request\") !== \"1\") {\n\t\treturn apiError(\"CSRF_REJECTED\", \"Missing required header\", 403);\n\t}\n\treturn null;\n}\n\nexport interface PluginApiRequestContext {\n\truntime: EmDashRuntime;\n\tpluginId: string;\n\tpath: string;\n\trequest: Request;\n\tuser?: UserInfo | null;\n\ttokenScopes?: string[];\n\tinvalidateContentCache?: PluginContentCacheInvalidator;\n\teditorDispatch?: PluginEditorExtensionDispatch;\n}\n\n/** Dispatch a request through the production plugin-route policy boundary. */\nexport async function dispatchPluginApiRequest({\n\truntime,\n\tpluginId,\n\tpath,\n\trequest,\n\tuser,\n\ttokenScopes,\n\tinvalidateContentCache,\n\teditorDispatch,\n}: PluginApiRequestContext): Promise<Response> {\n\tconst method = request.method.toUpperCase();\n\tconst routeMeta = runtime.getPluginRouteMeta(pluginId, path);\n\tif (!routeMeta) return apiError(\"NOT_FOUND\", \"Plugin route not found\", 404);\n\n\tif (!routeMeta.public) {\n\t\tconst denied = authorizePrivatePluginRouteRequest(routeMeta, request, user, tokenScopes);\n\t\tif (denied) return denied;\n\t}\n\tif (routeMeta.methods && !routeMeta.methods.some((allowed) => allowed === method)) {\n\t\tconst response = apiError(\"METHOD_NOT_ALLOWED\", \"Method not allowed\", 405);\n\t\tresponse.headers.set(\"Allow\", routeMeta.methods.join(\", \"));\n\t\treturn response;\n\t}\n\n\tconst caller = routeMeta.public ? undefined : (user ?? undefined);\n\tconst result = await runtime.handlePluginApiRoute(\n\t\tpluginId,\n\t\tmethod,\n\t\tpath,\n\t\trequest,\n\t\tcaller,\n\t\tinvalidateContentCache,\n\t\teditorDispatch,\n\t);\n\tif (!result.success) {\n\t\tconst code = result.error?.code ?? \"PLUGIN_ERROR\";\n\t\tconst message =\n\t\t\tcode === \"INTERNAL_ERROR\"\n\t\t\t\t? \"Plugin route error\"\n\t\t\t\t: (result.error?.message ?? \"Plugin route error\");\n\t\tconst status = (result as { status?: number }).status ?? (code === \"NOT_FOUND\" ? 404 : 400);\n\t\tconst details =\n\t\t\tcode !== \"INTERNAL_ERROR\" && result.error && \"details\" in result.error\n\t\t\t\t? result.error.details\n\t\t\t\t: undefined;\n\t\treturn apiError(code, message, status, isRecord(details) ? details : undefined);\n\t}\n\n\tlet response: Response;\n\tif (routeMeta.response === \"raw\") {\n\t\ttry {\n\t\t\tresponse = pluginRouteResponseFromWire(\n\t\t\t\tawait pluginRouteResponseToWire(\n\t\t\t\t\tresult.data,\n\t\t\t\t\trouteMeta.public ? { publicRequestUrl: request.url } : { allowExternalLocation: true },\n\t\t\t\t),\n\t\t\t\tmethod,\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tconsole.error(`[plugin:${pluginId}] Invalid raw route response:`, error);\n\t\t\treturn apiError(\"INVALID_PLUGIN_RESPONSE\", \"Plugin returned an invalid response\", 500);\n\t\t}\n\t} else {\n\t\tresponse = apiSuccess(result.data);\n\t}\n\tif (\n\t\tresponse.ok &&\n\t\trouteMeta.public &&\n\t\trouteMeta.cacheControl &&\n\t\t(method === \"GET\" || method === \"HEAD\")\n\t) {\n\t\tresponse.headers.set(\"Cache-Control\", routeMeta.cacheControl);\n\t} else {\n\t\tresponse.headers.set(\"Cache-Control\", \"private, no-store\");\n\t}\n\treturn response;\n}\n\nexport interface PluginEditorExtensionApiRequestContext {\n\truntime: EmDashRuntime;\n\tpluginId: string;\n\tkind: \"panel\" | \"action\";\n\textensionId: string;\n\tcollection: string;\n\tentryId: string;\n\trequest: Request;\n\tuser?: UserInfo | null;\n\ttokenScopes?: string[];\n\tinvalidateContentCache?: PluginContentCacheInvalidator;\n}\n\nconst EDITOR_EXTENSION_REQUEST_MAX_BYTES = 256 * 1024;\n\n/** Dispatch a saved-entry extension through ownership, route, and isolate policy. */\nexport async function dispatchPluginEditorExtensionApiRequest({\n\truntime,\n\tpluginId,\n\tkind,\n\textensionId,\n\tcollection,\n\tentryId,\n\trequest,\n\tuser,\n\ttokenScopes,\n\tinvalidateContentCache,\n}: PluginEditorExtensionApiRequestContext): Promise<Response> {\n\tconst definition = runtime.getPluginEditorExtension(pluginId, kind, extensionId, collection);\n\tif (!definition) return apiError(\"NOT_FOUND\", \"Plugin editor extension not found\", 404);\n\n\tconst routeMeta = runtime.getPluginRouteMeta(pluginId, definition.extension.route);\n\tif (!routeMeta || routeMeta.public) {\n\t\treturn apiError(\n\t\t\t\"INVALID_PLUGIN_EDITOR_EXTENSION\",\n\t\t\t\"Plugin editor extension must reference a private route\",\n\t\t\t500,\n\t\t);\n\t}\n\tconst denied = authorizePrivatePluginRouteRequest(routeMeta, request, user, tokenScopes);\n\tif (denied) return denied;\n\n\tconst requestedLocale = new URL(request.url).searchParams.get(\"locale\") || undefined;\n\tconst contentResult = await runtime.handleContentGet(collection, entryId, requestedLocale);\n\tif (!contentResult.success) {\n\t\treturn contentResult.error?.code === \"NOT_FOUND\"\n\t\t\t? apiError(\"NOT_FOUND\", \"Content item not found\", 404)\n\t\t\t: apiError(\"CONTENT_GET_ERROR\", \"Failed to load content item\", 500);\n\t}\n\tconst contentData = contentResult.data;\n\tconst item =\n\t\ttypeof contentData === \"object\" && contentData !== null && \"item\" in contentData\n\t\t\t? contentData.item\n\t\t\t: null;\n\tif (typeof item !== \"object\" || item === null) {\n\t\treturn apiError(\"CONTENT_GET_ERROR\", \"Failed to load content item\", 500);\n\t}\n\tconst authorId = \"authorId\" in item && typeof item.authorId === \"string\" ? item.authorId : \"\";\n\tlet ownershipUser: { id: string; role: RoleLevel } | null | undefined =\n\t\tuser == null ? user : undefined;\n\tif (user) {\n\t\tconst ownerRole = toRoleLevel(user.role);\n\t\tif (ownerRole === null) {\n\t\t\treturn apiError(\"INVALID_USER\", \"Authenticated user has an invalid role\", 500);\n\t\t}\n\t\townershipUser = { id: user.id, role: ownerRole };\n\t}\n\tconst ownershipDenied = requireOwnerPerm(\n\t\townershipUser,\n\t\tauthorId,\n\t\t\"content:edit_own\",\n\t\t\"content:edit_any\",\n\t);\n\tif (ownershipDenied) return ownershipDenied;\n\n\tconst canonicalId = \"id\" in item && typeof item.id === \"string\" ? item.id : null;\n\tconst canonicalLocale = \"locale\" in item && typeof item.locale === \"string\" ? item.locale : null;\n\tconst version = \"version\" in item && typeof item.version === \"number\" ? item.version : null;\n\tconst baseRevision =\n\t\ttypeof contentData === \"object\" &&\n\t\tcontentData !== null &&\n\t\t\"_rev\" in contentData &&\n\t\ttypeof contentData._rev === \"string\"\n\t\t\t? contentData._rev\n\t\t\t: null;\n\tif (!canonicalId || version === null) {\n\t\treturn apiError(\"CONTENT_GET_ERROR\", \"Content item has invalid identity\", 500);\n\t}\n\n\tlet input: Record<string, unknown>;\n\tlet editorBody: unknown;\n\ttry {\n\t\teditorBody = await parseDeclaredPluginRouteInput(request, {\n\t\t\tbody: \"json\",\n\t\t\tmaxBytes: EDITOR_EXTENSION_REQUEST_MAX_BYTES,\n\t\t});\n\t} catch (error) {\n\t\tif (error instanceof PluginRouteRequestError) {\n\t\t\treturn apiError(\n\t\t\t\terror.status === 413 ? \"EDITOR_DRAFT_TOO_LARGE\" : \"INVALID_REQUEST\",\n\t\t\t\terror.status === 413\n\t\t\t\t\t? \"Editor interaction exceeds the size limit\"\n\t\t\t\t\t: \"Invalid editor interaction\",\n\t\t\t\terror.status,\n\t\t\t);\n\t\t}\n\t\treturn apiError(\"INVALID_REQUEST\", \"Editor interaction could not be read\", 400);\n\t}\n\tif (kind === \"panel\") {\n\t\tif (!isRecord(editorBody)) {\n\t\t\treturn apiError(\"INVALID_REQUEST\", \"Editor panel interaction must be an object\", 400);\n\t\t}\n\t\tinput = editorBody;\n\t\tconst validation = validateContentEditorPanelInteraction(input);\n\t\tif (!validation.valid) {\n\t\t\treturn apiError(\"INVALID_PLUGIN_UI_CONTEXT\", \"Invalid editor panel interaction\", 400);\n\t\t}\n\t} else {\n\t\tif (!isRecord(editorBody)) {\n\t\t\treturn apiError(\"INVALID_REQUEST\", \"Invalid editor action interaction\", 400);\n\t\t}\n\t\tinput = {\n\t\t\ttype: \"editor_action\",\n\t\t\t...(Object.hasOwn(editorBody, \"draft\") ? { draft: editorBody.draft } : {}),\n\t\t};\n\t}\n\n\tlet validatedDraft: ValidatedEditorDraftRequest | null = null;\n\tif (input.draft !== undefined) {\n\t\tif (!baseRevision) {\n\t\t\treturn apiError(\"EDITOR_DRAFT_INVALID\", \"Content item has no draft revision identity\", 409);\n\t\t}\n\t\tconst collectionSchema = await runtime.getPluginEditorDraftSchema(collection);\n\t\tif (!collectionSchema) return apiError(\"NOT_FOUND\", \"Collection not found\", 404);\n\t\tconst draft = validateEditorDraftRequest({\n\t\t\trequest: input.draft,\n\t\t\tcollection: collectionSchema,\n\t\t\tentry: { id: canonicalId, locale: canonicalLocale, revision: baseRevision },\n\t\t\treadSelector: definition.extension.draft?.read,\n\t\t\tpatchSelector: definition.extension.draft?.patch,\n\t\t\tcanRead: definition.capabilities.includes(\"admin.editor-draft:read\"),\n\t\t\tcanPatch: definition.capabilities.includes(\"admin.editor-draft:patch\"),\n\t\t});\n\t\tif (\"code\" in draft) {\n\t\t\tconsole.warn(\n\t\t\t\t`[plugin:${pluginId}] Editor draft ${kind}/${extensionId} rejected: ${draft.code}`,\n\t\t\t);\n\t\t\treturn editorDraftErrorResponse(draft);\n\t\t}\n\t\tvalidatedDraft = draft;\n\t\tinput = { ...input, draft: draft.snapshot };\n\t}\n\n\tconst headers = new Headers(request.headers);\n\theaders.delete(\"content-length\");\n\theaders.delete(\"content-encoding\");\n\theaders.set(\"Content-Type\", \"application/json\");\n\tconst pluginRequest = new Request(request.url, {\n\t\tmethod: \"POST\",\n\t\theaders,\n\t\tbody: JSON.stringify(input),\n\t});\n\tconst locale = resolveLocale(request);\n\tconst response = await dispatchPluginApiRequest({\n\t\truntime,\n\t\tpluginId,\n\t\tpath: definition.extension.route,\n\t\trequest: pluginRequest,\n\t\tuser,\n\t\ttokenScopes,\n\t\tinvalidateContentCache,\n\t\teditorDispatch: {\n\t\t\tkind,\n\t\t\tpolicy: definition.policy,\n\t\t\tui: {\n\t\t\t\tsurface: kind === \"panel\" ? \"content-editor-panel\" : \"content-editor-action\",\n\t\t\t\tlocale,\n\t\t\t\tdirection: getLocaleDir(locale),\n\t\t\t\tcontentLocale: canonicalLocale ?? undefined,\n\t\t\t\textensionId,\n\t\t\t\tentry: {\n\t\t\t\t\tcollection,\n\t\t\t\t\tid: canonicalId,\n\t\t\t\t\tlocale: canonicalLocale,\n\t\t\t\t\tversion,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t});\n\tif (!response.ok) return response;\n\tconst envelope: unknown = await response.clone().json();\n\tif (!isRecord(envelope) || !isRecord(envelope.data)) {\n\t\treturn apiError(\"INVALID_PLUGIN_RESPONSE\", \"Plugin returned an invalid response\", 502);\n\t}\n\tconst data = envelope.data;\n\tif (data.patch === undefined && !validatedDraft) return response;\n\tif (data.patch !== undefined && !validatedDraft) {\n\t\treturn apiError(\n\t\t\t\"EDITOR_DRAFT_INVALID\",\n\t\t\t\"Plugin returned an editor draft patch without a draft invocation\",\n\t\t\t400,\n\t\t);\n\t}\n\tif (data.patch !== undefined) {\n\t\tconst collectionSchema = await runtime.getPluginEditorDraftSchema(collection);\n\t\tif (!collectionSchema) return apiError(\"NOT_FOUND\", \"Collection not found\", 404);\n\t\tconst patch = validateEditorDraftPatch({\n\t\t\tpatch: data.patch,\n\t\t\tcollection: collectionSchema,\n\t\t\tallowedFields: validatedDraft?.patchFields ?? new Set(),\n\t\t});\n\t\tif (\"code\" in patch) {\n\t\t\tconsole.warn(\n\t\t\t\t`[plugin:${pluginId}] Editor draft ${kind}/${extensionId} rejected: ${patch.code}`,\n\t\t\t);\n\t\t\treturn editorDraftErrorResponse(patch);\n\t\t}\n\t\tdata.patch = patch;\n\t}\n\tconst finalResponse = apiSuccess({ ...data, editorInvocation: validatedDraft?.receipt });\n\tfinalResponse.headers.set(\"Cache-Control\", \"private, no-store\");\n\treturn finalResponse;\n}\n"],"mappings":";;;;;;;;;;AAeA,MAAa,sBAAsB;CAClC,WAAW;CACX,kBAAkB,MAAM;CACxB,eAAe,KAAK;CACpB;AAgCD,MAAM,UAAU,IAAI,aAAa;AACjC,MAAM,qBAAqB;AAE3B,SAASA,WAAS,OAAkD;AACnE,QAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,MAAM;;AAG5E,SAAS,sBAAsB,OAA8C;AAC5E,QACCA,WAAS,MAAM,IACf,OAAO,MAAM,eAAe,YAC5B,OAAO,MAAM,YAAY,aACxB,MAAM,WAAW,QAAQ,OAAO,MAAM,WAAW,aAClD,OAAO,MAAM,iBAAiB,YAC9B,OAAO,MAAM,eAAe,YAC5B,OAAO,MAAM,iBAAiB,YAC9BA,WAAS,MAAM,OAAO;;AAIxB,SAAS,UAAU,OAA+B;AACjD,KAAI;AACH,SAAO,QAAQ,OAAO,KAAK,UAAU,MAAM,CAAC,CAAC;SACtC;AACP,SAAO;;;AAIT,SAAS,eACR,YACA,UACc;CACd,MAAM,WAAW,IAAI,IAAI,UAAU,UAAU,EAAE,CAAC;AAChD,KAAI,UAAU,cACb;OAAK,MAAM,SAAS,WAAW,OAC9B,KAAI,MAAM,aAAc,UAAS,IAAI,MAAM,KAAK;;AAGlD,QAAO;;AAGR,SAAS,cAAc,OAA0C;AAChE,QAAO;EACN,MAAM,MAAM;EACZ,OAAO,MAAM;EACb,MAAM,MAAM;EACZ,UAAU,MAAM;EAChB,cAAc,MAAM;EACpB,GAAI,MAAM,aAAa,EAAE,YAAY,EAAE,GAAG,MAAM,YAAY,EAAE,GAAG,EAAE;EACnE;;AAGF,SAAS,KAAK,MAA4B,SAA6C;AACtF,QAAO;EAAE;EAAM;EAAS;;AAGzB,SAAgB,2BAA2B,OAQkB;AAC5D,KAAI,CAAC,sBAAsB,MAAM,QAAQ,CACxC,QAAO,KAAK,wBAAwB,gCAAgC;CAErE,MAAM,UAAU,MAAM;AACtB,KACC,QAAQ,eAAe,MAAM,WAAW,QACxC,QAAQ,YAAY,MAAM,MAAM,MAChC,QAAQ,WAAW,MAAM,MAAM,OAE/B,QAAO,KAAK,sBAAsB,iCAAiC;AAEpE,KAAI,QAAQ,iBAAiB,MAAM,MAAM,SACxC,QAAO,KAAK,sBAAsB,sCAAsC;AAEzE,KACC,CAAC,OAAO,cAAc,QAAQ,WAAW,IACzC,QAAQ,aAAa,KACrB,OAAO,QAAQ,iBAAiB,YAChC,CAAC,mBAAmB,KAAK,QAAQ,aAAa,CAE9C,QAAO,KAAK,wBAAwB,2CAA2C;CAEhF,MAAM,OAAO,UAAU,QAAQ;AAC/B,KAAI,SAAS,KACZ,QAAO,KAAK,wBAAwB,kDAAkD;AACvF,KAAI,OAAO,oBAAoB,iBAC9B,QAAO,KAAK,0BAA0B,+CAA+C;CAGtF,MAAM,aAAa,eAAe,MAAM,YAAY,MAAM,aAAa;CACvE,MAAM,cAAc,eAAe,MAAM,YAAY,MAAM,cAAc;AACzE,KACC,WAAW,OAAO,oBAAoB,aACtC,YAAY,OAAO,oBAAoB,UAEvC,QAAO,KAAK,0BAA0B,gDAAgD;CAEvF,MAAM,WAAW,OAAO,KAAK,QAAQ,OAAO;AAC5C,KAAI,SAAS,SAAS,oBAAoB,UACzC,QAAO,KAAK,0BAA0B,gDAAgD;AAEvF,KAAI,SAAS,SAAS,KAAK,CAAC,MAAM,QACjC,QAAO,KAAK,oCAAoC,4CAA4C;CAE7F,MAAM,SAAS,IAAI,IAAI,MAAM,WAAW,OAAO,KAAK,UAAU,CAAC,MAAM,MAAM,MAAM,CAAC,CAAC;CACnF,MAAM,wBAAwB,MAAM,KAAK,cAAc,SAAS,OAAO,IAAI,KAAK,CAAC,CAC/E,QAAQ,UAA0B,QAAQ,SAAS,CAAC,MAAM,gBAAgB,CAAC,CAC3E,IAAI,cAAc;CACpB,MAAM,SAAkC,EAAE;CAC1C,MAAM,mBAAiD,EAAE;AACzD,MAAK,MAAM,QAAQ,UAAU;AAC5B,MAAI,CAAC,WAAW,IAAI,KAAK,CACxB,QAAO,KAAK,gCAAgC,uBAAuB,KAAK,kBAAkB;EAE3F,MAAM,QAAQ,OAAO,IAAI,KAAK;AAC9B,MAAI,CAAC,SAAS,MAAM,gBACnB,QAAO,KACN,uCACA,uBAAuB,KAAK,2BAC5B;EAEF,MAAM,YAAY,UAAU,QAAQ,OAAO,MAAM;AACjD,MAAI,cAAc,KACjB,QAAO,KAAK,wBAAwB,uBAAuB,KAAK,cAAc;AAC/E,MAAI,YAAY,oBAAoB,cACnC,QAAO,KAAK,0BAA0B,uBAAuB,KAAK,0BAA0B;AAE7F,MAAI,CAAC,oBAAoB,MAAM,CAAC,UAAU,QAAQ,OAAO,MAAM,CAAC,QAC/D,QAAO,KAAK,wBAAwB,uBAAuB,KAAK,cAAc;AAE/E,SAAO,QAAQ,QAAQ,OAAO;AAC9B,mBAAiB,KAAK,cAAc,MAAM,CAAC;;AAE5C,KAAI,MAAM,gBAAgB,CAAC,MAAM,QAChC,QAAO,KAAK,oCAAoC,4CAA4C;AAE7F,KAAI,MAAM,iBAAiB,CAAC,MAAM,SACjC,QAAO,KAAK,oCAAoC,+CAA+C;AAGhG,QAAO;EACN,UAAU;GACT,YAAY,MAAM,WAAW;GAC7B,SAAS,MAAM,MAAM;GACrB,QAAQ,MAAM,MAAM;GACpB,cAAc,MAAM,MAAM;GAC1B,cAAc,QAAQ;GACtB;GACA;GACA;EACD,SAAS;GACR,SAAS,MAAM,MAAM;GACrB,QAAQ,MAAM,MAAM;GACpB,cAAc,MAAM,MAAM;GAC1B,YAAY,QAAQ;GACpB,cAAc,QAAQ;GACtB,kBAAkB;GAClB;EACD;EACA;EACA;;AAGF,SAAgB,yBAAyB,OAIe;AAEvD,KAAI,CADe,+BAA+B,MAAM,MAAM,CAC9C,SAAS,CAAC,yBAAyB,MAAM,MAAM,CAC9D,QAAO,KAAK,wBAAwB,gDAAgD;CACrF,MAAM,QAAQ,MAAM;CACpB,MAAM,SAAS,IAAI,IAAI,MAAM,WAAW,OAAO,KAAK,UAAU,CAAC,MAAM,MAAM,MAAM,CAAC,CAAC;AACnF,MAAK,MAAM,aAAa,MAAM,YAAY;AACzC,MAAI,CAAC,MAAM,cAAc,IAAI,UAAU,MAAM,CAC5C,QAAO,KACN,gCACA,uBAAuB,UAAU,MAAM,kBACvC;EAEF,MAAM,QAAQ,OAAO,IAAI,UAAU,MAAM;AACzC,MAAI,CAAC,SAAS,MAAM,gBACnB,QAAO,KACN,uCACA,uBAAuB,UAAU,MAAM,2BACvC;EAEF,MAAM,QAAQ,UAAU,OAAO,UAAU,OAAO,UAAU;AAC1D,MAAI,CAAC,oBAAoB,MAAM,CAAC,UAAU,MAAM,CAAC,QAChD,QAAO,KAAK,wBAAwB,uBAAuB,UAAU,MAAM,cAAc;EAE1F,MAAM,YAAY,UAAU,MAAM;AAClC,MAAI,cAAc,QAAQ,YAAY,oBAAoB,cACzD,QAAO,KACN,0BACA,uBAAuB,UAAU,MAAM,0BACvC;;AAGH,QAAO;;;;;AC7OR,SAAS,yBAAyB,OAAoD;CACrF,MAAM,SACL,MAAM,SAAS,uBACZ,MACA,MAAM,SAAS,kCACd,MAAM,SAAS,qCACf,MACA,MAAM,SAAS,2BACd,MACA,MAAM,SAAS,wCACd,MACA;AACP,QAAO,SAAS,MAAM,MAAM,MAAM,SAAS,OAAO;;AAGnD,SAASC,cAAY,OAAiC;AACrD,KAAI,UAAU,MAAM,UAAU,MAAM,UAAU,MAAM,UAAU,MAAM,UAAU,GAC7E,QAAO;AAER,QAAO;;AAGR,SAAS,SAAS,OAAkD;AACnE,QAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,MAAM;;AAG5E,SAAS,aAAa,OAAoC;AACzD,QAAO,OAAO,OAAO,aAAa,MAAM;;AAGzC,SAAS,mCACR,WACA,SACA,MACA,aACkB;CAClB,MAAM,aAAa,UAAU,cAAc;AAC3C,KAAI,CAAC,aAAa,WAAW,CAC5B,QAAO,SAAS,wBAAwB,+CAA+C,IAAI;CAG5F,IAAI;AACJ,KAAI,MAAM;EACT,MAAM,OAAOA,cAAY,KAAK,KAAK;AACnC,MAAI,SAAS,KACZ,QAAO,SAAS,gBAAgB,0CAA0C,IAAI;AAE/E,mBAAiB;GAAE,IAAI,KAAK;GAAI;GAAM;OAEtC,kBAAiB;CAGlB,MAAM,SAAS,YAAY,gBAAgB,WAAW;AACtD,KAAI,OAAQ,QAAO;CACnB,MAAM,aAAa,aAAa,EAAE,aAAa,EAAE,QAAQ;AACzD,KAAI,WAAY,QAAO;AACvB,KAAI,CAAC,eAAe,QAAQ,QAAQ,IAAI,mBAAmB,KAAK,IAC/D,QAAO,SAAS,iBAAiB,2BAA2B,IAAI;AAEjE,QAAO;;;AAeR,eAAsB,yBAAyB,EAC9C,SACA,UACA,MACA,SACA,MACA,aACA,wBACA,kBAC8C;CAC9C,MAAM,SAAS,QAAQ,OAAO,aAAa;CAC3C,MAAM,YAAY,QAAQ,mBAAmB,UAAU,KAAK;AAC5D,KAAI,CAAC,UAAW,QAAO,SAAS,aAAa,0BAA0B,IAAI;AAE3E,KAAI,CAAC,UAAU,QAAQ;EACtB,MAAM,SAAS,mCAAmC,WAAW,SAAS,MAAM,YAAY;AACxF,MAAI,OAAQ,QAAO;;AAEpB,KAAI,UAAU,WAAW,CAAC,UAAU,QAAQ,MAAM,YAAY,YAAY,OAAO,EAAE;EAClF,MAAM,WAAW,SAAS,sBAAsB,sBAAsB,IAAI;AAC1E,WAAS,QAAQ,IAAI,SAAS,UAAU,QAAQ,KAAK,KAAK,CAAC;AAC3D,SAAO;;CAGR,MAAM,SAAS,UAAU,SAAS,SAAa,QAAQ;CACvD,MAAM,SAAS,MAAM,QAAQ,qBAC5B,UACA,QACA,MACA,SACA,QACA,wBACA,eACA;AACD,KAAI,CAAC,OAAO,SAAS;EACpB,MAAM,OAAO,OAAO,OAAO,QAAQ;EACnC,MAAM,UACL,SAAS,mBACN,uBACC,OAAO,OAAO,WAAW;EAC9B,MAAM,SAAU,OAA+B,WAAW,SAAS,cAAc,MAAM;EACvF,MAAM,UACL,SAAS,oBAAoB,OAAO,SAAS,aAAa,OAAO,QAC9D,OAAO,MAAM,UACb;AACJ,SAAO,SAAS,MAAM,SAAS,QAAQ,SAAS,QAAQ,GAAG,UAAU,OAAU;;CAGhF,IAAI;AACJ,KAAI,UAAU,aAAa,MAC1B,KAAI;AACH,aAAW,4BACV,MAAM,0BACL,OAAO,MACP,UAAU,SAAS,EAAE,kBAAkB,QAAQ,KAAK,GAAG,EAAE,uBAAuB,MAAM,CACtF,EACD,OACA;UACO,OAAO;AACf,UAAQ,MAAM,WAAW,SAAS,gCAAgC,MAAM;AACxE,SAAO,SAAS,2BAA2B,uCAAuC,IAAI;;KAGvF,YAAW,WAAW,OAAO,KAAK;AAEnC,KACC,SAAS,MACT,UAAU,UACV,UAAU,iBACT,WAAW,SAAS,WAAW,QAEhC,UAAS,QAAQ,IAAI,iBAAiB,UAAU,aAAa;KAE7D,UAAS,QAAQ,IAAI,iBAAiB,oBAAoB;AAE3D,QAAO;;AAgBR,MAAM,qCAAqC,MAAM;;AAGjD,eAAsB,wCAAwC,EAC7D,SACA,UACA,MACA,aACA,YACA,SACA,SACA,MACA,aACA,0BAC6D;CAC7D,MAAM,aAAa,QAAQ,yBAAyB,UAAU,MAAM,aAAa,WAAW;AAC5F,KAAI,CAAC,WAAY,QAAO,SAAS,aAAa,qCAAqC,IAAI;CAEvF,MAAM,YAAY,QAAQ,mBAAmB,UAAU,WAAW,UAAU,MAAM;AAClF,KAAI,CAAC,aAAa,UAAU,OAC3B,QAAO,SACN,mCACA,0DACA,IACA;CAEF,MAAM,SAAS,mCAAmC,WAAW,SAAS,MAAM,YAAY;AACxF,KAAI,OAAQ,QAAO;CAEnB,MAAM,kBAAkB,IAAI,IAAI,QAAQ,IAAI,CAAC,aAAa,IAAI,SAAS,IAAI;CAC3E,MAAM,gBAAgB,MAAM,QAAQ,iBAAiB,YAAY,SAAS,gBAAgB;AAC1F,KAAI,CAAC,cAAc,QAClB,QAAO,cAAc,OAAO,SAAS,cAClC,SAAS,aAAa,0BAA0B,IAAI,GACpD,SAAS,qBAAqB,+BAA+B,IAAI;CAErE,MAAM,cAAc,cAAc;CAClC,MAAM,OACL,OAAO,gBAAgB,YAAY,gBAAgB,QAAQ,UAAU,cAClE,YAAY,OACZ;AACJ,KAAI,OAAO,SAAS,YAAY,SAAS,KACxC,QAAO,SAAS,qBAAqB,+BAA+B,IAAI;CAEzE,MAAM,WAAW,cAAc,QAAQ,OAAO,KAAK,aAAa,WAAW,KAAK,WAAW;CAC3F,IAAI,gBACH,QAAQ,OAAO,OAAO;AACvB,KAAI,MAAM;EACT,MAAM,YAAYA,cAAY,KAAK,KAAK;AACxC,MAAI,cAAc,KACjB,QAAO,SAAS,gBAAgB,0CAA0C,IAAI;AAE/E,kBAAgB;GAAE,IAAI,KAAK;GAAI,MAAM;GAAW;;CAEjD,MAAM,kBAAkB,iBACvB,eACA,UACA,oBACA,mBACA;AACD,KAAI,gBAAiB,QAAO;CAE5B,MAAM,cAAc,QAAQ,QAAQ,OAAO,KAAK,OAAO,WAAW,KAAK,KAAK;CAC5E,MAAM,kBAAkB,YAAY,QAAQ,OAAO,KAAK,WAAW,WAAW,KAAK,SAAS;CAC5F,MAAM,UAAU,aAAa,QAAQ,OAAO,KAAK,YAAY,WAAW,KAAK,UAAU;CACvF,MAAM,eACL,OAAO,gBAAgB,YACvB,gBAAgB,QAChB,UAAU,eACV,OAAO,YAAY,SAAS,WACzB,YAAY,OACZ;AACJ,KAAI,CAAC,eAAe,YAAY,KAC/B,QAAO,SAAS,qBAAqB,qCAAqC,IAAI;CAG/E,IAAI;CACJ,IAAI;AACJ,KAAI;AACH,eAAa,MAAM,8BAA8B,SAAS;GACzD,MAAM;GACN,UAAU;GACV,CAAC;UACM,OAAO;AACf,MAAI,iBAAiB,wBACpB,QAAO,SACN,MAAM,WAAW,MAAM,2BAA2B,mBAClD,MAAM,WAAW,MACd,8CACA,8BACH,MAAM,OACN;AAEF,SAAO,SAAS,mBAAmB,wCAAwC,IAAI;;AAEhF,KAAI,SAAS,SAAS;AACrB,MAAI,CAAC,SAAS,WAAW,CACxB,QAAO,SAAS,mBAAmB,8CAA8C,IAAI;AAEtF,UAAQ;AAER,MAAI,CADe,sCAAsC,MAAM,CAC/C,MACf,QAAO,SAAS,6BAA6B,oCAAoC,IAAI;QAEhF;AACN,MAAI,CAAC,SAAS,WAAW,CACxB,QAAO,SAAS,mBAAmB,qCAAqC,IAAI;AAE7E,UAAQ;GACP,MAAM;GACN,GAAI,OAAO,OAAO,YAAY,QAAQ,GAAG,EAAE,OAAO,WAAW,OAAO,GAAG,EAAE;GACzE;;CAGF,IAAI,iBAAqD;AACzD,KAAI,MAAM,UAAU,QAAW;AAC9B,MAAI,CAAC,aACJ,QAAO,SAAS,wBAAwB,+CAA+C,IAAI;EAE5F,MAAM,mBAAmB,MAAM,QAAQ,2BAA2B,WAAW;AAC7E,MAAI,CAAC,iBAAkB,QAAO,SAAS,aAAa,wBAAwB,IAAI;EAChF,MAAM,QAAQ,2BAA2B;GACxC,SAAS,MAAM;GACf,YAAY;GACZ,OAAO;IAAE,IAAI;IAAa,QAAQ;IAAiB,UAAU;IAAc;GAC3E,cAAc,WAAW,UAAU,OAAO;GAC1C,eAAe,WAAW,UAAU,OAAO;GAC3C,SAAS,WAAW,aAAa,SAAS,0BAA0B;GACpE,UAAU,WAAW,aAAa,SAAS,2BAA2B;GACtE,CAAC;AACF,MAAI,UAAU,OAAO;AACpB,WAAQ,KACP,WAAW,SAAS,iBAAiB,KAAK,GAAG,YAAY,aAAa,MAAM,OAC5E;AACD,UAAO,yBAAyB,MAAM;;AAEvC,mBAAiB;AACjB,UAAQ;GAAE,GAAG;GAAO,OAAO,MAAM;GAAU;;CAG5C,MAAM,UAAU,IAAI,QAAQ,QAAQ,QAAQ;AAC5C,SAAQ,OAAO,iBAAiB;AAChC,SAAQ,OAAO,mBAAmB;AAClC,SAAQ,IAAI,gBAAgB,mBAAmB;CAC/C,MAAM,gBAAgB,IAAI,QAAQ,QAAQ,KAAK;EAC9C,QAAQ;EACR;EACA,MAAM,KAAK,UAAU,MAAM;EAC3B,CAAC;CACF,MAAM,SAAS,cAAc,QAAQ;CACrC,MAAM,WAAW,MAAM,yBAAyB;EAC/C;EACA;EACA,MAAM,WAAW,UAAU;EAC3B,SAAS;EACT;EACA;EACA;EACA,gBAAgB;GACf;GACA,QAAQ,WAAW;GACnB,IAAI;IACH,SAAS,SAAS,UAAU,yBAAyB;IACrD;IACA,WAAW,aAAa,OAAO;IAC/B,eAAe,mBAAmB;IAClC;IACA,OAAO;KACN;KACA,IAAI;KACJ,QAAQ;KACR;KACA;IACD;GACD;EACD,CAAC;AACF,KAAI,CAAC,SAAS,GAAI,QAAO;CACzB,MAAM,WAAoB,MAAM,SAAS,OAAO,CAAC,MAAM;AACvD,KAAI,CAAC,SAAS,SAAS,IAAI,CAAC,SAAS,SAAS,KAAK,CAClD,QAAO,SAAS,2BAA2B,uCAAuC,IAAI;CAEvF,MAAM,OAAO,SAAS;AACtB,KAAI,KAAK,UAAU,UAAa,CAAC,eAAgB,QAAO;AACxD,KAAI,KAAK,UAAU,UAAa,CAAC,eAChC,QAAO,SACN,wBACA,oEACA,IACA;AAEF,KAAI,KAAK,UAAU,QAAW;EAC7B,MAAM,mBAAmB,MAAM,QAAQ,2BAA2B,WAAW;AAC7E,MAAI,CAAC,iBAAkB,QAAO,SAAS,aAAa,wBAAwB,IAAI;EAChF,MAAM,QAAQ,yBAAyB;GACtC,OAAO,KAAK;GACZ,YAAY;GACZ,eAAe,gBAAgB,+BAAe,IAAI,KAAK;GACvD,CAAC;AACF,MAAI,UAAU,OAAO;AACpB,WAAQ,KACP,WAAW,SAAS,iBAAiB,KAAK,GAAG,YAAY,aAAa,MAAM,OAC5E;AACD,UAAO,yBAAyB,MAAM;;AAEvC,OAAK,QAAQ;;CAEd,MAAM,gBAAgB,WAAW;EAAE,GAAG;EAAM,kBAAkB,gBAAgB;EAAS,CAAC;AACxF,eAAc,QAAQ,IAAI,iBAAiB,oBAAoB;AAC/D,QAAO"}
@@ -0,0 +1,35 @@
1
+ import { t as MIGRATION_NAMES } from "./runner-CLorw5vo.mjs";
2
+ import { n as VERSION } from "./version-Dcvx_C9g.mjs";
3
+
4
+ //#region src/migrations/identity.ts
5
+ function encodeFingerprintInput(emdashVersion, names) {
6
+ const encoded = new TextEncoder().encode(JSON.stringify({
7
+ emdashVersion,
8
+ names
9
+ }));
10
+ const buffer = new ArrayBuffer(encoded.byteLength);
11
+ new Uint8Array(buffer).set(encoded);
12
+ return buffer;
13
+ }
14
+ function encodeHex(bytes) {
15
+ return Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0")).join("");
16
+ }
17
+ async function fingerprintMigrationSet(emdashVersion, names) {
18
+ const digest = await crypto.subtle.digest("SHA-256", encodeFingerprintInput(emdashVersion, names));
19
+ return encodeHex(new Uint8Array(digest));
20
+ }
21
+ async function createCoreMigrationIdentity(emdashVersion, names) {
22
+ const nameSnapshot = Object.freeze([...names]);
23
+ return Object.freeze({
24
+ emdashVersion,
25
+ names: nameSnapshot,
26
+ fingerprint: await fingerprintMigrationSet(emdashVersion, nameSnapshot)
27
+ });
28
+ }
29
+ function getCoreMigrationIdentity() {
30
+ return createCoreMigrationIdentity(VERSION, MIGRATION_NAMES);
31
+ }
32
+
33
+ //#endregion
34
+ export { fingerprintMigrationSet as n, getCoreMigrationIdentity as r, createCoreMigrationIdentity as t };
35
+ //# sourceMappingURL=identity-BivQ8wkV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-BivQ8wkV.mjs","names":[],"sources":["../src/migrations/identity.ts"],"sourcesContent":["import { MIGRATION_NAMES } from \"../database/migrations/runner.js\";\nimport { VERSION } from \"../version.js\";\n\nexport interface CoreMigrationIdentity {\n\temdashVersion: string;\n\tnames: readonly string[];\n\tfingerprint: string;\n}\n\nfunction encodeFingerprintInput(emdashVersion: string, names: readonly string[]): ArrayBuffer {\n\tconst encoded = new TextEncoder().encode(JSON.stringify({ emdashVersion, names }));\n\tconst buffer = new ArrayBuffer(encoded.byteLength);\n\tnew Uint8Array(buffer).set(encoded);\n\treturn buffer;\n}\n\nfunction encodeHex(bytes: Uint8Array): string {\n\treturn Array.from(bytes, (byte) => byte.toString(16).padStart(2, \"0\")).join(\"\");\n}\n\nexport async function fingerprintMigrationSet(\n\temdashVersion: string,\n\tnames: readonly string[],\n): Promise<string> {\n\tconst digest = await crypto.subtle.digest(\n\t\t\"SHA-256\",\n\t\tencodeFingerprintInput(emdashVersion, names),\n\t);\n\treturn encodeHex(new Uint8Array(digest));\n}\n\nexport async function createCoreMigrationIdentity(\n\temdashVersion: string,\n\tnames: readonly string[],\n): Promise<CoreMigrationIdentity> {\n\tconst nameSnapshot = Object.freeze([...names]);\n\treturn Object.freeze({\n\t\temdashVersion,\n\t\tnames: nameSnapshot,\n\t\tfingerprint: await fingerprintMigrationSet(emdashVersion, nameSnapshot),\n\t});\n}\n\nexport function getCoreMigrationIdentity(): Promise<CoreMigrationIdentity> {\n\treturn createCoreMigrationIdentity(VERSION, MIGRATION_NAMES);\n}\n"],"mappings":";;;;AASA,SAAS,uBAAuB,eAAuB,OAAuC;CAC7F,MAAM,UAAU,IAAI,aAAa,CAAC,OAAO,KAAK,UAAU;EAAE;EAAe;EAAO,CAAC,CAAC;CAClF,MAAM,SAAS,IAAI,YAAY,QAAQ,WAAW;AAClD,KAAI,WAAW,OAAO,CAAC,IAAI,QAAQ;AACnC,QAAO;;AAGR,SAAS,UAAU,OAA2B;AAC7C,QAAO,MAAM,KAAK,QAAQ,SAAS,KAAK,SAAS,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,KAAK,GAAG;;AAGhF,eAAsB,wBACrB,eACA,OACkB;CAClB,MAAM,SAAS,MAAM,OAAO,OAAO,OAClC,WACA,uBAAuB,eAAe,MAAM,CAC5C;AACD,QAAO,UAAU,IAAI,WAAW,OAAO,CAAC;;AAGzC,eAAsB,4BACrB,eACA,OACiC;CACjC,MAAM,eAAe,OAAO,OAAO,CAAC,GAAG,MAAM,CAAC;AAC9C,QAAO,OAAO,OAAO;EACpB;EACA,OAAO;EACP,aAAa,MAAM,wBAAwB,eAAe,aAAa;EACvE,CAAC;;AAGH,SAAgB,2BAA2D;AAC1E,QAAO,4BAA4B,SAAS,gBAAgB"}