dineway 0.1.8 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (690) hide show
  1. package/LICENSE +9 -0
  2. package/README.md +63 -17
  3. package/dist/activity-events-BsMaXdJa.mjs +540 -0
  4. package/dist/allowed-origins-DG86sH8U.mjs +68 -0
  5. package/dist/api/route-utils.d.mts +41 -0
  6. package/dist/api/route-utils.mjs +26 -0
  7. package/dist/api/schemas/index.d.mts +3 -0
  8. package/dist/api/schemas/index.mjs +6 -0
  9. package/dist/api/schemas/setup.d.mts +42 -0
  10. package/dist/api/schemas/setup.mjs +39 -0
  11. package/dist/api-Cmy8Rjk5.mjs +2704 -0
  12. package/dist/api-tokens-Bu3ez1MO.mjs +153 -0
  13. package/dist/api-tokens-DzloJxuh.mjs +3 -0
  14. package/dist/{apply-iVSqz2qs.mjs → apply-Co5imxxT.mjs} +15 -689
  15. package/dist/astro/index.d.mts +10 -6
  16. package/dist/astro/index.mjs +86 -11
  17. package/dist/astro/middleware/auth.d.mts +10 -7
  18. package/dist/astro/middleware/auth.mjs +19 -104
  19. package/dist/astro/middleware/redirect.mjs +24 -14
  20. package/dist/astro/middleware/request-context.mjs +9 -6
  21. package/dist/astro/middleware/setup.mjs +1 -1
  22. package/dist/astro/middleware.mjs +86 -145
  23. package/dist/astro/routes/PluginRegistry.d.mts +14 -0
  24. package/dist/astro/routes/PluginRegistry.mjs +24 -0
  25. package/dist/astro/routes/api/admin/allowed-domains/_domain_.d.mts +14 -0
  26. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +65 -0
  27. package/dist/astro/routes/api/admin/allowed-domains/index.d.mts +14 -0
  28. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +65 -0
  29. package/dist/astro/routes/api/admin/api-tokens/_id_.d.mts +10 -0
  30. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +33 -0
  31. package/dist/astro/routes/api/admin/api-tokens/index.d.mts +16 -0
  32. package/dist/astro/routes/api/admin/api-tokens/index.mjs +59 -0
  33. package/dist/astro/routes/api/admin/briefing.d.mts +7 -0
  34. package/dist/astro/routes/api/admin/briefing.mjs +71 -0
  35. package/dist/astro/routes/api/admin/bylines/_id_/index.d.mts +9 -0
  36. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +74 -0
  37. package/dist/astro/routes/api/admin/bylines/index.d.mts +8 -0
  38. package/dist/astro/routes/api/admin/bylines/index.mjs +61 -0
  39. package/dist/astro/routes/api/admin/comments/_id_/status.d.mts +7 -0
  40. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +80 -0
  41. package/dist/astro/routes/api/admin/comments/_id_.d.mts +14 -0
  42. package/dist/astro/routes/api/admin/comments/_id_.mjs +46 -0
  43. package/dist/astro/routes/api/admin/comments/bulk.d.mts +7 -0
  44. package/dist/astro/routes/api/admin/comments/bulk.mjs +36 -0
  45. package/dist/astro/routes/api/admin/comments/counts.d.mts +7 -0
  46. package/dist/astro/routes/api/admin/comments/counts.mjs +24 -0
  47. package/dist/astro/routes/api/admin/comments/index.d.mts +10 -0
  48. package/dist/astro/routes/api/admin/comments/index.mjs +40 -0
  49. package/dist/astro/routes/api/admin/context/_id_/history.d.mts +7 -0
  50. package/dist/astro/routes/api/admin/context/_id_/history.mjs +45 -0
  51. package/dist/astro/routes/api/admin/context/_id_/index.d.mts +7 -0
  52. package/dist/astro/routes/api/admin/context/_id_/index.mjs +45 -0
  53. package/dist/astro/routes/api/admin/context/_id_/review.d.mts +7 -0
  54. package/dist/astro/routes/api/admin/context/_id_/review.mjs +60 -0
  55. package/dist/astro/routes/api/admin/context/_id_/supersede.d.mts +7 -0
  56. package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +63 -0
  57. package/dist/astro/routes/api/admin/context/diff.d.mts +7 -0
  58. package/dist/astro/routes/api/admin/context/diff.mjs +49 -0
  59. package/dist/astro/routes/api/admin/context/index.d.mts +8 -0
  60. package/dist/astro/routes/api/admin/context/index.mjs +71 -0
  61. package/dist/astro/routes/api/admin/context/stale.d.mts +7 -0
  62. package/dist/astro/routes/api/admin/context/stale.mjs +49 -0
  63. package/dist/astro/routes/api/admin/hitl-requests/_id_/index.d.mts +7 -0
  64. package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +51 -0
  65. package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.d.mts +7 -0
  66. package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +67 -0
  67. package/dist/astro/routes/api/admin/hitl-requests/index.d.mts +7 -0
  68. package/dist/astro/routes/api/admin/hitl-requests/index.mjs +55 -0
  69. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.d.mts +7 -0
  70. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +98 -0
  71. package/dist/astro/routes/api/admin/hooks/exclusive/index.d.mts +7 -0
  72. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +33 -0
  73. package/dist/astro/routes/api/admin/oauth-clients/_id_.d.mts +18 -0
  74. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +79 -0
  75. package/dist/astro/routes/api/admin/oauth-clients/index.d.mts +14 -0
  76. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +58 -0
  77. package/dist/astro/routes/api/admin/plugins/_id_/disable.d.mts +7 -0
  78. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +89 -0
  79. package/dist/astro/routes/api/admin/plugins/_id_/enable.d.mts +7 -0
  80. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +89 -0
  81. package/dist/astro/routes/api/admin/plugins/_id_/index.d.mts +7 -0
  82. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +54 -0
  83. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.d.mts +7 -0
  84. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +98 -0
  85. package/dist/astro/routes/api/admin/plugins/_id_/update.d.mts +7 -0
  86. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +131 -0
  87. package/dist/astro/routes/api/admin/plugins/index.d.mts +7 -0
  88. package/dist/astro/routes/api/admin/plugins/index.mjs +52 -0
  89. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.d.mts +7 -0
  90. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +36 -0
  91. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.d.mts +7 -0
  92. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +54 -0
  93. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.d.mts +7 -0
  94. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +128 -0
  95. package/dist/astro/routes/api/admin/plugins/marketplace/index.d.mts +7 -0
  96. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +61 -0
  97. package/dist/astro/routes/api/admin/plugins/updates.d.mts +7 -0
  98. package/dist/astro/routes/api/admin/plugins/updates.mjs +52 -0
  99. package/dist/astro/routes/api/admin/review-requests/_id_/index.d.mts +7 -0
  100. package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +26 -0
  101. package/dist/astro/routes/api/admin/review-requests/_id_/resolve.d.mts +7 -0
  102. package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +97 -0
  103. package/dist/astro/routes/api/admin/review-requests/index.d.mts +7 -0
  104. package/dist/astro/routes/api/admin/review-requests/index.mjs +31 -0
  105. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.d.mts +7 -0
  106. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +54 -0
  107. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.d.mts +7 -0
  108. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +36 -0
  109. package/dist/astro/routes/api/admin/themes/marketplace/index.d.mts +7 -0
  110. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +70 -0
  111. package/dist/astro/routes/api/admin/users/_id_/disable.d.mts +7 -0
  112. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +38 -0
  113. package/dist/astro/routes/api/admin/users/_id_/enable.d.mts +7 -0
  114. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +29 -0
  115. package/dist/astro/routes/api/admin/users/_id_/index.d.mts +8 -0
  116. package/dist/astro/routes/api/admin/users/_id_/index.mjs +104 -0
  117. package/dist/astro/routes/api/admin/users/_id_/send-recovery.d.mts +7 -0
  118. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +43 -0
  119. package/dist/astro/routes/api/admin/users/index.d.mts +7 -0
  120. package/dist/astro/routes/api/admin/users/index.mjs +54 -0
  121. package/dist/astro/routes/api/auth/dev-bypass.d.mts +8 -0
  122. package/dist/astro/routes/api/auth/dev-bypass.mjs +81 -0
  123. package/dist/astro/routes/api/auth/invite/accept.d.mts +7 -0
  124. package/dist/astro/routes/api/auth/invite/accept.mjs +31 -0
  125. package/dist/astro/routes/api/auth/invite/complete.d.mts +7 -0
  126. package/dist/astro/routes/api/auth/invite/complete.mjs +54 -0
  127. package/dist/astro/routes/api/auth/invite/index.d.mts +7 -0
  128. package/dist/astro/routes/api/auth/invite/index.mjs +51 -0
  129. package/dist/astro/routes/api/auth/invite/register-options.d.mts +7 -0
  130. package/dist/astro/routes/api/auth/invite/register-options.mjs +44 -0
  131. package/dist/astro/routes/api/auth/logout.d.mts +7 -0
  132. package/dist/astro/routes/api/auth/logout.mjs +24 -0
  133. package/dist/astro/routes/api/auth/magic-link/send.d.mts +7 -0
  134. package/dist/astro/routes/api/auth/magic-link/send.mjs +48 -0
  135. package/dist/astro/routes/api/auth/magic-link/verify.d.mts +7 -0
  136. package/dist/astro/routes/api/auth/magic-link/verify.mjs +32 -0
  137. package/dist/astro/routes/api/auth/me.d.mts +13 -0
  138. package/dist/astro/routes/api/auth/me.mjs +41 -0
  139. package/dist/astro/routes/api/auth/mode.d.mts +7 -0
  140. package/dist/astro/routes/api/auth/mode.mjs +28 -0
  141. package/dist/astro/routes/api/auth/oauth/_provider_/callback.d.mts +7 -0
  142. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +114 -0
  143. package/dist/astro/routes/api/auth/oauth/_provider_.d.mts +7 -0
  144. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +58 -0
  145. package/dist/astro/routes/api/auth/passkey/_id_.d.mts +14 -0
  146. package/dist/astro/routes/api/auth/passkey/_id_.mjs +62 -0
  147. package/dist/astro/routes/api/auth/passkey/index.d.mts +7 -0
  148. package/dist/astro/routes/api/auth/passkey/index.mjs +25 -0
  149. package/dist/astro/routes/api/auth/passkey/options.d.mts +7 -0
  150. package/dist/astro/routes/api/auth/passkey/options.mjs +46 -0
  151. package/dist/astro/routes/api/auth/passkey/register/options.d.mts +7 -0
  152. package/dist/astro/routes/api/auth/passkey/register/options.mjs +44 -0
  153. package/dist/astro/routes/api/auth/passkey/register/verify.d.mts +7 -0
  154. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +59 -0
  155. package/dist/astro/routes/api/auth/passkey/verify.d.mts +7 -0
  156. package/dist/astro/routes/api/auth/passkey/verify.mjs +47 -0
  157. package/dist/astro/routes/api/auth/signup/complete.d.mts +7 -0
  158. package/dist/astro/routes/api/auth/signup/complete.mjs +55 -0
  159. package/dist/astro/routes/api/auth/signup/request.d.mts +7 -0
  160. package/dist/astro/routes/api/auth/signup/request.mjs +44 -0
  161. package/dist/astro/routes/api/auth/signup/verify.d.mts +7 -0
  162. package/dist/astro/routes/api/auth/signup/verify.mjs +32 -0
  163. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.d.mts +14 -0
  164. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +193 -0
  165. package/dist/astro/routes/api/content/_collection_/_id_/compare.d.mts +7 -0
  166. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +17 -0
  167. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.d.mts +7 -0
  168. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +36 -0
  169. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.d.mts +7 -0
  170. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +39 -0
  171. package/dist/astro/routes/api/content/_collection_/_id_/permanent.d.mts +7 -0
  172. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +31 -0
  173. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.d.mts +7 -0
  174. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +78 -0
  175. package/dist/astro/routes/api/content/_collection_/_id_/publish.d.mts +7 -0
  176. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +92 -0
  177. package/dist/astro/routes/api/content/_collection_/_id_/restore.d.mts +7 -0
  178. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +36 -0
  179. package/dist/astro/routes/api/content/_collection_/_id_/revisions.d.mts +7 -0
  180. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +19 -0
  181. package/dist/astro/routes/api/content/_collection_/_id_/schedule.d.mts +8 -0
  182. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +75 -0
  183. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.d.mts +14 -0
  184. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +85 -0
  185. package/dist/astro/routes/api/content/_collection_/_id_/translations.d.mts +7 -0
  186. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +40 -0
  187. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.d.mts +7 -0
  188. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +36 -0
  189. package/dist/astro/routes/api/content/_collection_/_id_.d.mts +9 -0
  190. package/dist/astro/routes/api/content/_collection_/_id_.mjs +114 -0
  191. package/dist/astro/routes/api/content/_collection_/index.d.mts +8 -0
  192. package/dist/astro/routes/api/content/_collection_/index.mjs +74 -0
  193. package/dist/astro/routes/api/content/_collection_/trash.d.mts +7 -0
  194. package/dist/astro/routes/api/content/_collection_/trash.mjs +23 -0
  195. package/dist/astro/routes/api/dashboard.d.mts +7 -0
  196. package/dist/astro/routes/api/dashboard.mjs +26 -0
  197. package/dist/astro/routes/api/dev/emails.d.mts +8 -0
  198. package/dist/astro/routes/api/dev/emails.mjs +17 -0
  199. package/dist/astro/routes/api/health.d.mts +7 -0
  200. package/dist/astro/routes/api/health.mjs +34 -0
  201. package/dist/astro/routes/api/import/probe.d.mts +17 -0
  202. package/dist/astro/routes/api/import/probe.mjs +33 -0
  203. package/dist/astro/routes/api/import/wordpress/analyze.d.mts +87 -0
  204. package/dist/astro/routes/api/import/wordpress/analyze.mjs +305 -0
  205. package/dist/astro/routes/api/import/wordpress/execute.d.mts +37 -0
  206. package/dist/astro/routes/api/import/wordpress/execute.mjs +197 -0
  207. package/dist/astro/routes/api/import/wordpress/media.d.mts +35 -0
  208. package/dist/astro/routes/api/import/wordpress/media.mjs +222 -0
  209. package/dist/astro/routes/api/import/wordpress/prepare.d.mts +19 -0
  210. package/dist/astro/routes/api/import/wordpress/prepare.mjs +155 -0
  211. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +21 -0
  212. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +289 -0
  213. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +15 -0
  214. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +69 -0
  215. package/dist/astro/routes/api/import/wordpress-plugin/callback.d.mts +7 -0
  216. package/dist/astro/routes/api/import/wordpress-plugin/callback.mjs +28 -0
  217. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +19 -0
  218. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +268 -0
  219. package/dist/astro/routes/api/manifest.d.mts +7 -0
  220. package/dist/astro/routes/api/manifest.mjs +50 -0
  221. package/dist/astro/routes/api/mcp.d.mts +15 -0
  222. package/dist/astro/routes/api/mcp.mjs +2700 -0
  223. package/dist/astro/routes/api/media/_id_/confirm.d.mts +10 -0
  224. package/dist/astro/routes/api/media/_id_/confirm.mjs +59 -0
  225. package/dist/astro/routes/api/media/_id_.d.mts +22 -0
  226. package/dist/astro/routes/api/media/_id_.mjs +81 -0
  227. package/dist/astro/routes/api/media/file/_...key_.d.mts +7 -0
  228. package/dist/astro/routes/api/media/file/_...key_.mjs +49 -0
  229. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.d.mts +14 -0
  230. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +49 -0
  231. package/dist/astro/routes/api/media/providers/_providerId_/index.d.mts +14 -0
  232. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +72 -0
  233. package/dist/astro/routes/api/media/providers/index.d.mts +10 -0
  234. package/dist/astro/routes/api/media/providers/index.mjs +18 -0
  235. package/dist/astro/routes/api/media/upload-url.d.mts +10 -0
  236. package/dist/astro/routes/api/media/upload-url.mjs +82 -0
  237. package/dist/astro/routes/api/media.d.mts +16 -0
  238. package/dist/astro/routes/api/media.mjs +137 -0
  239. package/dist/astro/routes/api/menus/_name_/items.d.mts +9 -0
  240. package/{src/astro/routes/api/menus/[name]/items.ts → dist/astro/routes/api/menus/_name_/items.mjs} +63 -105
  241. package/dist/astro/routes/api/menus/_name_/reorder.d.mts +7 -0
  242. package/dist/astro/routes/api/menus/_name_/reorder.mjs +77 -0
  243. package/dist/astro/routes/api/menus/_name_.d.mts +9 -0
  244. package/dist/astro/routes/api/menus/_name_.mjs +123 -0
  245. package/dist/astro/routes/api/menus/index.d.mts +8 -0
  246. package/dist/astro/routes/api/menus/index.mjs +84 -0
  247. package/dist/astro/routes/api/oauth/authorize.d.mts +8 -0
  248. package/dist/astro/routes/api/oauth/authorize.mjs +265 -0
  249. package/dist/astro/routes/api/oauth/device/authorize.d.mts +7 -0
  250. package/dist/astro/routes/api/oauth/device/authorize.mjs +30 -0
  251. package/dist/astro/routes/api/oauth/device/code.d.mts +7 -0
  252. package/dist/astro/routes/api/oauth/device/code.mjs +34 -0
  253. package/dist/astro/routes/api/oauth/device/token.d.mts +7 -0
  254. package/dist/astro/routes/api/oauth/device/token.mjs +45 -0
  255. package/dist/astro/routes/api/oauth/register.d.mts +8 -0
  256. package/dist/astro/routes/api/oauth/register.mjs +115 -0
  257. package/dist/astro/routes/api/oauth/token/refresh.d.mts +7 -0
  258. package/dist/astro/routes/api/oauth/token/refresh.mjs +28 -0
  259. package/dist/astro/routes/api/oauth/token/revoke.d.mts +7 -0
  260. package/dist/astro/routes/api/oauth/token/revoke.mjs +25 -0
  261. package/dist/astro/routes/api/oauth/token.d.mts +8 -0
  262. package/dist/astro/routes/api/oauth/token.mjs +138 -0
  263. package/dist/astro/routes/api/openapi.json.d.mts +7 -0
  264. package/dist/astro/routes/api/openapi.json.mjs +2638 -0
  265. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.d.mts +11 -0
  266. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +77 -0
  267. package/dist/astro/routes/api/redirects/404s/index.d.mts +9 -0
  268. package/dist/astro/routes/api/redirects/404s/index.mjs +62 -0
  269. package/dist/astro/routes/api/redirects/404s/summary.d.mts +7 -0
  270. package/dist/astro/routes/api/redirects/404s/summary.mjs +34 -0
  271. package/dist/astro/routes/api/redirects/_id_.d.mts +9 -0
  272. package/dist/astro/routes/api/redirects/_id_.mjs +152 -0
  273. package/dist/astro/routes/api/redirects/index.d.mts +8 -0
  274. package/dist/astro/routes/api/redirects/index.mjs +97 -0
  275. package/dist/astro/routes/api/revisions/_revisionId_/index.d.mts +7 -0
  276. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +16 -0
  277. package/dist/astro/routes/api/revisions/_revisionId_/restore.d.mts +7 -0
  278. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +23 -0
  279. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.d.mts +9 -0
  280. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +98 -0
  281. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.d.mts +8 -0
  282. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +80 -0
  283. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.d.mts +7 -0
  284. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +67 -0
  285. package/dist/astro/routes/api/schema/collections/_slug_/index.d.mts +9 -0
  286. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +97 -0
  287. package/dist/astro/routes/api/schema/collections/index.d.mts +8 -0
  288. package/dist/astro/routes/api/schema/collections/index.mjs +77 -0
  289. package/dist/astro/routes/api/schema/index.d.mts +7 -0
  290. package/dist/astro/routes/api/schema/index.mjs +79 -0
  291. package/dist/astro/routes/api/schema/orphans/_slug_.d.mts +7 -0
  292. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +58 -0
  293. package/dist/astro/routes/api/schema/orphans/index.d.mts +7 -0
  294. package/dist/astro/routes/api/schema/orphans/index.mjs +53 -0
  295. package/dist/astro/routes/api/search/enable.d.mts +15 -0
  296. package/dist/astro/routes/api/search/enable.mjs +55 -0
  297. package/dist/astro/routes/api/search/index.d.mts +16 -0
  298. package/dist/astro/routes/api/search/index.mjs +52 -0
  299. package/dist/astro/routes/api/search/rebuild.d.mts +13 -0
  300. package/dist/astro/routes/api/search/rebuild.mjs +48 -0
  301. package/dist/astro/routes/api/search/stats.d.mts +10 -0
  302. package/dist/astro/routes/api/search/stats.mjs +28 -0
  303. package/dist/astro/routes/api/search/suggest.d.mts +15 -0
  304. package/dist/astro/routes/api/search/suggest.mjs +43 -0
  305. package/dist/astro/routes/api/sections/_slug_.d.mts +9 -0
  306. package/dist/astro/routes/api/sections/_slug_.mjs +156 -0
  307. package/dist/astro/routes/api/sections/index.d.mts +8 -0
  308. package/dist/astro/routes/api/sections/index.mjs +99 -0
  309. package/dist/astro/routes/api/settings/email.d.mts +17 -0
  310. package/dist/astro/routes/api/settings/email.mjs +102 -0
  311. package/dist/astro/routes/api/settings.d.mts +20 -0
  312. package/dist/astro/routes/api/settings.mjs +101 -0
  313. package/dist/astro/routes/api/setup/admin-verify.d.mts +7 -0
  314. package/dist/astro/routes/api/setup/admin-verify.mjs +67 -0
  315. package/dist/astro/routes/api/setup/admin.d.mts +7 -0
  316. package/dist/astro/routes/api/setup/admin.mjs +68 -0
  317. package/dist/astro/routes/api/setup/dev-bypass.d.mts +8 -0
  318. package/dist/astro/routes/api/setup/dev-bypass.mjs +137 -0
  319. package/dist/astro/routes/api/setup/dev-reset.d.mts +7 -0
  320. package/dist/astro/routes/api/setup/dev-reset.mjs +22 -0
  321. package/dist/astro/routes/api/setup/index.d.mts +7 -0
  322. package/dist/astro/routes/api/setup/index.mjs +93 -0
  323. package/dist/astro/routes/api/setup/status.d.mts +7 -0
  324. package/dist/astro/routes/api/setup/status.mjs +57 -0
  325. package/dist/astro/routes/api/snapshot.d.mts +7 -0
  326. package/dist/astro/routes/api/snapshot.mjs +227 -0
  327. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.d.mts +18 -0
  328. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +189 -0
  329. package/dist/astro/routes/api/taxonomies/_name_/terms/index.d.mts +14 -0
  330. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +113 -0
  331. package/dist/astro/routes/api/taxonomies/index.d.mts +14 -0
  332. package/dist/astro/routes/api/taxonomies/index.mjs +103 -0
  333. package/dist/astro/routes/api/themes/preview.d.mts +7 -0
  334. package/dist/astro/routes/api/themes/preview.mjs +47 -0
  335. package/dist/astro/routes/api/typegen.d.mts +17 -0
  336. package/dist/astro/routes/api/typegen.mjs +75 -0
  337. package/dist/astro/routes/api/well-known/auth.d.mts +7 -0
  338. package/dist/astro/routes/api/well-known/auth.mjs +42 -0
  339. package/dist/astro/routes/api/well-known/oauth-authorization-server.d.mts +7 -0
  340. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +33 -0
  341. package/dist/astro/routes/api/well-known/oauth-protected-resource.d.mts +7 -0
  342. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +21 -0
  343. package/dist/astro/routes/api/widget-areas/_name_/reorder.d.mts +7 -0
  344. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +88 -0
  345. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.d.mts +8 -0
  346. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +158 -0
  347. package/dist/astro/routes/api/widget-areas/_name_/widgets.d.mts +7 -0
  348. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +104 -0
  349. package/dist/astro/routes/api/widget-areas/_name_.d.mts +8 -0
  350. package/dist/astro/routes/api/widget-areas/_name_.mjs +99 -0
  351. package/dist/astro/routes/api/widget-areas/index.d.mts +8 -0
  352. package/dist/astro/routes/api/widget-areas/index.mjs +108 -0
  353. package/dist/astro/routes/api/widget-components.d.mts +7 -0
  354. package/dist/astro/routes/api/widget-components.mjs +15 -0
  355. package/dist/astro/routes/robots.txt.d.mts +7 -0
  356. package/dist/astro/routes/robots.txt.mjs +60 -0
  357. package/dist/astro/routes/sitemap-_collection_.xml.d.mts +7 -0
  358. package/dist/astro/routes/sitemap-_collection_.xml.mjs +70 -0
  359. package/dist/astro/routes/sitemap.xml.d.mts +7 -0
  360. package/dist/astro/routes/sitemap.xml.mjs +63 -0
  361. package/dist/astro/types.d.mts +41 -9
  362. package/dist/auth/providers/github-admin.d.mts +9 -0
  363. package/dist/auth/providers/github-admin.mjs +27 -0
  364. package/dist/auth/providers/github.d.mts +12 -0
  365. package/dist/auth/providers/github.mjs +17 -0
  366. package/dist/auth/providers/google-admin.d.mts +9 -0
  367. package/dist/auth/providers/google-admin.mjs +43 -0
  368. package/dist/auth/providers/google.d.mts +12 -0
  369. package/dist/auth/providers/google.mjs +17 -0
  370. package/dist/auth-control-guard-DKUe_1oa.mjs +13 -0
  371. package/dist/authorize-BBj8C6Y8.mjs +36 -0
  372. package/dist/briefing-BrXCuMEE.mjs +1294 -0
  373. package/dist/briefing-ClWw4mc9.mjs +29 -0
  374. package/dist/{byline-OhH2dlRu.mjs → byline-naZxOPSa.mjs} +3 -3
  375. package/dist/{bylines-BGpD9_hy.mjs → bylines-BcOPh6Ej.mjs} +20 -53
  376. package/dist/bylines-HfUKum_j.d.mts +2023 -0
  377. package/dist/{cache-BdSY-gQN.mjs → cache-DEbQ13c9.mjs} +21 -11
  378. package/dist/challenge-store-DHMgBGOq.mjs +48 -0
  379. package/dist/cli/index.mjs +142 -22
  380. package/dist/client/external-auth-headers.d.mts +1 -1
  381. package/dist/client/index.d.mts +1 -1
  382. package/dist/client/index.mjs +3 -3
  383. package/dist/comment-DFO-gWDH.mjs +246 -0
  384. package/dist/comments-Gy3zLBaP.mjs +186 -0
  385. package/dist/components-DND2rd3D.mjs +107 -0
  386. package/dist/{content-DWi4d0rT.mjs → content-CyLkb-qH.mjs} +33 -44
  387. package/dist/context-bE5Kyvcj.mjs +184 -0
  388. package/dist/context-nxMyOe3p.mjs +849 -0
  389. package/dist/context-route-helpers-D-6uCQ0S.mjs +45 -0
  390. package/dist/context-types-C-LwdAxx.mjs +23 -0
  391. package/dist/cron-DGzVTtJp.mjs +263 -0
  392. package/dist/dashboard-DqnYU8EU.mjs +120 -0
  393. package/dist/db/index.d.mts +3 -3
  394. package/dist/db/libsql.d.mts +1 -1
  395. package/dist/db/libsql.mjs +3 -3
  396. package/dist/db/postgres.d.mts +1 -1
  397. package/dist/db/sqlite.d.mts +1 -1
  398. package/dist/db/sqlite.mjs +1 -2
  399. package/dist/device-flow-7AhWNwCK.mjs +487 -0
  400. package/dist/email-console-CgLVZbcn.mjs +36 -0
  401. package/dist/entity-aliases-C0v-yNET.mjs +51 -0
  402. package/dist/error-DEGjx2Xw.mjs +435 -0
  403. package/dist/escape-mNZr4t2A.mjs +8 -0
  404. package/dist/experimental-workflows-DldxJlqV.mjs +38 -0
  405. package/dist/fts-manager-B1pTNEG_.mjs +297 -0
  406. package/dist/hash-CDX7M0ze.mjs +32 -0
  407. package/dist/hitl-requests-Bx3Bkk9l.mjs +118 -0
  408. package/dist/hitl-route-helpers-DMmJRS7B.mjs +96 -0
  409. package/dist/import-DD3f2jkc.mjs +243 -0
  410. package/dist/import-DVZcYlDp.mjs +1323 -0
  411. package/dist/index-CkljPf5F.d.mts +227 -0
  412. package/dist/index.d.mts +15 -11
  413. package/dist/index.mjs +60 -22
  414. package/dist/{loader-sMG4TZ-u.mjs → loader-PZnPxFLc.mjs} +42 -5
  415. package/dist/{manifest-schema-D1MSVnoI.mjs → manifest-schema-DYoCQ5np.mjs} +22 -10
  416. package/dist/media/index.d.mts +1 -1
  417. package/dist/media/index.mjs +2 -1
  418. package/dist/media/local-runtime.d.mts +11 -7
  419. package/dist/media/local-runtime.mjs +3 -3
  420. package/dist/{media-DMTr80Gv.mjs → media-_7Fxdu45.mjs} +1 -1
  421. package/dist/menus-BacxVCCo.mjs +312 -0
  422. package/dist/menus-CrzHokKj.mjs +3502 -0
  423. package/dist/normalize-C49G_o1k.mjs +126 -0
  424. package/dist/oauth-authorization-C1qiw4hd.mjs +283 -0
  425. package/dist/oauth-clients-CvWatf5p.mjs +298 -0
  426. package/dist/oauth-state-store-hSdzxsEe.mjs +48 -0
  427. package/dist/oauth-user-lookup-B4OcmsLV.mjs +25 -0
  428. package/dist/options-z8VVg1Ll.mjs +114 -0
  429. package/dist/page/index.d.mts +2 -2
  430. package/dist/parse-BeQXIt1U.mjs +88 -0
  431. package/dist/passkey-config-Daqs5fjq.mjs +42 -0
  432. package/dist/{patterns-CrCYkMBb.mjs → patterns-K0DLqWir.mjs} +53 -1
  433. package/dist/{placeholder-Cp8g5Emj.mjs → placeholder-C2P5fKa4.mjs} +1 -126
  434. package/dist/plugins/adapt-sandbox-entry.d.mts +9 -5
  435. package/dist/plugins/adapt-sandbox-entry.mjs +4 -4
  436. package/dist/preview-C_4DyVox.mjs +788 -0
  437. package/dist/public-url-BB_umF5G.mjs +71 -0
  438. package/dist/{query-kDmwCsHh.mjs → query-RiobVwB5.mjs} +93 -19
  439. package/dist/rate-limit-CbJoj_fT.mjs +112 -0
  440. package/dist/{redirect-DnEWAkVg.mjs → redirect-CGl64yOX.mjs} +9 -5
  441. package/dist/redirect-ClSmMOtC.mjs +16 -0
  442. package/dist/redirects-B69T59hK.mjs +499 -0
  443. package/dist/redirects-CqaxraTO.mjs +1070 -0
  444. package/dist/{registry-C0zjeB9P.mjs → registry-C-_hxLqa.mjs} +26 -294
  445. package/dist/request-meta-Bd0mQfiS.mjs +130 -0
  446. package/dist/review-requests-C2DIHwlJ.mjs +148 -0
  447. package/dist/review-requests-DIyjw-K_.mjs +79 -0
  448. package/dist/{runner-CFI6B6J2.d.mts → runner-9eIQXuc2.d.mts} +1 -1
  449. package/dist/{index-yvc6E_17.d.mts → runtime-C4-7y7xK.d.mts} +1539 -2007
  450. package/dist/runtime.d.mts +10 -6
  451. package/dist/runtime.mjs +3 -3
  452. package/dist/schema-BNpI53of.mjs +40 -0
  453. package/dist/search-DM6CVti3.mjs +337 -0
  454. package/dist/secrets-dI8zzTV7.mjs +160 -0
  455. package/dist/sections-DZFyAQXd.mjs +338 -0
  456. package/dist/seed/index.d.mts +2 -2
  457. package/dist/seed/index.mjs +18 -13
  458. package/dist/seo/index.d.mts +1 -1
  459. package/dist/seo-BBgTCOYU.mjs +85 -0
  460. package/dist/seo-CUQctrog.mjs +129 -0
  461. package/dist/service-CSfcQguB.mjs +194 -0
  462. package/dist/settings-4XnpVMOS.mjs +223 -0
  463. package/dist/settings-Bw93cLfe.mjs +50 -0
  464. package/dist/setup-complete-DidsDQ1e.mjs +21 -0
  465. package/dist/setup-nonce-pml1PMKo.mjs +17 -0
  466. package/dist/sidecar-client-vzwV98K4.mjs +66 -0
  467. package/dist/site-activity-B8FjLIVh.mjs +104 -0
  468. package/dist/site-context-Bpu_Paur.mjs +4122 -0
  469. package/dist/site-url-CYIcO0Tj.mjs +12 -0
  470. package/dist/slugify-PDTDtMXp.mjs +30 -0
  471. package/dist/ssrf-CmM76lLV.mjs +248 -0
  472. package/dist/storage/local.d.mts +1 -1
  473. package/dist/storage/local.mjs +1 -1
  474. package/dist/storage/s3.d.mts +1 -1
  475. package/dist/storage/s3.mjs +2 -2
  476. package/dist/{taxonomies-1s5PaS_8.mjs → taxonomies-BvBgfzn3.mjs} +11 -7
  477. package/dist/taxonomies-CpqGcIJD.mjs +355 -0
  478. package/dist/taxonomy-D5cbhc8u.mjs +165 -0
  479. package/dist/{tokens-CJz9ubV6.mjs → tokens-DLTo4dO2.mjs} +1 -1
  480. package/dist/{transport-DB5eDN4x.mjs → transport-C9e_h-BF.mjs} +5 -4
  481. package/dist/trusted-proxy-Bi0Cuk5n.mjs +30 -0
  482. package/dist/{types-BawVha09.mjs → types-Bs6lTBBW.mjs} +1 -1
  483. package/dist/types-C982qI5I.d.mts +344 -0
  484. package/dist/types-D4XVOt01.d.mts +165 -0
  485. package/dist/{types-Cj0KMIZV.d.mts → types-DgfUZqcd.d.mts} +54 -16
  486. package/dist/{types-BuMDPy5C.d.mts → types-IPACEM14.d.mts} +6 -0
  487. package/dist/user-CcXq-zoL.mjs +154 -0
  488. package/dist/utils-D2in-zwy.mjs +285 -0
  489. package/dist/{validate-BZ5wnLLp.mjs → validate-BJgA6TW_.mjs} +1 -1
  490. package/dist/{validate-IPf8n4Fj.d.mts → validate-JCZihRIa.d.mts} +3 -3
  491. package/dist/version-DH53KCQd.mjs +6 -0
  492. package/dist/widgets-B7Q_7bxN.mjs +104 -0
  493. package/dist/wordpress-slugs-BevajWrC.mjs +14 -0
  494. package/dist/zod-generator-DBVP8D0P.mjs +132 -0
  495. package/locals.d.ts +1 -6
  496. package/package.json +96 -41
  497. package/src/components/DinewayHead.astro +8 -4
  498. package/src/components/DinewayImage.astro +7 -5
  499. package/src/components/DinewayMedia.astro +9 -3
  500. package/src/components/Gallery.astro +5 -3
  501. package/src/components/Image.astro +5 -1
  502. package/src/components/InlinePortableTextEditor.tsx +68 -19
  503. package/dist/error-BmL6QipT.mjs +0 -30
  504. package/dist/search-Hlm6g8Td.mjs +0 -11200
  505. package/dist/version-DxxaFHZ_.mjs +0 -6
  506. package/src/astro/routes/PluginRegistry.tsx +0 -21
  507. package/src/astro/routes/api/admin/allowed-domains/[domain].ts +0 -112
  508. package/src/astro/routes/api/admin/allowed-domains/index.ts +0 -108
  509. package/src/astro/routes/api/admin/api-tokens/[id].ts +0 -44
  510. package/src/astro/routes/api/admin/api-tokens/index.ts +0 -90
  511. package/src/astro/routes/api/admin/briefing.ts +0 -76
  512. package/src/astro/routes/api/admin/bylines/[id]/index.ts +0 -90
  513. package/src/astro/routes/api/admin/bylines/index.ts +0 -74
  514. package/src/astro/routes/api/admin/comments/[id]/status.ts +0 -120
  515. package/src/astro/routes/api/admin/comments/[id].ts +0 -64
  516. package/src/astro/routes/api/admin/comments/bulk.ts +0 -42
  517. package/src/astro/routes/api/admin/comments/counts.ts +0 -30
  518. package/src/astro/routes/api/admin/comments/index.ts +0 -46
  519. package/src/astro/routes/api/admin/context/[id]/history.ts +0 -35
  520. package/src/astro/routes/api/admin/context/[id]/index.ts +0 -35
  521. package/src/astro/routes/api/admin/context/[id]/review.ts +0 -57
  522. package/src/astro/routes/api/admin/context/[id]/supersede.ts +0 -58
  523. package/src/astro/routes/api/admin/context/diff.ts +0 -35
  524. package/src/astro/routes/api/admin/context/index.ts +0 -69
  525. package/src/astro/routes/api/admin/context/stale.ts +0 -35
  526. package/src/astro/routes/api/admin/hitl-requests/[id]/index.ts +0 -38
  527. package/src/astro/routes/api/admin/hitl-requests/[id]/resolve.ts +0 -54
  528. package/src/astro/routes/api/admin/hitl-requests/index.ts +0 -38
  529. package/src/astro/routes/api/admin/hooks/exclusive/[hookName].ts +0 -132
  530. package/src/astro/routes/api/admin/hooks/exclusive/index.ts +0 -51
  531. package/src/astro/routes/api/admin/oauth-clients/[id].ts +0 -137
  532. package/src/astro/routes/api/admin/oauth-clients/index.ts +0 -95
  533. package/src/astro/routes/api/admin/plugins/[id]/disable.ts +0 -91
  534. package/src/astro/routes/api/admin/plugins/[id]/enable.ts +0 -91
  535. package/src/astro/routes/api/admin/plugins/[id]/index.ts +0 -38
  536. package/src/astro/routes/api/admin/plugins/[id]/uninstall.ts +0 -98
  537. package/src/astro/routes/api/admin/plugins/[id]/update.ts +0 -154
  538. package/src/astro/routes/api/admin/plugins/index.ts +0 -32
  539. package/src/astro/routes/api/admin/plugins/marketplace/[id]/icon.ts +0 -62
  540. package/src/astro/routes/api/admin/plugins/marketplace/[id]/index.ts +0 -33
  541. package/src/astro/routes/api/admin/plugins/marketplace/[id]/install.ts +0 -135
  542. package/src/astro/routes/api/admin/plugins/marketplace/index.ts +0 -38
  543. package/src/astro/routes/api/admin/plugins/updates.ts +0 -28
  544. package/src/astro/routes/api/admin/review-requests/[id]/index.ts +0 -35
  545. package/src/astro/routes/api/admin/review-requests/[id]/resolve.ts +0 -52
  546. package/src/astro/routes/api/admin/review-requests/index.ts +0 -35
  547. package/src/astro/routes/api/admin/themes/marketplace/[id]/index.ts +0 -33
  548. package/src/astro/routes/api/admin/themes/marketplace/[id]/thumbnail.ts +0 -62
  549. package/src/astro/routes/api/admin/themes/marketplace/index.ts +0 -45
  550. package/src/astro/routes/api/admin/users/[id]/disable.ts +0 -72
  551. package/src/astro/routes/api/admin/users/[id]/enable.ts +0 -48
  552. package/src/astro/routes/api/admin/users/[id]/index.ts +0 -166
  553. package/src/astro/routes/api/admin/users/[id]/send-recovery.ts +0 -72
  554. package/src/astro/routes/api/admin/users/index.ts +0 -66
  555. package/src/astro/routes/api/auth/dev-bypass.ts +0 -139
  556. package/src/astro/routes/api/auth/invite/accept.ts +0 -52
  557. package/src/astro/routes/api/auth/invite/complete.ts +0 -86
  558. package/src/astro/routes/api/auth/invite/index.ts +0 -99
  559. package/src/astro/routes/api/auth/invite/register-options.ts +0 -73
  560. package/src/astro/routes/api/auth/logout.ts +0 -40
  561. package/src/astro/routes/api/auth/magic-link/send.ts +0 -90
  562. package/src/astro/routes/api/auth/magic-link/verify.ts +0 -71
  563. package/src/astro/routes/api/auth/me.ts +0 -60
  564. package/src/astro/routes/api/auth/oauth/[provider]/callback.ts +0 -221
  565. package/src/astro/routes/api/auth/oauth/[provider].ts +0 -120
  566. package/src/astro/routes/api/auth/passkey/[id].ts +0 -124
  567. package/src/astro/routes/api/auth/passkey/index.ts +0 -54
  568. package/src/astro/routes/api/auth/passkey/options.ts +0 -85
  569. package/src/astro/routes/api/auth/passkey/register/options.ts +0 -88
  570. package/src/astro/routes/api/auth/passkey/register/verify.ts +0 -119
  571. package/src/astro/routes/api/auth/passkey/verify.ts +0 -72
  572. package/src/astro/routes/api/auth/signup/complete.ts +0 -87
  573. package/src/astro/routes/api/auth/signup/request.ts +0 -89
  574. package/src/astro/routes/api/auth/signup/verify.ts +0 -53
  575. package/src/astro/routes/api/comments/[collection]/[contentId]/index.ts +0 -310
  576. package/src/astro/routes/api/content/[collection]/[id]/compare.ts +0 -28
  577. package/src/astro/routes/api/content/[collection]/[id]/discard-draft.ts +0 -68
  578. package/src/astro/routes/api/content/[collection]/[id]/duplicate.ts +0 -77
  579. package/src/astro/routes/api/content/[collection]/[id]/permanent.ts +0 -42
  580. package/src/astro/routes/api/content/[collection]/[id]/preview-url.ts +0 -107
  581. package/src/astro/routes/api/content/[collection]/[id]/publish.ts +0 -100
  582. package/src/astro/routes/api/content/[collection]/[id]/restore.ts +0 -64
  583. package/src/astro/routes/api/content/[collection]/[id]/revisions.ts +0 -31
  584. package/src/astro/routes/api/content/[collection]/[id]/schedule.ts +0 -129
  585. package/src/astro/routes/api/content/[collection]/[id]/terms/[taxonomy].ts +0 -143
  586. package/src/astro/routes/api/content/[collection]/[id]/translations.ts +0 -50
  587. package/src/astro/routes/api/content/[collection]/[id]/unpublish.ts +0 -69
  588. package/src/astro/routes/api/content/[collection]/[id].ts +0 -173
  589. package/src/astro/routes/api/content/[collection]/index.ts +0 -103
  590. package/src/astro/routes/api/content/[collection]/trash.ts +0 -33
  591. package/src/astro/routes/api/dashboard.ts +0 -32
  592. package/src/astro/routes/api/dev/emails.ts +0 -36
  593. package/src/astro/routes/api/health.ts +0 -54
  594. package/src/astro/routes/api/import/probe.ts +0 -47
  595. package/src/astro/routes/api/import/wordpress/analyze.ts +0 -523
  596. package/src/astro/routes/api/import/wordpress/execute.ts +0 -330
  597. package/src/astro/routes/api/import/wordpress/media.ts +0 -338
  598. package/src/astro/routes/api/import/wordpress/prepare.ts +0 -212
  599. package/src/astro/routes/api/import/wordpress/rewrite-urls.ts +0 -425
  600. package/src/astro/routes/api/import/wordpress-plugin/analyze.ts +0 -111
  601. package/src/astro/routes/api/import/wordpress-plugin/callback.ts +0 -58
  602. package/src/astro/routes/api/import/wordpress-plugin/execute.ts +0 -399
  603. package/src/astro/routes/api/manifest.ts +0 -75
  604. package/src/astro/routes/api/mcp.ts +0 -125
  605. package/src/astro/routes/api/media/[id]/confirm.ts +0 -93
  606. package/src/astro/routes/api/media/[id].ts +0 -145
  607. package/src/astro/routes/api/media/file/[...key].ts +0 -79
  608. package/src/astro/routes/api/media/providers/[providerId]/[itemId].ts +0 -91
  609. package/src/astro/routes/api/media/providers/[providerId]/index.ts +0 -111
  610. package/src/astro/routes/api/media/providers/index.ts +0 -30
  611. package/src/astro/routes/api/media/upload-url.ts +0 -146
  612. package/src/astro/routes/api/media.ts +0 -204
  613. package/src/astro/routes/api/menus/[name]/reorder.ts +0 -79
  614. package/src/astro/routes/api/menus/[name].ts +0 -145
  615. package/src/astro/routes/api/menus/index.ts +0 -91
  616. package/src/astro/routes/api/oauth/authorize.ts +0 -430
  617. package/src/astro/routes/api/oauth/device/authorize.ts +0 -45
  618. package/src/astro/routes/api/oauth/device/code.ts +0 -56
  619. package/src/astro/routes/api/oauth/device/token.ts +0 -70
  620. package/src/astro/routes/api/oauth/register.ts +0 -182
  621. package/src/astro/routes/api/oauth/token/refresh.ts +0 -38
  622. package/src/astro/routes/api/oauth/token/revoke.ts +0 -38
  623. package/src/astro/routes/api/oauth/token.ts +0 -195
  624. package/src/astro/routes/api/openapi.json.ts +0 -33
  625. package/src/astro/routes/api/plugins/[pluginId]/[...path].ts +0 -109
  626. package/src/astro/routes/api/redirects/404s/index.ts +0 -72
  627. package/src/astro/routes/api/redirects/404s/summary.ts +0 -33
  628. package/src/astro/routes/api/redirects/[id].ts +0 -183
  629. package/src/astro/routes/api/redirects/index.ts +0 -100
  630. package/src/astro/routes/api/revisions/[revisionId]/index.ts +0 -29
  631. package/src/astro/routes/api/revisions/[revisionId]/restore.ts +0 -62
  632. package/src/astro/routes/api/schema/collections/[slug]/fields/[fieldSlug].ts +0 -104
  633. package/src/astro/routes/api/schema/collections/[slug]/fields/index.ts +0 -67
  634. package/src/astro/routes/api/schema/collections/[slug]/fields/reorder.ts +0 -45
  635. package/src/astro/routes/api/schema/collections/[slug]/index.ts +0 -107
  636. package/src/astro/routes/api/schema/collections/index.ts +0 -61
  637. package/src/astro/routes/api/schema/index.ts +0 -109
  638. package/src/astro/routes/api/schema/orphans/[slug].ts +0 -36
  639. package/src/astro/routes/api/schema/orphans/index.ts +0 -26
  640. package/src/astro/routes/api/search/enable.ts +0 -64
  641. package/src/astro/routes/api/search/index.ts +0 -52
  642. package/src/astro/routes/api/search/rebuild.ts +0 -72
  643. package/src/astro/routes/api/search/stats.ts +0 -35
  644. package/src/astro/routes/api/search/suggest.ts +0 -50
  645. package/src/astro/routes/api/sections/[slug].ts +0 -203
  646. package/src/astro/routes/api/sections/index.ts +0 -107
  647. package/src/astro/routes/api/settings/email.ts +0 -150
  648. package/src/astro/routes/api/settings.ts +0 -116
  649. package/src/astro/routes/api/setup/admin-verify.ts +0 -122
  650. package/src/astro/routes/api/setup/admin.ts +0 -104
  651. package/src/astro/routes/api/setup/dev-bypass.ts +0 -200
  652. package/src/astro/routes/api/setup/dev-reset.ts +0 -40
  653. package/src/astro/routes/api/setup/index.ts +0 -128
  654. package/src/astro/routes/api/setup/status.ts +0 -122
  655. package/src/astro/routes/api/snapshot.ts +0 -76
  656. package/src/astro/routes/api/taxonomies/[name]/terms/[slug].ts +0 -232
  657. package/src/astro/routes/api/taxonomies/[name]/terms/index.ts +0 -131
  658. package/src/astro/routes/api/taxonomies/index.ts +0 -114
  659. package/src/astro/routes/api/themes/preview.ts +0 -78
  660. package/src/astro/routes/api/typegen.ts +0 -114
  661. package/src/astro/routes/api/well-known/auth.ts +0 -71
  662. package/src/astro/routes/api/well-known/oauth-authorization-server.ts +0 -48
  663. package/src/astro/routes/api/well-known/oauth-protected-resource.ts +0 -39
  664. package/src/astro/routes/api/widget-areas/[name]/reorder.ts +0 -114
  665. package/src/astro/routes/api/widget-areas/[name]/widgets/[id].ts +0 -213
  666. package/src/astro/routes/api/widget-areas/[name]/widgets.ts +0 -126
  667. package/src/astro/routes/api/widget-areas/[name].ts +0 -135
  668. package/src/astro/routes/api/widget-areas/index.ts +0 -149
  669. package/src/astro/routes/api/widget-components.ts +0 -22
  670. package/src/astro/routes/robots.txt.ts +0 -81
  671. package/src/astro/routes/sitemap-[collection].xml.ts +0 -104
  672. package/src/astro/routes/sitemap.xml.ts +0 -92
  673. /package/dist/{adapters-C2ypTrZZ.d.mts → adapters-BLDldpJg.d.mts} +0 -0
  674. /package/{src → dist}/astro/routes/admin.astro +0 -0
  675. /package/dist/{base64-F8-DUraK.mjs → base64-Cz-aU0X1.mjs} +0 -0
  676. /package/dist/{chunks--4F8ddV4.mjs → chunks-D_jVet6z.mjs} +0 -0
  677. /package/dist/{config-BXwuX8Bx.mjs → config-CAMFxGaV.mjs} +0 -0
  678. /package/dist/{db-errors-CEqD7qH9.mjs → db-errors-DKUg_NgF.mjs} +0 -0
  679. /package/dist/{default-VjJyuuG9.mjs → default-C3PZN-bz.mjs} +0 -0
  680. /package/dist/{load-Coc9HpHH.mjs → load-D-9NhLmF.mjs} +0 -0
  681. /package/dist/{mode-47goXBBK.mjs → mode-C80mAZQv.mjs} +0 -0
  682. /package/dist/{placeholder--wOi4TbO.d.mts → placeholder-CHkLckzK.d.mts} +0 -0
  683. /package/dist/{request-cache-Dk5qPSOx.mjs → request-cache-DHMRr2Lf.mjs} +0 -0
  684. /package/dist/{transaction-Cn2rjY78.mjs → transaction-x2tJQ-A1.mjs} +0 -0
  685. /package/dist/{transport-Wge_IzKl.d.mts → transport-6RefuBdV.d.mts} +0 -0
  686. /package/dist/{types-griIBQOQ.mjs → types-B9gKVOHk.mjs} +0 -0
  687. /package/dist/{types-CWbdtiux.d.mts → types-B9qVtiHb.d.mts} +0 -0
  688. /package/dist/{types-COeOq9nK.mjs → types-DL7Y8D_t.mjs} +0 -0
  689. /package/dist/{types-BzcUjoqg.d.mts → types-Djdp0cZO.d.mts} +0 -0
  690. /package/dist/{types-DOrVigru.d.mts → types-Du8jreyC.d.mts} +0 -0
@@ -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 };