dineway 0.1.9 → 0.1.12

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 (720) hide show
  1. package/README.md +63 -17
  2. package/dist/activity-events-B4wp7CrU.mjs +540 -0
  3. package/dist/allowed-origins-C1AKK9AT.mjs +68 -0
  4. package/dist/api/route-utils.d.mts +42 -0
  5. package/dist/api/route-utils.mjs +26 -0
  6. package/dist/api/schemas/index.d.mts +3 -0
  7. package/dist/api/schemas/index.mjs +6 -0
  8. package/dist/api/schemas/setup.d.mts +42 -0
  9. package/dist/api/schemas/setup.mjs +39 -0
  10. package/dist/api-BR7Y0GBo.mjs +2704 -0
  11. package/dist/api-tokens-CPjC3zf8.mjs +3 -0
  12. package/dist/api-tokens-D7UjLbdt.mjs +153 -0
  13. package/dist/{apply-iVSqz2qs.mjs → apply-Bm5QgdrE.mjs} +15 -689
  14. package/dist/astro/index.d.mts +11 -6
  15. package/dist/astro/index.mjs +86 -11
  16. package/dist/astro/middleware/auth.d.mts +11 -7
  17. package/dist/astro/middleware/auth.mjs +19 -104
  18. package/dist/astro/middleware/redirect.mjs +24 -14
  19. package/dist/astro/middleware/request-context.mjs +9 -6
  20. package/dist/astro/middleware/setup.mjs +1 -1
  21. package/dist/astro/middleware.mjs +88 -145
  22. package/dist/astro/routes/PluginRegistry.d.mts +14 -0
  23. package/dist/astro/routes/PluginRegistry.mjs +24 -0
  24. package/dist/astro/routes/api/admin/allowed-domains/_domain_.d.mts +14 -0
  25. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +65 -0
  26. package/dist/astro/routes/api/admin/allowed-domains/index.d.mts +14 -0
  27. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +65 -0
  28. package/dist/astro/routes/api/admin/api-tokens/_id_.d.mts +10 -0
  29. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +33 -0
  30. package/dist/astro/routes/api/admin/api-tokens/index.d.mts +16 -0
  31. package/dist/astro/routes/api/admin/api-tokens/index.mjs +59 -0
  32. package/dist/astro/routes/api/admin/briefing.d.mts +7 -0
  33. package/dist/astro/routes/api/admin/briefing.mjs +71 -0
  34. package/dist/astro/routes/api/admin/bylines/_id_/index.d.mts +9 -0
  35. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +74 -0
  36. package/dist/astro/routes/api/admin/bylines/index.d.mts +8 -0
  37. package/dist/astro/routes/api/admin/bylines/index.mjs +61 -0
  38. package/dist/astro/routes/api/admin/comments/_id_/status.d.mts +7 -0
  39. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +80 -0
  40. package/dist/astro/routes/api/admin/comments/_id_.d.mts +14 -0
  41. package/dist/astro/routes/api/admin/comments/_id_.mjs +46 -0
  42. package/dist/astro/routes/api/admin/comments/bulk.d.mts +7 -0
  43. package/dist/astro/routes/api/admin/comments/bulk.mjs +36 -0
  44. package/dist/astro/routes/api/admin/comments/counts.d.mts +7 -0
  45. package/dist/astro/routes/api/admin/comments/counts.mjs +24 -0
  46. package/dist/astro/routes/api/admin/comments/index.d.mts +10 -0
  47. package/dist/astro/routes/api/admin/comments/index.mjs +40 -0
  48. package/dist/astro/routes/api/admin/context/_id_/history.d.mts +7 -0
  49. package/dist/astro/routes/api/admin/context/_id_/history.mjs +46 -0
  50. package/dist/astro/routes/api/admin/context/_id_/index.d.mts +7 -0
  51. package/dist/astro/routes/api/admin/context/_id_/index.mjs +46 -0
  52. package/dist/astro/routes/api/admin/context/_id_/review.d.mts +7 -0
  53. package/dist/astro/routes/api/admin/context/_id_/review.mjs +61 -0
  54. package/dist/astro/routes/api/admin/context/_id_/supersede.d.mts +7 -0
  55. package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +64 -0
  56. package/dist/astro/routes/api/admin/context/diff.d.mts +7 -0
  57. package/dist/astro/routes/api/admin/context/diff.mjs +50 -0
  58. package/dist/astro/routes/api/admin/context/index.d.mts +8 -0
  59. package/dist/astro/routes/api/admin/context/index.mjs +72 -0
  60. package/dist/astro/routes/api/admin/context/stale.d.mts +7 -0
  61. package/dist/astro/routes/api/admin/context/stale.mjs +50 -0
  62. package/dist/astro/routes/api/admin/hitl-requests/_id_/index.d.mts +7 -0
  63. package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +52 -0
  64. package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.d.mts +7 -0
  65. package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +68 -0
  66. package/dist/astro/routes/api/admin/hitl-requests/index.d.mts +7 -0
  67. package/dist/astro/routes/api/admin/hitl-requests/index.mjs +56 -0
  68. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.d.mts +7 -0
  69. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +99 -0
  70. package/dist/astro/routes/api/admin/hooks/exclusive/index.d.mts +7 -0
  71. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +33 -0
  72. package/dist/astro/routes/api/admin/oauth-clients/_id_.d.mts +18 -0
  73. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +79 -0
  74. package/dist/astro/routes/api/admin/oauth-clients/index.d.mts +14 -0
  75. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +58 -0
  76. package/dist/astro/routes/api/admin/plugins/_id_/disable.d.mts +7 -0
  77. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +90 -0
  78. package/dist/astro/routes/api/admin/plugins/_id_/enable.d.mts +7 -0
  79. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +90 -0
  80. package/dist/astro/routes/api/admin/plugins/_id_/index.d.mts +7 -0
  81. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +55 -0
  82. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.d.mts +7 -0
  83. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +99 -0
  84. package/dist/astro/routes/api/admin/plugins/_id_/update.d.mts +7 -0
  85. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +132 -0
  86. package/dist/astro/routes/api/admin/plugins/index.d.mts +7 -0
  87. package/dist/astro/routes/api/admin/plugins/index.mjs +53 -0
  88. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.d.mts +7 -0
  89. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +36 -0
  90. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.d.mts +7 -0
  91. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +55 -0
  92. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.d.mts +7 -0
  93. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +129 -0
  94. package/dist/astro/routes/api/admin/plugins/marketplace/index.d.mts +7 -0
  95. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +62 -0
  96. package/dist/astro/routes/api/admin/plugins/updates.d.mts +7 -0
  97. package/dist/astro/routes/api/admin/plugins/updates.mjs +53 -0
  98. package/dist/astro/routes/api/admin/review-requests/_id_/index.d.mts +7 -0
  99. package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +26 -0
  100. package/dist/astro/routes/api/admin/review-requests/_id_/resolve.d.mts +7 -0
  101. package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +98 -0
  102. package/dist/astro/routes/api/admin/review-requests/index.d.mts +7 -0
  103. package/dist/astro/routes/api/admin/review-requests/index.mjs +31 -0
  104. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.d.mts +7 -0
  105. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +55 -0
  106. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.d.mts +7 -0
  107. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +36 -0
  108. package/dist/astro/routes/api/admin/themes/marketplace/index.d.mts +7 -0
  109. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +71 -0
  110. package/dist/astro/routes/api/admin/users/_id_/disable.d.mts +7 -0
  111. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +38 -0
  112. package/dist/astro/routes/api/admin/users/_id_/enable.d.mts +7 -0
  113. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +29 -0
  114. package/dist/astro/routes/api/admin/users/_id_/index.d.mts +8 -0
  115. package/dist/astro/routes/api/admin/users/_id_/index.mjs +104 -0
  116. package/dist/astro/routes/api/admin/users/_id_/send-recovery.d.mts +7 -0
  117. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +43 -0
  118. package/dist/astro/routes/api/admin/users/index.d.mts +7 -0
  119. package/dist/astro/routes/api/admin/users/index.mjs +54 -0
  120. package/dist/astro/routes/api/auth/dev-bypass.d.mts +8 -0
  121. package/dist/astro/routes/api/auth/dev-bypass.mjs +81 -0
  122. package/dist/astro/routes/api/auth/invite/accept.d.mts +7 -0
  123. package/dist/astro/routes/api/auth/invite/accept.mjs +31 -0
  124. package/dist/astro/routes/api/auth/invite/complete.d.mts +7 -0
  125. package/dist/astro/routes/api/auth/invite/complete.mjs +54 -0
  126. package/dist/astro/routes/api/auth/invite/index.d.mts +7 -0
  127. package/dist/astro/routes/api/auth/invite/index.mjs +51 -0
  128. package/dist/astro/routes/api/auth/invite/register-options.d.mts +7 -0
  129. package/dist/astro/routes/api/auth/invite/register-options.mjs +44 -0
  130. package/dist/astro/routes/api/auth/logout.d.mts +7 -0
  131. package/dist/astro/routes/api/auth/logout.mjs +24 -0
  132. package/dist/astro/routes/api/auth/magic-link/send.d.mts +7 -0
  133. package/dist/astro/routes/api/auth/magic-link/send.mjs +48 -0
  134. package/dist/astro/routes/api/auth/magic-link/verify.d.mts +7 -0
  135. package/dist/astro/routes/api/auth/magic-link/verify.mjs +32 -0
  136. package/dist/astro/routes/api/auth/me.d.mts +13 -0
  137. package/dist/astro/routes/api/auth/me.mjs +41 -0
  138. package/dist/astro/routes/api/auth/mode.d.mts +7 -0
  139. package/dist/astro/routes/api/auth/mode.mjs +28 -0
  140. package/dist/astro/routes/api/auth/oauth/_provider_/callback.d.mts +7 -0
  141. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +114 -0
  142. package/dist/astro/routes/api/auth/oauth/_provider_.d.mts +7 -0
  143. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +58 -0
  144. package/dist/astro/routes/api/auth/passkey/_id_.d.mts +14 -0
  145. package/dist/astro/routes/api/auth/passkey/_id_.mjs +62 -0
  146. package/dist/astro/routes/api/auth/passkey/index.d.mts +7 -0
  147. package/dist/astro/routes/api/auth/passkey/index.mjs +25 -0
  148. package/dist/astro/routes/api/auth/passkey/options.d.mts +7 -0
  149. package/dist/astro/routes/api/auth/passkey/options.mjs +46 -0
  150. package/dist/astro/routes/api/auth/passkey/register/options.d.mts +7 -0
  151. package/dist/astro/routes/api/auth/passkey/register/options.mjs +44 -0
  152. package/dist/astro/routes/api/auth/passkey/register/verify.d.mts +7 -0
  153. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +59 -0
  154. package/dist/astro/routes/api/auth/passkey/verify.d.mts +7 -0
  155. package/dist/astro/routes/api/auth/passkey/verify.mjs +47 -0
  156. package/dist/astro/routes/api/auth/signup/complete.d.mts +7 -0
  157. package/dist/astro/routes/api/auth/signup/complete.mjs +55 -0
  158. package/dist/astro/routes/api/auth/signup/request.d.mts +7 -0
  159. package/dist/astro/routes/api/auth/signup/request.mjs +44 -0
  160. package/dist/astro/routes/api/auth/signup/verify.d.mts +7 -0
  161. package/dist/astro/routes/api/auth/signup/verify.mjs +32 -0
  162. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.d.mts +14 -0
  163. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +193 -0
  164. package/dist/astro/routes/api/content/_collection_/_id_/compare.d.mts +7 -0
  165. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +17 -0
  166. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.d.mts +7 -0
  167. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +36 -0
  168. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.d.mts +7 -0
  169. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +39 -0
  170. package/dist/astro/routes/api/content/_collection_/_id_/permanent.d.mts +7 -0
  171. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +31 -0
  172. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.d.mts +7 -0
  173. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +78 -0
  174. package/dist/astro/routes/api/content/_collection_/_id_/publish.d.mts +7 -0
  175. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +93 -0
  176. package/dist/astro/routes/api/content/_collection_/_id_/restore.d.mts +7 -0
  177. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +36 -0
  178. package/dist/astro/routes/api/content/_collection_/_id_/revisions.d.mts +7 -0
  179. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +19 -0
  180. package/dist/astro/routes/api/content/_collection_/_id_/schedule.d.mts +8 -0
  181. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +75 -0
  182. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.d.mts +14 -0
  183. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +85 -0
  184. package/dist/astro/routes/api/content/_collection_/_id_/translations.d.mts +7 -0
  185. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +40 -0
  186. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.d.mts +7 -0
  187. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +36 -0
  188. package/dist/astro/routes/api/content/_collection_/_id_.d.mts +9 -0
  189. package/dist/astro/routes/api/content/_collection_/_id_.mjs +114 -0
  190. package/dist/astro/routes/api/content/_collection_/index.d.mts +8 -0
  191. package/dist/astro/routes/api/content/_collection_/index.mjs +74 -0
  192. package/dist/astro/routes/api/content/_collection_/trash.d.mts +7 -0
  193. package/dist/astro/routes/api/content/_collection_/trash.mjs +23 -0
  194. package/dist/astro/routes/api/dashboard.d.mts +7 -0
  195. package/dist/astro/routes/api/dashboard.mjs +26 -0
  196. package/dist/astro/routes/api/dev/emails.d.mts +8 -0
  197. package/dist/astro/routes/api/dev/emails.mjs +17 -0
  198. package/dist/astro/routes/api/health.d.mts +7 -0
  199. package/dist/astro/routes/api/health.mjs +34 -0
  200. package/dist/astro/routes/api/import/probe.d.mts +17 -0
  201. package/dist/astro/routes/api/import/probe.mjs +33 -0
  202. package/dist/astro/routes/api/import/wordpress/analyze.d.mts +87 -0
  203. package/dist/astro/routes/api/import/wordpress/analyze.mjs +305 -0
  204. package/dist/astro/routes/api/import/wordpress/execute.d.mts +37 -0
  205. package/dist/astro/routes/api/import/wordpress/execute.mjs +198 -0
  206. package/dist/astro/routes/api/import/wordpress/media.d.mts +35 -0
  207. package/dist/astro/routes/api/import/wordpress/media.mjs +222 -0
  208. package/dist/astro/routes/api/import/wordpress/prepare.d.mts +19 -0
  209. package/dist/astro/routes/api/import/wordpress/prepare.mjs +156 -0
  210. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +21 -0
  211. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +290 -0
  212. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +15 -0
  213. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +69 -0
  214. package/dist/astro/routes/api/import/wordpress-plugin/callback.d.mts +7 -0
  215. package/dist/astro/routes/api/import/wordpress-plugin/callback.mjs +28 -0
  216. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +19 -0
  217. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +269 -0
  218. package/dist/astro/routes/api/manifest.d.mts +7 -0
  219. package/dist/astro/routes/api/manifest.mjs +50 -0
  220. package/dist/astro/routes/api/mcp.d.mts +15 -0
  221. package/dist/astro/routes/api/mcp.mjs +2701 -0
  222. package/dist/astro/routes/api/media/_id_/confirm.d.mts +10 -0
  223. package/dist/astro/routes/api/media/_id_/confirm.mjs +59 -0
  224. package/dist/astro/routes/api/media/_id_.d.mts +22 -0
  225. package/dist/astro/routes/api/media/_id_.mjs +81 -0
  226. package/dist/astro/routes/api/media/file/_...key_.d.mts +7 -0
  227. package/dist/astro/routes/api/media/file/_...key_.mjs +49 -0
  228. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.d.mts +14 -0
  229. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +49 -0
  230. package/dist/astro/routes/api/media/providers/_providerId_/index.d.mts +14 -0
  231. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +72 -0
  232. package/dist/astro/routes/api/media/providers/index.d.mts +10 -0
  233. package/dist/astro/routes/api/media/providers/index.mjs +18 -0
  234. package/dist/astro/routes/api/media/upload-url.d.mts +10 -0
  235. package/dist/astro/routes/api/media/upload-url.mjs +82 -0
  236. package/dist/astro/routes/api/media.d.mts +16 -0
  237. package/dist/astro/routes/api/media.mjs +137 -0
  238. package/dist/astro/routes/api/menus/_name_/items.d.mts +9 -0
  239. package/dist/astro/routes/api/menus/_name_/items.mjs +165 -0
  240. package/dist/astro/routes/api/menus/_name_/reorder.d.mts +7 -0
  241. package/dist/astro/routes/api/menus/_name_/reorder.mjs +78 -0
  242. package/dist/astro/routes/api/menus/_name_.d.mts +9 -0
  243. package/dist/astro/routes/api/menus/_name_.mjs +124 -0
  244. package/dist/astro/routes/api/menus/index.d.mts +8 -0
  245. package/dist/astro/routes/api/menus/index.mjs +85 -0
  246. package/dist/astro/routes/api/oauth/authorize.d.mts +8 -0
  247. package/dist/astro/routes/api/oauth/authorize.mjs +265 -0
  248. package/dist/astro/routes/api/oauth/device/authorize.d.mts +7 -0
  249. package/dist/astro/routes/api/oauth/device/authorize.mjs +30 -0
  250. package/dist/astro/routes/api/oauth/device/code.d.mts +7 -0
  251. package/dist/astro/routes/api/oauth/device/code.mjs +34 -0
  252. package/dist/astro/routes/api/oauth/device/token.d.mts +7 -0
  253. package/dist/astro/routes/api/oauth/device/token.mjs +45 -0
  254. package/dist/astro/routes/api/oauth/register.d.mts +8 -0
  255. package/dist/astro/routes/api/oauth/register.mjs +115 -0
  256. package/dist/astro/routes/api/oauth/token/refresh.d.mts +7 -0
  257. package/dist/astro/routes/api/oauth/token/refresh.mjs +28 -0
  258. package/dist/astro/routes/api/oauth/token/revoke.d.mts +7 -0
  259. package/dist/astro/routes/api/oauth/token/revoke.mjs +25 -0
  260. package/dist/astro/routes/api/oauth/token.d.mts +8 -0
  261. package/dist/astro/routes/api/oauth/token.mjs +138 -0
  262. package/dist/astro/routes/api/openapi.json.d.mts +7 -0
  263. package/dist/astro/routes/api/openapi.json.mjs +2638 -0
  264. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.d.mts +11 -0
  265. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +77 -0
  266. package/dist/astro/routes/api/redirects/404s/index.d.mts +9 -0
  267. package/dist/astro/routes/api/redirects/404s/index.mjs +62 -0
  268. package/dist/astro/routes/api/redirects/404s/summary.d.mts +7 -0
  269. package/dist/astro/routes/api/redirects/404s/summary.mjs +34 -0
  270. package/dist/astro/routes/api/redirects/_id_.d.mts +9 -0
  271. package/dist/astro/routes/api/redirects/_id_.mjs +153 -0
  272. package/dist/astro/routes/api/redirects/index.d.mts +8 -0
  273. package/dist/astro/routes/api/redirects/index.mjs +98 -0
  274. package/dist/astro/routes/api/revisions/_revisionId_/index.d.mts +7 -0
  275. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +16 -0
  276. package/dist/astro/routes/api/revisions/_revisionId_/restore.d.mts +7 -0
  277. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +23 -0
  278. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.d.mts +9 -0
  279. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +99 -0
  280. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.d.mts +8 -0
  281. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +81 -0
  282. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.d.mts +7 -0
  283. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +68 -0
  284. package/dist/astro/routes/api/schema/collections/_slug_/index.d.mts +9 -0
  285. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +98 -0
  286. package/dist/astro/routes/api/schema/collections/index.d.mts +8 -0
  287. package/dist/astro/routes/api/schema/collections/index.mjs +78 -0
  288. package/dist/astro/routes/api/schema/index.d.mts +7 -0
  289. package/dist/astro/routes/api/schema/index.mjs +79 -0
  290. package/dist/astro/routes/api/schema/orphans/_slug_.d.mts +7 -0
  291. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +59 -0
  292. package/dist/astro/routes/api/schema/orphans/index.d.mts +7 -0
  293. package/dist/astro/routes/api/schema/orphans/index.mjs +54 -0
  294. package/dist/astro/routes/api/search/enable.d.mts +15 -0
  295. package/dist/astro/routes/api/search/enable.mjs +55 -0
  296. package/dist/astro/routes/api/search/index.d.mts +16 -0
  297. package/dist/astro/routes/api/search/index.mjs +52 -0
  298. package/dist/astro/routes/api/search/rebuild.d.mts +13 -0
  299. package/dist/astro/routes/api/search/rebuild.mjs +48 -0
  300. package/dist/astro/routes/api/search/stats.d.mts +10 -0
  301. package/dist/astro/routes/api/search/stats.mjs +28 -0
  302. package/dist/astro/routes/api/search/suggest.d.mts +15 -0
  303. package/dist/astro/routes/api/search/suggest.mjs +43 -0
  304. package/dist/astro/routes/api/sections/_slug_.d.mts +9 -0
  305. package/dist/astro/routes/api/sections/_slug_.mjs +157 -0
  306. package/dist/astro/routes/api/sections/index.d.mts +8 -0
  307. package/dist/astro/routes/api/sections/index.mjs +100 -0
  308. package/dist/astro/routes/api/settings/email.d.mts +17 -0
  309. package/dist/astro/routes/api/settings/email.mjs +102 -0
  310. package/dist/astro/routes/api/settings.d.mts +20 -0
  311. package/dist/astro/routes/api/settings.mjs +102 -0
  312. package/dist/astro/routes/api/setup/admin-verify.d.mts +7 -0
  313. package/dist/astro/routes/api/setup/admin-verify.mjs +67 -0
  314. package/dist/astro/routes/api/setup/admin.d.mts +7 -0
  315. package/dist/astro/routes/api/setup/admin.mjs +68 -0
  316. package/dist/astro/routes/api/setup/dev-bypass.d.mts +8 -0
  317. package/dist/astro/routes/api/setup/dev-bypass.mjs +137 -0
  318. package/dist/astro/routes/api/setup/dev-reset.d.mts +7 -0
  319. package/dist/astro/routes/api/setup/dev-reset.mjs +22 -0
  320. package/dist/astro/routes/api/setup/index.d.mts +7 -0
  321. package/dist/astro/routes/api/setup/index.mjs +93 -0
  322. package/dist/astro/routes/api/setup/status.d.mts +7 -0
  323. package/dist/astro/routes/api/setup/status.mjs +57 -0
  324. package/dist/astro/routes/api/snapshot.d.mts +7 -0
  325. package/dist/astro/routes/api/snapshot.mjs +227 -0
  326. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.d.mts +18 -0
  327. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +190 -0
  328. package/dist/astro/routes/api/taxonomies/_name_/terms/index.d.mts +14 -0
  329. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +114 -0
  330. package/dist/astro/routes/api/taxonomies/index.d.mts +14 -0
  331. package/dist/astro/routes/api/taxonomies/index.mjs +104 -0
  332. package/dist/astro/routes/api/themes/preview.d.mts +7 -0
  333. package/dist/astro/routes/api/themes/preview.mjs +47 -0
  334. package/dist/astro/routes/api/typegen.d.mts +17 -0
  335. package/dist/astro/routes/api/typegen.mjs +75 -0
  336. package/dist/astro/routes/api/well-known/auth.d.mts +7 -0
  337. package/dist/astro/routes/api/well-known/auth.mjs +42 -0
  338. package/dist/astro/routes/api/well-known/oauth-authorization-server.d.mts +7 -0
  339. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +33 -0
  340. package/dist/astro/routes/api/well-known/oauth-protected-resource.d.mts +7 -0
  341. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +21 -0
  342. package/dist/astro/routes/api/widget-areas/_name_/reorder.d.mts +7 -0
  343. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +89 -0
  344. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.d.mts +8 -0
  345. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +159 -0
  346. package/dist/astro/routes/api/widget-areas/_name_/widgets.d.mts +7 -0
  347. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +105 -0
  348. package/dist/astro/routes/api/widget-areas/_name_.d.mts +8 -0
  349. package/dist/astro/routes/api/widget-areas/_name_.mjs +100 -0
  350. package/dist/astro/routes/api/widget-areas/index.d.mts +8 -0
  351. package/dist/astro/routes/api/widget-areas/index.mjs +109 -0
  352. package/dist/astro/routes/api/widget-components.d.mts +7 -0
  353. package/dist/astro/routes/api/widget-components.mjs +15 -0
  354. package/dist/astro/routes/robots.txt.d.mts +7 -0
  355. package/dist/astro/routes/robots.txt.mjs +60 -0
  356. package/dist/astro/routes/sitemap-_collection_.xml.d.mts +7 -0
  357. package/dist/astro/routes/sitemap-_collection_.xml.mjs +70 -0
  358. package/dist/astro/routes/sitemap.xml.d.mts +7 -0
  359. package/dist/astro/routes/sitemap.xml.mjs +63 -0
  360. package/dist/astro/types.d.mts +42 -9
  361. package/dist/auth/providers/github-admin.d.mts +9 -0
  362. package/dist/auth/providers/github-admin.mjs +27 -0
  363. package/dist/auth/providers/github.d.mts +12 -0
  364. package/dist/auth/providers/github.mjs +17 -0
  365. package/dist/auth/providers/google-admin.d.mts +9 -0
  366. package/dist/auth/providers/google-admin.mjs +43 -0
  367. package/dist/auth/providers/google.d.mts +12 -0
  368. package/dist/auth/providers/google.mjs +17 -0
  369. package/dist/auth-control-guard-DOZ3UCsP.mjs +13 -0
  370. package/dist/authorize-BAdbMCwC.mjs +36 -0
  371. package/dist/briefing-MVYe_Uyf.mjs +1294 -0
  372. package/dist/briefing-rty4O-wa.mjs +29 -0
  373. package/dist/{byline-OhH2dlRu.mjs → byline-naZxOPSa.mjs} +3 -3
  374. package/dist/{bylines-BGpD9_hy.mjs → bylines-C4LIBOOO.mjs} +20 -53
  375. package/dist/bylines-eVVCuOe4.d.mts +2023 -0
  376. package/dist/{cache-BdSY-gQN.mjs → cache-DEbQ13c9.mjs} +21 -11
  377. package/dist/challenge-store-DDTbisbf.mjs +48 -0
  378. package/dist/cli/index.mjs +142 -22
  379. package/dist/client/external-auth-headers.d.mts +1 -1
  380. package/dist/client/index.d.mts +1 -1
  381. package/dist/client/index.mjs +3 -3
  382. package/dist/comment-DFO-gWDH.mjs +246 -0
  383. package/dist/comments--BsZ9pqA.mjs +186 -0
  384. package/dist/components-BPknylYg.mjs +107 -0
  385. package/dist/{content-DWi4d0rT.mjs → content-CyLkb-qH.mjs} +33 -44
  386. package/dist/context-CNIkMzot.mjs +849 -0
  387. package/dist/context-DNfcm853.mjs +184 -0
  388. package/dist/context-route-helpers-MurhoxWF.mjs +45 -0
  389. package/dist/context-types-C-LwdAxx.mjs +23 -0
  390. package/dist/cron-CKxvBrRT.mjs +263 -0
  391. package/dist/dashboard-DqnYU8EU.mjs +120 -0
  392. package/dist/db/index.d.mts +3 -3
  393. package/dist/db/libsql.d.mts +1 -1
  394. package/dist/db/libsql.mjs +3 -3
  395. package/dist/db/postgres.d.mts +1 -1
  396. package/dist/db/sqlite.d.mts +1 -1
  397. package/dist/db/sqlite.mjs +1 -2
  398. package/dist/device-flow-BGEH5jfn.mjs +487 -0
  399. package/dist/email-console-CuefUXfX.mjs +36 -0
  400. package/dist/entity-aliases-C0v-yNET.mjs +51 -0
  401. package/dist/error-BMUPwxgx.mjs +435 -0
  402. package/dist/escape-BRVaw1Ai.mjs +8 -0
  403. package/dist/experimental-workflows-C9X7yblQ.mjs +38 -0
  404. package/dist/fts-manager-B1pTNEG_.mjs +297 -0
  405. package/dist/hash-CDX7M0ze.mjs +32 -0
  406. package/dist/hitl-requests-ChT32Ilo.mjs +118 -0
  407. package/dist/hitl-route-helpers-CSit54Ru.mjs +96 -0
  408. package/dist/import-BHRLhXAn.mjs +1323 -0
  409. package/dist/import-CNcKWTbp.mjs +243 -0
  410. package/dist/index-CYfhYgXd.d.mts +227 -0
  411. package/dist/index-EUAWaIxW.d.mts +835 -0
  412. package/dist/index.d.mts +17 -11
  413. package/dist/index.mjs +63 -22
  414. package/dist/jsonld-D2gUY4kA.d.mts +141 -0
  415. package/dist/{loader-sMG4TZ-u.mjs → loader-PZnPxFLc.mjs} +42 -5
  416. package/dist/{manifest-schema-D1MSVnoI.mjs → manifest-schema-CgFJAp0H.mjs} +22 -10
  417. package/dist/media/index.d.mts +2 -1
  418. package/dist/media/index.mjs +2 -1
  419. package/dist/media/local-runtime.d.mts +12 -7
  420. package/dist/media/local-runtime.mjs +3 -3
  421. package/dist/{media-DMTr80Gv.mjs → media-_7Fxdu45.mjs} +1 -1
  422. package/dist/menus-DS3_5nWY.mjs +312 -0
  423. package/dist/menus-DYW_UHjv.mjs +256 -0
  424. package/dist/normalize-C49G_o1k.mjs +126 -0
  425. package/dist/oauth-authorization-DxGjiWKL.mjs +283 -0
  426. package/dist/oauth-clients-DxO_NO7k.mjs +298 -0
  427. package/dist/oauth-state-store-C5UFhzwD.mjs +48 -0
  428. package/dist/oauth-user-lookup-Bi0ek9eM.mjs +25 -0
  429. package/dist/options-z8VVg1Ll.mjs +114 -0
  430. package/dist/page/index.d.mts +2 -139
  431. package/dist/page/index.mjs +1 -427
  432. package/dist/parse-C9106ehs.mjs +88 -0
  433. package/dist/passkey-config-BRSZx4pW.mjs +42 -0
  434. package/dist/{patterns-CrCYkMBb.mjs → patterns-K0DLqWir.mjs} +53 -1
  435. package/dist/placeholder-Bh1dfUOd.d.mts +40 -0
  436. package/dist/{placeholder-Cp8g5Emj.mjs → placeholder-C2P5fKa4.mjs} +1 -126
  437. package/dist/plugins/adapt-sandbox-entry.d.mts +10 -5
  438. package/dist/plugins/adapt-sandbox-entry.mjs +4 -4
  439. package/dist/plugins-D7-ILNib.mjs +3249 -0
  440. package/dist/preview-DvYRU-Oy.mjs +788 -0
  441. package/dist/provider-loader-BiQ6lNmf.d.mts +20 -0
  442. package/dist/provider-loader-C21b9OpH.mjs +36 -0
  443. package/dist/public-url-Cun8N3NU.mjs +71 -0
  444. package/dist/{query-kDmwCsHh.mjs → query-B9BO5goQ.mjs} +93 -19
  445. package/dist/query-CsbOywSY.mjs +35 -0
  446. package/dist/rate-limit-DmVTHI5v.mjs +112 -0
  447. package/dist/{redirect-DnEWAkVg.mjs → redirect-CGl64yOX.mjs} +9 -5
  448. package/dist/redirect-COZy-3iY.mjs +16 -0
  449. package/dist/redirects-Cgi_cZfN.mjs +499 -0
  450. package/dist/redirects-lrlmYXVE.mjs +1023 -0
  451. package/dist/{registry-C0zjeB9P.mjs → registry-C-_hxLqa.mjs} +26 -294
  452. package/dist/request-meta-DixlNKKa.mjs +130 -0
  453. package/dist/review-requests-C2DIHwlJ.mjs +148 -0
  454. package/dist/review-requests-DIyjw-K_.mjs +79 -0
  455. package/dist/{runner-CFI6B6J2.d.mts → runner-BU6Lo1ZS.d.mts} +1 -1
  456. package/dist/{index-yvc6E_17.d.mts → runtime-Db4LbNVZ.d.mts} +1188 -2484
  457. package/dist/runtime.d.mts +11 -24
  458. package/dist/runtime.mjs +4 -38
  459. package/dist/schema-BECjUhP8.mjs +8 -0
  460. package/dist/search-DqTHQqtV.mjs +337 -0
  461. package/dist/secrets-CkoJ9zN0.mjs +160 -0
  462. package/dist/sections-B61OxnfB.mjs +338 -0
  463. package/dist/seed/index.d.mts +2 -2
  464. package/dist/seed/index.mjs +18 -13
  465. package/dist/seo/index.d.mts +1 -1
  466. package/dist/seo-C007Luwn.mjs +85 -0
  467. package/dist/seo-CUQctrog.mjs +129 -0
  468. package/dist/seo-contributions-B1fWCnqY.mjs +429 -0
  469. package/dist/service-CyOsm0R6.mjs +194 -0
  470. package/dist/settings-DGtLLSaz.mjs +237 -0
  471. package/dist/settings-Dzgswvg4.mjs +50 -0
  472. package/dist/setup-complete-ChilE-da.mjs +21 -0
  473. package/dist/setup-nonce-BpmLXAuu.mjs +17 -0
  474. package/dist/sidecar-client-B1C6Cf80.mjs +66 -0
  475. package/dist/site-activity-B8FjLIVh.mjs +104 -0
  476. package/dist/site-context-WBxoD99D.mjs +4122 -0
  477. package/dist/site-url-BP7k7OCe.mjs +12 -0
  478. package/dist/slugify-PDTDtMXp.mjs +30 -0
  479. package/dist/ssrf-DDwRxF6B.mjs +248 -0
  480. package/dist/storage/local.d.mts +1 -1
  481. package/dist/storage/local.mjs +1 -1
  482. package/dist/storage/s3.d.mts +1 -1
  483. package/dist/storage/s3.mjs +2 -2
  484. package/dist/{taxonomies-1s5PaS_8.mjs → taxonomies-D2aZGuns.mjs} +11 -7
  485. package/dist/taxonomies-z6Lz91BC.mjs +355 -0
  486. package/dist/taxonomy-D5cbhc8u.mjs +165 -0
  487. package/dist/{tokens-CJz9ubV6.mjs → tokens-BOJw-D9F.mjs} +1 -1
  488. package/dist/{transport-DB5eDN4x.mjs → transport-D3i4yWRE.mjs} +5 -4
  489. package/dist/trusted-proxy-BbaZfkT9.mjs +30 -0
  490. package/dist/types-0Vr68fc2.d.mts +344 -0
  491. package/dist/types-BFmjniC2.d.mts +165 -0
  492. package/dist/{types-BawVha09.mjs → types-Bs6lTBBW.mjs} +1 -1
  493. package/dist/{types-BuMDPy5C.d.mts → types-C0mmVRJN.d.mts} +6 -0
  494. package/dist/{placeholder--wOi4TbO.d.mts → types-OPs5Q_sX.d.mts} +1 -38
  495. package/dist/{types-Cj0KMIZV.d.mts → types-Q616b2Hn.d.mts} +54 -16
  496. package/dist/ui/client-runtime.d.mts +12 -0
  497. package/dist/ui/client-runtime.mjs +32 -0
  498. package/dist/ui/server-runtime.d.mts +33 -0
  499. package/dist/ui/server-runtime.mjs +80 -0
  500. package/dist/url-DNjT2abR.mjs +49 -0
  501. package/dist/user-CcXq-zoL.mjs +154 -0
  502. package/dist/utils-C0ONdBul.mjs +285 -0
  503. package/dist/{validate-IPf8n4Fj.d.mts → validate-BwmQEbu8.d.mts} +3 -3
  504. package/dist/{validate-BZ5wnLLp.mjs → validate-C7TzfamJ.mjs} +1 -1
  505. package/dist/version-D3vDb22n.mjs +6 -0
  506. package/dist/widgets-B7DRpZvy.mjs +104 -0
  507. package/dist/wordpress-slugs-CnporCYH.mjs +14 -0
  508. package/dist/zod-generator-DBVP8D0P.mjs +132 -0
  509. package/locals.d.ts +1 -6
  510. package/package.json +81 -11
  511. package/src/components/Button.astro +1 -1
  512. package/src/components/CommentForm.astro +1 -1
  513. package/src/components/Comments.astro +1 -3
  514. package/src/components/DinewayBodyEnd.astro +5 -3
  515. package/src/components/DinewayBodyStart.astro +5 -3
  516. package/src/components/DinewayHead.astro +15 -9
  517. package/src/components/DinewayImage.astro +12 -8
  518. package/src/components/DinewayMedia.astro +15 -6
  519. package/src/components/Embed.astro +1 -2
  520. package/src/components/File.astro +1 -1
  521. package/src/components/Gallery.astro +5 -3
  522. package/src/components/HtmlBlock.astro +1 -1
  523. package/src/components/Image.astro +9 -3
  524. package/src/components/InlinePortableTextEditor.tsx +69 -20
  525. package/src/components/PortableText.astro +1 -1
  526. package/src/components/WidgetArea.astro +1 -1
  527. package/src/components/WidgetRenderer.astro +1 -3
  528. package/src/components/marks/Link.astro +1 -1
  529. package/src/components/widgets/Archives.astro +1 -1
  530. package/src/components/widgets/Categories.astro +1 -1
  531. package/src/components/widgets/RecentPosts.astro +1 -1
  532. package/src/components/widgets/Tags.astro +1 -1
  533. package/dist/error-BmL6QipT.mjs +0 -30
  534. package/dist/search-DxopAWxs.mjs +0 -11200
  535. package/dist/version-BPz1imu2.mjs +0 -6
  536. package/src/astro/routes/PluginRegistry.tsx +0 -21
  537. package/src/astro/routes/api/admin/allowed-domains/[domain].ts +0 -112
  538. package/src/astro/routes/api/admin/allowed-domains/index.ts +0 -108
  539. package/src/astro/routes/api/admin/api-tokens/[id].ts +0 -44
  540. package/src/astro/routes/api/admin/api-tokens/index.ts +0 -90
  541. package/src/astro/routes/api/admin/briefing.ts +0 -76
  542. package/src/astro/routes/api/admin/bylines/[id]/index.ts +0 -90
  543. package/src/astro/routes/api/admin/bylines/index.ts +0 -74
  544. package/src/astro/routes/api/admin/comments/[id]/status.ts +0 -120
  545. package/src/astro/routes/api/admin/comments/[id].ts +0 -64
  546. package/src/astro/routes/api/admin/comments/bulk.ts +0 -42
  547. package/src/astro/routes/api/admin/comments/counts.ts +0 -30
  548. package/src/astro/routes/api/admin/comments/index.ts +0 -46
  549. package/src/astro/routes/api/admin/context/[id]/history.ts +0 -35
  550. package/src/astro/routes/api/admin/context/[id]/index.ts +0 -35
  551. package/src/astro/routes/api/admin/context/[id]/review.ts +0 -57
  552. package/src/astro/routes/api/admin/context/[id]/supersede.ts +0 -58
  553. package/src/astro/routes/api/admin/context/diff.ts +0 -35
  554. package/src/astro/routes/api/admin/context/index.ts +0 -69
  555. package/src/astro/routes/api/admin/context/stale.ts +0 -35
  556. package/src/astro/routes/api/admin/hitl-requests/[id]/index.ts +0 -38
  557. package/src/astro/routes/api/admin/hitl-requests/[id]/resolve.ts +0 -54
  558. package/src/astro/routes/api/admin/hitl-requests/index.ts +0 -38
  559. package/src/astro/routes/api/admin/hooks/exclusive/[hookName].ts +0 -132
  560. package/src/astro/routes/api/admin/hooks/exclusive/index.ts +0 -51
  561. package/src/astro/routes/api/admin/oauth-clients/[id].ts +0 -137
  562. package/src/astro/routes/api/admin/oauth-clients/index.ts +0 -95
  563. package/src/astro/routes/api/admin/plugins/[id]/disable.ts +0 -91
  564. package/src/astro/routes/api/admin/plugins/[id]/enable.ts +0 -91
  565. package/src/astro/routes/api/admin/plugins/[id]/index.ts +0 -38
  566. package/src/astro/routes/api/admin/plugins/[id]/uninstall.ts +0 -98
  567. package/src/astro/routes/api/admin/plugins/[id]/update.ts +0 -154
  568. package/src/astro/routes/api/admin/plugins/index.ts +0 -32
  569. package/src/astro/routes/api/admin/plugins/marketplace/[id]/icon.ts +0 -62
  570. package/src/astro/routes/api/admin/plugins/marketplace/[id]/index.ts +0 -33
  571. package/src/astro/routes/api/admin/plugins/marketplace/[id]/install.ts +0 -135
  572. package/src/astro/routes/api/admin/plugins/marketplace/index.ts +0 -38
  573. package/src/astro/routes/api/admin/plugins/updates.ts +0 -28
  574. package/src/astro/routes/api/admin/review-requests/[id]/index.ts +0 -35
  575. package/src/astro/routes/api/admin/review-requests/[id]/resolve.ts +0 -52
  576. package/src/astro/routes/api/admin/review-requests/index.ts +0 -35
  577. package/src/astro/routes/api/admin/themes/marketplace/[id]/index.ts +0 -33
  578. package/src/astro/routes/api/admin/themes/marketplace/[id]/thumbnail.ts +0 -62
  579. package/src/astro/routes/api/admin/themes/marketplace/index.ts +0 -45
  580. package/src/astro/routes/api/admin/users/[id]/disable.ts +0 -72
  581. package/src/astro/routes/api/admin/users/[id]/enable.ts +0 -48
  582. package/src/astro/routes/api/admin/users/[id]/index.ts +0 -166
  583. package/src/astro/routes/api/admin/users/[id]/send-recovery.ts +0 -72
  584. package/src/astro/routes/api/admin/users/index.ts +0 -66
  585. package/src/astro/routes/api/auth/dev-bypass.ts +0 -139
  586. package/src/astro/routes/api/auth/invite/accept.ts +0 -52
  587. package/src/astro/routes/api/auth/invite/complete.ts +0 -86
  588. package/src/astro/routes/api/auth/invite/index.ts +0 -99
  589. package/src/astro/routes/api/auth/invite/register-options.ts +0 -73
  590. package/src/astro/routes/api/auth/logout.ts +0 -40
  591. package/src/astro/routes/api/auth/magic-link/send.ts +0 -90
  592. package/src/astro/routes/api/auth/magic-link/verify.ts +0 -71
  593. package/src/astro/routes/api/auth/me.ts +0 -60
  594. package/src/astro/routes/api/auth/oauth/[provider]/callback.ts +0 -221
  595. package/src/astro/routes/api/auth/oauth/[provider].ts +0 -120
  596. package/src/astro/routes/api/auth/passkey/[id].ts +0 -124
  597. package/src/astro/routes/api/auth/passkey/index.ts +0 -54
  598. package/src/astro/routes/api/auth/passkey/options.ts +0 -85
  599. package/src/astro/routes/api/auth/passkey/register/options.ts +0 -88
  600. package/src/astro/routes/api/auth/passkey/register/verify.ts +0 -119
  601. package/src/astro/routes/api/auth/passkey/verify.ts +0 -72
  602. package/src/astro/routes/api/auth/signup/complete.ts +0 -87
  603. package/src/astro/routes/api/auth/signup/request.ts +0 -89
  604. package/src/astro/routes/api/auth/signup/verify.ts +0 -53
  605. package/src/astro/routes/api/comments/[collection]/[contentId]/index.ts +0 -310
  606. package/src/astro/routes/api/content/[collection]/[id]/compare.ts +0 -28
  607. package/src/astro/routes/api/content/[collection]/[id]/discard-draft.ts +0 -68
  608. package/src/astro/routes/api/content/[collection]/[id]/duplicate.ts +0 -77
  609. package/src/astro/routes/api/content/[collection]/[id]/permanent.ts +0 -42
  610. package/src/astro/routes/api/content/[collection]/[id]/preview-url.ts +0 -107
  611. package/src/astro/routes/api/content/[collection]/[id]/publish.ts +0 -100
  612. package/src/astro/routes/api/content/[collection]/[id]/restore.ts +0 -64
  613. package/src/astro/routes/api/content/[collection]/[id]/revisions.ts +0 -31
  614. package/src/astro/routes/api/content/[collection]/[id]/schedule.ts +0 -129
  615. package/src/astro/routes/api/content/[collection]/[id]/terms/[taxonomy].ts +0 -143
  616. package/src/astro/routes/api/content/[collection]/[id]/translations.ts +0 -50
  617. package/src/astro/routes/api/content/[collection]/[id]/unpublish.ts +0 -69
  618. package/src/astro/routes/api/content/[collection]/[id].ts +0 -173
  619. package/src/astro/routes/api/content/[collection]/index.ts +0 -103
  620. package/src/astro/routes/api/content/[collection]/trash.ts +0 -33
  621. package/src/astro/routes/api/dashboard.ts +0 -32
  622. package/src/astro/routes/api/dev/emails.ts +0 -36
  623. package/src/astro/routes/api/health.ts +0 -54
  624. package/src/astro/routes/api/import/probe.ts +0 -47
  625. package/src/astro/routes/api/import/wordpress/analyze.ts +0 -523
  626. package/src/astro/routes/api/import/wordpress/execute.ts +0 -330
  627. package/src/astro/routes/api/import/wordpress/media.ts +0 -338
  628. package/src/astro/routes/api/import/wordpress/prepare.ts +0 -212
  629. package/src/astro/routes/api/import/wordpress/rewrite-urls.ts +0 -425
  630. package/src/astro/routes/api/import/wordpress-plugin/analyze.ts +0 -111
  631. package/src/astro/routes/api/import/wordpress-plugin/callback.ts +0 -58
  632. package/src/astro/routes/api/import/wordpress-plugin/execute.ts +0 -399
  633. package/src/astro/routes/api/manifest.ts +0 -75
  634. package/src/astro/routes/api/mcp.ts +0 -125
  635. package/src/astro/routes/api/media/[id]/confirm.ts +0 -93
  636. package/src/astro/routes/api/media/[id].ts +0 -145
  637. package/src/astro/routes/api/media/file/[...key].ts +0 -79
  638. package/src/astro/routes/api/media/providers/[providerId]/[itemId].ts +0 -91
  639. package/src/astro/routes/api/media/providers/[providerId]/index.ts +0 -111
  640. package/src/astro/routes/api/media/providers/index.ts +0 -30
  641. package/src/astro/routes/api/media/upload-url.ts +0 -146
  642. package/src/astro/routes/api/media.ts +0 -204
  643. package/src/astro/routes/api/menus/[name]/items.ts +0 -206
  644. package/src/astro/routes/api/menus/[name]/reorder.ts +0 -79
  645. package/src/astro/routes/api/menus/[name].ts +0 -145
  646. package/src/astro/routes/api/menus/index.ts +0 -91
  647. package/src/astro/routes/api/oauth/authorize.ts +0 -430
  648. package/src/astro/routes/api/oauth/device/authorize.ts +0 -45
  649. package/src/astro/routes/api/oauth/device/code.ts +0 -56
  650. package/src/astro/routes/api/oauth/device/token.ts +0 -70
  651. package/src/astro/routes/api/oauth/register.ts +0 -182
  652. package/src/astro/routes/api/oauth/token/refresh.ts +0 -38
  653. package/src/astro/routes/api/oauth/token/revoke.ts +0 -38
  654. package/src/astro/routes/api/oauth/token.ts +0 -195
  655. package/src/astro/routes/api/openapi.json.ts +0 -33
  656. package/src/astro/routes/api/plugins/[pluginId]/[...path].ts +0 -109
  657. package/src/astro/routes/api/redirects/404s/index.ts +0 -72
  658. package/src/astro/routes/api/redirects/404s/summary.ts +0 -33
  659. package/src/astro/routes/api/redirects/[id].ts +0 -183
  660. package/src/astro/routes/api/redirects/index.ts +0 -100
  661. package/src/astro/routes/api/revisions/[revisionId]/index.ts +0 -29
  662. package/src/astro/routes/api/revisions/[revisionId]/restore.ts +0 -62
  663. package/src/astro/routes/api/schema/collections/[slug]/fields/[fieldSlug].ts +0 -104
  664. package/src/astro/routes/api/schema/collections/[slug]/fields/index.ts +0 -67
  665. package/src/astro/routes/api/schema/collections/[slug]/fields/reorder.ts +0 -45
  666. package/src/astro/routes/api/schema/collections/[slug]/index.ts +0 -107
  667. package/src/astro/routes/api/schema/collections/index.ts +0 -61
  668. package/src/astro/routes/api/schema/index.ts +0 -109
  669. package/src/astro/routes/api/schema/orphans/[slug].ts +0 -36
  670. package/src/astro/routes/api/schema/orphans/index.ts +0 -26
  671. package/src/astro/routes/api/search/enable.ts +0 -64
  672. package/src/astro/routes/api/search/index.ts +0 -52
  673. package/src/astro/routes/api/search/rebuild.ts +0 -72
  674. package/src/astro/routes/api/search/stats.ts +0 -35
  675. package/src/astro/routes/api/search/suggest.ts +0 -50
  676. package/src/astro/routes/api/sections/[slug].ts +0 -203
  677. package/src/astro/routes/api/sections/index.ts +0 -107
  678. package/src/astro/routes/api/settings/email.ts +0 -150
  679. package/src/astro/routes/api/settings.ts +0 -116
  680. package/src/astro/routes/api/setup/admin-verify.ts +0 -122
  681. package/src/astro/routes/api/setup/admin.ts +0 -104
  682. package/src/astro/routes/api/setup/dev-bypass.ts +0 -200
  683. package/src/astro/routes/api/setup/dev-reset.ts +0 -40
  684. package/src/astro/routes/api/setup/index.ts +0 -128
  685. package/src/astro/routes/api/setup/status.ts +0 -122
  686. package/src/astro/routes/api/snapshot.ts +0 -76
  687. package/src/astro/routes/api/taxonomies/[name]/terms/[slug].ts +0 -232
  688. package/src/astro/routes/api/taxonomies/[name]/terms/index.ts +0 -131
  689. package/src/astro/routes/api/taxonomies/index.ts +0 -114
  690. package/src/astro/routes/api/themes/preview.ts +0 -78
  691. package/src/astro/routes/api/typegen.ts +0 -114
  692. package/src/astro/routes/api/well-known/auth.ts +0 -71
  693. package/src/astro/routes/api/well-known/oauth-authorization-server.ts +0 -48
  694. package/src/astro/routes/api/well-known/oauth-protected-resource.ts +0 -39
  695. package/src/astro/routes/api/widget-areas/[name]/reorder.ts +0 -114
  696. package/src/astro/routes/api/widget-areas/[name]/widgets/[id].ts +0 -213
  697. package/src/astro/routes/api/widget-areas/[name]/widgets.ts +0 -126
  698. package/src/astro/routes/api/widget-areas/[name].ts +0 -135
  699. package/src/astro/routes/api/widget-areas/index.ts +0 -149
  700. package/src/astro/routes/api/widget-components.ts +0 -22
  701. package/src/astro/routes/robots.txt.ts +0 -81
  702. package/src/astro/routes/sitemap-[collection].xml.ts +0 -104
  703. package/src/astro/routes/sitemap.xml.ts +0 -92
  704. /package/dist/{adapters-C2ypTrZZ.d.mts → adapters-DuLQZhRY.d.mts} +0 -0
  705. /package/{src → dist}/astro/routes/admin.astro +0 -0
  706. /package/dist/{base64-F8-DUraK.mjs → base64-Cz-aU0X1.mjs} +0 -0
  707. /package/dist/{chunks--4F8ddV4.mjs → chunks-D_jVet6z.mjs} +0 -0
  708. /package/dist/{config-BXwuX8Bx.mjs → config-CAMFxGaV.mjs} +0 -0
  709. /package/dist/{db-errors-CEqD7qH9.mjs → db-errors-DyZkswzF.mjs} +0 -0
  710. /package/dist/{default-VjJyuuG9.mjs → default-D4ngTpW8.mjs} +0 -0
  711. /package/dist/{load-Coc9HpHH.mjs → load-B2XtDw__.mjs} +0 -0
  712. /package/dist/{mode-47goXBBK.mjs → mode-DUhxwUhv.mjs} +0 -0
  713. /package/dist/{request-cache-Dk5qPSOx.mjs → request-cache-DHMRr2Lf.mjs} +0 -0
  714. /package/dist/{transaction-Cn2rjY78.mjs → transaction-x2tJQ-A1.mjs} +0 -0
  715. /package/dist/{transport-Wge_IzKl.d.mts → transport-BXe1AM79.d.mts} +0 -0
  716. /package/dist/{types-CWbdtiux.d.mts → types-B7kpsMJ3.d.mts} +0 -0
  717. /package/dist/{types-BzcUjoqg.d.mts → types-DJlpx5Ay.d.mts} +0 -0
  718. /package/dist/{types-COeOq9nK.mjs → types-DL7Y8D_t.mjs} +0 -0
  719. /package/dist/{types-DOrVigru.d.mts → types-DZPw8Rru.d.mts} +0 -0
  720. /package/dist/{types-griIBQOQ.mjs → types-fAInWQDO.mjs} +0 -0
@@ -0,0 +1,10 @@
1
+ import { APIRoute } from "astro";
2
+
3
+ //#region src/astro/routes/api/media/[id]/confirm.d.ts
4
+ declare const prerender = false;
5
+ /**
6
+ * Confirm upload completion
7
+ */
8
+ declare const POST: APIRoute;
9
+ //#endregion
10
+ export { POST, prerender };
@@ -0,0 +1,59 @@
1
+ import "../../../../../context-types-C-LwdAxx.mjs";
2
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-BMUPwxgx.mjs";
3
+ import { r as parseOptionalBody, t as isParseError } from "../../../../../parse-C9106ehs.mjs";
4
+ import { Lt as mediaConfirmBody } from "../../../../../redirects-lrlmYXVE.mjs";
5
+ import "../../../../../import-CNcKWTbp.mjs";
6
+ import "../../../../../api/schemas/index.mjs";
7
+ import { n as requirePerm, t as requireOwnerPerm } from "../../../../../authorize-BAdbMCwC.mjs";
8
+ import { MediaRepository } from "dineway";
9
+
10
+ //#region src/astro/routes/api/media/[id]/confirm.ts
11
+ const prerender = false;
12
+ /**
13
+ * Add URL to media item (relative URL for portability)
14
+ */
15
+ function addUrlToMedia(item) {
16
+ return {
17
+ ...item,
18
+ url: `/_dineway/api/media/file/${item.storageKey}`
19
+ };
20
+ }
21
+ /**
22
+ * Confirm upload completion
23
+ */
24
+ const POST = async ({ params, request, locals }) => {
25
+ const { dineway, user } = locals;
26
+ const { id } = params;
27
+ const denied = requirePerm(user, "media:upload");
28
+ if (denied) return denied;
29
+ if (!id) return apiError("INVALID_REQUEST", "Media ID is required", 400);
30
+ if (!dineway?.db) return apiError("NOT_CONFIGURED", "Dineway is not initialized", 500);
31
+ try {
32
+ const body = await parseOptionalBody(request, mediaConfirmBody, {});
33
+ if (isParseError(body)) return body;
34
+ const repo = new MediaRepository(dineway.db);
35
+ const existing = await repo.findById(id);
36
+ if (!existing) return apiError("NOT_FOUND", `Media item not found: ${id}`, 404);
37
+ if (existing.status !== "pending") return apiError("INVALID_STATE", `Media item is not pending: ${existing.status}`, 400);
38
+ const ownerDenied = requireOwnerPerm(user, existing.authorId ?? "", "media:edit_own", "media:edit_any");
39
+ if (ownerDenied) return ownerDenied;
40
+ if (dineway.storage) {
41
+ if (!await dineway.storage.exists(existing.storageKey)) {
42
+ await repo.markFailed(id);
43
+ return apiError("FILE_NOT_FOUND", "File was not uploaded to storage", 400);
44
+ }
45
+ }
46
+ const item = await repo.confirmUpload(id, {
47
+ size: body.size,
48
+ width: body.width,
49
+ height: body.height
50
+ });
51
+ if (!item) return apiError("CONFIRM_FAILED", "Failed to confirm upload", 500);
52
+ return apiSuccess({ item: addUrlToMedia(item) });
53
+ } catch (error) {
54
+ return handleError(error, "Failed to confirm upload", "CONFIRM_ERROR");
55
+ }
56
+ };
57
+
58
+ //#endregion
59
+ export { POST, prerender };
@@ -0,0 +1,22 @@
1
+ import { APIRoute } from "astro";
2
+
3
+ //#region src/astro/routes/api/media/[id].d.ts
4
+ declare const prerender = false;
5
+ /**
6
+ * Get media item
7
+ */
8
+ declare const GET: APIRoute;
9
+ /**
10
+ * Update media metadata
11
+ *
12
+ * Authors can edit their own media; editors+ can edit any.
13
+ */
14
+ declare const PUT: APIRoute;
15
+ /**
16
+ * Delete media item
17
+ *
18
+ * Authors can delete their own media; editors+ can delete any.
19
+ */
20
+ declare const DELETE: APIRoute;
21
+ //#endregion
22
+ export { DELETE, GET, PUT, prerender };
@@ -0,0 +1,81 @@
1
+ import "../../../../context-types-C-LwdAxx.mjs";
2
+ import { a as unwrapResult, r as handleError, t as apiError } from "../../../../error-BMUPwxgx.mjs";
3
+ import { n as parseBody, t as isParseError } from "../../../../parse-C9106ehs.mjs";
4
+ import { Gt as mediaUpdateBody } from "../../../../redirects-lrlmYXVE.mjs";
5
+ import "../../../../import-CNcKWTbp.mjs";
6
+ import "../../../../api/schemas/index.mjs";
7
+ import { n as requirePerm, t as requireOwnerPerm } from "../../../../authorize-BAdbMCwC.mjs";
8
+
9
+ //#region src/astro/routes/api/media/[id].ts
10
+ const prerender = false;
11
+ /**
12
+ * Get media item
13
+ */
14
+ const GET = async ({ params, locals }) => {
15
+ const { dineway, user } = locals;
16
+ const { id } = params;
17
+ const readDenied = requirePerm(user, "media:read");
18
+ if (readDenied) return readDenied;
19
+ if (!id) return apiError("INVALID_REQUEST", "Media ID required", 400);
20
+ if (!dineway?.handleMediaGet) return apiError("NOT_CONFIGURED", "Dineway is not initialized", 500);
21
+ return unwrapResult(await dineway.handleMediaGet(id));
22
+ };
23
+ /**
24
+ * Update media metadata
25
+ *
26
+ * Authors can edit their own media; editors+ can edit any.
27
+ */
28
+ const PUT = async ({ params, request, locals }) => {
29
+ const { dineway, user } = locals;
30
+ const { id } = params;
31
+ const editDenied = requirePerm(user, "media:edit_own");
32
+ if (editDenied) return editDenied;
33
+ if (!id) return apiError("INVALID_REQUEST", "Media ID required", 400);
34
+ if (!dineway?.handleMediaGet || !dineway?.handleMediaUpdate) return apiError("NOT_CONFIGURED", "Dineway is not initialized", 500);
35
+ try {
36
+ const getResult = await dineway.handleMediaGet(id);
37
+ if (!getResult.success || !getResult.data?.item) return apiError("NOT_FOUND", "Media item not found", 404);
38
+ const media = getResult.data.item;
39
+ const ownerDenied = requireOwnerPerm(user, media.authorId, "media:edit_own", "media:edit_any");
40
+ if (ownerDenied) return ownerDenied;
41
+ const body = await parseBody(request, mediaUpdateBody);
42
+ if (isParseError(body)) return body;
43
+ return unwrapResult(await dineway.handleMediaUpdate(id, {
44
+ alt: body.alt,
45
+ caption: body.caption,
46
+ width: body.width,
47
+ height: body.height
48
+ }));
49
+ } catch (error) {
50
+ return handleError(error, "Failed to update media", "MEDIA_UPDATE_ERROR");
51
+ }
52
+ };
53
+ /**
54
+ * Delete media item
55
+ *
56
+ * Authors can delete their own media; editors+ can delete any.
57
+ */
58
+ const DELETE = async ({ params, locals }) => {
59
+ const { dineway, user } = locals;
60
+ const { id } = params;
61
+ const deleteDenied = requirePerm(user, "media:delete_own");
62
+ if (deleteDenied) return deleteDenied;
63
+ if (!id) return apiError("INVALID_REQUEST", "Media ID required", 400);
64
+ if (!dineway?.handleMediaGet || !dineway?.handleMediaDelete) return apiError("NOT_CONFIGURED", "Dineway is not initialized", 500);
65
+ try {
66
+ const getResult = await dineway.handleMediaGet(id);
67
+ if (!getResult.success || !getResult.data?.item) return apiError("NOT_FOUND", "Media item not found", 404);
68
+ const media = getResult.data.item;
69
+ const ownerDenied = requireOwnerPerm(user, media.authorId, "media:delete_own", "media:delete_any");
70
+ if (ownerDenied) return ownerDenied;
71
+ if (dineway.storage) try {
72
+ await dineway.storage.delete(media.storageKey);
73
+ } catch {}
74
+ return unwrapResult(await dineway.handleMediaDelete(id));
75
+ } catch (error) {
76
+ return handleError(error, "Failed to delete media", "MEDIA_DELETE_ERROR");
77
+ }
78
+ };
79
+
80
+ //#endregion
81
+ export { DELETE, GET, PUT, prerender };
@@ -0,0 +1,7 @@
1
+ import { APIRoute } from "astro";
2
+
3
+ //#region src/astro/routes/api/media/file/[...key].d.ts
4
+ declare const prerender = false;
5
+ declare const GET: APIRoute;
6
+ //#endregion
7
+ export { GET, prerender };
@@ -0,0 +1,49 @@
1
+ import { r as handleError, t as apiError } from "../../../../../error-BMUPwxgx.mjs";
2
+
3
+ //#region src/astro/routes/api/media/file/[...key].ts
4
+ const prerender = false;
5
+ /**
6
+ * Content types that are safe to display inline (simple raster/vector images, video, audio).
7
+ * Everything else gets Content-Disposition: attachment to prevent script execution.
8
+ */
9
+ const SAFE_INLINE_TYPES = new Set([
10
+ "image/jpeg",
11
+ "image/png",
12
+ "image/gif",
13
+ "image/webp",
14
+ "image/avif",
15
+ "image/x-icon",
16
+ "video/mp4",
17
+ "video/webm",
18
+ "audio/mpeg",
19
+ "audio/wav",
20
+ "audio/ogg"
21
+ ]);
22
+ const GET = async ({ params, locals }) => {
23
+ const { key } = params;
24
+ const { dineway } = locals;
25
+ if (!key) return apiError("NOT_FOUND", "File not found", 404);
26
+ if (!dineway?.storage) return apiError("NOT_CONFIGURED", "Storage not configured", 500);
27
+ try {
28
+ const result = await dineway.storage.download(key);
29
+ const headers = {
30
+ "Content-Type": result.contentType,
31
+ "Cache-Control": "public, max-age=31536000, immutable",
32
+ "X-Content-Type-Options": "nosniff",
33
+ "Content-Security-Policy": "sandbox; default-src 'none'; img-src 'self'; style-src 'unsafe-inline'"
34
+ };
35
+ if (result.size) headers["Content-Length"] = String(result.size);
36
+ if (SAFE_INLINE_TYPES.has(result.contentType)) headers["Content-Disposition"] = "inline";
37
+ else headers["Content-Disposition"] = "attachment";
38
+ return new Response(result.body, {
39
+ status: 200,
40
+ headers
41
+ });
42
+ } catch (error) {
43
+ if (error instanceof Error && (error.message.includes("not found") || error.message.includes("NOT_FOUND"))) return apiError("NOT_FOUND", "File not found", 404);
44
+ return handleError(error, "Failed to serve file", "FILE_SERVE_ERROR");
45
+ }
46
+ };
47
+
48
+ //#endregion
49
+ export { GET, prerender };
@@ -0,0 +1,14 @@
1
+ import { APIRoute } from "astro";
2
+
3
+ //#region src/astro/routes/api/media/providers/[providerId]/[itemId].d.ts
4
+ declare const prerender = false;
5
+ /**
6
+ * Get a single media item from a provider
7
+ */
8
+ declare const GET: APIRoute;
9
+ /**
10
+ * Delete a media item from a provider
11
+ */
12
+ declare const DELETE: APIRoute;
13
+ //#endregion
14
+ export { DELETE, GET, prerender };
@@ -0,0 +1,49 @@
1
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../../error-BMUPwxgx.mjs";
2
+ import { n as requirePerm } from "../../../../../../authorize-BAdbMCwC.mjs";
3
+
4
+ //#region src/astro/routes/api/media/providers/[providerId]/[itemId].ts
5
+ const prerender = false;
6
+ /**
7
+ * Get a single media item from a provider
8
+ */
9
+ const GET = async ({ params, locals }) => {
10
+ const { dineway, user } = locals;
11
+ const denied = requirePerm(user, "media:read");
12
+ if (denied) return denied;
13
+ const { providerId, itemId } = params;
14
+ if (!providerId || !itemId) return apiError("INVALID_REQUEST", "Provider ID and Item ID required", 400);
15
+ if (!dineway?.getMediaProvider) return apiError("NOT_CONFIGURED", "Dineway is not initialized", 500);
16
+ const provider = dineway.getMediaProvider(providerId);
17
+ if (!provider) return apiError("NOT_FOUND", `Provider "${providerId}" not found`, 404);
18
+ if (!provider.get) return apiError("NOT_SUPPORTED", `Provider "${providerId}" does not support getting individual items`, 400);
19
+ try {
20
+ const item = await provider.get(itemId);
21
+ if (!item) return apiError("NOT_FOUND", "Item not found", 404);
22
+ return apiSuccess({ item });
23
+ } catch (error) {
24
+ return handleError(error, "Failed to get item from provider", "PROVIDER_GET_ERROR");
25
+ }
26
+ };
27
+ /**
28
+ * Delete a media item from a provider
29
+ */
30
+ const DELETE = async ({ params, locals }) => {
31
+ const { dineway, user } = locals;
32
+ const denied = requirePerm(user, "media:delete_any");
33
+ if (denied) return denied;
34
+ const { providerId, itemId } = params;
35
+ if (!providerId || !itemId) return apiError("INVALID_REQUEST", "Provider ID and Item ID required", 400);
36
+ if (!dineway?.getMediaProvider) return apiError("NOT_CONFIGURED", "Dineway is not initialized", 500);
37
+ const provider = dineway.getMediaProvider(providerId);
38
+ if (!provider) return apiError("NOT_FOUND", `Provider "${providerId}" not found`, 404);
39
+ if (!provider.delete) return apiError("NOT_SUPPORTED", `Provider "${providerId}" does not support deletion`, 400);
40
+ try {
41
+ await provider.delete(itemId);
42
+ return apiSuccess({ deleted: true });
43
+ } catch (error) {
44
+ return handleError(error, "Failed to delete item from provider", "PROVIDER_DELETE_ERROR");
45
+ }
46
+ };
47
+
48
+ //#endregion
49
+ export { DELETE, GET, prerender };
@@ -0,0 +1,14 @@
1
+ import { APIRoute } from "astro";
2
+
3
+ //#region src/astro/routes/api/media/providers/[providerId]/index.d.ts
4
+ declare const prerender = false;
5
+ /**
6
+ * List media from a specific provider
7
+ */
8
+ declare const GET: APIRoute;
9
+ /**
10
+ * Upload media to a specific provider
11
+ */
12
+ declare const POST: APIRoute;
13
+ //#endregion
14
+ export { GET, POST, prerender };
@@ -0,0 +1,72 @@
1
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../../error-BMUPwxgx.mjs";
2
+ import { n as requirePerm } from "../../../../../../authorize-BAdbMCwC.mjs";
3
+
4
+ //#region src/astro/routes/api/media/providers/[providerId]/index.ts
5
+ const prerender = false;
6
+ /**
7
+ * List media from a specific provider
8
+ */
9
+ const GET = async ({ params, request, locals }) => {
10
+ const { dineway, user } = locals;
11
+ const { providerId } = params;
12
+ const readDenied = requirePerm(user, "media:read");
13
+ if (readDenied) return readDenied;
14
+ if (!providerId) return apiError("INVALID_REQUEST", "Provider ID required", 400);
15
+ if (!dineway?.getMediaProvider) return apiError("NOT_CONFIGURED", "Dineway is not initialized", 500);
16
+ const provider = dineway.getMediaProvider(providerId);
17
+ if (!provider) return apiError("NOT_FOUND", `Provider "${providerId}" not found`, 404);
18
+ const url = new URL(request.url);
19
+ const cursor = url.searchParams.get("cursor") || void 0;
20
+ const rawLimit = url.searchParams.get("limit");
21
+ const limit = rawLimit ? Math.max(1, Math.min(parseInt(rawLimit, 10) || 50, 100)) : void 0;
22
+ const query = url.searchParams.get("query") || void 0;
23
+ const mimeType = url.searchParams.get("mimeType") || void 0;
24
+ try {
25
+ const result = await provider.list({
26
+ cursor,
27
+ limit,
28
+ query,
29
+ mimeType
30
+ });
31
+ return apiSuccess({
32
+ items: result.items,
33
+ nextCursor: result.nextCursor
34
+ });
35
+ } catch (error) {
36
+ return handleError(error, "Failed to list media from provider", "PROVIDER_LIST_ERROR");
37
+ }
38
+ };
39
+ /**
40
+ * Upload media to a specific provider
41
+ */
42
+ const POST = async ({ params, request, locals }) => {
43
+ const { dineway, user } = locals;
44
+ const { providerId } = params;
45
+ const uploadDenied = requirePerm(user, "media:upload");
46
+ if (uploadDenied) return uploadDenied;
47
+ if (!providerId) return apiError("INVALID_REQUEST", "Provider ID required", 400);
48
+ if (!dineway?.getMediaProvider) return apiError("NOT_CONFIGURED", "Dineway is not initialized", 500);
49
+ const provider = dineway.getMediaProvider(providerId);
50
+ if (!provider) return apiError("NOT_FOUND", `Provider "${providerId}" not found`, 404);
51
+ if (!provider.upload) return apiError("NOT_SUPPORTED", `Provider "${providerId}" does not support uploads`, 400);
52
+ try {
53
+ const formData = await request.formData();
54
+ const fileEntry = formData.get("file");
55
+ const file = fileEntry instanceof File ? fileEntry : null;
56
+ const altEntry = formData.get("alt");
57
+ const alt = typeof altEntry === "string" ? altEntry : null;
58
+ if (!file) return apiError("NO_FILE", "No file provided", 400);
59
+ const maxSize = dineway.config?.maxUploadSize ?? 50 * 1024 * 1024;
60
+ if (file.size > maxSize) return apiError("FILE_TOO_LARGE", `File exceeds maximum size of ${Math.round(maxSize / 1024 / 1024)}MB`, 413);
61
+ return apiSuccess({ item: await provider.upload({
62
+ file,
63
+ filename: file.name,
64
+ alt: alt || void 0
65
+ }) }, 201);
66
+ } catch (error) {
67
+ return handleError(error, "Failed to upload to provider", "PROVIDER_UPLOAD_ERROR");
68
+ }
69
+ };
70
+
71
+ //#endregion
72
+ export { GET, POST, prerender };
@@ -0,0 +1,10 @@
1
+ import { APIRoute } from "astro";
2
+
3
+ //#region src/astro/routes/api/media/providers/index.d.ts
4
+ declare const prerender = false;
5
+ /**
6
+ * List all configured media providers
7
+ */
8
+ declare const GET: APIRoute;
9
+ //#endregion
10
+ export { GET, prerender };
@@ -0,0 +1,18 @@
1
+ import { n as apiSuccess, t as apiError } from "../../../../../error-BMUPwxgx.mjs";
2
+ import { n as requirePerm } from "../../../../../authorize-BAdbMCwC.mjs";
3
+
4
+ //#region src/astro/routes/api/media/providers/index.ts
5
+ const prerender = false;
6
+ /**
7
+ * List all configured media providers
8
+ */
9
+ const GET = async ({ locals }) => {
10
+ const { dineway, user } = locals;
11
+ const denied = requirePerm(user, "media:read");
12
+ if (denied) return denied;
13
+ if (!dineway?.getMediaProviderList) return apiError("NOT_CONFIGURED", "Dineway is not initialized", 500);
14
+ return apiSuccess({ items: dineway.getMediaProviderList() });
15
+ };
16
+
17
+ //#endregion
18
+ export { GET, prerender };
@@ -0,0 +1,10 @@
1
+ import { APIRoute } from "astro";
2
+
3
+ //#region src/astro/routes/api/media/upload-url.d.ts
4
+ declare const prerender = false;
5
+ /**
6
+ * Get a signed upload URL for direct-to-storage upload
7
+ */
8
+ declare const POST: APIRoute;
9
+ //#endregion
10
+ export { POST, prerender };
@@ -0,0 +1,82 @@
1
+ import "../../../../context-types-C-LwdAxx.mjs";
2
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../error-BMUPwxgx.mjs";
3
+ import { n as parseBody, t as isParseError } from "../../../../parse-C9106ehs.mjs";
4
+ import { Ft as DEFAULT_MAX_UPLOAD_SIZE, Kt as mediaUploadUrlBody } from "../../../../redirects-lrlmYXVE.mjs";
5
+ import "../../../../import-CNcKWTbp.mjs";
6
+ import "../../../../api/schemas/index.mjs";
7
+ import { n as requirePerm } from "../../../../authorize-BAdbMCwC.mjs";
8
+ import { ulid } from "ulidx";
9
+ import * as path from "node:path";
10
+ import { MediaRepository } from "dineway";
11
+
12
+ //#region src/astro/routes/api/media/upload-url.ts
13
+ /**
14
+ * Media upload URL endpoint
15
+ *
16
+ * POST /_dineway/api/media/upload-url
17
+ *
18
+ * Returns a signed URL for direct upload to storage.
19
+ * Creates a pending media record that must be confirmed after upload.
20
+ */
21
+ const prerender = false;
22
+ /**
23
+ * Get a signed upload URL for direct-to-storage upload
24
+ */
25
+ const POST = async ({ request, locals }) => {
26
+ const { dineway, user } = locals;
27
+ const denied = requirePerm(user, "media:upload");
28
+ if (denied) return denied;
29
+ if (!dineway?.storage) return apiError("NO_STORAGE", "Storage not configured. Signed URL uploads require S3-compatible storage.", 501);
30
+ if (!dineway?.db) return apiError("NOT_CONFIGURED", "Dineway is not initialized", 500);
31
+ try {
32
+ const maxUploadSize = dineway.config.maxUploadSize ?? DEFAULT_MAX_UPLOAD_SIZE;
33
+ if (!Number.isFinite(maxUploadSize) || maxUploadSize <= 0) return apiError("CONFIGURATION_ERROR", "Invalid maxUploadSize configuration. Expected a positive finite number.", 500);
34
+ const body = await parseBody(request, mediaUploadUrlBody(maxUploadSize));
35
+ if (isParseError(body)) return body;
36
+ if (![
37
+ "image/",
38
+ "video/",
39
+ "audio/",
40
+ "application/pdf"
41
+ ].some((type) => body.contentType.startsWith(type))) return apiError("INVALID_TYPE", "File type not allowed", 400);
42
+ const repo = new MediaRepository(dineway.db);
43
+ if (body.contentHash) {
44
+ const existing = await repo.findByContentHash(body.contentHash);
45
+ if (existing) return apiSuccess({
46
+ existing: true,
47
+ mediaId: existing.id,
48
+ storageKey: existing.storageKey,
49
+ url: `/_dineway/api/media/file/${existing.storageKey}`
50
+ });
51
+ }
52
+ const storageKey = `${ulid()}${path.extname(body.filename) || ""}`;
53
+ const mediaItem = await repo.createPending({
54
+ filename: body.filename,
55
+ mimeType: body.contentType,
56
+ size: body.size,
57
+ storageKey,
58
+ contentHash: body.contentHash,
59
+ authorId: user?.id
60
+ });
61
+ const signedUrl = await dineway.storage.getSignedUploadUrl({
62
+ key: storageKey,
63
+ contentType: body.contentType,
64
+ size: body.size,
65
+ expiresIn: 3600
66
+ });
67
+ return apiSuccess({
68
+ uploadUrl: signedUrl.url,
69
+ method: signedUrl.method,
70
+ headers: signedUrl.headers,
71
+ mediaId: mediaItem.id,
72
+ storageKey,
73
+ expiresAt: signedUrl.expiresAt
74
+ });
75
+ } catch (error) {
76
+ if (error instanceof Error && "code" in error && error.code === "NOT_SUPPORTED") return apiError("NOT_SUPPORTED", "Storage does not support signed upload URLs. Use direct upload.", 501);
77
+ return handleError(error, "Failed to generate upload URL", "UPLOAD_URL_ERROR");
78
+ }
79
+ };
80
+
81
+ //#endregion
82
+ export { POST, prerender };
@@ -0,0 +1,16 @@
1
+ import { APIRoute } from "astro";
2
+
3
+ //#region src/astro/routes/api/media.d.ts
4
+ declare const prerender = false;
5
+ /**
6
+ * List media items
7
+ */
8
+ declare const GET: APIRoute;
9
+ /**
10
+ * Upload media file
11
+ *
12
+ * Uses the configured storage adapter to store the file.
13
+ */
14
+ declare const POST: APIRoute;
15
+ //#endregion
16
+ export { GET, POST, prerender };
@@ -0,0 +1,137 @@
1
+ import "../../../base64-Cz-aU0X1.mjs";
2
+ import "../../../types-Bs6lTBBW.mjs";
3
+ import { t as MediaRepository } from "../../../media-_7Fxdu45.mjs";
4
+ import { t as generatePlaceholder } from "../../../placeholder-C2P5fKa4.mjs";
5
+ import "../../../context-types-C-LwdAxx.mjs";
6
+ import { t as computeContentHash } from "../../../hash-CDX7M0ze.mjs";
7
+ import { a as unwrapResult, n as apiSuccess, r as handleError, t as apiError } from "../../../error-BMUPwxgx.mjs";
8
+ import { i as parseQuery, t as isParseError } from "../../../parse-C9106ehs.mjs";
9
+ import { Ft as DEFAULT_MAX_UPLOAD_SIZE, It as formatFileSize, Vt as mediaListQuery } from "../../../redirects-lrlmYXVE.mjs";
10
+ import "../../../import-CNcKWTbp.mjs";
11
+ import "../../../api/schemas/index.mjs";
12
+ import { n as requirePerm } from "../../../authorize-BAdbMCwC.mjs";
13
+ import { ulid } from "ulidx";
14
+ import * as path from "node:path";
15
+
16
+ //#region src/astro/routes/api/media.ts
17
+ /**
18
+ * Media list and upload endpoint
19
+ *
20
+ * GET /_dineway/api/media - List all media
21
+ * POST /_dineway/api/media - Upload new media (via configured storage adapter)
22
+ */
23
+ const prerender = false;
24
+ /**
25
+ * Add URL to media items
26
+ * Uses relative URLs to ensure portability across deployments
27
+ */
28
+ function addUrlToMedia(item) {
29
+ return {
30
+ ...item,
31
+ url: `/_dineway/api/media/file/${item.storageKey}`
32
+ };
33
+ }
34
+ /**
35
+ * List media items
36
+ */
37
+ const GET = async ({ request, locals }) => {
38
+ const { dineway, user } = locals;
39
+ const denied = requirePerm(user, "media:read");
40
+ if (denied) return denied;
41
+ if (!dineway?.handleMediaList) return apiError("NOT_CONFIGURED", "Dineway is not initialized", 500);
42
+ const query = parseQuery(new URL(request.url), mediaListQuery);
43
+ if (isParseError(query)) return query;
44
+ const result = await dineway.handleMediaList({
45
+ cursor: query.cursor,
46
+ limit: query.limit,
47
+ mimeType: query.mimeType
48
+ });
49
+ if (!result.success) return unwrapResult(result);
50
+ return apiSuccess({
51
+ items: result.data.items.map((item) => addUrlToMedia(item)),
52
+ nextCursor: result.data.nextCursor
53
+ });
54
+ };
55
+ /**
56
+ * Upload media file
57
+ *
58
+ * Uses the configured storage adapter to store the file.
59
+ */
60
+ const POST = async ({ request, locals }) => {
61
+ const { dineway, user } = locals;
62
+ const denied = requirePerm(user, "media:upload");
63
+ if (denied) return denied;
64
+ if (!dineway?.handleMediaCreate) return apiError("NOT_CONFIGURED", "Dineway is not initialized", 500);
65
+ if (!dineway?.storage) return apiError("NO_STORAGE", "Storage not configured", 500);
66
+ try {
67
+ const maxUploadSize = dineway.config.maxUploadSize ?? DEFAULT_MAX_UPLOAD_SIZE;
68
+ if (!Number.isFinite(maxUploadSize) || maxUploadSize <= 0) return apiError("CONFIGURATION_ERROR", "Invalid maxUploadSize configuration", 500);
69
+ const contentLength = request.headers.get("Content-Length");
70
+ if (contentLength && parseInt(contentLength, 10) > maxUploadSize) return apiError("PAYLOAD_TOO_LARGE", "Upload too large", 413);
71
+ const formData = await request.formData();
72
+ const fileEntry = formData.get("file");
73
+ const file = fileEntry instanceof File ? fileEntry : null;
74
+ if (!file) return apiError("NO_FILE", "No file provided", 400);
75
+ if (![
76
+ "image/",
77
+ "video/",
78
+ "audio/",
79
+ "application/pdf"
80
+ ].some((type) => file.type.startsWith(type))) return apiError("INVALID_TYPE", "File type not allowed", 400);
81
+ if (file.size > maxUploadSize) return apiError("PAYLOAD_TOO_LARGE", `File exceeds maximum size of ${formatFileSize(maxUploadSize)}`, 413);
82
+ const buffer = new Uint8Array(await file.arrayBuffer());
83
+ const contentHash = await computeContentHash(buffer);
84
+ const existing = await new MediaRepository(dineway.db).findByContentHash(contentHash);
85
+ if (existing) return apiSuccess({
86
+ item: addUrlToMedia(existing),
87
+ deduplicated: true
88
+ });
89
+ const storageKey = `${ulid()}${path.extname(file.name) || ""}`;
90
+ await dineway.storage.upload({
91
+ key: storageKey,
92
+ body: buffer,
93
+ contentType: file.type
94
+ });
95
+ const widthEntry = formData.get("width");
96
+ const widthStr = typeof widthEntry === "string" ? widthEntry : null;
97
+ const heightEntry = formData.get("height");
98
+ const heightStr = typeof heightEntry === "string" ? heightEntry : null;
99
+ const width = widthStr ? parseInt(widthStr, 10) : void 0;
100
+ const height = heightStr ? parseInt(heightStr, 10) : void 0;
101
+ const thumbnailEntry = formData.get("thumbnail");
102
+ const thumbnail = thumbnailEntry instanceof File ? thumbnailEntry : null;
103
+ let placeholder = null;
104
+ if (file.type.startsWith("image/")) if (thumbnail) placeholder = await generatePlaceholder(new Uint8Array(await thumbnail.arrayBuffer()), thumbnail.type);
105
+ else {
106
+ const clientDims = width && height ? {
107
+ width,
108
+ height
109
+ } : void 0;
110
+ placeholder = await generatePlaceholder(buffer, file.type, clientDims);
111
+ }
112
+ const result = await dineway.handleMediaCreate({
113
+ filename: file.name,
114
+ mimeType: file.type,
115
+ size: file.size,
116
+ width,
117
+ height,
118
+ storageKey,
119
+ contentHash,
120
+ blurhash: placeholder?.blurhash,
121
+ dominantColor: placeholder?.dominantColor,
122
+ authorId: user?.id
123
+ });
124
+ if (!result.success) {
125
+ try {
126
+ await dineway.storage.delete(storageKey);
127
+ } catch {}
128
+ return unwrapResult(result);
129
+ }
130
+ return apiSuccess({ item: addUrlToMedia(result.data.item) }, 201);
131
+ } catch (error) {
132
+ return handleError(error, "Upload failed", "UPLOAD_ERROR");
133
+ }
134
+ };
135
+
136
+ //#endregion
137
+ export { GET, POST, prerender };