dineway 0.1.49 → 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 (418) hide show
  1. package/dist/{activity-events-CwM7yxPW.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-CyGnbgBd.mjs → allowed-origins-_oeyP6x-.mjs} +1 -1
  5. package/dist/api/route-utils.d.mts +10 -10
  6. package/dist/api/route-utils.mjs +16 -13
  7. package/dist/api/schemas/index.d.mts +2 -2
  8. package/dist/api/schemas/index.mjs +5 -4
  9. package/dist/{api-BMIxRIEN.mjs → api-ByrU2q-Z.mjs} +60 -36
  10. package/dist/{api-tokens-DtvdtIkm.mjs → api-tokens-CjVMQT-X.mjs} +6 -2
  11. package/dist/{apply-D_RlTYtC.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 +13 -4
  21. package/dist/astro/middleware/request-context.mjs +8 -5
  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 +333 -192
  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 +21 -17
  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 +17 -14
  37. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +17 -14
  38. package/dist/astro/routes/api/admin/bylines/index.mjs +17 -14
  39. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +14 -12
  40. package/dist/astro/routes/api/admin/comments/_id_.mjs +6 -5
  41. package/dist/astro/routes/api/admin/comments/bulk.mjs +11 -9
  42. package/dist/astro/routes/api/admin/comments/counts.mjs +6 -5
  43. package/dist/astro/routes/api/admin/comments/index.mjs +11 -9
  44. package/dist/astro/routes/api/admin/context/_id_/history.mjs +26 -24
  45. package/dist/astro/routes/api/admin/context/_id_/index.mjs +26 -24
  46. package/dist/astro/routes/api/admin/context/_id_/review.mjs +31 -28
  47. package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +31 -28
  48. package/dist/astro/routes/api/admin/context/diff.mjs +30 -27
  49. package/dist/astro/routes/api/admin/context/index.mjs +31 -28
  50. package/dist/astro/routes/api/admin/context/stale.mjs +30 -27
  51. package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +26 -24
  52. package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +30 -27
  53. package/dist/astro/routes/api/admin/hitl-requests/index.mjs +30 -27
  54. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +27 -25
  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 +55 -51
  59. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +55 -51
  60. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +47 -43
  61. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +53 -49
  62. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +52 -48
  63. package/dist/astro/routes/api/admin/plugins/index.mjs +47 -43
  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 +46 -42
  66. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +52 -48
  67. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +46 -42
  68. package/dist/astro/routes/api/admin/plugins/updates.mjs +46 -42
  69. package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +5 -5
  70. package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +31 -27
  71. package/dist/astro/routes/api/admin/review-requests/index.mjs +10 -9
  72. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +46 -42
  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 +46 -42
  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 +9 -8
  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 +5 -5
  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 +15 -13
  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 +5 -5
  108. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +5 -5
  109. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +5 -5
  110. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +11 -10
  111. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +10 -9
  112. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +5 -5
  113. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +2 -2
  114. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +10 -9
  115. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +16 -14
  116. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +2 -2
  117. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +5 -5
  118. package/dist/astro/routes/api/content/_collection_/_id_.mjs +10 -9
  119. package/dist/astro/routes/api/content/_collection_/authors.mjs +2 -2
  120. package/dist/astro/routes/api/content/_collection_/index.mjs +10 -9
  121. package/dist/astro/routes/api/content/_collection_/trash.mjs +7 -6
  122. package/dist/astro/routes/api/dashboard.mjs +9 -8
  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 +22 -10
  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 +84 -37
  130. package/dist/astro/routes/api/import/wordpress/media.d.mts +13 -1
  131. package/dist/astro/routes/api/import/wordpress/media.mjs +19 -13
  132. package/dist/astro/routes/api/import/wordpress/prepare.mjs +35 -32
  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 +120 -100
  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 +24 -12
  137. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +56 -2
  138. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +283 -55
  139. package/dist/astro/routes/api/manifest.mjs +14 -5
  140. package/dist/astro/routes/api/mcp.mjs +265 -69
  141. package/dist/astro/routes/api/media/_id_/confirm.mjs +38 -10
  142. package/dist/astro/routes/api/media/_id_.mjs +11 -7
  143. package/dist/astro/routes/api/media/file/_...key_.mjs +1 -1
  144. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +2 -2
  145. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +2 -2
  146. package/dist/astro/routes/api/media/providers/index.mjs +2 -2
  147. package/dist/astro/routes/api/media/upload-url.mjs +11 -10
  148. package/dist/astro/routes/api/media.mjs +27 -34
  149. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +31 -28
  150. package/dist/astro/routes/api/menus/_name_/items.mjs +31 -28
  151. package/dist/astro/routes/api/menus/_name_/reorder.mjs +31 -28
  152. package/dist/astro/routes/api/menus/_name_/translations.mjs +31 -28
  153. package/dist/astro/routes/api/menus/_name_.mjs +31 -28
  154. package/dist/astro/routes/api/menus/index.mjs +31 -28
  155. package/dist/astro/routes/api/oauth/authorize.mjs +7 -7
  156. package/dist/astro/routes/api/oauth/device/authorize.mjs +6 -6
  157. package/dist/astro/routes/api/oauth/device/code.mjs +9 -9
  158. package/dist/astro/routes/api/oauth/device/token.mjs +8 -8
  159. package/dist/astro/routes/api/oauth/register.mjs +4 -4
  160. package/dist/astro/routes/api/oauth/token/refresh.mjs +6 -6
  161. package/dist/astro/routes/api/oauth/token/revoke.mjs +6 -6
  162. package/dist/astro/routes/api/oauth/token.mjs +6 -6
  163. package/dist/astro/routes/api/openapi.json.mjs +4 -3
  164. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +30 -30
  165. package/dist/astro/routes/api/redirects/404s/index.mjs +11 -10
  166. package/dist/astro/routes/api/redirects/404s/summary.mjs +11 -10
  167. package/dist/astro/routes/api/redirects/_id_.mjs +32 -29
  168. package/dist/astro/routes/api/redirects/index.mjs +32 -29
  169. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +2 -2
  170. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +2 -2
  171. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +47 -43
  172. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +47 -43
  173. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +47 -43
  174. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +47 -43
  175. package/dist/astro/routes/api/schema/collections/index.mjs +47 -43
  176. package/dist/astro/routes/api/schema/index.mjs +13 -14
  177. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +46 -42
  178. package/dist/astro/routes/api/schema/orphans/index.mjs +46 -42
  179. package/dist/astro/routes/api/search/enable.mjs +11 -10
  180. package/dist/astro/routes/api/search/index.mjs +10 -9
  181. package/dist/astro/routes/api/search/rebuild.mjs +11 -10
  182. package/dist/astro/routes/api/search/stats.mjs +6 -6
  183. package/dist/astro/routes/api/search/suggest.mjs +10 -9
  184. package/dist/astro/routes/api/sections/_slug_.mjs +31 -28
  185. package/dist/astro/routes/api/sections/index.mjs +31 -28
  186. package/dist/astro/routes/api/settings/email.mjs +4 -4
  187. package/dist/astro/routes/api/settings.mjs +31 -28
  188. package/dist/astro/routes/api/setup/admin-verify.mjs +14 -13
  189. package/dist/astro/routes/api/setup/admin.mjs +12 -11
  190. package/dist/astro/routes/api/setup/dev-bypass.mjs +31 -25
  191. package/dist/astro/routes/api/setup/dev-reset.mjs +2 -2
  192. package/dist/astro/routes/api/setup/index.mjs +29 -25
  193. package/dist/astro/routes/api/setup/status.mjs +3 -3
  194. package/dist/astro/routes/api/snapshot.mjs +8 -7
  195. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +34 -31
  196. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +34 -31
  197. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +34 -31
  198. package/dist/astro/routes/api/taxonomies/index.mjs +34 -31
  199. package/dist/astro/routes/api/themes/preview.mjs +5 -5
  200. package/dist/astro/routes/api/typegen.mjs +4 -4
  201. package/dist/astro/routes/api/well-known/auth.mjs +3 -3
  202. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +3 -3
  203. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +3 -3
  204. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +30 -27
  205. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +31 -28
  206. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +31 -28
  207. package/dist/astro/routes/api/widget-areas/_name_.mjs +28 -26
  208. package/dist/astro/routes/api/widget-areas/index.mjs +31 -28
  209. package/dist/astro/routes/api/widget-components.mjs +2 -2
  210. package/dist/astro/routes/robots.txt.mjs +8 -7
  211. package/dist/astro/routes/sitemap-_collection_.xml.mjs +23 -14
  212. package/dist/astro/routes/sitemap.xml.mjs +9 -8
  213. package/dist/astro/session-driver.d.mts +1 -1
  214. package/dist/astro/session-driver.mjs +2 -2
  215. package/dist/astro/types.d.mts +21 -13
  216. package/dist/{audit-BeNsSyfU.mjs → audit-ByVKIwWF.mjs} +1 -1
  217. package/dist/auth/providers/github.d.mts +1 -1
  218. package/dist/auth/providers/google.d.mts +1 -1
  219. package/dist/{auth-control-guard-Dr14I98m.mjs → auth-control-guard-CqeUmQsv.mjs} +1 -1
  220. package/dist/{authorize-BLO0m7fW.mjs → authorize-CcBxcHtz.mjs} +1 -1
  221. package/dist/{briefing-DJX6irto.mjs → briefing-BJaJI8dm.mjs} +2 -1
  222. package/dist/{briefing-CkTee1ex.mjs → briefing-CawZ59CY.mjs} +90 -28
  223. package/dist/bundle-7C_DpkEq.mjs +602 -0
  224. package/dist/{byline-BVC1lV6G.mjs → byline-e51-fWRs.mjs} +30 -62
  225. package/dist/{byline-fields-uJlygdzM.d.mts → byline-fields-CUvbslGc.d.mts} +80 -37
  226. package/dist/{byline-fields-Cj39WhXC.mjs → byline-fields-D-N5qVIG.mjs} +1 -1
  227. package/dist/{byline-fields-cNrLJVRs.mjs → byline-fields-DOJO16Gm.mjs} +3 -3
  228. package/dist/{byline-registry-4v6tXMNX.mjs → byline-registry-87nNnYl4.mjs} +2 -2
  229. package/dist/{bylines-LN9XISRo.mjs → bylines-CMQNCNFh.mjs} +9 -3
  230. package/dist/{bylines-DwokOFj6.mjs → bylines-y4LO-dTj.mjs} +5 -5
  231. package/dist/{cache-Bac05gBd.mjs → cache-C-FNTFYK.mjs} +2 -2
  232. package/dist/{chunks-CuUt7K50.mjs → chunks-CxBt-GxR.mjs} +1 -1
  233. package/dist/cli/index.mjs +94 -659
  234. package/dist/client/external-auth-headers.d.mts +1 -1
  235. package/dist/client/index.d.mts +1 -1
  236. package/dist/client/index.mjs +2 -1
  237. package/dist/{comment-Beue8-15.mjs → comment-DlA4iChg.mjs} +13 -3
  238. package/dist/comment-reaction-DfFao1ST.mjs +58 -0
  239. package/dist/{comments-DcjFIfqX.mjs → comments-DApFGMsP.mjs} +1 -1
  240. package/dist/{content-CBxYGWfL.mjs → content-Bh4BDjv8.mjs} +51 -34
  241. package/dist/content-refresh-CgutSUfO.mjs +1576 -0
  242. package/dist/{context-CQVNZaR8.mjs → context-C5W3G18y.mjs} +111 -50
  243. package/dist/{context-Df1xVYyr.mjs → context-CK4ym2Sf.mjs} +2 -2
  244. package/dist/{context-route-helpers-B9wj8Rmh.mjs → context-route-helpers-MASyGgWf.mjs} +2 -1
  245. package/dist/{cron-DxCAU_Sn.mjs → cron-cKcNTix_.mjs} +7 -3
  246. package/dist/{dashboard-B7ZUNuyF.mjs → dashboard-DQkVT7Ei.mjs} +4 -4
  247. package/dist/db/index.d.mts +3 -3
  248. package/dist/db/index.mjs +1 -1
  249. package/dist/db/libsql.d.mts +1 -1
  250. package/dist/db/postgres.d.mts +1 -1
  251. package/dist/db/sqlite.d.mts +1 -1
  252. package/dist/{device-flow-BZVGftqi.mjs → device-flow-BnqRH-T9.mjs} +5 -5
  253. package/dist/{placeholder-d54Qr_7n.mjs → enrich-DIFIFA8O.mjs} +36 -9
  254. package/dist/{error-DCSuUAZW.mjs → error-CytFlgcd.mjs} +5 -0
  255. package/dist/field-defs-cache-DRNdhBJv.mjs +49 -0
  256. package/dist/{fts-manager-B5l_qwrA.mjs → fts-manager-Crzypjqu.mjs} +1 -1
  257. package/dist/hitl-Hw1RmWOq.mjs +677 -0
  258. package/dist/{hitl-requests-7NlzVeUA.mjs → hitl-requests-B4Vbcmaq.mjs} +2 -2
  259. package/dist/{hitl-route-helpers-k---_H3-.mjs → hitl-route-helpers-hEVzvP8l.mjs} +5 -4
  260. package/dist/import-Bh9biJfx.mjs +1354 -0
  261. package/dist/{index-CZiWCQDp.d.mts → index-D4y6NGiy.d.mts} +75 -3
  262. package/dist/index.d.mts +17 -16
  263. package/dist/index.mjs +80 -68
  264. package/dist/{jsonld-DZ67souc.d.mts → jsonld-Dq0gsnOH.d.mts} +8 -4
  265. package/dist/{load-D9OiGr2m.mjs → load-DmYeniXl.mjs} +1 -1
  266. package/dist/{loader--GOYux8M.mjs → loader-CjWqjweO.mjs} +117 -31
  267. package/dist/{manifest-schema-qh2P7RDX.mjs → manifest-schema-BxVPYMJR.mjs} +34 -1
  268. package/dist/mcp-reviewed-executor-TwVbMzG6.mjs +555 -0
  269. package/dist/media/image-endpoint.d.mts +32 -0
  270. package/dist/media/image-endpoint.mjs +111 -0
  271. package/dist/media/index.d.mts +27 -2
  272. package/dist/media/index.mjs +5 -3
  273. package/dist/media/local-runtime.d.mts +16 -11
  274. package/dist/media/local-runtime.mjs +9 -7
  275. package/dist/{media-CbKyYukG.mjs → media-DMj0grzC.mjs} +3 -1
  276. package/dist/{media-allowlist-BYxJIcTO.mjs → media-allowlist-BlVCSzHx.mjs} +1 -1
  277. package/dist/media-url-lEKSrpr9.mjs +20 -0
  278. package/dist/{menus-BZbXf-ej.mjs → menus-TaW1gKnk.mjs} +19 -5
  279. package/dist/{menus-C7F0sCrC.mjs → menus-xvsnVZXw.mjs} +80 -15
  280. package/dist/{normalize-ByemhhfW.mjs → normalize-5ek_z7de.mjs} +8 -1
  281. package/dist/{oauth-authorization-DF-LCsIA.mjs → oauth-authorization-DiaGvRVz.mjs} +5 -5
  282. package/dist/{oauth-clients-Du-V0fEm.mjs → oauth-clients-Dl9E8dEM.mjs} +2 -2
  283. package/dist/object-cache/memory.d.mts +14 -0
  284. package/dist/object-cache/memory.mjs +55 -0
  285. package/dist/object-cache-D51qOseS.mjs +419 -0
  286. package/dist/page/index.d.mts +4 -3
  287. package/dist/page/index.mjs +2 -2
  288. package/dist/{parse-CneSgl7-.mjs → parse-CbymENaR.mjs} +1 -1
  289. package/dist/{parser-DxfsARXL.mjs → parser-C1nYd-81.mjs} +151 -9
  290. package/dist/{placeholder-CXfoCtCd.d.mts → placeholder-uvNRZBX9.d.mts} +12 -4
  291. package/dist/plugin-utils.d.mts +9 -9
  292. package/dist/plugins/adapt-sandbox-entry.d.mts +9 -9
  293. package/dist/plugins/adapt-sandbox-entry.mjs +11 -2
  294. package/dist/{plugins-DzfqRREq.mjs → plugins-BolVa-tl.mjs} +831 -63
  295. package/dist/{transport-LSdZVXHF.mjs → portable-text-dA_UlJwW.mjs} +1 -134
  296. package/dist/{preview-C-3YTX2U.mjs → preview-vSVg6fwG.mjs} +4 -3
  297. package/dist/process-cache-7xgAO9JY.mjs +106 -0
  298. package/dist/{provider-loader-9it4vd6L.d.mts → provider-loader-MD8zAbnH.d.mts} +1 -1
  299. package/dist/{public-url-B4xV4rGa.d.mts → public-url-gsp3oUbu.d.mts} +1 -1
  300. package/dist/{query-Ds0EnMFX.mjs → query-CfRCdaL3.mjs} +281 -76
  301. package/dist/{query-CZ3TH_Uu.mjs → query-jaAmw8E1.mjs} +11 -6
  302. package/dist/{rate-limit-i0G3IAOX.mjs → rate-limit-ZLdyWoZF.mjs} +2 -2
  303. package/dist/{redirect-CEACczxo.mjs → redirect-BAjt4Z6b.mjs} +2 -2
  304. package/dist/{redirects-DYj1yPxs.mjs → redirects-BTdwpQtE.mjs} +47 -24
  305. package/dist/{redirects-ocRJmQHP.mjs → redirects-CA-xylPG.mjs} +19 -11
  306. package/dist/{registry-D7HACema.mjs → registry-CtyVedcN.mjs} +130 -77
  307. package/dist/request-context.d.mts +2 -0
  308. package/dist/{request-meta-DAb6xaP9.mjs → request-meta-CUypToDJ.mjs} +1 -1
  309. package/dist/{review-requests-Qum4713s.mjs → review-requests-C9Ff11Vq.mjs} +1 -1
  310. package/dist/{review-requests-BW2NxY-l.mjs → review-requests-DUyEmtmG.mjs} +1 -1
  311. package/dist/{runner-09sTqtv0.d.mts → runner-1tC2tIRV.d.mts} +1 -1
  312. package/dist/runner-DB7CRfOF.mjs +6740 -0
  313. package/dist/{runtime-C4-2lSFg.d.mts → runtime-BOeiQsCv.d.mts} +1952 -1489
  314. package/dist/runtime.d.mts +10 -10
  315. package/dist/runtime.mjs +3 -3
  316. package/dist/schema-DXdYj4R3.mjs +8 -0
  317. package/dist/{search-Gdrqj582.mjs → search-DSaLgEFI.mjs} +5 -3
  318. package/dist/{secrets-CeGpBFV2.mjs → secrets-CDZo2k8L.mjs} +14 -11
  319. package/dist/{sections-BOjU13Y-.mjs → sections-PVVXHGfp.mjs} +2 -2
  320. package/dist/seed/index.d.mts +2 -2
  321. package/dist/seed/index.mjs +21 -18
  322. package/dist/seo/index.d.mts +1 -1
  323. package/dist/seo/index.mjs +3 -12
  324. package/dist/{seo-CLj8lS7Q.mjs → seo-CQG3GCHQ.mjs} +5 -2
  325. package/dist/{seo-contributions-CqVvReEj.mjs → seo-contributions-C1EnikHB.mjs} +11 -3
  326. package/dist/{seo-5lJOtB5J.mjs → seo-qa7Dn0jK.mjs} +22 -4
  327. package/dist/{service-jGlhrICs.mjs → service-DiN4ZuPp.mjs} +2 -2
  328. package/dist/session-user-CAKImna3.mjs +22 -0
  329. package/dist/{settings-CUXOxzsT.mjs → settings-BbqgHWpU.mjs} +28 -55
  330. package/dist/{settings-DlBsT2VS.mjs → settings-i4VPP8bT.mjs} +2 -2
  331. package/dist/{setup-complete-BRrdPYjZ.mjs → setup-complete-B8fl-mjV.mjs} +1 -1
  332. package/dist/{site-activity-DONFrMBJ.mjs → site-activity-Dy3FROs0.mjs} +1 -1
  333. package/dist/{site-context-C8Az_P_I.mjs → site-context-DQiL8Fl5.mjs} +23 -652
  334. package/dist/{site-url-DIMD68go.mjs → site-url-BML3GQYm.mjs} +1 -1
  335. package/dist/status-DANd8ERo.mjs +21 -0
  336. package/dist/storage/local.d.mts +1 -1
  337. package/dist/storage/local.mjs +1 -1
  338. package/dist/storage/s3.d.mts +1 -1
  339. package/dist/storage/s3.mjs +1 -1
  340. package/dist/{taxonomies-D9Sw4wWM.mjs → taxonomies-9s-v03H-.mjs} +36 -29
  341. package/dist/taxonomies-DRiixp_E.mjs +443 -0
  342. package/dist/{taxonomy-B169Nm6B.mjs → taxonomy-Dvsw6BOs.mjs} +44 -9
  343. package/dist/transport-BNmCqLu7.mjs +134 -0
  344. package/dist/types-4garmdWa.mjs +66 -0
  345. package/dist/{types-DSPGWjxO.d.mts → types-C8XW6L19.d.mts} +225 -4
  346. package/dist/{types-GaCtZ1k9.d.mts → types-CDpH6MA4.d.mts} +18 -0
  347. package/dist/{types-DRIKLmJI.d.mts → types-C_ly5eTp.d.mts} +17 -2
  348. package/dist/types-DF7ZuGGk.d.mts +118 -0
  349. package/dist/types-DU0bU2Wu.d.mts +2392 -0
  350. package/dist/{types-CwawBUTa.d.mts → types-DW_-sFyz.d.mts} +2 -1
  351. package/dist/{types-CSgR9nQB.mjs → types-Dq1qT19x.mjs} +1 -1
  352. package/dist/ui/server-runtime.d.mts +15 -15
  353. package/dist/ui/server-runtime.mjs +24 -20
  354. package/dist/url-Cac7a9QZ.mjs +33 -0
  355. package/dist/{user-DTLoZs16.mjs → user-BIZPzCb9.mjs} +2 -2
  356. package/dist/{utils-B8hBJ9Oz.mjs → utils-CMDhr5Xd.mjs} +129 -7
  357. package/dist/{validate-DzjCdy6v.d.mts → validate-CZvb-BKB.d.mts} +10 -7
  358. package/dist/{validate-DWmPO6oj.mjs → validate-DNs0pTSc.mjs} +11 -6
  359. package/dist/version-BTvfRGc6.mjs +6 -0
  360. package/dist/{widgets-BpJ8EpPd.mjs → widgets-f0ibZUIq.mjs} +46 -43
  361. package/dist/{wordpress-slugs-DHNR9LpG.mjs → wordpress-slugs-BhHJX8XE.mjs} +1 -1
  362. package/dist/{zod-generator-K91-g665.mjs → zod-generator-B7TMjyFJ.mjs} +41 -13
  363. package/package.json +30 -8
  364. package/src/components/Block.astro +50 -0
  365. package/src/components/Comments.astro +143 -1
  366. package/src/components/DinewayHead.astro +19 -2
  367. package/src/components/DinewayImage.astro +66 -33
  368. package/src/components/DinewayMedia.astro +1 -2
  369. package/src/components/Image.astro +85 -40
  370. package/src/components/InlinePortableTextEditor.tsx +12 -2
  371. package/src/components/JsonLdScript.astro +9 -0
  372. package/src/components/LiveSearch.astro +40 -4
  373. package/src/components/index.ts +4 -0
  374. package/src/components/live-search-routing.ts +30 -0
  375. package/src/components/portable-text-text-align.ts +15 -0
  376. package/src/ui.ts +2 -0
  377. package/dist/entity-aliases-4y93Yjuc.mjs +0 -51
  378. package/dist/import-4YBXbDkI.mjs +0 -684
  379. package/dist/runner-DzIpHGND.mjs +0 -2836
  380. package/dist/schema-Bsi-VpYv.mjs +0 -8
  381. package/dist/taxonomies-CZ-_DitR.mjs +0 -327
  382. package/dist/types-CuJOqHfM.d.mts +0 -758
  383. package/dist/version-C4gfn0PJ.mjs +0 -6
  384. /package/dist/{adapters-OQCImOL7.d.mts → adapters-NVSs4UH7.d.mts} +0 -0
  385. /package/dist/{api-tokens-CYUoFGo7.mjs → api-tokens-2r7OWi_I.mjs} +0 -0
  386. /package/dist/{challenge-store-DFxX0_15.mjs → challenge-store-Bjlepa2E.mjs} +0 -0
  387. /package/dist/{components--pg6zBvu.mjs → components-Bclf98Be.mjs} +0 -0
  388. /package/dist/{context-types-r8oFvyOq.mjs → context-types-DqTo6C79.mjs} +0 -0
  389. /package/dist/{default-B6iaLvP7.mjs → default--K40jqm0.mjs} +0 -0
  390. /package/dist/{email-console-BOVqIYpB.mjs → email-console-ChgKFO8-.mjs} +0 -0
  391. /package/dist/{escape-BDgouFFY.mjs → escape-Bd4P_xKg.mjs} +0 -0
  392. /package/dist/{experimental-workflows-CSMffP6q.mjs → experimental-workflows-BMsUnIAw.mjs} +0 -0
  393. /package/dist/{mime-CbKsKDCB.mjs → mime-CA7Lgovc.mjs} +0 -0
  394. /package/dist/{mode-CZqCF9dZ.mjs → mode-C4CIyjtR.mjs} +0 -0
  395. /package/dist/{oauth-state-store-qncPB_IU.mjs → oauth-state-store-CNoXafF7.mjs} +0 -0
  396. /package/dist/{oauth-user-lookup-BFjWF8wK.mjs → oauth-user-lookup-Ygw4bNyt.mjs} +0 -0
  397. /package/dist/{options-LsPjZlqD.mjs → options-DQPTH5n0.mjs} +0 -0
  398. /package/dist/{passkey-config-DzHQK90v.mjs → passkey-config-BUwu8BA3.mjs} +0 -0
  399. /package/dist/{patterns-DKAX6oqN.mjs → patterns-BhAvqO0S.mjs} +0 -0
  400. /package/dist/{provider-loader-DzUxejk7.mjs → provider-loader-D0w9dqjm.mjs} +0 -0
  401. /package/dist/{public-url-B_m9IwdV.mjs → public-url-BEz_sM9n.mjs} +0 -0
  402. /package/dist/{redirect-BjIBtDWY.mjs → redirect-wphRBv4y.mjs} +0 -0
  403. /package/dist/{request-cache-ho99schz.mjs → request-cache-D9GQBxMP.mjs} +0 -0
  404. /package/dist/{resolve-DTuDyYKs.mjs → resolve-Cb6Dbz-C.mjs} +0 -0
  405. /package/dist/{setup-nonce-pyGfc9hV.mjs → setup-nonce-CoyjILvW.mjs} +0 -0
  406. /package/dist/{sidecar-client-mJxwayYN.mjs → sidecar-client-C3mqXg4C.mjs} +0 -0
  407. /package/dist/{slugify-BqebcqBg.mjs → slugify-KSsVD_D3.mjs} +0 -0
  408. /package/dist/{ssrf-DiKqWd3N.mjs → ssrf-DWe8jwAp.mjs} +0 -0
  409. /package/dist/{tokens-SLmgowfd.mjs → tokens-1RK1n6ED.mjs} +0 -0
  410. /package/dist/{transaction-CFLhEOuH.mjs → transaction-C2EOMTJA.mjs} +0 -0
  411. /package/dist/{transport-BnsNxh2l.d.mts → transport-CcJu3Co8.d.mts} +0 -0
  412. /package/dist/{trusted-proxy-BgIIcbsN.mjs → trusted-proxy-DTXQ2IMv.mjs} +0 -0
  413. /package/dist/{types-CJ8DkL0q.mjs → types-B3t5cxhU.mjs} +0 -0
  414. /package/dist/{types-nP9vGUFq.d.mts → types-C46EvNdc.d.mts} +0 -0
  415. /package/dist/{types-Cg276-3z.mjs → types-C5CVgwsV.mjs} +0 -0
  416. /package/dist/{types-DZpT-PnG.d.mts → types-POH8PQZh.d.mts} +0 -0
  417. /package/dist/{types-Dryvv7LH.d.mts → types-Rc3gQqqw.d.mts} +0 -0
  418. /package/dist/{url-w7Mp5qAD.mjs → url-CpyFDFpO.mjs} +0 -0
@@ -1,3 +1,13 @@
1
+ import "../../../../../runtime-BOeiQsCv.mjs";
2
+ import "../../../../../types-DU0bU2Wu.mjs";
3
+ import "../../../../../types-C8XW6L19.mjs";
4
+ import "../../../../../types-Rc3gQqqw.mjs";
5
+ import "../../../../../runner-1tC2tIRV.mjs";
6
+ import { b as WxrPost, r as TaxonomyImportPlan } from "../../../../../index-D4y6NGiy.mjs";
7
+ import { DinewayHandlers, DinewayManifest } from "../../../../types.mjs";
8
+ import "../../../../../byline-fields-CUvbslGc.mjs";
9
+ import "../../../../../types-CDpH6MA4.mjs";
10
+ import "../../../../../validate-CZvb-BKB.mjs";
1
11
  import { APIRoute } from "astro";
2
12
 
3
13
  //#region src/astro/routes/api/import/wordpress/execute.d.ts
@@ -31,7 +41,15 @@ interface ImportResult {
31
41
  created: number;
32
42
  skipped: number;
33
43
  };
44
+ /** Taxonomy import results (categories, tags, custom taxonomies). */
45
+ taxonomies?: {
46
+ /** Terms newly created during this import, keyed by taxonomy name. */termsCreated: Record<string, number>; /** Existing terms reused during this import, keyed by taxonomy name. */
47
+ termsReused: Record<string, number>; /** Total content taxonomy assignment rows written. */
48
+ assignments: number; /** Taxonomy names skipped because no matching Dineway def exists. */
49
+ missingTaxonomies: string[];
50
+ };
34
51
  }
35
52
  declare const POST: APIRoute;
53
+ declare function importContent(posts: WxrPost[], config: ImportConfig, dineway: DinewayHandlers, manifest: DinewayManifest, attachmentMap: Map<string, string>, locale?: string, authorDisplayNames?: Map<string, string>, taxonomyPlan?: TaxonomyImportPlan): Promise<ImportResult>;
36
54
  //#endregion
37
- export { ImportConfig, ImportResult, POST, prerender };
55
+ export { ImportConfig, ImportResult, POST, importContent, prerender };
@@ -1,36 +1,42 @@
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 "../../../../../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 parseWxrString } from "../../../../../parser-DxfsARXL.mjs";
25
- import "../../../../../ssrf-DiKqWd3N.mjs";
26
- import { d as importReusableBlocksAsSections, n as parseWxrDate } from "../../../../../import-4YBXbDkI.mjs";
27
- import { m as resolveImportByline } from "../../../../../utils-B8hBJ9Oz.mjs";
28
- import { t as sanitizeWordPressImportSlug } from "../../../../../wordpress-slugs-DHNR9LpG.mjs";
29
- import "../../../../../search-Gdrqj582.mjs";
30
- import { n as requirePerm } from "../../../../../authorize-BLO0m7fW.mjs";
31
- import { _ as RiskPolicyEvaluator, p as WordPressImportHitlPayloadBuilder } from "../../../../../site-context-C8Az_P_I.mjs";
32
- import "../../../../../activity-events-CwM7yxPW.mjs";
33
- import { i as resolveHitlRouteActor, n as hitlRequiredRouteError, t as ensureWorkflowHitlRouteRequest } from "../../../../../hitl-route-helpers-k---_H3-.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 "../../../../../briefing-CawZ59CY.mjs";
19
+ import "../../../../../context-types-DqTo6C79.mjs";
20
+ import "../../../../../content-refresh-CgutSUfO.mjs";
21
+ import "../../../../../fts-manager-Crzypjqu.mjs";
22
+ import "../../../../../registry-CtyVedcN.mjs";
23
+ import "../../../../../settings-BbqgHWpU.mjs";
24
+ import "../../../../../query-jaAmw8E1.mjs";
25
+ import "../../../../../zod-generator-B7TMjyFJ.mjs";
26
+ import "../../../../../schema-DXdYj4R3.mjs";
27
+ import "../../../../../resolve-Cb6Dbz-C.mjs";
28
+ import "../../../../../taxonomies-DRiixp_E.mjs";
29
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-CytFlgcd.mjs";
30
+ import { n as parseWxrString } from "../../../../../parser-C1nYd-81.mjs";
31
+ import "../../../../../ssrf-DWe8jwAp.mjs";
32
+ import "../../../../../activity-events-y6eT8UW6.mjs";
33
+ import { a as attachPostTaxonomies, c as preImportWxrTaxonomies, l as setPostTermAssignmentsReplacing, o as isWxrTaxonomyConflictError, s as mirrorTermsToLocales, u as parseWxrDate, x as importReusableBlocksAsSections } from "../../../../../import-Bh9biJfx.mjs";
34
+ import { g as resolveImportByline } from "../../../../../utils-CMDhr5Xd.mjs";
35
+ import { t as sanitizeWordPressImportSlug } from "../../../../../wordpress-slugs-BhHJX8XE.mjs";
36
+ import "../../../../../search-DSaLgEFI.mjs";
37
+ import { n as requirePerm } from "../../../../../authorize-CcBxcHtz.mjs";
38
+ import { f as WordPressImportHitlPayloadBuilder, g as RiskPolicyEvaluator } from "../../../../../site-context-DQiL8Fl5.mjs";
39
+ import { i as resolveHitlRouteActor, n as hitlRequiredRouteError, t as ensureWorkflowHitlRouteRequest } from "../../../../../hitl-route-helpers-hEVzvP8l.mjs";
34
40
  import { gutenbergToPortableText } from "@dineway-ai/gutenberg-to-portable-text";
35
41
 
36
42
  //#region src/astro/routes/api/import/wordpress/execute.ts
@@ -88,7 +94,19 @@ const POST = async ({ request, locals }) => {
88
94
  if (!author.login) continue;
89
95
  authorDisplayNames.set(author.login, author.displayName || author.login);
90
96
  }
91
- const result = await importContent(wxr.posts, config, dineway, manifest, attachmentMap, config.locale, authorDisplayNames);
97
+ const taxonomyPlan = await preImportWxrTaxonomies(dineway.db, wxr.posts, wxr.categories, wxr.tags, wxr.terms, config.locale);
98
+ const postLocales = /* @__PURE__ */ new Set();
99
+ for (const post of wxr.posts) if (post.locale) postLocales.add(post.locale);
100
+ if (postLocales.size > 0) try {
101
+ await mirrorTermsToLocales(dineway.db, taxonomyPlan, postLocales, config.locale);
102
+ } catch (error) {
103
+ if (isWxrTaxonomyConflictError(error)) {
104
+ console.error("[WXR_IMPORT_TAXONOMY_CONFLICT]", error);
105
+ return apiError("WXR_IMPORT_TAXONOMY_CONFLICT", error.publicMessage, 409);
106
+ }
107
+ throw error;
108
+ }
109
+ const result = await importContent(wxr.posts, config, dineway, manifest, attachmentMap, config.locale, authorDisplayNames, taxonomyPlan);
92
110
  if (config.importSections !== false) {
93
111
  const sectionsResult = await importReusableBlocksAsSections(wxr.posts, dineway.db);
94
112
  result.sections = {
@@ -103,17 +121,24 @@ const POST = async ({ request, locals }) => {
103
121
  return handleError(error, "Failed to import content", "WXR_IMPORT_ERROR");
104
122
  }
105
123
  };
106
- async function importContent(posts, config, dineway, manifest, attachmentMap, locale, authorDisplayNames) {
124
+ async function importContent(posts, config, dineway, manifest, attachmentMap, locale, authorDisplayNames, taxonomyPlan) {
107
125
  const result = {
108
126
  success: true,
109
127
  imported: 0,
110
128
  skipped: 0,
111
129
  errors: [],
112
- byCollection: {}
130
+ byCollection: {},
131
+ ...taxonomyPlan ? { taxonomies: {
132
+ termsCreated: taxonomyPlan.termsCreated,
133
+ termsReused: taxonomyPlan.termsReused,
134
+ assignments: 0,
135
+ missingTaxonomies: taxonomyPlan.missingTaxonomies
136
+ } } : {}
113
137
  };
114
138
  const contentRepo = new ContentRepository(dineway.db);
115
139
  const bylineRepo = new BylineRepository(dineway.db);
116
140
  const bylineCache = /* @__PURE__ */ new Map();
141
+ const translationGroupMap = /* @__PURE__ */ new Map();
117
142
  for (const post of posts) {
118
143
  const postType = post.postType || "post";
119
144
  const mapping = config.postTypeMappings[postType];
@@ -132,12 +157,17 @@ async function importContent(posts, config, dineway, manifest, attachmentMap, lo
132
157
  try {
133
158
  const content = post.content ? gutenbergToPortableText(post.content) : [];
134
159
  const slug = post.postName || slugify(post.title || `post-${post.id || Date.now()}`);
160
+ const postLocale = post.locale ?? locale;
135
161
  if (config.skipExisting) {
136
- if (await contentRepo.findBySlug(collection, slug)) {
162
+ const existing = await contentRepo.findBySlug(collection, slug, postLocale);
163
+ if (existing) {
164
+ if (post.translationGroup) translationGroupMap.set(post.translationGroup, existing.id);
137
165
  result.skipped++;
138
166
  continue;
139
167
  }
140
168
  }
169
+ let translationOf;
170
+ if (post.translationGroup) translationOf = translationGroupMap.get(post.translationGroup);
141
171
  const status = mapStatus(post.status);
142
172
  const data = {
143
173
  title: post.title || "Untitled",
@@ -165,13 +195,22 @@ async function importContent(posts, config, dineway, manifest, attachmentMap, lo
165
195
  status,
166
196
  authorId,
167
197
  bylines: bylineId ? [{ bylineId }] : void 0,
168
- locale,
198
+ locale: postLocale,
199
+ translationOf,
169
200
  createdAt,
170
201
  publishedAt
171
202
  });
172
203
  if (createResult.success) {
173
204
  result.imported++;
174
205
  result.byCollection[collection] = (result.byCollection[collection] || 0) + 1;
206
+ const itemId = createdItemId(createResult.data);
207
+ if (itemId) {
208
+ if (post.translationGroup && !translationOf) translationGroupMap.set(post.translationGroup, itemId);
209
+ if (taxonomyPlan && result.taxonomies) {
210
+ const assignments = translationOf ? await setPostTermAssignmentsReplacing(dineway.db, collection, itemId, post, taxonomyPlan) : await attachPostTaxonomies(dineway.db, collection, itemId, post, taxonomyPlan);
211
+ result.taxonomies.assignments += assignments;
212
+ }
213
+ }
175
214
  } else result.errors.push({
176
215
  title: post.title || "Untitled",
177
216
  error: typeof createResult.error === "object" && createResult.error !== null ? createResult.error.message || "Unknown error" : String(createResult.error)
@@ -187,6 +226,14 @@ async function importContent(posts, config, dineway, manifest, attachmentMap, lo
187
226
  result.success = result.errors.length === 0;
188
227
  return result;
189
228
  }
229
+ function createdItemId(data) {
230
+ if (!data || typeof data !== "object") return void 0;
231
+ if (!("item" in data)) return void 0;
232
+ const item = data.item;
233
+ if (!item || typeof item !== "object") return void 0;
234
+ if (!("id" in item)) return void 0;
235
+ return typeof item.id === "string" ? item.id : void 0;
236
+ }
190
237
  function mapStatus(wpStatus) {
191
238
  switch (wpStatus) {
192
239
  case "publish": return "published";
@@ -198,4 +245,4 @@ function mapStatus(wpStatus) {
198
245
  }
199
246
 
200
247
  //#endregion
201
- export { POST, prerender };
248
+ export { POST, importContent, prerender };
@@ -1,3 +1,14 @@
1
+ import "../../../../../runtime-BOeiQsCv.mjs";
2
+ import "../../../../../types-DU0bU2Wu.mjs";
3
+ import "../../../../../types-C8XW6L19.mjs";
4
+ import "../../../../../types-Rc3gQqqw.mjs";
5
+ import "../../../../../runner-1tC2tIRV.mjs";
6
+ import "../../../../../index-D4y6NGiy.mjs";
7
+ import { DinewayHandlers } from "../../../../types.mjs";
8
+ import "../../../../../byline-fields-CUvbslGc.mjs";
9
+ import "../../../../../types-CDpH6MA4.mjs";
10
+ import "../../../../../validate-CZvb-BKB.mjs";
11
+ import { AttachmentInfo } from "./analyze.mjs";
1
12
  import { APIRoute } from "astro";
2
13
 
3
14
  //#region src/astro/routes/api/import/wordpress/media.d.ts
@@ -31,5 +42,6 @@ interface MediaImportResult {
31
42
  urlMap: Record<string, string>;
32
43
  }
33
44
  declare const POST: APIRoute;
45
+ declare function importMediaWithProgress(attachments: AttachmentInfo[], db: NonNullable<DinewayHandlers["db"]>, storage: NonNullable<DinewayHandlers["storage"]>, onProgress: (progress: MediaImportProgress) => void): Promise<MediaImportResult>;
34
46
  //#endregion
35
- export { MediaImportProgress, MediaImportResult, POST, prerender };
47
+ export { MediaImportProgress, MediaImportResult, POST, importMediaWithProgress, prerender };
@@ -1,15 +1,17 @@
1
1
  import "../../../../../base64-F8-DUraK.mjs";
2
- import "../../../../../types-CSgR9nQB.mjs";
3
- import { t as MediaRepository } from "../../../../../media-CbKyYukG.mjs";
4
- import "../../../../../context-types-r8oFvyOq.mjs";
2
+ import "../../../../../types-Dq1qT19x.mjs";
3
+ import { t as MediaRepository } from "../../../../../media-DMj0grzC.mjs";
4
+ import { t as enrichImageMetadata } from "../../../../../enrich-DIFIFA8O.mjs";
5
+ import "../../../../../context-types-DqTo6C79.mjs";
5
6
  import { t as computeContentHash } from "../../../../../hash-BPmX6P8I.mjs";
6
- import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-DCSuUAZW.mjs";
7
- import { n as parseBody, t as isParseError } from "../../../../../parse-CneSgl7-.mjs";
8
- import "../../../../../redirects-ocRJmQHP.mjs";
9
- import { c as wpMediaImportBody } from "../../../../../byline-fields-cNrLJVRs.mjs";
7
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-CytFlgcd.mjs";
8
+ import { n as parseBody, t as isParseError } from "../../../../../parse-CbymENaR.mjs";
9
+ import "../../../../../redirects-CA-xylPG.mjs";
10
+ import { c as wpMediaImportBody } from "../../../../../byline-fields-DOJO16Gm.mjs";
11
+ import "../../../../../status-DANd8ERo.mjs";
10
12
  import "../../../../../api/schemas/index.mjs";
11
- import { a as validateExternalUrl, r as ssrfSafeFetch, t as SsrfError } from "../../../../../ssrf-DiKqWd3N.mjs";
12
- import { n as requirePerm } from "../../../../../authorize-BLO0m7fW.mjs";
13
+ import { a as validateExternalUrl, r as ssrfSafeFetch, t as SsrfError } from "../../../../../ssrf-DWe8jwAp.mjs";
14
+ import { n as requirePerm } from "../../../../../authorize-CcBxcHtz.mjs";
13
15
  import { ulid } from "ulidx";
14
16
  import * as path from "node:path";
15
17
  import mime from "mime/lite";
@@ -136,6 +138,7 @@ async function importMediaWithProgress(attachments, db, storage, onProgress) {
136
138
  }
137
139
  const contentType = response.headers.get("content-type") || attachment.mimeType || "application/octet-stream";
138
140
  const buffer = await response.arrayBuffer();
141
+ const bytes = new Uint8Array(buffer);
139
142
  const size = buffer.byteLength;
140
143
  const contentHash = await computeContentHash(buffer);
141
144
  const existing = await repo.findByContentHash(contentHash);
@@ -169,17 +172,20 @@ async function importMediaWithProgress(attachments, db, storage, onProgress) {
169
172
  const storageKey = `${id}${ext}`;
170
173
  await storage.upload({
171
174
  key: storageKey,
172
- body: new Uint8Array(buffer),
175
+ body: bytes,
173
176
  contentType
174
177
  });
178
+ const enriched = await enrichImageMetadata(bytes, contentType);
175
179
  const mediaItem = await repo.create({
176
180
  filename: attachment.filename || `media-${attachment.id}${ext}`,
177
181
  mimeType: contentType,
178
182
  size,
179
183
  storageKey,
180
184
  contentHash,
181
- width: void 0,
182
- height: void 0
185
+ width: enriched.width,
186
+ height: enriched.height,
187
+ blurhash: enriched.blurhash,
188
+ dominantColor: enriched.dominantColor
183
189
  });
184
190
  const newUrl = `/_dineway/api/media/file/${storageKey}`;
185
191
  result.imported.push({
@@ -222,4 +228,4 @@ function getExtensionFromMimeType(mimeType) {
222
228
  }
223
229
 
224
230
  //#endregion
225
- export { POST, prerender };
231
+ export { POST, importMediaWithProgress, prerender };
@@ -1,36 +1,39 @@
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 "../../../../../content-CBxYGWfL.mjs";
6
- import "../../../../../media-CbKyYukG.mjs";
7
- import "../../../../../options-LsPjZlqD.mjs";
8
- import "../../../../../site-activity-DONFrMBJ.mjs";
9
- import "../../../../../review-requests-BW2NxY-l.mjs";
10
- import "../../../../../entity-aliases-4y93Yjuc.mjs";
11
- import "../../../../../request-cache-ho99schz.mjs";
12
- import { n as FIELD_TYPES } from "../../../../../types-CJ8DkL0q.mjs";
13
- import "../../../../../briefing-CkTee1ex.mjs";
14
- import "../../../../../context-types-r8oFvyOq.mjs";
15
- import "../../../../../fts-manager-B5l_qwrA.mjs";
16
- import "../../../../../registry-D7HACema.mjs";
17
- import "../../../../../settings-CUXOxzsT.mjs";
18
- import "../../../../../query-CZ3TH_Uu.mjs";
19
- import "../../../../../zod-generator-K91-g665.mjs";
20
- import "../../../../../schema-Bsi-VpYv.mjs";
21
- import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-DCSuUAZW.mjs";
22
- import { n as parseBody, t as isParseError } from "../../../../../parse-CneSgl7-.mjs";
23
- import "../../../../../redirects-ocRJmQHP.mjs";
24
- import { d as wpPrepareBody } from "../../../../../byline-fields-cNrLJVRs.mjs";
3
+ import "../../../../../types-Dq1qT19x.mjs";
4
+ import "../../../../../loader-CjWqjweO.mjs";
5
+ import "../../../../../object-cache-D51qOseS.mjs";
6
+ import "../../../../../content-Bh4BDjv8.mjs";
7
+ import "../../../../../media-DMj0grzC.mjs";
8
+ import "../../../../../options-DQPTH5n0.mjs";
9
+ import "../../../../../site-activity-Dy3FROs0.mjs";
10
+ import "../../../../../review-requests-DUyEmtmG.mjs";
11
+ import "../../../../../hitl-Hw1RmWOq.mjs";
12
+ import "../../../../../request-cache-D9GQBxMP.mjs";
13
+ import { n as FIELD_TYPES } from "../../../../../types-B3t5cxhU.mjs";
14
+ import "../../../../../briefing-CawZ59CY.mjs";
15
+ import "../../../../../context-types-DqTo6C79.mjs";
16
+ import "../../../../../content-refresh-CgutSUfO.mjs";
17
+ import "../../../../../fts-manager-Crzypjqu.mjs";
18
+ import "../../../../../registry-CtyVedcN.mjs";
19
+ import "../../../../../settings-BbqgHWpU.mjs";
20
+ import "../../../../../query-jaAmw8E1.mjs";
21
+ import "../../../../../zod-generator-B7TMjyFJ.mjs";
22
+ import "../../../../../schema-DXdYj4R3.mjs";
23
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-CytFlgcd.mjs";
24
+ import { n as parseBody, t as isParseError } from "../../../../../parse-CbymENaR.mjs";
25
+ import "../../../../../redirects-CA-xylPG.mjs";
26
+ import { d as wpPrepareBody } from "../../../../../byline-fields-DOJO16Gm.mjs";
27
+ import "../../../../../status-DANd8ERo.mjs";
25
28
  import "../../../../../api/schemas/index.mjs";
26
- import "../../../../../parser-DxfsARXL.mjs";
27
- import "../../../../../utils-B8hBJ9Oz.mjs";
28
- import { t as sanitizeWordPressImportSlug } from "../../../../../wordpress-slugs-DHNR9LpG.mjs";
29
- import "../../../../../search-Gdrqj582.mjs";
30
- import { n as requirePerm } from "../../../../../authorize-BLO0m7fW.mjs";
31
- import { _ as RiskPolicyEvaluator, p as WordPressImportHitlPayloadBuilder } from "../../../../../site-context-C8Az_P_I.mjs";
32
- import "../../../../../activity-events-CwM7yxPW.mjs";
33
- import { i as resolveHitlRouteActor, n as hitlRequiredRouteError, t as ensureWorkflowHitlRouteRequest } from "../../../../../hitl-route-helpers-k---_H3-.mjs";
29
+ import "../../../../../parser-C1nYd-81.mjs";
30
+ import "../../../../../activity-events-y6eT8UW6.mjs";
31
+ import "../../../../../utils-CMDhr5Xd.mjs";
32
+ import { t as sanitizeWordPressImportSlug } from "../../../../../wordpress-slugs-BhHJX8XE.mjs";
33
+ import "../../../../../search-DSaLgEFI.mjs";
34
+ import { n as requirePerm } from "../../../../../authorize-CcBxcHtz.mjs";
35
+ import { f as WordPressImportHitlPayloadBuilder, g as RiskPolicyEvaluator } from "../../../../../site-context-DQiL8Fl5.mjs";
36
+ import { i as resolveHitlRouteActor, n as hitlRequiredRouteError, t as ensureWorkflowHitlRouteRequest } from "../../../../../hitl-route-helpers-hEVzvP8l.mjs";
34
37
  import { capitalize, singularize } from "./analyze.mjs";
35
38
  import { z } from "zod";
36
39
 
@@ -69,7 +72,7 @@ const POST = async ({ request, locals }) => {
69
72
  }
70
73
  };
71
74
  async function prepareImport(db, request) {
72
- const { SchemaRegistry } = await import("../../../../../registry-D7HACema.mjs").then((n) => n.r);
75
+ const { SchemaRegistry } = await import("../../../../../registry-CtyVedcN.mjs").then((n) => n.r);
73
76
  const registry = new SchemaRegistry(db);
74
77
  const result = {
75
78
  success: true,
@@ -135,7 +138,7 @@ async function prepareImport(db, request) {
135
138
  "post",
136
139
  "page"
137
140
  ].includes(collectionSlug)) {
138
- const { FTSManager } = await import("../../../../../fts-manager-B5l_qwrA.mjs").then((n) => n.n);
141
+ const { FTSManager } = await import("../../../../../fts-manager-Crzypjqu.mjs").then((n) => n.n);
139
142
  const ftsManager = new FTSManager(db);
140
143
  if ((await ftsManager.getSearchableFields(collectionSlug)).length > 0) try {
141
144
  await ftsManager.enableSearch(collectionSlug);
@@ -1,5 +1,21 @@
1
+ import "../../../../../runtime-BOeiQsCv.mjs";
2
+ import { t as Database } from "../../../../../types-DU0bU2Wu.mjs";
3
+ import "../../../../../types-C8XW6L19.mjs";
4
+ import "../../../../../types-Rc3gQqqw.mjs";
5
+ import { f as MediaProvider } from "../../../../../placeholder-uvNRZBX9.mjs";
6
+ import "../../../../../runner-1tC2tIRV.mjs";
7
+ import "../../../../../index-D4y6NGiy.mjs";
8
+ import { DinewayHandlers } from "../../../../types.mjs";
9
+ import "../../../../../byline-fields-CUvbslGc.mjs";
10
+ import "../../../../../types-CDpH6MA4.mjs";
11
+ import "../../../../../validate-CZvb-BKB.mjs";
12
+ import { Kysely } from "kysely";
1
13
  import { APIRoute } from "astro";
2
14
 
15
+ //#region src/media/usage/content-refresh.d.ts
16
+ type ContentMediaUsageRefreshErrorCode = "CONTENT_NOT_FOUND" | "DRAFT_REVISION_NOT_FOUND" | "DRAFT_REVISION_MISMATCH" | "DRAFT_REVISION_INVALID" | "CONTENT_USAGE_REFRESH_ERROR" | "CONTENT_USAGE_DELETE_ERROR" | "CONTENT_USAGE_GENERATION_CONFLICT" | "CONTENT_USAGE_STALE";
17
+ declare function markContentMediaUsageCollectionStaleSafely(db: Kysely<Database>, collectionSlug: string, lastErrorCode: ContentMediaUsageRefreshErrorCode): Promise<boolean>;
18
+ //#endregion
3
19
  //#region src/astro/routes/api/import/wordpress/rewrite-urls.d.ts
4
20
  declare const prerender = false;
5
21
  interface RewriteUrlsResult {
@@ -17,5 +33,6 @@ interface RewriteUrlsResult {
17
33
  }>;
18
34
  }
19
35
  declare const POST: APIRoute;
36
+ declare function rewriteUrls(db: NonNullable<DinewayHandlers["db"]>, urlMap: Record<string, string>, getProvider: (id: string) => MediaProvider | undefined, collections?: string[], markUsageCollectionStale?: typeof markContentMediaUsageCollectionStaleSafely): Promise<RewriteUrlsResult>;
20
37
  //#endregion
21
- export { POST, RewriteUrlsResult, prerender };
38
+ export { POST, RewriteUrlsResult, prerender, rewriteUrls };