@sonordev/site-kit 5.3.2 → 5.5.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 (411) hide show
  1. package/AGENTS.md +16 -6
  2. package/README.md +26 -7
  3. package/agent-manifest.json +11 -10
  4. package/dist/AnalyticsProvider-KFXAH4GR.mjs +11 -0
  5. package/dist/{AnalyticsProvider-2XK54UZW.mjs.map → AnalyticsProvider-KFXAH4GR.mjs.map} +1 -1
  6. package/dist/AnalyticsProvider-WDDW3IJW.js +32 -0
  7. package/dist/{AnalyticsProvider-PM7SOGOS.js.map → AnalyticsProvider-WDDW3IJW.js.map} +1 -1
  8. package/dist/{BlogViewTracker-3BIUF5TI.js → BlogViewTracker-D4DIEP4Q.js} +6 -6
  9. package/dist/{BlogViewTracker-3BIUF5TI.js.map → BlogViewTracker-D4DIEP4Q.js.map} +1 -1
  10. package/dist/{BlogViewTracker-KFUDRDQK.mjs → BlogViewTracker-ZVEGGH3Y.mjs} +5 -5
  11. package/dist/{BlogViewTracker-KFUDRDQK.mjs.map → BlogViewTracker-ZVEGGH3Y.mjs.map} +1 -1
  12. package/dist/ChatWidget-2ZYPYIMQ.js +22 -0
  13. package/dist/{ChatWidget-7BYSGNO2.js.map → ChatWidget-2ZYPYIMQ.js.map} +1 -1
  14. package/dist/ChatWidget-FYCCLMQE.mjs +13 -0
  15. package/dist/{ChatWidget-4PHZHGG5.mjs.map → ChatWidget-FYCCLMQE.mjs.map} +1 -1
  16. package/dist/EngageWidget-6HUZYOY7.mjs +11 -0
  17. package/dist/{EngageWidget-D6M6QWEC.mjs.map → EngageWidget-6HUZYOY7.mjs.map} +1 -1
  18. package/dist/EngageWidget-MYQTBBW6.js +20 -0
  19. package/dist/{EngageWidget-Q4ITKTMJ.js.map → EngageWidget-MYQTBBW6.js.map} +1 -1
  20. package/dist/{FileField-YBBIJOCK.js → FileField-JK2S24XU.js} +6 -6
  21. package/dist/{FileField-YBBIJOCK.js.map → FileField-JK2S24XU.js.map} +1 -1
  22. package/dist/{FileField-PQQDX4IR.mjs → FileField-OZZHWGPA.mjs} +5 -5
  23. package/dist/{FileField-PQQDX4IR.mjs.map → FileField-OZZHWGPA.mjs.map} +1 -1
  24. package/dist/{FormSpotlight-WUN24F3P.js → FormSpotlight-5AXFQU5M.js} +15 -15
  25. package/dist/{FormSpotlight-WUN24F3P.js.map → FormSpotlight-5AXFQU5M.js.map} +1 -1
  26. package/dist/{FormSpotlight-7TIIWFTP.mjs → FormSpotlight-XV42L72H.mjs} +3 -3
  27. package/dist/{FormSpotlight-7TIIWFTP.mjs.map → FormSpotlight-XV42L72H.mjs.map} +1 -1
  28. package/dist/{FormStage-CM7OVLUT.js → FormStage-HATUHNRV.js} +13 -13
  29. package/dist/{FormStage-CM7OVLUT.js.map → FormStage-HATUHNRV.js.map} +1 -1
  30. package/dist/{FormStage-TFN2GIBO.mjs → FormStage-RUK675HV.mjs} +3 -3
  31. package/dist/{FormStage-TFN2GIBO.mjs.map → FormStage-RUK675HV.mjs.map} +1 -1
  32. package/dist/ManagedForm-JWEXJEXK.js +23 -0
  33. package/dist/{ManagedForm-N63YGVNY.js.map → ManagedForm-JWEXJEXK.js.map} +1 -1
  34. package/dist/ManagedForm-OA3MNGXT.mjs +14 -0
  35. package/dist/{ManagedForm-ZUXLHEQU.mjs.map → ManagedForm-OA3MNGXT.mjs.map} +1 -1
  36. package/dist/{ManagedNewsletterForm-PIVJTU5L.js → ManagedNewsletterForm-AAHH63KT.js} +8 -8
  37. package/dist/{ManagedNewsletterForm-PIVJTU5L.js.map → ManagedNewsletterForm-AAHH63KT.js.map} +1 -1
  38. package/dist/{ManagedNewsletterForm-4AVKTZ2A.mjs → ManagedNewsletterForm-HZKTNWLW.mjs} +7 -7
  39. package/dist/{ManagedNewsletterForm-4AVKTZ2A.mjs.map → ManagedNewsletterForm-HZKTNWLW.mjs.map} +1 -1
  40. package/dist/{SignalCore-LT4NCPOR.mjs → SignalCore-X3GDGBZD.mjs} +5 -5
  41. package/dist/{SignalCore-LT4NCPOR.mjs.map → SignalCore-X3GDGBZD.mjs.map} +1 -1
  42. package/dist/{SignalCore-2M5TISM7.js → SignalCore-YSNZYBKJ.js} +11 -11
  43. package/dist/{SignalCore-2M5TISM7.js.map → SignalCore-YSNZYBKJ.js.map} +1 -1
  44. package/dist/SitemapSync-2PTDBH5E.mjs +9 -0
  45. package/dist/{SitemapSync-G3OLECFI.mjs.map → SitemapSync-2PTDBH5E.mjs.map} +1 -1
  46. package/dist/SitemapSync-3SFAI546.js +18 -0
  47. package/dist/{SitemapSync-7OBOJG2L.js.map → SitemapSync-3SFAI546.js.map} +1 -1
  48. package/dist/analytics/dispatch.d.ts +4 -4
  49. package/dist/analytics/index.js +15 -15
  50. package/dist/analytics/index.mjs +6 -6
  51. package/dist/{api-NTHZ6PAW.mjs → api-D745LGGU.mjs} +3 -3
  52. package/dist/api-D745LGGU.mjs.map +1 -0
  53. package/dist/{api-N5OLQXYN.js → api-XR5APCH3.js} +3 -3
  54. package/dist/api-XR5APCH3.js.map +1 -0
  55. package/dist/blog/AuthorPage.d.ts +1 -1
  56. package/dist/blog/AuthorPage.d.ts.map +1 -1
  57. package/dist/blog/BlogLayout.d.ts +3 -1
  58. package/dist/blog/BlogLayout.d.ts.map +1 -1
  59. package/dist/blog/BlogList.d.ts +3 -1
  60. package/dist/blog/BlogList.d.ts.map +1 -1
  61. package/dist/blog/BlogPost.d.ts +3 -1
  62. package/dist/blog/BlogPost.d.ts.map +1 -1
  63. package/dist/blog/BlogSidebar.d.ts +3 -1
  64. package/dist/blog/BlogSidebar.d.ts.map +1 -1
  65. package/dist/blog/ClusterLandingPage.d.ts +3 -1
  66. package/dist/blog/ClusterLandingPage.d.ts.map +1 -1
  67. package/dist/blog/ClusterNavigation.d.ts +3 -1
  68. package/dist/blog/ClusterNavigation.d.ts.map +1 -1
  69. package/dist/blog/RelatedPosts.d.ts +4 -1
  70. package/dist/blog/RelatedPosts.d.ts.map +1 -1
  71. package/dist/blog/artwork-components.test.d.ts +2 -0
  72. package/dist/blog/artwork-components.test.d.ts.map +1 -0
  73. package/dist/blog/artwork.d.ts +14 -0
  74. package/dist/blog/artwork.d.ts.map +1 -0
  75. package/dist/blog/artwork.test.d.ts +2 -0
  76. package/dist/blog/artwork.test.d.ts.map +1 -0
  77. package/dist/blog/blog-styles.d.ts.map +1 -1
  78. package/dist/blog/blog-tables.d.ts +13 -0
  79. package/dist/blog/blog-tables.d.ts.map +1 -0
  80. package/dist/blog/blog-tables.test.d.ts +2 -0
  81. package/dist/blog/blog-tables.test.d.ts.map +1 -0
  82. package/dist/blog/index.d.ts +3 -0
  83. package/dist/blog/index.d.ts.map +1 -1
  84. package/dist/blog/index.js +52 -30
  85. package/dist/blog/index.js.map +1 -1
  86. package/dist/blog/index.mjs +15 -12
  87. package/dist/blog/index.mjs.map +1 -1
  88. package/dist/blog/publication-render.test.d.ts +2 -0
  89. package/dist/blog/publication-render.test.d.ts.map +1 -0
  90. package/dist/blog/publication-routes.test.d.ts +2 -0
  91. package/dist/blog/publication-routes.test.d.ts.map +1 -0
  92. package/dist/blog/routes.d.ts +40 -0
  93. package/dist/blog/routes.d.ts.map +1 -0
  94. package/dist/blog/server-core.d.ts +28 -21
  95. package/dist/blog/server-core.d.ts.map +1 -1
  96. package/dist/blog/server-ui.d.ts +4 -0
  97. package/dist/blog/server-ui.d.ts.map +1 -1
  98. package/dist/blog/server-ui.js +49 -28
  99. package/dist/blog/server-ui.js.map +1 -1
  100. package/dist/blog/server-ui.mjs +9 -15
  101. package/dist/blog/server-ui.mjs.map +1 -1
  102. package/dist/blog/server.d.ts +28 -21
  103. package/dist/blog/server.d.ts.map +1 -1
  104. package/dist/blog/server.js +71 -42
  105. package/dist/blog/server.mjs +3 -2
  106. package/dist/blog/types.d.ts +8 -1
  107. package/dist/blog/types.d.ts.map +1 -1
  108. package/dist/blog-styles-6EY3BS5Y.js +595 -0
  109. package/dist/blog-styles-6EY3BS5Y.js.map +1 -0
  110. package/dist/blog-styles-7AKRUMV7.mjs +592 -0
  111. package/dist/blog-styles-7AKRUMV7.mjs.map +1 -0
  112. package/dist/blog-tables-DWDEWA3S.js +17 -0
  113. package/dist/blog-tables-DWDEWA3S.js.map +1 -0
  114. package/dist/blog-tables-QGIHOESZ.mjs +4 -0
  115. package/dist/blog-tables-QGIHOESZ.mjs.map +1 -0
  116. package/dist/{chunk-OIJ435IZ.js → chunk-2CMSWJWC.js} +18 -18
  117. package/dist/{chunk-OIJ435IZ.js.map → chunk-2CMSWJWC.js.map} +1 -1
  118. package/dist/{chunk-K37JPEQW.js → chunk-2OU4KBUN.js} +26 -23
  119. package/dist/chunk-2OU4KBUN.js.map +1 -0
  120. package/dist/{chunk-JSLYNYTB.mjs → chunk-3B6CXGAK.mjs} +3 -3
  121. package/dist/{chunk-JSLYNYTB.mjs.map → chunk-3B6CXGAK.mjs.map} +1 -1
  122. package/dist/{chunk-HMFFAUCD.js → chunk-3DWIYCQX.js} +2 -2
  123. package/dist/chunk-3DWIYCQX.js.map +1 -0
  124. package/dist/{chunk-3EPMDPWI.js → chunk-3SDMJMN2.js} +5 -5
  125. package/dist/{chunk-3EPMDPWI.js.map → chunk-3SDMJMN2.js.map} +1 -1
  126. package/dist/chunk-4B4S56WJ.mjs +110 -0
  127. package/dist/chunk-4B4S56WJ.mjs.map +1 -0
  128. package/dist/chunk-4U5NCKQY.mjs +39 -0
  129. package/dist/chunk-4U5NCKQY.mjs.map +1 -0
  130. package/dist/{chunk-CQUA2AUA.mjs → chunk-4XGACM7D.mjs} +3 -3
  131. package/dist/{chunk-CQUA2AUA.mjs.map → chunk-4XGACM7D.mjs.map} +1 -1
  132. package/dist/{chunk-AVM4OZHR.mjs → chunk-5TGAUWNO.mjs} +3 -3
  133. package/dist/{chunk-AVM4OZHR.mjs.map → chunk-5TGAUWNO.mjs.map} +1 -1
  134. package/dist/{chunk-RO55G3OA.mjs → chunk-64BOVMXG.mjs} +3 -3
  135. package/dist/{chunk-RO55G3OA.mjs.map → chunk-64BOVMXG.mjs.map} +1 -1
  136. package/dist/{chunk-JBGRXICL.js → chunk-746RKQHA.js} +75 -70
  137. package/dist/chunk-746RKQHA.js.map +1 -0
  138. package/dist/{chunk-N3C323NY.mjs → chunk-7PPNXORV.mjs} +3 -3
  139. package/dist/{chunk-N3C323NY.mjs.map → chunk-7PPNXORV.mjs.map} +1 -1
  140. package/dist/{chunk-DYKFC7WY.js → chunk-A3F5GRNJ.js} +8 -8
  141. package/dist/{chunk-DYKFC7WY.js.map → chunk-A3F5GRNJ.js.map} +1 -1
  142. package/dist/{chunk-4TU246Q4.mjs → chunk-AEARU24Q.mjs} +40 -26
  143. package/dist/chunk-AEARU24Q.mjs.map +1 -0
  144. package/dist/{chunk-5BZDHZCN.js → chunk-BNOQXDPJ.js} +4 -4
  145. package/dist/{chunk-5BZDHZCN.js.map → chunk-BNOQXDPJ.js.map} +1 -1
  146. package/dist/{chunk-XQZTOWS3.js → chunk-CT5REGAK.js} +15 -15
  147. package/dist/{chunk-XQZTOWS3.js.map → chunk-CT5REGAK.js.map} +1 -1
  148. package/dist/{chunk-KOP3DPIR.mjs → chunk-DRLHQQBH.mjs} +4 -4
  149. package/dist/{chunk-KOP3DPIR.mjs.map → chunk-DRLHQQBH.mjs.map} +1 -1
  150. package/dist/{chunk-Y7SRO7MJ.mjs → chunk-DYULWKDC.mjs} +4 -4
  151. package/dist/{chunk-Y7SRO7MJ.mjs.map → chunk-DYULWKDC.mjs.map} +1 -1
  152. package/dist/{chunk-DHXQBTXE.mjs → chunk-EEQYKMGH.mjs} +75 -70
  153. package/dist/chunk-EEQYKMGH.mjs.map +1 -0
  154. package/dist/chunk-ESP5RMB7.js +42 -0
  155. package/dist/chunk-ESP5RMB7.js.map +1 -0
  156. package/dist/{chunk-4DE2KJ7R.js → chunk-FF5N5D3D.js} +8 -8
  157. package/dist/{chunk-4DE2KJ7R.js.map → chunk-FF5N5D3D.js.map} +1 -1
  158. package/dist/{chunk-757HXAYX.js → chunk-FYVLQ3OU.js} +3 -3
  159. package/dist/{chunk-757HXAYX.js.map → chunk-FYVLQ3OU.js.map} +1 -1
  160. package/dist/{chunk-OC6PU7U2.mjs → chunk-G5HUI4BO.mjs} +3 -3
  161. package/dist/{chunk-OC6PU7U2.mjs.map → chunk-G5HUI4BO.mjs.map} +1 -1
  162. package/dist/chunk-G6WF4G3E.js +43 -0
  163. package/dist/chunk-G6WF4G3E.js.map +1 -0
  164. package/dist/chunk-GHECYDSZ.mjs +134 -0
  165. package/dist/chunk-GHECYDSZ.mjs.map +1 -0
  166. package/dist/{chunk-JTO3K5B7.mjs → chunk-HBI67P7Y.mjs} +4 -4
  167. package/dist/{chunk-JTO3K5B7.mjs.map → chunk-HBI67P7Y.mjs.map} +1 -1
  168. package/dist/{chunk-FFJVQWKO.js → chunk-HFJQMIFM.js} +4 -4
  169. package/dist/{chunk-FFJVQWKO.js.map → chunk-HFJQMIFM.js.map} +1 -1
  170. package/dist/{chunk-A3NNUKFA.js → chunk-HX3BRMOX.js} +96 -644
  171. package/dist/chunk-HX3BRMOX.js.map +1 -0
  172. package/dist/{chunk-3TXX5KIN.js → chunk-JNRHTZL4.js} +2 -2
  173. package/dist/{chunk-3TXX5KIN.js.map → chunk-JNRHTZL4.js.map} +1 -1
  174. package/dist/{chunk-R3LYTIVN.js → chunk-KAUUGRYB.js} +5 -5
  175. package/dist/{chunk-R3LYTIVN.js.map → chunk-KAUUGRYB.js.map} +1 -1
  176. package/dist/{chunk-L2LJQIM3.js → chunk-KPKQKFT4.js} +11 -11
  177. package/dist/chunk-KPKQKFT4.js.map +1 -0
  178. package/dist/chunk-LC7AM4J5.js +118 -0
  179. package/dist/chunk-LC7AM4J5.js.map +1 -0
  180. package/dist/{chunk-GFNXWS3I.js → chunk-MCJF2KJ6.js} +5 -5
  181. package/dist/{chunk-GFNXWS3I.js.map → chunk-MCJF2KJ6.js.map} +1 -1
  182. package/dist/{chunk-Z7K5AMCE.js → chunk-MNYM2XU4.js} +4 -4
  183. package/dist/{chunk-Z7K5AMCE.js.map → chunk-MNYM2XU4.js.map} +1 -1
  184. package/dist/{chunk-6QABCGM6.mjs → chunk-MU7IEPDG.mjs} +4 -4
  185. package/dist/chunk-MU7IEPDG.mjs.map +1 -0
  186. package/dist/chunk-NSWO43XW.mjs +39 -0
  187. package/dist/chunk-NSWO43XW.mjs.map +1 -0
  188. package/dist/{chunk-Z33JXJTJ.js → chunk-NZSFOZJV.js} +40 -26
  189. package/dist/chunk-NZSFOZJV.js.map +1 -0
  190. package/dist/{chunk-ZKR5AJV5.mjs → chunk-OFSA7LUH.mjs} +4 -4
  191. package/dist/{chunk-ZKR5AJV5.mjs.map → chunk-OFSA7LUH.mjs.map} +1 -1
  192. package/dist/{chunk-M7FWXEXC.js → chunk-PIPLBBDH.js} +8 -8
  193. package/dist/{chunk-M7FWXEXC.js.map → chunk-PIPLBBDH.js.map} +1 -1
  194. package/dist/{chunk-FDVE56JS.js → chunk-Q26VZNM2.js} +3 -3
  195. package/dist/{chunk-FDVE56JS.js.map → chunk-Q26VZNM2.js.map} +1 -1
  196. package/dist/{chunk-6AZTRTCG.js → chunk-QEGUI2Q2.js} +15 -15
  197. package/dist/{chunk-6AZTRTCG.js.map → chunk-QEGUI2Q2.js.map} +1 -1
  198. package/dist/{chunk-GPNBBUEN.js → chunk-QFNSM77X.js} +3 -3
  199. package/dist/{chunk-GPNBBUEN.js.map → chunk-QFNSM77X.js.map} +1 -1
  200. package/dist/{chunk-QZ54OCWD.mjs → chunk-R4MX6EOM.mjs} +7 -7
  201. package/dist/{chunk-QZ54OCWD.mjs.map → chunk-R4MX6EOM.mjs.map} +1 -1
  202. package/dist/{chunk-67CHHDBL.mjs → chunk-RMMHWSPP.mjs} +96 -644
  203. package/dist/chunk-RMMHWSPP.mjs.map +1 -0
  204. package/dist/{chunk-B4BFQSSS.mjs → chunk-RU54J2PY.mjs} +4 -4
  205. package/dist/chunk-RU54J2PY.mjs.map +1 -0
  206. package/dist/{chunk-AXAIUCSF.mjs → chunk-RZUZMUTN.mjs} +9 -8
  207. package/dist/chunk-RZUZMUTN.mjs.map +1 -0
  208. package/dist/{chunk-NSLYY62T.mjs → chunk-S6FEC6UT.mjs} +9 -5
  209. package/dist/chunk-S6FEC6UT.mjs.map +1 -0
  210. package/dist/{chunk-3DPXOZAU.mjs → chunk-SHLWA6JY.mjs} +2 -2
  211. package/dist/chunk-SHLWA6JY.mjs.map +1 -0
  212. package/dist/{chunk-E33HJMRP.js → chunk-SQVYLIIN.js} +11 -7
  213. package/dist/chunk-SQVYLIIN.js.map +1 -0
  214. package/dist/chunk-SUZ3ZLB2.js +8 -0
  215. package/dist/{chunk-D37M7MIH.js.map → chunk-SUZ3ZLB2.js.map} +1 -1
  216. package/dist/{chunk-DZDWBQKA.mjs → chunk-TALEV3IH.mjs} +3 -3
  217. package/dist/{chunk-DZDWBQKA.mjs.map → chunk-TALEV3IH.mjs.map} +1 -1
  218. package/dist/{chunk-UOTXSWKZ.mjs → chunk-TP7H6BSK.mjs} +2 -2
  219. package/dist/{chunk-UOTXSWKZ.mjs.map → chunk-TP7H6BSK.mjs.map} +1 -1
  220. package/dist/{chunk-XW5KNCWJ.mjs → chunk-TX2QQ7IX.mjs} +3 -3
  221. package/dist/{chunk-XW5KNCWJ.mjs.map → chunk-TX2QQ7IX.mjs.map} +1 -1
  222. package/dist/{chunk-PEEQMI7U.js → chunk-UNPEMSLK.js} +12 -11
  223. package/dist/chunk-UNPEMSLK.js.map +1 -0
  224. package/dist/{chunk-42F5EK24.mjs → chunk-UZL2QU2V.mjs} +16 -13
  225. package/dist/chunk-UZL2QU2V.mjs.map +1 -0
  226. package/dist/{chunk-6VG65AIA.mjs → chunk-V6NOM7PJ.mjs} +3 -3
  227. package/dist/{chunk-6VG65AIA.mjs.map → chunk-V6NOM7PJ.mjs.map} +1 -1
  228. package/dist/{chunk-W23TMUKB.js → chunk-VAS3LH5W.js} +418 -98
  229. package/dist/chunk-VAS3LH5W.js.map +1 -0
  230. package/dist/{chunk-TS3N3LGZ.mjs → chunk-VYHRAICF.mjs} +4 -4
  231. package/dist/{chunk-TS3N3LGZ.mjs.map → chunk-VYHRAICF.mjs.map} +1 -1
  232. package/dist/{chunk-G3YUSRCL.js → chunk-W5NVW23S.js} +4 -4
  233. package/dist/{chunk-G3YUSRCL.js.map → chunk-W5NVW23S.js.map} +1 -1
  234. package/dist/chunk-WDBCXRTT.mjs +6 -0
  235. package/dist/{chunk-OUERH2T4.mjs.map → chunk-WDBCXRTT.mjs.map} +1 -1
  236. package/dist/{chunk-ZOJ3TLO5.mjs → chunk-WIZRCI6J.mjs} +3 -3
  237. package/dist/{chunk-ZOJ3TLO5.mjs.map → chunk-WIZRCI6J.mjs.map} +1 -1
  238. package/dist/{chunk-HDQTZAGE.mjs → chunk-X2XFLYZ3.mjs} +3 -3
  239. package/dist/{chunk-HDQTZAGE.mjs.map → chunk-X2XFLYZ3.mjs.map} +1 -1
  240. package/dist/{chunk-HVFXFPUJ.mjs → chunk-XQYC4KMH.mjs} +413 -94
  241. package/dist/chunk-XQYC4KMH.mjs.map +1 -0
  242. package/dist/{chunk-KPFPSOYS.js → chunk-YNC5D3FT.js} +12 -12
  243. package/dist/{chunk-KPFPSOYS.js.map → chunk-YNC5D3FT.js.map} +1 -1
  244. package/dist/chunk-YQTE32QK.js +137 -0
  245. package/dist/chunk-YQTE32QK.js.map +1 -0
  246. package/dist/{chunk-PZXKFHPO.js → chunk-YYAFHIY7.js} +15 -15
  247. package/dist/chunk-YYAFHIY7.js.map +1 -0
  248. package/dist/{chunk-MANX6422.js → chunk-Z6S4MWSR.js} +7 -7
  249. package/dist/{chunk-MANX6422.js.map → chunk-Z6S4MWSR.js.map} +1 -1
  250. package/dist/{chunk-DVH3JHZ3.mjs → chunk-ZRQFG3L6.mjs} +5 -5
  251. package/dist/{chunk-DVH3JHZ3.mjs.map → chunk-ZRQFG3L6.mjs.map} +1 -1
  252. package/dist/cli/agent/checks.d.ts.map +1 -1
  253. package/dist/cli/agent/ssr-bailout.d.ts +27 -0
  254. package/dist/cli/agent/ssr-bailout.d.ts.map +1 -0
  255. package/dist/cli/agent/ssr-bailout.test.d.ts +2 -0
  256. package/dist/cli/agent/ssr-bailout.test.d.ts.map +1 -0
  257. package/dist/cli/codemod/transforms.d.ts.map +1 -1
  258. package/dist/cli/index.js +38 -51
  259. package/dist/cli/index.js.map +1 -1
  260. package/dist/cli/index.mjs +36 -49
  261. package/dist/cli/index.mjs.map +1 -1
  262. package/dist/cli/migrator/index.d.ts.map +1 -1
  263. package/dist/client/index.d.ts +1 -0
  264. package/dist/client/index.d.ts.map +1 -1
  265. package/dist/client/index.js +20 -7
  266. package/dist/client/index.js.map +1 -1
  267. package/dist/client/index.mjs +5 -4
  268. package/dist/client/index.mjs.map +1 -1
  269. package/dist/cms/index.js.map +1 -1
  270. package/dist/cms/index.mjs.map +1 -1
  271. package/dist/cms/sanity-image.d.ts +1 -1
  272. package/dist/commerce/index.js +58 -58
  273. package/dist/commerce/index.mjs +7 -7
  274. package/dist/engage/ChatWidget.d.ts.map +1 -1
  275. package/dist/engage/EngageWidget.d.ts +3 -4
  276. package/dist/engage/EngageWidget.d.ts.map +1 -1
  277. package/dist/engage/chat-launcher.test.d.ts +2 -0
  278. package/dist/engage/chat-launcher.test.d.ts.map +1 -0
  279. package/dist/engage/index.js +12 -10
  280. package/dist/engage/index.js.map +1 -1
  281. package/dist/engage/index.mjs +9 -7
  282. package/dist/engage/index.mjs.map +1 -1
  283. package/dist/engage/launcher-placement.d.ts +56 -0
  284. package/dist/engage/launcher-placement.d.ts.map +1 -0
  285. package/dist/engage/launcher-placement.test.d.ts +2 -0
  286. package/dist/engage/launcher-placement.test.d.ts.map +1 -0
  287. package/dist/engage/types.d.ts +41 -7
  288. package/dist/engage/types.d.ts.map +1 -1
  289. package/dist/fleet/index.js +8 -8
  290. package/dist/fleet/index.mjs +4 -4
  291. package/dist/forms/index.js +16 -16
  292. package/dist/forms/index.mjs +9 -9
  293. package/dist/forms/server.js +10 -10
  294. package/dist/forms/server.mjs +8 -8
  295. package/dist/forms/static.js +7 -7
  296. package/dist/forms/static.mjs +6 -6
  297. package/dist/images/ManagedImage.d.ts.map +1 -1
  298. package/dist/images/index.js +11 -11
  299. package/dist/images/index.mjs +4 -4
  300. package/dist/index.js +65 -65
  301. package/dist/index.mjs +11 -11
  302. package/dist/layout/SiteKitClientProviders.d.ts.map +1 -1
  303. package/dist/layout/client.d.ts.map +1 -1
  304. package/dist/layout/client.js +8 -8
  305. package/dist/layout/client.mjs +7 -7
  306. package/dist/layout/index.js +10 -10
  307. package/dist/layout/index.mjs +8 -8
  308. package/dist/layout/types.d.ts +7 -3
  309. package/dist/layout/types.d.ts.map +1 -1
  310. package/dist/llms/generateLLMsTxt.d.ts.map +1 -1
  311. package/dist/llms/index.js +12 -12
  312. package/dist/llms/index.mjs +2 -2
  313. package/dist/llms/types.d.ts +7 -1
  314. package/dist/llms/types.d.ts.map +1 -1
  315. package/dist/maps/index.js +5 -5
  316. package/dist/maps/index.mjs +3 -3
  317. package/dist/mcp/WebMcpTools.d.ts +5 -2
  318. package/dist/mcp/WebMcpTools.d.ts.map +1 -1
  319. package/dist/mcp/client.js.map +1 -1
  320. package/dist/mcp/client.mjs.map +1 -1
  321. package/dist/search/index.js +4 -4
  322. package/dist/search/index.mjs +3 -3
  323. package/dist/seo/LocationPageContent.d.ts +6 -5
  324. package/dist/seo/LocationPageContent.d.ts.map +1 -1
  325. package/dist/seo/api.d.ts +4 -5
  326. package/dist/seo/api.d.ts.map +1 -1
  327. package/dist/seo/client.js +5 -5
  328. package/dist/seo/client.mjs +4 -4
  329. package/dist/seo/index.js +42 -42
  330. package/dist/seo/index.js.map +1 -1
  331. package/dist/seo/index.mjs +8 -8
  332. package/dist/seo/index.mjs.map +1 -1
  333. package/dist/seo/routing.d.ts +9 -23
  334. package/dist/seo/routing.d.ts.map +1 -1
  335. package/dist/seo/server-api.d.ts +11 -5
  336. package/dist/seo/server-api.d.ts.map +1 -1
  337. package/dist/seo/server.js +18 -18
  338. package/dist/seo/server.mjs +2 -2
  339. package/dist/server/index.js +3 -3
  340. package/dist/server/index.mjs +2 -2
  341. package/dist/{server-api-HW4PL2L2.mjs → server-api-RG3ZL3DV.mjs} +3 -3
  342. package/dist/{server-api-HW4PL2L2.mjs.map → server-api-RG3ZL3DV.mjs.map} +1 -1
  343. package/dist/{server-api-DB2SIUP4.js → server-api-RYJQAUGO.js} +21 -21
  344. package/dist/{server-api-DB2SIUP4.js.map → server-api-RYJQAUGO.js.map} +1 -1
  345. package/dist/shared/version.d.ts +1 -1
  346. package/dist/shared/visual-viewport-gap.d.ts +52 -0
  347. package/dist/shared/visual-viewport-gap.d.ts.map +1 -0
  348. package/dist/shared/visual-viewport-gap.test.d.ts +2 -0
  349. package/dist/shared/visual-viewport-gap.test.d.ts.map +1 -0
  350. package/dist/signal/index.js +11 -11
  351. package/dist/signal/index.mjs +2 -2
  352. package/dist/sitemap/index.js +2 -2
  353. package/dist/sitemap/index.mjs +1 -1
  354. package/dist/sync/BookingWidget.d.ts +0 -23
  355. package/dist/sync/BookingWidget.d.ts.map +1 -1
  356. package/dist/sync/MeetingFormatStep.d.ts +13 -0
  357. package/dist/sync/MeetingFormatStep.d.ts.map +1 -0
  358. package/dist/sync/api.d.ts +9 -10
  359. package/dist/sync/api.d.ts.map +1 -1
  360. package/dist/sync/booking-flow.d.ts +7 -0
  361. package/dist/sync/booking-flow.d.ts.map +1 -0
  362. package/dist/sync/booking-flow.test.d.ts +2 -0
  363. package/dist/sync/booking-flow.test.d.ts.map +1 -0
  364. package/dist/sync/index.d.ts +2 -2
  365. package/dist/sync/index.d.ts.map +1 -1
  366. package/dist/sync/index.js +20 -16
  367. package/dist/sync/index.mjs +4 -4
  368. package/dist/sync/types.d.ts +34 -0
  369. package/dist/sync/types.d.ts.map +1 -1
  370. package/dist/types.d.ts +9 -0
  371. package/dist/types.d.ts.map +1 -1
  372. package/package.json +1 -1
  373. package/skills/site-kit/SKILL.md +8 -3
  374. package/dist/AnalyticsProvider-2XK54UZW.mjs +0 -11
  375. package/dist/AnalyticsProvider-PM7SOGOS.js +0 -32
  376. package/dist/ChatWidget-4PHZHGG5.mjs +0 -11
  377. package/dist/ChatWidget-7BYSGNO2.js +0 -20
  378. package/dist/EngageWidget-D6M6QWEC.mjs +0 -9
  379. package/dist/EngageWidget-Q4ITKTMJ.js +0 -18
  380. package/dist/ManagedForm-N63YGVNY.js +0 -23
  381. package/dist/ManagedForm-ZUXLHEQU.mjs +0 -14
  382. package/dist/SitemapSync-7OBOJG2L.js +0 -18
  383. package/dist/SitemapSync-G3OLECFI.mjs +0 -9
  384. package/dist/api-N5OLQXYN.js.map +0 -1
  385. package/dist/api-NTHZ6PAW.mjs.map +0 -1
  386. package/dist/chunk-3DPXOZAU.mjs.map +0 -1
  387. package/dist/chunk-42F5EK24.mjs.map +0 -1
  388. package/dist/chunk-4TU246Q4.mjs.map +0 -1
  389. package/dist/chunk-67CHHDBL.mjs.map +0 -1
  390. package/dist/chunk-6QABCGM6.mjs.map +0 -1
  391. package/dist/chunk-A3NNUKFA.js.map +0 -1
  392. package/dist/chunk-AXAIUCSF.mjs.map +0 -1
  393. package/dist/chunk-B4BFQSSS.mjs.map +0 -1
  394. package/dist/chunk-CGCYZJYX.mjs +0 -41
  395. package/dist/chunk-CGCYZJYX.mjs.map +0 -1
  396. package/dist/chunk-D37M7MIH.js +0 -8
  397. package/dist/chunk-DHXQBTXE.mjs.map +0 -1
  398. package/dist/chunk-E33HJMRP.js.map +0 -1
  399. package/dist/chunk-HMFFAUCD.js.map +0 -1
  400. package/dist/chunk-HVFXFPUJ.mjs.map +0 -1
  401. package/dist/chunk-JBGRXICL.js.map +0 -1
  402. package/dist/chunk-K37JPEQW.js.map +0 -1
  403. package/dist/chunk-L2LJQIM3.js.map +0 -1
  404. package/dist/chunk-NSLYY62T.mjs.map +0 -1
  405. package/dist/chunk-OUERH2T4.mjs +0 -6
  406. package/dist/chunk-PEEQMI7U.js.map +0 -1
  407. package/dist/chunk-PZXKFHPO.js.map +0 -1
  408. package/dist/chunk-TPL2IHFI.js +0 -43
  409. package/dist/chunk-TPL2IHFI.js.map +0 -1
  410. package/dist/chunk-W23TMUKB.js.map +0 -1
  411. package/dist/chunk-Z33JXJTJ.js.map +0 -1
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var chunkLC7AM4J5_js = require('./chunk-LC7AM4J5.js');
3
4
  var chunkO5GHP7UO_js = require('./chunk-O5GHP7UO.js');
4
5
 
5
6
  // src/blog/excerpt.ts
@@ -181,15 +182,9 @@ async function getBlogCategories() {
181
182
  return [];
182
183
  }
183
184
  }
184
- function blogPathPrefix(options) {
185
- const raw = (options.blogBasePath ?? "/blog").trim() || "/blog";
186
- const withSlash = raw.startsWith("/") ? raw : `/${raw}`;
187
- return withSlash.replace(/\/$/, "") || "/blog";
188
- }
189
185
  async function generateBlogPostMetadata(slug, options = {}) {
190
186
  const post = await getBlogPost(slug);
191
187
  const { siteName, siteUrl = "", defaultImage, twitterHandle } = options;
192
- const base = blogPathPrefix(options);
193
188
  if (!post) {
194
189
  return {
195
190
  title: "Post Not Found",
@@ -199,7 +194,7 @@ async function generateBlogPostMetadata(slug, options = {}) {
199
194
  const title = post.meta_title || post.title;
200
195
  const description = sanitizeExcerpt(post.meta_description || post.excerpt);
201
196
  const image = post.featured_image || defaultImage;
202
- const url = `${siteUrl}${base}/${post.slug}`;
197
+ const url = chunkLC7AM4J5_js.resolveBlogPostUrl(post, options);
203
198
  return {
204
199
  title,
205
200
  description,
@@ -228,7 +223,7 @@ async function generateBlogPostMetadata(slug, options = {}) {
228
223
  creator: twitterHandle
229
224
  },
230
225
  alternates: {
231
- canonical: post.canonical_url || url
226
+ canonical: url
232
227
  },
233
228
  other: {
234
229
  "article:published_time": post.published_at || "",
@@ -245,14 +240,14 @@ function generateBlogIndexMetadata(options) {
245
240
  defaultImage,
246
241
  twitterHandle
247
242
  } = options;
248
- const base = blogPathPrefix(options);
243
+ const base = chunkLC7AM4J5_js.createBlogRoutes(options).index;
249
244
  return {
250
245
  title,
251
246
  description,
252
247
  openGraph: {
253
248
  title,
254
249
  description,
255
- url: `${siteUrl}${base}`,
250
+ url: chunkLC7AM4J5_js.resolveBlogUrl(base, siteUrl),
256
251
  siteName,
257
252
  type: "website",
258
253
  images: defaultImage ? [{ url: defaultImage }] : void 0
@@ -267,7 +262,7 @@ function generateBlogIndexMetadata(options) {
267
262
  };
268
263
  }
269
264
  function generateBlogCategoryMetadata(categoryName, options = {}) {
270
- const { siteName, siteUrl = "", defaultImage, blogBasePath = "/blog" } = options;
265
+ const { siteName, siteUrl = "", defaultImage } = options;
271
266
  const title = `${categoryName} - Blog`;
272
267
  const description = `Browse all posts in ${categoryName}.`;
273
268
  const slug = options.categorySlug ?? categoryName.toLowerCase().trim().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
@@ -277,43 +272,52 @@ function generateBlogCategoryMetadata(categoryName, options = {}) {
277
272
  openGraph: {
278
273
  title,
279
274
  description,
280
- url: `${siteUrl}${blogBasePath}/category/${slug}`,
275
+ url: chunkLC7AM4J5_js.resolveBlogUrl(chunkLC7AM4J5_js.createBlogRoutes(options).category(slug), siteUrl),
281
276
  siteName,
282
277
  type: "website",
283
278
  images: defaultImage ? [{ url: defaultImage }] : void 0
284
279
  }
285
280
  };
286
281
  }
287
- async function generateBlogStaticParams() {
288
- const slugs = await getAllBlogSlugs();
289
- return slugs.map((s) => ({ slug: s.slug }));
282
+ async function generateBlogStaticParams(options = {}) {
283
+ const posts = await getBlogRouteEntries(options);
284
+ return posts.map((post) => {
285
+ const category = chunkLC7AM4J5_js.blogCategorySlug(post.category || options.category);
286
+ return { slug: post.slug, ...options.includeCategoryInPath && category ? { category } : {} };
287
+ });
290
288
  }
291
289
  async function generateCategoryStaticParams() {
292
290
  const categories = await getBlogCategories();
293
291
  return categories.map((c) => ({ category: c.slug }));
294
292
  }
295
- async function generateBlogSitemap(siteUrl) {
296
- const slugs = await getAllBlogSlugs();
297
- const categories = await getBlogCategories();
298
- const clusters = await getTopicClusters();
293
+ async function getBlogRouteEntries(options, withCanonicals = false) {
294
+ if (withCanonicals || options.includeCategoryInPath || options.postPath) {
295
+ return (await getAllBlogPosts({ maxPosts: Infinity })).map((post) => ({ ...post, last_modified: post.updated_at }));
296
+ }
297
+ return getAllBlogSlugs();
298
+ }
299
+ async function generateBlogSitemap(siteUrl, options = {}) {
300
+ const slugs = await getBlogRouteEntries(options, true);
301
+ const categories = options.includeCategories === false ? [] : await getBlogCategories();
302
+ const clusters = options.includeClusters === false ? [] : await getTopicClusters();
299
303
  const entries = [
300
304
  // Blog index
301
305
  {
302
- url: `${siteUrl}/blog`,
306
+ url: chunkLC7AM4J5_js.resolveBlogUrl(chunkLC7AM4J5_js.createBlogRoutes(options).index, siteUrl),
303
307
  changeFrequency: "daily",
304
308
  priority: 0.8
305
309
  }
306
310
  ];
307
311
  clusters.forEach((cluster) => {
308
312
  entries.push({
309
- url: `${siteUrl}/blog/cluster/${cluster.cluster_slug}`,
313
+ url: chunkLC7AM4J5_js.resolveBlogUrl(chunkLC7AM4J5_js.createBlogRoutes(options).cluster(cluster.cluster_slug), siteUrl),
310
314
  changeFrequency: "weekly",
311
315
  priority: 0.8
312
316
  });
313
317
  });
314
318
  categories.forEach((cat) => {
315
319
  entries.push({
316
- url: `${siteUrl}/blog/category/${cat.slug}`,
320
+ url: chunkLC7AM4J5_js.resolveBlogUrl(chunkLC7AM4J5_js.createBlogRoutes(options).category(cat.slug), siteUrl),
317
321
  changeFrequency: "weekly",
318
322
  priority: 0.6
319
323
  });
@@ -321,7 +325,7 @@ async function generateBlogSitemap(siteUrl) {
321
325
  slugs.forEach((post) => {
322
326
  const isPillar = post.article_type === "pillar";
323
327
  entries.push({
324
- url: `${siteUrl}/blog/${post.slug}`,
328
+ url: chunkLC7AM4J5_js.resolveBlogPostUrl(post, { ...options, siteUrl }),
325
329
  lastModified: post.last_modified ? new Date(post.last_modified) : void 0,
326
330
  changeFrequency: isPillar ? "weekly" : "monthly",
327
331
  priority: isPillar ? 0.9 : 0.7
@@ -336,7 +340,7 @@ function generateBlogPostSchema(post, options = {}) {
336
340
  "@type": "BlogPosting",
337
341
  headline: post.title,
338
342
  description: sanitizeExcerpt(post.excerpt || post.meta_description),
339
- url: `${siteUrl}/blog/${post.slug}`,
343
+ url: chunkLC7AM4J5_js.resolveBlogPostUrl(post, { ...options, siteUrl }),
340
344
  datePublished: post.published_at,
341
345
  dateModified: post.updated_at,
342
346
  author: {
@@ -344,9 +348,8 @@ function generateBlogPostSchema(post, options = {}) {
344
348
  name: typeof post.author === "string" ? post.author : post.author?.name
345
349
  }
346
350
  };
347
- if (post.featured_image) {
348
- schema.image = post.featured_image;
349
- }
351
+ const articleImage = chunkLC7AM4J5_js.resolveBlogArtwork(post, "article").src;
352
+ if (articleImage) schema.image = articleImage;
350
353
  if (siteName || logoUrl) {
351
354
  schema.publisher = {
352
355
  "@type": "Organization",
@@ -379,7 +382,7 @@ function generateBlogListSchema(options = {}) {
379
382
  "@type": "Blog",
380
383
  name: siteName ? `${siteName} Blog` : "Blog",
381
384
  description: description || "Our latest articles and insights.",
382
- url: `${siteUrl}/blog`
385
+ url: chunkLC7AM4J5_js.resolveBlogUrl(chunkLC7AM4J5_js.createBlogRoutes(options).index, siteUrl)
383
386
  };
384
387
  }
385
388
  function generateFaqSchema(faqItems) {
@@ -404,7 +407,7 @@ function generateHowToSchema(post, steps, options = {}) {
404
407
  "@type": "HowTo",
405
408
  name: post.title,
406
409
  description: sanitizeExcerpt(post.excerpt || post.meta_description),
407
- image: post.featured_image,
410
+ image: chunkLC7AM4J5_js.resolveBlogArtwork(post, "article").src,
408
411
  totalTime: post.reading_time ? `PT${post.reading_time}M` : void 0,
409
412
  step: steps.map((step, index) => ({
410
413
  "@type": "HowToStep",
@@ -412,12 +415,14 @@ function generateHowToSchema(post, steps, options = {}) {
412
415
  name: step.name,
413
416
  text: step.text,
414
417
  image: step.image,
415
- url: step.url || `${siteUrl}/blog/${post.slug}#step-${index + 1}`
418
+ url: step.url || `${chunkLC7AM4J5_js.resolveBlogPostUrl(post, { ...options, siteUrl }).split("#")[0]}#step-${index + 1}`
416
419
  }))
417
420
  };
418
421
  }
419
422
  var FEED_MAX_POSTS = 100;
420
- async function getAllBlogPosts() {
423
+ async function getAllBlogPosts(options = {}) {
424
+ const maxPosts = options.maxPosts ?? FEED_MAX_POSTS;
425
+ if (!(maxPosts > 0)) return [];
421
426
  const config = chunkO5GHP7UO_js.resolveServerApiConfig();
422
427
  if (!config) {
423
428
  console.warn("[Blog] No API key configured");
@@ -427,7 +432,7 @@ async function getAllBlogPosts() {
427
432
  const posts = [];
428
433
  let page = 1;
429
434
  try {
430
- while (posts.length < FEED_MAX_POSTS) {
435
+ while (posts.length < maxPosts) {
431
436
  const response = await fetch(
432
437
  `${apiUrl}/public/blog/posts?per_page=50&page=${page}`,
433
438
  {
@@ -437,14 +442,15 @@ async function getAllBlogPosts() {
437
442
  );
438
443
  if (!response.ok) break;
439
444
  const data = await response.json();
440
- posts.push(...data.posts || []);
441
- if (!data.pagination?.has_next) break;
445
+ const batch = data.posts || [];
446
+ posts.push(...batch);
447
+ if (!batch.length || !data.pagination?.has_next) break;
442
448
  page += 1;
443
449
  }
444
450
  } catch (error) {
445
451
  console.error("[Blog] Error fetching posts for RSS:", error);
446
452
  }
447
- return posts.slice(0, FEED_MAX_POSTS);
453
+ return posts.slice(0, maxPosts);
448
454
  }
449
455
  function escapeXml(text) {
450
456
  return text.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;");
@@ -476,7 +482,7 @@ async function generateRssFeed(options) {
476
482
  <lastBuildDate>${now}</lastBuildDate>
477
483
  <pubDate>${now}</pubDate>
478
484
  <ttl>${ttl}</ttl>
479
- <atom:link href="${siteUrl}/blog/rss.xml" rel="self" type="application/rss+xml"/>
485
+ <atom:link href="${escapeXml(chunkLC7AM4J5_js.resolveBlogUrl(chunkLC7AM4J5_js.createBlogRoutes(options).rss, siteUrl))}" rel="self" type="application/rss+xml"/>
480
486
  `;
481
487
  if (copyright) {
482
488
  rss += ` <copyright>${escapeXml(copyright)}</copyright>
@@ -499,15 +505,15 @@ async function generateRssFeed(options) {
499
505
  `;
500
506
  }
501
507
  for (const post of posts) {
502
- const postUrl = `${siteUrl}/blog/${post.slug}`;
508
+ const postUrl = chunkLC7AM4J5_js.resolveBlogPostUrl(post, { ...options, siteUrl });
503
509
  const pubDate = post.published_at ? new Date(post.published_at).toUTCString() : now;
504
510
  const author = typeof post.author === "string" ? post.author : post.author?.name || "Unknown";
505
511
  const fullContent = post.content_html || post.content || "";
506
512
  const description2 = sanitizeExcerpt(post.excerpt, 300) || stripHtml(fullContent).substring(0, 300) + "...";
507
513
  rss += ` <item>
508
514
  <title>${escapeXml(post.title)}</title>
509
- <link>${postUrl}</link>
510
- <guid isPermaLink="true">${postUrl}</guid>
515
+ <link>${escapeXml(postUrl)}</link>
516
+ <guid isPermaLink="true">${escapeXml(postUrl)}</guid>
511
517
  <description>${escapeXml(description2)}</description>
512
518
  <content:encoded><![CDATA[${fullContent}]]></content:encoded>
513
519
  <pubDate>${pubDate}</pubDate>
@@ -549,9 +555,9 @@ async function generateAtomFeed(options) {
549
555
  <feed xmlns="http://www.w3.org/2005/Atom">
550
556
  <title>${escapeXml(siteName)}</title>
551
557
  <subtitle>${escapeXml(description)}</subtitle>
552
- <link href="${siteUrl}/blog/feed.xml" rel="self"/>
558
+ <link href="${escapeXml(chunkLC7AM4J5_js.resolveBlogUrl(chunkLC7AM4J5_js.createBlogRoutes(options).atom, siteUrl))}" rel="self"/>
553
559
  <link href="${siteUrl}"/>
554
- <id>${siteUrl}/blog</id>
560
+ <id>${escapeXml(chunkLC7AM4J5_js.resolveBlogUrl(chunkLC7AM4J5_js.createBlogRoutes(options).index, siteUrl))}</id>
555
561
  <updated>${now}</updated>
556
562
  `;
557
563
  if (managingEditor) {
@@ -561,15 +567,15 @@ async function generateAtomFeed(options) {
561
567
  `;
562
568
  }
563
569
  for (const post of posts) {
564
- const postUrl = `${siteUrl}/blog/${post.slug}`;
570
+ const postUrl = chunkLC7AM4J5_js.resolveBlogPostUrl(post, { ...options, siteUrl });
565
571
  const updated = post.updated_at || post.published_at || now;
566
572
  const published = post.published_at || now;
567
573
  const author = typeof post.author === "string" ? post.author : post.author?.name || "Unknown";
568
574
  const fullContent = post.content_html || post.content || "";
569
575
  atom += ` <entry>
570
576
  <title>${escapeXml(post.title)}</title>
571
- <link href="${postUrl}"/>
572
- <id>${postUrl}</id>
577
+ <link href="${escapeXml(postUrl)}"/>
578
+ <id>${escapeXml(postUrl)}</id>
573
579
  <updated>${new Date(updated).toISOString()}</updated>
574
580
  <published>${new Date(published).toISOString()}</published>
575
581
  <author>
@@ -700,7 +706,7 @@ async function getPostsByCategory(categorySlug) {
700
706
  }
701
707
  }
702
708
  function generateClusterItemListSchema(cluster, options = {}) {
703
- const { siteUrl = "", basePath = "/blog" } = options;
709
+ const { siteUrl = "" } = options;
704
710
  return {
705
711
  "@context": "https://schema.org",
706
712
  "@type": "ItemList",
@@ -711,19 +717,19 @@ function generateClusterItemListSchema(cluster, options = {}) {
711
717
  "@type": "ListItem",
712
718
  position: i + 1,
713
719
  name: post.title,
714
- url: `${siteUrl}${basePath}/${post.slug}`
720
+ url: chunkLC7AM4J5_js.resolveBlogPostUrl(post, { ...options, siteUrl })
715
721
  }))
716
722
  };
717
723
  }
718
724
  function generateClusterArticleSchema(post, cluster, options = {}) {
719
- const { siteUrl = "", basePath = "/blog", siteName, logoUrl } = options;
725
+ const { siteUrl = "", siteName, logoUrl } = options;
720
726
  const isPillar = post.article_type === "pillar";
721
727
  const schema = {
722
728
  "@context": "https://schema.org",
723
729
  "@type": "Article",
724
730
  headline: post.title,
725
731
  description: sanitizeExcerpt(post.excerpt || post.meta_description),
726
- url: `${siteUrl}${basePath}/${post.slug}`,
732
+ url: chunkLC7AM4J5_js.resolveBlogPostUrl(post, { ...options, siteUrl }),
727
733
  datePublished: post.published_at,
728
734
  dateModified: post.updated_at,
729
735
  author: {
@@ -732,9 +738,8 @@ function generateClusterArticleSchema(post, cluster, options = {}) {
732
738
  },
733
739
  keywords: post.focus_keyphrase || post.keywords
734
740
  };
735
- if (post.featured_image) {
736
- schema.image = post.featured_image;
737
- }
741
+ const articleImage = chunkLC7AM4J5_js.resolveBlogArtwork(post, "article").src;
742
+ if (articleImage) schema.image = articleImage;
738
743
  if (siteName || logoUrl) {
739
744
  schema.publisher = {
740
745
  "@type": "Organization",
@@ -746,13 +751,13 @@ function generateClusterArticleSchema(post, cluster, options = {}) {
746
751
  schema.hasPart = cluster.supports.map((s) => ({
747
752
  "@type": "Article",
748
753
  headline: s.title,
749
- url: `${siteUrl}${basePath}/${s.slug}`
754
+ url: chunkLC7AM4J5_js.resolveBlogPostUrl(s, { ...options, siteUrl })
750
755
  }));
751
756
  } else if (!isPillar && cluster.pillar) {
752
757
  schema.isPartOf = {
753
758
  "@type": "Article",
754
759
  headline: cluster.pillar.title,
755
- url: `${siteUrl}${basePath}/${cluster.pillar.slug}`
760
+ url: chunkLC7AM4J5_js.resolveBlogPostUrl(cluster.pillar, { ...options, siteUrl })
756
761
  };
757
762
  }
758
763
  if (cluster.geo_target) {
@@ -764,21 +769,21 @@ function generateClusterArticleSchema(post, cluster, options = {}) {
764
769
  return schema;
765
770
  }
766
771
  function generateClusterBreadcrumbSchema(post, cluster, options = {}) {
767
- const { siteUrl = "", siteName = "Home", basePath = "/blog" } = options;
772
+ const { siteUrl = "", siteName = "Home" } = options;
768
773
  const items = [
769
774
  { "@type": "ListItem", position: 1, name: siteName, item: siteUrl },
770
- { "@type": "ListItem", position: 2, name: "Blog", item: `${siteUrl}${basePath}` },
775
+ { "@type": "ListItem", position: 2, name: "Blog", item: chunkLC7AM4J5_js.resolveBlogUrl(chunkLC7AM4J5_js.createBlogRoutes(options).index, siteUrl) },
771
776
  {
772
777
  "@type": "ListItem",
773
778
  position: 3,
774
779
  name: cluster.cluster_name,
775
- item: `${siteUrl}${basePath}/cluster/${cluster.cluster_slug}`
780
+ item: chunkLC7AM4J5_js.resolveBlogUrl(chunkLC7AM4J5_js.createBlogRoutes(options).cluster(cluster.cluster_slug), siteUrl)
776
781
  },
777
782
  {
778
783
  "@type": "ListItem",
779
784
  position: 4,
780
785
  name: post.title,
781
- item: `${siteUrl}${basePath}/${post.slug}`
786
+ item: chunkLC7AM4J5_js.resolveBlogPostUrl(post, { ...options, siteUrl })
782
787
  }
783
788
  ];
784
789
  return {
@@ -788,32 +793,32 @@ function generateClusterBreadcrumbSchema(post, cluster, options = {}) {
788
793
  };
789
794
  }
790
795
  function generateClusterLandingSchema(cluster, options = {}) {
791
- const { siteUrl = "", basePath = "/blog", siteName } = options;
796
+ const { siteUrl = "", siteName } = options;
792
797
  return {
793
798
  "@context": "https://schema.org",
794
799
  "@type": "CollectionPage",
795
800
  name: cluster.cluster_name,
796
801
  description: `Comprehensive guide to ${cluster.core_topic}`,
797
- url: `${siteUrl}${basePath}/cluster/${cluster.cluster_slug}`,
802
+ url: chunkLC7AM4J5_js.resolveBlogUrl(chunkLC7AM4J5_js.createBlogRoutes(options).cluster(cluster.cluster_slug), siteUrl),
798
803
  ...siteName && {
799
804
  isPartOf: { "@type": "WebSite", name: siteName, url: siteUrl }
800
805
  },
801
806
  mainEntity: cluster.pillar ? {
802
807
  "@type": "Article",
803
808
  headline: cluster.pillar.title,
804
- url: `${siteUrl}${basePath}/${cluster.pillar.slug}`
809
+ url: chunkLC7AM4J5_js.resolveBlogPostUrl(cluster.pillar, { ...options, siteUrl })
805
810
  } : void 0,
806
811
  hasPart: cluster.supports.map((s) => ({
807
812
  "@type": "Article",
808
813
  headline: s.title,
809
- url: `${siteUrl}${basePath}/${s.slug}`
814
+ url: chunkLC7AM4J5_js.resolveBlogPostUrl(s, { ...options, siteUrl })
810
815
  }))
811
816
  };
812
817
  }
813
818
  async function generateClusterPageMetadata(clusterSlug, options = {}) {
814
819
  const cluster = await getTopicCluster(clusterSlug);
815
820
  if (!cluster) return {};
816
- const { siteName = "", siteUrl = "", basePath = "/blog" } = options;
821
+ const { siteName = "", siteUrl = "" } = options;
817
822
  const title = `${cluster.cluster_name}${siteName ? ` | ${siteName}` : ""}`;
818
823
  const description = `Comprehensive guide to ${cluster.core_topic}. ${cluster.article_count} articles covering everything you need to know.`;
819
824
  return {
@@ -822,7 +827,7 @@ async function generateClusterPageMetadata(clusterSlug, options = {}) {
822
827
  openGraph: {
823
828
  title,
824
829
  description,
825
- url: `${siteUrl}${basePath}/cluster/${cluster.cluster_slug}`,
830
+ url: chunkLC7AM4J5_js.resolveBlogUrl(chunkLC7AM4J5_js.createBlogRoutes(options).cluster(cluster.cluster_slug), siteUrl),
826
831
  type: "website"
827
832
  }
828
833
  };
@@ -868,7 +873,7 @@ function generateBreadcrumbSchema(post, options = {}) {
868
873
  "@type": "ListItem",
869
874
  position: 2,
870
875
  name: "Blog",
871
- item: `${siteUrl}/blog`
876
+ item: chunkLC7AM4J5_js.resolveBlogUrl(chunkLC7AM4J5_js.createBlogRoutes(options).index, siteUrl)
872
877
  }
873
878
  ];
874
879
  if (post.category) {
@@ -878,20 +883,20 @@ function generateBreadcrumbSchema(post, options = {}) {
878
883
  "@type": "ListItem",
879
884
  position: 3,
880
885
  name: categoryName,
881
- item: `${siteUrl}/blog/category/${categorySlug}`
886
+ item: chunkLC7AM4J5_js.resolveBlogUrl(chunkLC7AM4J5_js.createBlogRoutes(options).category(categorySlug), siteUrl)
882
887
  });
883
888
  items.push({
884
889
  "@type": "ListItem",
885
890
  position: 4,
886
891
  name: post.title,
887
- item: `${siteUrl}/blog/${post.slug}`
892
+ item: chunkLC7AM4J5_js.resolveBlogPostUrl(post, { ...options, siteUrl })
888
893
  });
889
894
  } else {
890
895
  items.push({
891
896
  "@type": "ListItem",
892
897
  position: 3,
893
898
  name: post.title,
894
- item: `${siteUrl}/blog/${post.slug}`
899
+ item: chunkLC7AM4J5_js.resolveBlogPostUrl(post, { ...options, siteUrl })
895
900
  });
896
901
  }
897
902
  return {
@@ -1000,7 +1005,7 @@ function generateAuthorPageMetadata(author, options = {}) {
1000
1005
  const { siteUrl = "", siteName } = options;
1001
1006
  const title = `${author.name}${author.title ? ` - ${author.title}` : ""}`;
1002
1007
  const description = author.short_bio || author.bio || `Articles by ${author.name}`;
1003
- const url = `${siteUrl}/blog/author/${author.slug}`;
1008
+ const url = chunkLC7AM4J5_js.resolveBlogUrl(chunkLC7AM4J5_js.createBlogRoutes(options).author(author.slug), siteUrl);
1004
1009
  return {
1005
1010
  title,
1006
1011
  description,
@@ -1063,5 +1068,5 @@ exports.sanitizeExcerpt = sanitizeExcerpt;
1063
1068
  exports.validateBlogPostSeo = validateBlogPostSeo;
1064
1069
  exports.validateMetaDescription = validateMetaDescription;
1065
1070
  exports.validateSeoTitle = validateSeoTitle;
1066
- //# sourceMappingURL=chunk-JBGRXICL.js.map
1067
- //# sourceMappingURL=chunk-JBGRXICL.js.map
1071
+ //# sourceMappingURL=chunk-746RKQHA.js.map
1072
+ //# sourceMappingURL=chunk-746RKQHA.js.map