@sonordev/site-kit 8.8.0 → 8.9.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 (461) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +9 -0
  3. package/agent-manifest.json +8 -1
  4. package/dist/AnalyticsProvider-X7JJN3QL.js +19 -0
  5. package/dist/{ArticleViewTracker-PV2RD3P6.js → ArticleViewTracker-7Q6AMCKX.js} +11 -10
  6. package/dist/{BlocksPopup-NEEFV2L3.js → BlocksPopup-U5VIYEBA.js} +4 -5
  7. package/dist/ChatWidget-EAATOFCT.js +30 -0
  8. package/dist/{FileField-MJ3RCNFJ.js → FileField-YWMSK7RF.js} +1 -3
  9. package/dist/{FormSpotlight-NQPQFZS7.js → FormSpotlight-MAXDW3TK.js} +1 -1
  10. package/dist/{FormStage-4T5PJR5K.js → FormStage-VAHRVOIZ.js} +1 -1
  11. package/dist/ManagedForm-7IZT7ZII.js +29 -0
  12. package/dist/{ManagedNewsletterForm-TUYGN6O3.js → ManagedNewsletterForm-VVXZSEAL.js} +21 -11
  13. package/dist/{SignalCore-OW3YIH6M.js → SignalCore-HAN4O7QG.js} +90 -36
  14. package/dist/{SiteChat-XMKHBSEK.js → SiteChat-3JLCEL2N.js} +2 -2
  15. package/dist/{SiteDesignReporter-BRH7ORQS.js → SiteDesignReporter-6CCO645E.js} +5 -6
  16. package/dist/SitePopups-ZGHQNGGH.js +19 -0
  17. package/dist/SitemapSync-5LSYCBKS.js +7 -0
  18. package/dist/SitemapSync.d.ts +1 -1
  19. package/dist/_client/booking-widget.d.ts +1 -1
  20. package/dist/_client/booking-widget.js +6 -7
  21. package/dist/_client/reviewed-signal-experiment.d.ts +9 -0
  22. package/dist/_client/reviewed-signal-experiment.js +89 -0
  23. package/dist/_client/testimonial-section.d.ts +1 -1
  24. package/dist/admin-auth/index.d.ts +3 -3
  25. package/dist/affiliates/AffiliatesWidget.d.ts +1 -1
  26. package/dist/affiliates/api.d.ts +1 -1
  27. package/dist/affiliates/index.d.ts +6 -6
  28. package/dist/affiliates/index.js +1 -3
  29. package/dist/affiliates/useAffiliates.d.ts +1 -1
  30. package/dist/analytics/AnalyticsProvider.d.ts +1 -1
  31. package/dist/analytics/dispatch.d.ts +1 -1
  32. package/dist/analytics/index.d.ts +6 -6
  33. package/dist/analytics/index.js +22 -12
  34. package/dist/analytics/publication-cta.d.ts +1 -1
  35. package/dist/analytics/send-gate.d.ts +8 -4
  36. package/dist/articles/Article.d.ts +1 -1
  37. package/dist/articles/ArticleFAQ.d.ts +1 -1
  38. package/dist/articles/ArticleFaqSection.d.ts +1 -1
  39. package/dist/articles/ArticleList.d.ts +1 -1
  40. package/dist/articles/ArticleViewTracker.d.ts +1 -1
  41. package/dist/articles/AuthorCard.d.ts +1 -1
  42. package/dist/articles/AuthorPage.d.ts +1 -1
  43. package/dist/articles/ClusterLandingPage.d.ts +1 -1
  44. package/dist/articles/ClusterNavigation.d.ts +1 -1
  45. package/dist/articles/ManagedNewsletterForm.d.ts +2 -2
  46. package/dist/articles/NewsletterShell.d.ts +1 -1
  47. package/dist/articles/NewsletterWidget.d.ts +1 -1
  48. package/dist/articles/PublicationLayout.d.ts +1 -1
  49. package/dist/articles/PublicationSidebar.d.ts +1 -1
  50. package/dist/articles/RelatedPosts.d.ts +1 -1
  51. package/dist/articles/ServiceCallout.d.ts +1 -1
  52. package/dist/articles/TableOfContents.d.ts +1 -1
  53. package/dist/articles/article-photos.d.ts +1 -1
  54. package/dist/articles/article-styles.d.ts +1 -1
  55. package/dist/articles/article-tables.d.ts +1 -1
  56. package/dist/articles/artwork.d.ts +1 -1
  57. package/dist/articles/author-schema.d.ts +1 -1
  58. package/dist/articles/author-social.d.ts +1 -1
  59. package/dist/articles/excerpt.d.ts +1 -1
  60. package/dist/articles/index.d.ts +1 -1
  61. package/dist/articles/index.js +3 -3
  62. package/dist/articles/news-sitemap.d.ts +1 -1
  63. package/dist/articles/processArticleHtml.d.ts +1 -1
  64. package/dist/articles/public-reads.d.ts +1 -1
  65. package/dist/articles/reading-time.d.ts +1 -1
  66. package/dist/articles/routes.d.ts +1 -1
  67. package/dist/articles/server-core.d.ts +1 -1
  68. package/dist/articles/server-ui.d.ts +1 -1
  69. package/dist/articles/server-ui.js +6 -6
  70. package/dist/articles/server.d.ts +1 -1
  71. package/dist/articles/server.js +5 -5
  72. package/dist/articles/types.d.ts +1 -1
  73. package/dist/articles/widget-styles.d.ts +1 -1
  74. package/dist/brand/extract-brand-profile.d.ts +1 -1
  75. package/dist/chat/ChatWidget.d.ts +1 -1
  76. package/dist/chat/EchoUiActions.d.ts +1 -1
  77. package/dist/chat/SiteChat.d.ts +2 -2
  78. package/dist/chat/chat-messages.d.ts +1 -1
  79. package/dist/chat/index.d.ts +7 -7
  80. package/dist/chat/index.js +17 -9
  81. package/dist/chat/launcher-placement.d.ts +1 -1
  82. package/dist/{chunk-OPUY4RS6.js → chunk-2LBKIE2K.js} +2 -1
  83. package/dist/{chunk-XIDWNXZN.js → chunk-3W3MN6Z7.js} +2 -2
  84. package/dist/{chunk-UPFU63L4.js → chunk-55GFMOI6.js} +1 -1
  85. package/dist/chunk-5IVD6G77.js +37 -0
  86. package/dist/{chunk-URLTBVRX.js → chunk-6EDE7BOE.js} +3 -3
  87. package/dist/{chunk-DYROJGI2.js → chunk-6NLVHTYY.js} +1 -1
  88. package/dist/{chunk-ZQSCMYZO.js → chunk-7643MCD2.js} +6 -3
  89. package/dist/chunk-7IZUUXXO.js +1 -0
  90. package/dist/{chunk-C7TLGL3R.js → chunk-7VMA3KCN.js} +30 -4
  91. package/dist/{chunk-OWZWRP7Y.js → chunk-ADQ3VCKK.js} +2 -2
  92. package/dist/chunk-AG2RDHYZ.js +45 -0
  93. package/dist/chunk-AWLPFFPO.js +36 -0
  94. package/dist/{chunk-LNSNA3W4.js → chunk-C4XK472G.js} +4 -3
  95. package/dist/{chunk-TP32MRXV.js → chunk-CJ43K7RA.js} +2 -2
  96. package/dist/chunk-D4M5K6JN.js +25 -0
  97. package/dist/{chunk-F6WLHVMQ.js → chunk-DXE6SXWW.js} +1 -1
  98. package/dist/{chunk-YEX5RAEU.js → chunk-EBEM5BI5.js} +38 -27
  99. package/dist/chunk-F3RKFGRW.js +2 -0
  100. package/dist/chunk-FAY6MOLL.js +62 -0
  101. package/dist/chunk-FRY6PBT6.js +31 -0
  102. package/dist/{chunk-JYITKUUB.js → chunk-G5WUX7VE.js} +1 -1
  103. package/dist/chunk-HJD6KXKH.js +147 -0
  104. package/dist/{chunk-6BFQI3ZE.js → chunk-IO6BWRZ5.js} +2 -2
  105. package/dist/{chunk-THXELZTQ.js → chunk-ISMHDUBW.js} +1 -1
  106. package/dist/{chunk-SLFYTELD.js → chunk-J4LJE4NB.js} +1 -1
  107. package/dist/{chunk-LQJC5S2M.js → chunk-J6D3NEDE.js} +57 -0
  108. package/dist/chunk-JT7GHHMV.js +56 -0
  109. package/dist/{chunk-NFGAXWCN.js → chunk-KGIQYVQ2.js} +31 -13
  110. package/dist/chunk-KMNHNCVG.js +20 -0
  111. package/dist/chunk-KQKUXIUD.js +25 -0
  112. package/dist/{chunk-M5JIHQ42.js → chunk-L3S5WH4C.js} +2 -2
  113. package/dist/chunk-MDBXGN6W.js +13 -0
  114. package/dist/chunk-MOACHHOJ.js +20 -0
  115. package/dist/{chunk-6DXQHNZK.js → chunk-MP35JETP.js} +1 -1
  116. package/dist/chunk-NHDRA4Y5.js +6 -0
  117. package/dist/{chunk-AYQEIMGS.js → chunk-NZHECYLF.js} +103 -22
  118. package/dist/{chunk-EATJPSTS.js → chunk-O5LQUBBN.js} +1 -1
  119. package/dist/{chunk-Y6SHFILE.js → chunk-OEOSR5EG.js} +1 -1
  120. package/dist/{chunk-GQN4BGK6.js → chunk-OUD4RTBD.js} +1 -1
  121. package/dist/chunk-PMXQPO5Q.js +78 -0
  122. package/dist/chunk-PVY7X5UR.js +21 -0
  123. package/dist/{chunk-KG5IEV7I.js → chunk-QLJ2SC3T.js} +1 -1
  124. package/dist/{chunk-2WM4TNDF.js → chunk-QXAJPB6O.js} +1 -1
  125. package/dist/{chunk-2WDWQI7K.js → chunk-RYR6N4X4.js} +1 -1
  126. package/dist/{chunk-G7BRCSV6.js → chunk-S33CUULL.js} +3 -3
  127. package/dist/{chunk-YRQS7VAH.js → chunk-S63QY5XW.js} +2 -2
  128. package/dist/{chunk-GXWM5KNS.js → chunk-SO6RSRUP.js} +40 -45
  129. package/dist/{chunk-ODOV76VW.js → chunk-STIVFCWM.js} +1 -1
  130. package/dist/{chunk-SVHPILS3.js → chunk-T4A5J6SJ.js} +1 -1
  131. package/dist/chunk-TPHOIE4I.js +73 -0
  132. package/dist/{chunk-IWNJCRXW.js → chunk-UG53ZW7S.js} +125 -118
  133. package/dist/chunk-VXCUXHZO.js +9 -0
  134. package/dist/{chunk-SBPUFTMP.js → chunk-WHFWDK2H.js} +2 -2
  135. package/dist/chunk-WYNDBJG7.js +66 -0
  136. package/dist/{chunk-HN7GVGWC.js → chunk-XDH5B3PR.js} +3 -3
  137. package/dist/{chunk-PAYCK7FC.js → chunk-XJZLXUTG.js} +1 -1
  138. package/dist/{chunk-IDC5CVBR.js → chunk-YVEYO3OD.js} +1 -1
  139. package/dist/{chunk-PSS6M4CG.js → chunk-ZRSXCT4O.js} +2 -2
  140. package/dist/client/index.d.ts +8 -8
  141. package/dist/client/index.js +9 -8
  142. package/dist/config/index.d.ts +1 -1
  143. package/dist/contracts/broadcast-layouts.d.ts +8 -0
  144. package/dist/contracts/crm-disposition.d.ts +87 -0
  145. package/dist/contracts/decision-roles.d.ts +39 -0
  146. package/dist/contracts/entries.d.ts +1 -1
  147. package/dist/contracts/funnels.d.ts +85 -2
  148. package/dist/contracts/portfolio.d.ts +1 -1
  149. package/dist/contracts/publication-branding.d.ts +3 -3
  150. package/dist/contracts/resonance-constants.d.ts +4 -0
  151. package/dist/contracts/resonance.d.ts +8461 -0
  152. package/dist/contracts/signal-experiments.d.ts +219 -0
  153. package/dist/contracts/site-edit.d.ts +2 -2
  154. package/dist/contracts/sites.d.ts +1 -1
  155. package/dist/contracts/slots.d.ts +2 -2
  156. package/dist/contracts/wire-schema.d.ts +36 -0
  157. package/dist/cta-bar/CtaBar.d.ts +1 -1
  158. package/dist/cta-bar/client.js +3 -2
  159. package/dist/cta-bar/index.d.ts +4 -4
  160. package/dist/cta-bar/index.js +4 -3
  161. package/dist/fleet/FleetHeartbeat.d.ts +2 -2
  162. package/dist/fleet/contract.d.ts +1 -1
  163. package/dist/fleet/heartbeat.d.ts +2 -2
  164. package/dist/fleet/index.d.ts +6 -6
  165. package/dist/fleet/index.js +4 -5
  166. package/dist/forms/FileField.d.ts +1 -1
  167. package/dist/forms/FormClient.d.ts +2 -2
  168. package/dist/forms/FormEnhancer.d.ts +1 -1
  169. package/dist/forms/FormField.d.ts +1 -1
  170. package/dist/forms/FormSpotlight.d.ts +1 -1
  171. package/dist/forms/FormStage.d.ts +1 -1
  172. package/dist/forms/ManagedForm.d.ts +1 -1
  173. package/dist/forms/PrivateFileField.d.ts +1 -1
  174. package/dist/forms/ServerForm.d.ts +3 -3
  175. package/dist/forms/StaticForm.d.ts +1 -1
  176. package/dist/forms/contract.d.ts +1 -1
  177. package/dist/forms/experience-plan.d.ts +1 -1
  178. package/dist/forms/field-autocomplete.d.ts +1 -1
  179. package/dist/forms/field-controls.d.ts +1 -1
  180. package/dist/forms/field-rules.d.ts +1 -1
  181. package/dist/forms/form-dom-values.d.ts +1 -1
  182. package/dist/forms/index.d.ts +18 -18
  183. package/dist/forms/index.js +21 -11
  184. package/dist/forms/normalize-config.d.ts +1 -1
  185. package/dist/forms/server.d.ts +4 -4
  186. package/dist/forms/server.js +3 -3
  187. package/dist/forms/static.d.ts +2 -2
  188. package/dist/forms/submitForm.d.ts +2 -2
  189. package/dist/forms/tracking-session.d.ts +1 -1
  190. package/dist/forms/useForm.d.ts +2 -2
  191. package/dist/forms/webmcp.d.ts +2 -2
  192. package/dist/images/api.d.ts +1 -1
  193. package/dist/images/index.d.ts +6 -6
  194. package/dist/images/index.js +2 -4
  195. package/dist/images/server.d.ts +2 -2
  196. package/dist/index.d.ts +13 -13
  197. package/dist/index.js +1 -1
  198. package/dist/landing/contract.d.ts +1 -1
  199. package/dist/landing/contract.js +2 -1
  200. package/dist/landing/index.d.ts +3 -3
  201. package/dist/landing/index.js +3 -2
  202. package/dist/landing/managed-server.d.ts +2 -2
  203. package/dist/landing/managed.d.ts +10 -2
  204. package/dist/landing/server.d.ts +7 -7
  205. package/dist/landing/server.js +11 -6
  206. package/dist/layout/AiDiscoveryLinks.d.ts +1 -1
  207. package/dist/layout/SiteKitClientProviders.d.ts +1 -1
  208. package/dist/layout/SiteKitLayout.d.ts +2 -2
  209. package/dist/layout/client.d.ts +1 -1
  210. package/dist/layout/client.js +15 -11
  211. package/dist/layout/index.d.ts +5 -5
  212. package/dist/layout/index.js +17 -13
  213. package/dist/layout/types.d.ts +2 -2
  214. package/dist/llms/AEOComponents.d.ts +1 -1
  215. package/dist/llms/SpeakableSchema.d.ts +1 -1
  216. package/dist/llms/api.d.ts +1 -1
  217. package/dist/llms/client.d.ts +3 -3
  218. package/dist/llms/contract.d.ts +1 -1
  219. package/dist/llms/generateLLMsTxt.d.ts +1 -1
  220. package/dist/llms/handlers.d.ts +1 -1
  221. package/dist/llms/index.d.ts +21 -21
  222. package/dist/llms/index.js +5 -5
  223. package/dist/llms/merge.d.ts +1 -1
  224. package/dist/llms/sourcedFacts.d.ts +1 -1
  225. package/dist/llms/types.d.ts +5 -5
  226. package/dist/llms/writeLLMsTxt.d.ts +3 -3
  227. package/dist/maps/GoogleMap.d.ts +1 -1
  228. package/dist/maps/NeighborhoodMap.d.ts +1 -1
  229. package/dist/maps/api.d.ts +1 -1
  230. package/dist/maps/index.d.ts +5 -5
  231. package/dist/maps/index.js +1 -3
  232. package/dist/mcp/WebMcpTools.d.ts +1 -1
  233. package/dist/mcp/client.d.ts +2 -2
  234. package/dist/mcp/discovery.d.ts +2 -2
  235. package/dist/mcp/handlers.d.ts +4 -4
  236. package/dist/mcp/index.d.ts +12 -12
  237. package/dist/mcp/protocol.d.ts +1 -1
  238. package/dist/mcp/report.d.ts +1 -1
  239. package/dist/mcp/serverCard.d.ts +1 -1
  240. package/dist/mcp/sonor.d.ts +5 -5
  241. package/dist/mcp/sonor.js +10 -10
  242. package/dist/mcp/transport.d.ts +1 -1
  243. package/dist/motion/Parallax.d.ts +1 -1
  244. package/dist/motion/ScrollScene.d.ts +1 -1
  245. package/dist/motion/gsap.d.ts +2 -2
  246. package/dist/motion/index.d.ts +9 -9
  247. package/dist/motion/three.d.ts +1 -1
  248. package/dist/og/index.d.ts +5 -5
  249. package/dist/og/pages.d.ts +1 -1
  250. package/dist/og/route-fit.d.ts +17 -0
  251. package/dist/og/route.d.ts +8 -0
  252. package/dist/og/route.js +1 -1
  253. package/dist/og/template.d.ts +1 -1
  254. package/dist/portfolio/contract.d.ts +1 -1
  255. package/dist/press-kit/articles/Article.d.ts +2 -2
  256. package/dist/press-kit/articles/ArticleFaqSection.d.ts +1 -1
  257. package/dist/press-kit/articles/ArticleList.d.ts +2 -2
  258. package/dist/press-kit/articles/AuthorCard.d.ts +1 -1
  259. package/dist/press-kit/articles/AuthorPage.d.ts +1 -1
  260. package/dist/press-kit/articles/ClusterLandingPage.d.ts +2 -2
  261. package/dist/press-kit/articles/ClusterNavigation.d.ts +2 -2
  262. package/dist/press-kit/articles/ManagedNewsletterForm.d.ts +2 -2
  263. package/dist/press-kit/articles/PublicationLayout.d.ts +2 -2
  264. package/dist/press-kit/articles/PublicationSidebar.d.ts +1 -1
  265. package/dist/press-kit/articles/RelatedPosts.d.ts +2 -2
  266. package/dist/press-kit/articles/TableOfContents.d.ts +1 -1
  267. package/dist/press-kit/articles/article-body.d.ts +1 -1
  268. package/dist/press-kit/articles/article-headings.d.ts +1 -1
  269. package/dist/press-kit/articles/article-photos.d.ts +1 -1
  270. package/dist/press-kit/articles/artwork.d.ts +2 -2
  271. package/dist/press-kit/articles/author-schema.d.ts +2 -2
  272. package/dist/press-kit/articles/author-social.d.ts +1 -1
  273. package/dist/press-kit/articles/index.d.ts +23 -23
  274. package/dist/press-kit/articles/news-sitemap.d.ts +2 -2
  275. package/dist/press-kit/articles/public-reads.d.ts +1 -1
  276. package/dist/press-kit/articles/publication-reads.d.ts +2 -2
  277. package/dist/press-kit/articles/reading-time.d.ts +1 -1
  278. package/dist/press-kit/articles/server-core.d.ts +20 -20
  279. package/dist/press-kit/articles/server-ui.d.ts +20 -20
  280. package/dist/press-kit/articles/types.d.ts +1 -1
  281. package/dist/proxy/index.d.ts +5 -5
  282. package/dist/proxy/index.js +1 -1
  283. package/dist/reputation/TestimonialSection.d.ts +1 -1
  284. package/dist/reputation/VisualReviewCard.d.ts +1 -1
  285. package/dist/reputation/api.d.ts +1 -1
  286. package/dist/reputation/index.d.ts +4 -4
  287. package/dist/reputation/server.d.ts +3 -3
  288. package/dist/resonance/ResonanceRuntime.d.ts +7 -0
  289. package/dist/resonance/bridge.d.ts +16 -0
  290. package/dist/resonance/consent-adapter.d.ts +26 -0
  291. package/dist/resonance/controller-registry.d.ts +14 -0
  292. package/dist/resonance/controller.d.ts +103 -0
  293. package/dist/resonance/form-context.d.ts +5 -0
  294. package/dist/resonance/index.d.ts +4 -0
  295. package/dist/resonance/index.js +9 -0
  296. package/dist/resonance/meta-pixel.d.ts +67 -0
  297. package/dist/resonance/providers.d.ts +32 -0
  298. package/dist/resonance/runtime-core.d.ts +5 -0
  299. package/dist/revalidate/index.d.ts +3 -3
  300. package/dist/revalidate/index.js +2 -2
  301. package/dist/robots/index.d.ts +3 -3
  302. package/dist/robots/indexnow.js +2 -2
  303. package/dist/runtime/index.d.ts +7 -7
  304. package/dist/runtime/index.js +4 -5
  305. package/dist/runtime-core-WT7KKLWQ.js +2213 -0
  306. package/dist/seo/ManagedFAQ.d.ts +1 -1
  307. package/dist/seo/ManagedInternalLinks.d.ts +1 -1
  308. package/dist/seo/ManagedSchema.d.ts +1 -1
  309. package/dist/seo/ManagedScripts.d.ts +1 -1
  310. package/dist/seo/client.d.ts +1 -1
  311. package/dist/seo/client.js +3 -5
  312. package/dist/seo/entry-indexnow.d.ts +1 -1
  313. package/dist/seo/entry-llms-client.d.ts +1 -1
  314. package/dist/seo/entry-llms-contract.d.ts +1 -1
  315. package/dist/seo/entry-llms.d.ts +1 -1
  316. package/dist/seo/entry-meta-contract.d.ts +1 -1
  317. package/dist/seo/entry-og-route.d.ts +1 -1
  318. package/dist/seo/entry-og.d.ts +1 -1
  319. package/dist/seo/entry-pages-contract.d.ts +1 -1
  320. package/dist/seo/entry-redirects.d.ts +1 -1
  321. package/dist/seo/entry-robots.d.ts +1 -1
  322. package/dist/seo/entry-sitemap.d.ts +1 -1
  323. package/dist/seo/getManagedMetadata.d.ts +1 -1
  324. package/dist/seo/index.d.ts +12 -12
  325. package/dist/seo/index.js +9 -11
  326. package/dist/seo/indexnow.d.ts +1 -1
  327. package/dist/seo/indexnow.js +2 -2
  328. package/dist/seo/llms/client.d.ts +1 -1
  329. package/dist/seo/llms/contract.d.ts +1 -1
  330. package/dist/seo/llms.d.ts +1 -1
  331. package/dist/seo/llms.js +5 -5
  332. package/dist/seo/meta/contract.d.ts +1 -1
  333. package/dist/seo/og/route.d.ts +1 -1
  334. package/dist/seo/og/route.js +1 -1
  335. package/dist/seo/og.d.ts +1 -1
  336. package/dist/seo/pages/contract.d.ts +1 -1
  337. package/dist/seo/redirects.d.ts +1 -1
  338. package/dist/seo/register-sitemap-cli-impl.d.ts +1 -1
  339. package/dist/seo/register-sitemap-cli.js +1 -1
  340. package/dist/seo/robots.d.ts +1 -1
  341. package/dist/seo/routing.d.ts +1 -1
  342. package/dist/seo/server.d.ts +4 -4
  343. package/dist/seo/server.js +3 -3
  344. package/dist/seo/sitemap.d.ts +1 -1
  345. package/dist/seo/sitemap.js +3 -3
  346. package/dist/seo/types.d.ts +1 -1
  347. package/dist/seo-meta/contract.d.ts +1 -1
  348. package/dist/seo-pages/contract.d.ts +1 -1
  349. package/dist/server/index.d.ts +5 -5
  350. package/dist/server/index.js +3 -3
  351. package/dist/server/mint-site-token.d.ts +1 -1
  352. package/dist/server/server-fetch.d.ts +8 -0
  353. package/dist/{server-api-XIKDWSNO.js → server-api-A34TABT2.js} +2 -2
  354. package/dist/shared/build-entries.d.ts +3 -1
  355. package/dist/shared/color.d.ts +1 -1
  356. package/dist/shared/fetchWithRetry.d.ts +6 -0
  357. package/dist/shared/frame.d.ts +1 -1
  358. package/dist/shared/identity-storage.d.ts +6 -4
  359. package/dist/shared/identity.d.ts +1 -3
  360. package/dist/shared/index.d.ts +5 -5
  361. package/dist/shared/index.js +1 -1
  362. package/dist/shared/measurement-analytics.d.ts +1 -0
  363. package/dist/shared/measurement-policy.d.ts +6 -0
  364. package/dist/shared/measurement-proof.d.ts +5 -0
  365. package/dist/shared/measurement-store.d.ts +34 -0
  366. package/dist/shared/measurement-writer.d.ts +6 -0
  367. package/dist/shared/publishCredential.d.ts +1 -1
  368. package/dist/shared/reporting-gate.d.ts +3 -1
  369. package/dist/shared/site-token-claims.d.ts +18 -0
  370. package/dist/shared/site-token-configuration.d.ts +9 -0
  371. package/dist/shared/site-token-refresh.d.ts +7 -0
  372. package/dist/shared/site-token-state.d.ts +23 -0
  373. package/dist/shared/siteToken.d.ts +5 -39
  374. package/dist/shared/sonor-auth-state.d.ts +3 -0
  375. package/dist/shared/sonor-beacon.d.ts +13 -0
  376. package/dist/shared/sonor-fetch-runtime.d.ts +2 -0
  377. package/dist/shared/sonor-fetch.d.ts +7 -0
  378. package/dist/shared/sonorFetch.d.ts +4 -49
  379. package/dist/shared/version.d.ts +1 -1
  380. package/dist/signal/ReviewedSignalExperiment.d.ts +9 -0
  381. package/dist/signal/SignalBridge.d.ts +4 -4
  382. package/dist/signal/SignalCore.d.ts +2 -1
  383. package/dist/signal/SignalExperiment.d.ts +13 -5
  384. package/dist/signal/index.d.ts +3 -3
  385. package/dist/signal/index.js +4 -73
  386. package/dist/signal/store.d.ts +10 -7
  387. package/dist/signal/types.d.ts +4 -0
  388. package/dist/sitemap/index.d.ts +5 -5
  389. package/dist/sitemap/index.js +3 -3
  390. package/dist/sites/contract.d.ts +1 -1
  391. package/dist/sites/normalize.d.ts +1 -1
  392. package/dist/slots/ManagedLink.d.ts +2 -2
  393. package/dist/slots/ManagedList.d.ts +2 -2
  394. package/dist/slots/ManagedRichText.d.ts +1 -1
  395. package/dist/slots/ManagedSlot.d.ts +1 -1
  396. package/dist/slots/contract.d.ts +1 -1
  397. package/dist/slots/edit/locate.d.ts +1 -1
  398. package/dist/slots/index.d.ts +14 -14
  399. package/dist/slots/index.js +2 -2
  400. package/dist/slots/server-api.d.ts +1 -1
  401. package/dist/{chunk-FLOJUMFR.js → sonor-fetch-runtime-3PFGUXMF.js} +27 -36
  402. package/dist/sync/AddToCalendar.d.ts +1 -1
  403. package/dist/sync/BookingWidget.d.ts +1 -1
  404. package/dist/sync/MeetingFormatStep.d.ts +1 -1
  405. package/dist/sync/api.d.ts +2 -2
  406. package/dist/sync/booking-flow.d.ts +1 -1
  407. package/dist/sync/index.d.ts +3 -3
  408. package/dist/sync/index.js +6 -7
  409. package/dist/types.d.ts +6 -6
  410. package/dist/website/BlocksPopup.d.ts +1 -1
  411. package/dist/website/PopupBlocks.d.ts +1 -1
  412. package/dist/website/SiteDesignReporter.d.ts +2 -2
  413. package/dist/website/SitePopups.d.ts +1 -1
  414. package/dist/website/contract.d.ts +1 -1
  415. package/dist/website/cta-bar.d.ts +1 -1
  416. package/dist/website/cta-bar.js +4 -3
  417. package/dist/website/design.d.ts +2 -2
  418. package/dist/website/images/server.d.ts +1 -1
  419. package/dist/website/images-server.d.ts +1 -1
  420. package/dist/website/images.d.ts +1 -1
  421. package/dist/website/images.js +2 -4
  422. package/dist/website/index.d.ts +4 -4
  423. package/dist/website/index.js +5 -6
  424. package/dist/website/landing/server.d.ts +1 -1
  425. package/dist/website/landing/server.js +11 -6
  426. package/dist/website/landing-server.d.ts +1 -1
  427. package/dist/website/landing.d.ts +1 -1
  428. package/dist/website/landing.js +3 -2
  429. package/dist/website/popup-rules.d.ts +2 -2
  430. package/dist/website/popup-types.d.ts +1 -1
  431. package/dist/website/popups.d.ts +4 -4
  432. package/dist/website/popups.js +14 -8
  433. package/dist/website/slots/contract.d.ts +1 -1
  434. package/dist/website/slots-contract.d.ts +1 -1
  435. package/dist/website/slots.d.ts +2 -2
  436. package/dist/website/slots.js +2 -2
  437. package/dist/{writeLLMsTxt-4HHUAOA6.js → writeLLMsTxt-JUACXQKP.js} +2 -2
  438. package/docs.json +5 -0
  439. package/package.json +8 -2
  440. package/src/analytics/README.md +21 -0
  441. package/src/cta-bar/README.md +4 -0
  442. package/src/forms/README.md +29 -0
  443. package/src/landing/README.md +14 -0
  444. package/src/layout/README.md +3 -0
  445. package/src/og/README.md +28 -0
  446. package/src/resonance/README.md +273 -0
  447. package/src/runtime/README.md +6 -1
  448. package/src/signal/README.md +21 -0
  449. package/src/website/README.md +14 -2
  450. package/dist/AnalyticsProvider-7SBJ27SI.js +0 -13
  451. package/dist/ChatWidget-V46UBDOM.js +0 -20
  452. package/dist/ManagedForm-DDDVMKLJ.js +0 -19
  453. package/dist/SitePopups-VU2C3Z6B.js +0 -13
  454. package/dist/SitemapSync-C4H3HF3L.js +0 -9
  455. package/dist/chunk-5ROTTMBL.js +0 -19
  456. package/dist/chunk-5TM3WPCI.js +0 -7
  457. package/dist/chunk-7HW4TZB5.js +0 -148
  458. package/dist/chunk-IPQKQEWI.js +0 -52
  459. package/dist/chunk-LCDVPAMR.js +0 -24
  460. package/dist/chunk-SHAUX2MQ.js +0 -163
  461. /package/dist/{chunk-3MJNBOUO.js → chunk-2QPVU63T.js} +0 -0
@@ -13,24 +13,24 @@
13
13
  * - Speakable schema markup
14
14
  * - AEO-optimized content components
15
15
  */
16
- export type { LLMBusinessInfo, LLMContactInfo, LLMService, LLMFAQItem, LLMPageSummary, GenerateLLMSTxtOptions, LLMSTxtContent, SpeakableConfig, SpeakableSchemaProps, AEOBlockProps, AEOSummaryProps, AEODefinitionProps, AEOClaimProps, AEOEntityProps, ContentProvenance, AEOProvenanceListProps, AEOCitedContentProps, LLMsDataResponse, LLMPortfolioItem, LLMsPayloadMeta, } from './types';
17
- export { LLM_GEO_CONTRACT_VERSION, LLMS_PUBLIC_SUMMARY_MAX_LENGTH, LLMS_DISCLAIMER_MAX_LENGTH, sanitizeLlmsPublicSummary, sanitizeLlmsDisclaimerLine, sanitizePrimaryLanguageTag, pickManagedLlmSchemaForJsonLd, MANAGED_LLM_SCHEMA_KNOWN_KEYS, } from './types';
18
- export { generateLLMsTxt, generateLLMsFullTxt } from './generateLLMsTxt';
19
- export { createLLMsTxtHandler, createLLMsFullTxtHandler, llmsResponseHeaders, } from './handlers';
20
- export { buildAiDiscoveryHeaders, wantsLlmsDiscoveryLink } from './discovery-headers';
21
- export type { AiDiscoveryHeadersOptions, LlmsLanguageAlternate, DiscoveryRequest } from './discovery-headers';
22
- export { formatSourcedFactsSection } from './sourcedFacts';
23
- export type { SourcedFact, FormatSourcedFactsOptions } from './sourcedFacts';
24
- export type { LLMsCustomSection } from './writeLLMsTxt';
25
- export { AI_RETRIEVAL_CRAWLERS, AI_TRAINING_CRAWLERS, buildAiCrawlerRules, createRobotsTxtHandler, } from './aiRobots';
26
- export type { AiCrawlerRulesOptions, ContentSignalsOptions, RobotsTxtHandlerOptions, } from './aiRobots';
27
- export { SpeakableSchema, createSpeakableSchema, getSpeakableSelectorsForPage, DEFAULT_SPEAKABLE_SELECTORS, } from './SpeakableSchema';
28
- export { AEOBlock, AEOSummary, AEODefinition, AEOSteps, AEOStep, AEOComparison, AEOClaim, AEOEntity, AEOProvenanceList, AEOCitedContent, } from './AEOComponents';
29
- export { getLLMsData, getBusinessInfo, getServices, getFAQItems, getPageSummaries, getOptimizedLLMsTxt, } from './api';
30
- export { writeLLMsTxtToPublic } from './writeLLMsTxt';
31
- export type { WriteLLMsTxtOptions } from './writeLLMsTxt';
32
- export { createLlmsRevalidateHandler } from './revalidate';
33
- export { createSeoRevalidationHandler, parseSeoRevalidationPayload, SEO_REVALIDATION_MAX_BODY_BYTES, SEO_REVALIDATION_MAX_ITEMS, LEGACY_PUBLICATION_PATH, } from './seo-revalidate';
34
- export type { SeoRevalidationHandlerOptions, SeoRevalidationPayload } from './seo-revalidate';
35
- export { formatAgentAccessSection, appendAgentAccessSection, describesMcp, detectMcpServer, AGENT_ACCESS_HEADING } from './agent-access';
36
- export type { AgentAccessOptions, McpServerKind } from './agent-access';
16
+ export type { LLMBusinessInfo, LLMContactInfo, LLMService, LLMFAQItem, LLMPageSummary, GenerateLLMSTxtOptions, LLMSTxtContent, SpeakableConfig, SpeakableSchemaProps, AEOBlockProps, AEOSummaryProps, AEODefinitionProps, AEOClaimProps, AEOEntityProps, ContentProvenance, AEOProvenanceListProps, AEOCitedContentProps, LLMsDataResponse, LLMPortfolioItem, LLMsPayloadMeta, } from "./types.js";
17
+ export { LLM_GEO_CONTRACT_VERSION, LLMS_PUBLIC_SUMMARY_MAX_LENGTH, LLMS_DISCLAIMER_MAX_LENGTH, sanitizeLlmsPublicSummary, sanitizeLlmsDisclaimerLine, sanitizePrimaryLanguageTag, pickManagedLlmSchemaForJsonLd, MANAGED_LLM_SCHEMA_KNOWN_KEYS, } from "./types.js";
18
+ export { generateLLMsTxt, generateLLMsFullTxt } from "./generateLLMsTxt.js";
19
+ export { createLLMsTxtHandler, createLLMsFullTxtHandler, llmsResponseHeaders, } from "./handlers.js";
20
+ export { buildAiDiscoveryHeaders, wantsLlmsDiscoveryLink } from "./discovery-headers.js";
21
+ export type { AiDiscoveryHeadersOptions, LlmsLanguageAlternate, DiscoveryRequest } from "./discovery-headers.js";
22
+ export { formatSourcedFactsSection } from "./sourcedFacts.js";
23
+ export type { SourcedFact, FormatSourcedFactsOptions } from "./sourcedFacts.js";
24
+ export type { LLMsCustomSection } from "./writeLLMsTxt.js";
25
+ export { AI_RETRIEVAL_CRAWLERS, AI_TRAINING_CRAWLERS, buildAiCrawlerRules, createRobotsTxtHandler, } from "./aiRobots.js";
26
+ export type { AiCrawlerRulesOptions, ContentSignalsOptions, RobotsTxtHandlerOptions, } from "./aiRobots.js";
27
+ export { SpeakableSchema, createSpeakableSchema, getSpeakableSelectorsForPage, DEFAULT_SPEAKABLE_SELECTORS, } from "./SpeakableSchema.js";
28
+ export { AEOBlock, AEOSummary, AEODefinition, AEOSteps, AEOStep, AEOComparison, AEOClaim, AEOEntity, AEOProvenanceList, AEOCitedContent, } from "./AEOComponents.js";
29
+ export { getLLMsData, getBusinessInfo, getServices, getFAQItems, getPageSummaries, getOptimizedLLMsTxt, } from "./api.js";
30
+ export { writeLLMsTxtToPublic } from "./writeLLMsTxt.js";
31
+ export type { WriteLLMsTxtOptions } from "./writeLLMsTxt.js";
32
+ export { createLlmsRevalidateHandler } from "./revalidate.js";
33
+ export { createSeoRevalidationHandler, parseSeoRevalidationPayload, SEO_REVALIDATION_MAX_BODY_BYTES, SEO_REVALIDATION_MAX_ITEMS, LEGACY_PUBLICATION_PATH, } from "./seo-revalidate.js";
34
+ export type { SeoRevalidationHandlerOptions, SeoRevalidationPayload } from "./seo-revalidate.js";
35
+ export { formatAgentAccessSection, appendAgentAccessSection, describesMcp, detectMcpServer, AGENT_ACCESS_HEADING } from "./agent-access.js";
36
+ export type { AgentAccessOptions, McpServerKind } from "./agent-access.js";
@@ -1,10 +1,10 @@
1
- export { createLLMsFullTxtHandler, createLLMsTxtHandler, formatSourcedFactsSection, llmsResponseHeaders } from '../chunk-2WM4TNDF.js';
1
+ export { createLLMsFullTxtHandler, createLLMsTxtHandler, formatSourcedFactsSection, llmsResponseHeaders } from '../chunk-QXAJPB6O.js';
2
2
  export { buildAiDiscoveryHeaders, wantsLlmsDiscoveryLink } from '../chunk-MTDVV5P3.js';
3
3
  export { AI_RETRIEVAL_CRAWLERS, AI_TRAINING_CRAWLERS, buildAiCrawlerRules, createRobotsTxtHandler } from '../chunk-QLTDFUJ7.js';
4
- export { LEGACY_PUBLICATION_PATH, SEO_REVALIDATION_MAX_BODY_BYTES, SEO_REVALIDATION_MAX_ITEMS, createLlmsRevalidateHandler, createSeoRevalidationHandler, parseSeoRevalidationPayload } from '../chunk-THXELZTQ.js';
4
+ export { LEGACY_PUBLICATION_PATH, SEO_REVALIDATION_MAX_BODY_BYTES, SEO_REVALIDATION_MAX_ITEMS, createLlmsRevalidateHandler, createSeoRevalidationHandler, parseSeoRevalidationPayload } from '../chunk-ISMHDUBW.js';
5
5
  export { AEOBlock, AEOCitedContent, AEOClaim, AEOComparison, AEODefinition, AEOEntity, AEOProvenanceList, AEOStep, AEOSteps, AEOSummary, DEFAULT_SPEAKABLE_SELECTORS, SpeakableSchema, createSpeakableSchema, getSpeakableSelectorsForPage } from '../chunk-PSAG45YF.js';
6
6
  import '../chunk-XTRZGXB2.js';
7
- export { AGENT_ACCESS_HEADING, appendAgentAccessSection, describesMcp, detectMcpServer, formatAgentAccessSection, generateLLMsFullTxt, generateLLMsTxt, writeLLMsTxtToPublic } from '../chunk-KG5IEV7I.js';
7
+ export { AGENT_ACCESS_HEADING, appendAgentAccessSection, describesMcp, detectMcpServer, formatAgentAccessSection, generateLLMsFullTxt, generateLLMsTxt, writeLLMsTxtToPublic } from '../chunk-QLJ2SC3T.js';
8
8
  export { getBusinessInfo, getFAQItems, getLLMsData, getOptimizedLLMsTxt, getPageSummaries, getServices } from '../chunk-EK7P62DT.js';
9
9
  import '../chunk-7DYMM6SS.js';
10
10
  import '../chunk-IBHBEUZV.js';
@@ -16,7 +16,7 @@ import '../chunk-ISRBSTB7.js';
16
16
  import '../chunk-MJP63SSS.js';
17
17
  import '../chunk-YVKRYQRG.js';
18
18
  import '../chunk-FESKKJAS.js';
19
- import '../chunk-A4CC4ZG3.js';
19
+ import '../chunk-DXE6SXWW.js';
20
20
  import '../chunk-W7OPEMGJ.js';
21
- import '../chunk-F6WLHVMQ.js';
21
+ import '../chunk-A4CC4ZG3.js';
22
22
  import '../chunk-PKBMQBKP.js';
@@ -8,7 +8,7 @@
8
8
  * on file returned `{ phone: null, address: null, ... }`, won the merge, and
9
9
  * deleted the NAP the site carried itself from llms.txt.
10
10
  */
11
- import type { LLMsDataResponse } from './types';
11
+ import type { LLMsDataResponse } from "./types.js";
12
12
  /**
13
13
  * The two objects merged field by field: a field Sonor fills wins, a field
14
14
  * Sonor leaves empty takes the site's value, and a field neither fills keeps
@@ -18,7 +18,7 @@
18
18
  * Only include citations a human has actually verified against the source
19
19
  * URL — this section is a trust surface, not a dumping ground.
20
20
  */
21
- import type { LLMsCustomSection } from './writeLLMsTxt';
21
+ import type { LLMsCustomSection } from "./writeLLMsTxt.js";
22
22
  export interface SourcedFact {
23
23
  /** The claim, faithful to the source, one sentence. */
24
24
  stat: string;
@@ -1,12 +1,12 @@
1
- import type { PublicationRoutingOptions } from '../articles/routes';
1
+ import type { PublicationRoutingOptions } from "../articles/routes.js";
2
2
  /**
3
3
  * @sonordev/site-kit/llms - Types
4
4
  *
5
5
  * LLM Visibility Types for Answer Engine Optimization (AEO)
6
6
  */
7
- import type { LLMsPayloadMeta } from './contract';
8
- export type { LLMsPayloadMeta } from './contract';
9
- export { LLM_GEO_CONTRACT_VERSION, LLMS_PUBLIC_SUMMARY_MAX_LENGTH, LLMS_DISCLAIMER_MAX_LENGTH, sanitizeLlmsPublicSummary, sanitizeLlmsDisclaimerLine, sanitizePrimaryLanguageTag, pickManagedLlmSchemaForJsonLd, MANAGED_LLM_SCHEMA_KNOWN_KEYS, } from './contract';
7
+ import type { LLMsPayloadMeta } from "./contract.js";
8
+ export type { LLMsPayloadMeta } from "./contract.js";
9
+ export { LLM_GEO_CONTRACT_VERSION, LLMS_PUBLIC_SUMMARY_MAX_LENGTH, LLMS_DISCLAIMER_MAX_LENGTH, sanitizeLlmsPublicSummary, sanitizeLlmsDisclaimerLine, sanitizePrimaryLanguageTag, pickManagedLlmSchemaForJsonLd, MANAGED_LLM_SCHEMA_KNOWN_KEYS, } from "./contract.js";
10
10
  export interface LLMBusinessInfo {
11
11
  /** Business/organization name */
12
12
  name: string;
@@ -145,7 +145,7 @@ export interface GenerateLLMSTxtOptions {
145
145
  * server card (what `npx sonor-setup mcp` serves). `true` uses the default
146
146
  * paths. Needs `baseUrl`.
147
147
  */
148
- mcp?: boolean | import('./agent-access').AgentAccessOptions;
148
+ mcp?: boolean | import("./agent-access.js").AgentAccessOptions;
149
149
  /**
150
150
  * Paths (e.g. `/privacy`) to demote to `## Optional` per llmstxt.org, the
151
151
  * section a short-context parser may skip. Matching pages MOVE there: they
@@ -4,9 +4,9 @@
4
4
  * Fetches AI-optimized llms.txt from Sonor API and writes to public/llms.txt
5
5
  * at build time. Integrates with sitemap flow when optimizedLLMsTxt is enabled.
6
6
  */
7
- import type { PublicationRoutingOptions } from '../articles/routes';
8
- import { type AgentAccessOptions } from './agent-access';
9
- import type { LLMsDataResponse } from './types';
7
+ import type { PublicationRoutingOptions } from "../articles/routes.js";
8
+ import { type AgentAccessOptions } from "./agent-access.js";
9
+ import type { LLMsDataResponse } from "./types.js";
10
10
  export interface LLMsCustomSection {
11
11
  title: string;
12
12
  content: string;
@@ -1,2 +1,2 @@
1
- import type { GoogleMapProps } from './types';
1
+ import type { GoogleMapProps } from "./types.js";
2
2
  export declare function GoogleMap({ apiKey, mapId, center, zoom, markers, className, style, showPropertyMarker, propertyName, propertyAddress, propertyPinColor, }: GoogleMapProps): import("react").JSX.Element;
@@ -1,2 +1,2 @@
1
- import type { NeighborhoodMapProps } from './types';
1
+ import type { NeighborhoodMapProps } from "./types.js";
2
2
  export declare function NeighborhoodMap({ center, propertyName, propertyAddress, className, placeTypes, title, subtitle, propertyPinColor, }: NeighborhoodMapProps): import("react").JSX.Element;
@@ -4,7 +4,7 @@
4
4
  * Fetch Google Maps config and nearby places from Sonor API.
5
5
  * Uses API key authentication (x-api-key header).
6
6
  */
7
- import type { MapsConfig, NearbyPlace } from './types';
7
+ import type { MapsConfig, NearbyPlace } from "./types.js";
8
8
  /**
9
9
  * Fetch Google Maps config (public browser key + map ID) from Sonor API.
10
10
  * The returned key is a dedicated, HTTP-referrer + API-restricted browser key —
@@ -14,8 +14,8 @@
14
14
  * fetchMapsConfig — get Google Maps JS API key + map style ID
15
15
  * fetchNearbyPlaces — search nearby places by type
16
16
  */
17
- export { GoogleMap } from './GoogleMap';
18
- export { NeighborhoodMap } from './NeighborhoodMap';
19
- export { fetchMapsConfig, fetchNearbyPlaces } from './api';
20
- export type { MapsConfig, MapMarker, NearbyPlace, GoogleMapProps, NeighborhoodMapProps, PlaceTypeFilter, } from './types';
21
- export { DEFAULT_PLACE_TYPES } from './types';
17
+ export { GoogleMap } from "./GoogleMap.js";
18
+ export { NeighborhoodMap } from "./NeighborhoodMap.js";
19
+ export { fetchMapsConfig, fetchNearbyPlaces } from "./api.js";
20
+ export type { MapsConfig, MapMarker, NearbyPlace, GoogleMapProps, NeighborhoodMapProps, PlaceTypeFilter, } from "./types.js";
21
+ export { DEFAULT_PLACE_TYPES } from "./types.js";
@@ -1,9 +1,7 @@
1
1
  'use client';
2
2
  import { monotonicMs } from '../chunk-MH2DSGC6.js';
3
- import { sonorFetch } from '../chunk-FLOJUMFR.js';
4
- import '../chunk-7HW4TZB5.js';
3
+ import { sonorFetch } from '../chunk-VXCUXHZO.js';
5
4
  import { getClientApiConfig } from '../chunk-W7OPEMGJ.js';
6
- import '../chunk-F6WLHVMQ.js';
7
5
  import '../chunk-PKBMQBKP.js';
8
6
  import { useState, useCallback, useEffect } from 'react';
9
7
  import { APIProvider, Map as Map$1, AdvancedMarker, Pin, InfoWindow } from '@vis.gl/react-google-maps';
@@ -1,4 +1,4 @@
1
- import type { JsonSchemaObject } from './types';
1
+ import type { JsonSchemaObject } from "./types.js";
2
2
  /** True when the visiting browser exposes WebMCP at all. */
3
3
  export declare function isWebMcpAvailable(): boolean;
4
4
  /** A tool as it crosses the server→client boundary: JSON, no functions. */
@@ -4,5 +4,5 @@
4
4
  * Split from `@sonordev/site-kit/mcp` so a route handler importing the server
5
5
  * pieces never drags a `'use client'` component into its graph.
6
6
  */
7
- export { WebMcpTools, isWebMcpAvailable } from './WebMcpTools';
8
- export type { WebMcpToolsProps, WebMcpToolDescriptor, WebMcpLocalTool, } from './WebMcpTools';
7
+ export { WebMcpTools, isWebMcpAvailable } from "./WebMcpTools.js";
8
+ export type { WebMcpToolsProps, WebMcpToolDescriptor, WebMcpLocalTool, } from "./WebMcpTools.js";
@@ -5,8 +5,8 @@
5
5
  *
6
6
  * @see https://github.com/modelcontextprotocol/ext-server-card/blob/main/docs/discovery.md
7
7
  */
8
- import type { McpServerInfo } from './types';
9
- import { MCP_SERVER_CARD_MEDIA_TYPE } from './serverCard';
8
+ import type { McpServerInfo } from "./types.js";
9
+ import { MCP_SERVER_CARD_MEDIA_TYPE } from "./serverCard.js";
10
10
  export declare const MCP_AI_CATALOG_PATH = "/.well-known/ai-catalog.json";
11
11
  export declare const MCP_AI_CATALOG_MEDIA_TYPE = "application/ai-catalog+json";
12
12
  export interface McpAiCatalog {
@@ -12,10 +12,10 @@
12
12
  * 2026-07-28 revision asks for and also the only thing that works on a
13
13
  * serverless host where consecutive requests hit different instances.
14
14
  */
15
- import { MCP_SUPPORTED_PROTOCOL_VERSIONS, type DispatchOutcome, type JsonRpcRequest, type McpServerDefinition } from './protocol';
16
- import type { McpToolCallRecord } from './types';
17
- import { type BuildMcpServerCardOptions, MCP_SERVER_CARD_MEDIA_TYPE } from './serverCard';
18
- import { type McpDiscoveryRouteHandlers } from './discovery';
15
+ import { MCP_SUPPORTED_PROTOCOL_VERSIONS, type DispatchOutcome, type JsonRpcRequest, type McpServerDefinition } from "./protocol.js";
16
+ import type { McpToolCallRecord } from "./types.js";
17
+ import { type BuildMcpServerCardOptions, MCP_SERVER_CARD_MEDIA_TYPE } from "./serverCard.js";
18
+ import { type McpDiscoveryRouteHandlers } from "./discovery.js";
19
19
  /**
20
20
  * Undo the spec's Base64 sentinel wrapper: `=?base64?{b64}?=`.
21
21
  * Values that aren't wrapped come back untouched.
@@ -16,15 +16,15 @@
16
16
  * @see https://modelcontextprotocol.io/specification/2026-07-28
17
17
  * @see https://github.com/webmachinelearning/webmcp
18
18
  */
19
- export type { JsonSchemaNode, JsonSchemaObject, McpContent, McpTextContent, McpResourceLinkContent, McpToolResult, McpToolHandlerResult, McpToolAnnotations, McpToolContext, McpToolHandler, SiteKitMcpTool, McpServerInfo, McpServerIcon, McpToolCallRecord, } from './types';
20
- export { defineMcpTool } from './types';
21
- export { MCP_PROTOCOL_VERSION_MODERN, MCP_PROTOCOL_VERSIONS_LEGACY, MCP_SUPPORTED_PROTOCOL_VERSIONS, META_PROTOCOL_VERSION, META_CLIENT_INFO, META_SERVER_INFO, MCP_ERROR_HEADER_MISMATCH, MCP_ERROR_UNSUPPORTED_PROTOCOL_VERSION, JSONRPC_METHOD_NOT_FOUND, dispatch, toToolResult, toolErrorResult, toToolDescriptor, validateArgs, isSupportedVersion, } from './protocol';
22
- export type { JsonRpcRequest, JsonRpcResponse, JsonRpcError, DispatchOutcome, DispatchOptions, McpServerDefinition, McpToolDescriptor, } from './protocol';
23
- export { buildMcpServerCard, validateMcpServerCard, MCP_SERVER_CARD_SCHEMA, MCP_SERVER_CARD_PATH, MCP_SERVER_CARD_LEGACY_PATH, MCP_SERVER_CARD_MEDIA_TYPE, SITE_KIT_CARD_META_KEY, } from './serverCard';
24
- export type { McpServerCard, McpRemote, BuildMcpServerCardOptions, } from './serverCard';
25
- export { buildMcpAiCatalog, createMcpAiCatalogHandler, MCP_AI_CATALOG_PATH, MCP_AI_CATALOG_MEDIA_TYPE, } from './discovery';
26
- export type { McpAiCatalog, BuildMcpAiCatalogOptions, McpAiCatalogHandlerOptions, McpDiscoveryRouteHandlers, } from './discovery';
27
- export { createMcpHandler, createMcpServerCardHandler, decodeHeaderValue, toolCallRecord, WEBMCP_SURFACE_HEADER, } from './handlers';
28
- export type { McpHandlerOptions, McpRouteHandlers, McpServerCardHandlerOptions, McpServerCardRouteHandlers, } from './handlers';
29
- export { declarativeToolForm, declarativeToolField } from './declarative';
30
- export type { DeclarativeToolFormOptions, DeclarativeToolFormAttributes, DeclarativeToolFieldAttributes, } from './declarative';
19
+ export type { JsonSchemaNode, JsonSchemaObject, McpContent, McpTextContent, McpResourceLinkContent, McpToolResult, McpToolHandlerResult, McpToolAnnotations, McpToolContext, McpToolHandler, SiteKitMcpTool, McpServerInfo, McpServerIcon, McpToolCallRecord, } from "./types.js";
20
+ export { defineMcpTool } from "./types.js";
21
+ export { MCP_PROTOCOL_VERSION_MODERN, MCP_PROTOCOL_VERSIONS_LEGACY, MCP_SUPPORTED_PROTOCOL_VERSIONS, META_PROTOCOL_VERSION, META_CLIENT_INFO, META_SERVER_INFO, MCP_ERROR_HEADER_MISMATCH, MCP_ERROR_UNSUPPORTED_PROTOCOL_VERSION, JSONRPC_METHOD_NOT_FOUND, dispatch, toToolResult, toolErrorResult, toToolDescriptor, validateArgs, isSupportedVersion, } from "./protocol.js";
22
+ export type { JsonRpcRequest, JsonRpcResponse, JsonRpcError, DispatchOutcome, DispatchOptions, McpServerDefinition, McpToolDescriptor, } from "./protocol.js";
23
+ export { buildMcpServerCard, validateMcpServerCard, MCP_SERVER_CARD_SCHEMA, MCP_SERVER_CARD_PATH, MCP_SERVER_CARD_LEGACY_PATH, MCP_SERVER_CARD_MEDIA_TYPE, SITE_KIT_CARD_META_KEY, } from "./serverCard.js";
24
+ export type { McpServerCard, McpRemote, BuildMcpServerCardOptions, } from "./serverCard.js";
25
+ export { buildMcpAiCatalog, createMcpAiCatalogHandler, MCP_AI_CATALOG_PATH, MCP_AI_CATALOG_MEDIA_TYPE, } from "./discovery.js";
26
+ export type { McpAiCatalog, BuildMcpAiCatalogOptions, McpAiCatalogHandlerOptions, McpDiscoveryRouteHandlers, } from "./discovery.js";
27
+ export { createMcpHandler, createMcpServerCardHandler, decodeHeaderValue, toolCallRecord, WEBMCP_SURFACE_HEADER, } from "./handlers.js";
28
+ export type { McpHandlerOptions, McpRouteHandlers, McpServerCardHandlerOptions, McpServerCardRouteHandlers, } from "./handlers.js";
29
+ export { declarativeToolForm, declarativeToolField } from "./declarative.js";
30
+ export type { DeclarativeToolFormOptions, DeclarativeToolFormAttributes, DeclarativeToolFieldAttributes, } from "./declarative.js";
@@ -21,7 +21,7 @@
21
21
  * This file is pure: it takes a parsed JSON-RPC message and returns a response
22
22
  * object. Anything HTTP-shaped lives in `handlers.ts`.
23
23
  */
24
- import type { McpServerInfo, McpToolContext, McpToolResult, SiteKitMcpTool } from './types';
24
+ import type { McpServerInfo, McpToolContext, McpToolResult, SiteKitMcpTool } from "./types.js";
25
25
  /** Current revision: stateless, per-request `_meta`, `server/discover`. */
26
26
  export declare const MCP_PROTOCOL_VERSION_MODERN = "2026-07-28";
27
27
  /**
@@ -9,7 +9,7 @@
9
9
  * and version, or its User-Agent). Nothing a tool was asked or answered.
10
10
  */
11
11
  import 'server-only';
12
- import type { McpToolCallRecord } from './types';
12
+ import type { McpToolCallRecord } from "./types.js";
13
13
  export interface ReportToolCallsOptions {
14
14
  /** Sub-site host on a multi-site project. Default: resolved from NEXT_PUBLIC_SITE_URL. */
15
15
  site?: string;
@@ -16,7 +16,7 @@
16
16
  * URL, with `<streamable-http-url>/server-card` as its recommended location.
17
17
  * Hosts can mount the same card handler there without changing the old URLs.
18
18
  */
19
- import type { McpServerIcon, McpServerInfo, SiteKitMcpTool } from './types';
19
+ import type { McpServerIcon, McpServerInfo, SiteKitMcpTool } from "./types.js";
20
20
  export declare const MCP_SERVER_CARD_SCHEMA = "https://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json";
21
21
  export declare const MCP_SERVER_CARD_MEDIA_TYPE = "application/mcp-server-card+json";
22
22
  /** Existing site-kit well-known path; retained for backward compatibility. */
@@ -39,11 +39,11 @@
39
39
  * ```
40
40
  */
41
41
  import 'server-only';
42
- import { type McpServerDefinition } from './protocol';
43
- import type { McpServerInfo, SiteKitMcpTool } from './types';
44
- import { type PublicationRoutingOptions } from '../articles/routes';
45
- export { reportToolCallsToSonor } from './report';
46
- export type { ReportToolCallsOptions } from './report';
42
+ import { type McpServerDefinition } from "./protocol.js";
43
+ import type { McpServerInfo, SiteKitMcpTool } from "./types.js";
44
+ import { type PublicationRoutingOptions } from "../articles/routes.js";
45
+ export { reportToolCallsToSonor } from "./report.js";
46
+ export type { ReportToolCallsOptions } from "./report.js";
47
47
  /** The public fields article tools read. Readers can come from Press Kit or a site's own CMS. */
48
48
  export interface McpArticle {
49
49
  slug: string;
package/dist/mcp/sonor.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { fetchReviews, fetchReviewStats } from '../chunk-BSQP6PRA.js';
2
2
  import { toolErrorResult } from '../chunk-FYAB6CXS.js';
3
- import { fetchBookingTypes, fetchAvailability } from '../chunk-PSS6M4CG.js';
3
+ import { fetchBookingTypes, fetchAvailability } from '../chunk-ZRSXCT4O.js';
4
4
  import { getLLMsData, getServices, getFAQItems, getPageSummaries } from '../chunk-EK7P62DT.js';
5
- import '../chunk-5ROTTMBL.js';
6
- import { getFormConfig } from '../chunk-YRQS7VAH.js';
7
- import '../chunk-SLFYTELD.js';
5
+ import '../chunk-PVY7X5UR.js';
6
+ import { getFormConfig } from '../chunk-S63QY5XW.js';
7
+ import '../chunk-J4LJE4NB.js';
8
8
  import '../chunk-C2FZBUSS.js';
9
9
  import '../chunk-YC7ELZS3.js';
10
10
  import '../chunk-VPZJ7ZTL.js';
@@ -18,15 +18,15 @@ import { resolveFetch } from '../chunk-UAYAJPEP.js';
18
18
  import '../chunk-XAZC2TUD.js';
19
19
  import '../chunk-ISRBSTB7.js';
20
20
  import '../chunk-MJP63SSS.js';
21
- import { resolveServerApiConfig } from '../chunk-C7TLGL3R.js';
21
+ import { resolveServerApiConfig } from '../chunk-7VMA3KCN.js';
22
22
  import '../chunk-MH2DSGC6.js';
23
23
  import { resolveSiteHost } from '../chunk-FESKKJAS.js';
24
- import '../chunk-A4CC4ZG3.js';
25
- import '../chunk-5TM3WPCI.js';
26
- import '../chunk-FLOJUMFR.js';
27
- import '../chunk-7HW4TZB5.js';
24
+ import '../chunk-5IVD6G77.js';
25
+ import { SITE_KIT_VERSION } from '../chunk-DXE6SXWW.js';
26
+ import '../chunk-VXCUXHZO.js';
28
27
  import '../chunk-W7OPEMGJ.js';
29
- import { SITE_KIT_VERSION } from '../chunk-F6WLHVMQ.js';
28
+ import '../chunk-A4CC4ZG3.js';
29
+ import '../chunk-FRY6PBT6.js';
30
30
  import '../chunk-PKBMQBKP.js';
31
31
  import 'server-only';
32
32
  import { after } from 'next/server.js';
@@ -126,7 +126,7 @@ export declare function protectMcpHandlers(handlers: McpRouteHandlerSet, options
126
126
  * @example
127
127
  * ```ts
128
128
  * // app/api/mcp-internal/route.ts
129
- * import * as mcp from './route'
129
+ * import * as mcp from '../mcp/route'
130
130
  * export const { POST, GET, DELETE, OPTIONS } = createMcpInternalRoute(mcp)
131
131
  * ```
132
132
  */
@@ -1,5 +1,5 @@
1
1
  import { type CSSProperties, type ElementType, type ReactNode, type RefObject } from 'react';
2
- import { type SceneAnchor } from './engine';
2
+ import { type SceneAnchor } from "./engine.js";
3
3
  /**
4
4
  * Scroll-linked parallax with no animation library.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  import { type CSSProperties, type ElementType, type ReactNode, type RefObject } from 'react';
2
- import { type SceneInfo, type SceneOptions } from './engine';
2
+ import { type SceneInfo, type SceneOptions } from "./engine.js";
3
3
  /**
4
4
  * A pinned scene: a tall wrapper with a sticky, viewport-sized stage inside
5
5
  * it. As the visitor scrolls the wrapper's height, the stage stays put and
@@ -166,8 +166,8 @@ export interface ScrollInOptions {
166
166
  * )
167
167
  */
168
168
  export declare function scrollIn(gsap: Gsap, el: HTMLElement, build: (tl: GsapTimeline) => void, { start }?: ScrollInOptions): (() => void) | undefined;
169
- export { CountUp, parseCountUp } from './CountUp';
170
- export type { CountUpProps, CountUpParts } from './CountUp';
169
+ export { CountUp, parseCountUp } from "./CountUp.js";
170
+ export type { CountUpProps, CountUpParts } from "./CountUp.js";
171
171
  export interface ExpandCollapseOptions {
172
172
  duration?: number;
173
173
  ease?: string;
@@ -19,12 +19,12 @@
19
19
  * Nothing in this module is mounted by SiteKitLayout. Motion is opt-in per
20
20
  * element, never a wrapper around the page.
21
21
  */
22
- export { registerScene, refreshScenes, prefersReducedMotion, sceneProgress, } from './engine';
23
- export type { SceneRender, SceneOptions, SceneInfo, SceneMode, SceneAnchor } from './engine';
24
- export { onNoScroll } from './failsafe';
25
- export { Reveal } from './Reveal';
26
- export type { RevealProps, RevealDirection } from './Reveal';
27
- export { Parallax, useParallax } from './Parallax';
28
- export type { ParallaxProps, ParallaxOptions } from './Parallax';
29
- export { ScrollScene, useScrollScene } from './ScrollScene';
30
- export type { ScrollSceneProps, UseScrollSceneOptions } from './ScrollScene';
22
+ export { registerScene, refreshScenes, prefersReducedMotion, sceneProgress, } from "./engine.js";
23
+ export type { SceneRender, SceneOptions, SceneInfo, SceneMode, SceneAnchor } from "./engine.js";
24
+ export { onNoScroll } from "./failsafe.js";
25
+ export { Reveal } from "./Reveal.js";
26
+ export type { RevealProps, RevealDirection } from "./Reveal.js";
27
+ export { Parallax, useParallax } from "./Parallax.js";
28
+ export type { ParallaxProps, ParallaxOptions } from "./Parallax.js";
29
+ export { ScrollScene, useScrollScene } from "./ScrollScene.js";
30
+ export type { ScrollSceneProps, UseScrollSceneOptions } from "./ScrollScene.js";
@@ -30,7 +30,7 @@
30
30
  */
31
31
  import { type RefObject } from 'react';
32
32
  import { PerspectiveCamera, Scene, WebGLRenderer, type Object3D, type Texture } from 'three';
33
- import { type SceneInfo, type SceneOptions } from './engine';
33
+ import { type SceneInfo, type SceneOptions } from "./engine.js";
34
34
  /**
35
35
  * Whether a WebGL scene should run for this visitor at all. False under
36
36
  * prefers-reduced-motion, Save-Data, or when the browser has no WebGL.
@@ -2,8 +2,8 @@
2
2
  * @sonordev/site-kit/og — Open Graph card factory (build-time tier).
3
3
  * Config contract + HTML template. Rendering happens via `sonor-setup og`.
4
4
  */
5
- export { defineOgCard, OG_WIDTH, OG_HEIGHT } from './config';
6
- export type { OgCardConfig, OgTheme, OgFont, OgBackground, OgContent, OgPhoto, OgTemplateHelpers } from './config';
7
- export { buildOgHtml } from './template';
8
- export { paramCardImage, paramCardUrl, codeCardImage, PARAM_CARD_DIR } from './pages';
9
- export type { OgImageDescriptor } from './pages';
5
+ export { defineOgCard, OG_WIDTH, OG_HEIGHT } from "./config.js";
6
+ export type { OgCardConfig, OgTheme, OgFont, OgBackground, OgContent, OgPhoto, OgTemplateHelpers } from "./config.js";
7
+ export { buildOgHtml } from "./template.js";
8
+ export { paramCardImage, paramCardUrl, codeCardImage, PARAM_CARD_DIR } from "./pages.js";
9
+ export type { OgImageDescriptor } from "./pages.js";
@@ -14,7 +14,7 @@
14
14
  * Everything else — theme, fonts, logo, photo, bar — is inherited from the
15
15
  * site's own og.config.ts, so the whole set reads as one family.
16
16
  */
17
- import type { OgCardConfig } from './config';
17
+ import type { OgCardConfig } from "./config.js";
18
18
  /** A route to build a card for. */
19
19
  export interface OgPageRoute {
20
20
  /** URL path, e.g. `/services/garage`. */
@@ -74,3 +74,20 @@ export interface RouteFit {
74
74
  * the full width. If that fails too, the title sits at the floor and clips.
75
75
  */
76
76
  export declare function fitRouteTitle(input: RouteFitInput): RouteFit;
77
+ /** Fixed geometry for the optional wordmark layout; the photo never yields to copy. */
78
+ export declare const BRANDED_ROUTE_CARD: {
79
+ readonly pad: 56;
80
+ readonly photoWidth: 480;
81
+ readonly logoHeight: 104;
82
+ readonly titleHeight: 302;
83
+ readonly titleLineHeight: 1.1;
84
+ readonly titleMaxPx: 64;
85
+ readonly titleMinPx: 36;
86
+ };
87
+ /** Fit a branded headline without removing either the logo or photograph.
88
+ * Exceptionally long copy is shortened on the card; page metadata keeps its full title. */
89
+ export declare function fitBrandedRouteTitle(title: string, photo: boolean): {
90
+ title: string;
91
+ titlePx: number;
92
+ truncated: boolean;
93
+ };
@@ -82,6 +82,14 @@ export interface OgRouteCard {
82
82
  photoUrl?: string;
83
83
  /** Bottom-bar text, e.g. the domain. */
84
84
  bar?: string;
85
+ /** Optional full wordmark. Selects a light-panel editorial layout, preserving the photo.
86
+ * Supply resolved absolute HTTP(S) or image-data source and intrinsic dimensions. */
87
+ logo?: {
88
+ src: string;
89
+ width: number;
90
+ height: number;
91
+ alt: string;
92
+ };
85
93
  }
86
94
  export interface OgRouteFont {
87
95
  name: string;
package/dist/og/route.js CHANGED
@@ -1,3 +1,3 @@
1
- export { contentType, createOgImage, createOgImageRoute, ogRouteElement, size } from '../chunk-LQJC5S2M.js';
1
+ export { contentType, createOgImage, createOgImageRoute, ogRouteElement, size } from '../chunk-J6D3NEDE.js';
2
2
  import '../chunk-LE7ZOTHB.js';
3
3
  import '../chunk-PKBMQBKP.js';
@@ -9,5 +9,5 @@
9
9
  * iMessage thumbnail width (~300px)
10
10
  * - the plate + title must survive alone if everything else is cropped
11
11
  */
12
- import type { OgCardConfig } from './config';
12
+ import type { OgCardConfig } from "./config.js";
13
13
  export declare function buildOgHtml(config: OgCardConfig): string;
@@ -1 +1 @@
1
- export * from '../contracts/portfolio';
1
+ export * from "../contracts/portfolio.js";
@@ -11,8 +11,8 @@
11
11
  * complete control. The `children` render prop gives full data access.
12
12
  */
13
13
  import React from 'react';
14
- import type { Article as ArticleType, TocItem } from './types';
15
- import { type PublicationRoutingOptions } from './routes';
14
+ import type { Article as ArticleType, TocItem } from "./types.js";
15
+ import { type PublicationRoutingOptions } from "./routes.js";
16
16
  export interface ArticleStyles {
17
17
  article?: string;
18
18
  header?: string;
@@ -1,2 +1,2 @@
1
- import type { ArticleFAQProps } from './ArticleFAQ';
1
+ import type { ArticleFAQProps } from "./ArticleFAQ.js";
2
2
  export declare function ArticleFaqSection(props: ArticleFAQProps): import("react").JSX.Element;
@@ -10,8 +10,8 @@
10
10
  * complete control. The `children` render prop gives full data access.
11
11
  */
12
12
  import React from 'react';
13
- import type { ArticleListResult, Article, ArticleCategory } from './types';
14
- import { type PublicationRoutingOptions } from './routes';
13
+ import type { ArticleListResult, Article, ArticleCategory } from "./types.js";
14
+ import { type PublicationRoutingOptions } from "./routes.js";
15
15
  export interface ArticleListStyles {
16
16
  container?: string;
17
17
  categoryNav?: string;
@@ -2,7 +2,7 @@
2
2
  * @sonordev/press-kit/articles - Author Card Component
3
3
  */
4
4
  import React from 'react';
5
- import type { AuthorCardProps, ArticleAuthor } from './types';
5
+ import type { AuthorCardProps, ArticleAuthor } from "./types.js";
6
6
  declare function TrustBlock({ author }: {
7
7
  author: ArticleAuthor;
8
8
  }): React.JSX.Element | null;
@@ -4,5 +4,5 @@
4
4
  * Full author profile page with hero, trust block, social links, and articles grid.
5
5
  */
6
6
  import React from 'react';
7
- import type { AuthorPageProps } from './types';
7
+ import type { AuthorPageProps } from "./types.js";
8
8
  export declare function AuthorPage({ author, posts, basePath, routing, siteUrl, siteName, jsonLd }: AuthorPageProps): React.JSX.Element;
@@ -11,8 +11,8 @@
11
11
  * Ships with `.sk-cluster-landing-*` scoped styles.
12
12
  */
13
13
  import React from 'react';
14
- import { type PublicationRoutingOptions } from './routes';
15
- import type { TopicCluster } from './types';
14
+ import { type PublicationRoutingOptions } from "./routes.js";
15
+ import type { TopicCluster } from "./types.js";
16
16
  export interface ClusterLandingPageProps {
17
17
  /** Cluster slug to fetch */
18
18
  slug: string;
@@ -9,8 +9,8 @@
9
9
  * as the rest of site-kit, with currentColor-based fallbacks.
10
10
  */
11
11
  import React from 'react';
12
- import type { ClusterNavigation as ClusterNavigationType } from './types';
13
- import { type PublicationRoutingOptions } from './routes';
12
+ import type { ClusterNavigation as ClusterNavigationType } from "./types.js";
13
+ import { type PublicationRoutingOptions } from "./routes.js";
14
14
  export interface ClusterNavigationProps {
15
15
  /** Cluster navigation data */
16
16
  navigation: ClusterNavigationType;
@@ -7,6 +7,6 @@
7
7
  * static-import graph).
8
8
  */
9
9
  import React from 'react';
10
- import { type NewsletterShellProps } from './NewsletterShell';
11
- import type { NewsletterWidgetProps } from './NewsletterWidget';
10
+ import { type NewsletterShellProps } from "./NewsletterShell.js";
11
+ import type { NewsletterWidgetProps } from "./NewsletterWidget.js";
12
12
  export default function ManagedNewsletterForm({ formSlug, title, description, buttonText, successMessage, }: Required<Pick<NewsletterWidgetProps, 'formSlug'>> & Pick<NewsletterShellProps, 'title' | 'description' | 'buttonText' | 'successMessage'>): React.JSX.Element | null;
@@ -5,8 +5,8 @@
5
5
  * Use this to wrap your article pages for consistent styling.
6
6
  */
7
7
  import React from 'react';
8
- import { PublicationSidebarProps } from './PublicationSidebar';
9
- import type { PublicationRoutingOptions } from './routes';
8
+ import { PublicationSidebarProps } from "./PublicationSidebar.js";
9
+ import type { PublicationRoutingOptions } from "./routes.js";
10
10
  export interface PublicationLayoutProps {
11
11
  /** Sonor API URL */
12
12
  apiUrl?: string;