dineway 0.1.9 → 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 (689) hide show
  1. package/README.md +63 -17
  2. package/dist/activity-events-BsMaXdJa.mjs +540 -0
  3. package/dist/allowed-origins-DG86sH8U.mjs +68 -0
  4. package/dist/api/route-utils.d.mts +41 -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-Cmy8Rjk5.mjs +2704 -0
  11. package/dist/api-tokens-Bu3ez1MO.mjs +153 -0
  12. package/dist/api-tokens-DzloJxuh.mjs +3 -0
  13. package/dist/{apply-iVSqz2qs.mjs → apply-Co5imxxT.mjs} +15 -689
  14. package/dist/astro/index.d.mts +10 -6
  15. package/dist/astro/index.mjs +86 -11
  16. package/dist/astro/middleware/auth.d.mts +10 -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 +86 -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 +45 -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 +45 -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 +60 -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 +63 -0
  56. package/dist/astro/routes/api/admin/context/diff.d.mts +7 -0
  57. package/dist/astro/routes/api/admin/context/diff.mjs +49 -0
  58. package/dist/astro/routes/api/admin/context/index.d.mts +8 -0
  59. package/dist/astro/routes/api/admin/context/index.mjs +71 -0
  60. package/dist/astro/routes/api/admin/context/stale.d.mts +7 -0
  61. package/dist/astro/routes/api/admin/context/stale.mjs +49 -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 +51 -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 +67 -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 +55 -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 +98 -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 +89 -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 +89 -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 +54 -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 +98 -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 +131 -0
  86. package/dist/astro/routes/api/admin/plugins/index.d.mts +7 -0
  87. package/dist/astro/routes/api/admin/plugins/index.mjs +52 -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 +54 -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 +128 -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 +61 -0
  96. package/dist/astro/routes/api/admin/plugins/updates.d.mts +7 -0
  97. package/dist/astro/routes/api/admin/plugins/updates.mjs +52 -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 +97 -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 +54 -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 +70 -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 +92 -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 +197 -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 +155 -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 +289 -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 +268 -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 +2700 -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/{src/astro/routes/api/menus/[name]/items.ts → dist/astro/routes/api/menus/_name_/items.mjs} +63 -105
  240. package/dist/astro/routes/api/menus/_name_/reorder.d.mts +7 -0
  241. package/dist/astro/routes/api/menus/_name_/reorder.mjs +77 -0
  242. package/dist/astro/routes/api/menus/_name_.d.mts +9 -0
  243. package/dist/astro/routes/api/menus/_name_.mjs +123 -0
  244. package/dist/astro/routes/api/menus/index.d.mts +8 -0
  245. package/dist/astro/routes/api/menus/index.mjs +84 -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 +152 -0
  272. package/dist/astro/routes/api/redirects/index.d.mts +8 -0
  273. package/dist/astro/routes/api/redirects/index.mjs +97 -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 +98 -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 +80 -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 +67 -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 +97 -0
  286. package/dist/astro/routes/api/schema/collections/index.d.mts +8 -0
  287. package/dist/astro/routes/api/schema/collections/index.mjs +77 -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 +58 -0
  292. package/dist/astro/routes/api/schema/orphans/index.d.mts +7 -0
  293. package/dist/astro/routes/api/schema/orphans/index.mjs +53 -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 +156 -0
  306. package/dist/astro/routes/api/sections/index.d.mts +8 -0
  307. package/dist/astro/routes/api/sections/index.mjs +99 -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 +101 -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 +189 -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 +113 -0
  330. package/dist/astro/routes/api/taxonomies/index.d.mts +14 -0
  331. package/dist/astro/routes/api/taxonomies/index.mjs +103 -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 +88 -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 +158 -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 +104 -0
  348. package/dist/astro/routes/api/widget-areas/_name_.d.mts +8 -0
  349. package/dist/astro/routes/api/widget-areas/_name_.mjs +99 -0
  350. package/dist/astro/routes/api/widget-areas/index.d.mts +8 -0
  351. package/dist/astro/routes/api/widget-areas/index.mjs +108 -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 +41 -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-DKUe_1oa.mjs +13 -0
  370. package/dist/authorize-BBj8C6Y8.mjs +36 -0
  371. package/dist/briefing-BrXCuMEE.mjs +1294 -0
  372. package/dist/briefing-ClWw4mc9.mjs +29 -0
  373. package/dist/{byline-OhH2dlRu.mjs → byline-naZxOPSa.mjs} +3 -3
  374. package/dist/{bylines-BGpD9_hy.mjs → bylines-BcOPh6Ej.mjs} +20 -53
  375. package/dist/bylines-HfUKum_j.d.mts +2023 -0
  376. package/dist/{cache-BdSY-gQN.mjs → cache-DEbQ13c9.mjs} +21 -11
  377. package/dist/challenge-store-DHMgBGOq.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-Gy3zLBaP.mjs +186 -0
  384. package/dist/components-DND2rd3D.mjs +107 -0
  385. package/dist/{content-DWi4d0rT.mjs → content-CyLkb-qH.mjs} +33 -44
  386. package/dist/context-bE5Kyvcj.mjs +184 -0
  387. package/dist/context-nxMyOe3p.mjs +849 -0
  388. package/dist/context-route-helpers-D-6uCQ0S.mjs +45 -0
  389. package/dist/context-types-C-LwdAxx.mjs +23 -0
  390. package/dist/cron-DGzVTtJp.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-7AhWNwCK.mjs +487 -0
  399. package/dist/email-console-CgLVZbcn.mjs +36 -0
  400. package/dist/entity-aliases-C0v-yNET.mjs +51 -0
  401. package/dist/error-DEGjx2Xw.mjs +435 -0
  402. package/dist/escape-mNZr4t2A.mjs +8 -0
  403. package/dist/experimental-workflows-DldxJlqV.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-Bx3Bkk9l.mjs +118 -0
  407. package/dist/hitl-route-helpers-DMmJRS7B.mjs +96 -0
  408. package/dist/import-DD3f2jkc.mjs +243 -0
  409. package/dist/import-DVZcYlDp.mjs +1323 -0
  410. package/dist/index-CkljPf5F.d.mts +227 -0
  411. package/dist/index.d.mts +15 -11
  412. package/dist/index.mjs +60 -22
  413. package/dist/{loader-sMG4TZ-u.mjs → loader-PZnPxFLc.mjs} +42 -5
  414. package/dist/{manifest-schema-D1MSVnoI.mjs → manifest-schema-DYoCQ5np.mjs} +22 -10
  415. package/dist/media/index.d.mts +1 -1
  416. package/dist/media/index.mjs +2 -1
  417. package/dist/media/local-runtime.d.mts +11 -7
  418. package/dist/media/local-runtime.mjs +3 -3
  419. package/dist/{media-DMTr80Gv.mjs → media-_7Fxdu45.mjs} +1 -1
  420. package/dist/menus-BacxVCCo.mjs +312 -0
  421. package/dist/menus-CrzHokKj.mjs +3502 -0
  422. package/dist/normalize-C49G_o1k.mjs +126 -0
  423. package/dist/oauth-authorization-C1qiw4hd.mjs +283 -0
  424. package/dist/oauth-clients-CvWatf5p.mjs +298 -0
  425. package/dist/oauth-state-store-hSdzxsEe.mjs +48 -0
  426. package/dist/oauth-user-lookup-B4OcmsLV.mjs +25 -0
  427. package/dist/options-z8VVg1Ll.mjs +114 -0
  428. package/dist/page/index.d.mts +2 -2
  429. package/dist/parse-BeQXIt1U.mjs +88 -0
  430. package/dist/passkey-config-Daqs5fjq.mjs +42 -0
  431. package/dist/{patterns-CrCYkMBb.mjs → patterns-K0DLqWir.mjs} +53 -1
  432. package/dist/{placeholder-Cp8g5Emj.mjs → placeholder-C2P5fKa4.mjs} +1 -126
  433. package/dist/plugins/adapt-sandbox-entry.d.mts +9 -5
  434. package/dist/plugins/adapt-sandbox-entry.mjs +4 -4
  435. package/dist/preview-C_4DyVox.mjs +788 -0
  436. package/dist/public-url-BB_umF5G.mjs +71 -0
  437. package/dist/{query-kDmwCsHh.mjs → query-RiobVwB5.mjs} +93 -19
  438. package/dist/rate-limit-CbJoj_fT.mjs +112 -0
  439. package/dist/{redirect-DnEWAkVg.mjs → redirect-CGl64yOX.mjs} +9 -5
  440. package/dist/redirect-ClSmMOtC.mjs +16 -0
  441. package/dist/redirects-B69T59hK.mjs +499 -0
  442. package/dist/redirects-CqaxraTO.mjs +1070 -0
  443. package/dist/{registry-C0zjeB9P.mjs → registry-C-_hxLqa.mjs} +26 -294
  444. package/dist/request-meta-Bd0mQfiS.mjs +130 -0
  445. package/dist/review-requests-C2DIHwlJ.mjs +148 -0
  446. package/dist/review-requests-DIyjw-K_.mjs +79 -0
  447. package/dist/{runner-CFI6B6J2.d.mts → runner-9eIQXuc2.d.mts} +1 -1
  448. package/dist/{index-yvc6E_17.d.mts → runtime-C4-7y7xK.d.mts} +1539 -2007
  449. package/dist/runtime.d.mts +10 -6
  450. package/dist/runtime.mjs +3 -3
  451. package/dist/schema-BNpI53of.mjs +40 -0
  452. package/dist/search-DM6CVti3.mjs +337 -0
  453. package/dist/secrets-dI8zzTV7.mjs +160 -0
  454. package/dist/sections-DZFyAQXd.mjs +338 -0
  455. package/dist/seed/index.d.mts +2 -2
  456. package/dist/seed/index.mjs +18 -13
  457. package/dist/seo/index.d.mts +1 -1
  458. package/dist/seo-BBgTCOYU.mjs +85 -0
  459. package/dist/seo-CUQctrog.mjs +129 -0
  460. package/dist/service-CSfcQguB.mjs +194 -0
  461. package/dist/settings-4XnpVMOS.mjs +223 -0
  462. package/dist/settings-Bw93cLfe.mjs +50 -0
  463. package/dist/setup-complete-DidsDQ1e.mjs +21 -0
  464. package/dist/setup-nonce-pml1PMKo.mjs +17 -0
  465. package/dist/sidecar-client-vzwV98K4.mjs +66 -0
  466. package/dist/site-activity-B8FjLIVh.mjs +104 -0
  467. package/dist/site-context-Bpu_Paur.mjs +4122 -0
  468. package/dist/site-url-CYIcO0Tj.mjs +12 -0
  469. package/dist/slugify-PDTDtMXp.mjs +30 -0
  470. package/dist/ssrf-CmM76lLV.mjs +248 -0
  471. package/dist/storage/local.d.mts +1 -1
  472. package/dist/storage/local.mjs +1 -1
  473. package/dist/storage/s3.d.mts +1 -1
  474. package/dist/storage/s3.mjs +2 -2
  475. package/dist/{taxonomies-1s5PaS_8.mjs → taxonomies-BvBgfzn3.mjs} +11 -7
  476. package/dist/taxonomies-CpqGcIJD.mjs +355 -0
  477. package/dist/taxonomy-D5cbhc8u.mjs +165 -0
  478. package/dist/{tokens-CJz9ubV6.mjs → tokens-DLTo4dO2.mjs} +1 -1
  479. package/dist/{transport-DB5eDN4x.mjs → transport-C9e_h-BF.mjs} +5 -4
  480. package/dist/trusted-proxy-Bi0Cuk5n.mjs +30 -0
  481. package/dist/{types-BawVha09.mjs → types-Bs6lTBBW.mjs} +1 -1
  482. package/dist/types-C982qI5I.d.mts +344 -0
  483. package/dist/types-D4XVOt01.d.mts +165 -0
  484. package/dist/{types-Cj0KMIZV.d.mts → types-DgfUZqcd.d.mts} +54 -16
  485. package/dist/{types-BuMDPy5C.d.mts → types-IPACEM14.d.mts} +6 -0
  486. package/dist/user-CcXq-zoL.mjs +154 -0
  487. package/dist/utils-D2in-zwy.mjs +285 -0
  488. package/dist/{validate-BZ5wnLLp.mjs → validate-BJgA6TW_.mjs} +1 -1
  489. package/dist/{validate-IPf8n4Fj.d.mts → validate-JCZihRIa.d.mts} +3 -3
  490. package/dist/version-DH53KCQd.mjs +6 -0
  491. package/dist/widgets-B7Q_7bxN.mjs +104 -0
  492. package/dist/wordpress-slugs-BevajWrC.mjs +14 -0
  493. package/dist/zod-generator-DBVP8D0P.mjs +132 -0
  494. package/locals.d.ts +1 -6
  495. package/package.json +67 -11
  496. package/src/components/DinewayHead.astro +8 -4
  497. package/src/components/DinewayImage.astro +7 -5
  498. package/src/components/DinewayMedia.astro +9 -3
  499. package/src/components/Gallery.astro +5 -3
  500. package/src/components/Image.astro +5 -1
  501. package/src/components/InlinePortableTextEditor.tsx +68 -19
  502. package/dist/error-BmL6QipT.mjs +0 -30
  503. package/dist/search-DxopAWxs.mjs +0 -11200
  504. package/dist/version-BPz1imu2.mjs +0 -6
  505. package/src/astro/routes/PluginRegistry.tsx +0 -21
  506. package/src/astro/routes/api/admin/allowed-domains/[domain].ts +0 -112
  507. package/src/astro/routes/api/admin/allowed-domains/index.ts +0 -108
  508. package/src/astro/routes/api/admin/api-tokens/[id].ts +0 -44
  509. package/src/astro/routes/api/admin/api-tokens/index.ts +0 -90
  510. package/src/astro/routes/api/admin/briefing.ts +0 -76
  511. package/src/astro/routes/api/admin/bylines/[id]/index.ts +0 -90
  512. package/src/astro/routes/api/admin/bylines/index.ts +0 -74
  513. package/src/astro/routes/api/admin/comments/[id]/status.ts +0 -120
  514. package/src/astro/routes/api/admin/comments/[id].ts +0 -64
  515. package/src/astro/routes/api/admin/comments/bulk.ts +0 -42
  516. package/src/astro/routes/api/admin/comments/counts.ts +0 -30
  517. package/src/astro/routes/api/admin/comments/index.ts +0 -46
  518. package/src/astro/routes/api/admin/context/[id]/history.ts +0 -35
  519. package/src/astro/routes/api/admin/context/[id]/index.ts +0 -35
  520. package/src/astro/routes/api/admin/context/[id]/review.ts +0 -57
  521. package/src/astro/routes/api/admin/context/[id]/supersede.ts +0 -58
  522. package/src/astro/routes/api/admin/context/diff.ts +0 -35
  523. package/src/astro/routes/api/admin/context/index.ts +0 -69
  524. package/src/astro/routes/api/admin/context/stale.ts +0 -35
  525. package/src/astro/routes/api/admin/hitl-requests/[id]/index.ts +0 -38
  526. package/src/astro/routes/api/admin/hitl-requests/[id]/resolve.ts +0 -54
  527. package/src/astro/routes/api/admin/hitl-requests/index.ts +0 -38
  528. package/src/astro/routes/api/admin/hooks/exclusive/[hookName].ts +0 -132
  529. package/src/astro/routes/api/admin/hooks/exclusive/index.ts +0 -51
  530. package/src/astro/routes/api/admin/oauth-clients/[id].ts +0 -137
  531. package/src/astro/routes/api/admin/oauth-clients/index.ts +0 -95
  532. package/src/astro/routes/api/admin/plugins/[id]/disable.ts +0 -91
  533. package/src/astro/routes/api/admin/plugins/[id]/enable.ts +0 -91
  534. package/src/astro/routes/api/admin/plugins/[id]/index.ts +0 -38
  535. package/src/astro/routes/api/admin/plugins/[id]/uninstall.ts +0 -98
  536. package/src/astro/routes/api/admin/plugins/[id]/update.ts +0 -154
  537. package/src/astro/routes/api/admin/plugins/index.ts +0 -32
  538. package/src/astro/routes/api/admin/plugins/marketplace/[id]/icon.ts +0 -62
  539. package/src/astro/routes/api/admin/plugins/marketplace/[id]/index.ts +0 -33
  540. package/src/astro/routes/api/admin/plugins/marketplace/[id]/install.ts +0 -135
  541. package/src/astro/routes/api/admin/plugins/marketplace/index.ts +0 -38
  542. package/src/astro/routes/api/admin/plugins/updates.ts +0 -28
  543. package/src/astro/routes/api/admin/review-requests/[id]/index.ts +0 -35
  544. package/src/astro/routes/api/admin/review-requests/[id]/resolve.ts +0 -52
  545. package/src/astro/routes/api/admin/review-requests/index.ts +0 -35
  546. package/src/astro/routes/api/admin/themes/marketplace/[id]/index.ts +0 -33
  547. package/src/astro/routes/api/admin/themes/marketplace/[id]/thumbnail.ts +0 -62
  548. package/src/astro/routes/api/admin/themes/marketplace/index.ts +0 -45
  549. package/src/astro/routes/api/admin/users/[id]/disable.ts +0 -72
  550. package/src/astro/routes/api/admin/users/[id]/enable.ts +0 -48
  551. package/src/astro/routes/api/admin/users/[id]/index.ts +0 -166
  552. package/src/astro/routes/api/admin/users/[id]/send-recovery.ts +0 -72
  553. package/src/astro/routes/api/admin/users/index.ts +0 -66
  554. package/src/astro/routes/api/auth/dev-bypass.ts +0 -139
  555. package/src/astro/routes/api/auth/invite/accept.ts +0 -52
  556. package/src/astro/routes/api/auth/invite/complete.ts +0 -86
  557. package/src/astro/routes/api/auth/invite/index.ts +0 -99
  558. package/src/astro/routes/api/auth/invite/register-options.ts +0 -73
  559. package/src/astro/routes/api/auth/logout.ts +0 -40
  560. package/src/astro/routes/api/auth/magic-link/send.ts +0 -90
  561. package/src/astro/routes/api/auth/magic-link/verify.ts +0 -71
  562. package/src/astro/routes/api/auth/me.ts +0 -60
  563. package/src/astro/routes/api/auth/oauth/[provider]/callback.ts +0 -221
  564. package/src/astro/routes/api/auth/oauth/[provider].ts +0 -120
  565. package/src/astro/routes/api/auth/passkey/[id].ts +0 -124
  566. package/src/astro/routes/api/auth/passkey/index.ts +0 -54
  567. package/src/astro/routes/api/auth/passkey/options.ts +0 -85
  568. package/src/astro/routes/api/auth/passkey/register/options.ts +0 -88
  569. package/src/astro/routes/api/auth/passkey/register/verify.ts +0 -119
  570. package/src/astro/routes/api/auth/passkey/verify.ts +0 -72
  571. package/src/astro/routes/api/auth/signup/complete.ts +0 -87
  572. package/src/astro/routes/api/auth/signup/request.ts +0 -89
  573. package/src/astro/routes/api/auth/signup/verify.ts +0 -53
  574. package/src/astro/routes/api/comments/[collection]/[contentId]/index.ts +0 -310
  575. package/src/astro/routes/api/content/[collection]/[id]/compare.ts +0 -28
  576. package/src/astro/routes/api/content/[collection]/[id]/discard-draft.ts +0 -68
  577. package/src/astro/routes/api/content/[collection]/[id]/duplicate.ts +0 -77
  578. package/src/astro/routes/api/content/[collection]/[id]/permanent.ts +0 -42
  579. package/src/astro/routes/api/content/[collection]/[id]/preview-url.ts +0 -107
  580. package/src/astro/routes/api/content/[collection]/[id]/publish.ts +0 -100
  581. package/src/astro/routes/api/content/[collection]/[id]/restore.ts +0 -64
  582. package/src/astro/routes/api/content/[collection]/[id]/revisions.ts +0 -31
  583. package/src/astro/routes/api/content/[collection]/[id]/schedule.ts +0 -129
  584. package/src/astro/routes/api/content/[collection]/[id]/terms/[taxonomy].ts +0 -143
  585. package/src/astro/routes/api/content/[collection]/[id]/translations.ts +0 -50
  586. package/src/astro/routes/api/content/[collection]/[id]/unpublish.ts +0 -69
  587. package/src/astro/routes/api/content/[collection]/[id].ts +0 -173
  588. package/src/astro/routes/api/content/[collection]/index.ts +0 -103
  589. package/src/astro/routes/api/content/[collection]/trash.ts +0 -33
  590. package/src/astro/routes/api/dashboard.ts +0 -32
  591. package/src/astro/routes/api/dev/emails.ts +0 -36
  592. package/src/astro/routes/api/health.ts +0 -54
  593. package/src/astro/routes/api/import/probe.ts +0 -47
  594. package/src/astro/routes/api/import/wordpress/analyze.ts +0 -523
  595. package/src/astro/routes/api/import/wordpress/execute.ts +0 -330
  596. package/src/astro/routes/api/import/wordpress/media.ts +0 -338
  597. package/src/astro/routes/api/import/wordpress/prepare.ts +0 -212
  598. package/src/astro/routes/api/import/wordpress/rewrite-urls.ts +0 -425
  599. package/src/astro/routes/api/import/wordpress-plugin/analyze.ts +0 -111
  600. package/src/astro/routes/api/import/wordpress-plugin/callback.ts +0 -58
  601. package/src/astro/routes/api/import/wordpress-plugin/execute.ts +0 -399
  602. package/src/astro/routes/api/manifest.ts +0 -75
  603. package/src/astro/routes/api/mcp.ts +0 -125
  604. package/src/astro/routes/api/media/[id]/confirm.ts +0 -93
  605. package/src/astro/routes/api/media/[id].ts +0 -145
  606. package/src/astro/routes/api/media/file/[...key].ts +0 -79
  607. package/src/astro/routes/api/media/providers/[providerId]/[itemId].ts +0 -91
  608. package/src/astro/routes/api/media/providers/[providerId]/index.ts +0 -111
  609. package/src/astro/routes/api/media/providers/index.ts +0 -30
  610. package/src/astro/routes/api/media/upload-url.ts +0 -146
  611. package/src/astro/routes/api/media.ts +0 -204
  612. package/src/astro/routes/api/menus/[name]/reorder.ts +0 -79
  613. package/src/astro/routes/api/menus/[name].ts +0 -145
  614. package/src/astro/routes/api/menus/index.ts +0 -91
  615. package/src/astro/routes/api/oauth/authorize.ts +0 -430
  616. package/src/astro/routes/api/oauth/device/authorize.ts +0 -45
  617. package/src/astro/routes/api/oauth/device/code.ts +0 -56
  618. package/src/astro/routes/api/oauth/device/token.ts +0 -70
  619. package/src/astro/routes/api/oauth/register.ts +0 -182
  620. package/src/astro/routes/api/oauth/token/refresh.ts +0 -38
  621. package/src/astro/routes/api/oauth/token/revoke.ts +0 -38
  622. package/src/astro/routes/api/oauth/token.ts +0 -195
  623. package/src/astro/routes/api/openapi.json.ts +0 -33
  624. package/src/astro/routes/api/plugins/[pluginId]/[...path].ts +0 -109
  625. package/src/astro/routes/api/redirects/404s/index.ts +0 -72
  626. package/src/astro/routes/api/redirects/404s/summary.ts +0 -33
  627. package/src/astro/routes/api/redirects/[id].ts +0 -183
  628. package/src/astro/routes/api/redirects/index.ts +0 -100
  629. package/src/astro/routes/api/revisions/[revisionId]/index.ts +0 -29
  630. package/src/astro/routes/api/revisions/[revisionId]/restore.ts +0 -62
  631. package/src/astro/routes/api/schema/collections/[slug]/fields/[fieldSlug].ts +0 -104
  632. package/src/astro/routes/api/schema/collections/[slug]/fields/index.ts +0 -67
  633. package/src/astro/routes/api/schema/collections/[slug]/fields/reorder.ts +0 -45
  634. package/src/astro/routes/api/schema/collections/[slug]/index.ts +0 -107
  635. package/src/astro/routes/api/schema/collections/index.ts +0 -61
  636. package/src/astro/routes/api/schema/index.ts +0 -109
  637. package/src/astro/routes/api/schema/orphans/[slug].ts +0 -36
  638. package/src/astro/routes/api/schema/orphans/index.ts +0 -26
  639. package/src/astro/routes/api/search/enable.ts +0 -64
  640. package/src/astro/routes/api/search/index.ts +0 -52
  641. package/src/astro/routes/api/search/rebuild.ts +0 -72
  642. package/src/astro/routes/api/search/stats.ts +0 -35
  643. package/src/astro/routes/api/search/suggest.ts +0 -50
  644. package/src/astro/routes/api/sections/[slug].ts +0 -203
  645. package/src/astro/routes/api/sections/index.ts +0 -107
  646. package/src/astro/routes/api/settings/email.ts +0 -150
  647. package/src/astro/routes/api/settings.ts +0 -116
  648. package/src/astro/routes/api/setup/admin-verify.ts +0 -122
  649. package/src/astro/routes/api/setup/admin.ts +0 -104
  650. package/src/astro/routes/api/setup/dev-bypass.ts +0 -200
  651. package/src/astro/routes/api/setup/dev-reset.ts +0 -40
  652. package/src/astro/routes/api/setup/index.ts +0 -128
  653. package/src/astro/routes/api/setup/status.ts +0 -122
  654. package/src/astro/routes/api/snapshot.ts +0 -76
  655. package/src/astro/routes/api/taxonomies/[name]/terms/[slug].ts +0 -232
  656. package/src/astro/routes/api/taxonomies/[name]/terms/index.ts +0 -131
  657. package/src/astro/routes/api/taxonomies/index.ts +0 -114
  658. package/src/astro/routes/api/themes/preview.ts +0 -78
  659. package/src/astro/routes/api/typegen.ts +0 -114
  660. package/src/astro/routes/api/well-known/auth.ts +0 -71
  661. package/src/astro/routes/api/well-known/oauth-authorization-server.ts +0 -48
  662. package/src/astro/routes/api/well-known/oauth-protected-resource.ts +0 -39
  663. package/src/astro/routes/api/widget-areas/[name]/reorder.ts +0 -114
  664. package/src/astro/routes/api/widget-areas/[name]/widgets/[id].ts +0 -213
  665. package/src/astro/routes/api/widget-areas/[name]/widgets.ts +0 -126
  666. package/src/astro/routes/api/widget-areas/[name].ts +0 -135
  667. package/src/astro/routes/api/widget-areas/index.ts +0 -149
  668. package/src/astro/routes/api/widget-components.ts +0 -22
  669. package/src/astro/routes/robots.txt.ts +0 -81
  670. package/src/astro/routes/sitemap-[collection].xml.ts +0 -104
  671. package/src/astro/routes/sitemap.xml.ts +0 -92
  672. /package/dist/{adapters-C2ypTrZZ.d.mts → adapters-BLDldpJg.d.mts} +0 -0
  673. /package/{src → dist}/astro/routes/admin.astro +0 -0
  674. /package/dist/{base64-F8-DUraK.mjs → base64-Cz-aU0X1.mjs} +0 -0
  675. /package/dist/{chunks--4F8ddV4.mjs → chunks-D_jVet6z.mjs} +0 -0
  676. /package/dist/{config-BXwuX8Bx.mjs → config-CAMFxGaV.mjs} +0 -0
  677. /package/dist/{db-errors-CEqD7qH9.mjs → db-errors-DKUg_NgF.mjs} +0 -0
  678. /package/dist/{default-VjJyuuG9.mjs → default-C3PZN-bz.mjs} +0 -0
  679. /package/dist/{load-Coc9HpHH.mjs → load-D-9NhLmF.mjs} +0 -0
  680. /package/dist/{mode-47goXBBK.mjs → mode-C80mAZQv.mjs} +0 -0
  681. /package/dist/{placeholder--wOi4TbO.d.mts → placeholder-CHkLckzK.d.mts} +0 -0
  682. /package/dist/{request-cache-Dk5qPSOx.mjs → request-cache-DHMRr2Lf.mjs} +0 -0
  683. /package/dist/{transaction-Cn2rjY78.mjs → transaction-x2tJQ-A1.mjs} +0 -0
  684. /package/dist/{transport-Wge_IzKl.d.mts → transport-6RefuBdV.d.mts} +0 -0
  685. /package/dist/{types-griIBQOQ.mjs → types-B9gKVOHk.mjs} +0 -0
  686. /package/dist/{types-CWbdtiux.d.mts → types-B9qVtiHb.d.mts} +0 -0
  687. /package/dist/{types-COeOq9nK.mjs → types-DL7Y8D_t.mjs} +0 -0
  688. /package/dist/{types-BzcUjoqg.d.mts → types-Djdp0cZO.d.mts} +0 -0
  689. /package/dist/{types-DOrVigru.d.mts → types-Du8jreyC.d.mts} +0 -0
@@ -1,20 +1,20 @@
1
1
  import { t as __exportAll } from "./chunk-ClPoSABd.mjs";
2
- import { i as matchPattern, n as interpolateDestination, t as compilePattern } from "./patterns-CrCYkMBb.mjs";
2
+ import { i as matchPattern, n as interpolateDestination, t as compilePattern } from "./patterns-K0DLqWir.mjs";
3
3
 
4
4
  //#region src/redirects/cache.ts
5
5
  var cache_exports = /* @__PURE__ */ __exportAll({
6
6
  compileRedirectRules: () => compileRedirectRules,
7
- getCachedPatternRules: () => getCachedPatternRules,
7
+ getCachedRedirects: () => getCachedRedirects,
8
8
  invalidateRedirectCache: () => invalidateRedirectCache,
9
9
  matchCachedPatterns: () => matchCachedPatterns,
10
- setCachedPatternRules: () => setCachedPatternRules
10
+ setCachedRedirects: () => setCachedRedirects
11
11
  });
12
- let cachedPatternRules = null;
12
+ let cachedRedirects = null;
13
13
  function invalidateRedirectCache() {
14
- cachedPatternRules = null;
14
+ cachedRedirects = null;
15
15
  }
16
- function getCachedPatternRules() {
17
- return cachedPatternRules;
16
+ function getCachedRedirects() {
17
+ return cachedRedirects;
18
18
  }
19
19
  function compileRedirectRules(redirects) {
20
20
  return redirects.map((redirect) => ({
@@ -22,9 +22,19 @@ function compileRedirectRules(redirects) {
22
22
  compiled: compilePattern(redirect.source)
23
23
  }));
24
24
  }
25
- function setCachedPatternRules(redirects) {
26
- cachedPatternRules = compileRedirectRules(redirects);
27
- return cachedPatternRules;
25
+ function setCachedRedirects(redirects) {
26
+ const exact = /* @__PURE__ */ new Map();
27
+ const patterns = [];
28
+ for (const redirect of redirects) if (redirect.isPattern) patterns.push({
29
+ redirect,
30
+ compiled: compilePattern(redirect.source)
31
+ });
32
+ else exact.set(redirect.source, redirect);
33
+ cachedRedirects = {
34
+ exact,
35
+ patterns
36
+ };
37
+ return cachedRedirects;
28
38
  }
29
39
  function matchCachedPatterns(rules, pathname) {
30
40
  for (const { redirect, compiled } of rules) {
@@ -39,4 +49,4 @@ function matchCachedPatterns(rules, pathname) {
39
49
  }
40
50
 
41
51
  //#endregion
42
- export { matchCachedPatterns as a, invalidateRedirectCache as i, compileRedirectRules as n, setCachedPatternRules as o, getCachedPatternRules as r, cache_exports as t };
52
+ export { matchCachedPatterns as a, invalidateRedirectCache as i, compileRedirectRules as n, setCachedRedirects as o, getCachedRedirects as r, cache_exports as t };
@@ -0,0 +1,48 @@
1
+ //#region src/auth/challenge-store.ts
2
+ function createChallengeStore(db) {
3
+ return {
4
+ async set(challenge, data) {
5
+ const expiresAt = new Date(data.expiresAt).toISOString();
6
+ await db.insertInto("auth_challenges").values({
7
+ challenge,
8
+ type: data.type,
9
+ user_id: data.userId ?? null,
10
+ data: null,
11
+ expires_at: expiresAt
12
+ }).onConflict((oc) => oc.column("challenge").doUpdateSet({
13
+ type: data.type,
14
+ user_id: data.userId ?? null,
15
+ expires_at: expiresAt
16
+ })).execute();
17
+ },
18
+ async get(challenge) {
19
+ const row = await db.selectFrom("auth_challenges").selectAll().where("challenge", "=", challenge).executeTakeFirst();
20
+ if (!row) return null;
21
+ const expiresAt = new Date(row.expires_at).getTime();
22
+ if (expiresAt < Date.now()) {
23
+ await this.delete(challenge);
24
+ return null;
25
+ }
26
+ return {
27
+ type: row.type === "registration" ? "registration" : "authentication",
28
+ userId: row.user_id ?? void 0,
29
+ expiresAt
30
+ };
31
+ },
32
+ async delete(challenge) {
33
+ await db.deleteFrom("auth_challenges").where("challenge", "=", challenge).execute();
34
+ }
35
+ };
36
+ }
37
+ /**
38
+ * Clean up expired challenges.
39
+ * Should be called periodically (e.g., on startup, or via cron).
40
+ */
41
+ async function cleanupExpiredChallenges(db) {
42
+ const now = (/* @__PURE__ */ new Date()).toISOString();
43
+ const result = await db.deleteFrom("auth_challenges").where("expires_at", "<", now).executeTakeFirst();
44
+ return Number(result.numDeletedRows ?? 0);
45
+ }
46
+
47
+ //#endregion
48
+ export { createChallengeStore as n, cleanupExpiredChallenges as t };
@@ -3,31 +3,38 @@ import { t as __exportAll } from "../chunk-ClPoSABd.mjs";
3
3
  import { n as createDatabase } from "../connection-BCNICDWN.mjs";
4
4
  import { s as listTablesLike } from "../dialect-helpers-DhTzaUxP.mjs";
5
5
  import { r as runMigrations, t as getMigrationStatus } from "../runner-DWZm2KQm.mjs";
6
- import { t as ContentRepository } from "../content-DWi4d0rT.mjs";
7
- import { i as encodeBase64url } from "../base64-F8-DUraK.mjs";
8
- import "../types-BawVha09.mjs";
9
- import { t as MediaRepository } from "../media-DMTr80Gv.mjs";
10
- import { m as TaxonomyRepository, p as OptionsRepository, t as applySeed } from "../apply-iVSqz2qs.mjs";
11
- import "../redirect-DnEWAkVg.mjs";
12
- import "../byline-OhH2dlRu.mjs";
13
- import { r as isI18nEnabled } from "../config-BXwuX8Bx.mjs";
14
- import { n as SchemaRegistry } from "../registry-C0zjeB9P.mjs";
15
- import "../loader-sMG4TZ-u.mjs";
16
- import "../request-cache-Dk5qPSOx.mjs";
17
- import { i as pluginManifestSchema } from "../manifest-schema-D1MSVnoI.mjs";
18
- import { t as validateSeed } from "../validate-BZ5wnLLp.mjs";
19
- import { LocalStorage } from "../storage/local.mjs";
6
+ import { t as ContentRepository } from "../content-CyLkb-qH.mjs";
7
+ import { i as encodeBase64url } from "../base64-Cz-aU0X1.mjs";
8
+ import "../types-Bs6lTBBW.mjs";
9
+ import { t as MediaRepository } from "../media-_7Fxdu45.mjs";
10
+ import { t as TaxonomyRepository } from "../taxonomy-D5cbhc8u.mjs";
11
+ import { t as OptionsRepository } from "../options-z8VVg1Ll.mjs";
12
+ import "../redirect-CGl64yOX.mjs";
13
+ import "../byline-naZxOPSa.mjs";
14
+ import { r as isI18nEnabled } from "../config-CAMFxGaV.mjs";
15
+ import "../fts-manager-B1pTNEG_.mjs";
16
+ import { n as SchemaRegistry } from "../registry-C-_hxLqa.mjs";
17
+ import "../loader-PZnPxFLc.mjs";
18
+ import "../settings-4XnpVMOS.mjs";
19
+ import "../request-cache-DHMRr2Lf.mjs";
20
+ import { i as pluginManifestSchema } from "../manifest-schema-DYoCQ5np.mjs";
21
+ import "../ssrf-CmM76lLV.mjs";
22
+ import { t as validateSeed } from "../validate-BJgA6TW_.mjs";
23
+ import { t as applySeed } from "../apply-Co5imxxT.mjs";
24
+ import { n as fingerprintKey, r as generateEncryptionKey, t as DinewaySecretsError } from "../secrets-dI8zzTV7.mjs";
25
+ import { o as convertDataForRead } from "../transport-C9e_h-BF.mjs";
20
26
  import { createHeaderAwareFetch, customHeadersInterceptor, isRedirectResponse, resolveCustomHeaders } from "../client/external-auth-headers.mjs";
21
27
  import { DinewayClient } from "../client/index.mjs";
28
+ import { LocalStorage } from "../storage/local.mjs";
22
29
  import { imageSize } from "image-size";
23
30
  import { createGzipDecoder, unpackTar } from "modern-tar";
24
31
  import { createHash } from "node:crypto";
25
32
  import { createWriteStream, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
26
33
  import { basename, dirname, extname, isAbsolute, join, resolve } from "node:path";
27
- import { access, copyFile, mkdir, readFile, readdir, rm, stat, symlink, writeFile } from "node:fs/promises";
28
34
  import { defineCommand, runCommand, runMain } from "citty";
29
35
  import consola, { consola as consola$1 } from "consola";
30
36
  import pc from "picocolors";
37
+ import { access, copyFile, mkdir, readFile, readdir, rm, stat, symlink, writeFile } from "node:fs/promises";
31
38
  import { homedir } from "node:os";
32
39
  import { createInterface } from "node:readline/promises";
33
40
  import { spawn } from "node:child_process";
@@ -135,7 +142,10 @@ function readStore() {
135
142
  return {};
136
143
  }
137
144
  function writeStore(store) {
138
- mkdirSync(getConfigDir(), { recursive: true });
145
+ mkdirSync(getConfigDir(), {
146
+ recursive: true,
147
+ mode: 448
148
+ });
139
149
  writeFileSync(getCredentialPath(), JSON.stringify(store, null, " "), {
140
150
  encoding: "utf-8",
141
151
  mode: 384
@@ -484,7 +494,16 @@ const getCommand$3 = defineCommand({
484
494
  });
485
495
  if (!args.published && item.draftRevisionId) {
486
496
  const comparison = await client.compare(args.collection, args.id);
487
- if (comparison.hasChanges && comparison.draft) item.data = comparison.draft;
497
+ if (comparison.hasChanges && comparison.draft) {
498
+ item.data = comparison.draft;
499
+ if (!args.raw && item.data) {
500
+ const fields = (await client.collection(args.collection)).fields.map((field) => ({
501
+ slug: field.slug,
502
+ type: field.type
503
+ }));
504
+ item.data = convertDataForRead(item.data, fields, false);
505
+ }
506
+ }
488
507
  }
489
508
  output(item, args);
490
509
  } catch (error) {
@@ -627,6 +646,7 @@ const deleteCommand$2 = defineCommand({
627
646
  configureOutputMode(args);
628
647
  try {
629
648
  await createClientFromArgs(args).delete(args.collection, args.id);
649
+ output({ success: true }, args);
630
650
  consola$1.success(`Deleted ${args.collection}/${args.id}`);
631
651
  } catch (error) {
632
652
  consola$1.error(error instanceof Error ? error.message : "Unknown error");
@@ -660,6 +680,7 @@ const publishCommand$1 = defineCommand({
660
680
  configureOutputMode(args);
661
681
  try {
662
682
  await createClientFromArgs(args).publish(args.collection, args.id, { reviewRequestId: args["review-request-id"] });
683
+ output({ success: true }, args);
663
684
  consola$1.success(`Published ${args.collection}/${args.id}`);
664
685
  } catch (error) {
665
686
  consola$1.error(error instanceof Error ? error.message : "Unknown error");
@@ -689,6 +710,7 @@ const unpublishCommand = defineCommand({
689
710
  configureOutputMode(args);
690
711
  try {
691
712
  await createClientFromArgs(args).unpublish(args.collection, args.id);
713
+ output({ success: true }, args);
692
714
  consola$1.success(`Unpublished ${args.collection}/${args.id}`);
693
715
  } catch (error) {
694
716
  consola$1.error(error instanceof Error ? error.message : "Unknown error");
@@ -723,6 +745,7 @@ const scheduleCommand = defineCommand({
723
745
  configureOutputMode(args);
724
746
  try {
725
747
  await createClientFromArgs(args).schedule(args.collection, args.id, { at: args.at });
748
+ output({ success: true }, args);
726
749
  consola$1.success(`Scheduled ${args.collection}/${args.id} for ${args.at}`);
727
750
  } catch (error) {
728
751
  consola$1.error(error instanceof Error ? error.message : "Unknown error");
@@ -752,6 +775,7 @@ const restoreCommand = defineCommand({
752
775
  configureOutputMode(args);
753
776
  try {
754
777
  await createClientFromArgs(args).restore(args.collection, args.id);
778
+ output({ success: true }, args);
755
779
  consola$1.success(`Restored ${args.collection}/${args.id}`);
756
780
  } catch (error) {
757
781
  consola$1.error(error instanceof Error ? error.message : "Unknown error");
@@ -2773,7 +2797,8 @@ const whoamiCommand = defineCommand({
2773
2797
  })
2774
2798
  });
2775
2799
  if (refreshRes.ok) {
2776
- const refreshed = await refreshRes.json();
2800
+ const json = await refreshRes.json();
2801
+ const refreshed = json.data && typeof json.data === "object" && "access_token" in json.data ? json.data : json;
2777
2802
  token = refreshed.access_token;
2778
2803
  saveCredentials(baseUrl, {
2779
2804
  ...cred,
@@ -3057,8 +3082,8 @@ const MAX_SCREENSHOTS = 5;
3057
3082
  const MAX_SCREENSHOT_WIDTH = 1920;
3058
3083
  const MAX_SCREENSHOT_HEIGHT = 1080;
3059
3084
  const ICON_SIZE = 256;
3060
- /** Matches require("node:xxx") / require("xxx") / import("node:xxx") in bundled output */
3061
- const NODE_BUILTIN_IMPORT_RE = /(?:import|require)\s*\(?["'](?:node:)?([a-z_]+)["']\)?/g;
3085
+ /** Matches Node.js built-in imports in bundled output. */
3086
+ const NODE_BUILTIN_IMPORT_RE = /(?:import|export|require)\s*(?:\(|[^(]*?\bfrom\s+)["'](?:node:)?([a-z_]+)(?:\/[^"']*)?\s*["']\)?/g;
3062
3087
  const LEADING_DOT_SLASH_RE = /^\.\//;
3063
3088
  const DIST_PREFIX_RE = /^dist\//;
3064
3089
  const MJS_EXT_RE = /\.m?js$/;
@@ -3549,8 +3574,8 @@ const bundleCommand = defineCommand({
3549
3574
  hasErrors = true;
3550
3575
  }
3551
3576
  }
3552
- if (manifest.capabilities.includes("network:fetch:any")) consola.warn("Plugin declares unrestricted network access (network:fetch:any) — it can make requests to any host");
3553
- else if (manifest.capabilities.includes("network:fetch") && manifest.allowedHosts.length === 0) consola.warn("Plugin declares network:fetch capability but no allowedHosts — all fetch requests will be blocked");
3577
+ if (manifest.capabilities.includes("network:request:unrestricted")) consola.warn("Plugin declares unrestricted network access (network:request:unrestricted) — it can make requests to any host");
3578
+ else if (manifest.capabilities.includes("network:request") && manifest.allowedHosts.length === 0) consola.warn("Plugin declares network:request capability but no allowedHosts — all fetch requests will be blocked");
3554
3579
  if (resolvedPlugin.admin?.portableTextBlocks && resolvedPlugin.admin.portableTextBlocks.length > 0) consola.warn("Plugin declares portableTextBlocks — these require trusted mode and will be ignored in sandboxed plugins");
3555
3580
  if (resolvedPlugin.admin?.entry) consola.warn("Plugin declares admin.entry — custom React components require trusted mode. Use Block Kit for sandboxed admin pages");
3556
3581
  if (resolvedPlugin.hooks["page:fragments"]) consola.warn("Plugin declares page:fragments hook — this is trusted-only and will not work in sandboxed mode");
@@ -4502,6 +4527,99 @@ const searchCommand = defineCommand({
4502
4527
  }
4503
4528
  });
4504
4529
 
4530
+ //#endregion
4531
+ //#region src/cli/commands/secrets.ts
4532
+ /**
4533
+ * Secrets CLI commands.
4534
+ */
4535
+ const KEY_VAR_NAME = "DINEWAY_ENCRYPTION_KEY";
4536
+ const POPULATED_KEY_LINE_PATTERN = /^DINEWAY_ENCRYPTION_KEY=.+$/m;
4537
+ const ANY_KEY_LINE_PATTERN = /^DINEWAY_ENCRYPTION_KEY=.*$/m;
4538
+ function writeEncryptionKeyToFile(targetPath, value, force) {
4539
+ const existing = existsSync(targetPath) ? readFileSync(targetPath, "utf-8") : "";
4540
+ if (POPULATED_KEY_LINE_PATTERN.test(existing) && !force) return "skipped";
4541
+ const newLine = `${KEY_VAR_NAME}=${value}`;
4542
+ let next;
4543
+ if (ANY_KEY_LINE_PATTERN.test(existing)) {
4544
+ next = existing.replace(ANY_KEY_LINE_PATTERN, newLine);
4545
+ if (!next.endsWith("\n")) next += "\n";
4546
+ } else next = `${existing}${existing.length === 0 || existing.endsWith("\n") ? "" : "\n"}${newLine}\n`;
4547
+ writeFileSync(targetPath, next);
4548
+ return "wrote";
4549
+ }
4550
+ const generateCommand = defineCommand({
4551
+ meta: {
4552
+ name: "generate",
4553
+ description: "Generate a new Dineway encryption key"
4554
+ },
4555
+ args: {
4556
+ write: {
4557
+ type: "string",
4558
+ description: "Optional dotenv file path to write the key to"
4559
+ },
4560
+ force: {
4561
+ type: "boolean",
4562
+ description: "When used with --write, overwrite an existing entry",
4563
+ default: false
4564
+ }
4565
+ },
4566
+ run({ args }) {
4567
+ const value = generateEncryptionKey();
4568
+ if (args.write) {
4569
+ if (writeEncryptionKeyToFile(resolve(process.cwd(), args.write), value, args.force) === "skipped") {
4570
+ consola$1.info(`${KEY_VAR_NAME} already set in ${pc.cyan(args.write)}; leaving it alone. Pass ${pc.bold("--force")} to replace it.`);
4571
+ return;
4572
+ }
4573
+ consola$1.log("");
4574
+ consola$1.log(`${pc.bold("Wrote")} ${pc.cyan(KEY_VAR_NAME)} to ${pc.cyan(args.write)}`);
4575
+ consola$1.log("");
4576
+ consola$1.log(pc.yellow("Keep this file out of version control."));
4577
+ consola$1.log("");
4578
+ return;
4579
+ }
4580
+ process.stdout.write(`${value}\n`);
4581
+ process.stderr.write([
4582
+ "",
4583
+ pc.bold("Dineway encryption key generated."),
4584
+ "",
4585
+ `Set ${pc.cyan(KEY_VAR_NAME)} in your environment.`,
4586
+ "",
4587
+ pc.yellow("Keep this value secret. Losing it means encrypted secrets are unreadable."),
4588
+ ""
4589
+ ].join("\n"));
4590
+ }
4591
+ });
4592
+ const fingerprintCommand = defineCommand({
4593
+ meta: {
4594
+ name: "fingerprint",
4595
+ description: "Print the kid (8-char fingerprint) for an encryption key"
4596
+ },
4597
+ args: { key: {
4598
+ type: "positional",
4599
+ description: "The full key value with the dineway_enc_v1_ prefix",
4600
+ required: true
4601
+ } },
4602
+ async run({ args }) {
4603
+ try {
4604
+ const kid = await fingerprintKey(args.key);
4605
+ process.stdout.write(`${kid}\n`);
4606
+ } catch (error) {
4607
+ consola$1.error(error instanceof DinewaySecretsError ? error.message : "Failed to fingerprint key");
4608
+ process.exit(1);
4609
+ }
4610
+ }
4611
+ });
4612
+ const secretsCommand = defineCommand({
4613
+ meta: {
4614
+ name: "secrets",
4615
+ description: "Manage Dineway secrets"
4616
+ },
4617
+ subCommands: {
4618
+ generate: generateCommand,
4619
+ fingerprint: fingerprintCommand
4620
+ }
4621
+ });
4622
+
4505
4623
  //#endregion
4506
4624
  //#region src/cli/commands/seed.ts
4507
4625
  /**
@@ -4864,6 +4982,7 @@ const typesCommand = defineCommand({
4864
4982
  * - dev: Run dev server with a local or remote database
4865
4983
  * - seed: Apply a seed file to the database
4866
4984
  * - export-seed: Export database schema and content as a seed file
4985
+ * - secrets: Generate and inspect Dineway secrets
4867
4986
  * - auth: Authentication utilities (secret generation)
4868
4987
  * - login/logout/whoami: Session management
4869
4988
  * - content: Create, read, update, delete content
@@ -4889,6 +5008,7 @@ runMain(defineCommand({
4889
5008
  doctor: doctorCommand,
4890
5009
  seed: seedCommand,
4891
5010
  "export-seed": exportSeedCommand,
5011
+ secrets: secretsCommand,
4892
5012
  auth: authCommand,
4893
5013
  login: loginCommand,
4894
5014
  logout: logoutCommand,
@@ -1,4 +1,4 @@
1
- import { t as Interceptor } from "../transport-Wge_IzKl.mjs";
1
+ import { t as Interceptor } from "../transport-6RefuBdV.mjs";
2
2
 
3
3
  //#region src/client/external-auth-headers.d.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { a as tokenInterceptor, i as devBypassInterceptor, n as createTransport, r as csrfInterceptor, t as Interceptor } from "../transport-Wge_IzKl.mjs";
1
+ import { a as tokenInterceptor, i as devBypassInterceptor, n as createTransport, r as csrfInterceptor, t as Interceptor } from "../transport-6RefuBdV.mjs";
2
2
 
3
3
  //#region src/client/portable-text.d.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { a as tokenInterceptor, c as markdownToPortableText, i as refreshInterceptor, l as portableTextToMarkdown, n as csrfInterceptor, o as convertDataForRead, r as devBypassInterceptor, s as convertDataForWrite, t as createTransport } from "../transport-DB5eDN4x.mjs";
1
+ import { a as tokenInterceptor, c as markdownToPortableText, i as refreshInterceptor, l as portableTextToMarkdown, n as csrfInterceptor, o as convertDataForRead, r as devBypassInterceptor, s as convertDataForWrite, t as createTransport } from "../transport-C9e_h-BF.mjs";
2
2
  import mime from "mime/lite";
3
3
 
4
4
  //#region src/client/index.ts
@@ -263,7 +263,7 @@ var DinewayClient = class {
263
263
  }
264
264
  /** List taxonomies */
265
265
  async taxonomies() {
266
- return (await this.request("GET", "/taxonomies")).items;
266
+ return (await this.request("GET", "/taxonomies")).taxonomies;
267
267
  }
268
268
  /** List terms in a taxonomy */
269
269
  async terms(taxonomy, options) {
@@ -279,7 +279,7 @@ var DinewayClient = class {
279
279
  }
280
280
  /** List menus */
281
281
  async menus() {
282
- return (await this.request("GET", "/menus")).items;
282
+ return this.request("GET", "/menus");
283
283
  }
284
284
  /** Get a menu with its items */
285
285
  async menu(name) {
@@ -0,0 +1,246 @@
1
+ import { n as decodeCursor, r as encodeCursor } from "./types-Bs6lTBBW.mjs";
2
+ import { sql } from "kysely";
3
+ import { ulid } from "ulidx";
4
+
5
+ //#region src/database/repositories/comment.ts
6
+ /** Matches LIKE wildcard characters and the escape character itself */
7
+ const LIKE_ESCAPE_RE = /[%_\\]/g;
8
+ var CommentRepository = class CommentRepository {
9
+ constructor(db) {
10
+ this.db = db;
11
+ }
12
+ /**
13
+ * Create a new comment
14
+ */
15
+ async create(input) {
16
+ const id = ulid();
17
+ const now = (/* @__PURE__ */ new Date()).toISOString();
18
+ await this.db.insertInto("_dineway_comments").values({
19
+ id,
20
+ collection: input.collection,
21
+ content_id: input.contentId,
22
+ parent_id: input.parentId ?? null,
23
+ author_name: input.authorName,
24
+ author_email: input.authorEmail,
25
+ author_user_id: input.authorUserId ?? null,
26
+ body: input.body,
27
+ status: input.status ?? "pending",
28
+ ip_hash: input.ipHash ?? null,
29
+ user_agent: input.userAgent ?? null,
30
+ moderation_metadata: input.moderationMetadata ? JSON.stringify(input.moderationMetadata) : null,
31
+ created_at: now,
32
+ updated_at: now
33
+ }).execute();
34
+ const comment = await this.findById(id);
35
+ if (!comment) throw new Error("Failed to create comment");
36
+ return comment;
37
+ }
38
+ /**
39
+ * Find comment by ID
40
+ */
41
+ async findById(id) {
42
+ const row = await this.db.selectFrom("_dineway_comments").selectAll().where("id", "=", id).executeTakeFirst();
43
+ return row ? this.rowToComment(row) : null;
44
+ }
45
+ /**
46
+ * Find comments for a content item with optional status filter.
47
+ * Results are ordered by created_at ASC (oldest first) for display.
48
+ */
49
+ async findByContent(collection, contentId, options = {}) {
50
+ const limit = Math.min(options.limit || 50, 100);
51
+ let query = this.db.selectFrom("_dineway_comments").selectAll().where("collection", "=", collection).where("content_id", "=", contentId);
52
+ if (options.status) query = query.where("status", "=", options.status);
53
+ if (options.cursor) {
54
+ const decoded = decodeCursor(options.cursor);
55
+ if (decoded) query = query.where((eb) => eb.or([eb("created_at", ">", decoded.orderValue), eb.and([eb("created_at", "=", decoded.orderValue), eb("id", ">", decoded.id)])]));
56
+ }
57
+ query = query.orderBy("created_at", "asc").orderBy("id", "asc").limit(limit + 1);
58
+ const rows = await query.execute();
59
+ const hasMore = rows.length > limit;
60
+ const items = rows.slice(0, limit).map((r) => this.rowToComment(r));
61
+ const result = { items };
62
+ if (hasMore && items.length > 0) {
63
+ const last = items.at(-1);
64
+ result.nextCursor = encodeCursor(last.createdAt, last.id);
65
+ }
66
+ return result;
67
+ }
68
+ /**
69
+ * Find comments by status (moderation inbox).
70
+ * Results are ordered by created_at DESC (newest first).
71
+ */
72
+ async findByStatus(status, options = {}) {
73
+ const limit = Math.min(options.limit || 50, 100);
74
+ let query = this.db.selectFrom("_dineway_comments").selectAll().where("status", "=", status);
75
+ if (options.collection) query = query.where("collection", "=", options.collection);
76
+ if (options.search) {
77
+ const term = `%${options.search.replace(LIKE_ESCAPE_RE, (ch) => `\\${ch}`)}%`;
78
+ query = query.where((eb) => eb.or([
79
+ sql`author_name LIKE ${term} ESCAPE '\\'`,
80
+ sql`author_email LIKE ${term} ESCAPE '\\'`,
81
+ sql`body LIKE ${term} ESCAPE '\\'`
82
+ ]));
83
+ }
84
+ if (options.cursor) {
85
+ const decoded = decodeCursor(options.cursor);
86
+ if (decoded) query = query.where((eb) => eb.or([eb("created_at", "<", decoded.orderValue), eb.and([eb("created_at", "=", decoded.orderValue), eb("id", "<", decoded.id)])]));
87
+ }
88
+ query = query.orderBy("created_at", "desc").orderBy("id", "desc").limit(limit + 1);
89
+ const rows = await query.execute();
90
+ const hasMore = rows.length > limit;
91
+ const items = rows.slice(0, limit).map((r) => this.rowToComment(r));
92
+ const result = { items };
93
+ if (hasMore && items.length > 0) {
94
+ const last = items.at(-1);
95
+ result.nextCursor = encodeCursor(last.createdAt, last.id);
96
+ }
97
+ return result;
98
+ }
99
+ /**
100
+ * Update comment status
101
+ */
102
+ async updateStatus(id, status) {
103
+ const now = (/* @__PURE__ */ new Date()).toISOString();
104
+ await this.db.updateTable("_dineway_comments").set({
105
+ status,
106
+ updated_at: now
107
+ }).where("id", "=", id).execute();
108
+ return this.findById(id);
109
+ }
110
+ /**
111
+ * Bulk update comment statuses
112
+ */
113
+ async bulkUpdateStatus(ids, status) {
114
+ if (ids.length === 0) return 0;
115
+ const now = (/* @__PURE__ */ new Date()).toISOString();
116
+ const result = await this.db.updateTable("_dineway_comments").set({
117
+ status,
118
+ updated_at: now
119
+ }).where("id", "in", ids).executeTakeFirst();
120
+ return Number(result.numUpdatedRows ?? 0);
121
+ }
122
+ /**
123
+ * Hard-delete a single comment. Replies cascade via FK.
124
+ */
125
+ async delete(id) {
126
+ return ((await this.db.deleteFrom("_dineway_comments").where("id", "=", id).executeTakeFirst()).numDeletedRows ?? 0) > 0;
127
+ }
128
+ /**
129
+ * Bulk hard-delete comments
130
+ */
131
+ async bulkDelete(ids) {
132
+ if (ids.length === 0) return 0;
133
+ const result = await this.db.deleteFrom("_dineway_comments").where("id", "in", ids).executeTakeFirst();
134
+ return Number(result.numDeletedRows ?? 0);
135
+ }
136
+ /**
137
+ * Delete all comments for a content item (cascade on content deletion)
138
+ */
139
+ async deleteByContent(collection, contentId) {
140
+ const result = await this.db.deleteFrom("_dineway_comments").where("collection", "=", collection).where("content_id", "=", contentId).executeTakeFirst();
141
+ return Number(result.numDeletedRows ?? 0);
142
+ }
143
+ /**
144
+ * Count comments for a content item, optionally filtered by status
145
+ */
146
+ async countByContent(collection, contentId, status) {
147
+ let query = this.db.selectFrom("_dineway_comments").select((eb) => eb.fn.count("id").as("count")).where("collection", "=", collection).where("content_id", "=", contentId);
148
+ if (status) query = query.where("status", "=", status);
149
+ const result = await query.executeTakeFirst();
150
+ return Number(result?.count ?? 0);
151
+ }
152
+ /**
153
+ * Count comments grouped by status (for inbox badges)
154
+ *
155
+ * Uses four parallel COUNT queries with WHERE filters to leverage partial indexes
156
+ * (idx_comments_pending, idx_comments_approved, idx_comments_spam, idx_comments_trash)
157
+ * instead of a full table GROUP BY scan.
158
+ */
159
+ async countByStatus() {
160
+ const [pending, approved, spam, trash] = await Promise.all([
161
+ this.db.selectFrom("_dineway_comments").select((eb) => eb.fn.count("id").as("count")).where("status", "=", "pending").executeTakeFirst(),
162
+ this.db.selectFrom("_dineway_comments").select((eb) => eb.fn.count("id").as("count")).where("status", "=", "approved").executeTakeFirst(),
163
+ this.db.selectFrom("_dineway_comments").select((eb) => eb.fn.count("id").as("count")).where("status", "=", "spam").executeTakeFirst(),
164
+ this.db.selectFrom("_dineway_comments").select((eb) => eb.fn.count("id").as("count")).where("status", "=", "trash").executeTakeFirst()
165
+ ]);
166
+ return {
167
+ pending: Number(pending?.count ?? 0),
168
+ approved: Number(approved?.count ?? 0),
169
+ spam: Number(spam?.count ?? 0),
170
+ trash: Number(trash?.count ?? 0)
171
+ };
172
+ }
173
+ /**
174
+ * Count approved comments from a given email address.
175
+ * Used for "first time commenter" moderation logic.
176
+ */
177
+ async countApprovedByEmail(email) {
178
+ const result = await this.db.selectFrom("_dineway_comments").select((eb) => eb.fn.count("id").as("count")).where("author_email", "=", email).where("status", "=", "approved").executeTakeFirst();
179
+ return Number(result?.count ?? 0);
180
+ }
181
+ /**
182
+ * Update the moderation metadata JSON on a comment
183
+ */
184
+ async updateModerationMetadata(id, metadata) {
185
+ await this.db.updateTable("_dineway_comments").set({ moderation_metadata: JSON.stringify(metadata) }).where("id", "=", id).execute();
186
+ }
187
+ /**
188
+ * Assemble a flat list of comments into a threaded structure (1-level nesting)
189
+ */
190
+ static assembleThreads(comments) {
191
+ const roots = [];
192
+ const childrenMap = /* @__PURE__ */ new Map();
193
+ for (const comment of comments) if (comment.parentId) {
194
+ const siblings = childrenMap.get(comment.parentId) ?? [];
195
+ siblings.push(comment);
196
+ childrenMap.set(comment.parentId, siblings);
197
+ } else roots.push(comment);
198
+ return roots.map((root) => ({
199
+ ...root,
200
+ _replies: childrenMap.get(root.id) ?? []
201
+ }));
202
+ }
203
+ /**
204
+ * Convert a Comment to its public-facing shape
205
+ */
206
+ static toPublicComment(comment) {
207
+ const pub = {
208
+ id: comment.id,
209
+ parentId: comment.parentId,
210
+ authorName: comment.authorName,
211
+ isRegisteredUser: comment.authorUserId !== null,
212
+ body: comment.body,
213
+ createdAt: comment.createdAt
214
+ };
215
+ if (comment._replies && comment._replies.length > 0) pub.replies = comment._replies.map((r) => CommentRepository.toPublicComment(r));
216
+ return pub;
217
+ }
218
+ rowToComment(row) {
219
+ return {
220
+ id: row.id,
221
+ collection: row.collection,
222
+ contentId: row.content_id,
223
+ parentId: row.parent_id,
224
+ authorName: row.author_name,
225
+ authorEmail: row.author_email,
226
+ authorUserId: row.author_user_id,
227
+ body: row.body,
228
+ status: row.status,
229
+ ipHash: row.ip_hash,
230
+ userAgent: row.user_agent,
231
+ moderationMetadata: row.moderation_metadata ? safeJsonParse(row.moderation_metadata) : null,
232
+ createdAt: row.created_at,
233
+ updatedAt: row.updated_at
234
+ };
235
+ }
236
+ };
237
+ function safeJsonParse(value) {
238
+ try {
239
+ return JSON.parse(value);
240
+ } catch {
241
+ return null;
242
+ }
243
+ }
244
+
245
+ //#endregion
246
+ export { CommentRepository as t };