dineway 0.1.8 → 0.1.11

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 (690) hide show
  1. package/LICENSE +9 -0
  2. package/README.md +63 -17
  3. package/dist/activity-events-BsMaXdJa.mjs +540 -0
  4. package/dist/allowed-origins-DG86sH8U.mjs +68 -0
  5. package/dist/api/route-utils.d.mts +41 -0
  6. package/dist/api/route-utils.mjs +26 -0
  7. package/dist/api/schemas/index.d.mts +3 -0
  8. package/dist/api/schemas/index.mjs +6 -0
  9. package/dist/api/schemas/setup.d.mts +42 -0
  10. package/dist/api/schemas/setup.mjs +39 -0
  11. package/dist/api-Cmy8Rjk5.mjs +2704 -0
  12. package/dist/api-tokens-Bu3ez1MO.mjs +153 -0
  13. package/dist/api-tokens-DzloJxuh.mjs +3 -0
  14. package/dist/{apply-iVSqz2qs.mjs → apply-Co5imxxT.mjs} +15 -689
  15. package/dist/astro/index.d.mts +10 -6
  16. package/dist/astro/index.mjs +86 -11
  17. package/dist/astro/middleware/auth.d.mts +10 -7
  18. package/dist/astro/middleware/auth.mjs +19 -104
  19. package/dist/astro/middleware/redirect.mjs +24 -14
  20. package/dist/astro/middleware/request-context.mjs +9 -6
  21. package/dist/astro/middleware/setup.mjs +1 -1
  22. package/dist/astro/middleware.mjs +86 -145
  23. package/dist/astro/routes/PluginRegistry.d.mts +14 -0
  24. package/dist/astro/routes/PluginRegistry.mjs +24 -0
  25. package/dist/astro/routes/api/admin/allowed-domains/_domain_.d.mts +14 -0
  26. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +65 -0
  27. package/dist/astro/routes/api/admin/allowed-domains/index.d.mts +14 -0
  28. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +65 -0
  29. package/dist/astro/routes/api/admin/api-tokens/_id_.d.mts +10 -0
  30. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +33 -0
  31. package/dist/astro/routes/api/admin/api-tokens/index.d.mts +16 -0
  32. package/dist/astro/routes/api/admin/api-tokens/index.mjs +59 -0
  33. package/dist/astro/routes/api/admin/briefing.d.mts +7 -0
  34. package/dist/astro/routes/api/admin/briefing.mjs +71 -0
  35. package/dist/astro/routes/api/admin/bylines/_id_/index.d.mts +9 -0
  36. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +74 -0
  37. package/dist/astro/routes/api/admin/bylines/index.d.mts +8 -0
  38. package/dist/astro/routes/api/admin/bylines/index.mjs +61 -0
  39. package/dist/astro/routes/api/admin/comments/_id_/status.d.mts +7 -0
  40. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +80 -0
  41. package/dist/astro/routes/api/admin/comments/_id_.d.mts +14 -0
  42. package/dist/astro/routes/api/admin/comments/_id_.mjs +46 -0
  43. package/dist/astro/routes/api/admin/comments/bulk.d.mts +7 -0
  44. package/dist/astro/routes/api/admin/comments/bulk.mjs +36 -0
  45. package/dist/astro/routes/api/admin/comments/counts.d.mts +7 -0
  46. package/dist/astro/routes/api/admin/comments/counts.mjs +24 -0
  47. package/dist/astro/routes/api/admin/comments/index.d.mts +10 -0
  48. package/dist/astro/routes/api/admin/comments/index.mjs +40 -0
  49. package/dist/astro/routes/api/admin/context/_id_/history.d.mts +7 -0
  50. package/dist/astro/routes/api/admin/context/_id_/history.mjs +45 -0
  51. package/dist/astro/routes/api/admin/context/_id_/index.d.mts +7 -0
  52. package/dist/astro/routes/api/admin/context/_id_/index.mjs +45 -0
  53. package/dist/astro/routes/api/admin/context/_id_/review.d.mts +7 -0
  54. package/dist/astro/routes/api/admin/context/_id_/review.mjs +60 -0
  55. package/dist/astro/routes/api/admin/context/_id_/supersede.d.mts +7 -0
  56. package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +63 -0
  57. package/dist/astro/routes/api/admin/context/diff.d.mts +7 -0
  58. package/dist/astro/routes/api/admin/context/diff.mjs +49 -0
  59. package/dist/astro/routes/api/admin/context/index.d.mts +8 -0
  60. package/dist/astro/routes/api/admin/context/index.mjs +71 -0
  61. package/dist/astro/routes/api/admin/context/stale.d.mts +7 -0
  62. package/dist/astro/routes/api/admin/context/stale.mjs +49 -0
  63. package/dist/astro/routes/api/admin/hitl-requests/_id_/index.d.mts +7 -0
  64. package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +51 -0
  65. package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.d.mts +7 -0
  66. package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +67 -0
  67. package/dist/astro/routes/api/admin/hitl-requests/index.d.mts +7 -0
  68. package/dist/astro/routes/api/admin/hitl-requests/index.mjs +55 -0
  69. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.d.mts +7 -0
  70. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +98 -0
  71. package/dist/astro/routes/api/admin/hooks/exclusive/index.d.mts +7 -0
  72. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +33 -0
  73. package/dist/astro/routes/api/admin/oauth-clients/_id_.d.mts +18 -0
  74. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +79 -0
  75. package/dist/astro/routes/api/admin/oauth-clients/index.d.mts +14 -0
  76. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +58 -0
  77. package/dist/astro/routes/api/admin/plugins/_id_/disable.d.mts +7 -0
  78. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +89 -0
  79. package/dist/astro/routes/api/admin/plugins/_id_/enable.d.mts +7 -0
  80. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +89 -0
  81. package/dist/astro/routes/api/admin/plugins/_id_/index.d.mts +7 -0
  82. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +54 -0
  83. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.d.mts +7 -0
  84. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +98 -0
  85. package/dist/astro/routes/api/admin/plugins/_id_/update.d.mts +7 -0
  86. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +131 -0
  87. package/dist/astro/routes/api/admin/plugins/index.d.mts +7 -0
  88. package/dist/astro/routes/api/admin/plugins/index.mjs +52 -0
  89. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.d.mts +7 -0
  90. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +36 -0
  91. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.d.mts +7 -0
  92. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +54 -0
  93. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.d.mts +7 -0
  94. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +128 -0
  95. package/dist/astro/routes/api/admin/plugins/marketplace/index.d.mts +7 -0
  96. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +61 -0
  97. package/dist/astro/routes/api/admin/plugins/updates.d.mts +7 -0
  98. package/dist/astro/routes/api/admin/plugins/updates.mjs +52 -0
  99. package/dist/astro/routes/api/admin/review-requests/_id_/index.d.mts +7 -0
  100. package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +26 -0
  101. package/dist/astro/routes/api/admin/review-requests/_id_/resolve.d.mts +7 -0
  102. package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +97 -0
  103. package/dist/astro/routes/api/admin/review-requests/index.d.mts +7 -0
  104. package/dist/astro/routes/api/admin/review-requests/index.mjs +31 -0
  105. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.d.mts +7 -0
  106. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +54 -0
  107. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.d.mts +7 -0
  108. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +36 -0
  109. package/dist/astro/routes/api/admin/themes/marketplace/index.d.mts +7 -0
  110. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +70 -0
  111. package/dist/astro/routes/api/admin/users/_id_/disable.d.mts +7 -0
  112. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +38 -0
  113. package/dist/astro/routes/api/admin/users/_id_/enable.d.mts +7 -0
  114. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +29 -0
  115. package/dist/astro/routes/api/admin/users/_id_/index.d.mts +8 -0
  116. package/dist/astro/routes/api/admin/users/_id_/index.mjs +104 -0
  117. package/dist/astro/routes/api/admin/users/_id_/send-recovery.d.mts +7 -0
  118. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +43 -0
  119. package/dist/astro/routes/api/admin/users/index.d.mts +7 -0
  120. package/dist/astro/routes/api/admin/users/index.mjs +54 -0
  121. package/dist/astro/routes/api/auth/dev-bypass.d.mts +8 -0
  122. package/dist/astro/routes/api/auth/dev-bypass.mjs +81 -0
  123. package/dist/astro/routes/api/auth/invite/accept.d.mts +7 -0
  124. package/dist/astro/routes/api/auth/invite/accept.mjs +31 -0
  125. package/dist/astro/routes/api/auth/invite/complete.d.mts +7 -0
  126. package/dist/astro/routes/api/auth/invite/complete.mjs +54 -0
  127. package/dist/astro/routes/api/auth/invite/index.d.mts +7 -0
  128. package/dist/astro/routes/api/auth/invite/index.mjs +51 -0
  129. package/dist/astro/routes/api/auth/invite/register-options.d.mts +7 -0
  130. package/dist/astro/routes/api/auth/invite/register-options.mjs +44 -0
  131. package/dist/astro/routes/api/auth/logout.d.mts +7 -0
  132. package/dist/astro/routes/api/auth/logout.mjs +24 -0
  133. package/dist/astro/routes/api/auth/magic-link/send.d.mts +7 -0
  134. package/dist/astro/routes/api/auth/magic-link/send.mjs +48 -0
  135. package/dist/astro/routes/api/auth/magic-link/verify.d.mts +7 -0
  136. package/dist/astro/routes/api/auth/magic-link/verify.mjs +32 -0
  137. package/dist/astro/routes/api/auth/me.d.mts +13 -0
  138. package/dist/astro/routes/api/auth/me.mjs +41 -0
  139. package/dist/astro/routes/api/auth/mode.d.mts +7 -0
  140. package/dist/astro/routes/api/auth/mode.mjs +28 -0
  141. package/dist/astro/routes/api/auth/oauth/_provider_/callback.d.mts +7 -0
  142. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +114 -0
  143. package/dist/astro/routes/api/auth/oauth/_provider_.d.mts +7 -0
  144. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +58 -0
  145. package/dist/astro/routes/api/auth/passkey/_id_.d.mts +14 -0
  146. package/dist/astro/routes/api/auth/passkey/_id_.mjs +62 -0
  147. package/dist/astro/routes/api/auth/passkey/index.d.mts +7 -0
  148. package/dist/astro/routes/api/auth/passkey/index.mjs +25 -0
  149. package/dist/astro/routes/api/auth/passkey/options.d.mts +7 -0
  150. package/dist/astro/routes/api/auth/passkey/options.mjs +46 -0
  151. package/dist/astro/routes/api/auth/passkey/register/options.d.mts +7 -0
  152. package/dist/astro/routes/api/auth/passkey/register/options.mjs +44 -0
  153. package/dist/astro/routes/api/auth/passkey/register/verify.d.mts +7 -0
  154. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +59 -0
  155. package/dist/astro/routes/api/auth/passkey/verify.d.mts +7 -0
  156. package/dist/astro/routes/api/auth/passkey/verify.mjs +47 -0
  157. package/dist/astro/routes/api/auth/signup/complete.d.mts +7 -0
  158. package/dist/astro/routes/api/auth/signup/complete.mjs +55 -0
  159. package/dist/astro/routes/api/auth/signup/request.d.mts +7 -0
  160. package/dist/astro/routes/api/auth/signup/request.mjs +44 -0
  161. package/dist/astro/routes/api/auth/signup/verify.d.mts +7 -0
  162. package/dist/astro/routes/api/auth/signup/verify.mjs +32 -0
  163. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.d.mts +14 -0
  164. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +193 -0
  165. package/dist/astro/routes/api/content/_collection_/_id_/compare.d.mts +7 -0
  166. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +17 -0
  167. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.d.mts +7 -0
  168. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +36 -0
  169. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.d.mts +7 -0
  170. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +39 -0
  171. package/dist/astro/routes/api/content/_collection_/_id_/permanent.d.mts +7 -0
  172. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +31 -0
  173. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.d.mts +7 -0
  174. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +78 -0
  175. package/dist/astro/routes/api/content/_collection_/_id_/publish.d.mts +7 -0
  176. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +92 -0
  177. package/dist/astro/routes/api/content/_collection_/_id_/restore.d.mts +7 -0
  178. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +36 -0
  179. package/dist/astro/routes/api/content/_collection_/_id_/revisions.d.mts +7 -0
  180. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +19 -0
  181. package/dist/astro/routes/api/content/_collection_/_id_/schedule.d.mts +8 -0
  182. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +75 -0
  183. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.d.mts +14 -0
  184. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +85 -0
  185. package/dist/astro/routes/api/content/_collection_/_id_/translations.d.mts +7 -0
  186. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +40 -0
  187. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.d.mts +7 -0
  188. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +36 -0
  189. package/dist/astro/routes/api/content/_collection_/_id_.d.mts +9 -0
  190. package/dist/astro/routes/api/content/_collection_/_id_.mjs +114 -0
  191. package/dist/astro/routes/api/content/_collection_/index.d.mts +8 -0
  192. package/dist/astro/routes/api/content/_collection_/index.mjs +74 -0
  193. package/dist/astro/routes/api/content/_collection_/trash.d.mts +7 -0
  194. package/dist/astro/routes/api/content/_collection_/trash.mjs +23 -0
  195. package/dist/astro/routes/api/dashboard.d.mts +7 -0
  196. package/dist/astro/routes/api/dashboard.mjs +26 -0
  197. package/dist/astro/routes/api/dev/emails.d.mts +8 -0
  198. package/dist/astro/routes/api/dev/emails.mjs +17 -0
  199. package/dist/astro/routes/api/health.d.mts +7 -0
  200. package/dist/astro/routes/api/health.mjs +34 -0
  201. package/dist/astro/routes/api/import/probe.d.mts +17 -0
  202. package/dist/astro/routes/api/import/probe.mjs +33 -0
  203. package/dist/astro/routes/api/import/wordpress/analyze.d.mts +87 -0
  204. package/dist/astro/routes/api/import/wordpress/analyze.mjs +305 -0
  205. package/dist/astro/routes/api/import/wordpress/execute.d.mts +37 -0
  206. package/dist/astro/routes/api/import/wordpress/execute.mjs +197 -0
  207. package/dist/astro/routes/api/import/wordpress/media.d.mts +35 -0
  208. package/dist/astro/routes/api/import/wordpress/media.mjs +222 -0
  209. package/dist/astro/routes/api/import/wordpress/prepare.d.mts +19 -0
  210. package/dist/astro/routes/api/import/wordpress/prepare.mjs +155 -0
  211. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +21 -0
  212. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +289 -0
  213. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +15 -0
  214. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +69 -0
  215. package/dist/astro/routes/api/import/wordpress-plugin/callback.d.mts +7 -0
  216. package/dist/astro/routes/api/import/wordpress-plugin/callback.mjs +28 -0
  217. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +19 -0
  218. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +268 -0
  219. package/dist/astro/routes/api/manifest.d.mts +7 -0
  220. package/dist/astro/routes/api/manifest.mjs +50 -0
  221. package/dist/astro/routes/api/mcp.d.mts +15 -0
  222. package/dist/astro/routes/api/mcp.mjs +2700 -0
  223. package/dist/astro/routes/api/media/_id_/confirm.d.mts +10 -0
  224. package/dist/astro/routes/api/media/_id_/confirm.mjs +59 -0
  225. package/dist/astro/routes/api/media/_id_.d.mts +22 -0
  226. package/dist/astro/routes/api/media/_id_.mjs +81 -0
  227. package/dist/astro/routes/api/media/file/_...key_.d.mts +7 -0
  228. package/dist/astro/routes/api/media/file/_...key_.mjs +49 -0
  229. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.d.mts +14 -0
  230. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +49 -0
  231. package/dist/astro/routes/api/media/providers/_providerId_/index.d.mts +14 -0
  232. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +72 -0
  233. package/dist/astro/routes/api/media/providers/index.d.mts +10 -0
  234. package/dist/astro/routes/api/media/providers/index.mjs +18 -0
  235. package/dist/astro/routes/api/media/upload-url.d.mts +10 -0
  236. package/dist/astro/routes/api/media/upload-url.mjs +82 -0
  237. package/dist/astro/routes/api/media.d.mts +16 -0
  238. package/dist/astro/routes/api/media.mjs +137 -0
  239. package/dist/astro/routes/api/menus/_name_/items.d.mts +9 -0
  240. package/{src/astro/routes/api/menus/[name]/items.ts → dist/astro/routes/api/menus/_name_/items.mjs} +63 -105
  241. package/dist/astro/routes/api/menus/_name_/reorder.d.mts +7 -0
  242. package/dist/astro/routes/api/menus/_name_/reorder.mjs +77 -0
  243. package/dist/astro/routes/api/menus/_name_.d.mts +9 -0
  244. package/dist/astro/routes/api/menus/_name_.mjs +123 -0
  245. package/dist/astro/routes/api/menus/index.d.mts +8 -0
  246. package/dist/astro/routes/api/menus/index.mjs +84 -0
  247. package/dist/astro/routes/api/oauth/authorize.d.mts +8 -0
  248. package/dist/astro/routes/api/oauth/authorize.mjs +265 -0
  249. package/dist/astro/routes/api/oauth/device/authorize.d.mts +7 -0
  250. package/dist/astro/routes/api/oauth/device/authorize.mjs +30 -0
  251. package/dist/astro/routes/api/oauth/device/code.d.mts +7 -0
  252. package/dist/astro/routes/api/oauth/device/code.mjs +34 -0
  253. package/dist/astro/routes/api/oauth/device/token.d.mts +7 -0
  254. package/dist/astro/routes/api/oauth/device/token.mjs +45 -0
  255. package/dist/astro/routes/api/oauth/register.d.mts +8 -0
  256. package/dist/astro/routes/api/oauth/register.mjs +115 -0
  257. package/dist/astro/routes/api/oauth/token/refresh.d.mts +7 -0
  258. package/dist/astro/routes/api/oauth/token/refresh.mjs +28 -0
  259. package/dist/astro/routes/api/oauth/token/revoke.d.mts +7 -0
  260. package/dist/astro/routes/api/oauth/token/revoke.mjs +25 -0
  261. package/dist/astro/routes/api/oauth/token.d.mts +8 -0
  262. package/dist/astro/routes/api/oauth/token.mjs +138 -0
  263. package/dist/astro/routes/api/openapi.json.d.mts +7 -0
  264. package/dist/astro/routes/api/openapi.json.mjs +2638 -0
  265. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.d.mts +11 -0
  266. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +77 -0
  267. package/dist/astro/routes/api/redirects/404s/index.d.mts +9 -0
  268. package/dist/astro/routes/api/redirects/404s/index.mjs +62 -0
  269. package/dist/astro/routes/api/redirects/404s/summary.d.mts +7 -0
  270. package/dist/astro/routes/api/redirects/404s/summary.mjs +34 -0
  271. package/dist/astro/routes/api/redirects/_id_.d.mts +9 -0
  272. package/dist/astro/routes/api/redirects/_id_.mjs +152 -0
  273. package/dist/astro/routes/api/redirects/index.d.mts +8 -0
  274. package/dist/astro/routes/api/redirects/index.mjs +97 -0
  275. package/dist/astro/routes/api/revisions/_revisionId_/index.d.mts +7 -0
  276. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +16 -0
  277. package/dist/astro/routes/api/revisions/_revisionId_/restore.d.mts +7 -0
  278. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +23 -0
  279. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.d.mts +9 -0
  280. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +98 -0
  281. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.d.mts +8 -0
  282. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +80 -0
  283. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.d.mts +7 -0
  284. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +67 -0
  285. package/dist/astro/routes/api/schema/collections/_slug_/index.d.mts +9 -0
  286. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +97 -0
  287. package/dist/astro/routes/api/schema/collections/index.d.mts +8 -0
  288. package/dist/astro/routes/api/schema/collections/index.mjs +77 -0
  289. package/dist/astro/routes/api/schema/index.d.mts +7 -0
  290. package/dist/astro/routes/api/schema/index.mjs +79 -0
  291. package/dist/astro/routes/api/schema/orphans/_slug_.d.mts +7 -0
  292. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +58 -0
  293. package/dist/astro/routes/api/schema/orphans/index.d.mts +7 -0
  294. package/dist/astro/routes/api/schema/orphans/index.mjs +53 -0
  295. package/dist/astro/routes/api/search/enable.d.mts +15 -0
  296. package/dist/astro/routes/api/search/enable.mjs +55 -0
  297. package/dist/astro/routes/api/search/index.d.mts +16 -0
  298. package/dist/astro/routes/api/search/index.mjs +52 -0
  299. package/dist/astro/routes/api/search/rebuild.d.mts +13 -0
  300. package/dist/astro/routes/api/search/rebuild.mjs +48 -0
  301. package/dist/astro/routes/api/search/stats.d.mts +10 -0
  302. package/dist/astro/routes/api/search/stats.mjs +28 -0
  303. package/dist/astro/routes/api/search/suggest.d.mts +15 -0
  304. package/dist/astro/routes/api/search/suggest.mjs +43 -0
  305. package/dist/astro/routes/api/sections/_slug_.d.mts +9 -0
  306. package/dist/astro/routes/api/sections/_slug_.mjs +156 -0
  307. package/dist/astro/routes/api/sections/index.d.mts +8 -0
  308. package/dist/astro/routes/api/sections/index.mjs +99 -0
  309. package/dist/astro/routes/api/settings/email.d.mts +17 -0
  310. package/dist/astro/routes/api/settings/email.mjs +102 -0
  311. package/dist/astro/routes/api/settings.d.mts +20 -0
  312. package/dist/astro/routes/api/settings.mjs +101 -0
  313. package/dist/astro/routes/api/setup/admin-verify.d.mts +7 -0
  314. package/dist/astro/routes/api/setup/admin-verify.mjs +67 -0
  315. package/dist/astro/routes/api/setup/admin.d.mts +7 -0
  316. package/dist/astro/routes/api/setup/admin.mjs +68 -0
  317. package/dist/astro/routes/api/setup/dev-bypass.d.mts +8 -0
  318. package/dist/astro/routes/api/setup/dev-bypass.mjs +137 -0
  319. package/dist/astro/routes/api/setup/dev-reset.d.mts +7 -0
  320. package/dist/astro/routes/api/setup/dev-reset.mjs +22 -0
  321. package/dist/astro/routes/api/setup/index.d.mts +7 -0
  322. package/dist/astro/routes/api/setup/index.mjs +93 -0
  323. package/dist/astro/routes/api/setup/status.d.mts +7 -0
  324. package/dist/astro/routes/api/setup/status.mjs +57 -0
  325. package/dist/astro/routes/api/snapshot.d.mts +7 -0
  326. package/dist/astro/routes/api/snapshot.mjs +227 -0
  327. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.d.mts +18 -0
  328. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +189 -0
  329. package/dist/astro/routes/api/taxonomies/_name_/terms/index.d.mts +14 -0
  330. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +113 -0
  331. package/dist/astro/routes/api/taxonomies/index.d.mts +14 -0
  332. package/dist/astro/routes/api/taxonomies/index.mjs +103 -0
  333. package/dist/astro/routes/api/themes/preview.d.mts +7 -0
  334. package/dist/astro/routes/api/themes/preview.mjs +47 -0
  335. package/dist/astro/routes/api/typegen.d.mts +17 -0
  336. package/dist/astro/routes/api/typegen.mjs +75 -0
  337. package/dist/astro/routes/api/well-known/auth.d.mts +7 -0
  338. package/dist/astro/routes/api/well-known/auth.mjs +42 -0
  339. package/dist/astro/routes/api/well-known/oauth-authorization-server.d.mts +7 -0
  340. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +33 -0
  341. package/dist/astro/routes/api/well-known/oauth-protected-resource.d.mts +7 -0
  342. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +21 -0
  343. package/dist/astro/routes/api/widget-areas/_name_/reorder.d.mts +7 -0
  344. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +88 -0
  345. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.d.mts +8 -0
  346. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +158 -0
  347. package/dist/astro/routes/api/widget-areas/_name_/widgets.d.mts +7 -0
  348. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +104 -0
  349. package/dist/astro/routes/api/widget-areas/_name_.d.mts +8 -0
  350. package/dist/astro/routes/api/widget-areas/_name_.mjs +99 -0
  351. package/dist/astro/routes/api/widget-areas/index.d.mts +8 -0
  352. package/dist/astro/routes/api/widget-areas/index.mjs +108 -0
  353. package/dist/astro/routes/api/widget-components.d.mts +7 -0
  354. package/dist/astro/routes/api/widget-components.mjs +15 -0
  355. package/dist/astro/routes/robots.txt.d.mts +7 -0
  356. package/dist/astro/routes/robots.txt.mjs +60 -0
  357. package/dist/astro/routes/sitemap-_collection_.xml.d.mts +7 -0
  358. package/dist/astro/routes/sitemap-_collection_.xml.mjs +70 -0
  359. package/dist/astro/routes/sitemap.xml.d.mts +7 -0
  360. package/dist/astro/routes/sitemap.xml.mjs +63 -0
  361. package/dist/astro/types.d.mts +41 -9
  362. package/dist/auth/providers/github-admin.d.mts +9 -0
  363. package/dist/auth/providers/github-admin.mjs +27 -0
  364. package/dist/auth/providers/github.d.mts +12 -0
  365. package/dist/auth/providers/github.mjs +17 -0
  366. package/dist/auth/providers/google-admin.d.mts +9 -0
  367. package/dist/auth/providers/google-admin.mjs +43 -0
  368. package/dist/auth/providers/google.d.mts +12 -0
  369. package/dist/auth/providers/google.mjs +17 -0
  370. package/dist/auth-control-guard-DKUe_1oa.mjs +13 -0
  371. package/dist/authorize-BBj8C6Y8.mjs +36 -0
  372. package/dist/briefing-BrXCuMEE.mjs +1294 -0
  373. package/dist/briefing-ClWw4mc9.mjs +29 -0
  374. package/dist/{byline-OhH2dlRu.mjs → byline-naZxOPSa.mjs} +3 -3
  375. package/dist/{bylines-BGpD9_hy.mjs → bylines-BcOPh6Ej.mjs} +20 -53
  376. package/dist/bylines-HfUKum_j.d.mts +2023 -0
  377. package/dist/{cache-BdSY-gQN.mjs → cache-DEbQ13c9.mjs} +21 -11
  378. package/dist/challenge-store-DHMgBGOq.mjs +48 -0
  379. package/dist/cli/index.mjs +142 -22
  380. package/dist/client/external-auth-headers.d.mts +1 -1
  381. package/dist/client/index.d.mts +1 -1
  382. package/dist/client/index.mjs +3 -3
  383. package/dist/comment-DFO-gWDH.mjs +246 -0
  384. package/dist/comments-Gy3zLBaP.mjs +186 -0
  385. package/dist/components-DND2rd3D.mjs +107 -0
  386. package/dist/{content-DWi4d0rT.mjs → content-CyLkb-qH.mjs} +33 -44
  387. package/dist/context-bE5Kyvcj.mjs +184 -0
  388. package/dist/context-nxMyOe3p.mjs +849 -0
  389. package/dist/context-route-helpers-D-6uCQ0S.mjs +45 -0
  390. package/dist/context-types-C-LwdAxx.mjs +23 -0
  391. package/dist/cron-DGzVTtJp.mjs +263 -0
  392. package/dist/dashboard-DqnYU8EU.mjs +120 -0
  393. package/dist/db/index.d.mts +3 -3
  394. package/dist/db/libsql.d.mts +1 -1
  395. package/dist/db/libsql.mjs +3 -3
  396. package/dist/db/postgres.d.mts +1 -1
  397. package/dist/db/sqlite.d.mts +1 -1
  398. package/dist/db/sqlite.mjs +1 -2
  399. package/dist/device-flow-7AhWNwCK.mjs +487 -0
  400. package/dist/email-console-CgLVZbcn.mjs +36 -0
  401. package/dist/entity-aliases-C0v-yNET.mjs +51 -0
  402. package/dist/error-DEGjx2Xw.mjs +435 -0
  403. package/dist/escape-mNZr4t2A.mjs +8 -0
  404. package/dist/experimental-workflows-DldxJlqV.mjs +38 -0
  405. package/dist/fts-manager-B1pTNEG_.mjs +297 -0
  406. package/dist/hash-CDX7M0ze.mjs +32 -0
  407. package/dist/hitl-requests-Bx3Bkk9l.mjs +118 -0
  408. package/dist/hitl-route-helpers-DMmJRS7B.mjs +96 -0
  409. package/dist/import-DD3f2jkc.mjs +243 -0
  410. package/dist/import-DVZcYlDp.mjs +1323 -0
  411. package/dist/index-CkljPf5F.d.mts +227 -0
  412. package/dist/index.d.mts +15 -11
  413. package/dist/index.mjs +60 -22
  414. package/dist/{loader-sMG4TZ-u.mjs → loader-PZnPxFLc.mjs} +42 -5
  415. package/dist/{manifest-schema-D1MSVnoI.mjs → manifest-schema-DYoCQ5np.mjs} +22 -10
  416. package/dist/media/index.d.mts +1 -1
  417. package/dist/media/index.mjs +2 -1
  418. package/dist/media/local-runtime.d.mts +11 -7
  419. package/dist/media/local-runtime.mjs +3 -3
  420. package/dist/{media-DMTr80Gv.mjs → media-_7Fxdu45.mjs} +1 -1
  421. package/dist/menus-BacxVCCo.mjs +312 -0
  422. package/dist/menus-CrzHokKj.mjs +3502 -0
  423. package/dist/normalize-C49G_o1k.mjs +126 -0
  424. package/dist/oauth-authorization-C1qiw4hd.mjs +283 -0
  425. package/dist/oauth-clients-CvWatf5p.mjs +298 -0
  426. package/dist/oauth-state-store-hSdzxsEe.mjs +48 -0
  427. package/dist/oauth-user-lookup-B4OcmsLV.mjs +25 -0
  428. package/dist/options-z8VVg1Ll.mjs +114 -0
  429. package/dist/page/index.d.mts +2 -2
  430. package/dist/parse-BeQXIt1U.mjs +88 -0
  431. package/dist/passkey-config-Daqs5fjq.mjs +42 -0
  432. package/dist/{patterns-CrCYkMBb.mjs → patterns-K0DLqWir.mjs} +53 -1
  433. package/dist/{placeholder-Cp8g5Emj.mjs → placeholder-C2P5fKa4.mjs} +1 -126
  434. package/dist/plugins/adapt-sandbox-entry.d.mts +9 -5
  435. package/dist/plugins/adapt-sandbox-entry.mjs +4 -4
  436. package/dist/preview-C_4DyVox.mjs +788 -0
  437. package/dist/public-url-BB_umF5G.mjs +71 -0
  438. package/dist/{query-kDmwCsHh.mjs → query-RiobVwB5.mjs} +93 -19
  439. package/dist/rate-limit-CbJoj_fT.mjs +112 -0
  440. package/dist/{redirect-DnEWAkVg.mjs → redirect-CGl64yOX.mjs} +9 -5
  441. package/dist/redirect-ClSmMOtC.mjs +16 -0
  442. package/dist/redirects-B69T59hK.mjs +499 -0
  443. package/dist/redirects-CqaxraTO.mjs +1070 -0
  444. package/dist/{registry-C0zjeB9P.mjs → registry-C-_hxLqa.mjs} +26 -294
  445. package/dist/request-meta-Bd0mQfiS.mjs +130 -0
  446. package/dist/review-requests-C2DIHwlJ.mjs +148 -0
  447. package/dist/review-requests-DIyjw-K_.mjs +79 -0
  448. package/dist/{runner-CFI6B6J2.d.mts → runner-9eIQXuc2.d.mts} +1 -1
  449. package/dist/{index-yvc6E_17.d.mts → runtime-C4-7y7xK.d.mts} +1539 -2007
  450. package/dist/runtime.d.mts +10 -6
  451. package/dist/runtime.mjs +3 -3
  452. package/dist/schema-BNpI53of.mjs +40 -0
  453. package/dist/search-DM6CVti3.mjs +337 -0
  454. package/dist/secrets-dI8zzTV7.mjs +160 -0
  455. package/dist/sections-DZFyAQXd.mjs +338 -0
  456. package/dist/seed/index.d.mts +2 -2
  457. package/dist/seed/index.mjs +18 -13
  458. package/dist/seo/index.d.mts +1 -1
  459. package/dist/seo-BBgTCOYU.mjs +85 -0
  460. package/dist/seo-CUQctrog.mjs +129 -0
  461. package/dist/service-CSfcQguB.mjs +194 -0
  462. package/dist/settings-4XnpVMOS.mjs +223 -0
  463. package/dist/settings-Bw93cLfe.mjs +50 -0
  464. package/dist/setup-complete-DidsDQ1e.mjs +21 -0
  465. package/dist/setup-nonce-pml1PMKo.mjs +17 -0
  466. package/dist/sidecar-client-vzwV98K4.mjs +66 -0
  467. package/dist/site-activity-B8FjLIVh.mjs +104 -0
  468. package/dist/site-context-Bpu_Paur.mjs +4122 -0
  469. package/dist/site-url-CYIcO0Tj.mjs +12 -0
  470. package/dist/slugify-PDTDtMXp.mjs +30 -0
  471. package/dist/ssrf-CmM76lLV.mjs +248 -0
  472. package/dist/storage/local.d.mts +1 -1
  473. package/dist/storage/local.mjs +1 -1
  474. package/dist/storage/s3.d.mts +1 -1
  475. package/dist/storage/s3.mjs +2 -2
  476. package/dist/{taxonomies-1s5PaS_8.mjs → taxonomies-BvBgfzn3.mjs} +11 -7
  477. package/dist/taxonomies-CpqGcIJD.mjs +355 -0
  478. package/dist/taxonomy-D5cbhc8u.mjs +165 -0
  479. package/dist/{tokens-CJz9ubV6.mjs → tokens-DLTo4dO2.mjs} +1 -1
  480. package/dist/{transport-DB5eDN4x.mjs → transport-C9e_h-BF.mjs} +5 -4
  481. package/dist/trusted-proxy-Bi0Cuk5n.mjs +30 -0
  482. package/dist/{types-BawVha09.mjs → types-Bs6lTBBW.mjs} +1 -1
  483. package/dist/types-C982qI5I.d.mts +344 -0
  484. package/dist/types-D4XVOt01.d.mts +165 -0
  485. package/dist/{types-Cj0KMIZV.d.mts → types-DgfUZqcd.d.mts} +54 -16
  486. package/dist/{types-BuMDPy5C.d.mts → types-IPACEM14.d.mts} +6 -0
  487. package/dist/user-CcXq-zoL.mjs +154 -0
  488. package/dist/utils-D2in-zwy.mjs +285 -0
  489. package/dist/{validate-BZ5wnLLp.mjs → validate-BJgA6TW_.mjs} +1 -1
  490. package/dist/{validate-IPf8n4Fj.d.mts → validate-JCZihRIa.d.mts} +3 -3
  491. package/dist/version-DH53KCQd.mjs +6 -0
  492. package/dist/widgets-B7Q_7bxN.mjs +104 -0
  493. package/dist/wordpress-slugs-BevajWrC.mjs +14 -0
  494. package/dist/zod-generator-DBVP8D0P.mjs +132 -0
  495. package/locals.d.ts +1 -6
  496. package/package.json +96 -41
  497. package/src/components/DinewayHead.astro +8 -4
  498. package/src/components/DinewayImage.astro +7 -5
  499. package/src/components/DinewayMedia.astro +9 -3
  500. package/src/components/Gallery.astro +5 -3
  501. package/src/components/Image.astro +5 -1
  502. package/src/components/InlinePortableTextEditor.tsx +68 -19
  503. package/dist/error-BmL6QipT.mjs +0 -30
  504. package/dist/search-Hlm6g8Td.mjs +0 -11200
  505. package/dist/version-DxxaFHZ_.mjs +0 -6
  506. package/src/astro/routes/PluginRegistry.tsx +0 -21
  507. package/src/astro/routes/api/admin/allowed-domains/[domain].ts +0 -112
  508. package/src/astro/routes/api/admin/allowed-domains/index.ts +0 -108
  509. package/src/astro/routes/api/admin/api-tokens/[id].ts +0 -44
  510. package/src/astro/routes/api/admin/api-tokens/index.ts +0 -90
  511. package/src/astro/routes/api/admin/briefing.ts +0 -76
  512. package/src/astro/routes/api/admin/bylines/[id]/index.ts +0 -90
  513. package/src/astro/routes/api/admin/bylines/index.ts +0 -74
  514. package/src/astro/routes/api/admin/comments/[id]/status.ts +0 -120
  515. package/src/astro/routes/api/admin/comments/[id].ts +0 -64
  516. package/src/astro/routes/api/admin/comments/bulk.ts +0 -42
  517. package/src/astro/routes/api/admin/comments/counts.ts +0 -30
  518. package/src/astro/routes/api/admin/comments/index.ts +0 -46
  519. package/src/astro/routes/api/admin/context/[id]/history.ts +0 -35
  520. package/src/astro/routes/api/admin/context/[id]/index.ts +0 -35
  521. package/src/astro/routes/api/admin/context/[id]/review.ts +0 -57
  522. package/src/astro/routes/api/admin/context/[id]/supersede.ts +0 -58
  523. package/src/astro/routes/api/admin/context/diff.ts +0 -35
  524. package/src/astro/routes/api/admin/context/index.ts +0 -69
  525. package/src/astro/routes/api/admin/context/stale.ts +0 -35
  526. package/src/astro/routes/api/admin/hitl-requests/[id]/index.ts +0 -38
  527. package/src/astro/routes/api/admin/hitl-requests/[id]/resolve.ts +0 -54
  528. package/src/astro/routes/api/admin/hitl-requests/index.ts +0 -38
  529. package/src/astro/routes/api/admin/hooks/exclusive/[hookName].ts +0 -132
  530. package/src/astro/routes/api/admin/hooks/exclusive/index.ts +0 -51
  531. package/src/astro/routes/api/admin/oauth-clients/[id].ts +0 -137
  532. package/src/astro/routes/api/admin/oauth-clients/index.ts +0 -95
  533. package/src/astro/routes/api/admin/plugins/[id]/disable.ts +0 -91
  534. package/src/astro/routes/api/admin/plugins/[id]/enable.ts +0 -91
  535. package/src/astro/routes/api/admin/plugins/[id]/index.ts +0 -38
  536. package/src/astro/routes/api/admin/plugins/[id]/uninstall.ts +0 -98
  537. package/src/astro/routes/api/admin/plugins/[id]/update.ts +0 -154
  538. package/src/astro/routes/api/admin/plugins/index.ts +0 -32
  539. package/src/astro/routes/api/admin/plugins/marketplace/[id]/icon.ts +0 -62
  540. package/src/astro/routes/api/admin/plugins/marketplace/[id]/index.ts +0 -33
  541. package/src/astro/routes/api/admin/plugins/marketplace/[id]/install.ts +0 -135
  542. package/src/astro/routes/api/admin/plugins/marketplace/index.ts +0 -38
  543. package/src/astro/routes/api/admin/plugins/updates.ts +0 -28
  544. package/src/astro/routes/api/admin/review-requests/[id]/index.ts +0 -35
  545. package/src/astro/routes/api/admin/review-requests/[id]/resolve.ts +0 -52
  546. package/src/astro/routes/api/admin/review-requests/index.ts +0 -35
  547. package/src/astro/routes/api/admin/themes/marketplace/[id]/index.ts +0 -33
  548. package/src/astro/routes/api/admin/themes/marketplace/[id]/thumbnail.ts +0 -62
  549. package/src/astro/routes/api/admin/themes/marketplace/index.ts +0 -45
  550. package/src/astro/routes/api/admin/users/[id]/disable.ts +0 -72
  551. package/src/astro/routes/api/admin/users/[id]/enable.ts +0 -48
  552. package/src/astro/routes/api/admin/users/[id]/index.ts +0 -166
  553. package/src/astro/routes/api/admin/users/[id]/send-recovery.ts +0 -72
  554. package/src/astro/routes/api/admin/users/index.ts +0 -66
  555. package/src/astro/routes/api/auth/dev-bypass.ts +0 -139
  556. package/src/astro/routes/api/auth/invite/accept.ts +0 -52
  557. package/src/astro/routes/api/auth/invite/complete.ts +0 -86
  558. package/src/astro/routes/api/auth/invite/index.ts +0 -99
  559. package/src/astro/routes/api/auth/invite/register-options.ts +0 -73
  560. package/src/astro/routes/api/auth/logout.ts +0 -40
  561. package/src/astro/routes/api/auth/magic-link/send.ts +0 -90
  562. package/src/astro/routes/api/auth/magic-link/verify.ts +0 -71
  563. package/src/astro/routes/api/auth/me.ts +0 -60
  564. package/src/astro/routes/api/auth/oauth/[provider]/callback.ts +0 -221
  565. package/src/astro/routes/api/auth/oauth/[provider].ts +0 -120
  566. package/src/astro/routes/api/auth/passkey/[id].ts +0 -124
  567. package/src/astro/routes/api/auth/passkey/index.ts +0 -54
  568. package/src/astro/routes/api/auth/passkey/options.ts +0 -85
  569. package/src/astro/routes/api/auth/passkey/register/options.ts +0 -88
  570. package/src/astro/routes/api/auth/passkey/register/verify.ts +0 -119
  571. package/src/astro/routes/api/auth/passkey/verify.ts +0 -72
  572. package/src/astro/routes/api/auth/signup/complete.ts +0 -87
  573. package/src/astro/routes/api/auth/signup/request.ts +0 -89
  574. package/src/astro/routes/api/auth/signup/verify.ts +0 -53
  575. package/src/astro/routes/api/comments/[collection]/[contentId]/index.ts +0 -310
  576. package/src/astro/routes/api/content/[collection]/[id]/compare.ts +0 -28
  577. package/src/astro/routes/api/content/[collection]/[id]/discard-draft.ts +0 -68
  578. package/src/astro/routes/api/content/[collection]/[id]/duplicate.ts +0 -77
  579. package/src/astro/routes/api/content/[collection]/[id]/permanent.ts +0 -42
  580. package/src/astro/routes/api/content/[collection]/[id]/preview-url.ts +0 -107
  581. package/src/astro/routes/api/content/[collection]/[id]/publish.ts +0 -100
  582. package/src/astro/routes/api/content/[collection]/[id]/restore.ts +0 -64
  583. package/src/astro/routes/api/content/[collection]/[id]/revisions.ts +0 -31
  584. package/src/astro/routes/api/content/[collection]/[id]/schedule.ts +0 -129
  585. package/src/astro/routes/api/content/[collection]/[id]/terms/[taxonomy].ts +0 -143
  586. package/src/astro/routes/api/content/[collection]/[id]/translations.ts +0 -50
  587. package/src/astro/routes/api/content/[collection]/[id]/unpublish.ts +0 -69
  588. package/src/astro/routes/api/content/[collection]/[id].ts +0 -173
  589. package/src/astro/routes/api/content/[collection]/index.ts +0 -103
  590. package/src/astro/routes/api/content/[collection]/trash.ts +0 -33
  591. package/src/astro/routes/api/dashboard.ts +0 -32
  592. package/src/astro/routes/api/dev/emails.ts +0 -36
  593. package/src/astro/routes/api/health.ts +0 -54
  594. package/src/astro/routes/api/import/probe.ts +0 -47
  595. package/src/astro/routes/api/import/wordpress/analyze.ts +0 -523
  596. package/src/astro/routes/api/import/wordpress/execute.ts +0 -330
  597. package/src/astro/routes/api/import/wordpress/media.ts +0 -338
  598. package/src/astro/routes/api/import/wordpress/prepare.ts +0 -212
  599. package/src/astro/routes/api/import/wordpress/rewrite-urls.ts +0 -425
  600. package/src/astro/routes/api/import/wordpress-plugin/analyze.ts +0 -111
  601. package/src/astro/routes/api/import/wordpress-plugin/callback.ts +0 -58
  602. package/src/astro/routes/api/import/wordpress-plugin/execute.ts +0 -399
  603. package/src/astro/routes/api/manifest.ts +0 -75
  604. package/src/astro/routes/api/mcp.ts +0 -125
  605. package/src/astro/routes/api/media/[id]/confirm.ts +0 -93
  606. package/src/astro/routes/api/media/[id].ts +0 -145
  607. package/src/astro/routes/api/media/file/[...key].ts +0 -79
  608. package/src/astro/routes/api/media/providers/[providerId]/[itemId].ts +0 -91
  609. package/src/astro/routes/api/media/providers/[providerId]/index.ts +0 -111
  610. package/src/astro/routes/api/media/providers/index.ts +0 -30
  611. package/src/astro/routes/api/media/upload-url.ts +0 -146
  612. package/src/astro/routes/api/media.ts +0 -204
  613. package/src/astro/routes/api/menus/[name]/reorder.ts +0 -79
  614. package/src/astro/routes/api/menus/[name].ts +0 -145
  615. package/src/astro/routes/api/menus/index.ts +0 -91
  616. package/src/astro/routes/api/oauth/authorize.ts +0 -430
  617. package/src/astro/routes/api/oauth/device/authorize.ts +0 -45
  618. package/src/astro/routes/api/oauth/device/code.ts +0 -56
  619. package/src/astro/routes/api/oauth/device/token.ts +0 -70
  620. package/src/astro/routes/api/oauth/register.ts +0 -182
  621. package/src/astro/routes/api/oauth/token/refresh.ts +0 -38
  622. package/src/astro/routes/api/oauth/token/revoke.ts +0 -38
  623. package/src/astro/routes/api/oauth/token.ts +0 -195
  624. package/src/astro/routes/api/openapi.json.ts +0 -33
  625. package/src/astro/routes/api/plugins/[pluginId]/[...path].ts +0 -109
  626. package/src/astro/routes/api/redirects/404s/index.ts +0 -72
  627. package/src/astro/routes/api/redirects/404s/summary.ts +0 -33
  628. package/src/astro/routes/api/redirects/[id].ts +0 -183
  629. package/src/astro/routes/api/redirects/index.ts +0 -100
  630. package/src/astro/routes/api/revisions/[revisionId]/index.ts +0 -29
  631. package/src/astro/routes/api/revisions/[revisionId]/restore.ts +0 -62
  632. package/src/astro/routes/api/schema/collections/[slug]/fields/[fieldSlug].ts +0 -104
  633. package/src/astro/routes/api/schema/collections/[slug]/fields/index.ts +0 -67
  634. package/src/astro/routes/api/schema/collections/[slug]/fields/reorder.ts +0 -45
  635. package/src/astro/routes/api/schema/collections/[slug]/index.ts +0 -107
  636. package/src/astro/routes/api/schema/collections/index.ts +0 -61
  637. package/src/astro/routes/api/schema/index.ts +0 -109
  638. package/src/astro/routes/api/schema/orphans/[slug].ts +0 -36
  639. package/src/astro/routes/api/schema/orphans/index.ts +0 -26
  640. package/src/astro/routes/api/search/enable.ts +0 -64
  641. package/src/astro/routes/api/search/index.ts +0 -52
  642. package/src/astro/routes/api/search/rebuild.ts +0 -72
  643. package/src/astro/routes/api/search/stats.ts +0 -35
  644. package/src/astro/routes/api/search/suggest.ts +0 -50
  645. package/src/astro/routes/api/sections/[slug].ts +0 -203
  646. package/src/astro/routes/api/sections/index.ts +0 -107
  647. package/src/astro/routes/api/settings/email.ts +0 -150
  648. package/src/astro/routes/api/settings.ts +0 -116
  649. package/src/astro/routes/api/setup/admin-verify.ts +0 -122
  650. package/src/astro/routes/api/setup/admin.ts +0 -104
  651. package/src/astro/routes/api/setup/dev-bypass.ts +0 -200
  652. package/src/astro/routes/api/setup/dev-reset.ts +0 -40
  653. package/src/astro/routes/api/setup/index.ts +0 -128
  654. package/src/astro/routes/api/setup/status.ts +0 -122
  655. package/src/astro/routes/api/snapshot.ts +0 -76
  656. package/src/astro/routes/api/taxonomies/[name]/terms/[slug].ts +0 -232
  657. package/src/astro/routes/api/taxonomies/[name]/terms/index.ts +0 -131
  658. package/src/astro/routes/api/taxonomies/index.ts +0 -114
  659. package/src/astro/routes/api/themes/preview.ts +0 -78
  660. package/src/astro/routes/api/typegen.ts +0 -114
  661. package/src/astro/routes/api/well-known/auth.ts +0 -71
  662. package/src/astro/routes/api/well-known/oauth-authorization-server.ts +0 -48
  663. package/src/astro/routes/api/well-known/oauth-protected-resource.ts +0 -39
  664. package/src/astro/routes/api/widget-areas/[name]/reorder.ts +0 -114
  665. package/src/astro/routes/api/widget-areas/[name]/widgets/[id].ts +0 -213
  666. package/src/astro/routes/api/widget-areas/[name]/widgets.ts +0 -126
  667. package/src/astro/routes/api/widget-areas/[name].ts +0 -135
  668. package/src/astro/routes/api/widget-areas/index.ts +0 -149
  669. package/src/astro/routes/api/widget-components.ts +0 -22
  670. package/src/astro/routes/robots.txt.ts +0 -81
  671. package/src/astro/routes/sitemap-[collection].xml.ts +0 -104
  672. package/src/astro/routes/sitemap.xml.ts +0 -92
  673. /package/dist/{adapters-C2ypTrZZ.d.mts → adapters-BLDldpJg.d.mts} +0 -0
  674. /package/{src → dist}/astro/routes/admin.astro +0 -0
  675. /package/dist/{base64-F8-DUraK.mjs → base64-Cz-aU0X1.mjs} +0 -0
  676. /package/dist/{chunks--4F8ddV4.mjs → chunks-D_jVet6z.mjs} +0 -0
  677. /package/dist/{config-BXwuX8Bx.mjs → config-CAMFxGaV.mjs} +0 -0
  678. /package/dist/{db-errors-CEqD7qH9.mjs → db-errors-DKUg_NgF.mjs} +0 -0
  679. /package/dist/{default-VjJyuuG9.mjs → default-C3PZN-bz.mjs} +0 -0
  680. /package/dist/{load-Coc9HpHH.mjs → load-D-9NhLmF.mjs} +0 -0
  681. /package/dist/{mode-47goXBBK.mjs → mode-C80mAZQv.mjs} +0 -0
  682. /package/dist/{placeholder--wOi4TbO.d.mts → placeholder-CHkLckzK.d.mts} +0 -0
  683. /package/dist/{request-cache-Dk5qPSOx.mjs → request-cache-DHMRr2Lf.mjs} +0 -0
  684. /package/dist/{transaction-Cn2rjY78.mjs → transaction-x2tJQ-A1.mjs} +0 -0
  685. /package/dist/{transport-Wge_IzKl.d.mts → transport-6RefuBdV.d.mts} +0 -0
  686. /package/dist/{types-griIBQOQ.mjs → types-B9gKVOHk.mjs} +0 -0
  687. /package/dist/{types-CWbdtiux.d.mts → types-B9qVtiHb.d.mts} +0 -0
  688. /package/dist/{types-COeOq9nK.mjs → types-DL7Y8D_t.mjs} +0 -0
  689. /package/dist/{types-BzcUjoqg.d.mts → types-Djdp0cZO.d.mts} +0 -0
  690. /package/dist/{types-DOrVigru.d.mts → types-Du8jreyC.d.mts} +0 -0
@@ -0,0 +1,197 @@
1
+ import "../../../../../dialect-helpers-DhTzaUxP.mjs";
2
+ import { n as slugify } from "../../../../../slugify-PDTDtMXp.mjs";
3
+ import "../../../../../content-CyLkb-qH.mjs";
4
+ import "../../../../../base64-Cz-aU0X1.mjs";
5
+ import "../../../../../types-Bs6lTBBW.mjs";
6
+ import "../../../../../media-_7Fxdu45.mjs";
7
+ import "../../../../../options-z8VVg1Ll.mjs";
8
+ import "../../../../../site-activity-B8FjLIVh.mjs";
9
+ import "../../../../../review-requests-C2DIHwlJ.mjs";
10
+ import "../../../../../entity-aliases-C0v-yNET.mjs";
11
+ import { t as BylineRepository } from "../../../../../byline-naZxOPSa.mjs";
12
+ import "../../../../../briefing-BrXCuMEE.mjs";
13
+ import "../../../../../context-types-C-LwdAxx.mjs";
14
+ import "../../../../../fts-manager-B1pTNEG_.mjs";
15
+ import "../../../../../registry-C-_hxLqa.mjs";
16
+ import "../../../../../loader-PZnPxFLc.mjs";
17
+ import "../../../../../settings-4XnpVMOS.mjs";
18
+ import "../../../../../request-cache-DHMRr2Lf.mjs";
19
+ import "../../../../../schema-BNpI53of.mjs";
20
+ import "../../../../../zod-generator-DBVP8D0P.mjs";
21
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-DEGjx2Xw.mjs";
22
+ import { m as resolveImportByline } from "../../../../../utils-D2in-zwy.mjs";
23
+ import { t as sanitizeWordPressImportSlug } from "../../../../../wordpress-slugs-BevajWrC.mjs";
24
+ import "../../../../../search-DM6CVti3.mjs";
25
+ import { n as requirePerm } from "../../../../../authorize-BBj8C6Y8.mjs";
26
+ import { _ as RiskPolicyEvaluator, p as WordPressImportHitlPayloadBuilder } from "../../../../../site-context-Bpu_Paur.mjs";
27
+ import "../../../../../activity-events-BsMaXdJa.mjs";
28
+ import { i as resolveHitlRouteActor, n as hitlRequiredRouteError, t as ensureWorkflowHitlRouteRequest } from "../../../../../hitl-route-helpers-DMmJRS7B.mjs";
29
+ import { gutenbergToPortableText } from "@dineway-ai/gutenberg-to-portable-text";
30
+ import { ContentRepository, importReusableBlocksAsSections, parseWxrDate, parseWxrString } from "dineway";
31
+
32
+ //#region src/astro/routes/api/import/wordpress/execute.ts
33
+ /**
34
+ * WordPress WXR execute import endpoint
35
+ *
36
+ * POST /_dineway/api/import/wordpress/execute
37
+ *
38
+ * Accepts WXR file and import configuration, imports content into the database.
39
+ */
40
+ const prerender = false;
41
+ const POST = async ({ request, locals }) => {
42
+ const { dineway, user } = locals;
43
+ const denied = requirePerm(user, "import:execute");
44
+ if (denied) return denied;
45
+ if (!dineway?.handleContentCreate) return apiError("NOT_CONFIGURED", "Dineway is not configured", 500);
46
+ try {
47
+ const formData = await request.formData();
48
+ const fileEntry = formData.get("file");
49
+ const file = fileEntry instanceof File ? fileEntry : null;
50
+ const configEntry = formData.get("config");
51
+ const configJson = typeof configEntry === "string" ? configEntry : null;
52
+ const hitlRequestEntry = formData.get("hitlRequestId");
53
+ const hitlRequestId = typeof hitlRequestEntry === "string" && hitlRequestEntry.length > 0 ? hitlRequestEntry : void 0;
54
+ if (!file) return apiError("VALIDATION_ERROR", "No file provided", 400);
55
+ if (!configJson) return apiError("VALIDATION_ERROR", "No config provided", 400);
56
+ const config = JSON.parse(configJson);
57
+ const actor = resolveHitlRouteActor(locals);
58
+ const evaluator = new RiskPolicyEvaluator({
59
+ db: dineway.db,
60
+ handlers: dineway
61
+ });
62
+ let text;
63
+ if (evaluator.requiresWorkflowHitl(actor.identity)) {
64
+ const fileBuffer = await file.arrayBuffer();
65
+ const action = await new WordPressImportHitlPayloadBuilder().buildExecuteRequest({
66
+ fileName: file.name,
67
+ fileBuffer,
68
+ config
69
+ });
70
+ const decision = await evaluator.evaluateWorkflowHitl({
71
+ actor: actor.identity,
72
+ hitlRequestId,
73
+ action
74
+ });
75
+ if (!decision.allowed) return hitlRequiredRouteError(decision, await ensureWorkflowHitlRouteRequest(dineway.db, locals, decision.action));
76
+ text = new TextDecoder().decode(fileBuffer);
77
+ } else text = await file.text();
78
+ const wxr = await parseWxrString(text);
79
+ const manifest = await dineway.getManifest();
80
+ const attachmentMap = /* @__PURE__ */ new Map();
81
+ for (const att of wxr.attachments) if (att.id && att.url) attachmentMap.set(String(att.id), att.url);
82
+ const authorDisplayNames = /* @__PURE__ */ new Map();
83
+ for (const author of wxr.authors) {
84
+ if (!author.login) continue;
85
+ authorDisplayNames.set(author.login, author.displayName || author.login);
86
+ }
87
+ const result = await importContent(wxr.posts, config, dineway, manifest, attachmentMap, config.locale, authorDisplayNames);
88
+ if (config.importSections !== false) {
89
+ const sectionsResult = await importReusableBlocksAsSections(wxr.posts, dineway.db);
90
+ result.sections = {
91
+ created: sectionsResult.sectionsCreated,
92
+ skipped: sectionsResult.sectionsSkipped
93
+ };
94
+ result.errors.push(...sectionsResult.errors);
95
+ if (sectionsResult.errors.length > 0) result.success = false;
96
+ }
97
+ return apiSuccess(result);
98
+ } catch (error) {
99
+ return handleError(error, "Failed to import content", "WXR_IMPORT_ERROR");
100
+ }
101
+ };
102
+ async function importContent(posts, config, dineway, manifest, attachmentMap, locale, authorDisplayNames) {
103
+ const result = {
104
+ success: true,
105
+ imported: 0,
106
+ skipped: 0,
107
+ errors: [],
108
+ byCollection: {}
109
+ };
110
+ const contentRepo = new ContentRepository(dineway.db);
111
+ const bylineRepo = new BylineRepository(dineway.db);
112
+ const bylineCache = /* @__PURE__ */ new Map();
113
+ for (const post of posts) {
114
+ const postType = post.postType || "post";
115
+ const mapping = config.postTypeMappings[postType];
116
+ if (!mapping || !mapping.enabled) {
117
+ result.skipped++;
118
+ continue;
119
+ }
120
+ const collection = sanitizeWordPressImportSlug(mapping.collection);
121
+ if (!manifest?.collections[collection]) {
122
+ result.errors.push({
123
+ title: post.title || "Untitled",
124
+ error: `Collection "${collection}" does not exist`
125
+ });
126
+ continue;
127
+ }
128
+ try {
129
+ const content = post.content ? gutenbergToPortableText(post.content) : [];
130
+ const slug = post.postName || slugify(post.title || `post-${post.id || Date.now()}`);
131
+ if (config.skipExisting) {
132
+ if (await contentRepo.findBySlug(collection, slug)) {
133
+ result.skipped++;
134
+ continue;
135
+ }
136
+ }
137
+ const status = mapStatus(post.status);
138
+ const data = {
139
+ title: post.title || "Untitled",
140
+ content,
141
+ excerpt: post.excerpt || void 0
142
+ };
143
+ const collectionSchema = manifest.collections[collection];
144
+ if (collectionSchema?.fields ? "featured_image" in collectionSchema.fields : false) {
145
+ const thumbnailId = post.meta.get("_thumbnail_id");
146
+ const featuredImage = thumbnailId ? attachmentMap.get(String(thumbnailId)) : void 0;
147
+ if (featuredImage) data.featured_image = featuredImage;
148
+ }
149
+ let authorId;
150
+ if (config.authorMappings && post.creator) {
151
+ const mappedUserId = config.authorMappings[post.creator];
152
+ if (mappedUserId !== void 0 && mappedUserId !== null) authorId = mappedUserId;
153
+ }
154
+ const bylineId = await resolveImportByline(post.creator, authorDisplayNames?.get(post.creator ?? "") ?? post.creator, authorId, bylineRepo, bylineCache);
155
+ const parsedDate = parseWxrDate(post.postDateGmt, post.pubDate, post.postDate);
156
+ const createdAt = parsedDate ? parsedDate.toISOString() : void 0;
157
+ const publishedAt = status === "published" && createdAt ? createdAt : void 0;
158
+ const createResult = await dineway.handleContentCreate(collection, {
159
+ data,
160
+ slug,
161
+ status,
162
+ authorId,
163
+ bylines: bylineId ? [{ bylineId }] : void 0,
164
+ locale,
165
+ createdAt,
166
+ publishedAt
167
+ });
168
+ if (createResult.success) {
169
+ result.imported++;
170
+ result.byCollection[collection] = (result.byCollection[collection] || 0) + 1;
171
+ } else result.errors.push({
172
+ title: post.title || "Untitled",
173
+ error: typeof createResult.error === "object" && createResult.error !== null ? createResult.error.message || "Unknown error" : String(createResult.error)
174
+ });
175
+ } catch (error) {
176
+ console.error(`Import error for "${post.title || "Untitled"}":`, error);
177
+ result.errors.push({
178
+ title: post.title || "Untitled",
179
+ error: error instanceof Error && error.message ? error.message : "Failed to import item"
180
+ });
181
+ }
182
+ }
183
+ result.success = result.errors.length === 0;
184
+ return result;
185
+ }
186
+ function mapStatus(wpStatus) {
187
+ switch (wpStatus) {
188
+ case "publish": return "published";
189
+ case "draft": return "draft";
190
+ case "pending": return "draft";
191
+ case "private": return "draft";
192
+ default: return "draft";
193
+ }
194
+ }
195
+
196
+ //#endregion
197
+ export { POST, prerender };
@@ -0,0 +1,35 @@
1
+ import { APIRoute } from "astro";
2
+
3
+ //#region src/astro/routes/api/import/wordpress/media.d.ts
4
+ declare const prerender = false;
5
+ /** Progress update sent during streaming */
6
+ interface MediaImportProgress {
7
+ type: "progress";
8
+ current: number;
9
+ total: number;
10
+ filename?: string;
11
+ status: "downloading" | "uploading" | "done" | "skipped" | "failed";
12
+ error?: string;
13
+ }
14
+ /** Final result sent at end of stream */
15
+ interface MediaImportResult {
16
+ type?: "result";
17
+ /** Successfully imported items */
18
+ imported: Array<{
19
+ wpId?: number;
20
+ originalUrl: string;
21
+ newUrl: string;
22
+ mediaId: string;
23
+ }>;
24
+ /** Failed items */
25
+ failed: Array<{
26
+ wpId?: number;
27
+ originalUrl: string;
28
+ error: string;
29
+ }>;
30
+ /** Map of old URLs to new URLs (for content rewriting) */
31
+ urlMap: Record<string, string>;
32
+ }
33
+ declare const POST: APIRoute;
34
+ //#endregion
35
+ export { MediaImportProgress, MediaImportResult, POST, prerender };
@@ -0,0 +1,222 @@
1
+ import "../../../../../context-types-C-LwdAxx.mjs";
2
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-DEGjx2Xw.mjs";
3
+ import { n as parseBody, t as isParseError } from "../../../../../parse-BeQXIt1U.mjs";
4
+ import "../../../../../redirects-CqaxraTO.mjs";
5
+ import { n as wpMediaImportBody } from "../../../../../import-DD3f2jkc.mjs";
6
+ import "../../../../../api/schemas/index.mjs";
7
+ import { a as validateExternalUrl, r as ssrfSafeFetch, t as SsrfError } from "../../../../../ssrf-CmM76lLV.mjs";
8
+ import { n as requirePerm } from "../../../../../authorize-BBj8C6Y8.mjs";
9
+ import { ulid } from "ulidx";
10
+ import * as path from "node:path";
11
+ import mime from "mime/lite";
12
+ import { MediaRepository, computeContentHash } from "dineway";
13
+
14
+ //#region src/astro/routes/api/import/wordpress/media.ts
15
+ /**
16
+ * WordPress media import endpoint
17
+ *
18
+ * POST /_dineway/api/import/wordpress/media
19
+ *
20
+ * Downloads media attachments from WordPress URLs and uploads to Dineway storage.
21
+ * Streams progress updates as newline-delimited JSON (NDJSON).
22
+ * Each line is either a progress update or the final result.
23
+ */
24
+ const prerender = false;
25
+ const POST = async ({ request, locals }) => {
26
+ const { dineway, user } = locals;
27
+ const denied = requirePerm(user, "import:execute");
28
+ if (denied) return denied;
29
+ if (!dineway?.storage) return apiError("NO_STORAGE", "Storage not configured. Media import requires storage.", 501);
30
+ if (!dineway?.db) return apiError("NO_DB", "Database not initialized", 500);
31
+ try {
32
+ const body = await parseBody(request, wpMediaImportBody);
33
+ if (isParseError(body)) return body;
34
+ const attachments = body.attachments;
35
+ if (body.stream !== false) {
36
+ const stream = new ReadableStream({ async start(controller) {
37
+ const encoder = new TextEncoder();
38
+ const sendProgress = (progress) => {
39
+ controller.enqueue(encoder.encode(JSON.stringify(progress) + "\n"));
40
+ };
41
+ const result = await importMediaWithProgress(attachments, dineway.db, dineway.storage, sendProgress);
42
+ controller.enqueue(encoder.encode(JSON.stringify({
43
+ ...result,
44
+ type: "result"
45
+ }) + "\n"));
46
+ controller.close();
47
+ } });
48
+ return new Response(stream, {
49
+ status: 200,
50
+ headers: {
51
+ "Content-Type": "application/x-ndjson",
52
+ "Cache-Control": "private, no-store",
53
+ "Transfer-Encoding": "chunked"
54
+ }
55
+ });
56
+ }
57
+ return apiSuccess(await importMediaWithProgress(attachments, dineway.db, dineway.storage, () => {}));
58
+ } catch (error) {
59
+ return handleError(error, "Failed to import media", "IMPORT_ERROR");
60
+ }
61
+ };
62
+ async function importMediaWithProgress(attachments, db, storage, onProgress) {
63
+ const repo = new MediaRepository(db);
64
+ const total = attachments.length;
65
+ const result = {
66
+ imported: [],
67
+ failed: [],
68
+ urlMap: {}
69
+ };
70
+ for (let i = 0; i < attachments.length; i++) {
71
+ const attachment = attachments[i];
72
+ const current = i + 1;
73
+ const filename = attachment.filename || `file-${attachment.id}`;
74
+ if (!attachment.url) {
75
+ result.failed.push({
76
+ wpId: attachment.id,
77
+ originalUrl: "",
78
+ error: "No URL provided"
79
+ });
80
+ onProgress({
81
+ type: "progress",
82
+ current,
83
+ total,
84
+ filename,
85
+ status: "failed",
86
+ error: "No URL provided"
87
+ });
88
+ continue;
89
+ }
90
+ try {
91
+ try {
92
+ validateExternalUrl(attachment.url);
93
+ } catch (e) {
94
+ const msg = e instanceof SsrfError ? e.message : "Invalid URL";
95
+ result.failed.push({
96
+ wpId: attachment.id,
97
+ originalUrl: attachment.url,
98
+ error: `Blocked: ${msg}`
99
+ });
100
+ onProgress({
101
+ type: "progress",
102
+ current,
103
+ total,
104
+ filename,
105
+ status: "failed",
106
+ error: `Blocked: ${msg}`
107
+ });
108
+ continue;
109
+ }
110
+ onProgress({
111
+ type: "progress",
112
+ current,
113
+ total,
114
+ filename,
115
+ status: "downloading"
116
+ });
117
+ const response = await ssrfSafeFetch(attachment.url, { headers: { "User-Agent": "Dineway-Importer/1.0" } });
118
+ if (!response.ok) {
119
+ result.failed.push({
120
+ wpId: attachment.id,
121
+ originalUrl: attachment.url,
122
+ error: `HTTP ${response.status}: ${response.statusText}`
123
+ });
124
+ onProgress({
125
+ type: "progress",
126
+ current,
127
+ total,
128
+ filename,
129
+ status: "failed",
130
+ error: `HTTP ${response.status}`
131
+ });
132
+ continue;
133
+ }
134
+ const contentType = response.headers.get("content-type") || attachment.mimeType || "application/octet-stream";
135
+ const buffer = await response.arrayBuffer();
136
+ const size = buffer.byteLength;
137
+ const contentHash = await computeContentHash(buffer);
138
+ const existing = await repo.findByContentHash(contentHash);
139
+ if (existing) {
140
+ const existingUrl = `/_dineway/api/media/file/${existing.storageKey}`;
141
+ result.urlMap[attachment.url] = existingUrl;
142
+ result.imported.push({
143
+ wpId: attachment.id,
144
+ originalUrl: attachment.url,
145
+ newUrl: existingUrl,
146
+ mediaId: existing.id
147
+ });
148
+ onProgress({
149
+ type: "progress",
150
+ current,
151
+ total,
152
+ filename,
153
+ status: "skipped"
154
+ });
155
+ continue;
156
+ }
157
+ onProgress({
158
+ type: "progress",
159
+ current,
160
+ total,
161
+ filename,
162
+ status: "uploading"
163
+ });
164
+ const id = ulid();
165
+ const ext = attachment.filename ? path.extname(attachment.filename) : getExtensionFromMimeType(contentType);
166
+ const storageKey = `${id}${ext}`;
167
+ await storage.upload({
168
+ key: storageKey,
169
+ body: new Uint8Array(buffer),
170
+ contentType
171
+ });
172
+ const mediaItem = await repo.create({
173
+ filename: attachment.filename || `media-${attachment.id}${ext}`,
174
+ mimeType: contentType,
175
+ size,
176
+ storageKey,
177
+ contentHash,
178
+ width: void 0,
179
+ height: void 0
180
+ });
181
+ const newUrl = `/_dineway/api/media/file/${storageKey}`;
182
+ result.imported.push({
183
+ wpId: attachment.id,
184
+ originalUrl: attachment.url,
185
+ newUrl,
186
+ mediaId: mediaItem.id
187
+ });
188
+ result.urlMap[attachment.url] = newUrl;
189
+ onProgress({
190
+ type: "progress",
191
+ current,
192
+ total,
193
+ filename,
194
+ status: "done"
195
+ });
196
+ } catch (error) {
197
+ console.error(`Media import error for "${filename}":`, error);
198
+ const errorMsg = "Failed to import media";
199
+ result.failed.push({
200
+ wpId: attachment.id,
201
+ originalUrl: attachment.url,
202
+ error: errorMsg
203
+ });
204
+ onProgress({
205
+ type: "progress",
206
+ current,
207
+ total,
208
+ filename,
209
+ status: "failed",
210
+ error: errorMsg
211
+ });
212
+ }
213
+ }
214
+ return result;
215
+ }
216
+ function getExtensionFromMimeType(mimeType) {
217
+ const ext = mime.getExtension(mimeType);
218
+ return ext ? `.${ext}` : "";
219
+ }
220
+
221
+ //#endregion
222
+ export { POST, prerender };
@@ -0,0 +1,19 @@
1
+ import { APIRoute } from "astro";
2
+
3
+ //#region src/astro/routes/api/import/wordpress/prepare.d.ts
4
+ declare const prerender = false;
5
+ interface PrepareResult {
6
+ success: boolean;
7
+ collectionsCreated: string[];
8
+ fieldsCreated: Array<{
9
+ collection: string;
10
+ field: string;
11
+ }>;
12
+ errors: Array<{
13
+ collection: string;
14
+ error: string;
15
+ }>;
16
+ }
17
+ declare const POST: APIRoute;
18
+ //#endregion
19
+ export { POST, PrepareResult, prerender };
@@ -0,0 +1,155 @@
1
+ import "../../../../../dialect-helpers-DhTzaUxP.mjs";
2
+ import "../../../../../content-CyLkb-qH.mjs";
3
+ import "../../../../../base64-Cz-aU0X1.mjs";
4
+ import "../../../../../types-Bs6lTBBW.mjs";
5
+ import "../../../../../media-_7Fxdu45.mjs";
6
+ import "../../../../../options-z8VVg1Ll.mjs";
7
+ import "../../../../../site-activity-B8FjLIVh.mjs";
8
+ import "../../../../../review-requests-C2DIHwlJ.mjs";
9
+ import "../../../../../entity-aliases-C0v-yNET.mjs";
10
+ import "../../../../../briefing-BrXCuMEE.mjs";
11
+ import "../../../../../context-types-C-LwdAxx.mjs";
12
+ import "../../../../../fts-manager-B1pTNEG_.mjs";
13
+ import { t as FIELD_TYPES } from "../../../../../types-DL7Y8D_t.mjs";
14
+ import "../../../../../registry-C-_hxLqa.mjs";
15
+ import "../../../../../loader-PZnPxFLc.mjs";
16
+ import "../../../../../settings-4XnpVMOS.mjs";
17
+ import "../../../../../request-cache-DHMRr2Lf.mjs";
18
+ import "../../../../../schema-BNpI53of.mjs";
19
+ import "../../../../../zod-generator-DBVP8D0P.mjs";
20
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-DEGjx2Xw.mjs";
21
+ import { n as parseBody, t as isParseError } from "../../../../../parse-BeQXIt1U.mjs";
22
+ import "../../../../../redirects-CqaxraTO.mjs";
23
+ import { a as wpPrepareBody } from "../../../../../import-DD3f2jkc.mjs";
24
+ import "../../../../../api/schemas/index.mjs";
25
+ import "../../../../../utils-D2in-zwy.mjs";
26
+ import { t as sanitizeWordPressImportSlug } from "../../../../../wordpress-slugs-BevajWrC.mjs";
27
+ import "../../../../../search-DM6CVti3.mjs";
28
+ import { n as requirePerm } from "../../../../../authorize-BBj8C6Y8.mjs";
29
+ import { _ as RiskPolicyEvaluator, p as WordPressImportHitlPayloadBuilder } from "../../../../../site-context-Bpu_Paur.mjs";
30
+ import "../../../../../activity-events-BsMaXdJa.mjs";
31
+ import { i as resolveHitlRouteActor, n as hitlRequiredRouteError, t as ensureWorkflowHitlRouteRequest } from "../../../../../hitl-route-helpers-DMmJRS7B.mjs";
32
+ import { capitalize, singularize } from "./analyze.mjs";
33
+ import { z } from "zod";
34
+
35
+ //#region src/astro/routes/api/import/wordpress/prepare.ts
36
+ /** Validate that a string is a known FieldType, returning undefined if not */
37
+ function asFieldType(value) {
38
+ return FIELD_TYPES.includes(value) ? value : void 0;
39
+ }
40
+ const prerender = false;
41
+ const prepareBodySchema = wpPrepareBody.extend({ hitlRequestId: z.string().min(1).optional() });
42
+ const POST = async ({ request, locals }) => {
43
+ const { dineway, user } = locals;
44
+ if (!dineway?.db) return apiError("NOT_CONFIGURED", "Dineway is not configured", 500);
45
+ const denied = requirePerm(user, "import:execute");
46
+ if (denied) return denied;
47
+ try {
48
+ const body = await parseBody(request, prepareBodySchema);
49
+ if (isParseError(body)) return body;
50
+ const actor = resolveHitlRouteActor(locals);
51
+ const evaluator = new RiskPolicyEvaluator({
52
+ db: dineway.db,
53
+ handlers: dineway
54
+ });
55
+ const action = await new WordPressImportHitlPayloadBuilder().buildPrepareRequest({ postTypes: body.postTypes });
56
+ const decision = await evaluator.evaluateWorkflowHitl({
57
+ actor: actor.identity,
58
+ hitlRequestId: body.hitlRequestId,
59
+ action
60
+ });
61
+ if (!decision.allowed) return hitlRequiredRouteError(decision, await ensureWorkflowHitlRouteRequest(dineway.db, locals, decision.action));
62
+ const result = await prepareImport(dineway.db, { postTypes: body.postTypes });
63
+ if (result.collectionsCreated.length > 0 || result.fieldsCreated.length > 0) dineway.invalidateManifest();
64
+ return apiSuccess(result, result.success ? 200 : 400);
65
+ } catch (error) {
66
+ return handleError(error, "Failed to prepare import", "WXR_PREPARE_ERROR");
67
+ }
68
+ };
69
+ async function prepareImport(db, request) {
70
+ const { SchemaRegistry } = await import("../../../../../registry-C-_hxLqa.mjs").then((n) => n.r);
71
+ const registry = new SchemaRegistry(db);
72
+ const result = {
73
+ success: true,
74
+ collectionsCreated: [],
75
+ fieldsCreated: [],
76
+ errors: []
77
+ };
78
+ for (const postType of request.postTypes) {
79
+ const collectionSlug = sanitizeWordPressImportSlug(postType.collection);
80
+ try {
81
+ let collection = await registry.getCollection(collectionSlug);
82
+ if (!collection) {
83
+ const label = capitalize(collectionSlug);
84
+ const labelSingular = capitalize(singularize(collectionSlug));
85
+ const isSearchable = [
86
+ "posts",
87
+ "pages",
88
+ "post",
89
+ "page"
90
+ ].includes(collectionSlug);
91
+ const supports = ["revisions", "drafts"];
92
+ if (isSearchable) supports.push("search");
93
+ const urlPattern = collectionSlug === "pages" ? "/{slug}" : collectionSlug === "posts" ? "/blog/{slug}" : void 0;
94
+ collection = await registry.createCollection({
95
+ slug: collectionSlug,
96
+ label,
97
+ labelSingular,
98
+ description: `Imported from WordPress post type: ${postType.name}`,
99
+ supports,
100
+ urlPattern
101
+ });
102
+ result.collectionsCreated.push(collectionSlug);
103
+ }
104
+ const existingFields = await registry.listFields(collection.id);
105
+ const existingFieldSlugs = new Set(existingFields.map((f) => f.slug));
106
+ for (const field of postType.fields) {
107
+ if (existingFieldSlugs.has(field.slug)) continue;
108
+ const fieldType = asFieldType(field.type);
109
+ if (!fieldType) {
110
+ result.errors.push({
111
+ collection: collectionSlug,
112
+ error: `Unknown field type "${field.type}" for field "${field.slug}"`
113
+ });
114
+ continue;
115
+ }
116
+ await registry.createField(collectionSlug, {
117
+ slug: field.slug,
118
+ label: field.label,
119
+ type: fieldType,
120
+ required: field.required,
121
+ unique: false,
122
+ searchable: field.searchable ?? false,
123
+ sortOrder: existingFields.length + result.fieldsCreated.length
124
+ });
125
+ result.fieldsCreated.push({
126
+ collection: collectionSlug,
127
+ field: field.slug
128
+ });
129
+ }
130
+ if ([
131
+ "posts",
132
+ "pages",
133
+ "post",
134
+ "page"
135
+ ].includes(collectionSlug)) {
136
+ const { FTSManager } = await import("../../../../../fts-manager-B1pTNEG_.mjs").then((n) => n.n);
137
+ const ftsManager = new FTSManager(db);
138
+ if ((await ftsManager.getSearchableFields(collectionSlug)).length > 0) try {
139
+ await ftsManager.enableSearch(collectionSlug);
140
+ } catch {}
141
+ }
142
+ } catch (error) {
143
+ console.error(`Prepare error for collection "${collectionSlug}":`, error);
144
+ result.success = false;
145
+ result.errors.push({
146
+ collection: collectionSlug,
147
+ error: "Failed to prepare collection"
148
+ });
149
+ }
150
+ }
151
+ return result;
152
+ }
153
+
154
+ //#endregion
155
+ export { POST, prerender };
@@ -0,0 +1,21 @@
1
+ import { APIRoute } from "astro";
2
+
3
+ //#region src/astro/routes/api/import/wordpress/rewrite-urls.d.ts
4
+ declare const prerender = false;
5
+ interface RewriteUrlsResult {
6
+ /** Total items updated */
7
+ updated: number;
8
+ /** Updates by collection */
9
+ byCollection: Record<string, number>;
10
+ /** URLs that were rewritten */
11
+ urlsRewritten: number;
12
+ /** Any errors encountered */
13
+ errors: Array<{
14
+ collection: string;
15
+ id: string;
16
+ error: string;
17
+ }>;
18
+ }
19
+ declare const POST: APIRoute;
20
+ //#endregion
21
+ export { POST, RewriteUrlsResult, prerender };