dineway 0.1.48 → 0.2.0

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 (420) hide show
  1. package/dist/{activity-events-C9u37D5z.mjs → activity-events-y6eT8UW6.mjs} +6 -38
  2. package/dist/actor-CrObAPV0.mjs +37 -0
  3. package/dist/after-BfniwgIf.mjs +9 -0
  4. package/dist/{allowed-origins-DhipQNLb.mjs → allowed-origins-_oeyP6x-.mjs} +1 -1
  5. package/dist/api/route-utils.d.mts +10 -10
  6. package/dist/api/route-utils.mjs +17 -14
  7. package/dist/api/schemas/index.d.mts +2 -2
  8. package/dist/api/schemas/index.mjs +5 -4
  9. package/dist/{api-Eiy8_zVZ.mjs → api-ByrU2q-Z.mjs} +61 -37
  10. package/dist/{api-tokens-DtvdtIkm.mjs → api-tokens-CjVMQT-X.mjs} +6 -2
  11. package/dist/{apply-CX3no7XE.mjs → apply-bZswmZPm.mjs} +117 -77
  12. package/dist/astro/image-endpoint.d.mts +7 -0
  13. package/dist/astro/image-endpoint.mjs +54 -0
  14. package/dist/astro/index.d.mts +35 -11
  15. package/dist/astro/index.mjs +157 -23
  16. package/dist/astro/integration/shims/use-sync-external-store-with-selector.js +71 -0
  17. package/dist/astro/integration/shims/use-sync-external-store.js +1 -0
  18. package/dist/astro/middleware/auth.d.mts +10 -10
  19. package/dist/astro/middleware/auth.mjs +42 -24
  20. package/dist/astro/middleware/redirect.mjs +14 -5
  21. package/dist/astro/middleware/request-context.mjs +9 -6
  22. package/dist/astro/middleware/seed.d.mts +1 -1
  23. package/dist/astro/middleware/seed.mjs +2 -2
  24. package/dist/astro/middleware/setup.mjs +1 -1
  25. package/dist/astro/middleware.mjs +334 -193
  26. package/dist/astro/routes/admin.astro +6 -1
  27. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +7 -6
  28. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +7 -6
  29. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +4 -4
  30. package/dist/astro/routes/api/admin/api-tokens/index.mjs +6 -6
  31. package/dist/astro/routes/api/admin/briefing.mjs +22 -18
  32. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +4 -4
  33. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +9 -8
  34. package/dist/astro/routes/api/admin/byline-fields/index.mjs +9 -8
  35. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +9 -8
  36. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +18 -15
  37. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +18 -15
  38. package/dist/astro/routes/api/admin/bylines/index.mjs +18 -15
  39. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +15 -13
  40. package/dist/astro/routes/api/admin/comments/_id_.mjs +7 -6
  41. package/dist/astro/routes/api/admin/comments/bulk.mjs +12 -10
  42. package/dist/astro/routes/api/admin/comments/counts.mjs +7 -6
  43. package/dist/astro/routes/api/admin/comments/index.mjs +12 -10
  44. package/dist/astro/routes/api/admin/context/_id_/history.mjs +27 -25
  45. package/dist/astro/routes/api/admin/context/_id_/index.mjs +27 -25
  46. package/dist/astro/routes/api/admin/context/_id_/review.mjs +32 -29
  47. package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +32 -29
  48. package/dist/astro/routes/api/admin/context/diff.mjs +31 -28
  49. package/dist/astro/routes/api/admin/context/index.mjs +32 -29
  50. package/dist/astro/routes/api/admin/context/stale.mjs +31 -28
  51. package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +27 -25
  52. package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +31 -28
  53. package/dist/astro/routes/api/admin/hitl-requests/index.mjs +31 -28
  54. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +28 -26
  55. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +3 -3
  56. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +6 -6
  57. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +6 -6
  58. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +56 -52
  59. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +56 -52
  60. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +48 -44
  61. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +54 -50
  62. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +53 -49
  63. package/dist/astro/routes/api/admin/plugins/index.mjs +48 -44
  64. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +2 -2
  65. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +47 -43
  66. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +53 -49
  67. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +47 -43
  68. package/dist/astro/routes/api/admin/plugins/updates.mjs +47 -43
  69. package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +6 -6
  70. package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +32 -28
  71. package/dist/astro/routes/api/admin/review-requests/index.mjs +11 -10
  72. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +47 -43
  73. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +2 -2
  74. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +47 -43
  75. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +3 -3
  76. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +2 -2
  77. package/dist/astro/routes/api/admin/users/_id_/index.mjs +8 -7
  78. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +4 -4
  79. package/dist/astro/routes/api/admin/users/index.mjs +7 -6
  80. package/dist/astro/routes/api/auth/dev-bypass.mjs +4 -4
  81. package/dist/astro/routes/api/auth/invite/accept.mjs +2 -2
  82. package/dist/astro/routes/api/auth/invite/complete.mjs +12 -11
  83. package/dist/astro/routes/api/auth/invite/index.mjs +9 -8
  84. package/dist/astro/routes/api/auth/invite/register-options.mjs +11 -10
  85. package/dist/astro/routes/api/auth/logout.mjs +2 -2
  86. package/dist/astro/routes/api/auth/magic-link/send.mjs +11 -10
  87. package/dist/astro/routes/api/auth/magic-link/verify.mjs +3 -3
  88. package/dist/astro/routes/api/auth/me.mjs +10 -9
  89. package/dist/astro/routes/api/auth/mode.mjs +1 -1
  90. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +3 -3
  91. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
  92. package/dist/astro/routes/api/auth/passkey/_id_.mjs +6 -5
  93. package/dist/astro/routes/api/auth/passkey/index.mjs +1 -1
  94. package/dist/astro/routes/api/auth/passkey/options.mjs +12 -11
  95. package/dist/astro/routes/api/auth/passkey/register/options.mjs +10 -9
  96. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +11 -10
  97. package/dist/astro/routes/api/auth/passkey/verify.mjs +11 -10
  98. package/dist/astro/routes/api/auth/setup-token/index.mjs +6 -6
  99. package/dist/astro/routes/api/auth/setup-token/verify.mjs +2 -2
  100. package/dist/astro/routes/api/auth/signup/complete.mjs +12 -11
  101. package/dist/astro/routes/api/auth/signup/request.mjs +11 -10
  102. package/dist/astro/routes/api/auth/signup/verify.mjs +2 -2
  103. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +16 -14
  104. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.d.mts +8 -0
  105. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +160 -0
  106. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +2 -2
  107. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +6 -6
  108. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +6 -6
  109. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +6 -6
  110. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +12 -11
  111. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +11 -10
  112. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +6 -6
  113. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +2 -2
  114. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +11 -10
  115. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +17 -15
  116. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +2 -2
  117. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +6 -6
  118. package/dist/astro/routes/api/content/_collection_/_id_.mjs +11 -10
  119. package/dist/astro/routes/api/content/_collection_/authors.mjs +2 -2
  120. package/dist/astro/routes/api/content/_collection_/index.mjs +11 -10
  121. package/dist/astro/routes/api/content/_collection_/trash.mjs +7 -6
  122. package/dist/astro/routes/api/dashboard.mjs +10 -9
  123. package/dist/astro/routes/api/dev/emails.mjs +2 -2
  124. package/dist/astro/routes/api/health.mjs +1 -1
  125. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  126. package/dist/astro/routes/api/import/probe.mjs +23 -11
  127. package/dist/astro/routes/api/import/wordpress/analyze.mjs +9 -6
  128. package/dist/astro/routes/api/import/wordpress/execute.d.mts +19 -1
  129. package/dist/astro/routes/api/import/wordpress/execute.mjs +85 -38
  130. package/dist/astro/routes/api/import/wordpress/media.d.mts +13 -1
  131. package/dist/astro/routes/api/import/wordpress/media.mjs +20 -14
  132. package/dist/astro/routes/api/import/wordpress/prepare.mjs +36 -33
  133. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +18 -1
  134. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +121 -101
  135. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  136. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +25 -13
  137. package/dist/astro/routes/api/import/wordpress-plugin/callback.mjs +1 -1
  138. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +56 -2
  139. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +284 -56
  140. package/dist/astro/routes/api/manifest.mjs +14 -5
  141. package/dist/astro/routes/api/mcp.mjs +266 -70
  142. package/dist/astro/routes/api/media/_id_/confirm.mjs +39 -11
  143. package/dist/astro/routes/api/media/_id_.mjs +11 -7
  144. package/dist/astro/routes/api/media/file/_...key_.mjs +1 -1
  145. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +2 -2
  146. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +2 -2
  147. package/dist/astro/routes/api/media/providers/index.mjs +2 -2
  148. package/dist/astro/routes/api/media/upload-url.mjs +12 -11
  149. package/dist/astro/routes/api/media.mjs +28 -35
  150. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +32 -29
  151. package/dist/astro/routes/api/menus/_name_/items.mjs +32 -29
  152. package/dist/astro/routes/api/menus/_name_/reorder.mjs +32 -29
  153. package/dist/astro/routes/api/menus/_name_/translations.mjs +32 -29
  154. package/dist/astro/routes/api/menus/_name_.mjs +32 -29
  155. package/dist/astro/routes/api/menus/index.mjs +32 -29
  156. package/dist/astro/routes/api/oauth/authorize.mjs +7 -7
  157. package/dist/astro/routes/api/oauth/device/authorize.mjs +6 -6
  158. package/dist/astro/routes/api/oauth/device/code.mjs +9 -9
  159. package/dist/astro/routes/api/oauth/device/token.mjs +8 -8
  160. package/dist/astro/routes/api/oauth/register.mjs +4 -4
  161. package/dist/astro/routes/api/oauth/token/refresh.mjs +6 -6
  162. package/dist/astro/routes/api/oauth/token/revoke.mjs +6 -6
  163. package/dist/astro/routes/api/oauth/token.mjs +6 -6
  164. package/dist/astro/routes/api/openapi.json.mjs +4 -3
  165. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +30 -30
  166. package/dist/astro/routes/api/redirects/404s/index.mjs +12 -11
  167. package/dist/astro/routes/api/redirects/404s/summary.mjs +12 -11
  168. package/dist/astro/routes/api/redirects/_id_.mjs +33 -30
  169. package/dist/astro/routes/api/redirects/index.mjs +33 -30
  170. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +2 -2
  171. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +2 -2
  172. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +48 -44
  173. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +48 -44
  174. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +48 -44
  175. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +48 -44
  176. package/dist/astro/routes/api/schema/collections/index.mjs +48 -44
  177. package/dist/astro/routes/api/schema/index.mjs +13 -14
  178. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +47 -43
  179. package/dist/astro/routes/api/schema/orphans/index.mjs +47 -43
  180. package/dist/astro/routes/api/search/enable.mjs +12 -11
  181. package/dist/astro/routes/api/search/index.mjs +11 -10
  182. package/dist/astro/routes/api/search/rebuild.mjs +12 -11
  183. package/dist/astro/routes/api/search/stats.mjs +7 -7
  184. package/dist/astro/routes/api/search/suggest.mjs +11 -10
  185. package/dist/astro/routes/api/sections/_slug_.mjs +32 -29
  186. package/dist/astro/routes/api/sections/index.mjs +32 -29
  187. package/dist/astro/routes/api/settings/email.mjs +4 -4
  188. package/dist/astro/routes/api/settings.mjs +32 -29
  189. package/dist/astro/routes/api/setup/admin-verify.mjs +14 -13
  190. package/dist/astro/routes/api/setup/admin.mjs +12 -11
  191. package/dist/astro/routes/api/setup/dev-bypass.mjs +32 -26
  192. package/dist/astro/routes/api/setup/dev-reset.mjs +2 -2
  193. package/dist/astro/routes/api/setup/index.mjs +30 -26
  194. package/dist/astro/routes/api/setup/status.mjs +3 -3
  195. package/dist/astro/routes/api/snapshot.mjs +9 -8
  196. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +35 -32
  197. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +35 -32
  198. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +35 -32
  199. package/dist/astro/routes/api/taxonomies/index.mjs +35 -32
  200. package/dist/astro/routes/api/themes/preview.mjs +6 -6
  201. package/dist/astro/routes/api/typegen.mjs +4 -4
  202. package/dist/astro/routes/api/well-known/auth.mjs +3 -3
  203. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +3 -3
  204. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +3 -3
  205. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +31 -28
  206. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +32 -29
  207. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +32 -29
  208. package/dist/astro/routes/api/widget-areas/_name_.mjs +29 -27
  209. package/dist/astro/routes/api/widget-areas/index.mjs +32 -29
  210. package/dist/astro/routes/api/widget-components.mjs +2 -2
  211. package/dist/astro/routes/robots.txt.mjs +9 -8
  212. package/dist/astro/routes/sitemap-_collection_.xml.mjs +24 -15
  213. package/dist/astro/routes/sitemap.xml.mjs +10 -9
  214. package/dist/astro/session-driver.d.mts +1 -1
  215. package/dist/astro/session-driver.mjs +3 -3
  216. package/dist/astro/types.d.mts +21 -13
  217. package/dist/{audit-D1cbG7xH.mjs → audit-ByVKIwWF.mjs} +1 -1
  218. package/dist/auth/providers/github.d.mts +1 -1
  219. package/dist/auth/providers/google.d.mts +1 -1
  220. package/dist/{auth-control-guard-Dr14I98m.mjs → auth-control-guard-CqeUmQsv.mjs} +1 -1
  221. package/dist/{authorize-BLO0m7fW.mjs → authorize-CcBxcHtz.mjs} +1 -1
  222. package/dist/{briefing-CObXGOGz.mjs → briefing-BJaJI8dm.mjs} +2 -1
  223. package/dist/{briefing-gKWiGLt1.mjs → briefing-CawZ59CY.mjs} +90 -28
  224. package/dist/bundle-7C_DpkEq.mjs +602 -0
  225. package/dist/{byline-1ntDwv8c.mjs → byline-e51-fWRs.mjs} +30 -62
  226. package/dist/{byline-fields-BX7rWKNU.d.mts → byline-fields-CUvbslGc.d.mts} +49 -6
  227. package/dist/{byline-fields-C9_iaPaM.mjs → byline-fields-D-N5qVIG.mjs} +1 -1
  228. package/dist/{byline-fields-B-ZkoVft.mjs → byline-fields-DOJO16Gm.mjs} +3 -3
  229. package/dist/{byline-registry-CUSvkasJ.mjs → byline-registry-87nNnYl4.mjs} +2 -2
  230. package/dist/{bylines-bC15ZqAv.mjs → bylines-CMQNCNFh.mjs} +9 -3
  231. package/dist/{bylines-DtxChhN_.mjs → bylines-y4LO-dTj.mjs} +5 -5
  232. package/dist/{cache-DbKyr60Q.mjs → cache-C-FNTFYK.mjs} +2 -2
  233. package/dist/{chunks-C5zp2xir.mjs → chunks-CxBt-GxR.mjs} +1 -1
  234. package/dist/cli/index.mjs +820 -1276
  235. package/dist/client/external-auth-headers.d.mts +1 -1
  236. package/dist/client/index.d.mts +1 -1
  237. package/dist/client/index.mjs +2 -1
  238. package/dist/{comment-CXDOQ93N.mjs → comment-DlA4iChg.mjs} +13 -3
  239. package/dist/comment-reaction-DfFao1ST.mjs +58 -0
  240. package/dist/{comments-hK-rdzJ9.mjs → comments-DApFGMsP.mjs} +1 -1
  241. package/dist/{content-QaryevFO.mjs → content-Bh4BDjv8.mjs} +51 -34
  242. package/dist/content-refresh-CgutSUfO.mjs +1576 -0
  243. package/dist/{context-CoYb_fvK.mjs → context-C5W3G18y.mjs} +111 -50
  244. package/dist/{context-DBL1ib4v.mjs → context-CK4ym2Sf.mjs} +2 -2
  245. package/dist/{context-route-helpers-CYQVmbIm.mjs → context-route-helpers-MASyGgWf.mjs} +2 -1
  246. package/dist/{cron-DxCAU_Sn.mjs → cron-cKcNTix_.mjs} +7 -3
  247. package/dist/{dashboard-DNlqsknJ.mjs → dashboard-DQkVT7Ei.mjs} +4 -4
  248. package/dist/db/index.d.mts +3 -3
  249. package/dist/db/index.mjs +1 -1
  250. package/dist/db/libsql.d.mts +1 -1
  251. package/dist/db/postgres.d.mts +1 -1
  252. package/dist/db/sqlite.d.mts +1 -1
  253. package/dist/{device-flow-DygsFPGL.mjs → device-flow-BnqRH-T9.mjs} +5 -5
  254. package/dist/{placeholder-BDo81Is5.mjs → enrich-DIFIFA8O.mjs} +36 -9
  255. package/dist/{error-DCSuUAZW.mjs → error-CytFlgcd.mjs} +5 -0
  256. package/dist/field-defs-cache-DRNdhBJv.mjs +49 -0
  257. package/dist/{fts-manager-CIZlScg5.mjs → fts-manager-Crzypjqu.mjs} +1 -1
  258. package/dist/hitl-Hw1RmWOq.mjs +677 -0
  259. package/dist/{hitl-requests-CGQwOEiq.mjs → hitl-requests-B4Vbcmaq.mjs} +2 -2
  260. package/dist/{hitl-route-helpers-GSDLNPpN.mjs → hitl-route-helpers-hEVzvP8l.mjs} +5 -4
  261. package/dist/import-Bh9biJfx.mjs +1354 -0
  262. package/dist/{index-CwRuZ-u8.d.mts → index-D4y6NGiy.d.mts} +75 -3
  263. package/dist/index.d.mts +17 -16
  264. package/dist/index.mjs +81 -69
  265. package/dist/{jsonld-DZ67souc.d.mts → jsonld-Dq0gsnOH.d.mts} +8 -4
  266. package/dist/{load-xE01Jm0V.mjs → load-DmYeniXl.mjs} +1 -1
  267. package/dist/{loader-tg63WSY2.mjs → loader-CjWqjweO.mjs} +117 -31
  268. package/dist/{manifest-schema-qh2P7RDX.mjs → manifest-schema-BxVPYMJR.mjs} +34 -1
  269. package/dist/mcp-reviewed-executor-TwVbMzG6.mjs +555 -0
  270. package/dist/media/image-endpoint.d.mts +32 -0
  271. package/dist/media/image-endpoint.mjs +111 -0
  272. package/dist/media/index.d.mts +27 -2
  273. package/dist/media/index.mjs +5 -3
  274. package/dist/media/local-runtime.d.mts +16 -11
  275. package/dist/media/local-runtime.mjs +10 -8
  276. package/dist/{media-DUAjMfvR.mjs → media-DMj0grzC.mjs} +3 -1
  277. package/dist/{media-allowlist-BsXkT9RK.mjs → media-allowlist-BlVCSzHx.mjs} +1 -1
  278. package/dist/media-url-lEKSrpr9.mjs +20 -0
  279. package/dist/{menus-WpFRMXjz.mjs → menus-TaW1gKnk.mjs} +19 -5
  280. package/dist/{menus-DU1eZqw_.mjs → menus-xvsnVZXw.mjs} +80 -15
  281. package/dist/{normalize-DUnoXAa9.mjs → normalize-5ek_z7de.mjs} +8 -1
  282. package/dist/{oauth-authorization-D-1p52Je.mjs → oauth-authorization-DiaGvRVz.mjs} +5 -5
  283. package/dist/{oauth-clients-CzeMGyUU.mjs → oauth-clients-Dl9E8dEM.mjs} +2 -2
  284. package/dist/object-cache/memory.d.mts +14 -0
  285. package/dist/object-cache/memory.mjs +55 -0
  286. package/dist/object-cache-D51qOseS.mjs +419 -0
  287. package/dist/page/index.d.mts +4 -3
  288. package/dist/page/index.mjs +2 -2
  289. package/dist/{parse-CneSgl7-.mjs → parse-CbymENaR.mjs} +1 -1
  290. package/dist/{parser-DxfsARXL.mjs → parser-C1nYd-81.mjs} +151 -9
  291. package/dist/{placeholder-CXfoCtCd.d.mts → placeholder-uvNRZBX9.d.mts} +12 -4
  292. package/dist/plugin-utils.d.mts +9 -9
  293. package/dist/plugins/adapt-sandbox-entry.d.mts +9 -9
  294. package/dist/plugins/adapt-sandbox-entry.mjs +11 -2
  295. package/dist/{plugins-C57YQi4l.mjs → plugins-BolVa-tl.mjs} +832 -64
  296. package/dist/{transport-LSdZVXHF.mjs → portable-text-dA_UlJwW.mjs} +1 -134
  297. package/dist/{preview-D5rvDhRt.mjs → preview-vSVg6fwG.mjs} +4 -3
  298. package/dist/process-cache-7xgAO9JY.mjs +106 -0
  299. package/dist/{provider-loader-9it4vd6L.d.mts → provider-loader-MD8zAbnH.d.mts} +1 -1
  300. package/dist/{public-url-DLUM5OOv.mjs → public-url-BEz_sM9n.mjs} +24 -18
  301. package/dist/{public-url-B5HaoGzj.d.mts → public-url-gsp3oUbu.d.mts} +5 -4
  302. package/dist/{query-BYc3oruA.mjs → query-CfRCdaL3.mjs} +281 -76
  303. package/dist/{query-DKEwzobh.mjs → query-jaAmw8E1.mjs} +11 -6
  304. package/dist/{rate-limit-i0G3IAOX.mjs → rate-limit-ZLdyWoZF.mjs} +2 -2
  305. package/dist/{redirect-C2zXRj3c.mjs → redirect-BAjt4Z6b.mjs} +2 -2
  306. package/dist/{redirects-YZo_znWG.mjs → redirects-BTdwpQtE.mjs} +47 -24
  307. package/dist/{redirects-ocRJmQHP.mjs → redirects-CA-xylPG.mjs} +19 -11
  308. package/dist/{registry-CTkbIDB9.mjs → registry-CtyVedcN.mjs} +130 -77
  309. package/dist/request-context.d.mts +2 -0
  310. package/dist/{request-meta-DAb6xaP9.mjs → request-meta-CUypToDJ.mjs} +1 -1
  311. package/dist/{review-requests-C0un5kdV.mjs → review-requests-C9Ff11Vq.mjs} +1 -1
  312. package/dist/{review-requests-gGMyYYhy.mjs → review-requests-DUyEmtmG.mjs} +1 -1
  313. package/dist/{runner-D4FL9usy.d.mts → runner-1tC2tIRV.d.mts} +1 -1
  314. package/dist/runner-DB7CRfOF.mjs +6740 -0
  315. package/dist/{runtime-DEWQpZ-4.d.mts → runtime-BOeiQsCv.d.mts} +2028 -1564
  316. package/dist/runtime.d.mts +10 -10
  317. package/dist/runtime.mjs +4 -4
  318. package/dist/schema-DXdYj4R3.mjs +8 -0
  319. package/dist/{search-axGQ1KY3.mjs → search-DSaLgEFI.mjs} +5 -3
  320. package/dist/{secrets-062Izo8i.mjs → secrets-CDZo2k8L.mjs} +15 -12
  321. package/dist/{sections-OLKgXL10.mjs → sections-PVVXHGfp.mjs} +2 -2
  322. package/dist/seed/index.d.mts +2 -2
  323. package/dist/seed/index.mjs +22 -19
  324. package/dist/seo/index.d.mts +1 -1
  325. package/dist/seo/index.mjs +3 -12
  326. package/dist/{seo-Cd45Po8L.mjs → seo-CQG3GCHQ.mjs} +5 -2
  327. package/dist/{seo-contributions-CqVvReEj.mjs → seo-contributions-C1EnikHB.mjs} +11 -3
  328. package/dist/{seo-5lJOtB5J.mjs → seo-qa7Dn0jK.mjs} +22 -4
  329. package/dist/{service-Bwad8s5h.mjs → service-DiN4ZuPp.mjs} +2 -2
  330. package/dist/session-user-CAKImna3.mjs +22 -0
  331. package/dist/{settings-yLjz_I4T.mjs → settings-BbqgHWpU.mjs} +28 -55
  332. package/dist/{settings-lAHjaUit.mjs → settings-i4VPP8bT.mjs} +2 -2
  333. package/dist/{setup-complete--PradA4R.mjs → setup-complete-B8fl-mjV.mjs} +1 -1
  334. package/dist/{site-activity-D7Xyropw.mjs → site-activity-Dy3FROs0.mjs} +1 -1
  335. package/dist/{site-context-DaN9Z91j.mjs → site-context-DQiL8Fl5.mjs} +23 -652
  336. package/dist/{site-url-DpGZo9Z6.mjs → site-url-BML3GQYm.mjs} +1 -1
  337. package/dist/status-DANd8ERo.mjs +21 -0
  338. package/dist/storage/local.d.mts +1 -1
  339. package/dist/storage/local.mjs +1 -1
  340. package/dist/storage/s3.d.mts +1 -1
  341. package/dist/storage/s3.mjs +1 -1
  342. package/dist/{taxonomies-uXVEoQso.mjs → taxonomies-9s-v03H-.mjs} +36 -29
  343. package/dist/taxonomies-DRiixp_E.mjs +443 -0
  344. package/dist/{taxonomy-CBmkmMuU.mjs → taxonomy-Dvsw6BOs.mjs} +44 -9
  345. package/dist/{tokens-CjSgb0AC.mjs → tokens-1RK1n6ED.mjs} +1 -1
  346. package/dist/transport-BNmCqLu7.mjs +134 -0
  347. package/dist/types-4garmdWa.mjs +66 -0
  348. package/dist/{types-DSPGWjxO.d.mts → types-C8XW6L19.d.mts} +225 -4
  349. package/dist/{types-GaCtZ1k9.d.mts → types-CDpH6MA4.d.mts} +18 -0
  350. package/dist/{types-DRIKLmJI.d.mts → types-C_ly5eTp.d.mts} +17 -2
  351. package/dist/types-DF7ZuGGk.d.mts +118 -0
  352. package/dist/types-DU0bU2Wu.d.mts +2392 -0
  353. package/dist/{types-CwawBUTa.d.mts → types-DW_-sFyz.d.mts} +2 -1
  354. package/dist/{types-DfuD0Afl.mjs → types-Dq1qT19x.mjs} +2 -2
  355. package/dist/ui/server-runtime.d.mts +15 -15
  356. package/dist/ui/server-runtime.mjs +25 -21
  357. package/dist/url-Cac7a9QZ.mjs +33 -0
  358. package/dist/{user-DtNmjNYt.mjs → user-BIZPzCb9.mjs} +2 -2
  359. package/dist/{utils-wv-zvC-Y.mjs → utils-CMDhr5Xd.mjs} +129 -7
  360. package/dist/{validate-BMs11tan.d.mts → validate-CZvb-BKB.d.mts} +10 -7
  361. package/dist/{validate-7SYRbz2f.mjs → validate-DNs0pTSc.mjs} +11 -6
  362. package/dist/version-BTvfRGc6.mjs +6 -0
  363. package/dist/{widgets-DR8EHuRO.mjs → widgets-f0ibZUIq.mjs} +46 -43
  364. package/dist/{wordpress-slugs-Dvhxh4cl.mjs → wordpress-slugs-BhHJX8XE.mjs} +1 -1
  365. package/dist/{zod-generator-BS9-umbk.mjs → zod-generator-B7TMjyFJ.mjs} +41 -13
  366. package/package.json +31 -8
  367. package/src/components/Block.astro +50 -0
  368. package/src/components/Comments.astro +143 -1
  369. package/src/components/DinewayHead.astro +19 -2
  370. package/src/components/DinewayImage.astro +66 -33
  371. package/src/components/DinewayMedia.astro +1 -2
  372. package/src/components/Image.astro +85 -40
  373. package/src/components/InlinePortableTextEditor.tsx +12 -2
  374. package/src/components/JsonLdScript.astro +9 -0
  375. package/src/components/LiveSearch.astro +40 -4
  376. package/src/components/index.ts +4 -0
  377. package/src/components/live-search-routing.ts +30 -0
  378. package/src/components/portable-text-text-align.ts +15 -0
  379. package/src/ui.ts +2 -0
  380. package/dist/entity-aliases-Egjmqc7I.mjs +0 -51
  381. package/dist/import-CvHY6sf5.mjs +0 -684
  382. package/dist/runner-B-tbV751.mjs +0 -2741
  383. package/dist/schema-B6zyB-Xn.mjs +0 -8
  384. package/dist/taxonomies-CNOGeC-3.mjs +0 -327
  385. package/dist/types-eu5UDgHN.d.mts +0 -652
  386. package/dist/version-xlzMSXF2.mjs +0 -6
  387. /package/dist/{adapters-OQCImOL7.d.mts → adapters-NVSs4UH7.d.mts} +0 -0
  388. /package/dist/{api-tokens-CYUoFGo7.mjs → api-tokens-2r7OWi_I.mjs} +0 -0
  389. /package/dist/{base64-C1Q9yr0B.mjs → base64-F8-DUraK.mjs} +0 -0
  390. /package/dist/{challenge-store-CRSz-Xim.mjs → challenge-store-Bjlepa2E.mjs} +0 -0
  391. /package/dist/{components--pg6zBvu.mjs → components-Bclf98Be.mjs} +0 -0
  392. /package/dist/{context-types-DQh_XKkn.mjs → context-types-DqTo6C79.mjs} +0 -0
  393. /package/dist/{default-B6iaLvP7.mjs → default--K40jqm0.mjs} +0 -0
  394. /package/dist/{email-console-BOVqIYpB.mjs → email-console-ChgKFO8-.mjs} +0 -0
  395. /package/dist/{escape-BDgouFFY.mjs → escape-Bd4P_xKg.mjs} +0 -0
  396. /package/dist/{experimental-workflows-Dh4DUoD_.mjs → experimental-workflows-BMsUnIAw.mjs} +0 -0
  397. /package/dist/{mime-8pAB8-77.mjs → mime-CA7Lgovc.mjs} +0 -0
  398. /package/dist/{mode-CpyEz8pe.mjs → mode-C4CIyjtR.mjs} +0 -0
  399. /package/dist/{oauth-state-store-qncPB_IU.mjs → oauth-state-store-CNoXafF7.mjs} +0 -0
  400. /package/dist/{oauth-user-lookup-BFjWF8wK.mjs → oauth-user-lookup-Ygw4bNyt.mjs} +0 -0
  401. /package/dist/{options-BvJoSSJR.mjs → options-DQPTH5n0.mjs} +0 -0
  402. /package/dist/{passkey-config-DzHQK90v.mjs → passkey-config-BUwu8BA3.mjs} +0 -0
  403. /package/dist/{patterns-r-0n824Y.mjs → patterns-BhAvqO0S.mjs} +0 -0
  404. /package/dist/{provider-loader-DzUxejk7.mjs → provider-loader-D0w9dqjm.mjs} +0 -0
  405. /package/dist/{redirect-BjIBtDWY.mjs → redirect-wphRBv4y.mjs} +0 -0
  406. /package/dist/{request-cache-CYMbwZc6.mjs → request-cache-D9GQBxMP.mjs} +0 -0
  407. /package/dist/{resolve-DTuDyYKs.mjs → resolve-Cb6Dbz-C.mjs} +0 -0
  408. /package/dist/{setup-nonce-pyGfc9hV.mjs → setup-nonce-CoyjILvW.mjs} +0 -0
  409. /package/dist/{sidecar-client-mJxwayYN.mjs → sidecar-client-C3mqXg4C.mjs} +0 -0
  410. /package/dist/{slugify-BzGxlOFx.mjs → slugify-KSsVD_D3.mjs} +0 -0
  411. /package/dist/{ssrf-DiKqWd3N.mjs → ssrf-DWe8jwAp.mjs} +0 -0
  412. /package/dist/{transaction-CShMWIej.mjs → transaction-C2EOMTJA.mjs} +0 -0
  413. /package/dist/{transport-BnsNxh2l.d.mts → transport-CcJu3Co8.d.mts} +0 -0
  414. /package/dist/{trusted-proxy-BgIIcbsN.mjs → trusted-proxy-DTXQ2IMv.mjs} +0 -0
  415. /package/dist/{types-BO8TGjS8.mjs → types-B3t5cxhU.mjs} +0 -0
  416. /package/dist/{types-nP9vGUFq.d.mts → types-C46EvNdc.d.mts} +0 -0
  417. /package/dist/{types-Cg276-3z.mjs → types-C5CVgwsV.mjs} +0 -0
  418. /package/dist/{types-DZpT-PnG.d.mts → types-POH8PQZh.d.mts} +0 -0
  419. /package/dist/{types-Dryvv7LH.d.mts → types-Rc3gQqqw.d.mts} +0 -0
  420. /package/dist/{url-w7Mp5qAD.mjs → url-CpyFDFpO.mjs} +0 -0
@@ -1,39 +1,49 @@
1
1
  import "../../../../../dialect-helpers-fk43GbDb.mjs";
2
- import { n as slugify } from "../../../../../slugify-BzGxlOFx.mjs";
3
- import { t as ContentRepository } from "../../../../../content-QaryevFO.mjs";
4
- import "../../../../../base64-C1Q9yr0B.mjs";
5
- import "../../../../../types-DfuD0Afl.mjs";
6
- import "../../../../../media-DUAjMfvR.mjs";
7
- import "../../../../../options-BvJoSSJR.mjs";
8
- import "../../../../../site-activity-D7Xyropw.mjs";
9
- import "../../../../../review-requests-gGMyYYhy.mjs";
10
- import "../../../../../entity-aliases-Egjmqc7I.mjs";
11
- import "../../../../../request-cache-CYMbwZc6.mjs";
12
- import "../../../../../byline-registry-CUSvkasJ.mjs";
13
- import { t as BylineRepository } from "../../../../../byline-1ntDwv8c.mjs";
14
- import "../../../../../briefing-gKWiGLt1.mjs";
15
- import "../../../../../context-types-DQh_XKkn.mjs";
16
- import "../../../../../fts-manager-CIZlScg5.mjs";
17
- import { n as SchemaRegistry } from "../../../../../registry-CTkbIDB9.mjs";
18
- import "../../../../../loader-tg63WSY2.mjs";
19
- import "../../../../../settings-yLjz_I4T.mjs";
20
- import "../../../../../query-DKEwzobh.mjs";
21
- import "../../../../../zod-generator-BS9-umbk.mjs";
22
- import "../../../../../schema-B6zyB-Xn.mjs";
23
- import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-DCSuUAZW.mjs";
24
- import { n as parseBody, t as isParseError } from "../../../../../parse-CneSgl7-.mjs";
25
- import "../../../../../redirects-ocRJmQHP.mjs";
26
- import { u as wpPluginExecuteBody } from "../../../../../byline-fields-B-ZkoVft.mjs";
2
+ import "../../../../../base64-F8-DUraK.mjs";
3
+ import "../../../../../types-Dq1qT19x.mjs";
4
+ import "../../../../../loader-CjWqjweO.mjs";
5
+ import "../../../../../object-cache-D51qOseS.mjs";
6
+ import { n as slugify } from "../../../../../slugify-KSsVD_D3.mjs";
7
+ import { t as ContentRepository } from "../../../../../content-Bh4BDjv8.mjs";
8
+ import "../../../../../media-DMj0grzC.mjs";
9
+ import "../../../../../taxonomy-Dvsw6BOs.mjs";
10
+ import "../../../../../options-DQPTH5n0.mjs";
11
+ import "../../../../../site-activity-Dy3FROs0.mjs";
12
+ import "../../../../../review-requests-DUyEmtmG.mjs";
13
+ import "../../../../../hitl-Hw1RmWOq.mjs";
14
+ import "../../../../../request-cache-D9GQBxMP.mjs";
15
+ import "../../../../../byline-registry-87nNnYl4.mjs";
16
+ import "../../../../../field-defs-cache-DRNdhBJv.mjs";
17
+ import { t as BylineRepository } from "../../../../../byline-e51-fWRs.mjs";
18
+ import "../../../../../enrich-DIFIFA8O.mjs";
19
+ import "../../../../../briefing-CawZ59CY.mjs";
20
+ import "../../../../../context-types-DqTo6C79.mjs";
21
+ import "../../../../../content-refresh-CgutSUfO.mjs";
22
+ import "../../../../../fts-manager-Crzypjqu.mjs";
23
+ import { n as SchemaRegistry } from "../../../../../registry-CtyVedcN.mjs";
24
+ import "../../../../../settings-BbqgHWpU.mjs";
25
+ import "../../../../../query-jaAmw8E1.mjs";
26
+ import "../../../../../zod-generator-B7TMjyFJ.mjs";
27
+ import "../../../../../schema-DXdYj4R3.mjs";
28
+ import "../../../../../resolve-Cb6Dbz-C.mjs";
29
+ import "../../../../../taxonomies-DRiixp_E.mjs";
30
+ import { t as handleTaxonomyCreate } from "../../../../../taxonomies-9s-v03H-.mjs";
31
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-CytFlgcd.mjs";
32
+ import { n as parseBody, t as isParseError } from "../../../../../parse-CbymENaR.mjs";
33
+ import "../../../../../redirects-CA-xylPG.mjs";
34
+ import { u as wpPluginExecuteBody } from "../../../../../byline-fields-DOJO16Gm.mjs";
35
+ import "../../../../../status-DANd8ERo.mjs";
27
36
  import "../../../../../api/schemas/index.mjs";
28
- import "../../../../../parser-DxfsARXL.mjs";
29
- import { n as resolveAndValidateExternalUrl, t as SsrfError } from "../../../../../ssrf-DiKqWd3N.mjs";
30
- import { s as getSource } from "../../../../../import-CvHY6sf5.mjs";
31
- import { m as resolveImportByline } from "../../../../../utils-wv-zvC-Y.mjs";
32
- import "../../../../../search-axGQ1KY3.mjs";
33
- import { n as requirePerm } from "../../../../../authorize-BLO0m7fW.mjs";
34
- import { _ as RiskPolicyEvaluator, p as WordPressImportHitlPayloadBuilder } from "../../../../../site-context-DaN9Z91j.mjs";
35
- import "../../../../../activity-events-C9u37D5z.mjs";
36
- import { i as resolveHitlRouteActor, n as hitlRequiredRouteError, t as ensureWorkflowHitlRouteRequest } from "../../../../../hitl-route-helpers-GSDLNPpN.mjs";
37
+ import "../../../../../parser-C1nYd-81.mjs";
38
+ import { n as resolveAndValidateExternalUrl, t as SsrfError } from "../../../../../ssrf-DWe8jwAp.mjs";
39
+ import "../../../../../activity-events-y6eT8UW6.mjs";
40
+ import { C as importMenusFromPlugin, S as importCommentsFromPlugin, b as parseSiteSettingsFromPlugin, h as getSource, n as fetchPluginMenus, r as fetchPluginOptions, t as fetchPluginComments, y as importSiteSettings } from "../../../../../import-Bh9biJfx.mjs";
41
+ import { _ as sanitizeFieldSlug, g as resolveImportByline } from "../../../../../utils-CMDhr5Xd.mjs";
42
+ import "../../../../../search-DSaLgEFI.mjs";
43
+ import { n as requirePerm } from "../../../../../authorize-CcBxcHtz.mjs";
44
+ import { f as WordPressImportHitlPayloadBuilder, g as RiskPolicyEvaluator } from "../../../../../site-context-DQiL8Fl5.mjs";
45
+ import { i as resolveHitlRouteActor, n as hitlRequiredRouteError, t as ensureWorkflowHitlRouteRequest } from "../../../../../hitl-route-helpers-hEVzvP8l.mjs";
46
+ import { importMediaWithProgress } from "../wordpress/media.mjs";
37
47
  import { z } from "zod";
38
48
 
39
49
  //#region src/astro/routes/api/import/wordpress-plugin/execute.ts
@@ -92,7 +102,15 @@ const POST = async ({ request, locals }) => {
92
102
  includeDrafts: true
93
103
  });
94
104
  const manifest = await dineway.getManifest();
95
- const result = await importContent(items, config, dineway, manifest);
105
+ const { result, contentIdMap, collectionByWpId } = await importContent(items, config, dineway, manifest);
106
+ await importPluginFollowups({
107
+ dineway,
108
+ url: body.url,
109
+ token: body.token,
110
+ result,
111
+ contentIdMap,
112
+ collectionByWpId
113
+ });
96
114
  console.log("[WP Plugin Import] Import result:", JSON.stringify(result, null, 2));
97
115
  return apiSuccess({
98
116
  success: true,
@@ -127,8 +145,168 @@ const IMPORT_FIELDS = [
127
145
  label: "Featured Image",
128
146
  type: "image",
129
147
  check: (item) => !!item.featuredImage
148
+ },
149
+ {
150
+ slug: "seo_title",
151
+ label: "SEO Title",
152
+ type: "string",
153
+ check: (item) => !!extractSeo(item).title
154
+ },
155
+ {
156
+ slug: "seo_description",
157
+ label: "SEO Description",
158
+ type: "text",
159
+ check: (item) => !!extractSeo(item).description
130
160
  }
131
161
  ];
162
+ /**
163
+ * Coerce WordPress meta values to the destination Dineway field type.
164
+ * Returns undefined when the value cannot be represented safely.
165
+ */
166
+ function coerceToFieldType(value, fieldType) {
167
+ switch (fieldType) {
168
+ case "integer": {
169
+ const n = typeof value === "number" ? value : Number(value);
170
+ return Number.isInteger(n) ? n : void 0;
171
+ }
172
+ case "number": {
173
+ const n = typeof value === "number" ? value : Number(value);
174
+ return Number.isFinite(n) ? n : void 0;
175
+ }
176
+ case "boolean":
177
+ if (typeof value === "boolean") return value;
178
+ if (value === 1 || value === "1" || value === "true" || value === "yes") return true;
179
+ if (value === 0 || value === "0" || value === "false" || value === "no") return false;
180
+ return;
181
+ case "datetime": {
182
+ if (typeof value !== "string" && typeof value !== "number") return void 0;
183
+ const d = new Date(value);
184
+ return Number.isNaN(d.getTime()) ? void 0 : d.toISOString();
185
+ }
186
+ case "json": return value;
187
+ case "string":
188
+ case "text":
189
+ case "url":
190
+ case "select":
191
+ case "slug":
192
+ case "reference":
193
+ if (typeof value === "string") return value;
194
+ if (typeof value === "number") return String(value);
195
+ return;
196
+ default: return typeof value === "object" && value !== null ? value : void 0;
197
+ }
198
+ }
199
+ function pickSeoValue(blob, key) {
200
+ if (typeof blob !== "object" || blob === null) return void 0;
201
+ const value = blob[key];
202
+ return typeof value === "string" && value.trim() !== "" ? value : void 0;
203
+ }
204
+ function extractSeo(item) {
205
+ const yoast = item.meta?._yoast;
206
+ const rankmath = item.meta?._rankmath;
207
+ return {
208
+ title: pickSeoValue(yoast, "title") ?? pickSeoValue(rankmath, "title"),
209
+ description: pickSeoValue(yoast, "description") ?? pickSeoValue(rankmath, "description")
210
+ };
211
+ }
212
+ const BUILTIN_TAXONOMIES = new Set([
213
+ "category",
214
+ "post_tag",
215
+ "nav_menu",
216
+ "post_format"
217
+ ]);
218
+ const TAXONOMY_NAME_PATTERN = /^[a-z][a-z0-9_]*$/;
219
+ function manifestFieldType(field) {
220
+ if (typeof field !== "object" || field === null) return void 0;
221
+ if ("kind" in field && typeof field.kind === "string") return field.kind;
222
+ if ("type" in field && typeof field.type === "string") return field.type;
223
+ }
224
+ async function ensureCustomTaxonomyDefs(db, taxonomies, config) {
225
+ const created = [];
226
+ for (const taxonomy of taxonomies) {
227
+ if (BUILTIN_TAXONOMIES.has(taxonomy.name)) continue;
228
+ if (taxonomy.terms.length === 0) continue;
229
+ if (!TAXONOMY_NAME_PATTERN.test(taxonomy.name)) continue;
230
+ if (await db.selectFrom("_dineway_taxonomy_defs").select("id").where("name", "=", taxonomy.name).executeTakeFirst()) continue;
231
+ const collections = (taxonomy.post_types ?? []).map((postType) => config.postTypeMappings[postType]).filter((mapping) => mapping?.enabled).map((mapping) => mapping.collection);
232
+ const result = await handleTaxonomyCreate(db, {
233
+ name: taxonomy.name,
234
+ label: taxonomy.label,
235
+ labelSingular: taxonomy.label_singular,
236
+ hierarchical: taxonomy.hierarchical,
237
+ collections: [...new Set(collections)]
238
+ });
239
+ if (result.success) created.push(taxonomy.name);
240
+ else console.warn(`[WP Plugin Import] Could not create taxonomy '${taxonomy.name}':`, result.error.message);
241
+ }
242
+ return created;
243
+ }
244
+ async function importPluginFollowups({ dineway, url, token, result, contentIdMap, collectionByWpId, fetchers }) {
245
+ const fetchMenus = fetchers?.menus ?? fetchPluginMenus;
246
+ const fetchComments = fetchers?.comments ?? fetchPluginComments;
247
+ const fetchOptions = fetchers?.options ?? fetchPluginOptions;
248
+ try {
249
+ const menus = await fetchMenus(url, token);
250
+ if (menus.length > 0) {
251
+ const menuResult = await importMenusFromPlugin(menus, dineway.db, contentIdMap);
252
+ result.menus = {
253
+ created: menuResult.menusCreated,
254
+ items: menuResult.itemsCreated
255
+ };
256
+ for (const menuError of menuResult.errors) result.errors.push({
257
+ title: `Menu: ${menuError.menu}`,
258
+ error: menuError.error
259
+ });
260
+ }
261
+ } catch (error) {
262
+ console.warn("[WP Plugin Import] Menu import failed:", error);
263
+ }
264
+ try {
265
+ const comments = await fetchComments(url, token);
266
+ if (comments.length > 0) {
267
+ const commentsResult = await importCommentsFromPlugin(comments, dineway.db, contentIdMap, collectionByWpId);
268
+ result.comments = {
269
+ imported: commentsResult.imported,
270
+ skipped: commentsResult.skipped
271
+ };
272
+ for (const commentError of commentsResult.errors) result.errors.push({
273
+ title: `Comment: ${commentError.comment}`,
274
+ error: commentError.error
275
+ });
276
+ }
277
+ } catch (error) {
278
+ console.warn("[WP Plugin Import] Comment import failed:", error);
279
+ }
280
+ try {
281
+ result.siteSettings = await applySiteSettings(dineway, url, token, fetchOptions);
282
+ } catch (error) {
283
+ console.warn("[WP Plugin Import] Site settings import failed:", error);
284
+ }
285
+ }
286
+ async function applySiteSettings(dineway, url, token, fetchOptions) {
287
+ const parsed = parseSiteSettingsFromPlugin(await fetchOptions(url, token));
288
+ const media = {};
289
+ const storage = dineway.storage;
290
+ if (storage && (parsed.logo?.url || parsed.favicon?.url)) {
291
+ const attachments = [];
292
+ if (parsed.logo?.url) attachments.push({
293
+ id: parsed.logo.id,
294
+ url: parsed.logo.url
295
+ });
296
+ if (parsed.favicon?.url && parsed.favicon.url !== parsed.logo?.url) attachments.push({
297
+ id: parsed.favicon.id,
298
+ url: parsed.favicon.url
299
+ });
300
+ const mediaResult = await importMediaWithProgress(attachments, dineway.db, storage, () => {});
301
+ for (const item of mediaResult.imported) {
302
+ if (item.originalUrl === parsed.logo?.url) media.logoMediaId = item.mediaId;
303
+ if (item.originalUrl === parsed.favicon?.url) media.faviconMediaId = item.mediaId;
304
+ }
305
+ }
306
+ const settingsResult = await importSiteSettings(parsed, dineway.db, true, media);
307
+ for (const settingError of settingsResult.errors) console.warn(`[WP Plugin Import] Site setting "${settingError.setting}" failed:`, settingError.error);
308
+ return settingsResult.applied;
309
+ }
132
310
  async function importContent(items, config, dineway, manifest) {
133
311
  const result = {
134
312
  success: true,
@@ -137,11 +315,14 @@ async function importContent(items, config, dineway, manifest) {
137
315
  errors: [],
138
316
  byCollection: {}
139
317
  };
318
+ const contentIdMap = /* @__PURE__ */ new Map();
319
+ const collectionByWpId = /* @__PURE__ */ new Map();
140
320
  const contentRepo = new ContentRepository(dineway.db);
141
321
  const bylineRepo = new BylineRepository(dineway.db);
142
322
  const bylineCache = /* @__PURE__ */ new Map();
143
323
  const schemaRegistry = new SchemaRegistry(dineway.db);
144
- const ensuredCollections = /* @__PURE__ */ new Set();
324
+ const ensuredFields = /* @__PURE__ */ new Set();
325
+ const fieldTypesByCollection = /* @__PURE__ */ new Map();
145
326
  const translationGroupMap = /* @__PURE__ */ new Map();
146
327
  for await (const item of items) {
147
328
  console.log("[WP Plugin Import] Processing item:", {
@@ -168,29 +349,50 @@ async function importContent(items, config, dineway, manifest) {
168
349
  continue;
169
350
  }
170
351
  try {
171
- if (!ensuredCollections.has(collection)) {
172
- for (const field of IMPORT_FIELDS) if (field.check(item)) {
173
- if (!await schemaRegistry.getField(collection, field.slug)) {
174
- console.log(`[WP Plugin Import] Creating missing field "${field.slug}" in collection "${collection}"`);
175
- try {
176
- await schemaRegistry.createField(collection, {
177
- slug: field.slug,
178
- label: field.label,
179
- type: field.type,
180
- required: false
181
- });
182
- } catch (e) {
183
- console.log(`[WP Plugin Import] Field "${field.slug}" creation skipped:`, e instanceof Error ? e.message : e);
184
- }
352
+ for (const field of IMPORT_FIELDS) {
353
+ const ensureKey = `${collection}:${field.slug}`;
354
+ if (ensuredFields.has(ensureKey) || !field.check(item)) continue;
355
+ ensuredFields.add(ensureKey);
356
+ if (!await schemaRegistry.getField(collection, field.slug)) {
357
+ console.log(`[WP Plugin Import] Creating missing field "${field.slug}" in collection "${collection}"`);
358
+ try {
359
+ await schemaRegistry.createField(collection, {
360
+ slug: field.slug,
361
+ label: field.label,
362
+ type: field.type,
363
+ required: false
364
+ });
365
+ fieldTypesByCollection.get(collection)?.set(field.slug, field.type);
366
+ } catch (e) {
367
+ console.log(`[WP Plugin Import] Field "${field.slug}" creation skipped:`, e instanceof Error ? e.message : e);
185
368
  }
186
369
  }
187
- ensuredCollections.add(collection);
370
+ }
371
+ let fieldTypes = fieldTypesByCollection.get(collection);
372
+ if (!fieldTypes) {
373
+ fieldTypes = /* @__PURE__ */ new Map();
374
+ const manifestFields = manifest.collections[collection]?.fields ?? {};
375
+ for (const [slug, field] of Object.entries(manifestFields)) {
376
+ const fieldType = manifestFieldType(field);
377
+ if (fieldType) fieldTypes.set(slug, fieldType);
378
+ }
379
+ const registryWithLists = schemaRegistry;
380
+ if (typeof registryWithLists.getCollection === "function" && typeof registryWithLists.listFields === "function") {
381
+ const collectionDef = await registryWithLists.getCollection(collection);
382
+ for (const field of collectionDef ? await registryWithLists.listFields(collectionDef.id) : []) fieldTypes.set(field.slug, field.type);
383
+ }
384
+ fieldTypesByCollection.set(collection, fieldTypes);
188
385
  }
189
386
  const slug = item.slug || slugify(item.title || `post-${item.sourceId}`);
190
387
  if (config.skipExisting) {
191
388
  const existing = await contentRepo.findBySlug(collection, slug, item.locale);
192
389
  if (existing) {
193
390
  if (item.translationGroup) translationGroupMap.set(item.translationGroup, existing.id);
391
+ const wpId = Number(item.sourceId);
392
+ if (Number.isFinite(wpId)) {
393
+ contentIdMap.set(wpId, existing.id);
394
+ collectionByWpId.set(wpId, collection);
395
+ }
194
396
  result.skipped++;
195
397
  continue;
196
398
  }
@@ -204,6 +406,23 @@ async function importContent(items, config, dineway, manifest) {
204
406
  data.featured_image = item.featuredImage;
205
407
  console.log("[WP Plugin Import] Adding featured_image:", item.featuredImage);
206
408
  }
409
+ const seo = extractSeo(item);
410
+ if (seo.title) data.seo_title = seo.title;
411
+ if (seo.description) data.seo_description = seo.description;
412
+ const assignMetaValue = (key, value) => {
413
+ if (value === null || value === "") return;
414
+ const fieldSlug = sanitizeFieldSlug(key);
415
+ const fieldType = fieldTypes.get(fieldSlug);
416
+ if (!fieldType || fieldSlug in data) return;
417
+ const coerced = coerceToFieldType(value, fieldType);
418
+ if (coerced !== void 0) data[fieldSlug] = coerced;
419
+ };
420
+ const acf = item.meta?._acf;
421
+ if (typeof acf === "object" && acf !== null) for (const [key, value] of Object.entries(acf)) assignMetaValue(key, value);
422
+ if (item.meta) for (const [key, value] of Object.entries(item.meta)) {
423
+ if (key.startsWith("_")) continue;
424
+ assignMetaValue(key, value);
425
+ }
207
426
  let authorId;
208
427
  if (config.authorMappings && item.author) {
209
428
  const mappedUserId = config.authorMappings[item.author];
@@ -232,10 +451,15 @@ async function importContent(items, config, dineway, manifest) {
232
451
  if (createResult.success) {
233
452
  result.imported++;
234
453
  result.byCollection[collection] = (result.byCollection[collection] || 0) + 1;
235
- if (item.translationGroup && !translationGroupMap.has(item.translationGroup)) {
236
- const createdData = createResult.data;
237
- if (createdData?.id) translationGroupMap.set(item.translationGroup, createdData.id);
454
+ const createdId = createResult.data?.item?.id;
455
+ if (createdId) {
456
+ const wpId = Number(item.sourceId);
457
+ if (Number.isFinite(wpId)) {
458
+ contentIdMap.set(wpId, createdId);
459
+ collectionByWpId.set(wpId, collection);
460
+ }
238
461
  }
462
+ if (item.translationGroup && !translationGroupMap.has(item.translationGroup) && createdId) translationGroupMap.set(item.translationGroup, createdId);
239
463
  } else result.errors.push({
240
464
  title: item.title || "Untitled",
241
465
  error: typeof createResult.error === "object" && createResult.error !== null ? createResult.error.message || "Unknown error" : String(createResult.error)
@@ -249,7 +473,11 @@ async function importContent(items, config, dineway, manifest) {
249
473
  }
250
474
  }
251
475
  result.success = result.errors.length === 0;
252
- return result;
476
+ return {
477
+ result,
478
+ contentIdMap,
479
+ collectionByWpId
480
+ };
253
481
  }
254
482
  function mapStatus(wpStatus) {
255
483
  switch (wpStatus) {
@@ -267,4 +495,4 @@ async function collectPluginItems(items) {
267
495
  }
268
496
 
269
497
  //#endregion
270
- export { POST, prerender };
498
+ export { POST, coerceToFieldType, ensureCustomTaxonomyDefs, importContent, importPluginFollowups, prerender };
@@ -1,7 +1,8 @@
1
- import { n as VERSION, t as COMMIT } from "../../../version-xlzMSXF2.mjs";
2
- import { r as handleError } from "../../../error-DCSuUAZW.mjs";
3
- import { t as getAuthMode } from "../../../mode-CpyEz8pe.mjs";
4
- import { i as experimentalSiteContextWorkflowsEnabled } from "../../../experimental-workflows-Dh4DUoD_.mjs";
1
+ import { t as OptionsRepository } from "../../../options-DQPTH5n0.mjs";
2
+ import { n as VERSION, t as COMMIT } from "../../../version-BTvfRGc6.mjs";
3
+ import { r as handleError } from "../../../error-CytFlgcd.mjs";
4
+ import { t as getAuthMode } from "../../../mode-C4CIyjtR.mjs";
5
+ import { i as experimentalSiteContextWorkflowsEnabled } from "../../../experimental-workflows-BMsUnIAw.mjs";
5
6
 
6
7
  //#region src/astro/routes/api/manifest.ts
7
8
  const prerender = false;
@@ -10,7 +11,15 @@ const GET = async ({ locals }) => {
10
11
  const { dineway } = locals;
11
12
  const manifestSource = dineway ? await dineway.getManifest() : null;
12
13
  const authMode = getAuthMode(dineway?.config);
13
- const adminBranding = manifestSource?.admin ?? dineway?.config.admin;
14
+ let adminBranding = manifestSource?.admin ?? dineway?.config.admin;
15
+ if (!adminBranding?.siteName && dineway?.db) try {
16
+ const titles = await new OptionsRepository(dineway.db).getMany(["site:title", "dineway:site_title"]);
17
+ const siteTitle = titles.get("site:title") ?? titles.get("dineway:site_title");
18
+ if (siteTitle) adminBranding = {
19
+ ...adminBranding,
20
+ siteName: siteTitle
21
+ };
22
+ } catch {}
14
23
  let signupEnabled = false;
15
24
  if (dineway?.db && authMode.type === "passkey") try {
16
25
  const { sql } = await import("kysely");