dineway 0.1.49 → 0.2.1

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 (434) hide show
  1. package/dist/activity-DUaz_w7p.mjs +79 -0
  2. package/dist/{activity-events-CwM7yxPW.mjs → activity-events-CJDvE2uc.mjs} +5 -113
  3. package/dist/actor-0QJ1Gbtf.mjs +37 -0
  4. package/dist/after-BfniwgIf.mjs +9 -0
  5. package/dist/{allowed-origins-CyGnbgBd.mjs → allowed-origins--OwHHiY8.mjs} +1 -1
  6. package/dist/api/route-utils.d.mts +9 -10
  7. package/dist/api/route-utils.mjs +16 -13
  8. package/dist/api/schemas/index.d.mts +2 -2
  9. package/dist/api/schemas/index.mjs +5 -4
  10. package/dist/{api-BMIxRIEN.mjs → api-B4PHIF4V.mjs} +93 -41
  11. package/dist/{api-tokens-DtvdtIkm.mjs → api-tokens-tbK_sORH.mjs} +6 -2
  12. package/dist/{apply-D_RlTYtC.mjs → apply-DjTqq6Ae.mjs} +117 -77
  13. package/dist/astro/image-endpoint.d.mts +7 -0
  14. package/dist/astro/image-endpoint.mjs +54 -0
  15. package/dist/astro/index.d.mts +34 -11
  16. package/dist/astro/index.mjs +163 -24
  17. package/dist/astro/integration/shims/use-sync-external-store-with-selector.js +71 -0
  18. package/dist/astro/integration/shims/use-sync-external-store.js +1 -0
  19. package/dist/astro/middleware/auth.d.mts +8 -18
  20. package/dist/astro/middleware/auth.mjs +42 -24
  21. package/dist/astro/middleware/redirect.mjs +13 -4
  22. package/dist/astro/middleware/request-context.mjs +8 -5
  23. package/dist/astro/middleware/seed.d.mts +1 -1
  24. package/dist/astro/middleware/seed.mjs +2 -2
  25. package/dist/astro/middleware/setup.mjs +1 -1
  26. package/dist/astro/middleware.mjs +389 -206
  27. package/dist/astro/routes/admin.astro +6 -1
  28. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +7 -6
  29. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +7 -6
  30. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +4 -4
  31. package/dist/astro/routes/api/admin/api-tokens/index.mjs +6 -6
  32. package/dist/astro/routes/api/admin/briefing.mjs +21 -17
  33. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +4 -4
  34. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +9 -8
  35. package/dist/astro/routes/api/admin/byline-fields/index.mjs +9 -8
  36. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +9 -8
  37. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +17 -14
  38. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +17 -14
  39. package/dist/astro/routes/api/admin/bylines/index.mjs +17 -14
  40. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +14 -12
  41. package/dist/astro/routes/api/admin/comments/_id_.mjs +6 -5
  42. package/dist/astro/routes/api/admin/comments/bulk.mjs +11 -9
  43. package/dist/astro/routes/api/admin/comments/counts.mjs +6 -5
  44. package/dist/astro/routes/api/admin/comments/index.mjs +11 -9
  45. package/dist/astro/routes/api/admin/context/_id_/history.mjs +27 -24
  46. package/dist/astro/routes/api/admin/context/_id_/index.mjs +27 -24
  47. package/dist/astro/routes/api/admin/context/_id_/review.mjs +32 -28
  48. package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +32 -28
  49. package/dist/astro/routes/api/admin/context/diff.mjs +31 -27
  50. package/dist/astro/routes/api/admin/context/index.mjs +32 -28
  51. package/dist/astro/routes/api/admin/context/stale.mjs +31 -27
  52. package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +27 -24
  53. package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +31 -27
  54. package/dist/astro/routes/api/admin/hitl-requests/index.mjs +31 -27
  55. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +28 -25
  56. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +3 -3
  57. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +6 -6
  58. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +6 -6
  59. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +56 -51
  60. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +56 -51
  61. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +47 -43
  62. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +54 -49
  63. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +53 -48
  64. package/dist/astro/routes/api/admin/plugins/index.mjs +47 -43
  65. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +2 -2
  66. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +46 -42
  67. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +53 -48
  68. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +46 -42
  69. package/dist/astro/routes/api/admin/plugins/updates.mjs +46 -42
  70. package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +5 -5
  71. package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +32 -63
  72. package/dist/astro/routes/api/admin/review-requests/index.d.mts +2 -1
  73. package/dist/astro/routes/api/admin/review-requests/index.mjs +58 -10
  74. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +46 -42
  75. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +2 -2
  76. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +46 -42
  77. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +3 -3
  78. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +2 -2
  79. package/dist/astro/routes/api/admin/users/_id_/index.mjs +8 -7
  80. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +4 -4
  81. package/dist/astro/routes/api/admin/users/index.mjs +7 -6
  82. package/dist/astro/routes/api/auth/dev-bypass.mjs +4 -4
  83. package/dist/astro/routes/api/auth/invite/accept.mjs +2 -2
  84. package/dist/astro/routes/api/auth/invite/complete.mjs +12 -11
  85. package/dist/astro/routes/api/auth/invite/index.mjs +9 -8
  86. package/dist/astro/routes/api/auth/invite/register-options.mjs +11 -10
  87. package/dist/astro/routes/api/auth/logout.mjs +2 -2
  88. package/dist/astro/routes/api/auth/magic-link/send.mjs +11 -10
  89. package/dist/astro/routes/api/auth/magic-link/verify.mjs +3 -3
  90. package/dist/astro/routes/api/auth/me.mjs +9 -8
  91. package/dist/astro/routes/api/auth/mode.mjs +1 -1
  92. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +3 -3
  93. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
  94. package/dist/astro/routes/api/auth/passkey/_id_.mjs +6 -5
  95. package/dist/astro/routes/api/auth/passkey/index.mjs +1 -1
  96. package/dist/astro/routes/api/auth/passkey/options.mjs +12 -11
  97. package/dist/astro/routes/api/auth/passkey/register/options.mjs +10 -9
  98. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +11 -10
  99. package/dist/astro/routes/api/auth/passkey/verify.mjs +11 -10
  100. package/dist/astro/routes/api/auth/setup-token/index.mjs +5 -5
  101. package/dist/astro/routes/api/auth/setup-token/verify.mjs +2 -2
  102. package/dist/astro/routes/api/auth/signup/complete.mjs +12 -11
  103. package/dist/astro/routes/api/auth/signup/request.mjs +11 -10
  104. package/dist/astro/routes/api/auth/signup/verify.mjs +2 -2
  105. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +15 -13
  106. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.d.mts +8 -0
  107. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +160 -0
  108. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +2 -2
  109. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +6 -5
  110. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +6 -5
  111. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +6 -5
  112. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +11 -10
  113. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +49 -20
  114. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +6 -5
  115. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +2 -2
  116. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +67 -32
  117. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +16 -14
  118. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +2 -2
  119. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +6 -5
  120. package/dist/astro/routes/api/content/_collection_/_id_.mjs +11 -9
  121. package/dist/astro/routes/api/content/_collection_/authors.mjs +2 -2
  122. package/dist/astro/routes/api/content/_collection_/index.mjs +11 -9
  123. package/dist/astro/routes/api/content/_collection_/trash.mjs +7 -6
  124. package/dist/astro/routes/api/dashboard.mjs +9 -8
  125. package/dist/astro/routes/api/dev/emails.mjs +2 -2
  126. package/dist/astro/routes/api/health.mjs +1 -1
  127. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  128. package/dist/astro/routes/api/import/probe.mjs +22 -10
  129. package/dist/astro/routes/api/import/wordpress/analyze.mjs +9 -6
  130. package/dist/astro/routes/api/import/wordpress/execute.d.mts +18 -1
  131. package/dist/astro/routes/api/import/wordpress/execute.mjs +85 -37
  132. package/dist/astro/routes/api/import/wordpress/media.d.mts +12 -1
  133. package/dist/astro/routes/api/import/wordpress/media.mjs +20 -14
  134. package/dist/astro/routes/api/import/wordpress/prepare.mjs +36 -32
  135. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +17 -1
  136. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +121 -100
  137. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  138. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +24 -12
  139. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +55 -2
  140. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +284 -55
  141. package/dist/astro/routes/api/manifest.mjs +14 -5
  142. package/dist/astro/routes/api/mcp.mjs +753 -170
  143. package/dist/astro/routes/api/media/_id_/confirm.mjs +38 -10
  144. package/dist/astro/routes/api/media/_id_.mjs +11 -7
  145. package/dist/astro/routes/api/media/file/_...key_.mjs +1 -1
  146. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +2 -2
  147. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +2 -2
  148. package/dist/astro/routes/api/media/providers/index.mjs +2 -2
  149. package/dist/astro/routes/api/media/upload-url.mjs +11 -10
  150. package/dist/astro/routes/api/media.mjs +28 -35
  151. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +32 -28
  152. package/dist/astro/routes/api/menus/_name_/items.mjs +32 -28
  153. package/dist/astro/routes/api/menus/_name_/reorder.mjs +32 -28
  154. package/dist/astro/routes/api/menus/_name_/translations.mjs +32 -28
  155. package/dist/astro/routes/api/menus/_name_.mjs +32 -28
  156. package/dist/astro/routes/api/menus/index.mjs +32 -28
  157. package/dist/astro/routes/api/oauth/authorize.mjs +7 -7
  158. package/dist/astro/routes/api/oauth/device/authorize.mjs +6 -6
  159. package/dist/astro/routes/api/oauth/device/code.mjs +9 -9
  160. package/dist/astro/routes/api/oauth/device/token.mjs +8 -8
  161. package/dist/astro/routes/api/oauth/register.mjs +4 -4
  162. package/dist/astro/routes/api/oauth/token/refresh.mjs +6 -6
  163. package/dist/astro/routes/api/oauth/token/revoke.mjs +6 -6
  164. package/dist/astro/routes/api/oauth/token.mjs +6 -6
  165. package/dist/astro/routes/api/openapi.json.mjs +4 -3
  166. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +46 -31
  167. package/dist/astro/routes/api/redirects/404s/index.mjs +11 -10
  168. package/dist/astro/routes/api/redirects/404s/summary.mjs +11 -10
  169. package/dist/astro/routes/api/redirects/_id_.mjs +33 -29
  170. package/dist/astro/routes/api/redirects/index.mjs +33 -29
  171. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +2 -2
  172. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +2 -2
  173. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +48 -43
  174. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +48 -43
  175. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +48 -43
  176. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +48 -43
  177. package/dist/astro/routes/api/schema/collections/index.mjs +48 -43
  178. package/dist/astro/routes/api/schema/index.mjs +14 -15
  179. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +46 -42
  180. package/dist/astro/routes/api/schema/orphans/index.mjs +46 -42
  181. package/dist/astro/routes/api/search/enable.mjs +11 -10
  182. package/dist/astro/routes/api/search/index.mjs +10 -9
  183. package/dist/astro/routes/api/search/rebuild.mjs +11 -10
  184. package/dist/astro/routes/api/search/stats.mjs +6 -6
  185. package/dist/astro/routes/api/search/suggest.mjs +10 -9
  186. package/dist/astro/routes/api/sections/_slug_.mjs +32 -28
  187. package/dist/astro/routes/api/sections/index.mjs +32 -28
  188. package/dist/astro/routes/api/settings/email.mjs +4 -4
  189. package/dist/astro/routes/api/settings.mjs +32 -28
  190. package/dist/astro/routes/api/setup/admin-verify.mjs +14 -13
  191. package/dist/astro/routes/api/setup/admin.mjs +12 -11
  192. package/dist/astro/routes/api/setup/dev-bypass.mjs +31 -25
  193. package/dist/astro/routes/api/setup/dev-reset.mjs +2 -2
  194. package/dist/astro/routes/api/setup/index.mjs +29 -25
  195. package/dist/astro/routes/api/setup/status.mjs +3 -3
  196. package/dist/astro/routes/api/snapshot.mjs +8 -7
  197. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +35 -31
  198. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +35 -31
  199. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +35 -31
  200. package/dist/astro/routes/api/taxonomies/index.mjs +35 -31
  201. package/dist/astro/routes/api/themes/preview.mjs +5 -5
  202. package/dist/astro/routes/api/typegen.mjs +4 -4
  203. package/dist/astro/routes/api/well-known/auth.mjs +3 -3
  204. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +3 -3
  205. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +3 -3
  206. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +31 -27
  207. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +32 -28
  208. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +32 -28
  209. package/dist/astro/routes/api/widget-areas/_name_.mjs +29 -26
  210. package/dist/astro/routes/api/widget-areas/index.mjs +32 -28
  211. package/dist/astro/routes/api/widget-components.mjs +2 -2
  212. package/dist/astro/routes/robots.txt.mjs +8 -7
  213. package/dist/astro/routes/sitemap-_collection_.xml.mjs +23 -14
  214. package/dist/astro/routes/sitemap.xml.mjs +9 -8
  215. package/dist/astro/session-driver.d.mts +1 -1
  216. package/dist/astro/session-driver.mjs +2 -2
  217. package/dist/astro/types.d.mts +22 -13
  218. package/dist/{audit-BeNsSyfU.mjs → audit-B2pRxZ20.mjs} +1 -1
  219. package/dist/auth/providers/github.d.mts +1 -1
  220. package/dist/auth/providers/google.d.mts +1 -1
  221. package/dist/{auth-control-guard-Dr14I98m.mjs → auth-control-guard-D71jourk.mjs} +1 -1
  222. package/dist/{authorize-BLO0m7fW.mjs → authorize-ZXPGPwKn.mjs} +1 -1
  223. package/dist/{briefing-CkTee1ex.mjs → briefing-0rf-su3-.mjs} +90 -28
  224. package/dist/{briefing-DJX6irto.mjs → briefing-kRhegBoF.mjs} +2 -1
  225. package/dist/bundle-CEcdUa1s.mjs +602 -0
  226. package/dist/{byline-BVC1lV6G.mjs → byline-7xR185Ly.mjs} +30 -62
  227. package/dist/{byline-fields-Cj39WhXC.mjs → byline-fields-BKzA0fJU.mjs} +1 -1
  228. package/dist/{byline-fields-uJlygdzM.d.mts → byline-fields-Ckeqd1OY.d.mts} +88 -35
  229. package/dist/{byline-fields-cNrLJVRs.mjs → byline-fields-WN7RQT4q.mjs} +10 -4
  230. package/dist/{byline-registry-4v6tXMNX.mjs → byline-registry-Ba54M74c.mjs} +2 -2
  231. package/dist/{bylines-LN9XISRo.mjs → bylines-C-EL6dh3.mjs} +9 -3
  232. package/dist/{bylines-DwokOFj6.mjs → bylines-CmZFCMr0.mjs} +5 -5
  233. package/dist/{cache-Bac05gBd.mjs → cache-DkVCKGio.mjs} +2 -2
  234. package/dist/{chunks-CuUt7K50.mjs → chunks-ChGNDY8r.mjs} +1 -1
  235. package/dist/cli/index.d.mts +29 -1
  236. package/dist/cli/index.mjs +1466 -1763
  237. package/dist/cli/plugin-kit.d.mts +75 -0
  238. package/dist/cli/plugin-kit.mjs +4 -0
  239. package/dist/client/external-auth-headers.d.mts +1 -1
  240. package/dist/client/index.d.mts +27 -52
  241. package/dist/client/index.mjs +34 -6
  242. package/dist/client-factory-BDD9azPJ.mjs +233 -0
  243. package/dist/{comment-Beue8-15.mjs → comment-DFALgsJD.mjs} +13 -3
  244. package/dist/comment-reaction-C37bf99u.mjs +58 -0
  245. package/dist/{comments-DcjFIfqX.mjs → comments-B3NwDBxl.mjs} +1 -1
  246. package/dist/{content-CBxYGWfL.mjs → content-DJcAYFhz.mjs} +51 -34
  247. package/dist/content-refresh-B4ZCmxgd.mjs +1576 -0
  248. package/dist/{context-Df1xVYyr.mjs → context-DnpXcp6Y.mjs} +2 -2
  249. package/dist/{context-CQVNZaR8.mjs → context-fSCYLL3c.mjs} +125 -53
  250. package/dist/{context-route-helpers-B9wj8Rmh.mjs → context-route-helpers-CI8XzcsK.mjs} +2 -1
  251. package/dist/{cron-DxCAU_Sn.mjs → cron-B1SL_lsb.mjs} +7 -3
  252. package/dist/{dashboard-B7ZUNuyF.mjs → dashboard-D0nj5oWg.mjs} +4 -4
  253. package/dist/db/index.d.mts +3 -3
  254. package/dist/db/index.mjs +1 -1
  255. package/dist/db/libsql.d.mts +1 -1
  256. package/dist/db/postgres.d.mts +1 -1
  257. package/dist/db/sqlite.d.mts +1 -1
  258. package/dist/{device-flow-BZVGftqi.mjs → device-flow-BJe6VEhP.mjs} +5 -5
  259. package/dist/{placeholder-d54Qr_7n.mjs → enrich-Ck9tfMqe.mjs} +36 -9
  260. package/dist/{error-DCSuUAZW.mjs → error-CSVaQNZy.mjs} +5 -0
  261. package/dist/{experimental-workflows-CSMffP6q.mjs → experimental-workflows-GVhUgzEs.mjs} +1 -1
  262. package/dist/field-defs-cache-DL-T2XVS.mjs +49 -0
  263. package/dist/forgeway-seo-client-G5ddhVHd.mjs +456 -0
  264. package/dist/{fts-manager-B5l_qwrA.mjs → fts-manager-ewTGohf4.mjs} +1 -1
  265. package/dist/{hitl-requests-7NlzVeUA.mjs → hitl-requests-DEFj8e6u.mjs} +2 -2
  266. package/dist/{hitl-route-helpers-k---_H3-.mjs → hitl-route-helpers-C23JHaWz.mjs} +5 -4
  267. package/dist/import-CXXL5pip.mjs +1354 -0
  268. package/dist/index-DcnOCD1e.d.mts +375 -0
  269. package/dist/index.d.mts +15 -16
  270. package/dist/index.mjs +85 -70
  271. package/dist/{jsonld-DZ67souc.d.mts → jsonld-DzKbhRZ4.d.mts} +8 -4
  272. package/dist/{load-D9OiGr2m.mjs → load-CFtJRT3c.mjs} +1 -1
  273. package/dist/{loader--GOYux8M.mjs → loader-aWkkc1_o.mjs} +117 -31
  274. package/dist/{manifest-schema-qh2P7RDX.mjs → manifest-schema-uA6pRFXi.mjs} +38 -1
  275. package/dist/mcp-reviewed-executor-Dn52L_yY.mjs +558 -0
  276. package/dist/media/image-endpoint.d.mts +32 -0
  277. package/dist/media/image-endpoint.mjs +111 -0
  278. package/dist/media/index.d.mts +27 -2
  279. package/dist/media/index.mjs +5 -3
  280. package/dist/media/local-runtime.d.mts +15 -11
  281. package/dist/media/local-runtime.mjs +9 -7
  282. package/dist/{media-CbKyYukG.mjs → media-CVMOoywq.mjs} +3 -1
  283. package/dist/{media-allowlist-BYxJIcTO.mjs → media-allowlist-zDNJmXCo.mjs} +1 -1
  284. package/dist/media-url-BdoLPvg8.mjs +20 -0
  285. package/dist/{menus-C7F0sCrC.mjs → menus-CCG2z5um.mjs} +80 -15
  286. package/dist/{menus-BZbXf-ej.mjs → menus-CmyIkRG5.mjs} +19 -5
  287. package/dist/{normalize-ByemhhfW.mjs → normalize-Cyt7JdF7.mjs} +8 -1
  288. package/dist/{oauth-authorization-DF-LCsIA.mjs → oauth-authorization-B9H7X85L.mjs} +5 -5
  289. package/dist/{oauth-clients-Du-V0fEm.mjs → oauth-clients-Dwl32-Uj.mjs} +2 -2
  290. package/dist/object-cache/memory.d.mts +14 -0
  291. package/dist/object-cache/memory.mjs +55 -0
  292. package/dist/object-cache-D51qOseS.mjs +419 -0
  293. package/dist/output-DhBe5_Pi.mjs +68 -0
  294. package/dist/page/index.d.mts +10 -3
  295. package/dist/page/index.mjs +2 -2
  296. package/dist/{parse-CneSgl7-.mjs → parse-i15EFSAE.mjs} +1 -1
  297. package/dist/{parser-DxfsARXL.mjs → parser-06LLLL4E.mjs} +151 -9
  298. package/dist/{placeholder-CXfoCtCd.d.mts → placeholder-DkWkXfDI.d.mts} +12 -4
  299. package/dist/plugin-utils.d.mts +8 -9
  300. package/dist/plugins/adapt-sandbox-entry.d.mts +8 -9
  301. package/dist/plugins/adapt-sandbox-entry.mjs +13 -2
  302. package/dist/{plugins-DzfqRREq.mjs → plugins-CPA2PtfY.mjs} +919 -66
  303. package/dist/{transport-LSdZVXHF.mjs → portable-text-BASHceim.mjs} +1 -134
  304. package/dist/portable-text-E79LyjGo.d.mts +45 -0
  305. package/dist/{preview-C-3YTX2U.mjs → preview-BjedZm8G.mjs} +4 -3
  306. package/dist/process-cache-CCDgti7j.mjs +106 -0
  307. package/dist/project-env-DKibmuP8.mjs +95 -0
  308. package/dist/{provider-loader-9it4vd6L.d.mts → provider-loader-DC2JdWeO.d.mts} +1 -1
  309. package/dist/{public-url-B4xV4rGa.d.mts → public-url-DQJCnYi9.d.mts} +1 -1
  310. package/dist/publication-authorization-RKiHXKtq.mjs +985 -0
  311. package/dist/{query-CZ3TH_Uu.mjs → query-C2U5u5_p.mjs} +11 -6
  312. package/dist/{query-Ds0EnMFX.mjs → query-DEv5x6yB.mjs} +281 -76
  313. package/dist/{rate-limit-i0G3IAOX.mjs → rate-limit-DglsAJSw.mjs} +2 -2
  314. package/dist/{redirect-CEACczxo.mjs → redirect-ubhEqQCQ.mjs} +2 -2
  315. package/dist/{redirects-ocRJmQHP.mjs → redirects-Bhpm8bRe.mjs} +35 -19
  316. package/dist/{redirects-DYj1yPxs.mjs → redirects-xs2yahLq.mjs} +47 -24
  317. package/dist/{registry-D7HACema.mjs → registry-BYYyb2tF.mjs} +148 -81
  318. package/dist/request-context.d.mts +2 -0
  319. package/dist/{request-meta-DAb6xaP9.mjs → request-meta-CFe1tW2M.mjs} +1 -1
  320. package/dist/review-payload-BysRWpxS.mjs +111 -0
  321. package/dist/{review-requests-BW2NxY-l.mjs → review-requests-CTWGnWUt.mjs} +1 -1
  322. package/dist/review-requests-D42VEP1l.mjs +142 -0
  323. package/dist/review-route-helpers-C31vO6SI.mjs +41 -0
  324. package/dist/runner-BgmttQmD.mjs +7444 -0
  325. package/dist/{runner-09sTqtv0.d.mts → runner-D6hzs8L9.d.mts} +1 -1
  326. package/dist/runtime.d.mts +9 -10
  327. package/dist/runtime.mjs +3 -3
  328. package/dist/schema-DUtnZxjZ.mjs +8 -0
  329. package/dist/{search-Gdrqj582.mjs → search-DUKgZUlm.mjs} +5 -3
  330. package/dist/{secrets-CeGpBFV2.mjs → secrets-ZV5rd8yV.mjs} +14 -11
  331. package/dist/{sections-BOjU13Y-.mjs → sections-DvFgsnda.mjs} +2 -2
  332. package/dist/seed/index.d.mts +2 -2
  333. package/dist/seed/index.mjs +21 -18
  334. package/dist/seo/index.d.mts +1 -1
  335. package/dist/seo/index.mjs +3 -12
  336. package/dist/{seo-5lJOtB5J.mjs → seo-BLszyJxd.mjs} +22 -4
  337. package/dist/{seo-CLj8lS7Q.mjs → seo-BU8MLCS9.mjs} +5 -2
  338. package/dist/{seo-contributions-CqVvReEj.mjs → seo-contributions-GnCuL1ML.mjs} +11 -3
  339. package/dist/{service-jGlhrICs.mjs → service-FL3fB0Rx.mjs} +2 -2
  340. package/dist/session-user-Ct6GBLvn.mjs +22 -0
  341. package/dist/{settings-CUXOxzsT.mjs → settings-BECcAIRH.mjs} +28 -55
  342. package/dist/{settings-DlBsT2VS.mjs → settings-EzADu-dd.mjs} +2 -2
  343. package/dist/{setup-complete-BRrdPYjZ.mjs → setup-complete-Da0axZEE.mjs} +1 -1
  344. package/dist/{site-activity-DONFrMBJ.mjs → site-activity-h8smOlYI.mjs} +1 -1
  345. package/dist/{site-context-C8Az_P_I.mjs → site-context-B8T1kpUP.mjs} +337 -530
  346. package/dist/{site-url-DIMD68go.mjs → site-url-DJEid0ml.mjs} +1 -1
  347. package/dist/stable-hash-DshcXvRE.mjs +19 -0
  348. package/dist/status-NqWOSFAD.mjs +21 -0
  349. package/dist/storage/local.d.mts +1 -1
  350. package/dist/storage/local.mjs +1 -1
  351. package/dist/storage/s3.d.mts +1 -1
  352. package/dist/storage/s3.mjs +1 -1
  353. package/dist/{taxonomies-D9Sw4wWM.mjs → taxonomies-BiM9NtgW.mjs} +36 -29
  354. package/dist/taxonomies-DSnY5nOa.mjs +443 -0
  355. package/dist/{taxonomy-B169Nm6B.mjs → taxonomy-0k_vRVsD.mjs} +44 -9
  356. package/dist/transport-C46KHLMP.mjs +134 -0
  357. package/dist/types-A8fPOJnl.mjs +69 -0
  358. package/dist/types-BLQCz46p.d.mts +118 -0
  359. package/dist/{types-CwawBUTa.d.mts → types-B_FlxIIl.d.mts} +4 -1
  360. package/dist/{types-CSgR9nQB.mjs → types-ChxYDRvx.mjs} +1 -1
  361. package/dist/{types-GaCtZ1k9.d.mts → types-Cw0PeCT_.d.mts} +18 -0
  362. package/dist/types-DuQn1G7-.d.mts +2973 -0
  363. package/dist/{runtime-C4-2lSFg.d.mts → types-DwoUifGE.d.mts} +5668 -3000
  364. package/dist/{types-DRIKLmJI.d.mts → types-opjX_kz6.d.mts} +17 -2
  365. package/dist/ui/server-runtime.d.mts +13 -15
  366. package/dist/ui/server-runtime.mjs +24 -20
  367. package/dist/url-guoXQQcV.mjs +33 -0
  368. package/dist/{user-DTLoZs16.mjs → user-BH-n01y3.mjs} +2 -2
  369. package/dist/{utils-B8hBJ9Oz.mjs → utils-D1SrKGtP.mjs} +129 -7
  370. package/dist/{validate-DzjCdy6v.d.mts → validate-CbVFoJgc.d.mts} +65 -8
  371. package/dist/{validate-DWmPO6oj.mjs → validate-D1HL-oLR.mjs} +11 -6
  372. package/dist/version-C3iVRuaF.mjs +6 -0
  373. package/dist/{widgets-BpJ8EpPd.mjs → widgets-BZrLrNgS.mjs} +46 -43
  374. package/dist/{wordpress-slugs-DHNR9LpG.mjs → wordpress-slugs-C3PWcowq.mjs} +1 -1
  375. package/dist/{zod-generator-K91-g665.mjs → zod-generator-C7AsLpSB.mjs} +42 -14
  376. package/package.json +38 -8
  377. package/src/components/Block.astro +50 -0
  378. package/src/components/Comments.astro +143 -1
  379. package/src/components/DinewayHead.astro +19 -2
  380. package/src/components/DinewayImage.astro +66 -33
  381. package/src/components/DinewayMedia.astro +1 -2
  382. package/src/components/Image.astro +85 -40
  383. package/src/components/InlinePortableTextEditor.tsx +12 -2
  384. package/src/components/JsonLdScript.astro +9 -0
  385. package/src/components/LiveSearch.astro +40 -4
  386. package/src/components/index.ts +4 -0
  387. package/src/components/live-search-routing.ts +30 -0
  388. package/src/components/portable-text-text-align.ts +15 -0
  389. package/src/ui.ts +2 -0
  390. package/dist/entity-aliases-4y93Yjuc.mjs +0 -51
  391. package/dist/import-4YBXbDkI.mjs +0 -684
  392. package/dist/index-CZiWCQDp.d.mts +0 -227
  393. package/dist/review-requests-Qum4713s.mjs +0 -79
  394. package/dist/runner-DzIpHGND.mjs +0 -2836
  395. package/dist/schema-Bsi-VpYv.mjs +0 -8
  396. package/dist/taxonomies-CZ-_DitR.mjs +0 -327
  397. package/dist/types-CuJOqHfM.d.mts +0 -758
  398. package/dist/types-DSPGWjxO.d.mts +0 -1247
  399. package/dist/types-nP9vGUFq.d.mts +0 -56
  400. package/dist/version-C4gfn0PJ.mjs +0 -6
  401. /package/dist/{adapters-OQCImOL7.d.mts → adapters-BiRymx02.d.mts} +0 -0
  402. /package/dist/{api-tokens-CYUoFGo7.mjs → api-tokens-Ypaly90d.mjs} +0 -0
  403. /package/dist/{challenge-store-DFxX0_15.mjs → challenge-store-D5pSY2S1.mjs} +0 -0
  404. /package/dist/{components--pg6zBvu.mjs → components-DImzlLhb.mjs} +0 -0
  405. /package/dist/{context-types-r8oFvyOq.mjs → context-types-eBuMDAg-.mjs} +0 -0
  406. /package/dist/{default-B6iaLvP7.mjs → default-D4Vygcy_.mjs} +0 -0
  407. /package/dist/{email-console-BOVqIYpB.mjs → email-console-Bp0r68iF.mjs} +0 -0
  408. /package/dist/{escape-BDgouFFY.mjs → escape-DN4Qmjsl.mjs} +0 -0
  409. /package/dist/{hash-BPmX6P8I.mjs → hash-mxxx2oPW.mjs} +0 -0
  410. /package/dist/{mime-CbKsKDCB.mjs → mime-C0vOHFm7.mjs} +0 -0
  411. /package/dist/{mode-CZqCF9dZ.mjs → mode-C8yZnIlR.mjs} +0 -0
  412. /package/dist/{oauth-state-store-qncPB_IU.mjs → oauth-state-store-CndT35iw.mjs} +0 -0
  413. /package/dist/{oauth-user-lookup-BFjWF8wK.mjs → oauth-user-lookup-CMehAaKs.mjs} +0 -0
  414. /package/dist/{options-LsPjZlqD.mjs → options-DQPTH5n0.mjs} +0 -0
  415. /package/dist/{passkey-config-DzHQK90v.mjs → passkey-config-NYukYGed.mjs} +0 -0
  416. /package/dist/{patterns-DKAX6oqN.mjs → patterns-CoqlXUvk.mjs} +0 -0
  417. /package/dist/{provider-loader-DzUxejk7.mjs → provider-loader-BtfrrzfD.mjs} +0 -0
  418. /package/dist/{public-url-B_m9IwdV.mjs → public-url-Cp6hyjVR.mjs} +0 -0
  419. /package/dist/{redirect-BjIBtDWY.mjs → redirect-DrbEmU9a.mjs} +0 -0
  420. /package/dist/{request-cache-ho99schz.mjs → request-cache-CBFjCwSt.mjs} +0 -0
  421. /package/dist/{resolve-DTuDyYKs.mjs → resolve-DE71WcL9.mjs} +0 -0
  422. /package/dist/{setup-nonce-pyGfc9hV.mjs → setup-nonce-BtkKnvxQ.mjs} +0 -0
  423. /package/dist/{sidecar-client-mJxwayYN.mjs → sidecar-client-Ctzfyyp-.mjs} +0 -0
  424. /package/dist/{slugify-BqebcqBg.mjs → slugify-KSsVD_D3.mjs} +0 -0
  425. /package/dist/{ssrf-DiKqWd3N.mjs → ssrf-FJqwQzj4.mjs} +0 -0
  426. /package/dist/{tokens-SLmgowfd.mjs → tokens-BDQU29Vd.mjs} +0 -0
  427. /package/dist/{transaction-CFLhEOuH.mjs → transaction-0LEAAy8R.mjs} +0 -0
  428. /package/dist/{transport-BnsNxh2l.d.mts → transport-D9pKAzFP.d.mts} +0 -0
  429. /package/dist/{trusted-proxy-BgIIcbsN.mjs → trusted-proxy-Dm7Mxvt6.mjs} +0 -0
  430. /package/dist/{types-CJ8DkL0q.mjs → types-B7TDDFMG.mjs} +0 -0
  431. /package/dist/{types-Dryvv7LH.d.mts → types-g0zMtraY.d.mts} +0 -0
  432. /package/dist/{types-Cg276-3z.mjs → types-mVVgRPaU.mjs} +0 -0
  433. /package/dist/{types-DZpT-PnG.d.mts → types-wFu80FrO.d.mts} +0 -0
  434. /package/dist/{url-w7Mp5qAD.mjs → url-EMAguGVk.mjs} +0 -0
@@ -1,4 +1,4 @@
1
- import { c as CustomFieldValue } from "./types-CwawBUTa.mjs";
1
+ import { c as CustomFieldValue } from "./types-B_FlxIIl.mjs";
2
2
 
3
3
  //#region src/database/repositories/types.d.ts
4
4
  interface CreateContentInput {
@@ -52,6 +52,14 @@ interface BylineSummary {
52
52
  avatarStorageKey?: string | null;
53
53
  /** Avatar media alt text from the same media join. */
54
54
  avatarAlt?: string | null;
55
+ /**
56
+ * Avatar media blurhash placeholder from the same media join. Null when
57
+ * the byline has no avatar, the avatar has no placeholder, or the byline
58
+ * was loaded through a plain finder that does not join media.
59
+ */
60
+ avatarBlurhash?: string | null;
61
+ /** Avatar media dominant color placeholder from the same media join. */
62
+ avatarDominantColor?: string | null;
55
63
  websiteUrl: string | null;
56
64
  userId: string | null;
57
65
  isGuest: boolean;
@@ -97,6 +105,13 @@ interface FindManyResult<T> {
97
105
  nextCursor?: string;
98
106
  total?: number;
99
107
  }
108
+ /** Encode a cursor from order value + id */
109
+ declare function encodeCursor(orderValue: string, id: string): string;
110
+ /** Decode a cursor to order value + id. Returns null if invalid. */
111
+ declare function decodeCursor(cursor: string): {
112
+ orderValue: string;
113
+ id: string;
114
+ } | null;
100
115
  interface ContentItem {
101
116
  id: string;
102
117
  type: string;
@@ -128,4 +143,4 @@ declare class ScheduledNotDueError extends Error {
128
143
  constructor();
129
144
  }
130
145
  //#endregion
131
- export { ContentSeo as a, DinewayValidationError as c, ScheduledNotDueError as d, UpdateContentInput as f, ContentItem as i, FindManyOptions as l, ContentBylineCredit as n, ContentSeoInput as o, ContentDateField as r, CreateContentInput as s, BylineSummary as t, FindManyResult as u };
146
+ export { ContentSeo as a, DinewayValidationError as c, ScheduledNotDueError as d, UpdateContentInput as f, ContentItem as i, FindManyOptions as l, encodeCursor as m, ContentBylineCredit as n, ContentSeoInput as o, decodeCursor as p, ContentDateField as r, CreateContentInput as s, BylineSummary as t, FindManyResult as u };
@@ -1,18 +1,16 @@
1
- import { C as getWidgetArea, Fn as getEditMeta, Nn as getDinewayCollection, Wn as sanitizeHref, X as getMenu, br as getCollectionInfo, hi as PublicComment, j as Widget, lt as getComments, pt as getSiteSettings, z as getTaxonomyTerms } from "../runtime-C4-2lSFg.mjs";
2
- import "../types-CuJOqHfM.mjs";
3
- import { A as PageMetadataContribution, q as PublicPageContext } from "../types-DSPGWjxO.mjs";
4
- import "../types-Dryvv7LH.mjs";
5
- import { _ as MediaValue, c as EmbedResult, l as ImageEmbed, s as EmbedOptions } from "../placeholder-CXfoCtCd.mjs";
6
- import "../runner-09sTqtv0.mjs";
7
- import "../index-CZiWCQDp.mjs";
8
- import { t as MediaReference } from "../types-nP9vGUFq.mjs";
9
- import "../byline-fields-uJlygdzM.mjs";
10
- import "../types-GaCtZ1k9.mjs";
11
- import "../validate-DzjCdy6v.mjs";
12
- import { t as getPublicOrigin } from "../public-url-B4xV4rGa.mjs";
13
- import { a as generateSiteSeoContributions, d as resolvePageMetadata, i as generateBaseSeoContributions, o as renderFragments, u as renderPageMetadata } from "../jsonld-DZ67souc.mjs";
1
+ import { D as PageMetadataContribution, Ea as getCollectionInfo, Ii as getEditMeta, Ln as getComments, Pi as getDinewayCollection, Vn as getSiteSettings, Zo as PublicComment, Zt as getWidgetArea, an as Widget, gt as PublicPageContext, pn as getTaxonomyTerms, ra as sanitizeHref, wn as getMenu } from "../types-DwoUifGE.mjs";
2
+ import "../types-DuQn1G7-.mjs";
3
+ import { _ as MediaValue, c as EmbedResult, l as ImageEmbed, s as EmbedOptions } from "../placeholder-DkWkXfDI.mjs";
4
+ import "../runner-D6hzs8L9.mjs";
5
+ import "../index-DcnOCD1e.mjs";
6
+ import "../types-g0zMtraY.mjs";
7
+ import { x as MediaReference } from "../validate-CbVFoJgc.mjs";
8
+ import "../byline-fields-Ckeqd1OY.mjs";
9
+ import "../types-Cw0PeCT_.mjs";
10
+ import { t as getPublicOrigin } from "../public-url-DQJCnYi9.mjs";
11
+ import { a as generateSiteSeoContributions, c as ResolvedPageMetadata, d as renderPageMetadata, f as resolvePageMetadata, i as generateBaseSeoContributions, l as createSha256CspHash, o as renderFragments } from "../jsonld-DzKbhRZ4.mjs";
14
12
  import { getPageRuntime } from "../page/index.mjs";
15
- import { t as getMediaProvider } from "../provider-loader-9it4vd6L.mjs";
13
+ import { t as getMediaProvider } from "../provider-loader-DC2JdWeO.mjs";
16
14
 
17
15
  //#region src/utils/sanitize.d.ts
18
16
  /**
@@ -87,4 +85,4 @@ interface SiteIdentityInput {
87
85
  }
88
86
  declare function renderSiteIdentity(input: SiteIdentityInput | undefined): string;
89
87
  //#endregion
90
- export { type EmbedOptions, type EmbedResult, type GetImage, type ImageEmbed, type MediaValue, type PageMetadataContribution, type PublicComment, type PublicPageContext, RESPONSIVE_BREAKPOINTS, type Widget, absolutizeMediaUrl, buildRenderMediaUrl, buildResponsiveImage, generateBaseSeoContributions, generateSiteSeoContributions, getCollectionInfo, getComments, getDinewayCollection, getEditMeta, getMediaProvider, getMenu, getPageRuntime, getPublicOrigin, getSiteSettings, getTaxonomyTerms, getWidgetArea, renderFragments, renderPageMetadata, renderSiteIdentity, resolvePageMetadata, sanitizeContent, sanitizeHref, toAbsoluteMediaUrl };
88
+ export { type EmbedOptions, type EmbedResult, type GetImage, type ImageEmbed, type MediaValue, type PageMetadataContribution, type PublicComment, type PublicPageContext, RESPONSIVE_BREAKPOINTS, type ResolvedPageMetadata, type Widget, absolutizeMediaUrl, buildRenderMediaUrl, buildResponsiveImage, createSha256CspHash, generateBaseSeoContributions, generateSiteSeoContributions, getCollectionInfo, getComments, getDinewayCollection, getEditMeta, getMediaProvider, getMenu, getPageRuntime, getPublicOrigin, getSiteSettings, getTaxonomyTerms, getWidgetArea, renderFragments, renderPageMetadata, renderSiteIdentity, resolvePageMetadata, sanitizeContent, sanitizeHref, toAbsoluteMediaUrl };
@@ -1,24 +1,28 @@
1
1
  import "../dialect-helpers-fk43GbDb.mjs";
2
2
  import "../base64-F8-DUraK.mjs";
3
- import "../types-CSgR9nQB.mjs";
4
- import "../loader--GOYux8M.mjs";
5
- import "../media-CbKyYukG.mjs";
6
- import "../comment-Beue8-15.mjs";
7
- import "../options-LsPjZlqD.mjs";
8
- import "../request-cache-ho99schz.mjs";
9
- import "../fts-manager-B5l_qwrA.mjs";
10
- import "../registry-D7HACema.mjs";
11
- import { i as getSiteSettings, s as buildRenderMediaUrl } from "../settings-CUXOxzsT.mjs";
12
- import { t as getCollectionInfo } from "../query-CZ3TH_Uu.mjs";
13
- import "../resolve-DTuDyYKs.mjs";
14
- import { a as getTaxonomyTerms } from "../taxonomies-CZ-_DitR.mjs";
15
- import { n as sanitizeHref } from "../url-w7Mp5qAD.mjs";
16
- import { r as getEditMeta, t as getDinewayCollection } from "../query-Ds0EnMFX.mjs";
17
- import { i as getComments, t as getMenu } from "../menus-C7F0sCrC.mjs";
18
- import { t as getWidgetArea } from "../widgets-BpJ8EpPd.mjs";
19
- import { t as getMediaProvider } from "../provider-loader-DzUxejk7.mjs";
20
- import { n as getPublicOrigin } from "../public-url-B_m9IwdV.mjs";
21
- import { c as escapeHtmlAttr, l as renderPageMetadata, n as generateSiteSeoContributions, o as renderFragments, t as generateBaseSeoContributions, u as resolvePageMetadata } from "../seo-contributions-CqVvReEj.mjs";
3
+ import "../types-ChxYDRvx.mjs";
4
+ import "../loader-aWkkc1_o.mjs";
5
+ import "../object-cache-D51qOseS.mjs";
6
+ import "../media-CVMOoywq.mjs";
7
+ import "../comment-DFALgsJD.mjs";
8
+ import "../options-DQPTH5n0.mjs";
9
+ import "../request-cache-CBFjCwSt.mjs";
10
+ import "../content-refresh-B4ZCmxgd.mjs";
11
+ import "../fts-manager-ewTGohf4.mjs";
12
+ import "../registry-BYYyb2tF.mjs";
13
+ import { n as buildRenderMediaUrl } from "../url-guoXQQcV.mjs";
14
+ import { i as getSiteSettings } from "../settings-BECcAIRH.mjs";
15
+ import { t as getCollectionInfo } from "../query-C2U5u5_p.mjs";
16
+ import "../resolve-DE71WcL9.mjs";
17
+ import { a as getTaxonomyTerms } from "../taxonomies-DSnY5nOa.mjs";
18
+ import { n as sanitizeHref } from "../url-EMAguGVk.mjs";
19
+ import { r as getEditMeta, t as getDinewayCollection } from "../query-DEv5x6yB.mjs";
20
+ import "../comment-reaction-C37bf99u.mjs";
21
+ import { i as getComments, t as getMenu } from "../menus-CCG2z5um.mjs";
22
+ import { t as getWidgetArea } from "../widgets-BZrLrNgS.mjs";
23
+ import { t as getMediaProvider } from "../provider-loader-BtfrrzfD.mjs";
24
+ import { n as getPublicOrigin } from "../public-url-Cp6hyjVR.mjs";
25
+ import { c as createSha256CspHash, d as resolvePageMetadata, l as escapeHtmlAttr, n as generateSiteSeoContributions, o as renderFragments, t as generateBaseSeoContributions, u as renderPageMetadata } from "../seo-contributions-GnCuL1ML.mjs";
22
26
  import { getPageRuntime } from "../page/index.mjs";
23
27
  import sanitizeHtml from "sanitize-html";
24
28
 
@@ -201,4 +205,4 @@ function renderSiteIdentity(input) {
201
205
  }
202
206
 
203
207
  //#endregion
204
- export { RESPONSIVE_BREAKPOINTS, absolutizeMediaUrl, buildRenderMediaUrl, buildResponsiveImage, generateBaseSeoContributions, generateSiteSeoContributions, getCollectionInfo, getComments, getDinewayCollection, getEditMeta, getMediaProvider, getMenu, getPageRuntime, getPublicOrigin, getSiteSettings, getTaxonomyTerms, getWidgetArea, renderFragments, renderPageMetadata, renderSiteIdentity, resolvePageMetadata, sanitizeContent, sanitizeHref, toAbsoluteMediaUrl };
208
+ export { RESPONSIVE_BREAKPOINTS, absolutizeMediaUrl, buildRenderMediaUrl, buildResponsiveImage, createSha256CspHash, generateBaseSeoContributions, generateSiteSeoContributions, getCollectionInfo, getComments, getDinewayCollection, getEditMeta, getMediaProvider, getMenu, getPageRuntime, getPublicOrigin, getSiteSettings, getTaxonomyTerms, getWidgetArea, renderFragments, renderPageMetadata, renderSiteIdentity, resolvePageMetadata, sanitizeContent, sanitizeHref, toAbsoluteMediaUrl };
@@ -0,0 +1,33 @@
1
+ //#region src/media/url.ts
2
+ const INTERNAL_MEDIA_PREFIX = "/_dineway/api/media/file/";
3
+ const SAFE_STORAGE_KEY = /^[A-Za-z0-9._-]+$/;
4
+ function addInternalMediaUrl(item) {
5
+ return {
6
+ ...item,
7
+ url: `${INTERNAL_MEDIA_PREFIX}${item.storageKey.split("/").map((segment) => encodeURIComponent(segment)).join("/")}`
8
+ };
9
+ }
10
+ function resolvePublicMediaUrl(storage, storageKey) {
11
+ if (!storageKey) return "";
12
+ if (storage) return storage.getPublicUrl(storageKey);
13
+ return `${INTERNAL_MEDIA_PREFIX}${storageKey}`;
14
+ }
15
+ function createPublicMediaUrlResolver(storage) {
16
+ return (key) => resolvePublicMediaUrl(storage, key);
17
+ }
18
+ function buildRenderMediaUrl(resolve, ref) {
19
+ const { storageKey, url, id } = ref;
20
+ if (storageKey) return resolve ? resolve(storageKey) : `${INTERNAL_MEDIA_PREFIX}${storageKey}`;
21
+ if (url) {
22
+ if (resolve && url.startsWith(INTERNAL_MEDIA_PREFIX)) {
23
+ const key = url.slice(25);
24
+ if (SAFE_STORAGE_KEY.test(key)) return resolve(key);
25
+ }
26
+ return url;
27
+ }
28
+ if (id) return `${INTERNAL_MEDIA_PREFIX}${id}`;
29
+ return "";
30
+ }
31
+
32
+ //#endregion
33
+ export { resolvePublicMediaUrl as i, buildRenderMediaUrl as n, createPublicMediaUrlResolver as r, addInternalMediaUrl as t };
@@ -1,5 +1,5 @@
1
- import { i as encodeCursor, r as decodeCursor } from "./types-CSgR9nQB.mjs";
2
- import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-CuUt7K50.mjs";
1
+ import { i as encodeCursor, r as decodeCursor } from "./types-ChxYDRvx.mjs";
2
+ import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-ChGNDY8r.mjs";
3
3
  import { ulid } from "ulidx";
4
4
 
5
5
  //#region src/database/repositories/user.ts
@@ -1,12 +1,8 @@
1
- import { n as slugify } from "./slugify-BqebcqBg.mjs";
1
+ import { n as slugify } from "./slugify-KSsVD_D3.mjs";
2
+ import { o as RESERVED_FIELD_SLUGS } from "./types-B7TDDFMG.mjs";
2
3
  import mime from "mime/lite";
3
4
 
4
5
  //#region src/import/utils.ts
5
- /**
6
- * Shared import utilities
7
- *
8
- * Common constants and functions used across all WordPress import sources.
9
- */
10
6
  /** Internal WordPress post types that should be excluded from import */
11
7
  const INTERNAL_POST_TYPES = [
12
8
  "revision",
@@ -26,6 +22,10 @@ const INTERNAL_META_PREFIXES = ["_edit_", "_wp_"];
26
22
  const NUMERIC_PATTERN = /^-?\d+(\.\d+)?$/;
27
23
  const TRAILING_SLASHES = /\/+$/;
28
24
  const WP_JSON_SUFFIX = /\/wp-json\/?.*$/;
25
+ const REGEX_SPECIALS = /[.*+?^${}()|[\]\\]/g;
26
+ const LEADING_WWW = /^www\./;
27
+ const INVALID_FIELD_SLUG_CHARS = /[^a-z0-9_]+/g;
28
+ const LEADING_NON_ALPHA_CHARS = /^[^a-z]+/;
29
29
  /** Specific internal meta keys */
30
30
  const INTERNAL_META_KEYS = [
31
31
  "_edit_last",
@@ -33,6 +33,46 @@ const INTERNAL_META_KEYS = [
33
33
  "_pingme",
34
34
  "_encloseme"
35
35
  ];
36
+ /** Plugin meta prefixes that are operational/bookkeeping data, not content fields */
37
+ const PLUGIN_META_PREFIXES = [
38
+ "aawp_",
39
+ "algolia_",
40
+ "amazon_polly_",
41
+ "ampforwp_",
42
+ "classifai_",
43
+ "essb_",
44
+ "eg_",
45
+ "gnpub_",
46
+ "jetpack_",
47
+ "mashsb_",
48
+ "monsterinsights_",
49
+ "onesignal_",
50
+ "penci_",
51
+ "perfmatters_",
52
+ "pys_",
53
+ "rank_math_",
54
+ "rp4wp_",
55
+ "saswp_",
56
+ "sbg_",
57
+ "snap_",
58
+ "spay_",
59
+ "tie_",
60
+ "wl_",
61
+ "wpil_",
62
+ "wprm_",
63
+ "wpswa_",
64
+ "wpuf_",
65
+ "yarpp_"
66
+ ];
67
+ /** Specific plugin meta keys that should not become Dineway fields */
68
+ const PLUGIN_META_KEYS = new Set([
69
+ "entity_same_as",
70
+ "exclude_from_search",
71
+ "footnotes",
72
+ "inline_featured_image",
73
+ "os_meta",
74
+ "thirstydata"
75
+ ]);
36
76
  /** Base fields required for any WordPress import */
37
77
  const BASE_REQUIRED_FIELDS = [
38
78
  {
@@ -82,6 +122,23 @@ function isInternalMetaKey(key) {
82
122
  return false;
83
123
  }
84
124
  /**
125
+ * Check if a plugin-provided custom field is bookkeeping rather than content.
126
+ */
127
+ function isPluginBookkeepingMeta(key) {
128
+ const normalized = key.replaceAll("-", "_");
129
+ if (PLUGIN_META_KEYS.has(normalized)) return true;
130
+ return PLUGIN_META_PREFIXES.some((prefix) => normalized.startsWith(prefix));
131
+ }
132
+ /**
133
+ * Convert a source custom field key into a valid Dineway field slug.
134
+ */
135
+ function sanitizeFieldSlug(key) {
136
+ const sanitized = key.toLowerCase().replace(INVALID_FIELD_SLUG_CHARS, "_").replace(LEADING_NON_ALPHA_CHARS, "").slice(0, 63);
137
+ if (!sanitized) return "field";
138
+ if (RESERVED_FIELD_SLUGS.includes(sanitized)) return `wp_${sanitized}`;
139
+ return sanitized;
140
+ }
141
+ /**
85
142
  * Map WordPress status to normalized status
86
143
  */
87
144
  function mapWpStatus(status) {
@@ -143,6 +200,71 @@ function inferMetaType(key, value) {
143
200
  return "string";
144
201
  }
145
202
  /**
203
+ * Turn an absolute URL into a root-relative one when it points at the source
204
+ * site. External links, non-http(s) schemes, and `/wp-content/` media URLs are
205
+ * left untouched so the later media pass can still map old media URLs.
206
+ */
207
+ function relativizeUrl(url, sourceHost) {
208
+ if (!url.startsWith("http://") && !url.startsWith("https://")) return null;
209
+ try {
210
+ const parsed = new URL(url);
211
+ if (parsed.hostname.replace(LEADING_WWW, "") !== sourceHost) return null;
212
+ if (parsed.pathname.startsWith("/wp-content/")) return null;
213
+ return `${parsed.pathname}${parsed.search}${parsed.hash}` || "/";
214
+ } catch {
215
+ return null;
216
+ }
217
+ }
218
+ function relativizeMarkDefs(markDefs, sourceHost) {
219
+ for (const def of markDefs ?? []) if (def._type === "link" && typeof def.href === "string") def.href = relativizeUrl(def.href, sourceHost) ?? def.href;
220
+ }
221
+ /**
222
+ * Rewrite internal links in imported content to root-relative URLs, in place.
223
+ * This prevents migrated posts from linking back to the old WordPress domain.
224
+ */
225
+ function relativizeContentLinks(blocks, siteUrl) {
226
+ let sourceHost;
227
+ try {
228
+ sourceHost = new URL(siteUrl).hostname.replace(LEADING_WWW, "");
229
+ } catch {
230
+ return;
231
+ }
232
+ const hrefPattern = new RegExp(`href=(["']?)https?://(?:www\\.)?${sourceHost.replace(REGEX_SPECIALS, "\\$&")}(/[^"'\\s>]*)?\\1`, "gi");
233
+ for (const block of blocks) switch (block._type) {
234
+ case "block":
235
+ relativizeMarkDefs(block.markDefs, sourceHost);
236
+ break;
237
+ case "image":
238
+ if (block.link) block.link = relativizeUrl(block.link, sourceHost) ?? block.link;
239
+ break;
240
+ case "table":
241
+ for (const row of block.rows) for (const cell of row.cells) relativizeMarkDefs(cell.markDefs, sourceHost);
242
+ break;
243
+ case "columns":
244
+ for (const column of block.columns) relativizeContentLinks(column.content, siteUrl);
245
+ break;
246
+ case "cover":
247
+ relativizeContentLinks(block.content, siteUrl);
248
+ break;
249
+ case "button":
250
+ if (block.url) block.url = relativizeUrl(block.url, sourceHost) ?? block.url;
251
+ break;
252
+ case "buttons":
253
+ for (const button of block.buttons) if (button.url) button.url = relativizeUrl(button.url, sourceHost) ?? button.url;
254
+ break;
255
+ case "htmlBlock":
256
+ block.html = block.html.replace(hrefPattern, (_match, _quote, path) => `href="${path || "/"}"`);
257
+ break;
258
+ case "break":
259
+ case "code":
260
+ case "embed":
261
+ case "file":
262
+ case "gallery":
263
+ case "pullquote": break;
264
+ default:
265
+ }
266
+ }
267
+ /**
146
268
  * Normalize URL for API requests
147
269
  */
148
270
  function normalizeUrl(url) {
@@ -282,4 +404,4 @@ function checkSchemaCompatibility(requiredFields, existingCollection) {
282
404
  }
283
405
 
284
406
  //#endregion
285
- export { getFilenameFromUrl as a, isInternalMetaKey as c, mapPostTypeToCollection as d, mapWpStatus as f, checkSchemaCompatibility as i, isInternalPostType as l, resolveImportByline as m, FEATURED_IMAGE_FIELD as n, guessMimeType as o, normalizeUrl as p, buildAttachmentMap as r, inferMetaType as s, BASE_REQUIRED_FIELDS as t, mapMetaKeyToField as u };
407
+ export { sanitizeFieldSlug as _, getFilenameFromUrl as a, isInternalMetaKey as c, mapMetaKeyToField as d, mapPostTypeToCollection as f, resolveImportByline as g, relativizeContentLinks as h, checkSchemaCompatibility as i, isInternalPostType as l, normalizeUrl as m, FEATURED_IMAGE_FIELD as n, guessMimeType as o, mapWpStatus as p, buildAttachmentMap as r, inferMetaType as s, BASE_REQUIRED_FIELDS as t, isPluginBookkeepingMeta as u };
@@ -1,9 +1,63 @@
1
- import { d as FieldType } from "./types-CwawBUTa.mjs";
2
- import { t as Database } from "./types-CuJOqHfM.mjs";
3
- import { d as Storage } from "./types-DZpT-PnG.mjs";
4
- import { i as SiteSettings } from "./types-nP9vGUFq.mjs";
1
+ import { d as FieldType } from "./types-B_FlxIIl.mjs";
2
+ import { t as Database } from "./types-DuQn1G7-.mjs";
3
+ import { d as Storage } from "./types-wFu80FrO.mjs";
5
4
  import { Kysely } from "kysely";
6
5
 
6
+ //#region src/settings/types.d.ts
7
+ /**
8
+ * Site Settings Types
9
+ *
10
+ * Global configuration for the site (title, logo, social links, etc.)
11
+ */
12
+ /** Media reference for logo/favicon */
13
+ interface MediaReference {
14
+ mediaId: string;
15
+ alt?: string;
16
+ /** Resolved media URL returned by getSiteSettings()/getSiteSetting(). */
17
+ url?: string;
18
+ /** Resolved MIME type returned by getSiteSettings()/getSiteSetting(). */
19
+ contentType?: string;
20
+ /** Resolved pixel width when known. */
21
+ width?: number;
22
+ /** Resolved pixel height when known. */
23
+ height?: number;
24
+ }
25
+ /** Site-level SEO settings */
26
+ interface SeoSettings {
27
+ /** Separator between page title and site title (e.g., " | ", " — ") */
28
+ titleSeparator?: string;
29
+ /** Default OG image when content has no seo_image */
30
+ defaultOgImage?: MediaReference;
31
+ /** Custom robots.txt content. If unset, a default is generated. */
32
+ robotsTxt?: string;
33
+ /** Google Search Console verification meta tag content */
34
+ googleVerification?: string;
35
+ /** Bing Webmaster Tools verification meta tag content */
36
+ bingVerification?: string;
37
+ }
38
+ /** Site settings schema */
39
+ interface SiteSettings {
40
+ title: string;
41
+ tagline?: string;
42
+ logo?: MediaReference;
43
+ favicon?: MediaReference;
44
+ url?: string;
45
+ postsPerPage: number;
46
+ dateFormat: string;
47
+ timezone: string;
48
+ social?: {
49
+ twitter?: string;
50
+ github?: string;
51
+ facebook?: string;
52
+ instagram?: string;
53
+ linkedin?: string;
54
+ youtube?: string;
55
+ };
56
+ seo?: SeoSettings;
57
+ }
58
+ /** Keys that are valid site settings */
59
+ type SiteSettingKey = keyof SiteSettings;
60
+ //#endregion
7
61
  //#region src/seed/types.d.ts
8
62
  /**
9
63
  * Root seed file structure
@@ -138,8 +192,8 @@ interface SeedMenuItem {
138
192
  */
139
193
  interface SeedRedirect {
140
194
  source: string;
141
- destination: string;
142
- type?: 301 | 302 | 307 | 308;
195
+ destination?: string;
196
+ type?: 301 | 302 | 307 | 308 | 410 | 451;
143
197
  enabled?: boolean;
144
198
  groupName?: string | null;
145
199
  }
@@ -247,7 +301,10 @@ interface SeedBylineCredit {
247
301
  * Options for applying a seed
248
302
  */
249
303
  interface SeedApplyOptions {
250
- /** Include sample content (default: false) */
304
+ /**
305
+ * Include sample data: content entries, bylines, and taxonomy terms
306
+ * (default: false). Schema and structure are always applied.
307
+ */
251
308
  includeContent?: boolean;
252
309
  /** How to handle conflicts (default: "skip") */
253
310
  onConflict?: "skip" | "update" | "error";
@@ -370,4 +427,4 @@ declare function loadUserSeed(): Promise<SeedFile | null>;
370
427
  */
371
428
  declare function validateSeed(data: unknown): ValidationResult;
372
429
  //#endregion
373
- export { SeedTaxonomyTerm as _, applySeed as a, ValidationResult as b, SeedCollection as c, SeedFile as d, SeedMenu as f, SeedTaxonomy as g, SeedSection as h, defaultSeed as i, SeedContentEntry as l, SeedRedirect as m, loadSeed as n, SeedApplyOptions as o, SeedMenuItem as p, loadUserSeed as r, SeedApplyResult as s, validateSeed as t, SeedField as u, SeedWidget as v, SeedWidgetArea as y };
430
+ export { SiteSettingKey as C, SeoSettings as S, SeedTaxonomyTerm as _, applySeed as a, ValidationResult as b, SeedCollection as c, SeedFile as d, SeedMenu as f, SeedTaxonomy as g, SeedSection as h, defaultSeed as i, SeedContentEntry as l, SeedRedirect as m, loadSeed as n, SeedApplyOptions as o, SeedMenuItem as p, loadUserSeed as r, SeedApplyResult as s, validateSeed as t, SeedField as u, SeedWidget as v, SiteSettings as w, MediaReference as x, SeedWidgetArea as y };
@@ -1,5 +1,5 @@
1
- import { a as __exportAll } from "./runner-DzIpHGND.mjs";
2
- import { n as FIELD_TYPES } from "./types-CJ8DkL0q.mjs";
1
+ import { a as __exportAll } from "./runner-BgmttQmD.mjs";
2
+ import { n as FIELD_TYPES } from "./types-B7TDDFMG.mjs";
3
3
 
4
4
  //#region src/seed/validate.ts
5
5
  /**
@@ -14,8 +14,11 @@ const REDIRECT_TYPES = new Set([
14
14
  301,
15
15
  302,
16
16
  307,
17
- 308
17
+ 308,
18
+ 410,
19
+ 451
18
20
  ]);
21
+ const TERMINAL_REDIRECT_TYPES = new Set([410, 451]);
19
22
  const CRLF_PATTERN = /[\r\n]/;
20
23
  /** Type guard for Record<string, unknown> */
21
24
  function isRecord(value) {
@@ -151,16 +154,18 @@ function validateSeed(data) {
151
154
  }
152
155
  const source = typeof redirect.source === "string" ? redirect.source : void 0;
153
156
  const destination = typeof redirect.destination === "string" ? redirect.destination : void 0;
157
+ const type = typeof redirect.type === "number" ? redirect.type : void 0;
158
+ const terminal = TERMINAL_REDIRECT_TYPES.has(type ?? 301);
154
159
  if (!source) errors.push(`${prefix}: source is required`);
155
160
  else {
156
161
  if (!isValidRedirectPath(source)) errors.push(`${prefix}.source: must be a path starting with / (no protocol-relative URLs, path traversal, or newlines)`);
157
162
  if (redirectSources.has(source)) errors.push(`${prefix}.source: duplicate redirect source "${source}"`);
158
163
  redirectSources.add(source);
159
164
  }
160
- if (!destination) errors.push(`${prefix}: destination is required`);
161
- else if (!isValidRedirectPath(destination)) errors.push(`${prefix}.destination: must be a path starting with / (no protocol-relative URLs, path traversal, or newlines)`);
165
+ if (!terminal && !destination) errors.push(`${prefix}: destination is required`);
166
+ else if (destination && !isValidRedirectPath(destination)) errors.push(`${prefix}.destination: must be a path starting with / (no protocol-relative URLs, path traversal, or newlines)`);
162
167
  if (redirect.type !== void 0) {
163
- if (typeof redirect.type !== "number" || !REDIRECT_TYPES.has(redirect.type)) errors.push(`${prefix}.type: must be 301, 302, 307, or 308`);
168
+ if (typeof redirect.type !== "number" || !REDIRECT_TYPES.has(redirect.type)) errors.push(`${prefix}.type: must be 301, 302, 307, 308, 410, or 451`);
164
169
  }
165
170
  if (redirect.enabled !== void 0 && typeof redirect.enabled !== "boolean") errors.push(`${prefix}.enabled: must be a boolean`);
166
171
  if (redirect.groupName !== void 0 && typeof redirect.groupName !== "string" && redirect.groupName !== null) errors.push(`${prefix}.groupName: must be a string or null`);
@@ -0,0 +1,6 @@
1
+ //#region src/version.ts
2
+ const VERSION = "0.2.1";
3
+ const COMMIT = "0bdbe4aaf";
4
+
5
+ //#endregion
6
+ export { VERSION as n, COMMIT as t };
@@ -1,53 +1,56 @@
1
- import { r as getDb } from "./loader--GOYux8M.mjs";
2
- import { t as getWidgetComponents$1 } from "./components--pg6zBvu.mjs";
1
+ import { r as getDb } from "./loader-aWkkc1_o.mjs";
2
+ import { r as requestCached } from "./request-cache-CBFjCwSt.mjs";
3
+ import { t as getWidgetComponents$1 } from "./components-DImzlLhb.mjs";
3
4
 
4
5
  //#region src/widgets/index.ts
5
6
  /**
6
7
  * Get a widget area by name, with all its widgets
7
8
  */
8
9
  async function getWidgetArea(name) {
9
- const rows = await (await getDb()).selectFrom("_dineway_widget_areas as a").leftJoin("_dineway_widgets as w", "w.area_id", "a.id").select([
10
- "a.id as a_id",
11
- "a.name as a_name",
12
- "a.label as a_label",
13
- "a.description as a_description",
14
- "w.id as w_id",
15
- "w.type as w_type",
16
- "w.title as w_title",
17
- "w.content as w_content",
18
- "w.menu_name as w_menu_name",
19
- "w.component_id as w_component_id",
20
- "w.component_props as w_component_props",
21
- "w.area_id as w_area_id",
22
- "w.sort_order as w_sort_order",
23
- "w.created_at as w_created_at"
24
- ]).where("a.name", "=", name).orderBy("w.sort_order", "asc").execute();
25
- const first = rows[0];
26
- if (!first) return null;
27
- const widgets = [];
28
- for (const row of rows) {
29
- if (!row.w_id || !isWidgetType(row.w_type) || !row.w_area_id || row.w_sort_order === null || !row.w_created_at) continue;
30
- const widgetRow = {
31
- id: row.w_id,
32
- type: row.w_type,
33
- title: row.w_title,
34
- content: row.w_content,
35
- menu_name: row.w_menu_name,
36
- component_id: row.w_component_id,
37
- component_props: row.w_component_props,
38
- area_id: row.w_area_id,
39
- sort_order: row.w_sort_order,
40
- created_at: row.w_created_at
10
+ return requestCached(`widget-area:${name}`, async () => {
11
+ const rows = await (await getDb()).selectFrom("_dineway_widget_areas as a").leftJoin("_dineway_widgets as w", "w.area_id", "a.id").select([
12
+ "a.id as a_id",
13
+ "a.name as a_name",
14
+ "a.label as a_label",
15
+ "a.description as a_description",
16
+ "w.id as w_id",
17
+ "w.type as w_type",
18
+ "w.title as w_title",
19
+ "w.content as w_content",
20
+ "w.menu_name as w_menu_name",
21
+ "w.component_id as w_component_id",
22
+ "w.component_props as w_component_props",
23
+ "w.area_id as w_area_id",
24
+ "w.sort_order as w_sort_order",
25
+ "w.created_at as w_created_at"
26
+ ]).where("a.name", "=", name).orderBy("w.sort_order", "asc").execute();
27
+ const first = rows[0];
28
+ if (!first) return null;
29
+ const widgets = [];
30
+ for (const row of rows) {
31
+ if (!row.w_id || !isWidgetType(row.w_type) || !row.w_area_id || row.w_sort_order === null || !row.w_created_at) continue;
32
+ const widgetRow = {
33
+ id: row.w_id,
34
+ type: row.w_type,
35
+ title: row.w_title,
36
+ content: row.w_content,
37
+ menu_name: row.w_menu_name,
38
+ component_id: row.w_component_id,
39
+ component_props: row.w_component_props,
40
+ area_id: row.w_area_id,
41
+ sort_order: row.w_sort_order,
42
+ created_at: row.w_created_at
43
+ };
44
+ widgets.push(rowToWidget(widgetRow));
45
+ }
46
+ return {
47
+ id: first.a_id,
48
+ name: first.a_name,
49
+ label: first.a_label,
50
+ description: first.a_description ?? void 0,
51
+ widgets
41
52
  };
42
- widgets.push(rowToWidget(widgetRow));
43
- }
44
- return {
45
- id: first.a_id,
46
- name: first.a_name,
47
- label: first.a_label,
48
- description: first.a_description ?? void 0,
49
- widgets
50
- };
53
+ });
51
54
  }
52
55
  function isWidgetType(value) {
53
56
  return value === "content" || value === "menu" || value === "component";
@@ -1,4 +1,4 @@
1
- import { a as RESERVED_COLLECTION_SLUGS } from "./types-CJ8DkL0q.mjs";
1
+ import { a as RESERVED_COLLECTION_SLUGS } from "./types-B7TDDFMG.mjs";
2
2
 
3
3
  //#region src/import/wordpress-slugs.ts
4
4
  const INVALID_SLUG_CHARS = /[^a-z0-9_]/g;