emdash 0.41.0 → 0.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1483) hide show
  1. package/dist/action-token-DBki7IT4.mjs +26 -0
  2. package/dist/action-token-DBki7IT4.mjs.map +1 -0
  3. package/dist/activation-DDuqAat2.mjs +387 -0
  4. package/dist/activation-DDuqAat2.mjs.map +1 -0
  5. package/dist/adapters-BrZxU6vM.d.mts +171 -0
  6. package/dist/adapters-BrZxU6vM.d.mts.map +1 -0
  7. package/dist/allowed-origins-CFtudhyw.mjs +116 -0
  8. package/dist/allowed-origins-CFtudhyw.mjs.map +1 -0
  9. package/dist/api/route-utils.d.mts +5 -4
  10. package/dist/api/route-utils.d.mts.map +1 -1
  11. package/dist/api/route-utils.mjs +52 -47
  12. package/dist/api/route-utils.mjs.map +1 -1
  13. package/dist/api/schemas/index.d.mts +2 -2
  14. package/dist/api/schemas/index.mjs +11 -10
  15. package/dist/api-CFQn8VLR.mjs +4973 -0
  16. package/dist/api-CFQn8VLR.mjs.map +1 -0
  17. package/dist/api-tokens-P3mAaQgr.mjs +166 -0
  18. package/dist/api-tokens-P3mAaQgr.mjs.map +1 -0
  19. package/dist/apply-C1kq5l7p.mjs +1672 -0
  20. package/dist/apply-C1kq5l7p.mjs.map +1 -0
  21. package/dist/approvals-l9sGqPmL.mjs +460 -0
  22. package/dist/approvals-l9sGqPmL.mjs.map +1 -0
  23. package/dist/artifact-fetch-CWxyELVI.mjs +659 -0
  24. package/dist/artifact-fetch-CWxyELVI.mjs.map +1 -0
  25. package/dist/astro/index.d.mts +14 -14
  26. package/dist/astro/index.d.mts.map +1 -1
  27. package/dist/astro/index.mjs +96 -546
  28. package/dist/astro/index.mjs.map +1 -1
  29. package/dist/astro/middleware/auth.d.mts +12 -12
  30. package/dist/astro/middleware/auth.mjs +10 -10
  31. package/dist/astro/middleware/media-usage-write-fence.mjs +5 -5
  32. package/dist/astro/middleware/redirect.d.mts.map +1 -1
  33. package/dist/astro/middleware/redirect.mjs +19 -9
  34. package/dist/astro/middleware/redirect.mjs.map +1 -1
  35. package/dist/astro/middleware/request-context.d.mts +2 -1
  36. package/dist/astro/middleware/request-context.d.mts.map +1 -1
  37. package/dist/astro/middleware/request-context.mjs +15 -6
  38. package/dist/astro/middleware/request-context.mjs.map +1 -1
  39. package/dist/astro/middleware/setup.mjs +1 -1
  40. package/dist/astro/middleware.d.mts +12 -12
  41. package/dist/astro/middleware.mjs +114 -110
  42. package/dist/astro/middleware.mjs.map +1 -1
  43. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +15 -14
  44. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs.map +1 -1
  45. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +15 -14
  46. package/dist/astro/routes/api/admin/allowed-domains/index.mjs.map +1 -1
  47. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +6 -6
  48. package/dist/astro/routes/api/admin/api-tokens/index.mjs +7 -7
  49. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +7 -7
  50. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +18 -17
  51. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs.map +1 -1
  52. package/dist/astro/routes/api/admin/byline-fields/index.mjs +18 -17
  53. package/dist/astro/routes/api/admin/byline-fields/index.mjs.map +1 -1
  54. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +18 -17
  55. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs.map +1 -1
  56. package/dist/astro/routes/api/admin/bylines/_id_/index.d.mts.map +1 -1
  57. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +36 -27
  58. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs.map +1 -1
  59. package/dist/astro/routes/api/admin/bylines/_id_/translations.d.mts.map +1 -1
  60. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +32 -26
  61. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs.map +1 -1
  62. package/dist/astro/routes/api/admin/bylines/index.d.mts.map +1 -1
  63. package/dist/astro/routes/api/admin/bylines/index.mjs +32 -26
  64. package/dist/astro/routes/api/admin/bylines/index.mjs.map +1 -1
  65. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +20 -19
  66. package/dist/astro/routes/api/admin/comments/_id_/status.mjs.map +1 -1
  67. package/dist/astro/routes/api/admin/comments/_id_.mjs +8 -8
  68. package/dist/astro/routes/api/admin/comments/bulk.mjs +19 -18
  69. package/dist/astro/routes/api/admin/comments/bulk.mjs.map +1 -1
  70. package/dist/astro/routes/api/admin/comments/counts.mjs +8 -8
  71. package/dist/astro/routes/api/admin/comments/index.mjs +19 -18
  72. package/dist/astro/routes/api/admin/comments/index.mjs.map +1 -1
  73. package/dist/astro/routes/api/admin/core-update.d.mts +8 -0
  74. package/dist/astro/routes/api/admin/core-update.d.mts.map +1 -0
  75. package/dist/astro/routes/api/admin/core-update.mjs +28 -0
  76. package/dist/astro/routes/api/admin/core-update.mjs.map +1 -0
  77. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +6 -6
  78. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +5 -5
  79. package/dist/astro/routes/api/admin/media-usage/activation.mjs +21 -20
  80. package/dist/astro/routes/api/admin/media-usage/activation.mjs.map +1 -1
  81. package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs +23 -22
  82. package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs.map +1 -1
  83. package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs +23 -22
  84. package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs.map +1 -1
  85. package/dist/astro/routes/api/admin/media-usage/progress.mjs +26 -25
  86. package/dist/astro/routes/api/admin/media-usage/progress.mjs.map +1 -1
  87. package/dist/astro/routes/api/admin/media-usage/repair.mjs +32 -31
  88. package/dist/astro/routes/api/admin/media-usage/repair.mjs.map +1 -1
  89. package/dist/astro/routes/api/admin/media-usage/work/index.mjs +23 -22
  90. package/dist/astro/routes/api/admin/media-usage/work/index.mjs.map +1 -1
  91. package/dist/astro/routes/api/admin/media-usage/work/retry.mjs +23 -22
  92. package/dist/astro/routes/api/admin/media-usage/work/retry.mjs.map +1 -1
  93. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +6 -6
  94. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +6 -6
  95. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +8 -8
  96. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +8 -8
  97. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +75 -73
  98. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs.map +1 -1
  99. package/dist/astro/routes/api/admin/plugins/_id_/mcp.mjs +7 -7
  100. package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs +74 -72
  101. package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs.map +1 -1
  102. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +75 -73
  103. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs.map +1 -1
  104. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +86 -83
  105. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs.map +1 -1
  106. package/dist/astro/routes/api/admin/plugins/index.mjs +75 -73
  107. package/dist/astro/routes/api/admin/plugins/index.mjs.map +1 -1
  108. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.d.mts.map +1 -1
  109. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +10 -7
  110. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs.map +1 -1
  111. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +74 -72
  112. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs.map +1 -1
  113. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +85 -82
  114. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs.map +1 -1
  115. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +74 -72
  116. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs.map +1 -1
  117. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs +75 -73
  118. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs.map +1 -1
  119. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs +87 -84
  120. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs.map +1 -1
  121. package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs +9 -9
  122. package/dist/astro/routes/api/admin/plugins/registry/install.mjs +77 -75
  123. package/dist/astro/routes/api/admin/plugins/registry/install.mjs.map +1 -1
  124. package/dist/astro/routes/api/admin/plugins/registry/publisher-handle.mjs +7 -7
  125. package/dist/astro/routes/api/admin/plugins/registry/verify.mjs +75 -73
  126. package/dist/astro/routes/api/admin/plugins/registry/verify.mjs.map +1 -1
  127. package/dist/astro/routes/api/admin/plugins/updates.mjs +74 -72
  128. package/dist/astro/routes/api/admin/plugins/updates.mjs.map +1 -1
  129. package/dist/astro/routes/api/admin/scheduled-policy-rejections/_collection_/_id_.mjs +6 -6
  130. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +74 -72
  131. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs.map +1 -1
  132. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.d.mts.map +1 -1
  133. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +10 -7
  134. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs.map +1 -1
  135. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +74 -72
  136. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs.map +1 -1
  137. package/dist/astro/routes/api/admin/transfer/_...path_.mjs +4 -4
  138. package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.mjs +42 -41
  139. package/dist/astro/routes/api/admin/transfer/approvals/_id_/approve.mjs.map +1 -1
  140. package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.mjs +42 -41
  141. package/dist/astro/routes/api/admin/transfer/approvals/_id_/deny.mjs.map +1 -1
  142. package/dist/astro/routes/api/admin/transfer/approvals/index.mjs +44 -43
  143. package/dist/astro/routes/api/admin/transfer/approvals/index.mjs.map +1 -1
  144. package/dist/astro/routes/api/admin/transfer/capabilities.mjs +44 -43
  145. package/dist/astro/routes/api/admin/transfer/capabilities.mjs.map +1 -1
  146. package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.mjs +44 -43
  147. package/dist/astro/routes/api/admin/transfer/exports/_id_/advance.mjs.map +1 -1
  148. package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.mjs +45 -44
  149. package/dist/astro/routes/api/admin/transfer/exports/_id_/archive.mjs.map +1 -1
  150. package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.mjs +45 -44
  151. package/dist/astro/routes/api/admin/transfer/exports/_id_/files/_...path_.mjs.map +1 -1
  152. package/dist/astro/routes/api/admin/transfer/exports/_id_/index.mjs +44 -43
  153. package/dist/astro/routes/api/admin/transfer/exports/_id_/index.mjs.map +1 -1
  154. package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.mjs +45 -44
  155. package/dist/astro/routes/api/admin/transfer/exports/_id_/manifest.mjs.map +1 -1
  156. package/dist/astro/routes/api/admin/transfer/exports/index.mjs +46 -45
  157. package/dist/astro/routes/api/admin/transfer/exports/index.mjs.map +1 -1
  158. package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.mjs +44 -43
  159. package/dist/astro/routes/api/admin/transfer/imports/_id_/abandon.mjs.map +1 -1
  160. package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.mjs +44 -43
  161. package/dist/astro/routes/api/admin/transfer/imports/_id_/advance.mjs.map +1 -1
  162. package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.mjs +46 -45
  163. package/dist/astro/routes/api/admin/transfer/imports/_id_/analyze.mjs.map +1 -1
  164. package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.mjs +44 -43
  165. package/dist/astro/routes/api/admin/transfer/imports/_id_/cancel.mjs.map +1 -1
  166. package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.mjs +46 -45
  167. package/dist/astro/routes/api/admin/transfer/imports/_id_/execute.mjs.map +1 -1
  168. package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.mjs +44 -43
  169. package/dist/astro/routes/api/admin/transfer/imports/_id_/files/_...path_.mjs.map +1 -1
  170. package/dist/astro/routes/api/admin/transfer/imports/_id_/index.mjs +44 -43
  171. package/dist/astro/routes/api/admin/transfer/imports/_id_/index.mjs.map +1 -1
  172. package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.mjs +46 -45
  173. package/dist/astro/routes/api/admin/transfer/imports/_id_/missing.mjs.map +1 -1
  174. package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.mjs +44 -43
  175. package/dist/astro/routes/api/admin/transfer/imports/_id_/plan.mjs.map +1 -1
  176. package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.mjs +44 -43
  177. package/dist/astro/routes/api/admin/transfer/imports/_id_/receipt.mjs.map +1 -1
  178. package/dist/astro/routes/api/admin/transfer/imports/index.mjs +46 -45
  179. package/dist/astro/routes/api/admin/transfer/imports/index.mjs.map +1 -1
  180. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +5 -5
  181. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +4 -4
  182. package/dist/astro/routes/api/admin/users/_id_/index.mjs +16 -15
  183. package/dist/astro/routes/api/admin/users/_id_/index.mjs.map +1 -1
  184. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +6 -6
  185. package/dist/astro/routes/api/admin/users/index.mjs +15 -14
  186. package/dist/astro/routes/api/admin/users/index.mjs.map +1 -1
  187. package/dist/astro/routes/api/auth/dev-bypass.mjs +6 -6
  188. package/dist/astro/routes/api/auth/invite/accept.mjs +4 -4
  189. package/dist/astro/routes/api/auth/invite/complete.d.mts.map +1 -1
  190. package/dist/astro/routes/api/auth/invite/complete.mjs +23 -19
  191. package/dist/astro/routes/api/auth/invite/complete.mjs.map +1 -1
  192. package/dist/astro/routes/api/auth/invite/index.mjs +17 -16
  193. package/dist/astro/routes/api/auth/invite/index.mjs.map +1 -1
  194. package/dist/astro/routes/api/auth/invite/register-options.mjs +18 -17
  195. package/dist/astro/routes/api/auth/invite/register-options.mjs.map +1 -1
  196. package/dist/astro/routes/api/auth/logout.mjs +5 -5
  197. package/dist/astro/routes/api/auth/magic-link/send.mjs +19 -18
  198. package/dist/astro/routes/api/auth/magic-link/send.mjs.map +1 -1
  199. package/dist/astro/routes/api/auth/magic-link/verify.d.mts.map +1 -1
  200. package/dist/astro/routes/api/auth/magic-link/verify.mjs +19 -15
  201. package/dist/astro/routes/api/auth/magic-link/verify.mjs.map +1 -1
  202. package/dist/astro/routes/api/auth/me.mjs +16 -15
  203. package/dist/astro/routes/api/auth/me.mjs.map +1 -1
  204. package/dist/astro/routes/api/auth/mode.mjs +5 -5
  205. package/dist/astro/routes/api/auth/oauth/_provider_/callback.d.mts.map +1 -1
  206. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +13 -4
  207. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs.map +1 -1
  208. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
  209. package/dist/astro/routes/api/auth/passkey/_id_.mjs +15 -14
  210. package/dist/astro/routes/api/auth/passkey/_id_.mjs.map +1 -1
  211. package/dist/astro/routes/api/auth/passkey/index.mjs +4 -4
  212. package/dist/astro/routes/api/auth/passkey/options.mjs +20 -19
  213. package/dist/astro/routes/api/auth/passkey/options.mjs.map +1 -1
  214. package/dist/astro/routes/api/auth/passkey/register/options.mjs +18 -17
  215. package/dist/astro/routes/api/auth/passkey/register/options.mjs.map +1 -1
  216. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +19 -18
  217. package/dist/astro/routes/api/auth/passkey/register/verify.mjs.map +1 -1
  218. package/dist/astro/routes/api/auth/passkey/verify.d.mts.map +1 -1
  219. package/dist/astro/routes/api/auth/passkey/verify.mjs +23 -19
  220. package/dist/astro/routes/api/auth/passkey/verify.mjs.map +1 -1
  221. package/dist/astro/routes/api/auth/signup/complete.d.mts.map +1 -1
  222. package/dist/astro/routes/api/auth/signup/complete.mjs +23 -19
  223. package/dist/astro/routes/api/auth/signup/complete.mjs.map +1 -1
  224. package/dist/astro/routes/api/auth/signup/request.mjs +18 -17
  225. package/dist/astro/routes/api/auth/signup/request.mjs.map +1 -1
  226. package/dist/astro/routes/api/auth/signup/verify.mjs +4 -4
  227. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +13 -13
  228. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +20 -19
  229. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs.map +1 -1
  230. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +5 -5
  231. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +18 -17
  232. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs.map +1 -1
  233. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +5 -5
  234. package/dist/astro/routes/api/content/_collection_/_id_/lock.mjs +18 -17
  235. package/dist/astro/routes/api/content/_collection_/_id_/lock.mjs.map +1 -1
  236. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +5 -5
  237. package/dist/astro/routes/api/content/_collection_/_id_/plugin-extensions/_pluginId_/_kind_/_extensionId_.mjs +12 -11
  238. package/dist/astro/routes/api/content/_collection_/_id_/plugin-extensions/_pluginId_/_kind_/_extensionId_.mjs.map +1 -1
  239. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +33 -32
  240. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs.map +1 -1
  241. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +18 -17
  242. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs.map +1 -1
  243. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs +36 -35
  244. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs.map +1 -1
  245. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs +36 -35
  246. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs.map +1 -1
  247. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +5 -5
  248. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +5 -5
  249. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +18 -17
  250. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs.map +1 -1
  251. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +27 -26
  252. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs.map +1 -1
  253. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +5 -5
  254. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +18 -17
  255. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs.map +1 -1
  256. package/dist/astro/routes/api/content/_collection_/_id_.mjs +18 -17
  257. package/dist/astro/routes/api/content/_collection_/_id_.mjs.map +1 -1
  258. package/dist/astro/routes/api/content/_collection_/authors.mjs +5 -5
  259. package/dist/astro/routes/api/content/_collection_/index.mjs +16 -15
  260. package/dist/astro/routes/api/content/_collection_/index.mjs.map +1 -1
  261. package/dist/astro/routes/api/content/_collection_/trash.mjs +16 -15
  262. package/dist/astro/routes/api/content/_collection_/trash.mjs.map +1 -1
  263. package/dist/astro/routes/api/dashboard.mjs +13 -11
  264. package/dist/astro/routes/api/dashboard.mjs.map +1 -1
  265. package/dist/astro/routes/api/dev/emails.mjs +5 -5
  266. package/dist/astro/routes/api/health.mjs +6 -6
  267. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  268. package/dist/astro/routes/api/import/probe.mjs +25 -24
  269. package/dist/astro/routes/api/import/probe.mjs.map +1 -1
  270. package/dist/astro/routes/api/import/wordpress/analyze.mjs +6 -6
  271. package/dist/astro/routes/api/import/wordpress/execute.d.mts +14 -14
  272. package/dist/astro/routes/api/import/wordpress/execute.d.mts.map +1 -1
  273. package/dist/astro/routes/api/import/wordpress/execute.mjs +167 -21
  274. package/dist/astro/routes/api/import/wordpress/execute.mjs.map +1 -1
  275. package/dist/astro/routes/api/import/wordpress/media.d.mts +12 -12
  276. package/dist/astro/routes/api/import/wordpress/media.mjs +20 -19
  277. package/dist/astro/routes/api/import/wordpress/media.mjs.map +1 -1
  278. package/dist/astro/routes/api/import/wordpress/prepare.mjs +19 -18
  279. package/dist/astro/routes/api/import/wordpress/prepare.mjs.map +1 -1
  280. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +13 -13
  281. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +29 -28
  282. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs.map +1 -1
  283. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  284. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +25 -24
  285. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs.map +1 -1
  286. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +13 -13
  287. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +36 -35
  288. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs.map +1 -1
  289. package/dist/astro/routes/api/manifest.mjs +6 -6
  290. package/dist/astro/routes/api/mcp.mjs +167 -110
  291. package/dist/astro/routes/api/mcp.mjs.map +1 -1
  292. package/dist/astro/routes/api/media/_id_/confirm.mjs +20 -19
  293. package/dist/astro/routes/api/media/_id_/confirm.mjs.map +1 -1
  294. package/dist/astro/routes/api/media/_id_/replace.mjs +17 -16
  295. package/dist/astro/routes/api/media/_id_/replace.mjs.map +1 -1
  296. package/dist/astro/routes/api/media/_id_/upload.mjs +9 -9
  297. package/dist/astro/routes/api/media/_id_/usage.mjs +34 -33
  298. package/dist/astro/routes/api/media/_id_/usage.mjs.map +1 -1
  299. package/dist/astro/routes/api/media/_id_.mjs +32 -31
  300. package/dist/astro/routes/api/media/_id_.mjs.map +1 -1
  301. package/dist/astro/routes/api/media/asset/_id_/_filename_.mjs +6 -6
  302. package/dist/astro/routes/api/media/file/_...key_.mjs +9 -9
  303. package/dist/astro/routes/api/media/folders/_id_.mjs +17 -16
  304. package/dist/astro/routes/api/media/folders/_id_.mjs.map +1 -1
  305. package/dist/astro/routes/api/media/folders/index.mjs +17 -16
  306. package/dist/astro/routes/api/media/folders/index.mjs.map +1 -1
  307. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +5 -5
  308. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +5 -5
  309. package/dist/astro/routes/api/media/providers/index.mjs +5 -5
  310. package/dist/astro/routes/api/media/upload-url.mjs +19 -18
  311. package/dist/astro/routes/api/media/upload-url.mjs.map +1 -1
  312. package/dist/astro/routes/api/media.mjs +36 -35
  313. package/dist/astro/routes/api/media.mjs.map +1 -1
  314. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +19 -18
  315. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs.map +1 -1
  316. package/dist/astro/routes/api/menus/_name_/items.mjs +19 -18
  317. package/dist/astro/routes/api/menus/_name_/items.mjs.map +1 -1
  318. package/dist/astro/routes/api/menus/_name_/reorder.mjs +19 -18
  319. package/dist/astro/routes/api/menus/_name_/reorder.mjs.map +1 -1
  320. package/dist/astro/routes/api/menus/_name_/translations.mjs +19 -18
  321. package/dist/astro/routes/api/menus/_name_/translations.mjs.map +1 -1
  322. package/dist/astro/routes/api/menus/_name_.mjs +19 -18
  323. package/dist/astro/routes/api/menus/_name_.mjs.map +1 -1
  324. package/dist/astro/routes/api/menus/index.mjs +19 -18
  325. package/dist/astro/routes/api/menus/index.mjs.map +1 -1
  326. package/dist/astro/routes/api/oauth/authorize.mjs +6 -6
  327. package/dist/astro/routes/api/oauth/device/authorize.mjs +8 -8
  328. package/dist/astro/routes/api/oauth/device/code.mjs +11 -11
  329. package/dist/astro/routes/api/oauth/device/token.mjs +10 -10
  330. package/dist/astro/routes/api/oauth/register.d.mts.map +1 -1
  331. package/dist/astro/routes/api/oauth/register.mjs +15 -7
  332. package/dist/astro/routes/api/oauth/register.mjs.map +1 -1
  333. package/dist/astro/routes/api/oauth/token/refresh.mjs +8 -8
  334. package/dist/astro/routes/api/oauth/token/revoke.mjs +8 -8
  335. package/dist/astro/routes/api/oauth/token.mjs +8 -8
  336. package/dist/astro/routes/api/openapi.json.mjs +21 -20
  337. package/dist/astro/routes/api/openapi.json.mjs.map +1 -1
  338. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +12 -11
  339. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs.map +1 -1
  340. package/dist/astro/routes/api/redirects/404s/index.mjs +20 -19
  341. package/dist/astro/routes/api/redirects/404s/index.mjs.map +1 -1
  342. package/dist/astro/routes/api/redirects/404s/summary.mjs +20 -19
  343. package/dist/astro/routes/api/redirects/404s/summary.mjs.map +1 -1
  344. package/dist/astro/routes/api/redirects/_id_.mjs +20 -19
  345. package/dist/astro/routes/api/redirects/_id_.mjs.map +1 -1
  346. package/dist/astro/routes/api/redirects/index.mjs +20 -19
  347. package/dist/astro/routes/api/redirects/index.mjs.map +1 -1
  348. package/dist/astro/routes/api/relations/_id_/index.mjs +36 -35
  349. package/dist/astro/routes/api/relations/_id_/index.mjs.map +1 -1
  350. package/dist/astro/routes/api/relations/index.mjs +36 -35
  351. package/dist/astro/routes/api/relations/index.mjs.map +1 -1
  352. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +5 -5
  353. package/dist/astro/routes/api/revisions/_revisionId_/restore.d.mts.map +1 -1
  354. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +26 -6
  355. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs.map +1 -1
  356. package/dist/astro/routes/api/schema/block-types/_slug_/index.mjs +74 -72
  357. package/dist/astro/routes/api/schema/block-types/_slug_/index.mjs.map +1 -1
  358. package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.mjs +74 -72
  359. package/dist/astro/routes/api/schema/block-types/_slug_/versions/_version_/activate.mjs.map +1 -1
  360. package/dist/astro/routes/api/schema/block-types/index.mjs +74 -72
  361. package/dist/astro/routes/api/schema/block-types/index.mjs.map +1 -1
  362. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +74 -72
  363. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs.map +1 -1
  364. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +74 -72
  365. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs.map +1 -1
  366. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +74 -72
  367. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs.map +1 -1
  368. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +74 -72
  369. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs.map +1 -1
  370. package/dist/astro/routes/api/schema/collections/index.mjs +74 -72
  371. package/dist/astro/routes/api/schema/collections/index.mjs.map +1 -1
  372. package/dist/astro/routes/api/schema/collections/reorder.mjs +74 -72
  373. package/dist/astro/routes/api/schema/collections/reorder.mjs.map +1 -1
  374. package/dist/astro/routes/api/schema/index.mjs +17 -16
  375. package/dist/astro/routes/api/schema/index.mjs.map +1 -1
  376. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +74 -72
  377. package/dist/astro/routes/api/schema/orphans/_slug_.mjs.map +1 -1
  378. package/dist/astro/routes/api/schema/orphans/index.mjs +74 -72
  379. package/dist/astro/routes/api/schema/orphans/index.mjs.map +1 -1
  380. package/dist/astro/routes/api/search/enable.mjs +20 -19
  381. package/dist/astro/routes/api/search/enable.mjs.map +1 -1
  382. package/dist/astro/routes/api/search/index.mjs +19 -18
  383. package/dist/astro/routes/api/search/index.mjs.map +1 -1
  384. package/dist/astro/routes/api/search/rebuild.mjs +20 -19
  385. package/dist/astro/routes/api/search/rebuild.mjs.map +1 -1
  386. package/dist/astro/routes/api/search/stats.mjs +9 -9
  387. package/dist/astro/routes/api/search/suggest.mjs +19 -18
  388. package/dist/astro/routes/api/search/suggest.mjs.map +1 -1
  389. package/dist/astro/routes/api/sections/_slug_.mjs +19 -18
  390. package/dist/astro/routes/api/sections/_slug_.mjs.map +1 -1
  391. package/dist/astro/routes/api/sections/index.mjs +19 -18
  392. package/dist/astro/routes/api/sections/index.mjs.map +1 -1
  393. package/dist/astro/routes/api/settings/backups/archives/_name_.mjs +7 -7
  394. package/dist/astro/routes/api/settings/backups/archives/index.mjs +7 -7
  395. package/dist/astro/routes/api/settings/backups/export.mjs +7 -7
  396. package/dist/astro/routes/api/settings/backups/index.mjs +8 -8
  397. package/dist/astro/routes/api/settings/email.mjs +6 -6
  398. package/dist/astro/routes/api/settings.mjs +23 -22
  399. package/dist/astro/routes/api/settings.mjs.map +1 -1
  400. package/dist/astro/routes/api/setup/admin-verify.d.mts.map +1 -1
  401. package/dist/astro/routes/api/setup/admin-verify.mjs +26 -24
  402. package/dist/astro/routes/api/setup/admin-verify.mjs.map +1 -1
  403. package/dist/astro/routes/api/setup/admin.mjs +19 -18
  404. package/dist/astro/routes/api/setup/admin.mjs.map +1 -1
  405. package/dist/astro/routes/api/setup/dev-bypass.mjs +47 -46
  406. package/dist/astro/routes/api/setup/dev-bypass.mjs.map +1 -1
  407. package/dist/astro/routes/api/setup/dev-reset.mjs +4 -4
  408. package/dist/astro/routes/api/setup/index.mjs +52 -51
  409. package/dist/astro/routes/api/setup/index.mjs.map +1 -1
  410. package/dist/astro/routes/api/setup/status.mjs +6 -6
  411. package/dist/astro/routes/api/snapshot.mjs +8 -8
  412. package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs +25 -24
  413. package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs.map +1 -1
  414. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +25 -24
  415. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs.map +1 -1
  416. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +25 -24
  417. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs.map +1 -1
  418. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +25 -24
  419. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs.map +1 -1
  420. package/dist/astro/routes/api/taxonomies/_name_/translations.mjs +24 -23
  421. package/dist/astro/routes/api/taxonomies/_name_/translations.mjs.map +1 -1
  422. package/dist/astro/routes/api/taxonomies/_name_.mjs +25 -24
  423. package/dist/astro/routes/api/taxonomies/_name_.mjs.map +1 -1
  424. package/dist/astro/routes/api/taxonomies/bulk-tag.mjs +42 -41
  425. package/dist/astro/routes/api/taxonomies/bulk-tag.mjs.map +1 -1
  426. package/dist/astro/routes/api/taxonomies/index.mjs +25 -24
  427. package/dist/astro/routes/api/taxonomies/index.mjs.map +1 -1
  428. package/dist/astro/routes/api/themes/preview.mjs +6 -6
  429. package/dist/astro/routes/api/typegen.d.mts.map +1 -1
  430. package/dist/astro/routes/api/typegen.mjs +8 -39
  431. package/dist/astro/routes/api/typegen.mjs.map +1 -1
  432. package/dist/astro/routes/api/visual-editing/action-token.mjs +6 -6
  433. package/dist/astro/routes/api/visual-editing/content/_collection_/_id_/publish.mjs +20 -19
  434. package/dist/astro/routes/api/visual-editing/content/_collection_/_id_/publish.mjs.map +1 -1
  435. package/dist/astro/routes/api/visual-editing/toolbar-labels.mjs +4 -4
  436. package/dist/astro/routes/api/well-known/auth.mjs +1 -1
  437. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +2 -2
  438. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +2 -2
  439. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +17 -16
  440. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs.map +1 -1
  441. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +20 -19
  442. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs.map +1 -1
  443. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +20 -19
  444. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs.map +1 -1
  445. package/dist/astro/routes/api/widget-areas/_name_.mjs +9 -9
  446. package/dist/astro/routes/api/widget-areas/index.mjs +20 -19
  447. package/dist/astro/routes/api/widget-areas/index.mjs.map +1 -1
  448. package/dist/astro/routes/api/widget-components.mjs +5 -5
  449. package/dist/astro/routes/robots.txt.mjs +7 -7
  450. package/dist/astro/routes/sitemap-_collection_.xml.mjs +10 -10
  451. package/dist/astro/routes/sitemap.xml.mjs +8 -8
  452. package/dist/astro/types.d.mts +23 -17
  453. package/dist/astro/types.d.mts.map +1 -1
  454. package/dist/audit-BszbE_BP.mjs +127 -0
  455. package/dist/audit-BszbE_BP.mjs.map +1 -0
  456. package/dist/auth/providers/github.d.mts +1 -1
  457. package/dist/auth/providers/google.d.mts +1 -1
  458. package/dist/authoritative-records-dSvXCfzb.mjs +5172 -0
  459. package/dist/authoritative-records-dSvXCfzb.mjs.map +1 -0
  460. package/dist/authorize-soZXK7U0.mjs +49 -0
  461. package/dist/authorize-soZXK7U0.mjs.map +1 -0
  462. package/dist/backup-DQ3CABsO.mjs +246 -0
  463. package/dist/backup-DQ3CABsO.mjs.map +1 -0
  464. package/dist/block-types-DIG_KZwi.mjs +132 -0
  465. package/dist/block-types-DIG_KZwi.mjs.map +1 -0
  466. package/dist/block-values-BrTrtA-v.mjs +175 -0
  467. package/dist/block-values-BrTrtA-v.mjs.map +1 -0
  468. package/dist/byline-02tu_Uc-.mjs +909 -0
  469. package/dist/byline-02tu_Uc-.mjs.map +1 -0
  470. package/dist/byline-fields-B01Txzyx.mjs +123 -0
  471. package/dist/byline-fields-B01Txzyx.mjs.map +1 -0
  472. package/dist/byline-fields-DHJs0Mja.mjs +280 -0
  473. package/dist/byline-fields-DHJs0Mja.mjs.map +1 -0
  474. package/dist/byline-registry-dvt4N3xV.mjs +406 -0
  475. package/dist/byline-registry-dvt4N3xV.mjs.map +1 -0
  476. package/dist/bylines-COTwmMBF.mjs +150 -0
  477. package/dist/bylines-COTwmMBF.mjs.map +1 -0
  478. package/dist/bylines-D_S8UKRX.mjs +214 -0
  479. package/dist/bylines-D_S8UKRX.mjs.map +1 -0
  480. package/dist/cache-CPanL9IO.mjs +114 -0
  481. package/dist/cache-CPanL9IO.mjs.map +1 -0
  482. package/dist/canonical-CAecl1UQ.mjs +174 -0
  483. package/dist/canonical-CAecl1UQ.mjs.map +1 -0
  484. package/dist/capture-triggers-CdZfvHtF.mjs +362 -0
  485. package/dist/capture-triggers-CdZfvHtF.mjs.map +1 -0
  486. package/dist/challenge-store-CxZxPqaw.mjs +51 -0
  487. package/dist/challenge-store-CxZxPqaw.mjs.map +1 -0
  488. package/dist/checksum-DtH6m5uk.mjs +162 -0
  489. package/dist/checksum-DtH6m5uk.mjs.map +1 -0
  490. package/dist/chrome-tags-CKELm-bo.mjs +24 -0
  491. package/dist/chrome-tags-CKELm-bo.mjs.map +1 -0
  492. package/dist/chunks-DBmkKmBH.mjs +25 -0
  493. package/dist/chunks-DBmkKmBH.mjs.map +1 -0
  494. package/dist/cli/index.mjs +58 -911
  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 +39 -34
  498. package/dist/client/index.d.mts.map +1 -1
  499. package/dist/client/index.mjs +8 -3
  500. package/dist/client/index.mjs.map +1 -1
  501. package/dist/collection-deletion-JecE26cS.mjs +436 -0
  502. package/dist/collection-deletion-JecE26cS.mjs.map +1 -0
  503. package/dist/collection-deletion-processor-DgCfF3a1.mjs +217 -0
  504. package/dist/collection-deletion-processor-DgCfF3a1.mjs.map +1 -0
  505. package/dist/collection-slugs-cache-BNRAPNiu.mjs +85 -0
  506. package/dist/collection-slugs-cache-BNRAPNiu.mjs.map +1 -0
  507. package/dist/comment-Cq1UYN8_.mjs +313 -0
  508. package/dist/comment-Cq1UYN8_.mjs.map +1 -0
  509. package/dist/comment-reaction-DPeGAfjd.mjs +85 -0
  510. package/dist/comment-reaction-DPeGAfjd.mjs.map +1 -0
  511. package/dist/comments-BRtp992B.mjs +99 -0
  512. package/dist/comments-BRtp992B.mjs.map +1 -0
  513. package/dist/comments-Bi2j9IoX.mjs +195 -0
  514. package/dist/comments-Bi2j9IoX.mjs.map +1 -0
  515. package/dist/components-CQY-Sgm-.mjs +108 -0
  516. package/dist/components-CQY-Sgm-.mjs.map +1 -0
  517. package/dist/config-BnuORwSP.mjs +242 -0
  518. package/dist/config-BnuORwSP.mjs.map +1 -0
  519. package/dist/config-CDmPF4p7.d.mts +39 -0
  520. package/dist/config-CDmPF4p7.d.mts.map +1 -0
  521. package/dist/config-DHsDMpXc.d.mts +6707 -0
  522. package/dist/config-DHsDMpXc.d.mts.map +1 -0
  523. package/dist/connection-B9pIasFd.mjs +36 -0
  524. package/dist/connection-B9pIasFd.mjs.map +1 -0
  525. package/dist/content-RzEXY3QX.mjs +2020 -0
  526. package/dist/content-RzEXY3QX.mjs.map +1 -0
  527. package/dist/content-list-query-CnXfe1Nu.d.mts +26 -0
  528. package/dist/content-list-query-CnXfe1Nu.d.mts.map +1 -0
  529. package/dist/content-policy-Dm32n9C6.mjs +46 -0
  530. package/dist/content-policy-Dm32n9C6.mjs.map +1 -0
  531. package/dist/content-repair-B-k5JrVN.mjs +442 -0
  532. package/dist/content-repair-B-k5JrVN.mjs.map +1 -0
  533. package/dist/context-CtRvoSAj.mjs +2026 -0
  534. package/dist/context-CtRvoSAj.mjs.map +1 -0
  535. package/dist/credits-CAFPFhuk.mjs +110 -0
  536. package/dist/credits-CAFPFhuk.mjs.map +1 -0
  537. package/dist/cron-xe5XKqA-.mjs +306 -0
  538. package/dist/cron-xe5XKqA-.mjs.map +1 -0
  539. package/dist/dashboard-BoV4pwPP.mjs +151 -0
  540. package/dist/dashboard-BoV4pwPP.mjs.map +1 -0
  541. package/dist/db/index.d.mts +3 -3
  542. package/dist/db/index.mjs +1 -1
  543. package/dist/db/libsql-migrations.d.mts +1 -1
  544. package/dist/db/libsql-migrations.mjs +4 -4
  545. package/dist/db/libsql.d.mts +1 -1
  546. package/dist/db/postgres-migrations.d.mts +1 -1
  547. package/dist/db/postgres-migrations.mjs +4 -4
  548. package/dist/db/postgres.d.mts +1 -1
  549. package/dist/db/sqlite-migrations.d.mts +1 -1
  550. package/dist/db/sqlite-migrations.mjs +4 -4
  551. package/dist/db/sqlite.d.mts +1 -1
  552. package/dist/db/sqlite.mjs +1 -1
  553. package/dist/default-DaoYyFRS.mjs +81 -0
  554. package/dist/default-DaoYyFRS.mjs.map +1 -0
  555. package/dist/deferred-tasks-OBADxoFf.d.mts +9 -0
  556. package/dist/deferred-tasks-OBADxoFf.d.mts.map +1 -0
  557. package/dist/destination-r2zIAZ2S.mjs +18 -0
  558. package/dist/destination-r2zIAZ2S.mjs.map +1 -0
  559. package/dist/dev-typegen-8JlYYFno.mjs +29 -0
  560. package/dist/dev-typegen-8JlYYFno.mjs.map +1 -0
  561. package/dist/device-flow-CzKi6tID.mjs +521 -0
  562. package/dist/device-flow-CzKi6tID.mjs.map +1 -0
  563. package/dist/digest-DiYAoZpf.mjs +194 -0
  564. package/dist/digest-DiYAoZpf.mjs.map +1 -0
  565. package/dist/direct-executor-CsEmH_2m.mjs +104 -0
  566. package/dist/direct-executor-CsEmH_2m.mjs.map +1 -0
  567. package/dist/dist-Cfu8mMBs.mjs +810 -0
  568. package/dist/dist-Cfu8mMBs.mjs.map +1 -0
  569. package/dist/email-console-DmqVF5J_.mjs +50 -0
  570. package/dist/email-console-DmqVF5J_.mjs.map +1 -0
  571. package/dist/email-locale-B5OjmAj_.mjs +25 -0
  572. package/dist/email-locale-B5OjmAj_.mjs.map +1 -0
  573. package/dist/emdash-runtime-CMdYH2Of.mjs +4229 -0
  574. package/dist/emdash-runtime-CMdYH2Of.mjs.map +1 -0
  575. package/dist/enrich-BDdVNeDK.mjs +194 -0
  576. package/dist/enrich-BDdVNeDK.mjs.map +1 -0
  577. package/dist/entry-lock-B-1bUDxX.d.mts +4544 -0
  578. package/dist/entry-lock-B-1bUDxX.d.mts.map +1 -0
  579. package/dist/entry-lock-B5eaZEZP.mjs +163 -0
  580. package/dist/entry-lock-B5eaZEZP.mjs.map +1 -0
  581. package/dist/entry-lock-PP1JCXBB.mjs +1180 -0
  582. package/dist/entry-lock-PP1JCXBB.mjs.map +1 -0
  583. package/dist/entry-locks-DJAqVweV.mjs +167 -0
  584. package/dist/entry-locks-DJAqVweV.mjs.map +1 -0
  585. package/dist/env-types-BaTCgn-y.mjs +38 -0
  586. package/dist/env-types-BaTCgn-y.mjs.map +1 -0
  587. package/dist/error-CEdm_AWU.mjs +90 -0
  588. package/dist/error-CEdm_AWU.mjs.map +1 -0
  589. package/dist/errors-CNvATh_7.mjs +469 -0
  590. package/dist/errors-CNvATh_7.mjs.map +1 -0
  591. package/dist/errors-CjXd1LgH.mjs +120 -0
  592. package/dist/errors-CjXd1LgH.mjs.map +1 -0
  593. package/dist/escape-nJW7dR0s.mjs +9 -0
  594. package/dist/escape-nJW7dR0s.mjs.map +1 -0
  595. package/dist/fence-BrnQffdY.mjs +162 -0
  596. package/dist/fence-BrnQffdY.mjs.map +1 -0
  597. package/dist/field-defs-cache-DEkFYCDE.mjs +77 -0
  598. package/dist/field-defs-cache-DEkFYCDE.mjs.map +1 -0
  599. package/dist/field-map-Cp5hDSRU.mjs +83 -0
  600. package/dist/field-map-Cp5hDSRU.mjs.map +1 -0
  601. package/dist/focal-point-JX8kcOTQ.mjs +23 -0
  602. package/dist/focal-point-JX8kcOTQ.mjs.map +1 -0
  603. package/dist/fts-manager-DU03MxWu.mjs +443 -0
  604. package/dist/fts-manager-DU03MxWu.mjs.map +1 -0
  605. package/dist/gc-Gf9LOF42.mjs +75 -0
  606. package/dist/gc-Gf9LOF42.mjs.map +1 -0
  607. package/dist/hash-CY4QdeMJ.mjs +37 -0
  608. package/dist/hash-CY4QdeMJ.mjs.map +1 -0
  609. package/dist/hook-result-DjdVwWpw.d.mts +31 -0
  610. package/dist/hook-result-DjdVwWpw.d.mts.map +1 -0
  611. package/dist/hreflang-Bq0ahAd4.mjs +105 -0
  612. package/dist/hreflang-Bq0ahAd4.mjs.map +1 -0
  613. package/dist/hreflang-C7ETs0Tv.d.mts +50 -0
  614. package/dist/hreflang-C7ETs0Tv.d.mts.map +1 -0
  615. package/dist/http-route-dispatch-B2G7_OOm.mjs +339 -0
  616. package/dist/http-route-dispatch-B2G7_OOm.mjs.map +1 -0
  617. package/dist/identity-u3KgtUC9.mjs +35 -0
  618. package/dist/identity-u3KgtUC9.mjs.map +1 -0
  619. package/dist/import-CzP9ffo0.mjs +2020 -0
  620. package/dist/import-CzP9ffo0.mjs.map +1 -0
  621. package/dist/index-D1_ykO2u.d.mts +623 -0
  622. package/dist/index-D1_ykO2u.d.mts.map +1 -0
  623. package/dist/index.d.mts +24 -24
  624. package/dist/index.mjs +108 -104
  625. package/dist/install-finalization-TbcQozrV.mjs +58 -0
  626. package/dist/install-finalization-TbcQozrV.mjs.map +1 -0
  627. package/dist/keys-r08WvAng.mjs +61 -0
  628. package/dist/keys-r08WvAng.mjs.map +1 -0
  629. package/dist/kinds-CXY-fwQ6.mjs +974 -0
  630. package/dist/kinds-CXY-fwQ6.mjs.map +1 -0
  631. package/dist/lifecycle-CpebZNAA.mjs +25 -0
  632. package/dist/lifecycle-CpebZNAA.mjs.map +1 -0
  633. package/dist/load-dHcR5yh9.mjs +28 -0
  634. package/dist/load-dHcR5yh9.mjs.map +1 -0
  635. package/dist/loader-B_bcoE1h.mjs +1197 -0
  636. package/dist/loader-B_bcoE1h.mjs.map +1 -0
  637. package/dist/loops-Dn1i16FP.mjs +205 -0
  638. package/dist/loops-Dn1i16FP.mjs.map +1 -0
  639. package/dist/manifest-builder-D7Y8iirE.mjs +189 -0
  640. package/dist/manifest-builder-D7Y8iirE.mjs.map +1 -0
  641. package/dist/manifest-schema-gy37bD_D.mjs +496 -0
  642. package/dist/manifest-schema-gy37bD_D.mjs.map +1 -0
  643. package/dist/marketplace-tHWSsCUo.mjs +257 -0
  644. package/dist/marketplace-tHWSsCUo.mjs.map +1 -0
  645. package/dist/media/image-endpoint.mjs +1 -1
  646. package/dist/media/index.d.mts +1 -1
  647. package/dist/media/index.mjs +4 -4
  648. package/dist/media/local-runtime.d.mts +14 -14
  649. package/dist/media/local-runtime.mjs +7 -7
  650. package/dist/media-3v7mqAVX.mjs +294 -0
  651. package/dist/media-3v7mqAVX.mjs.map +1 -0
  652. package/dist/media-CputjGE1.mjs +373 -0
  653. package/dist/media-CputjGE1.mjs.map +1 -0
  654. package/dist/media-D1z_jisb.mjs +408 -0
  655. package/dist/media-D1z_jisb.mjs.map +1 -0
  656. package/dist/media-allowlist-D5a4d-RA.mjs +44 -0
  657. package/dist/media-allowlist-D5a4d-RA.mjs.map +1 -0
  658. package/dist/media-folders-D2VdVBf6.mjs +210 -0
  659. package/dist/media-folders-D2VdVBf6.mjs.map +1 -0
  660. package/dist/media-url-DloW2xrP.mjs +43 -0
  661. package/dist/media-url-DloW2xrP.mjs.map +1 -0
  662. package/dist/media-usage-B8q0owWQ.mjs +1629 -0
  663. package/dist/media-usage-B8q0owWQ.mjs.map +1 -0
  664. package/dist/media-usage-activation-CQWOOTJi.mjs +78 -0
  665. package/dist/media-usage-activation-CQWOOTJi.mjs.map +1 -0
  666. package/dist/media-usage-work-BC0qpkMD.mjs +152 -0
  667. package/dist/media-usage-work-BC0qpkMD.mjs.map +1 -0
  668. package/dist/media-usage-work-BlMjwPg8.mjs +586 -0
  669. package/dist/media-usage-work-BlMjwPg8.mjs.map +1 -0
  670. package/dist/menus-BQKqf0Up.mjs +92 -0
  671. package/dist/menus-BQKqf0Up.mjs.map +1 -0
  672. package/dist/menus-DiuhXKWf.mjs +3646 -0
  673. package/dist/menus-DiuhXKWf.mjs.map +1 -0
  674. package/dist/menus-trvc6_fW.mjs +753 -0
  675. package/dist/menus-trvc6_fW.mjs.map +1 -0
  676. package/dist/migrations/index.d.mts +1 -1
  677. package/dist/migrations/index.mjs +3 -3
  678. package/dist/mime-IZf-LHIS.mjs +36 -0
  679. package/dist/mime-IZf-LHIS.mjs.map +1 -0
  680. package/dist/mode-nh0ppSX5.mjs +23 -0
  681. package/dist/mode-nh0ppSX5.mjs.map +1 -0
  682. package/dist/node-sqlite-compat-CDOEcc97.mjs +63 -0
  683. package/dist/node-sqlite-compat-CDOEcc97.mjs.map +1 -0
  684. package/dist/normalize-BuWa0lvd.mjs +191 -0
  685. package/dist/normalize-BuWa0lvd.mjs.map +1 -0
  686. package/dist/oauth-authorization-BcRdGojQ.mjs +274 -0
  687. package/dist/oauth-authorization-BcRdGojQ.mjs.map +1 -0
  688. package/dist/oauth-clients-C-8WDTqj.mjs +266 -0
  689. package/dist/oauth-clients-C-8WDTqj.mjs.map +1 -0
  690. package/dist/oauth-state-store-CM5ZEYQS.mjs +50 -0
  691. package/dist/oauth-state-store-CM5ZEYQS.mjs.map +1 -0
  692. package/dist/oauth-user-lookup-DrrqvTZC.mjs +26 -0
  693. package/dist/oauth-user-lookup-DrrqvTZC.mjs.map +1 -0
  694. package/dist/object-cache/memory.d.mts +1 -1
  695. package/dist/object-cache-Bo6DGaC9.mjs +586 -0
  696. package/dist/object-cache-Bo6DGaC9.mjs.map +1 -0
  697. package/dist/options-C2IDQnD2.d.mts +81 -0
  698. package/dist/options-C2IDQnD2.d.mts.map +1 -0
  699. package/dist/ownership-DoeAIuTg.mjs +12 -0
  700. package/dist/ownership-DoeAIuTg.mjs.map +1 -0
  701. package/dist/page/index.d.mts +2 -2
  702. package/dist/page/index.mjs +6 -6
  703. package/dist/parse-D5Sw9wAI.d.mts +172 -0
  704. package/dist/parse-D5Sw9wAI.d.mts.map +1 -0
  705. package/dist/parse-Gt2l4Sld.mjs +81 -0
  706. package/dist/parse-Gt2l4Sld.mjs.map +1 -0
  707. package/dist/passkey-config-CkQsrcU-.mjs +46 -0
  708. package/dist/passkey-config-CkQsrcU-.mjs.map +1 -0
  709. package/dist/paths-DiENGBx5.mjs +77 -0
  710. package/dist/paths-DiENGBx5.mjs.map +1 -0
  711. package/dist/patterns-DyZJ67I7.mjs +140 -0
  712. package/dist/patterns-DyZJ67I7.mjs.map +1 -0
  713. package/dist/placeholder-Cq5wLDCX.d.mts +306 -0
  714. package/dist/placeholder-Cq5wLDCX.d.mts.map +1 -0
  715. package/dist/plan-BxCS1tl5.mjs +135 -0
  716. package/dist/plan-BxCS1tl5.mjs.map +1 -0
  717. package/dist/plugin-test-runtime.d.mts +14 -14
  718. package/dist/plugin-test-runtime.mjs +115 -111
  719. package/dist/plugin-types.d.mts +5 -3
  720. package/dist/plugin-types.d.mts.map +1 -1
  721. package/dist/plugin-types.mjs.map +1 -1
  722. package/dist/plugin-utils.d.mts +12 -12
  723. package/dist/plugins/adapt-sandbox-entry.d.mts +12 -12
  724. package/dist/plugins/adapt-sandbox-entry.d.mts.map +1 -1
  725. package/dist/plugins/adapt-sandbox-entry.mjs +48 -10
  726. package/dist/plugins/adapt-sandbox-entry.mjs.map +1 -1
  727. package/dist/plugins/host.d.mts +6 -6
  728. package/dist/plugins/host.mjs +49 -44
  729. package/dist/plugins-BpLkXA1S.mjs +277 -0
  730. package/dist/plugins-BpLkXA1S.mjs.map +1 -0
  731. package/dist/policy-C1qpNxrr.mjs +45 -0
  732. package/dist/policy-C1qpNxrr.mjs.map +1 -0
  733. package/dist/portable-text-BnRuiR1-.mjs +307 -0
  734. package/dist/portable-text-BnRuiR1-.mjs.map +1 -0
  735. package/dist/preview-DU5rwz_m.mjs +107 -0
  736. package/dist/preview-DU5rwz_m.mjs.map +1 -0
  737. package/dist/protocol-B9GEhEyi.d.mts +61 -0
  738. package/dist/protocol-B9GEhEyi.d.mts.map +1 -0
  739. package/dist/public-submission-yZaTTfsC.mjs +250 -0
  740. package/dist/public-submission-yZaTTfsC.mjs.map +1 -0
  741. package/dist/public-url-B5a0QAh6.mjs +101 -0
  742. package/dist/public-url-B5a0QAh6.mjs.map +1 -0
  743. package/dist/query-6e2CQxUv.mjs +1161 -0
  744. package/dist/query-6e2CQxUv.mjs.map +1 -0
  745. package/dist/query-DC3bv__4.mjs +41 -0
  746. package/dist/query-DC3bv__4.mjs.map +1 -0
  747. package/dist/rate-limit-BXx3Ecp9.mjs +120 -0
  748. package/dist/rate-limit-BXx3Ecp9.mjs.map +1 -0
  749. package/dist/receipt-q1VK9jhj.mjs +43 -0
  750. package/dist/receipt-q1VK9jhj.mjs.map +1 -0
  751. package/dist/redirect-BvFKh8Sz.mjs +416 -0
  752. package/dist/redirect-BvFKh8Sz.mjs.map +1 -0
  753. package/dist/redirect-D1AmADlk.mjs +19 -0
  754. package/dist/redirect-D1AmADlk.mjs.map +1 -0
  755. package/dist/redirects-CWQMKYOS.mjs +446 -0
  756. package/dist/redirects-CWQMKYOS.mjs.map +1 -0
  757. package/dist/redirects-D4EWeXAo.mjs +148 -0
  758. package/dist/redirects-D4EWeXAo.mjs.map +1 -0
  759. package/dist/registry/testing.d.mts +16 -4
  760. package/dist/registry/testing.d.mts.map +1 -1
  761. package/dist/registry/testing.mjs +20 -10
  762. package/dist/registry/testing.mjs.map +1 -1
  763. package/dist/registry-CtHRqVe-.mjs +6771 -0
  764. package/dist/registry-CtHRqVe-.mjs.map +1 -0
  765. package/dist/relations-CVI2nbrn.mjs +776 -0
  766. package/dist/relations-CVI2nbrn.mjs.map +1 -0
  767. package/dist/request-cache-C4CIo5ad.mjs +104 -0
  768. package/dist/request-cache-C4CIo5ad.mjs.map +1 -0
  769. package/dist/request-context.d.mts +9 -1
  770. package/dist/request-context.d.mts.map +1 -1
  771. package/dist/request-context.mjs.map +1 -1
  772. package/dist/request-meta-B6blULFY.mjs +141 -0
  773. package/dist/request-meta-B6blULFY.mjs.map +1 -0
  774. package/dist/resolve-Cx0Pwz0-.mjs +100 -0
  775. package/dist/resolve-Cx0Pwz0-.mjs.map +1 -0
  776. package/dist/resolve-D-kqyKns.mjs +199 -0
  777. package/dist/resolve-D-kqyKns.mjs.map +1 -0
  778. package/dist/revision-CGkQA0e5.mjs +366 -0
  779. package/dist/revision-CGkQA0e5.mjs.map +1 -0
  780. package/dist/route-wire-DK600v4u.mjs +197 -0
  781. package/dist/route-wire-DK600v4u.mjs.map +1 -0
  782. package/dist/routes-DTduBPzX.mjs +272 -0
  783. package/dist/routes-DTduBPzX.mjs.map +1 -0
  784. package/dist/runner-CLpxmhl8.mjs +6197 -0
  785. package/dist/runner-CLpxmhl8.mjs.map +1 -0
  786. package/dist/runner-Ji7qyH2A.d.mts +68 -0
  787. package/dist/runner-Ji7qyH2A.d.mts.map +1 -0
  788. package/dist/runtime.d.mts +13 -13
  789. package/dist/runtime.mjs +3 -3
  790. package/dist/schema/project-env-types.d.mts +12 -0
  791. package/dist/schema/project-env-types.d.mts.map +1 -0
  792. package/dist/schema/project-env-types.mjs +86 -0
  793. package/dist/schema/project-env-types.mjs.map +1 -0
  794. package/dist/schema-BZPj3kwZ.mjs +13 -0
  795. package/dist/schema-BZPj3kwZ.mjs.map +1 -0
  796. package/dist/schema-Berj5VQx.mjs +815 -0
  797. package/dist/schema-Berj5VQx.mjs.map +1 -0
  798. package/dist/scopes-C1HJaIyf.mjs +34 -0
  799. package/dist/scopes-C1HJaIyf.mjs.map +1 -0
  800. package/dist/search-thYf8j9F.mjs +448 -0
  801. package/dist/search-thYf8j9F.mjs.map +1 -0
  802. package/dist/sections-2k1uIgJ0.mjs +346 -0
  803. package/dist/sections-2k1uIgJ0.mjs.map +1 -0
  804. package/dist/seed/index.d.mts +2 -2
  805. package/dist/seed/index.mjs +39 -38
  806. package/dist/seo/index.d.mts +3 -3
  807. package/dist/seo/index.mjs +24 -23
  808. package/dist/seo/index.mjs.map +1 -1
  809. package/dist/seo-C61bnPuV.mjs +114 -0
  810. package/dist/seo-C61bnPuV.mjs.map +1 -0
  811. package/dist/seo-DpYxmGaL.mjs +133 -0
  812. package/dist/seo-DpYxmGaL.mjs.map +1 -0
  813. package/dist/service-BFUImckH.mjs +150 -0
  814. package/dist/service-BFUImckH.mjs.map +1 -0
  815. package/dist/session-user-DVcHsFD5.mjs +61 -0
  816. package/dist/session-user-DVcHsFD5.mjs.map +1 -0
  817. package/dist/settings-B0zQj_Tj.mjs +61 -0
  818. package/dist/settings-B0zQj_Tj.mjs.map +1 -0
  819. package/dist/settings-BJjK_X7x.mjs +51 -0
  820. package/dist/settings-BJjK_X7x.mjs.map +1 -0
  821. package/dist/settings-BbVRRGDp.mjs +439 -0
  822. package/dist/settings-BbVRRGDp.mjs.map +1 -0
  823. package/dist/setup-complete-CuLcTDTU.mjs +65 -0
  824. package/dist/setup-complete-CuLcTDTU.mjs.map +1 -0
  825. package/dist/setup-nonce-CAQoY5PC.mjs +25 -0
  826. package/dist/setup-nonce-CAQoY5PC.mjs.map +1 -0
  827. package/dist/site-settings-AYFvhwQn.mjs +50 -0
  828. package/dist/site-settings-AYFvhwQn.mjs.map +1 -0
  829. package/dist/site-url-Ceq_AUK0.mjs +16 -0
  830. package/dist/site-url-Ceq_AUK0.mjs.map +1 -0
  831. package/dist/snapshot-Dzsn3NZa.mjs +414 -0
  832. package/dist/snapshot-Dzsn3NZa.mjs.map +1 -0
  833. package/dist/ssrf-DsmvZB80.mjs +406 -0
  834. package/dist/ssrf-DsmvZB80.mjs.map +1 -0
  835. package/dist/stage-Cf9PqdUB.mjs +662 -0
  836. package/dist/stage-Cf9PqdUB.mjs.map +1 -0
  837. package/dist/staged-Bw5eHbKS.mjs +686 -0
  838. package/dist/staged-Bw5eHbKS.mjs.map +1 -0
  839. package/dist/state-kGdOMQRY.mjs +153 -0
  840. package/dist/state-kGdOMQRY.mjs.map +1 -0
  841. package/dist/status-D39Fpy8R.mjs +30 -0
  842. package/dist/status-D39Fpy8R.mjs.map +1 -0
  843. package/dist/storage/local.d.mts +1 -1
  844. package/dist/storage/local.mjs +1 -1
  845. package/dist/storage/s3.d.mts +1 -1
  846. package/dist/storage/s3.mjs +1 -1
  847. package/dist/storage-query-C9bK0Dg6.d.mts +1614 -0
  848. package/dist/storage-query-C9bK0Dg6.d.mts.map +1 -0
  849. package/dist/tar-lDI_fzLD.mjs +449 -0
  850. package/dist/tar-lDI_fzLD.mjs.map +1 -0
  851. package/dist/target-DOFs5oUC.mjs +27 -0
  852. package/dist/target-DOFs5oUC.mjs.map +1 -0
  853. package/dist/taxonomies-DQGomz9p.mjs +939 -0
  854. package/dist/taxonomies-DQGomz9p.mjs.map +1 -0
  855. package/dist/taxonomies-DWv-OYT0.mjs +697 -0
  856. package/dist/taxonomies-DWv-OYT0.mjs.map +1 -0
  857. package/dist/taxonomy-BesdHIwi.mjs +525 -0
  858. package/dist/taxonomy-BesdHIwi.mjs.map +1 -0
  859. package/dist/tokens-BIGxi8sP.mjs +171 -0
  860. package/dist/tokens-BIGxi8sP.mjs.map +1 -0
  861. package/dist/transaction-BVYIo_yu.mjs +29 -0
  862. package/dist/transaction-BVYIo_yu.mjs.map +1 -0
  863. package/dist/transfer-BtzoaXLk.mjs +166 -0
  864. package/dist/transfer-BtzoaXLk.mjs.map +1 -0
  865. package/dist/transfer-DLu_6AXL.mjs +8856 -0
  866. package/dist/transfer-DLu_6AXL.mjs.map +1 -0
  867. package/dist/transfer-download-b_PCrqJJ.mjs +33 -0
  868. package/dist/transfer-download-b_PCrqJJ.mjs.map +1 -0
  869. package/dist/transformations-DdnpSdeC.mjs +196 -0
  870. package/dist/transformations-DdnpSdeC.mjs.map +1 -0
  871. package/dist/transport-flR-Zmds.d.mts +42 -0
  872. package/dist/transport-flR-Zmds.d.mts.map +1 -0
  873. package/dist/transport-umzEbgYO.mjs +136 -0
  874. package/dist/transport-umzEbgYO.mjs.map +1 -0
  875. package/dist/trusted-proxy-BqfQFs6a.mjs +51 -0
  876. package/dist/trusted-proxy-BqfQFs6a.mjs.map +1 -0
  877. package/dist/turnstile-IvQp2uyD.mjs +53 -0
  878. package/dist/turnstile-IvQp2uyD.mjs.map +1 -0
  879. package/dist/types-2V_MVPYy.d.mts +125 -0
  880. package/dist/types-2V_MVPYy.d.mts.map +1 -0
  881. package/dist/types-B-WCvzdi.d.mts +198 -0
  882. package/dist/types-B-WCvzdi.d.mts.map +1 -0
  883. package/dist/types-BGmQ0uXs.mjs +201 -0
  884. package/dist/types-BGmQ0uXs.mjs.map +1 -0
  885. package/dist/types-CVsmpTcU.mjs +18 -0
  886. package/dist/types-CVsmpTcU.mjs.map +1 -0
  887. package/dist/types-C_V-_vMS.d.mts +198 -0
  888. package/dist/types-C_V-_vMS.d.mts.map +1 -0
  889. package/dist/types-CdEMurNh.mjs +77 -0
  890. package/dist/types-CdEMurNh.mjs.map +1 -0
  891. package/dist/types-CsmwbOwa.mjs +22 -0
  892. package/dist/types-CsmwbOwa.mjs.map +1 -0
  893. package/dist/types-Cw-1it3n.d.mts +287 -0
  894. package/dist/types-Cw-1it3n.d.mts.map +1 -0
  895. package/dist/types-D7B20WFC.d.mts +374 -0
  896. package/dist/types-D7B20WFC.d.mts.map +1 -0
  897. package/dist/types-DGw8KMX_.mjs +16 -0
  898. package/dist/types-DGw8KMX_.mjs.map +1 -0
  899. package/dist/types-DZeDpzMc.d.mts +896 -0
  900. package/dist/types-DZeDpzMc.d.mts.map +1 -0
  901. package/dist/types-DuQAIPA-.d.mts +363 -0
  902. package/dist/types-DuQAIPA-.d.mts.map +1 -0
  903. package/dist/types-edRPQchz.d.mts +85 -0
  904. package/dist/types-edRPQchz.d.mts.map +1 -0
  905. package/dist/types-j6MBDjlZ.mjs +103 -0
  906. package/dist/types-j6MBDjlZ.mjs.map +1 -0
  907. package/dist/types-pOLeFKGq.d.mts +1720 -0
  908. package/dist/types-pOLeFKGq.d.mts.map +1 -0
  909. package/dist/update-check-CaZyFHZC.mjs +161 -0
  910. package/dist/update-check-CaZyFHZC.mjs.map +1 -0
  911. package/dist/upload-attempts-BodUoFBu.mjs +32 -0
  912. package/dist/upload-attempts-BodUoFBu.mjs.map +1 -0
  913. package/dist/url-Dn3IStq8.mjs +104 -0
  914. package/dist/url-Dn3IStq8.mjs.map +1 -0
  915. package/dist/url-pattern-DGAG6ZP2.mjs +41 -0
  916. package/dist/url-pattern-DGAG6ZP2.mjs.map +1 -0
  917. package/dist/user-BOvuF1sQ.mjs +171 -0
  918. package/dist/user-BOvuF1sQ.mjs.map +1 -0
  919. package/dist/utils-CoV-PYhg.mjs +439 -0
  920. package/dist/utils-CoV-PYhg.mjs.map +1 -0
  921. package/dist/validate-WkjGwBSO.mjs +516 -0
  922. package/dist/validate-WkjGwBSO.mjs.map +1 -0
  923. package/dist/validate-dK97qe7F.d.mts +468 -0
  924. package/dist/validate-dK97qe7F.d.mts.map +1 -0
  925. package/dist/validation-D-ICq_tY.mjs +219 -0
  926. package/dist/validation-D-ICq_tY.mjs.map +1 -0
  927. package/dist/version-DbT04wbH.mjs +9 -0
  928. package/dist/version-DbT04wbH.mjs.map +1 -0
  929. package/dist/version-IneBU54o.mjs +7 -0
  930. package/dist/version-IneBU54o.mjs.map +1 -0
  931. package/dist/virtual-modules-Brh6mRVe.mjs +516 -0
  932. package/dist/virtual-modules-Brh6mRVe.mjs.map +1 -0
  933. package/dist/widgets-D8T0xBYs.mjs +126 -0
  934. package/dist/widgets-D8T0xBYs.mjs.map +1 -0
  935. package/dist/wxr-taxonomies-B6iE8m9I.d.mts +34 -0
  936. package/dist/wxr-taxonomies-B6iE8m9I.d.mts.map +1 -0
  937. package/dist/wxr-taxonomies-DEzR9N7e.mjs +453 -0
  938. package/dist/wxr-taxonomies-DEzR9N7e.mjs.map +1 -0
  939. package/dist/zod-generator-DnfG5sGQ.mjs +424 -0
  940. package/dist/zod-generator-DnfG5sGQ.mjs.map +1 -0
  941. package/package.json +13 -14
  942. package/src/api/errors.ts +11 -0
  943. package/src/api/handlers/bulk-tag.ts +4 -4
  944. package/src/api/handlers/content.ts +39 -17
  945. package/src/api/handlers/index.ts +3 -0
  946. package/src/api/handlers/manifest.ts +2 -0
  947. package/src/api/handlers/media-upload.ts +3 -0
  948. package/src/api/handlers/media.ts +2 -2
  949. package/src/api/handlers/registry.ts +123 -70
  950. package/src/api/handlers/revision.ts +10 -2
  951. package/src/api/handlers/staged-references.ts +72 -6
  952. package/src/api/handlers/update-check.ts +236 -0
  953. package/src/api/redirect.ts +9 -1
  954. package/src/api/schemas/content.ts +4 -0
  955. package/src/api/schemas/import.ts +50 -14
  956. package/src/api/schemas/schema.ts +12 -6
  957. package/src/api/setup-complete.ts +49 -1
  958. package/src/api/types.ts +4 -0
  959. package/src/astro/dev-typegen.ts +15 -22
  960. package/src/astro/integration/dev-typegen.ts +32 -3
  961. package/src/astro/integration/index.ts +88 -22
  962. package/src/astro/integration/routes.ts +6 -0
  963. package/src/astro/integration/runtime.ts +33 -7
  964. package/src/astro/integration/virtual-modules.ts +1 -0
  965. package/src/astro/integration/vite-config.ts +16 -8
  966. package/src/astro/middleware/redirect.ts +15 -2
  967. package/src/astro/middleware/request-context.ts +13 -6
  968. package/src/astro/routes/api/admin/bylines/[id]/index.ts +11 -1
  969. package/src/astro/routes/api/admin/bylines/[id]/translations.ts +7 -1
  970. package/src/astro/routes/api/admin/bylines/index.ts +6 -1
  971. package/src/astro/routes/api/admin/core-update.ts +34 -0
  972. package/src/astro/routes/api/admin/plugins/marketplace/[id]/icon.ts +6 -2
  973. package/src/astro/routes/api/admin/themes/marketplace/[id]/thumbnail.ts +6 -2
  974. package/src/astro/routes/api/auth/invite/complete.ts +4 -4
  975. package/src/astro/routes/api/auth/magic-link/verify.ts +4 -1
  976. package/src/astro/routes/api/auth/oauth/[provider]/callback.ts +9 -4
  977. package/src/astro/routes/api/auth/passkey/verify.ts +4 -4
  978. package/src/astro/routes/api/auth/signup/complete.ts +4 -4
  979. package/src/astro/routes/api/import/wordpress/execute.ts +252 -6
  980. package/src/astro/routes/api/import/wordpress/prepare.ts +1 -2
  981. package/src/astro/routes/api/oauth/register.ts +22 -2
  982. package/src/astro/routes/api/revisions/[revisionId]/restore.ts +17 -1
  983. package/src/astro/routes/api/setup/admin-verify.ts +6 -5
  984. package/src/astro/routes/api/typegen.ts +4 -46
  985. package/src/astro/session-user.ts +14 -0
  986. package/src/astro/types.ts +6 -0
  987. package/src/bylines/credits.ts +149 -0
  988. package/src/bylines/index.ts +4 -142
  989. package/src/cli/commands/seed.ts +2 -0
  990. package/src/cli/credentials.ts +1 -60
  991. package/src/cli/index.ts +0 -2
  992. package/src/client/index.ts +8 -2
  993. package/src/components/Image.astro +24 -13
  994. package/src/components/InlinePortableTextEditor.tsx +25 -8
  995. package/src/content/converters/portable-text-to-prosemirror.ts +23 -17
  996. package/src/content/converters/prosemirror-to-portable-text.ts +16 -5
  997. package/src/content/converters/types.ts +1 -0
  998. package/src/database/content-datetime.ts +111 -23
  999. package/src/database/migrations/036_i18n_menus_and_taxonomies.ts +132 -92
  1000. package/src/database/migrations/088_cron_oneshot_utc.ts +39 -0
  1001. package/src/database/migrations/089_auto_seed_completion.ts +13 -0
  1002. package/src/database/migrations/runner.ts +4 -0
  1003. package/src/database/repositories/comment.ts +2 -2
  1004. package/src/database/repositories/content.ts +15 -8
  1005. package/src/database/repositories/plugin-storage.ts +1 -1
  1006. package/src/database/repositories/redirect.ts +7 -2
  1007. package/src/database/repositories/relation.ts +2 -2
  1008. package/src/database/types.ts +1 -1
  1009. package/src/db/node-sqlite-compat.ts +63 -37
  1010. package/src/emdash-runtime.ts +63 -35
  1011. package/src/import/wxr-taxonomies.ts +163 -88
  1012. package/src/index.ts +10 -0
  1013. package/src/loader.ts +8 -1
  1014. package/src/mcp/server.ts +90 -8
  1015. package/src/media/usage/activation.ts +18 -9
  1016. package/src/migrations/config-loader.ts +5 -0
  1017. package/src/object-cache/index.ts +19 -7
  1018. package/src/object-cache/types.ts +3 -2
  1019. package/src/plugin-types.ts +7 -0
  1020. package/src/plugins/adapt-sandbox-entry.ts +47 -12
  1021. package/src/plugins/byline-access.ts +158 -0
  1022. package/src/plugins/context.ts +7 -1
  1023. package/src/plugins/cron.ts +27 -4
  1024. package/src/plugins/hooks.ts +47 -0
  1025. package/src/plugins/host.ts +1 -0
  1026. package/src/plugins/index.ts +10 -1
  1027. package/src/plugins/manifest-schema.ts +5 -1
  1028. package/src/plugins/marketplace.ts +48 -36
  1029. package/src/plugins/sandbox/proxy.ts +1 -0
  1030. package/src/plugins/types.ts +95 -0
  1031. package/src/query.ts +9 -2
  1032. package/src/redirects/cache.ts +11 -1
  1033. package/src/redirects/destination.ts +20 -0
  1034. package/src/redirects/loops.ts +10 -6
  1035. package/src/redirects/patterns.ts +12 -30
  1036. package/src/references/staged.ts +40 -0
  1037. package/src/registry/testing.ts +59 -14
  1038. package/src/request-context.ts +8 -0
  1039. package/src/schema/block-type-registry.ts +1 -1
  1040. package/src/schema/env-types.ts +37 -0
  1041. package/src/schema/project-env-types.ts +41 -0
  1042. package/src/schema/registry.ts +33 -2
  1043. package/src/schema/types.ts +5 -0
  1044. package/src/schema/url-pattern.ts +10 -0
  1045. package/src/schema/zod-generator.ts +11 -1
  1046. package/src/seed/apply.ts +34 -1
  1047. package/src/seed/ownership.ts +15 -0
  1048. package/src/seed/validate.ts +45 -2
  1049. package/src/transfer/analyze/validate.ts +113 -1
  1050. package/src/transfer/analyze/values.ts +104 -1
  1051. package/src/transfer/analyze/write-rules.ts +8 -0
  1052. package/src/utils/url.ts +58 -3
  1053. package/src/virtual-modules.d.ts +3 -0
  1054. package/dist/action-token-CbKDcPJi.mjs +0 -26
  1055. package/dist/action-token-CbKDcPJi.mjs.map +0 -1
  1056. package/dist/activation-PtniBLt9.mjs +0 -382
  1057. package/dist/activation-PtniBLt9.mjs.map +0 -1
  1058. package/dist/adapters-C_Tf5x90.d.mts +0 -171
  1059. package/dist/adapters-C_Tf5x90.d.mts.map +0 -1
  1060. package/dist/allowed-origins-U1z4TdEZ.mjs +0 -116
  1061. package/dist/allowed-origins-U1z4TdEZ.mjs.map +0 -1
  1062. package/dist/api-CXwQkV_m.mjs +0 -5122
  1063. package/dist/api-CXwQkV_m.mjs.map +0 -1
  1064. package/dist/api-tokens-89WlohEN.mjs +0 -166
  1065. package/dist/api-tokens-89WlohEN.mjs.map +0 -1
  1066. package/dist/apply-Do3KNnUk.mjs +0 -1659
  1067. package/dist/apply-Do3KNnUk.mjs.map +0 -1
  1068. package/dist/approvals-CAX9Yw33.mjs +0 -460
  1069. package/dist/approvals-CAX9Yw33.mjs.map +0 -1
  1070. package/dist/artifact-fetch-B9W4CEST.mjs +0 -659
  1071. package/dist/artifact-fetch-B9W4CEST.mjs.map +0 -1
  1072. package/dist/audit-CrgmE9LE.mjs +0 -127
  1073. package/dist/audit-CrgmE9LE.mjs.map +0 -1
  1074. package/dist/authoritative-records-C2YzIdbu.mjs +0 -5172
  1075. package/dist/authoritative-records-C2YzIdbu.mjs.map +0 -1
  1076. package/dist/authorize-WgdKF8QY.mjs +0 -49
  1077. package/dist/authorize-WgdKF8QY.mjs.map +0 -1
  1078. package/dist/backup-Ck8_lMO3.mjs +0 -246
  1079. package/dist/backup-Ck8_lMO3.mjs.map +0 -1
  1080. package/dist/block-types-BQ90asVI.mjs +0 -132
  1081. package/dist/block-types-BQ90asVI.mjs.map +0 -1
  1082. package/dist/block-values-ACFqgB1D.mjs +0 -175
  1083. package/dist/block-values-ACFqgB1D.mjs.map +0 -1
  1084. package/dist/bundle-Db1iNMv_.mjs +0 -667
  1085. package/dist/bundle-Db1iNMv_.mjs.map +0 -1
  1086. package/dist/byline-BayaYGoj.mjs +0 -909
  1087. package/dist/byline-BayaYGoj.mjs.map +0 -1
  1088. package/dist/byline-fields-B8HH-35f.mjs +0 -254
  1089. package/dist/byline-fields-B8HH-35f.mjs.map +0 -1
  1090. package/dist/byline-fields-hMPjf6Eu.mjs +0 -123
  1091. package/dist/byline-fields-hMPjf6Eu.mjs.map +0 -1
  1092. package/dist/byline-registry-B_EK_TQf.mjs +0 -406
  1093. package/dist/byline-registry-B_EK_TQf.mjs.map +0 -1
  1094. package/dist/bylines-DFAaFXWi.mjs +0 -214
  1095. package/dist/bylines-DFAaFXWi.mjs.map +0 -1
  1096. package/dist/bylines-DkIxUxmr.mjs +0 -232
  1097. package/dist/bylines-DkIxUxmr.mjs.map +0 -1
  1098. package/dist/cache-DkvhQ8XE.mjs +0 -108
  1099. package/dist/cache-DkvhQ8XE.mjs.map +0 -1
  1100. package/dist/canonical-CcSuuTlH.mjs +0 -174
  1101. package/dist/canonical-CcSuuTlH.mjs.map +0 -1
  1102. package/dist/capture-triggers-DJEoOTOq.mjs +0 -362
  1103. package/dist/capture-triggers-DJEoOTOq.mjs.map +0 -1
  1104. package/dist/challenge-store-CvBl81AQ.mjs +0 -51
  1105. package/dist/challenge-store-CvBl81AQ.mjs.map +0 -1
  1106. package/dist/checksum-CClweQzI.mjs +0 -162
  1107. package/dist/checksum-CClweQzI.mjs.map +0 -1
  1108. package/dist/chrome-tags-D5caJwwp.mjs +0 -24
  1109. package/dist/chrome-tags-D5caJwwp.mjs.map +0 -1
  1110. package/dist/chunks-DwBaj8aT.mjs +0 -25
  1111. package/dist/chunks-DwBaj8aT.mjs.map +0 -1
  1112. package/dist/collection-deletion-CLCdXsnV.mjs +0 -436
  1113. package/dist/collection-deletion-CLCdXsnV.mjs.map +0 -1
  1114. package/dist/collection-deletion-processor-hNw8x01F.mjs +0 -217
  1115. package/dist/collection-deletion-processor-hNw8x01F.mjs.map +0 -1
  1116. package/dist/collection-slugs-cache-CUuiduLq.mjs +0 -85
  1117. package/dist/collection-slugs-cache-CUuiduLq.mjs.map +0 -1
  1118. package/dist/comment-D2uvL63j.mjs +0 -313
  1119. package/dist/comment-D2uvL63j.mjs.map +0 -1
  1120. package/dist/comment-reaction-DevUuzg4.mjs +0 -85
  1121. package/dist/comment-reaction-DevUuzg4.mjs.map +0 -1
  1122. package/dist/comments-Cq0s7_hO.mjs +0 -195
  1123. package/dist/comments-Cq0s7_hO.mjs.map +0 -1
  1124. package/dist/comments-M4EDYAHw.mjs +0 -99
  1125. package/dist/comments-M4EDYAHw.mjs.map +0 -1
  1126. package/dist/components-CuIGwXMs.mjs +0 -108
  1127. package/dist/components-CuIGwXMs.mjs.map +0 -1
  1128. package/dist/config-52Ea5IWt.d.mts +0 -39
  1129. package/dist/config-52Ea5IWt.d.mts.map +0 -1
  1130. package/dist/config-CCz3xOLc.mjs +0 -242
  1131. package/dist/config-CCz3xOLc.mjs.map +0 -1
  1132. package/dist/config-D3d5Qudq.d.mts +0 -6669
  1133. package/dist/config-D3d5Qudq.d.mts.map +0 -1
  1134. package/dist/content-CbnufDsM.mjs +0 -2018
  1135. package/dist/content-CbnufDsM.mjs.map +0 -1
  1136. package/dist/content-list-query-D_7B1FE5.d.mts +0 -26
  1137. package/dist/content-list-query-D_7B1FE5.d.mts.map +0 -1
  1138. package/dist/content-policy-CYu6K1KB.mjs +0 -46
  1139. package/dist/content-policy-CYu6K1KB.mjs.map +0 -1
  1140. package/dist/content-repair-DlDUgFGp.mjs +0 -442
  1141. package/dist/content-repair-DlDUgFGp.mjs.map +0 -1
  1142. package/dist/context-CGQLA1-a.mjs +0 -1922
  1143. package/dist/context-CGQLA1-a.mjs.map +0 -1
  1144. package/dist/cron-c4D5C5Fx.mjs +0 -284
  1145. package/dist/cron-c4D5C5Fx.mjs.map +0 -1
  1146. package/dist/dashboard-CBq9kmOn.mjs +0 -151
  1147. package/dist/dashboard-CBq9kmOn.mjs.map +0 -1
  1148. package/dist/default-DPsys51U.mjs +0 -81
  1149. package/dist/default-DPsys51U.mjs.map +0 -1
  1150. package/dist/deferred-tasks-CZ7rzBdo.d.mts +0 -9
  1151. package/dist/deferred-tasks-CZ7rzBdo.d.mts.map +0 -1
  1152. package/dist/dev-typegen-HRxwLRcT.mjs +0 -29
  1153. package/dist/dev-typegen-HRxwLRcT.mjs.map +0 -1
  1154. package/dist/device-flow-OcSqE9uY.mjs +0 -521
  1155. package/dist/device-flow-OcSqE9uY.mjs.map +0 -1
  1156. package/dist/digest-DVZ--cE9.mjs +0 -194
  1157. package/dist/digest-DVZ--cE9.mjs.map +0 -1
  1158. package/dist/direct-executor-DyjAqkpT.mjs +0 -104
  1159. package/dist/direct-executor-DyjAqkpT.mjs.map +0 -1
  1160. package/dist/dist-FPR93_xf.mjs +0 -810
  1161. package/dist/dist-FPR93_xf.mjs.map +0 -1
  1162. package/dist/email-console-DyQIgEnz.mjs +0 -50
  1163. package/dist/email-console-DyQIgEnz.mjs.map +0 -1
  1164. package/dist/email-locale-BYb16rVd.mjs +0 -25
  1165. package/dist/email-locale-BYb16rVd.mjs.map +0 -1
  1166. package/dist/emdash-runtime-CrzxJFmF.mjs +0 -4214
  1167. package/dist/emdash-runtime-CrzxJFmF.mjs.map +0 -1
  1168. package/dist/enrich-DBtCncE2.mjs +0 -194
  1169. package/dist/enrich-DBtCncE2.mjs.map +0 -1
  1170. package/dist/entry-lock-BN5y4YbO.d.mts +0 -4481
  1171. package/dist/entry-lock-BN5y4YbO.d.mts.map +0 -1
  1172. package/dist/entry-lock-BaRBHCsH.mjs +0 -1173
  1173. package/dist/entry-lock-BaRBHCsH.mjs.map +0 -1
  1174. package/dist/entry-lock-C6NcnZPV.mjs +0 -163
  1175. package/dist/entry-lock-C6NcnZPV.mjs.map +0 -1
  1176. package/dist/entry-locks-BTyQLdbC.mjs +0 -167
  1177. package/dist/entry-locks-BTyQLdbC.mjs.map +0 -1
  1178. package/dist/error-BfsNNrIE.mjs +0 -90
  1179. package/dist/error-BfsNNrIE.mjs.map +0 -1
  1180. package/dist/errors-BN1QAnEY.mjs +0 -460
  1181. package/dist/errors-BN1QAnEY.mjs.map +0 -1
  1182. package/dist/errors-Bt3goF8I.mjs +0 -120
  1183. package/dist/errors-Bt3goF8I.mjs.map +0 -1
  1184. package/dist/escape-BveidMa2.mjs +0 -9
  1185. package/dist/escape-BveidMa2.mjs.map +0 -1
  1186. package/dist/fence-Bb_IbCxI.mjs +0 -162
  1187. package/dist/fence-Bb_IbCxI.mjs.map +0 -1
  1188. package/dist/field-defs-cache-CsZctvbu.mjs +0 -77
  1189. package/dist/field-defs-cache-CsZctvbu.mjs.map +0 -1
  1190. package/dist/field-map-6m9rF49t.mjs +0 -83
  1191. package/dist/field-map-6m9rF49t.mjs.map +0 -1
  1192. package/dist/focal-point-CZ3d1wK5.mjs +0 -23
  1193. package/dist/focal-point-CZ3d1wK5.mjs.map +0 -1
  1194. package/dist/fts-manager-CCaZTp8y.mjs +0 -443
  1195. package/dist/fts-manager-CCaZTp8y.mjs.map +0 -1
  1196. package/dist/gc-xowRjczI.mjs +0 -75
  1197. package/dist/gc-xowRjczI.mjs.map +0 -1
  1198. package/dist/hash-COVK27Pc.mjs +0 -37
  1199. package/dist/hash-COVK27Pc.mjs.map +0 -1
  1200. package/dist/hook-result-CYSk0XFe.d.mts +0 -31
  1201. package/dist/hook-result-CYSk0XFe.d.mts.map +0 -1
  1202. package/dist/hreflang-CChPV7jx.mjs +0 -105
  1203. package/dist/hreflang-CChPV7jx.mjs.map +0 -1
  1204. package/dist/hreflang-DRslq3QI.d.mts +0 -50
  1205. package/dist/hreflang-DRslq3QI.d.mts.map +0 -1
  1206. package/dist/http-route-dispatch-CAdp2onn.mjs +0 -339
  1207. package/dist/http-route-dispatch-CAdp2onn.mjs.map +0 -1
  1208. package/dist/identity-NVTOOQyq.mjs +0 -35
  1209. package/dist/identity-NVTOOQyq.mjs.map +0 -1
  1210. package/dist/import-wpSO2N0x.mjs +0 -2020
  1211. package/dist/import-wpSO2N0x.mjs.map +0 -1
  1212. package/dist/index-CDs2wq4X.d.mts +0 -623
  1213. package/dist/index-CDs2wq4X.d.mts.map +0 -1
  1214. package/dist/install-finalization-D9R9R-W8.mjs +0 -58
  1215. package/dist/install-finalization-D9R9R-W8.mjs.map +0 -1
  1216. package/dist/keys-Bck6LBfF.mjs +0 -61
  1217. package/dist/keys-Bck6LBfF.mjs.map +0 -1
  1218. package/dist/kinds-CYmRESWj.mjs +0 -974
  1219. package/dist/kinds-CYmRESWj.mjs.map +0 -1
  1220. package/dist/lifecycle-C815ZQfV.mjs +0 -25
  1221. package/dist/lifecycle-C815ZQfV.mjs.map +0 -1
  1222. package/dist/load-D99axixL.mjs +0 -28
  1223. package/dist/load-D99axixL.mjs.map +0 -1
  1224. package/dist/loader-CrRPfkHS.mjs +0 -1197
  1225. package/dist/loader-CrRPfkHS.mjs.map +0 -1
  1226. package/dist/loops-DMKlygqX.mjs +0 -203
  1227. package/dist/loops-DMKlygqX.mjs.map +0 -1
  1228. package/dist/manifest-builder-BQzCHNgB.mjs +0 -189
  1229. package/dist/manifest-builder-BQzCHNgB.mjs.map +0 -1
  1230. package/dist/manifest-schema-Ci2gmd0u.mjs +0 -492
  1231. package/dist/manifest-schema-Ci2gmd0u.mjs.map +0 -1
  1232. package/dist/media-BUQePMxP.mjs +0 -373
  1233. package/dist/media-BUQePMxP.mjs.map +0 -1
  1234. package/dist/media-DH8ibNlY.mjs +0 -294
  1235. package/dist/media-DH8ibNlY.mjs.map +0 -1
  1236. package/dist/media-OEIQ3bVc.mjs +0 -408
  1237. package/dist/media-OEIQ3bVc.mjs.map +0 -1
  1238. package/dist/media-allowlist-pYtaBA95.mjs +0 -44
  1239. package/dist/media-allowlist-pYtaBA95.mjs.map +0 -1
  1240. package/dist/media-folders-Bf8_s4de.mjs +0 -210
  1241. package/dist/media-folders-Bf8_s4de.mjs.map +0 -1
  1242. package/dist/media-url-C6klEuNd.mjs +0 -43
  1243. package/dist/media-url-C6klEuNd.mjs.map +0 -1
  1244. package/dist/media-usage-D7Y64m6v.mjs +0 -1629
  1245. package/dist/media-usage-D7Y64m6v.mjs.map +0 -1
  1246. package/dist/media-usage-activation-DrqbmgLA.mjs +0 -78
  1247. package/dist/media-usage-activation-DrqbmgLA.mjs.map +0 -1
  1248. package/dist/media-usage-work-DommYhYA.mjs +0 -152
  1249. package/dist/media-usage-work-DommYhYA.mjs.map +0 -1
  1250. package/dist/media-usage-work-HU63hNDu.mjs +0 -586
  1251. package/dist/media-usage-work-HU63hNDu.mjs.map +0 -1
  1252. package/dist/menus-BQfusWEC.mjs +0 -3608
  1253. package/dist/menus-BQfusWEC.mjs.map +0 -1
  1254. package/dist/menus-BtwjQt5s.mjs +0 -753
  1255. package/dist/menus-BtwjQt5s.mjs.map +0 -1
  1256. package/dist/menus-p_M1V7J_.mjs +0 -139
  1257. package/dist/menus-p_M1V7J_.mjs.map +0 -1
  1258. package/dist/mime-C94qBG-P.mjs +0 -36
  1259. package/dist/mime-C94qBG-P.mjs.map +0 -1
  1260. package/dist/mode-DpYW3w6U.mjs +0 -23
  1261. package/dist/mode-DpYW3w6U.mjs.map +0 -1
  1262. package/dist/node-sqlite-compat-pWFw0lcc.mjs +0 -46
  1263. package/dist/node-sqlite-compat-pWFw0lcc.mjs.map +0 -1
  1264. package/dist/normalize-DduyxBjf.mjs +0 -191
  1265. package/dist/normalize-DduyxBjf.mjs.map +0 -1
  1266. package/dist/oauth-authorization-DAXsH1H9.mjs +0 -274
  1267. package/dist/oauth-authorization-DAXsH1H9.mjs.map +0 -1
  1268. package/dist/oauth-clients-DENiDQri.mjs +0 -266
  1269. package/dist/oauth-clients-DENiDQri.mjs.map +0 -1
  1270. package/dist/oauth-state-store-y8mEYVq9.mjs +0 -50
  1271. package/dist/oauth-state-store-y8mEYVq9.mjs.map +0 -1
  1272. package/dist/oauth-user-lookup-CtTYAy-O.mjs +0 -26
  1273. package/dist/oauth-user-lookup-CtTYAy-O.mjs.map +0 -1
  1274. package/dist/object-cache-CqWNY5uP.mjs +0 -582
  1275. package/dist/object-cache-CqWNY5uP.mjs.map +0 -1
  1276. package/dist/options-BYa1FgIM.d.mts +0 -81
  1277. package/dist/options-BYa1FgIM.d.mts.map +0 -1
  1278. package/dist/parse-CORGGhHf.mjs +0 -81
  1279. package/dist/parse-CORGGhHf.mjs.map +0 -1
  1280. package/dist/parse-avNM1xWV.d.mts +0 -168
  1281. package/dist/parse-avNM1xWV.d.mts.map +0 -1
  1282. package/dist/passkey-config-Dih5YeIS.mjs +0 -46
  1283. package/dist/passkey-config-Dih5YeIS.mjs.map +0 -1
  1284. package/dist/paths-d51RFm8M.mjs +0 -77
  1285. package/dist/paths-d51RFm8M.mjs.map +0 -1
  1286. package/dist/patterns-CoqlXUvk.mjs +0 -145
  1287. package/dist/patterns-CoqlXUvk.mjs.map +0 -1
  1288. package/dist/placeholder-D2aksPMF.d.mts +0 -306
  1289. package/dist/placeholder-D2aksPMF.d.mts.map +0 -1
  1290. package/dist/plan-DqeZKuaR.mjs +0 -135
  1291. package/dist/plan-DqeZKuaR.mjs.map +0 -1
  1292. package/dist/plugins-Bb7oqjQA.mjs +0 -277
  1293. package/dist/plugins-Bb7oqjQA.mjs.map +0 -1
  1294. package/dist/policy-BcEqut3n.mjs +0 -45
  1295. package/dist/policy-BcEqut3n.mjs.map +0 -1
  1296. package/dist/portable-text-DXE8ymtD.mjs +0 -307
  1297. package/dist/portable-text-DXE8ymtD.mjs.map +0 -1
  1298. package/dist/preview-DEDWbwA_.mjs +0 -107
  1299. package/dist/preview-DEDWbwA_.mjs.map +0 -1
  1300. package/dist/protocol-BJbTzvwl.d.mts +0 -61
  1301. package/dist/protocol-BJbTzvwl.d.mts.map +0 -1
  1302. package/dist/public-submission-D9c9S14m.mjs +0 -250
  1303. package/dist/public-submission-D9c9S14m.mjs.map +0 -1
  1304. package/dist/public-url-CIRe-2T6.mjs +0 -101
  1305. package/dist/public-url-CIRe-2T6.mjs.map +0 -1
  1306. package/dist/query-BzifXlPS.mjs +0 -1156
  1307. package/dist/query-BzifXlPS.mjs.map +0 -1
  1308. package/dist/query-OzMJ6vJP.mjs +0 -41
  1309. package/dist/query-OzMJ6vJP.mjs.map +0 -1
  1310. package/dist/rate-limit-Csp60Vik.mjs +0 -120
  1311. package/dist/rate-limit-Csp60Vik.mjs.map +0 -1
  1312. package/dist/receipt-B-aU4hpJ.mjs +0 -43
  1313. package/dist/receipt-B-aU4hpJ.mjs.map +0 -1
  1314. package/dist/redirect-CDSw1sU3.mjs +0 -17
  1315. package/dist/redirect-CDSw1sU3.mjs.map +0 -1
  1316. package/dist/redirect-D1ArbO85.mjs +0 -411
  1317. package/dist/redirect-D1ArbO85.mjs.map +0 -1
  1318. package/dist/redirects-BjTwDTsV.mjs +0 -148
  1319. package/dist/redirects-BjTwDTsV.mjs.map +0 -1
  1320. package/dist/redirects-Ck50kH3n.mjs +0 -446
  1321. package/dist/redirects-Ck50kH3n.mjs.map +0 -1
  1322. package/dist/registry-CFcNCayZ.mjs +0 -6754
  1323. package/dist/registry-CFcNCayZ.mjs.map +0 -1
  1324. package/dist/relations-Cfaa1fDl.mjs +0 -776
  1325. package/dist/relations-Cfaa1fDl.mjs.map +0 -1
  1326. package/dist/request-cache-iHRlHx1d.mjs +0 -104
  1327. package/dist/request-cache-iHRlHx1d.mjs.map +0 -1
  1328. package/dist/request-meta-D47mqyev.mjs +0 -141
  1329. package/dist/request-meta-D47mqyev.mjs.map +0 -1
  1330. package/dist/resolve-BPE8sMvx.mjs +0 -99
  1331. package/dist/resolve-BPE8sMvx.mjs.map +0 -1
  1332. package/dist/resolve-C0s1E_fH.mjs +0 -199
  1333. package/dist/resolve-C0s1E_fH.mjs.map +0 -1
  1334. package/dist/revision-j1p4-bOj.mjs +0 -302
  1335. package/dist/revision-j1p4-bOj.mjs.map +0 -1
  1336. package/dist/route-wire-C9PJV9aL.mjs +0 -197
  1337. package/dist/route-wire-C9PJV9aL.mjs.map +0 -1
  1338. package/dist/routes-lyYw0mMf.mjs +0 -272
  1339. package/dist/routes-lyYw0mMf.mjs.map +0 -1
  1340. package/dist/runner-B3eyB9Gb.mjs +0 -6121
  1341. package/dist/runner-B3eyB9Gb.mjs.map +0 -1
  1342. package/dist/runner-DoYH2Jcu.d.mts +0 -68
  1343. package/dist/runner-DoYH2Jcu.d.mts.map +0 -1
  1344. package/dist/schema-BAayK46S.mjs +0 -13
  1345. package/dist/schema-BAayK46S.mjs.map +0 -1
  1346. package/dist/schema-Gqcl-8G4.mjs +0 -815
  1347. package/dist/schema-Gqcl-8G4.mjs.map +0 -1
  1348. package/dist/scopes-BqPOKoKf.mjs +0 -34
  1349. package/dist/scopes-BqPOKoKf.mjs.map +0 -1
  1350. package/dist/search-YJKPIEV6.mjs +0 -448
  1351. package/dist/search-YJKPIEV6.mjs.map +0 -1
  1352. package/dist/sections-BR_e-wK5.mjs +0 -346
  1353. package/dist/sections-BR_e-wK5.mjs.map +0 -1
  1354. package/dist/seo-Dsj8hy3j.mjs +0 -114
  1355. package/dist/seo-Dsj8hy3j.mjs.map +0 -1
  1356. package/dist/seo-XvH4LNNp.mjs +0 -133
  1357. package/dist/seo-XvH4LNNp.mjs.map +0 -1
  1358. package/dist/service-BsVG05gS.mjs +0 -150
  1359. package/dist/service-BsVG05gS.mjs.map +0 -1
  1360. package/dist/session-user-DgKbYrlj.mjs +0 -51
  1361. package/dist/session-user-DgKbYrlj.mjs.map +0 -1
  1362. package/dist/settings-CNPUntkh.mjs +0 -51
  1363. package/dist/settings-CNPUntkh.mjs.map +0 -1
  1364. package/dist/settings-D5EHi0Tk.mjs +0 -439
  1365. package/dist/settings-D5EHi0Tk.mjs.map +0 -1
  1366. package/dist/settings-DSfE7wOa.mjs +0 -61
  1367. package/dist/settings-DSfE7wOa.mjs.map +0 -1
  1368. package/dist/setup-complete-B8W8sJ9v.mjs +0 -26
  1369. package/dist/setup-complete-B8W8sJ9v.mjs.map +0 -1
  1370. package/dist/setup-nonce-DnSBP260.mjs +0 -25
  1371. package/dist/setup-nonce-DnSBP260.mjs.map +0 -1
  1372. package/dist/site-settings-NGzdrt7O.mjs +0 -50
  1373. package/dist/site-settings-NGzdrt7O.mjs.map +0 -1
  1374. package/dist/site-url-D6JB7tLW.mjs +0 -16
  1375. package/dist/site-url-D6JB7tLW.mjs.map +0 -1
  1376. package/dist/snapshot-CdcwwWAf.mjs +0 -414
  1377. package/dist/snapshot-CdcwwWAf.mjs.map +0 -1
  1378. package/dist/ssrf-Dv0_tRpo.mjs +0 -406
  1379. package/dist/ssrf-Dv0_tRpo.mjs.map +0 -1
  1380. package/dist/stage-CUjhED3P.mjs +0 -662
  1381. package/dist/stage-CUjhED3P.mjs.map +0 -1
  1382. package/dist/staged-C36IWXff.mjs +0 -659
  1383. package/dist/staged-C36IWXff.mjs.map +0 -1
  1384. package/dist/state-CKouMCSY.mjs +0 -153
  1385. package/dist/state-CKouMCSY.mjs.map +0 -1
  1386. package/dist/status-lzyj4Uu7.mjs +0 -30
  1387. package/dist/status-lzyj4Uu7.mjs.map +0 -1
  1388. package/dist/storage-query-B-cWcTjJ.d.mts +0 -1594
  1389. package/dist/storage-query-B-cWcTjJ.d.mts.map +0 -1
  1390. package/dist/tar-DsTXX6ch.mjs +0 -449
  1391. package/dist/tar-DsTXX6ch.mjs.map +0 -1
  1392. package/dist/target-DLQCwp_Z.mjs +0 -27
  1393. package/dist/target-DLQCwp_Z.mjs.map +0 -1
  1394. package/dist/taxonomies-BlAjr4BL.mjs +0 -697
  1395. package/dist/taxonomies-BlAjr4BL.mjs.map +0 -1
  1396. package/dist/taxonomies-Byyo7LOZ.mjs +0 -939
  1397. package/dist/taxonomies-Byyo7LOZ.mjs.map +0 -1
  1398. package/dist/taxonomy-CKDwM61Y.mjs +0 -525
  1399. package/dist/taxonomy-CKDwM61Y.mjs.map +0 -1
  1400. package/dist/tokens-BojXlk49.mjs +0 -171
  1401. package/dist/tokens-BojXlk49.mjs.map +0 -1
  1402. package/dist/transaction-DLPQWik1.mjs +0 -29
  1403. package/dist/transaction-DLPQWik1.mjs.map +0 -1
  1404. package/dist/transfer-XSTh2BCr.mjs +0 -8706
  1405. package/dist/transfer-XSTh2BCr.mjs.map +0 -1
  1406. package/dist/transfer-download-DkoCDA9d.mjs +0 -33
  1407. package/dist/transfer-download-DkoCDA9d.mjs.map +0 -1
  1408. package/dist/transfer-iQ26J-RT.mjs +0 -166
  1409. package/dist/transfer-iQ26J-RT.mjs.map +0 -1
  1410. package/dist/transformations-C7RQabKQ.mjs +0 -196
  1411. package/dist/transformations-C7RQabKQ.mjs.map +0 -1
  1412. package/dist/transport-D3RulfD6.mjs +0 -136
  1413. package/dist/transport-D3RulfD6.mjs.map +0 -1
  1414. package/dist/transport-DhlZlf4D.d.mts +0 -42
  1415. package/dist/transport-DhlZlf4D.d.mts.map +0 -1
  1416. package/dist/trusted-proxy-B6ECOZJc.mjs +0 -51
  1417. package/dist/trusted-proxy-B6ECOZJc.mjs.map +0 -1
  1418. package/dist/turnstile-lqUiY7lP.mjs +0 -53
  1419. package/dist/turnstile-lqUiY7lP.mjs.map +0 -1
  1420. package/dist/types-4Dn9bZhu.mjs +0 -77
  1421. package/dist/types-4Dn9bZhu.mjs.map +0 -1
  1422. package/dist/types-5LSo7PPx.d.mts +0 -85
  1423. package/dist/types-5LSo7PPx.d.mts.map +0 -1
  1424. package/dist/types-BQ3hwYJT.d.mts +0 -896
  1425. package/dist/types-BQ3hwYJT.d.mts.map +0 -1
  1426. package/dist/types-BYEk7qo3.d.mts +0 -198
  1427. package/dist/types-BYEk7qo3.d.mts.map +0 -1
  1428. package/dist/types-CJKsWVFR.mjs +0 -199
  1429. package/dist/types-CJKsWVFR.mjs.map +0 -1
  1430. package/dist/types-Ca_w8mmY.d.mts +0 -363
  1431. package/dist/types-Ca_w8mmY.d.mts.map +0 -1
  1432. package/dist/types-CkE41ZAG.mjs +0 -18
  1433. package/dist/types-CkE41ZAG.mjs.map +0 -1
  1434. package/dist/types-D0aJW2uR.d.mts +0 -1641
  1435. package/dist/types-D0aJW2uR.d.mts.map +0 -1
  1436. package/dist/types-DbpN4Qto.d.mts +0 -372
  1437. package/dist/types-DbpN4Qto.d.mts.map +0 -1
  1438. package/dist/types-ILDI1sdY.mjs +0 -16
  1439. package/dist/types-ILDI1sdY.mjs.map +0 -1
  1440. package/dist/types-OC5c-edM.mjs +0 -22
  1441. package/dist/types-OC5c-edM.mjs.map +0 -1
  1442. package/dist/types-aOOxRSx6.mjs +0 -103
  1443. package/dist/types-aOOxRSx6.mjs.map +0 -1
  1444. package/dist/types-m1WbUffD.d.mts +0 -198
  1445. package/dist/types-m1WbUffD.d.mts.map +0 -1
  1446. package/dist/types-uxLoPBio.d.mts +0 -124
  1447. package/dist/types-uxLoPBio.d.mts.map +0 -1
  1448. package/dist/types-we5uR-tV.d.mts +0 -287
  1449. package/dist/types-we5uR-tV.d.mts.map +0 -1
  1450. package/dist/upload-attempts-DduMy6B0.mjs +0 -32
  1451. package/dist/upload-attempts-DduMy6B0.mjs.map +0 -1
  1452. package/dist/url-pattern-B3EwxAAk.mjs +0 -33
  1453. package/dist/url-pattern-B3EwxAAk.mjs.map +0 -1
  1454. package/dist/user-ElwQjTQT.mjs +0 -171
  1455. package/dist/user-ElwQjTQT.mjs.map +0 -1
  1456. package/dist/utils-BlAXmfOG.mjs +0 -439
  1457. package/dist/utils-BlAXmfOG.mjs.map +0 -1
  1458. package/dist/validate-CH0X5b2c.d.mts +0 -468
  1459. package/dist/validate-CH0X5b2c.d.mts.map +0 -1
  1460. package/dist/validate-CfgRpcjA.mjs +0 -492
  1461. package/dist/validate-CfgRpcjA.mjs.map +0 -1
  1462. package/dist/validation-DvYJtv4k.mjs +0 -218
  1463. package/dist/validation-DvYJtv4k.mjs.map +0 -1
  1464. package/dist/version-DgYjhTud.mjs +0 -9
  1465. package/dist/version-DgYjhTud.mjs.map +0 -1
  1466. package/dist/version-Dq71scUb.mjs +0 -7
  1467. package/dist/version-Dq71scUb.mjs.map +0 -1
  1468. package/dist/widgets-ChFIj0be.mjs +0 -126
  1469. package/dist/widgets-ChFIj0be.mjs.map +0 -1
  1470. package/dist/wxr-taxonomies-CBZMp2YX.mjs +0 -372
  1471. package/dist/wxr-taxonomies-CBZMp2YX.mjs.map +0 -1
  1472. package/dist/wxr-taxonomies-DlKDpWN1.d.mts +0 -34
  1473. package/dist/wxr-taxonomies-DlKDpWN1.d.mts.map +0 -1
  1474. package/dist/zod-generator-DmTKI-Ig.mjs +0 -426
  1475. package/dist/zod-generator-DmTKI-Ig.mjs.map +0 -1
  1476. package/src/cli/commands/bundle-utils.ts +0 -408
  1477. package/src/cli/commands/bundle.ts +0 -659
  1478. package/src/cli/commands/plugin-init.ts +0 -417
  1479. package/src/cli/commands/plugin-validate.ts +0 -31
  1480. package/src/cli/commands/plugin.ts +0 -33
  1481. package/src/cli/commands/publish.ts +0 -721
  1482. /package/dist/{api-tokens-FaG1zPsj.mjs → api-tokens-BLz2MtQs.mjs} +0 -0
  1483. /package/dist/{ssrf-DZOt8Qof.mjs → ssrf-tA45vIPX.mjs} +0 -0
@@ -27,11 +27,14 @@ import {
27
27
  import { buildMigrationManifest } from "../../migrations/manifest-builder.js";
28
28
  import { writeMigrationManifest } from "../../migrations/manifest-writer.js";
29
29
  import type { ResolvedPlugin } from "../../plugins/types.js";
30
- import { normalizeRegistryConfig, resolveRegistryConfigForSandbox } from "../../registry/config.js";
30
+ import {
31
+ normalizeRegistryConfig,
32
+ parseDurationSeconds,
33
+ resolveRegistryConfigForSandbox,
34
+ } from "../../registry/config.js";
31
35
  import { VERSION } from "../../version.js";
32
- import { setDevTypegenRefresh } from "../dev-typegen.js";
33
36
  import { local } from "../storage/adapters.js";
34
- import { createDebouncedTypegenRefresh } from "./dev-typegen.js";
37
+ import { createDebouncedTypegenRefresh, listenForDevTypegenRefresh } from "./dev-typegen.js";
35
38
  import { notoSans } from "./font-provider.js";
36
39
  import {
37
40
  injectCoreRoutes,
@@ -155,6 +158,34 @@ export function buildImageRemotePatterns(
155
158
  return patterns;
156
159
  }
157
160
 
161
+ /**
162
+ * Build the config subset baked into `virtual:emdash/config` and exposed
163
+ * at runtime as `locals.emdash.config`. A config option that runtime code
164
+ * reads (routes, middleware) MUST be listed here — an option only on
165
+ * `EmDashConfig` is invisible at runtime and silently ignored.
166
+ *
167
+ * @internal Exported for unit testing.
168
+ */
169
+ export function buildSerializableConfig(resolvedConfig: EmDashConfig): Record<string, unknown> {
170
+ return {
171
+ database: resolvedConfig.database,
172
+ migrations: resolvedConfig.migrations,
173
+ storage: resolvedConfig.storage,
174
+ auth: resolvedConfig.auth,
175
+ authProviders: resolvedConfig.authProviders,
176
+ marketplace: resolvedConfig.marketplace,
177
+ registry: resolvedConfig.registry,
178
+ experimental: resolvedConfig.experimental,
179
+ siteUrl: resolvedConfig.siteUrl,
180
+ trustedProxyHeaders: resolvedConfig.trustedProxyHeaders,
181
+ maxUploadSize: resolvedConfig.maxUploadSize,
182
+ admin: resolvedConfig.admin,
183
+ toolbar: resolvedConfig.toolbar,
184
+ updateCheck: resolvedConfig.updateCheck,
185
+ objectCacheEnabled: resolvedConfig.objectCache !== undefined,
186
+ };
187
+ }
188
+
158
189
  /**
159
190
  * Stock image endpoints EmDash may safely replace with its storage-backed
160
191
  * wrapper. Our wrapper delegates non-EmDash images to the platform's transform
@@ -236,6 +267,31 @@ export function missingReactIntegrationWarning(
236
267
  );
237
268
  }
238
269
 
270
+ /**
271
+ * Warn when Astro has no session driver. Sign-in stores the user in the Astro
272
+ * session, so without a driver every sign-in route fails. The Node, Cloudflare,
273
+ * and Netlify adapters configure a driver in `astro:config:setup`; others,
274
+ * such as Vercel, do not.
275
+ */
276
+ function missingSessionDriverWarning(
277
+ session: { driver?: unknown } | false | undefined,
278
+ ): string | undefined {
279
+ if (session && session.driver) return undefined;
280
+ const problem =
281
+ session === false
282
+ ? `Astro sessions are disabled (\`session: false\`), but EmDash stores signed-in users in the Astro session.`
283
+ : `No Astro session driver is configured, but EmDash stores signed-in users in the Astro session.`;
284
+ return (
285
+ `${problem} Without one, signing in to the admin fails. Use an adapter that ` +
286
+ `provides a driver (Node, Cloudflare, Netlify) or configure one yourself, for example:\n\n` +
287
+ ` import { defineConfig, sessionDrivers } from "astro/config";\n` +
288
+ ` export default defineConfig({\n` +
289
+ ` session: { driver: sessionDrivers.redis({ url: process.env.REDIS_URL }) },\n` +
290
+ ` });\n\n` +
291
+ `See https://docs.astro.build/en/guides/sessions/`
292
+ );
293
+ }
294
+
239
295
  // Terminal formatting
240
296
  const dim = (s: string) => `\x1b[2m${s}\x1b[22m`;
241
297
  const bold = (s: string) => `\x1b[1m${s}\x1b[22m`;
@@ -345,6 +401,20 @@ export function emdash(config: EmDashConfig = {}): AstroIntegration {
345
401
  fieldPrefix: registry.fieldPrefix,
346
402
  });
347
403
 
404
+ const updateCheckAge =
405
+ typeof resolvedConfig.updateCheck === "object"
406
+ ? resolvedConfig.updateCheck?.minimumReleaseAge
407
+ : undefined;
408
+ if (updateCheckAge !== undefined) {
409
+ try {
410
+ parseDurationSeconds(updateCheckAge);
411
+ } catch (e) {
412
+ throw new Error(`Invalid updateCheck.minimumReleaseAge: ${String(updateCheckAge)}`, {
413
+ cause: e,
414
+ });
415
+ }
416
+ }
417
+
348
418
  // Validate marketplace URL
349
419
  if (resolvedConfig.marketplace) {
350
420
  const url = resolvedConfig.marketplace;
@@ -443,21 +513,7 @@ export function emdash(config: EmDashConfig = {}): AstroIntegration {
443
513
 
444
514
  // Serialize config for virtual module (database/storage/auth - plugins handled separately)
445
515
  // i18n is populated in astro:config:setup from astroConfig.i18n
446
- const serializableConfig: Record<string, unknown> = {
447
- database: resolvedConfig.database,
448
- migrations: resolvedConfig.migrations,
449
- storage: resolvedConfig.storage,
450
- auth: resolvedConfig.auth,
451
- authProviders: resolvedConfig.authProviders,
452
- marketplace: resolvedConfig.marketplace,
453
- registry: resolvedConfig.registry,
454
- experimental: resolvedConfig.experimental,
455
- siteUrl: resolvedConfig.siteUrl,
456
- trustedProxyHeaders: resolvedConfig.trustedProxyHeaders,
457
- maxUploadSize: resolvedConfig.maxUploadSize,
458
- admin: resolvedConfig.admin,
459
- toolbar: resolvedConfig.toolbar,
460
- };
516
+ const serializableConfig = buildSerializableConfig(resolvedConfig);
461
517
 
462
518
  // Determine auth mode for route injection
463
519
  // Check if auth is an AuthDescriptor (has entrypoint) indicating external auth
@@ -473,7 +529,7 @@ export function emdash(config: EmDashConfig = {}): AstroIntegration {
473
529
  name: "emdash",
474
530
  hooks: {
475
531
  "astro:config:setup": ({
476
- injectRoute,
532
+ injectRoute: astroInjectRoute,
477
533
  addMiddleware,
478
534
  logger,
479
535
  updateConfig,
@@ -599,6 +655,12 @@ export function emdash(config: EmDashConfig = {}): AstroIntegration {
599
655
  ),
600
656
  });
601
657
 
658
+ // Astro reads a route's `export const prerender` by matching the file's
659
+ // source text, which the compiled route modules don't match. Without an
660
+ // explicit value, `output: "static"` would prerender them.
661
+ const injectRoute: typeof astroInjectRoute = (route) =>
662
+ astroInjectRoute({ ...route, prerender: false });
663
+
602
664
  // Inject all core routes
603
665
  injectCoreRoutes(injectRoute, { srcDir: astroConfig.srcDir });
604
666
 
@@ -628,6 +690,10 @@ export function emdash(config: EmDashConfig = {}): AstroIntegration {
628
690
  "astro:config:done": async ({ config: finalConfig, logger }) => {
629
691
  const warning = missingReactIntegrationWarning(finalConfig.integrations);
630
692
  if (warning) logger.warn(warning);
693
+ const sessionWarning = useExternalAuth
694
+ ? undefined
695
+ : missingSessionDriverWarning(finalConfig.session);
696
+ if (sessionWarning) logger.warn(sessionWarning);
631
697
 
632
698
  if (astroCommand !== "build" && astroCommand !== "sync") return;
633
699
  if (!migrationMetadata.database) {
@@ -669,8 +735,8 @@ export function emdash(config: EmDashConfig = {}): AstroIntegration {
669
735
  });
670
736
  }
671
737
 
672
- // Generate types once the server is listening, and register the
673
- // refresh hook so schema mutations in dev update the file too.
738
+ // Generate types once the server is listening, and listen for
739
+ // schema mutations in dev so they update the file too.
674
740
  // The endpoint returns the types content; we write the file here
675
741
  // (in Node) because workerd has no real filesystem access.
676
742
  server.httpServer?.once("listening", () => {
@@ -679,7 +745,7 @@ export function emdash(config: EmDashConfig = {}): AstroIntegration {
679
745
 
680
746
  const port = address.port;
681
747
  const refreshDevTypes = createDebouncedTypegenRefresh(port, logger);
682
- setDevTypegenRefresh(refreshDevTypes);
748
+ listenForDevTypegenRefresh(server, refreshDevTypes);
683
749
 
684
750
  // Initial generation now that the server is up.
685
751
  refreshDevTypes();
@@ -667,6 +667,12 @@ export function injectCoreRoutes(
667
667
  entrypoint: resolveRoute("api/admin/plugins/updates.ts"),
668
668
  });
669
669
 
670
+ // Core update notice
671
+ injectRoute({
672
+ pattern: "/_emdash/api/admin/core-update",
673
+ entrypoint: resolveRoute("api/admin/core-update.ts"),
674
+ });
675
+
670
676
  // Exclusive hooks admin routes
671
677
  injectRoute({
672
678
  pattern: "/_emdash/api/admin/hooks/exclusive",
@@ -81,7 +81,7 @@ export interface StorageCollectionDeclaration {
81
81
  uniqueIndexes?: string[];
82
82
  }
83
83
 
84
- export interface PluginDescriptor<TOptions = Record<string, unknown>> {
84
+ export interface PluginDescriptor<TOptions extends object = object> {
85
85
  /** Unique plugin identifier */
86
86
  id: string;
87
87
  /** Plugin version (semver) */
@@ -169,7 +169,7 @@ export interface PluginDescriptor<TOptions = Record<string, unknown>> {
169
169
  * These run in isolated V8 isolates via Worker Loader on Cloudflare.
170
170
  * The `entrypoint` is resolved to a file and bundled at build time.
171
171
  */
172
- export type SandboxedPluginDescriptor<TOptions = Record<string, unknown>> =
172
+ export type SandboxedPluginDescriptor<TOptions extends object = object> =
173
173
  PluginDescriptor<TOptions>;
174
174
 
175
175
  export interface EmDashConfig {
@@ -214,10 +214,12 @@ export interface EmDashConfig {
214
214
  * Preview and visual-edit requests bypass the cache, so editors previewing
215
215
  * see live content. All other reads — including authenticated browsing outside
216
216
  * edit mode — are served from the cache, which only ever stores published
217
- * content. After an edit, anonymous visitors may see stale content until other
218
- * isolates pick up the bumped epoch: immediate with the memory backend, and on
219
- * KV bounded by KV's edge-cache propagation (eventual consistency, up to ~60s)
220
- * plus the isolate-local `revalidate` window (default 1s).
217
+ * content. When Astro route caching is enabled, a rendered cache fill bypasses
218
+ * the object cache so a purged page cannot be rebuilt from an older snapshot.
219
+ * Other requests may see stale content until isolates pick up the bumped epoch:
220
+ * immediate with the memory backend, and on KV bounded by KV's edge-cache
221
+ * propagation (eventual consistency, up to ~60s) plus the isolate-local
222
+ * `revalidate` window (default 1s).
221
223
  *
222
224
  * Scheduled content becomes visible at query time (no write event fires when
223
225
  * its publish time passes), so a cached list/entry won't surface a newly-due
@@ -403,6 +405,27 @@ export interface EmDashConfig {
403
405
  */
404
406
  registry?: RegistryConfigOption;
405
407
 
408
+ /**
409
+ * Core update notice in the admin dashboard.
410
+ *
411
+ * When enabled (the default), EmDash checks the public npm registry
412
+ * (`registry.npmjs.org`) at most once per day for published `emdash`
413
+ * releases and shows a dismissible banner in the admin dashboard when
414
+ * a newer version is available. The check is deferred after the
415
+ * response and carries no site data — it's a plain GET to the public
416
+ * registry. Sites without outbound internet simply never see the banner.
417
+ *
418
+ * The banner names the newest stable release that has been public for
419
+ * `minimumReleaseAge`: a duration string (`"48h"`, `"7d"`) or a number
420
+ * of seconds, `"24h"` by default. Set it to match a package manager's
421
+ * release-age policy, such as pnpm's `minimumReleaseAge`.
422
+ *
423
+ * Set to `false` to disable the check entirely.
424
+ *
425
+ * @default true
426
+ */
427
+ updateCheck?: boolean | { minimumReleaseAge?: string | number };
428
+
406
429
  /**
407
430
  * Experimental features.
408
431
  *
@@ -628,6 +651,7 @@ export interface EmDashConfig {
628
651
  * admin: {
629
652
  * logo: "/images/agency-logo.webp",
630
653
  * siteName: "AgencyX CMS",
654
+ * footerLabel: "AgencyX",
631
655
  * favicon: "/favicon.ico",
632
656
  * },
633
657
  * })
@@ -636,8 +660,10 @@ export interface EmDashConfig {
636
660
  admin?: {
637
661
  /** URL or path to a custom logo image for the admin UI (login page, sidebar). */
638
662
  logo?: string;
639
- /** Custom name displayed in the admin sidebar and browser tab. */
663
+ /** Custom name displayed in the admin sidebar header and browser tab. */
640
664
  siteName?: string;
665
+ /** Label displayed beside the version in the sidebar footer. Set to false to hide it. */
666
+ footerLabel?: string | false;
641
667
  /** URL or path to a custom favicon for the admin panel. */
642
668
  favicon?: string;
643
669
  };
@@ -295,6 +295,7 @@ export function generatePluginsModule(descriptors: PluginDescriptor[]): string {
295
295
  settingsSchema: descriptor.settingsSchema,
296
296
  portableTextBlocks: descriptor.portableTextBlocks,
297
297
  fieldWidgets: descriptor.fieldWidgets,
298
+ mcp: descriptor.mcp,
298
299
  })})`,
299
300
  );
300
301
  } else {
@@ -7,8 +7,8 @@
7
7
 
8
8
  import { existsSync } from "node:fs";
9
9
  import { createRequire } from "node:module";
10
- import { dirname, isAbsolute, relative, resolve } from "node:path";
11
- import { fileURLToPath } from "node:url";
10
+ import { dirname, isAbsolute, relative, resolve, win32 } from "node:path";
11
+ import { fileURLToPath, pathToFileURL } from "node:url";
12
12
 
13
13
  import type { AstroConfig } from "astro";
14
14
  import type { Plugin } from "vite";
@@ -70,16 +70,22 @@ import {
70
70
  } from "./virtual-modules.js";
71
71
 
72
72
  const LOCALE_MESSAGES_RE = /[/\\]([a-z]{2}(?:-[A-Z]{2})?)[/\\]messages\.mjs$/;
73
+
74
+ export function pathToImportUrl(path: string): string {
75
+ return pathToFileURL(path, { windows: win32.isAbsolute(path) }).href;
76
+ }
77
+
73
78
  /**
74
79
  * Vite plugin that compiles Lingui macros in admin source files.
75
80
  * Only active in dev mode when the admin package is aliased to source for HMR.
76
81
  * @babel/core is dynamically imported from admin's devDependencies —
77
82
  * not declared by core, never ships to end users.
78
83
  */
79
- function linguiMacroPlugin(adminSourcePath: string, adminDistPath: string): Plugin {
80
- // Resolve @babel/core from admin's devDependencies, not core's.
84
+ export function linguiMacroPlugin(adminSourcePath: string, adminDistPath: string): Plugin {
81
85
  const adminRequire = createRequire(resolve(adminDistPath, "index.js"));
82
86
  const babelCorePath = adminRequire.resolve("@babel/core");
87
+ const linguiMacroPluginPath = adminRequire.resolve("@lingui/babel-plugin-lingui-macro");
88
+ const adminSourceVitePath = adminSourcePath.replaceAll("\\", "/");
83
89
 
84
90
  return {
85
91
  name: "emdash-lingui-macro",
@@ -88,18 +94,20 @@ function linguiMacroPlugin(adminSourcePath: string, adminDistPath: string): Plug
88
94
  // Redirect relative locale catalog imports (e.g. ./de/messages.mjs) from
89
95
  // within admin source to the compiled dist/locales/ directory, since
90
96
  // lingui compile only runs during build — not in dev watch mode.
91
- if (!importer?.startsWith(adminSourcePath)) return;
97
+ if (!importer?.startsWith(adminSourceVitePath)) return;
92
98
  const match = id.match(LOCALE_MESSAGES_RE);
93
99
  if (match?.[1]) {
94
100
  return resolve(adminDistPath, "locales", match[1], "messages.mjs");
95
101
  }
96
102
  },
97
103
  async transform(code, id) {
98
- if (!id.startsWith(adminSourcePath) || !code.includes("@lingui")) return;
99
- const { transformAsync } = (await import(babelCorePath)) as typeof import("@babel/core");
104
+ if (!id.startsWith(adminSourceVitePath) || !code.includes("@lingui")) return;
105
+ const { transformAsync } = (await import(
106
+ pathToImportUrl(babelCorePath)
107
+ )) as typeof import("@babel/core");
100
108
  const result = await transformAsync(code, {
101
109
  filename: id,
102
- plugins: ["@lingui/babel-plugin-lingui-macro"],
110
+ plugins: [linguiMacroPluginPath],
103
111
  parserOpts: { plugins: ["jsx", "typescript"] },
104
112
  });
105
113
  if (!result?.code) return;
@@ -19,6 +19,7 @@ import { defineMiddleware } from "astro:middleware";
19
19
  import { RedirectRepository } from "../../database/repositories/redirect.js";
20
20
  import { getDb } from "../../loader.js";
21
21
  import { loadCachedRedirects, matchCachedPatterns } from "../../redirects/cache.js";
22
+ import { isSiteRelativeDestination } from "../../redirects/destination.js";
22
23
  import { isTerminalStatus } from "../../redirects/status.js";
23
24
 
24
25
  /** Paths that should never be intercepted by redirects */
@@ -33,6 +34,12 @@ function isRedirectCode(code: number): code is RedirectCode {
33
34
  return code === 301 || code === 302 || code === 303 || code === 307 || code === 308;
34
35
  }
35
36
 
37
+ function warnUnsafeDestination(id: string): void {
38
+ console.warn(
39
+ `[emdash:redirects] Skipping redirect ${id}: destination is not a site-relative path`,
40
+ );
41
+ }
42
+
36
43
  export const onRequest = defineMiddleware(async (context, next) => {
37
44
  const { pathname } = context.url;
38
45
 
@@ -80,7 +87,10 @@ export const onRequest = defineMiddleware(async (context, next) => {
80
87
  return new Response(null, { status: exact.type });
81
88
  }
82
89
  const dest = exact.destination;
83
- if (dest.startsWith("//") || dest.startsWith("/\\")) return next();
90
+ if (!isSiteRelativeDestination(dest)) {
91
+ warnUnsafeDestination(exact.id);
92
+ return next();
93
+ }
84
94
  repo.recordHit(exact.id).catch(() => {});
85
95
  const code = isRedirectCode(exact.type) ? exact.type : 301;
86
96
  return context.redirect(dest, code);
@@ -95,7 +105,10 @@ export const onRequest = defineMiddleware(async (context, next) => {
95
105
  repo.recordHit(redirect.id).catch(() => {});
96
106
  return new Response(null, { status: redirect.type });
97
107
  }
98
- if (destination.startsWith("//") || destination.startsWith("/\\")) return next();
108
+ if (!isSiteRelativeDestination(destination)) {
109
+ warnUnsafeDestination(redirect.id);
110
+ return next();
111
+ }
99
112
  repo.recordHit(redirect.id).catch(() => {});
100
113
  const code = isRedirectCode(redirect.type) ? redirect.type : 301;
101
114
  return context.redirect(destination, code);
@@ -2,7 +2,8 @@
2
2
  * EmDash Request Context Middleware
3
3
  *
4
4
  * Sets up AsyncLocalStorage-based request context for query functions.
5
- * Skips ALS entirely for logged-out users with no CMS signals (fast path).
5
+ * Skips ALS for logged-out users with no CMS signals unless a configured
6
+ * object cache must be fenced off during a route-cache render.
6
7
  *
7
8
  * Handles:
8
9
  * - Preview tokens: _preview query param with signed HMAC token
@@ -209,13 +210,19 @@ export const onRequest = defineMiddleware(async (context, next) => {
209
210
  }
210
211
  }
211
212
 
212
- // No CMS signals and not an editor → skip everything (zero overhead in
213
- // server mode; client mode injects the identical-for-everyone bootstrap)
213
+ // No CMS signals and not an editor. Route-cache renders get a context so
214
+ // object-cache reads cannot seed a fresh response with stale data; other
215
+ // requests retain the anonymous fast path.
214
216
  if (!hasEditCookie && !hasPreviewToken && !isEditor) {
215
- if (toolbarMode === "client") {
216
- return injectBootstrap(await next());
217
+ const render = async () => {
218
+ const response = await next();
219
+ return toolbarMode === "client" ? injectBootstrap(response) : response;
220
+ };
221
+ if (virtualConfig?.objectCacheEnabled && context.cache?.enabled) {
222
+ const parent = getRequestContext();
223
+ return runWithContext({ ...parent, editMode: false, routeCacheFill: true }, render);
217
224
  }
218
- return next();
225
+ return render();
219
226
  }
220
227
 
221
228
  // Determine edit mode: cookie AND authenticated editor
@@ -8,6 +8,8 @@ import { bylineUpdateBody } from "#api/schemas.js";
8
8
  import { invalidateBylineCache } from "#bylines/index.js";
9
9
  import { BylineRepository } from "#db/repositories/byline.js";
10
10
 
11
+ import { after } from "../../../../../../after.js";
12
+
11
13
  export const prerender = false;
12
14
 
13
15
  export const GET: APIRoute = async ({ params, locals }) => {
@@ -58,7 +60,11 @@ export const PUT: APIRoute = async ({ params, request, locals }) => {
58
60
  customFields: body.customFields,
59
61
  });
60
62
 
61
- if (result.success) invalidateBylineCache();
63
+ if (result.success) {
64
+ invalidateBylineCache();
65
+ const byline = result.data;
66
+ after(() => emdash.hooks.runBylineAfterSave(byline, false));
67
+ }
62
68
  return unwrapResult(result);
63
69
  };
64
70
 
@@ -73,9 +79,13 @@ export const DELETE: APIRoute = async ({ params, locals }) => {
73
79
 
74
80
  try {
75
81
  const repo = new BylineRepository(emdash.db);
82
+ const existing = emdash.hooks.hasHooks("byline:afterDelete")
83
+ ? await repo.findById(params.id!)
84
+ : null;
76
85
  const deleted = await repo.delete(params.id!);
77
86
  if (!deleted) return apiError("NOT_FOUND", "Byline not found", 404);
78
87
  invalidateBylineCache();
88
+ if (existing) after(() => emdash.hooks.runBylineAfterDelete(existing));
79
89
  return apiSuccess({ deleted: true });
80
90
  } catch (error) {
81
91
  return handleError(error, "Failed to delete byline", "BYLINE_DELETE_ERROR");
@@ -22,6 +22,8 @@ import { bylineTranslationCreateBody } from "#api/schemas.js";
22
22
  import { invalidateBylineCache } from "#bylines/index.js";
23
23
  import { BylineRepository } from "#db/repositories/byline.js";
24
24
 
25
+ import { after } from "../../../../../../after.js";
26
+
25
27
  export const prerender = false;
26
28
 
27
29
  export const GET: APIRoute = async ({ params, locals }) => {
@@ -84,7 +86,11 @@ export const POST: APIRoute = async ({ params, request, locals }) => {
84
86
  translationOf: id,
85
87
  });
86
88
 
87
- if (result.success) invalidateBylineCache();
89
+ if (result.success) {
90
+ invalidateBylineCache();
91
+ const byline = result.data;
92
+ after(() => emdash.hooks.runBylineAfterSave(byline, true));
93
+ }
88
94
  return unwrapResult(result, 201);
89
95
  } catch (error) {
90
96
  return handleError(
@@ -8,6 +8,7 @@ import { bylineCreateBody, bylinesListQuery } from "#api/schemas.js";
8
8
  import { invalidateBylineCache } from "#bylines/index.js";
9
9
  import { BylineRepository } from "#db/repositories/byline.js";
10
10
 
11
+ import { after } from "../../../../../after.js";
11
12
  import { getI18nConfig, resolveConfiguredLocale } from "../../../../../i18n/config.js";
12
13
 
13
14
  export const prerender = false;
@@ -75,7 +76,11 @@ export const POST: APIRoute = async ({ request, locals }) => {
75
76
  customFields: body.customFields,
76
77
  });
77
78
 
78
- if (result.success) invalidateBylineCache();
79
+ if (result.success) {
80
+ invalidateBylineCache();
81
+ const byline = result.data;
82
+ after(() => emdash.hooks.runBylineAfterSave(byline, true));
83
+ }
79
84
  return unwrapResult(result, 201);
80
85
  } catch (error) {
81
86
  return handleError(error, "Failed to create byline", "BYLINE_CREATE_ERROR");
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Core update status endpoint
3
+ *
4
+ * GET /_emdash/api/admin/core-update - Cached "is a newer EmDash
5
+ * version available?" status for the admin dashboard banner. Serves
6
+ * the options-table cache and defers the (at most daily) npm registry
7
+ * refresh via `after()`, so it never blocks on the network.
8
+ */
9
+
10
+ import type { APIRoute } from "astro";
11
+
12
+ import { requirePerm } from "#api/authorize.js";
13
+ import { apiError, unwrapResult } from "#api/error.js";
14
+ import { handleCoreUpdateStatus, minimumReleaseAgeSeconds } from "#api/handlers/update-check.js";
15
+
16
+ export const prerender = false;
17
+
18
+ export const GET: APIRoute = async ({ locals }) => {
19
+ const { emdash, user } = locals;
20
+
21
+ if (!emdash?.db) {
22
+ return apiError("NOT_CONFIGURED", "EmDash is not initialized", 500);
23
+ }
24
+
25
+ const denied = requirePerm(user, "updates:read");
26
+ if (denied) return denied;
27
+
28
+ const { updateCheck } = emdash.config;
29
+ const result = await handleCoreUpdateStatus(emdash.db, {
30
+ enabled: updateCheck !== false,
31
+ minimumReleaseAgeSeconds: minimumReleaseAgeSeconds(updateCheck),
32
+ });
33
+ return unwrapResult(result);
34
+ };
@@ -11,6 +11,7 @@ import type { APIRoute } from "astro";
11
11
 
12
12
  import { requirePerm } from "#api/authorize.js";
13
13
  import { apiError } from "#api/error.js";
14
+ import { fetchWithinOrigin, MarketplaceError } from "#plugins/marketplace.js";
14
15
 
15
16
  export const prerender = false;
16
17
 
@@ -35,7 +36,7 @@ export const GET: APIRoute = async ({ params, url, locals }) => {
35
36
  if (width) target.searchParams.set("w", width);
36
37
 
37
38
  try {
38
- const resp = await fetch(target.href);
39
+ const resp = await fetchWithinOrigin(target.href, "Icon fetch", "PROXY");
39
40
  if (!resp.ok) {
40
41
  // Allowlist: only forward Content-Type from upstream.
41
42
  // Never copy all upstream headers (denylist approach leaks
@@ -55,7 +56,10 @@ export const GET: APIRoute = async ({ params, url, locals }) => {
55
56
  "Cache-Control": "private, no-store",
56
57
  },
57
58
  });
58
- } catch {
59
+ } catch (error) {
60
+ if (error instanceof MarketplaceError && error.code) {
61
+ return apiError(error.code, "Icon redirect was not followed", 502);
62
+ }
59
63
  return apiError("PROXY_ERROR", "Failed to fetch icon", 502);
60
64
  }
61
65
  };
@@ -11,6 +11,7 @@ import type { APIRoute } from "astro";
11
11
 
12
12
  import { requirePerm } from "#api/authorize.js";
13
13
  import { apiError } from "#api/error.js";
14
+ import { fetchWithinOrigin, MarketplaceError } from "#plugins/marketplace.js";
14
15
 
15
16
  export const prerender = false;
16
17
 
@@ -35,7 +36,7 @@ export const GET: APIRoute = async ({ params, url, locals }) => {
35
36
  if (width) target.searchParams.set("w", width);
36
37
 
37
38
  try {
38
- const resp = await fetch(target.href);
39
+ const resp = await fetchWithinOrigin(target.href, "Thumbnail fetch", "PROXY");
39
40
  if (!resp.ok) {
40
41
  // Allowlist: only forward Content-Type from upstream.
41
42
  // Never copy all upstream headers (denylist approach leaks
@@ -55,7 +56,10 @@ export const GET: APIRoute = async ({ params, url, locals }) => {
55
56
  "Cache-Control": "private, no-store",
56
57
  },
57
58
  });
58
- } catch {
59
+ } catch (error) {
60
+ if (error instanceof MarketplaceError && error.code) {
61
+ return apiError(error.code, "Thumbnail redirect was not followed", 502);
62
+ }
59
63
  return apiError("PROXY_ERROR", "Failed to fetch thumbnail", 502);
60
64
  }
61
65
  };
@@ -22,12 +22,15 @@ import { createChallengeStore } from "#auth/challenge-store.js";
22
22
  import { getPasskeyConfig } from "#auth/passkey-config.js";
23
23
  import { OptionsRepository } from "#db/repositories/options.js";
24
24
 
25
+ import { sessionUnavailableError } from "../../../../session-user.js";
26
+
25
27
  export const POST: APIRoute = async ({ request, locals, session }) => {
26
28
  const { emdash } = locals;
27
29
 
28
30
  if (!emdash?.db) {
29
31
  return apiError("NOT_CONFIGURED", "EmDash is not initialized", 500);
30
32
  }
33
+ if (!session) return sessionUnavailableError();
31
34
 
32
35
  try {
33
36
  const body = await parseBody(request, inviteCompleteBody);
@@ -62,10 +65,7 @@ export const POST: APIRoute = async ({ request, locals, session }) => {
62
65
  // Register the passkey for the new user
63
66
  await registerPasskey(adapter, user.id, verified, "Initial passkey");
64
67
 
65
- // Create session
66
- if (session) {
67
- session.set("user", { id: user.id });
68
- }
68
+ session.set("user", { id: user.id });
69
69
 
70
70
  return apiSuccess({
71
71
  success: true,
@@ -21,6 +21,8 @@ import { apiError, apiSuccess, handleError } from "#api/error.js";
21
21
  import { isParseError, parseBody } from "#api/parse.js";
22
22
  import { magicLinkVerifyBody } from "#api/schemas.js";
23
23
 
24
+ import { sessionUnavailableError } from "../../../../session-user.js";
25
+
24
26
  export const GET: APIRoute = async ({ url, redirect }) => {
25
27
  const token = url.searchParams.get("token");
26
28
  if (!token) {
@@ -39,6 +41,7 @@ export const POST: APIRoute = async ({ request, locals, session }) => {
39
41
  if (!emdash?.db) {
40
42
  return apiError("NOT_CONFIGURED", "EmDash is not initialized", 500);
41
43
  }
44
+ if (!session) return sessionUnavailableError();
42
45
 
43
46
  try {
44
47
  const body = await parseBody(request, magicLinkVerifyBody);
@@ -50,7 +53,7 @@ export const POST: APIRoute = async ({ request, locals, session }) => {
50
53
  // Fire-and-forget cleanup of expired tokens -- prevents accumulation
51
54
  void adapter.deleteExpiredTokens().catch(() => {});
52
55
 
53
- session?.set("user", { id: user.id });
56
+ session.set("user", { id: user.id });
54
57
 
55
58
  return apiSuccess({ success: true });
56
59
  } catch (error) {