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,39 +1,50 @@
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 { n as slugify } from "../../../../../slugify-BqebcqBg.mjs";
6
- import { t as ContentRepository } from "../../../../../content-CBxYGWfL.mjs";
7
- import "../../../../../media-CbKyYukG.mjs";
8
- import "../../../../../options-LsPjZlqD.mjs";
9
- import "../../../../../site-activity-DONFrMBJ.mjs";
10
- import "../../../../../review-requests-BW2NxY-l.mjs";
11
- import "../../../../../entity-aliases-4y93Yjuc.mjs";
12
- import "../../../../../request-cache-ho99schz.mjs";
13
- import "../../../../../byline-registry-4v6tXMNX.mjs";
14
- import { t as BylineRepository } from "../../../../../byline-BVC1lV6G.mjs";
15
- import "../../../../../briefing-CkTee1ex.mjs";
16
- import "../../../../../context-types-r8oFvyOq.mjs";
17
- import "../../../../../fts-manager-B5l_qwrA.mjs";
18
- import { n as SchemaRegistry } from "../../../../../registry-D7HACema.mjs";
19
- import "../../../../../settings-CUXOxzsT.mjs";
20
- import "../../../../../query-CZ3TH_Uu.mjs";
21
- import "../../../../../zod-generator-K91-g665.mjs";
22
- import "../../../../../schema-Bsi-VpYv.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-cNrLJVRs.mjs";
3
+ import "../../../../../types-ChxYDRvx.mjs";
4
+ import "../../../../../loader-aWkkc1_o.mjs";
5
+ import "../../../../../object-cache-D51qOseS.mjs";
6
+ import { n as slugify } from "../../../../../slugify-KSsVD_D3.mjs";
7
+ import { t as ContentRepository } from "../../../../../content-DJcAYFhz.mjs";
8
+ import "../../../../../media-CVMOoywq.mjs";
9
+ import "../../../../../taxonomy-0k_vRVsD.mjs";
10
+ import "../../../../../options-DQPTH5n0.mjs";
11
+ import "../../../../../site-activity-h8smOlYI.mjs";
12
+ import "../../../../../review-requests-CTWGnWUt.mjs";
13
+ import "../../../../../publication-authorization-RKiHXKtq.mjs";
14
+ import { f as WordPressImportHitlPayloadBuilder, g as RiskPolicyEvaluator } from "../../../../../site-context-B8T1kpUP.mjs";
15
+ import "../../../../../request-cache-CBFjCwSt.mjs";
16
+ import "../../../../../byline-registry-Ba54M74c.mjs";
17
+ import "../../../../../field-defs-cache-DL-T2XVS.mjs";
18
+ import { t as BylineRepository } from "../../../../../byline-7xR185Ly.mjs";
19
+ import "../../../../../enrich-Ck9tfMqe.mjs";
20
+ import "../../../../../briefing-0rf-su3-.mjs";
21
+ import "../../../../../context-types-eBuMDAg-.mjs";
22
+ import "../../../../../content-refresh-B4ZCmxgd.mjs";
23
+ import "../../../../../fts-manager-ewTGohf4.mjs";
24
+ import { n as SchemaRegistry } from "../../../../../registry-BYYyb2tF.mjs";
25
+ import "../../../../../settings-BECcAIRH.mjs";
26
+ import "../../../../../query-C2U5u5_p.mjs";
27
+ import "../../../../../zod-generator-C7AsLpSB.mjs";
28
+ import "../../../../../schema-DUtnZxjZ.mjs";
29
+ import "../../../../../resolve-DE71WcL9.mjs";
30
+ import "../../../../../taxonomies-DSnY5nOa.mjs";
31
+ import { t as handleTaxonomyCreate } from "../../../../../taxonomies-BiM9NtgW.mjs";
32
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-CSVaQNZy.mjs";
33
+ import { n as parseBody, t as isParseError } from "../../../../../parse-i15EFSAE.mjs";
34
+ import "../../../../../redirects-Bhpm8bRe.mjs";
35
+ import { u as wpPluginExecuteBody } from "../../../../../byline-fields-WN7RQT4q.mjs";
36
+ import "../../../../../status-NqWOSFAD.mjs";
27
37
  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-4YBXbDkI.mjs";
31
- import { m as resolveImportByline } from "../../../../../utils-B8hBJ9Oz.mjs";
32
- import "../../../../../search-Gdrqj582.mjs";
33
- import { n as requirePerm } from "../../../../../authorize-BLO0m7fW.mjs";
34
- import { _ as RiskPolicyEvaluator, p as WordPressImportHitlPayloadBuilder } from "../../../../../site-context-C8Az_P_I.mjs";
35
- import "../../../../../activity-events-CwM7yxPW.mjs";
36
- import { i as resolveHitlRouteActor, n as hitlRequiredRouteError, t as ensureWorkflowHitlRouteRequest } from "../../../../../hitl-route-helpers-k---_H3-.mjs";
38
+ import "../../../../../parser-06LLLL4E.mjs";
39
+ import { n as resolveAndValidateExternalUrl, t as SsrfError } from "../../../../../ssrf-FJqwQzj4.mjs";
40
+ import "../../../../../activity-DUaz_w7p.mjs";
41
+ import "../../../../../activity-events-CJDvE2uc.mjs";
42
+ import { _ as sanitizeFieldSlug, g as resolveImportByline } from "../../../../../utils-D1SrKGtP.mjs";
43
+ import "../../../../../search-DUKgZUlm.mjs";
44
+ 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-CXXL5pip.mjs";
45
+ import { n as requirePerm } from "../../../../../authorize-ZXPGPwKn.mjs";
46
+ import { i as resolveHitlRouteActor, n as hitlRequiredRouteError, t as ensureWorkflowHitlRouteRequest } from "../../../../../hitl-route-helpers-C23JHaWz.mjs";
47
+ import { importMediaWithProgress } from "../wordpress/media.mjs";
37
48
  import { z } from "zod";
38
49
 
39
50
  //#region src/astro/routes/api/import/wordpress-plugin/execute.ts
@@ -92,7 +103,15 @@ const POST = async ({ request, locals }) => {
92
103
  includeDrafts: true
93
104
  });
94
105
  const manifest = await dineway.getManifest();
95
- const result = await importContent(items, config, dineway, manifest);
106
+ const { result, contentIdMap, collectionByWpId } = await importContent(items, config, dineway, manifest);
107
+ await importPluginFollowups({
108
+ dineway,
109
+ url: body.url,
110
+ token: body.token,
111
+ result,
112
+ contentIdMap,
113
+ collectionByWpId
114
+ });
96
115
  console.log("[WP Plugin Import] Import result:", JSON.stringify(result, null, 2));
97
116
  return apiSuccess({
98
117
  success: true,
@@ -127,8 +146,168 @@ const IMPORT_FIELDS = [
127
146
  label: "Featured Image",
128
147
  type: "image",
129
148
  check: (item) => !!item.featuredImage
149
+ },
150
+ {
151
+ slug: "seo_title",
152
+ label: "SEO Title",
153
+ type: "string",
154
+ check: (item) => !!extractSeo(item).title
155
+ },
156
+ {
157
+ slug: "seo_description",
158
+ label: "SEO Description",
159
+ type: "text",
160
+ check: (item) => !!extractSeo(item).description
130
161
  }
131
162
  ];
163
+ /**
164
+ * Coerce WordPress meta values to the destination Dineway field type.
165
+ * Returns undefined when the value cannot be represented safely.
166
+ */
167
+ function coerceToFieldType(value, fieldType) {
168
+ switch (fieldType) {
169
+ case "integer": {
170
+ const n = typeof value === "number" ? value : Number(value);
171
+ return Number.isInteger(n) ? n : void 0;
172
+ }
173
+ case "number": {
174
+ const n = typeof value === "number" ? value : Number(value);
175
+ return Number.isFinite(n) ? n : void 0;
176
+ }
177
+ case "boolean":
178
+ if (typeof value === "boolean") return value;
179
+ if (value === 1 || value === "1" || value === "true" || value === "yes") return true;
180
+ if (value === 0 || value === "0" || value === "false" || value === "no") return false;
181
+ return;
182
+ case "datetime": {
183
+ if (typeof value !== "string" && typeof value !== "number") return void 0;
184
+ const d = new Date(value);
185
+ return Number.isNaN(d.getTime()) ? void 0 : d.toISOString();
186
+ }
187
+ case "json": return value;
188
+ case "string":
189
+ case "text":
190
+ case "url":
191
+ case "select":
192
+ case "slug":
193
+ case "reference":
194
+ if (typeof value === "string") return value;
195
+ if (typeof value === "number") return String(value);
196
+ return;
197
+ default: return typeof value === "object" && value !== null ? value : void 0;
198
+ }
199
+ }
200
+ function pickSeoValue(blob, key) {
201
+ if (typeof blob !== "object" || blob === null) return void 0;
202
+ const value = blob[key];
203
+ return typeof value === "string" && value.trim() !== "" ? value : void 0;
204
+ }
205
+ function extractSeo(item) {
206
+ const yoast = item.meta?._yoast;
207
+ const rankmath = item.meta?._rankmath;
208
+ return {
209
+ title: pickSeoValue(yoast, "title") ?? pickSeoValue(rankmath, "title"),
210
+ description: pickSeoValue(yoast, "description") ?? pickSeoValue(rankmath, "description")
211
+ };
212
+ }
213
+ const BUILTIN_TAXONOMIES = new Set([
214
+ "category",
215
+ "post_tag",
216
+ "nav_menu",
217
+ "post_format"
218
+ ]);
219
+ const TAXONOMY_NAME_PATTERN = /^[a-z][a-z0-9_]*$/;
220
+ function manifestFieldType(field) {
221
+ if (typeof field !== "object" || field === null) return void 0;
222
+ if ("kind" in field && typeof field.kind === "string") return field.kind;
223
+ if ("type" in field && typeof field.type === "string") return field.type;
224
+ }
225
+ async function ensureCustomTaxonomyDefs(db, taxonomies, config) {
226
+ const created = [];
227
+ for (const taxonomy of taxonomies) {
228
+ if (BUILTIN_TAXONOMIES.has(taxonomy.name)) continue;
229
+ if (taxonomy.terms.length === 0) continue;
230
+ if (!TAXONOMY_NAME_PATTERN.test(taxonomy.name)) continue;
231
+ if (await db.selectFrom("_dineway_taxonomy_defs").select("id").where("name", "=", taxonomy.name).executeTakeFirst()) continue;
232
+ const collections = (taxonomy.post_types ?? []).map((postType) => config.postTypeMappings[postType]).filter((mapping) => mapping?.enabled).map((mapping) => mapping.collection);
233
+ const result = await handleTaxonomyCreate(db, {
234
+ name: taxonomy.name,
235
+ label: taxonomy.label,
236
+ labelSingular: taxonomy.label_singular,
237
+ hierarchical: taxonomy.hierarchical,
238
+ collections: [...new Set(collections)]
239
+ });
240
+ if (result.success) created.push(taxonomy.name);
241
+ else console.warn(`[WP Plugin Import] Could not create taxonomy '${taxonomy.name}':`, result.error.message);
242
+ }
243
+ return created;
244
+ }
245
+ async function importPluginFollowups({ dineway, url, token, result, contentIdMap, collectionByWpId, fetchers }) {
246
+ const fetchMenus = fetchers?.menus ?? fetchPluginMenus;
247
+ const fetchComments = fetchers?.comments ?? fetchPluginComments;
248
+ const fetchOptions = fetchers?.options ?? fetchPluginOptions;
249
+ try {
250
+ const menus = await fetchMenus(url, token);
251
+ if (menus.length > 0) {
252
+ const menuResult = await importMenusFromPlugin(menus, dineway.db, contentIdMap);
253
+ result.menus = {
254
+ created: menuResult.menusCreated,
255
+ items: menuResult.itemsCreated
256
+ };
257
+ for (const menuError of menuResult.errors) result.errors.push({
258
+ title: `Menu: ${menuError.menu}`,
259
+ error: menuError.error
260
+ });
261
+ }
262
+ } catch (error) {
263
+ console.warn("[WP Plugin Import] Menu import failed:", error);
264
+ }
265
+ try {
266
+ const comments = await fetchComments(url, token);
267
+ if (comments.length > 0) {
268
+ const commentsResult = await importCommentsFromPlugin(comments, dineway.db, contentIdMap, collectionByWpId);
269
+ result.comments = {
270
+ imported: commentsResult.imported,
271
+ skipped: commentsResult.skipped
272
+ };
273
+ for (const commentError of commentsResult.errors) result.errors.push({
274
+ title: `Comment: ${commentError.comment}`,
275
+ error: commentError.error
276
+ });
277
+ }
278
+ } catch (error) {
279
+ console.warn("[WP Plugin Import] Comment import failed:", error);
280
+ }
281
+ try {
282
+ result.siteSettings = await applySiteSettings(dineway, url, token, fetchOptions);
283
+ } catch (error) {
284
+ console.warn("[WP Plugin Import] Site settings import failed:", error);
285
+ }
286
+ }
287
+ async function applySiteSettings(dineway, url, token, fetchOptions) {
288
+ const parsed = parseSiteSettingsFromPlugin(await fetchOptions(url, token));
289
+ const media = {};
290
+ const storage = dineway.storage;
291
+ if (storage && (parsed.logo?.url || parsed.favicon?.url)) {
292
+ const attachments = [];
293
+ if (parsed.logo?.url) attachments.push({
294
+ id: parsed.logo.id,
295
+ url: parsed.logo.url
296
+ });
297
+ if (parsed.favicon?.url && parsed.favicon.url !== parsed.logo?.url) attachments.push({
298
+ id: parsed.favicon.id,
299
+ url: parsed.favicon.url
300
+ });
301
+ const mediaResult = await importMediaWithProgress(attachments, dineway.db, storage, () => {});
302
+ for (const item of mediaResult.imported) {
303
+ if (item.originalUrl === parsed.logo?.url) media.logoMediaId = item.mediaId;
304
+ if (item.originalUrl === parsed.favicon?.url) media.faviconMediaId = item.mediaId;
305
+ }
306
+ }
307
+ const settingsResult = await importSiteSettings(parsed, dineway.db, true, media);
308
+ for (const settingError of settingsResult.errors) console.warn(`[WP Plugin Import] Site setting "${settingError.setting}" failed:`, settingError.error);
309
+ return settingsResult.applied;
310
+ }
132
311
  async function importContent(items, config, dineway, manifest) {
133
312
  const result = {
134
313
  success: true,
@@ -137,11 +316,14 @@ async function importContent(items, config, dineway, manifest) {
137
316
  errors: [],
138
317
  byCollection: {}
139
318
  };
319
+ const contentIdMap = /* @__PURE__ */ new Map();
320
+ const collectionByWpId = /* @__PURE__ */ new Map();
140
321
  const contentRepo = new ContentRepository(dineway.db);
141
322
  const bylineRepo = new BylineRepository(dineway.db);
142
323
  const bylineCache = /* @__PURE__ */ new Map();
143
324
  const schemaRegistry = new SchemaRegistry(dineway.db);
144
- const ensuredCollections = /* @__PURE__ */ new Set();
325
+ const ensuredFields = /* @__PURE__ */ new Set();
326
+ const fieldTypesByCollection = /* @__PURE__ */ new Map();
145
327
  const translationGroupMap = /* @__PURE__ */ new Map();
146
328
  for await (const item of items) {
147
329
  console.log("[WP Plugin Import] Processing item:", {
@@ -168,29 +350,50 @@ async function importContent(items, config, dineway, manifest) {
168
350
  continue;
169
351
  }
170
352
  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
- }
353
+ for (const field of IMPORT_FIELDS) {
354
+ const ensureKey = `${collection}:${field.slug}`;
355
+ if (ensuredFields.has(ensureKey) || !field.check(item)) continue;
356
+ ensuredFields.add(ensureKey);
357
+ if (!await schemaRegistry.getField(collection, field.slug)) {
358
+ console.log(`[WP Plugin Import] Creating missing field "${field.slug}" in collection "${collection}"`);
359
+ try {
360
+ await schemaRegistry.createField(collection, {
361
+ slug: field.slug,
362
+ label: field.label,
363
+ type: field.type,
364
+ required: false
365
+ });
366
+ fieldTypesByCollection.get(collection)?.set(field.slug, field.type);
367
+ } catch (e) {
368
+ console.log(`[WP Plugin Import] Field "${field.slug}" creation skipped:`, e instanceof Error ? e.message : e);
185
369
  }
186
370
  }
187
- ensuredCollections.add(collection);
371
+ }
372
+ let fieldTypes = fieldTypesByCollection.get(collection);
373
+ if (!fieldTypes) {
374
+ fieldTypes = /* @__PURE__ */ new Map();
375
+ const manifestFields = manifest.collections[collection]?.fields ?? {};
376
+ for (const [slug, field] of Object.entries(manifestFields)) {
377
+ const fieldType = manifestFieldType(field);
378
+ if (fieldType) fieldTypes.set(slug, fieldType);
379
+ }
380
+ const registryWithLists = schemaRegistry;
381
+ if (typeof registryWithLists.getCollection === "function" && typeof registryWithLists.listFields === "function") {
382
+ const collectionDef = await registryWithLists.getCollection(collection);
383
+ for (const field of collectionDef ? await registryWithLists.listFields(collectionDef.id) : []) fieldTypes.set(field.slug, field.type);
384
+ }
385
+ fieldTypesByCollection.set(collection, fieldTypes);
188
386
  }
189
387
  const slug = item.slug || slugify(item.title || `post-${item.sourceId}`);
190
388
  if (config.skipExisting) {
191
389
  const existing = await contentRepo.findBySlug(collection, slug, item.locale);
192
390
  if (existing) {
193
391
  if (item.translationGroup) translationGroupMap.set(item.translationGroup, existing.id);
392
+ const wpId = Number(item.sourceId);
393
+ if (Number.isFinite(wpId)) {
394
+ contentIdMap.set(wpId, existing.id);
395
+ collectionByWpId.set(wpId, collection);
396
+ }
194
397
  result.skipped++;
195
398
  continue;
196
399
  }
@@ -204,6 +407,23 @@ async function importContent(items, config, dineway, manifest) {
204
407
  data.featured_image = item.featuredImage;
205
408
  console.log("[WP Plugin Import] Adding featured_image:", item.featuredImage);
206
409
  }
410
+ const seo = extractSeo(item);
411
+ if (seo.title) data.seo_title = seo.title;
412
+ if (seo.description) data.seo_description = seo.description;
413
+ const assignMetaValue = (key, value) => {
414
+ if (value === null || value === "") return;
415
+ const fieldSlug = sanitizeFieldSlug(key);
416
+ const fieldType = fieldTypes.get(fieldSlug);
417
+ if (!fieldType || fieldSlug in data) return;
418
+ const coerced = coerceToFieldType(value, fieldType);
419
+ if (coerced !== void 0) data[fieldSlug] = coerced;
420
+ };
421
+ const acf = item.meta?._acf;
422
+ if (typeof acf === "object" && acf !== null) for (const [key, value] of Object.entries(acf)) assignMetaValue(key, value);
423
+ if (item.meta) for (const [key, value] of Object.entries(item.meta)) {
424
+ if (key.startsWith("_")) continue;
425
+ assignMetaValue(key, value);
426
+ }
207
427
  let authorId;
208
428
  if (config.authorMappings && item.author) {
209
429
  const mappedUserId = config.authorMappings[item.author];
@@ -232,10 +452,15 @@ async function importContent(items, config, dineway, manifest) {
232
452
  if (createResult.success) {
233
453
  result.imported++;
234
454
  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);
455
+ const createdId = createResult.data?.item?.id;
456
+ if (createdId) {
457
+ const wpId = Number(item.sourceId);
458
+ if (Number.isFinite(wpId)) {
459
+ contentIdMap.set(wpId, createdId);
460
+ collectionByWpId.set(wpId, collection);
461
+ }
238
462
  }
463
+ if (item.translationGroup && !translationGroupMap.has(item.translationGroup) && createdId) translationGroupMap.set(item.translationGroup, createdId);
239
464
  } else result.errors.push({
240
465
  title: item.title || "Untitled",
241
466
  error: typeof createResult.error === "object" && createResult.error !== null ? createResult.error.message || "Unknown error" : String(createResult.error)
@@ -249,7 +474,11 @@ async function importContent(items, config, dineway, manifest) {
249
474
  }
250
475
  }
251
476
  result.success = result.errors.length === 0;
252
- return result;
477
+ return {
478
+ result,
479
+ contentIdMap,
480
+ collectionByWpId
481
+ };
253
482
  }
254
483
  function mapStatus(wpStatus) {
255
484
  switch (wpStatus) {
@@ -267,4 +496,4 @@ async function collectPluginItems(items) {
267
496
  }
268
497
 
269
498
  //#endregion
270
- export { POST, prerender };
499
+ export { POST, coerceToFieldType, ensureCustomTaxonomyDefs, importContent, importPluginFollowups, prerender };
@@ -1,7 +1,8 @@
1
- import { n as VERSION, t as COMMIT } from "../../../version-C4gfn0PJ.mjs";
2
- import { r as handleError } from "../../../error-DCSuUAZW.mjs";
3
- import { t as getAuthMode } from "../../../mode-CZqCF9dZ.mjs";
4
- import { i as experimentalSiteContextWorkflowsEnabled } from "../../../experimental-workflows-CSMffP6q.mjs";
1
+ import { t as OptionsRepository } from "../../../options-DQPTH5n0.mjs";
2
+ import { n as VERSION, t as COMMIT } from "../../../version-C3iVRuaF.mjs";
3
+ import { r as handleError } from "../../../error-CSVaQNZy.mjs";
4
+ import { i as experimentalSiteContextWorkflowsEnabled } from "../../../experimental-workflows-GVhUgzEs.mjs";
5
+ import { t as getAuthMode } from "../../../mode-C8yZnIlR.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");