@sonordev/site-kit 4.2.3 → 4.3.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 (241) hide show
  1. package/agent-manifest.json +11 -1
  2. package/dist/AnalyticsProvider-WRAJE62B.js +31 -0
  3. package/dist/{AnalyticsProvider-VSTTYP4W.js.map → AnalyticsProvider-WRAJE62B.js.map} +1 -1
  4. package/dist/AnalyticsProvider-YZAOPVAY.mjs +10 -0
  5. package/dist/{AnalyticsProvider-NW3UZYL5.mjs.map → AnalyticsProvider-YZAOPVAY.mjs.map} +1 -1
  6. package/dist/ChatWidget-NMZGPP7A.js +20 -0
  7. package/dist/{ChatWidget-BJOE2OSI.js.map → ChatWidget-NMZGPP7A.js.map} +1 -1
  8. package/dist/ChatWidget-ZI34F7JU.mjs +11 -0
  9. package/dist/{ChatWidget-EWQ7LRD4.mjs.map → ChatWidget-ZI34F7JU.mjs.map} +1 -1
  10. package/dist/EngageWidget-2U4EN7OP.js +18 -0
  11. package/dist/{EngageWidget-CZMNLFWI.js.map → EngageWidget-2U4EN7OP.js.map} +1 -1
  12. package/dist/EngageWidget-NI2BN6GO.mjs +9 -0
  13. package/dist/{EngageWidget-F427CI6Y.mjs.map → EngageWidget-NI2BN6GO.mjs.map} +1 -1
  14. package/dist/{FileField-5RVBU3Z4.mjs → FileField-I4UICUJF.mjs} +5 -5
  15. package/dist/{FileField-5RVBU3Z4.mjs.map → FileField-I4UICUJF.mjs.map} +1 -1
  16. package/dist/{FileField-Y4ZA7DST.js → FileField-UI6DAB3K.js} +6 -6
  17. package/dist/{FileField-Y4ZA7DST.js.map → FileField-UI6DAB3K.js.map} +1 -1
  18. package/dist/{FormSpotlight-MAEV6SZK.js → FormSpotlight-LO4BU6FY.js} +15 -15
  19. package/dist/{FormSpotlight-MAEV6SZK.js.map → FormSpotlight-LO4BU6FY.js.map} +1 -1
  20. package/dist/{FormSpotlight-CJPI2MRJ.mjs → FormSpotlight-RGFZMYPT.mjs} +3 -3
  21. package/dist/{FormSpotlight-CJPI2MRJ.mjs.map → FormSpotlight-RGFZMYPT.mjs.map} +1 -1
  22. package/dist/{FormStage-D42NAHSN.js → FormStage-NT5ZAH5Y.js} +13 -13
  23. package/dist/{FormStage-D42NAHSN.js.map → FormStage-NT5ZAH5Y.js.map} +1 -1
  24. package/dist/{FormStage-Z7WW3DNA.mjs → FormStage-RBXMNWM3.mjs} +3 -3
  25. package/dist/{FormStage-Z7WW3DNA.mjs.map → FormStage-RBXMNWM3.mjs.map} +1 -1
  26. package/dist/ManagedForm-CJOFGQK6.mjs +14 -0
  27. package/dist/{ManagedForm-A7BROQIN.mjs.map → ManagedForm-CJOFGQK6.mjs.map} +1 -1
  28. package/dist/ManagedForm-MKV5RM54.js +23 -0
  29. package/dist/{ManagedForm-Z3Z5Z6OL.js.map → ManagedForm-MKV5RM54.js.map} +1 -1
  30. package/dist/{SignalCore-77UH6PZ4.mjs → SignalCore-B2ZSLEXI.mjs} +5 -5
  31. package/dist/{SignalCore-77UH6PZ4.mjs.map → SignalCore-B2ZSLEXI.mjs.map} +1 -1
  32. package/dist/{SignalCore-NA6TJFVE.js → SignalCore-IX4L2TYS.js} +11 -11
  33. package/dist/{SignalCore-NA6TJFVE.js.map → SignalCore-IX4L2TYS.js.map} +1 -1
  34. package/dist/SitemapSync-2LLNO24P.mjs +8 -0
  35. package/dist/{SitemapSync-EY33A6P4.mjs.map → SitemapSync-2LLNO24P.mjs.map} +1 -1
  36. package/dist/SitemapSync-B2CY2JYM.js +17 -0
  37. package/dist/{SitemapSync-62F6HVAW.js.map → SitemapSync-B2CY2JYM.js.map} +1 -1
  38. package/dist/analytics/index.js +9 -9
  39. package/dist/analytics/index.mjs +4 -4
  40. package/dist/{chunk-NEIUWAAL.js → chunk-2EA4DC2G.js} +5 -5
  41. package/dist/{chunk-NEIUWAAL.js.map → chunk-2EA4DC2G.js.map} +1 -1
  42. package/dist/chunk-2X5ZB5D7.mjs +6 -0
  43. package/dist/{chunk-XCFCG46K.mjs.map → chunk-2X5ZB5D7.mjs.map} +1 -1
  44. package/dist/{chunk-RDISSFEH.js → chunk-3AAFSXFC.js} +15 -15
  45. package/dist/{chunk-RDISSFEH.js.map → chunk-3AAFSXFC.js.map} +1 -1
  46. package/dist/{chunk-KL4MV6HK.mjs → chunk-3DFYFDGC.mjs} +3 -3
  47. package/dist/{chunk-KL4MV6HK.mjs.map → chunk-3DFYFDGC.mjs.map} +1 -1
  48. package/dist/{chunk-HVDKAR77.js → chunk-3KVG2PSJ.js} +7 -7
  49. package/dist/{chunk-HVDKAR77.js.map → chunk-3KVG2PSJ.js.map} +1 -1
  50. package/dist/{chunk-FZAAQE4Y.mjs → chunk-3ZD2XCLE.mjs} +4 -4
  51. package/dist/{chunk-FZAAQE4Y.mjs.map → chunk-3ZD2XCLE.mjs.map} +1 -1
  52. package/dist/{chunk-RRR6Y6Y5.mjs → chunk-5PBJ42NC.mjs} +4 -4
  53. package/dist/{chunk-RRR6Y6Y5.mjs.map → chunk-5PBJ42NC.mjs.map} +1 -1
  54. package/dist/{chunk-3P4HJAZA.mjs → chunk-5S735BSH.mjs} +4 -4
  55. package/dist/{chunk-3P4HJAZA.mjs.map → chunk-5S735BSH.mjs.map} +1 -1
  56. package/dist/{chunk-535HXGDU.mjs → chunk-6SN3ABID.mjs} +3 -3
  57. package/dist/{chunk-535HXGDU.mjs.map → chunk-6SN3ABID.mjs.map} +1 -1
  58. package/dist/{chunk-OHA43BNK.js → chunk-7X4LKAYJ.js} +14 -14
  59. package/dist/{chunk-OHA43BNK.js.map → chunk-7X4LKAYJ.js.map} +1 -1
  60. package/dist/{chunk-RCRDDMUO.mjs → chunk-ACL5FDJI.mjs} +3 -3
  61. package/dist/{chunk-RCRDDMUO.mjs.map → chunk-ACL5FDJI.mjs.map} +1 -1
  62. package/dist/{chunk-SL6ZGJVN.mjs → chunk-ANJBOE46.mjs} +4 -4
  63. package/dist/{chunk-SL6ZGJVN.mjs.map → chunk-ANJBOE46.mjs.map} +1 -1
  64. package/dist/{chunk-BN4AL7XB.js → chunk-BGIT5M27.js} +4 -4
  65. package/dist/{chunk-BN4AL7XB.js.map → chunk-BGIT5M27.js.map} +1 -1
  66. package/dist/{chunk-TFAYDIWM.mjs → chunk-DYDJ6NCM.mjs} +3 -3
  67. package/dist/{chunk-TFAYDIWM.mjs.map → chunk-DYDJ6NCM.mjs.map} +1 -1
  68. package/dist/{chunk-M2SEYO5J.js → chunk-F3MOVBEE.js} +7 -7
  69. package/dist/{chunk-M2SEYO5J.js.map → chunk-F3MOVBEE.js.map} +1 -1
  70. package/dist/{chunk-XA7RBHKT.js → chunk-FIVPS4Z6.js} +4 -4
  71. package/dist/{chunk-XA7RBHKT.js.map → chunk-FIVPS4Z6.js.map} +1 -1
  72. package/dist/{chunk-TKVADZFD.mjs → chunk-G5EETWKH.mjs} +4 -4
  73. package/dist/{chunk-TKVADZFD.mjs.map → chunk-G5EETWKH.mjs.map} +1 -1
  74. package/dist/{chunk-BX6FFL2Y.js → chunk-HXHDOIV6.js} +5 -5
  75. package/dist/{chunk-BX6FFL2Y.js.map → chunk-HXHDOIV6.js.map} +1 -1
  76. package/dist/{chunk-UDNXM6RB.mjs → chunk-IDSTSLMM.mjs} +3 -3
  77. package/dist/{chunk-UDNXM6RB.mjs.map → chunk-IDSTSLMM.mjs.map} +1 -1
  78. package/dist/{chunk-DZUOLOYS.mjs → chunk-IT76CWZ2.mjs} +3 -3
  79. package/dist/{chunk-DZUOLOYS.mjs.map → chunk-IT76CWZ2.mjs.map} +1 -1
  80. package/dist/{chunk-7BVZLSUJ.js → chunk-IW6S62NR.js} +8 -8
  81. package/dist/{chunk-7BVZLSUJ.js.map → chunk-IW6S62NR.js.map} +1 -1
  82. package/dist/{chunk-EHNUPEFY.mjs → chunk-IWFQPGA2.mjs} +7 -7
  83. package/dist/{chunk-EHNUPEFY.mjs.map → chunk-IWFQPGA2.mjs.map} +1 -1
  84. package/dist/{chunk-S5UATBC7.js → chunk-IWV72YOE.js} +14 -14
  85. package/dist/{chunk-S5UATBC7.js.map → chunk-IWV72YOE.js.map} +1 -1
  86. package/dist/{chunk-WCTOQFAN.js → chunk-IZVV36RT.js} +14 -14
  87. package/dist/{chunk-WCTOQFAN.js.map → chunk-IZVV36RT.js.map} +1 -1
  88. package/dist/{chunk-T3HGONNE.mjs → chunk-JBX6KV46.mjs} +4 -4
  89. package/dist/{chunk-T3HGONNE.mjs.map → chunk-JBX6KV46.mjs.map} +1 -1
  90. package/dist/{chunk-J6HWSJT7.mjs → chunk-JJTCVH4Q.mjs} +3 -3
  91. package/dist/{chunk-J6HWSJT7.mjs.map → chunk-JJTCVH4Q.mjs.map} +1 -1
  92. package/dist/{chunk-GDMOAGVS.js → chunk-K7QBRZLN.js} +18 -18
  93. package/dist/{chunk-GDMOAGVS.js.map → chunk-K7QBRZLN.js.map} +1 -1
  94. package/dist/{chunk-6D3HZKTZ.mjs → chunk-L4FHGCQ2.mjs} +3 -3
  95. package/dist/{chunk-6D3HZKTZ.mjs.map → chunk-L4FHGCQ2.mjs.map} +1 -1
  96. package/dist/{chunk-N5RTJNMN.js → chunk-LTALFZX7.js} +6 -6
  97. package/dist/{chunk-N5RTJNMN.js.map → chunk-LTALFZX7.js.map} +1 -1
  98. package/dist/{chunk-ZASFY4NR.mjs → chunk-LVMPYAOQ.mjs} +4 -4
  99. package/dist/{chunk-ZASFY4NR.mjs.map → chunk-LVMPYAOQ.mjs.map} +1 -1
  100. package/dist/{chunk-XOJYGBYF.js → chunk-NGAKS4WG.js} +3 -3
  101. package/dist/{chunk-XOJYGBYF.js.map → chunk-NGAKS4WG.js.map} +1 -1
  102. package/dist/{chunk-MP7ZYKMM.js → chunk-O4TMBV54.js} +8 -8
  103. package/dist/{chunk-MP7ZYKMM.js.map → chunk-O4TMBV54.js.map} +1 -1
  104. package/dist/{chunk-T6T5IQMN.mjs → chunk-OBRGUSGB.mjs} +3 -3
  105. package/dist/{chunk-T6T5IQMN.mjs.map → chunk-OBRGUSGB.mjs.map} +1 -1
  106. package/dist/{chunk-3DSGMX7P.js → chunk-OOBEJZJ5.js} +3 -3
  107. package/dist/{chunk-3DSGMX7P.js.map → chunk-OOBEJZJ5.js.map} +1 -1
  108. package/dist/{chunk-JJDY5XXG.js → chunk-PJZHIISA.js} +3 -3
  109. package/dist/{chunk-JJDY5XXG.js.map → chunk-PJZHIISA.js.map} +1 -1
  110. package/dist/{chunk-XWFUQMU6.mjs → chunk-QEHPIQYN.mjs} +3 -3
  111. package/dist/{chunk-XWFUQMU6.mjs.map → chunk-QEHPIQYN.mjs.map} +1 -1
  112. package/dist/{chunk-QJK2X3UK.js → chunk-R2O5VDNJ.js} +12 -12
  113. package/dist/{chunk-QJK2X3UK.js.map → chunk-R2O5VDNJ.js.map} +1 -1
  114. package/dist/{chunk-INA4NW3Y.mjs → chunk-RW76CJBS.mjs} +3 -3
  115. package/dist/{chunk-INA4NW3Y.mjs.map → chunk-RW76CJBS.mjs.map} +1 -1
  116. package/dist/{chunk-2XRGCDDG.js → chunk-SABYEM57.js} +9 -9
  117. package/dist/{chunk-2XRGCDDG.js.map → chunk-SABYEM57.js.map} +1 -1
  118. package/dist/{chunk-ZAVNGZJZ.js → chunk-SACGTFCK.js} +22 -6
  119. package/dist/chunk-SACGTFCK.js.map +1 -0
  120. package/dist/{chunk-SAR473OC.js → chunk-SM27DPML.js} +12 -12
  121. package/dist/{chunk-SAR473OC.js.map → chunk-SM27DPML.js.map} +1 -1
  122. package/dist/{chunk-HTLWSCUQ.mjs → chunk-SRJSR6YP.mjs} +22 -6
  123. package/dist/chunk-SRJSR6YP.mjs.map +1 -0
  124. package/dist/{chunk-NB4MK2Q5.js → chunk-SWIKKSKL.js} +3 -2
  125. package/dist/chunk-SWIKKSKL.js.map +1 -0
  126. package/dist/{chunk-GJKO2TZN.js → chunk-T6YDAJ5F.js} +4 -4
  127. package/dist/{chunk-GJKO2TZN.js.map → chunk-T6YDAJ5F.js.map} +1 -1
  128. package/dist/{chunk-MF6XLEX5.js → chunk-TBIWQQVF.js} +15 -15
  129. package/dist/{chunk-MF6XLEX5.js.map → chunk-TBIWQQVF.js.map} +1 -1
  130. package/dist/chunk-U3P4WF2A.js +8 -0
  131. package/dist/{chunk-S5L73KZQ.js.map → chunk-U3P4WF2A.js.map} +1 -1
  132. package/dist/{chunk-YWXZ4YLU.js → chunk-UDXWBLBH.js} +4 -4
  133. package/dist/{chunk-YWXZ4YLU.js.map → chunk-UDXWBLBH.js.map} +1 -1
  134. package/dist/{chunk-I7ORAWYT.mjs → chunk-UFT7IKDN.mjs} +4 -4
  135. package/dist/{chunk-I7ORAWYT.mjs.map → chunk-UFT7IKDN.mjs.map} +1 -1
  136. package/dist/{chunk-GU5OTUQS.mjs → chunk-VS67QHNX.mjs} +3 -3
  137. package/dist/{chunk-GU5OTUQS.mjs.map → chunk-VS67QHNX.mjs.map} +1 -1
  138. package/dist/{chunk-XR3MDDQT.mjs → chunk-XPNOM353.mjs} +3 -3
  139. package/dist/{chunk-XR3MDDQT.mjs.map → chunk-XPNOM353.mjs.map} +1 -1
  140. package/dist/{chunk-PTZB4ES3.mjs → chunk-YSLGMCQH.mjs} +8 -8
  141. package/dist/{chunk-PTZB4ES3.mjs.map → chunk-YSLGMCQH.mjs.map} +1 -1
  142. package/dist/{chunk-NI7OY4FW.mjs → chunk-ZN4HBK5C.mjs} +3 -2
  143. package/dist/chunk-ZN4HBK5C.mjs.map +1 -0
  144. package/dist/cli/index.js +36 -23
  145. package/dist/cli/index.js.map +1 -1
  146. package/dist/cli/index.mjs +29 -16
  147. package/dist/cli/index.mjs.map +1 -1
  148. package/dist/client/index.js +5 -5
  149. package/dist/client/index.mjs +4 -4
  150. package/dist/commerce/index.js +56 -56
  151. package/dist/commerce/index.mjs +5 -5
  152. package/dist/engage/index.js +13 -13
  153. package/dist/engage/index.mjs +7 -7
  154. package/dist/fleet/index.js +8 -8
  155. package/dist/fleet/index.mjs +4 -4
  156. package/dist/forms/index.js +21 -21
  157. package/dist/forms/index.mjs +10 -10
  158. package/dist/forms/server.js +10 -10
  159. package/dist/forms/server.mjs +8 -8
  160. package/dist/forms/static.js +7 -7
  161. package/dist/forms/static.mjs +6 -6
  162. package/dist/images/index.js +11 -11
  163. package/dist/images/index.mjs +4 -4
  164. package/dist/index.js +63 -63
  165. package/dist/index.mjs +9 -9
  166. package/dist/layout/client.js +9 -9
  167. package/dist/layout/client.mjs +8 -8
  168. package/dist/layout/index.js +11 -11
  169. package/dist/layout/index.mjs +9 -9
  170. package/dist/maps/index.js +5 -5
  171. package/dist/maps/index.mjs +3 -3
  172. package/dist/mcp/WebMcpTools.d.ts +60 -0
  173. package/dist/mcp/WebMcpTools.d.ts.map +1 -0
  174. package/dist/mcp/client.d.ts +9 -0
  175. package/dist/mcp/client.d.ts.map +1 -0
  176. package/dist/mcp/client.js +132 -0
  177. package/dist/mcp/client.js.map +1 -0
  178. package/dist/mcp/client.mjs +129 -0
  179. package/dist/mcp/client.mjs.map +1 -0
  180. package/dist/mcp/declarative.d.ts +77 -0
  181. package/dist/mcp/declarative.d.ts.map +1 -0
  182. package/dist/mcp/handlers.d.ts +92 -0
  183. package/dist/mcp/handlers.d.ts.map +1 -0
  184. package/dist/mcp/index.d.ts +29 -0
  185. package/dist/mcp/index.d.ts.map +1 -0
  186. package/dist/mcp/index.js +537 -0
  187. package/dist/mcp/index.js.map +1 -0
  188. package/dist/mcp/index.mjs +509 -0
  189. package/dist/mcp/index.mjs.map +1 -0
  190. package/dist/mcp/protocol.d.ts +140 -0
  191. package/dist/mcp/protocol.d.ts.map +1 -0
  192. package/dist/mcp/protocol.test.d.ts +2 -0
  193. package/dist/mcp/protocol.test.d.ts.map +1 -0
  194. package/dist/mcp/serverCard.d.ts +77 -0
  195. package/dist/mcp/serverCard.d.ts.map +1 -0
  196. package/dist/mcp/types.d.ts +154 -0
  197. package/dist/mcp/types.d.ts.map +1 -0
  198. package/dist/og/config.d.ts +11 -1
  199. package/dist/og/config.d.ts.map +1 -1
  200. package/dist/og/index.js +5 -5
  201. package/dist/og/index.mjs +1 -1
  202. package/dist/og/pages.d.ts.map +1 -1
  203. package/dist/og/template.d.ts.map +1 -1
  204. package/dist/search/index.js +4 -4
  205. package/dist/search/index.mjs +3 -3
  206. package/dist/seo/client.js +5 -5
  207. package/dist/seo/client.mjs +4 -4
  208. package/dist/seo/index.js +5 -5
  209. package/dist/seo/index.mjs +4 -4
  210. package/dist/seo-pages/contract.js +6 -6
  211. package/dist/seo-pages/contract.mjs +2 -2
  212. package/dist/server/index.js +3 -3
  213. package/dist/server/index.mjs +2 -2
  214. package/dist/shared/build-entries.d.ts +4 -1
  215. package/dist/shared/build-entries.d.ts.map +1 -1
  216. package/dist/shared/version.d.ts +1 -1
  217. package/dist/signal/index.js +11 -11
  218. package/dist/signal/index.mjs +2 -2
  219. package/dist/sites/contract.js +9 -9
  220. package/dist/sites/contract.mjs +2 -2
  221. package/dist/sites/normalize.d.ts +2 -1
  222. package/dist/sites/normalize.d.ts.map +1 -1
  223. package/dist/sync/index.js +16 -16
  224. package/dist/sync/index.mjs +4 -4
  225. package/package.json +11 -1
  226. package/dist/AnalyticsProvider-NW3UZYL5.mjs +0 -10
  227. package/dist/AnalyticsProvider-VSTTYP4W.js +0 -31
  228. package/dist/ChatWidget-BJOE2OSI.js +0 -20
  229. package/dist/ChatWidget-EWQ7LRD4.mjs +0 -11
  230. package/dist/EngageWidget-CZMNLFWI.js +0 -18
  231. package/dist/EngageWidget-F427CI6Y.mjs +0 -9
  232. package/dist/ManagedForm-A7BROQIN.mjs +0 -14
  233. package/dist/ManagedForm-Z3Z5Z6OL.js +0 -23
  234. package/dist/SitemapSync-62F6HVAW.js +0 -17
  235. package/dist/SitemapSync-EY33A6P4.mjs +0 -8
  236. package/dist/chunk-HTLWSCUQ.mjs.map +0 -1
  237. package/dist/chunk-NB4MK2Q5.js.map +0 -1
  238. package/dist/chunk-NI7OY4FW.mjs.map +0 -1
  239. package/dist/chunk-S5L73KZQ.js +0 -8
  240. package/dist/chunk-XCFCG46K.mjs +0 -6
  241. package/dist/chunk-ZAVNGZJZ.js.map +0 -1
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { traverse, isJSXIdentifier, isJSXAttribute, isFunctionDeclaration, isVariableDeclarator, isIdentifier, isStringLiteral, isJSXMemberExpression, isJSXExpressionContainer, isTemplateLiteral, isArrayExpression, isObjectExpression, isJSXText } from '../chunk-JOYMIGR2.mjs';
3
3
  import { parse } from '../chunk-5YA6SI4Z.mjs';
4
- import { buildOgHtml, TITLE_MAX_PX, OG_REPORT_ATTR } from '../chunk-HTLWSCUQ.mjs';
4
+ import { buildOgHtml, TITLE_MAX_PX, OG_REPORT_ATTR } from '../chunk-SRJSR6YP.mjs';
5
5
  import { require_main } from '../chunk-NNZDWY3L.mjs';
6
6
  import { findAppDirForDiscovery, discoverNextJsRoutes } from '../chunk-XIJ4F6IE.mjs';
7
- import { SITE_KIT_VERSION } from '../chunk-XCFCG46K.mjs';
7
+ import { SITE_KIT_VERSION } from '../chunk-2X5ZB5D7.mjs';
8
8
  import { __commonJS, __require, __toESM, __export, __privateAdd, __publicField, __privateGet, __privateMethod, __privateSet, __privateWrapper } from '../chunk-BEXTDHO4.mjs';
9
9
  import { EventEmitter } from 'events';
10
10
  import childProcess, { execFile as execFile$1, execSync, spawnSync, spawn } from 'child_process';
@@ -27241,8 +27241,17 @@ function clampSubtitle(text, max = 100) {
27241
27241
  if (flat.length <= max) return flat;
27242
27242
  const sentence = flat.slice(0, max + 1).match(/^.*[.!?](?=\s|$)/)?.[0];
27243
27243
  if (sentence && sentence.length >= 30) return sentence.trim();
27244
- const cut = flat.slice(0, flat.lastIndexOf(" ", max) || max).trim();
27245
- return `${cut.replace(/[.,;:!?…]+$/, "")}\u2026`;
27244
+ return void 0;
27245
+ }
27246
+ function kickerIsRedundant(kicker, title) {
27247
+ if (!kicker) return false;
27248
+ const norm = (s) => s.toLowerCase().replace(/[^a-z0-9]+/g, " ").trim();
27249
+ const k2 = norm(kicker);
27250
+ const t = norm(title);
27251
+ if (!k2) return true;
27252
+ if (t.includes(k2) || k2.includes(t)) return true;
27253
+ const titleWords = new Set(t.split(" "));
27254
+ return k2.split(" ").every((w) => titleWords.has(w));
27246
27255
  }
27247
27256
  function slugForPath(path27) {
27248
27257
  const trimmed = path27.replace(/^\/+|\/+$/g, "");
@@ -27251,18 +27260,22 @@ function slugForPath(path27) {
27251
27260
  }
27252
27261
  function pageCardConfig(base, route, brand) {
27253
27262
  const override = base.cards?.[route.path] ?? base.cards?.[slugForPath(route.path)];
27254
- const title = route.title ? stripBrandSuffix(route.title, brand) : titleFromPath(route.path);
27255
- const derived = {
27256
- ...base,
27257
- // `cards` is a build-time instruction, not part of a rendered card.
27258
- cards: void 0,
27259
- content: {
27260
- ...base.content,
27261
- kicker: kickerFromPath(route.path, base.content.kicker),
27262
- title,
27263
- subtitle: clampSubtitle(route.description) ?? base.content.subtitle
27264
- }
27265
- };
27263
+ const isHome = route.path === "/";
27264
+ const derived = isHome ? { ...base, cards: void 0 } : (() => {
27265
+ const title = route.title ? stripBrandSuffix(route.title, brand) : titleFromPath(route.path);
27266
+ const kicker = kickerFromPath(route.path, base.content.kicker);
27267
+ return {
27268
+ ...base,
27269
+ // `cards` is a build-time instruction, not part of a rendered card.
27270
+ cards: void 0,
27271
+ content: {
27272
+ ...base.content,
27273
+ kicker: kickerIsRedundant(kicker, title) ? void 0 : kicker,
27274
+ title,
27275
+ subtitle: clampSubtitle(route.description) ?? base.content.subtitle
27276
+ }
27277
+ };
27278
+ })();
27266
27279
  if (!override) return derived;
27267
27280
  return {
27268
27281
  ...derived,