@sonordev/site-kit 8.10.0 → 8.11.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 (103) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/agent-manifest.json +1 -1
  3. package/dist/{AddressAutocomplete-LQS6GQ4R.js → AddressAutocomplete-SQDJJOEF.js} +1 -1
  4. package/dist/{AnalyticsProvider-JWS7BLFY.js → AnalyticsProvider-JDVLH5OV.js} +4 -4
  5. package/dist/{ArticleViewTracker-CDPVMUAO.js → ArticleViewTracker-L6TFJ35X.js} +1 -1
  6. package/dist/{BlocksPopup-C5PNJ7U6.js → BlocksPopup-5Q47LRN2.js} +3 -3
  7. package/dist/{ChatWidget-HEPOE3YC.js → ChatWidget-4ILVGTK6.js} +5 -5
  8. package/dist/{FileField-6R5LS5NU.js → FileField-TLS53TPW.js} +1 -1
  9. package/dist/{FormSpotlight-2BSE7PD2.js → FormSpotlight-JPLIRN3H.js} +1 -1
  10. package/dist/{FormStage-3G46OPPO.js → FormStage-UBP57NY7.js} +1 -1
  11. package/dist/{ManagedForm-LTXEU25N.js → ManagedForm-PFGM5X5H.js} +6 -6
  12. package/dist/{ManagedNewsletterForm-WE6P5DMV.js → ManagedNewsletterForm-GJU5KCGA.js} +8 -8
  13. package/dist/{SignalCore-IP7FE6SN.js → SignalCore-DGKCVQ74.js} +3 -3
  14. package/dist/{SiteChat-3FQYMHCP.js → SiteChat-EP25SEMP.js} +1 -1
  15. package/dist/{SiteDesignReporter-HGTX4FX2.js → SiteDesignReporter-NE6BQSVZ.js} +4 -4
  16. package/dist/{SitePopups-V7MCNSGE.js → SitePopups-XJLZPV4L.js} +4 -4
  17. package/dist/{SitemapSync-OAJ7SIET.js → SitemapSync-35EAR2YA.js} +2 -2
  18. package/dist/_client/booking-widget.js +3 -3
  19. package/dist/_client/reviewed-signal-experiment.js +1 -1
  20. package/dist/affiliates/index.js +1 -1
  21. package/dist/analytics/index.js +4 -4
  22. package/dist/api-AHFVE5HN.js +5 -0
  23. package/dist/articles/index.js +1 -1
  24. package/dist/articles/server-ui.js +3 -3
  25. package/dist/articles/server.js +2 -2
  26. package/dist/chat/index.js +6 -6
  27. package/dist/{chunk-TLKLHSRJ.js → chunk-2URLL3Z2.js} +1 -1
  28. package/dist/{chunk-RMPXSEEU.js → chunk-3LGE3LRC.js} +1 -1
  29. package/dist/{chunk-Z62W7Q3T.js → chunk-3VKJJNQU.js} +1 -1
  30. package/dist/{chunk-P7S45DD7.js → chunk-52MFDOBB.js} +1 -1
  31. package/dist/{chunk-RUV6DCKL.js → chunk-5LCY7QKK.js} +1 -1
  32. package/dist/{chunk-Z4XJOVQX.js → chunk-7OTHRX45.js} +1 -1
  33. package/dist/{chunk-HNVLINPI.js → chunk-BHJTT63Y.js} +1 -1
  34. package/dist/{chunk-Y7DZ2ND2.js → chunk-CCZHAC4K.js} +3 -3
  35. package/dist/{chunk-HLN7A4GL.js → chunk-CIZ7Z3NU.js} +1 -1
  36. package/dist/{chunk-D4R3FQED.js → chunk-CNQMSQYQ.js} +1 -1
  37. package/dist/{chunk-MKU5ZORB.js → chunk-DHGOFK5P.js} +1 -1
  38. package/dist/{chunk-MIKVCYGX.js → chunk-DHMBDPGA.js} +2 -2
  39. package/dist/{chunk-6CIO4X6P.js → chunk-FW63D6W3.js} +1 -1
  40. package/dist/{chunk-727353NY.js → chunk-GZYIJ3JI.js} +3 -3
  41. package/dist/{chunk-A66TIJWU.js → chunk-HWYJ3O7D.js} +1 -1
  42. package/dist/{chunk-J4R7MHV2.js → chunk-I5S2XA7H.js} +8 -8
  43. package/dist/{chunk-NWEIHCSE.js → chunk-IDLJEFVB.js} +1 -1
  44. package/dist/{chunk-OEHIXCYS.js → chunk-JXH56PY3.js} +2 -2
  45. package/dist/{chunk-XAPSYDVT.js → chunk-JYRBGL33.js} +1 -1
  46. package/dist/{chunk-OCNODBH4.js → chunk-KWHR7PNA.js} +1 -1
  47. package/dist/{chunk-75N2WALV.js → chunk-LY3Q6RU5.js} +1 -1
  48. package/dist/{chunk-YJ6PRJ7Y.js → chunk-N26GRGIP.js} +2 -2
  49. package/dist/{chunk-7PWXPN53.js → chunk-NAO63YOG.js} +1 -1
  50. package/dist/{chunk-DW5X4BC7.js → chunk-OPJZSLGK.js} +2 -2
  51. package/dist/{chunk-533ZSRJF.js → chunk-R53G2IKP.js} +1 -1
  52. package/dist/{chunk-ACZ5JNSL.js → chunk-UEF4AC76.js} +2 -2
  53. package/dist/{chunk-NBNDH2J6.js → chunk-UK4ANQUS.js} +1 -1
  54. package/dist/{chunk-3RBOES2C.js → chunk-VA5NLFSL.js} +1 -1
  55. package/dist/{chunk-NH7K252M.js → chunk-XHEUPCCU.js} +1 -1
  56. package/dist/{chunk-Q2OE32TH.js → chunk-XVB5V7D3.js} +2 -2
  57. package/dist/{chunk-UMF5OILQ.js → chunk-ZWTDI2JU.js} +1 -1
  58. package/dist/contracts/entries.d.ts +1 -1
  59. package/dist/contracts/property-interest.d.ts +100 -0
  60. package/dist/contracts/resonance.d.ts +1705 -358
  61. package/dist/contracts/sales-call-prep.d.ts +666 -0
  62. package/dist/contracts/signal-experiments.d.ts +0 -1
  63. package/dist/contracts/wire-uuid.d.ts +5 -0
  64. package/dist/{controls-KLG6VQLO.js → controls-YQ3MGZJG.js} +2 -2
  65. package/dist/fleet/index.js +3 -3
  66. package/dist/forms/index.js +8 -8
  67. package/dist/forms/server.js +2 -2
  68. package/dist/images/index.js +2 -2
  69. package/dist/index.js +1 -1
  70. package/dist/landing/server.js +5 -5
  71. package/dist/layout/client.js +6 -6
  72. package/dist/layout/index.js +7 -7
  73. package/dist/llms/index.js +4 -4
  74. package/dist/maps/index.js +3 -3
  75. package/dist/mcp/sonor.js +5 -5
  76. package/dist/resonance/ConsentPreferences.d.ts +8 -0
  77. package/dist/resonance/consent-adapter.d.ts +3 -0
  78. package/dist/resonance/first-party-consent.d.ts +22 -0
  79. package/dist/resonance/index.d.ts +1 -0
  80. package/dist/resonance/index.js +272 -2
  81. package/dist/revalidate/index.js +2 -2
  82. package/dist/runtime/index.js +1 -1
  83. package/dist/{runtime-core-EU2RZMOL.js → runtime-core-WSKES5UP.js} +523 -7
  84. package/dist/seo/client.js +2 -2
  85. package/dist/seo/index.js +2 -2
  86. package/dist/seo/llms.js +4 -4
  87. package/dist/seo/register-sitemap-cli.js +1 -1
  88. package/dist/seo/sitemap.js +2 -2
  89. package/dist/server/index.js +2 -2
  90. package/dist/shared/version.d.ts +1 -1
  91. package/dist/signal/index.js +2 -2
  92. package/dist/sitemap/index.js +2 -2
  93. package/dist/{sonor-fetch-runtime-SLPBNZY4.js → sonor-fetch-runtime-JDVDCTKI.js} +2 -2
  94. package/dist/sync/index.js +3 -3
  95. package/dist/website/images.js +2 -2
  96. package/dist/website/index.js +4 -4
  97. package/dist/website/landing/server.js +5 -5
  98. package/dist/website/popups.js +4 -4
  99. package/dist/{writeLLMsTxt-2CBYGKZO.js → writeLLMsTxt-SYLPYWUX.js} +1 -1
  100. package/package.json +1 -1
  101. package/src/resonance/README.md +16 -0
  102. package/dist/api-X6N6V2H3.js +0 -5
  103. /package/dist/{chunk-ORSQKTMN.js → chunk-ES52W5EE.js} +0 -0
@@ -458,7 +458,7 @@ async function registerLocalSitemap(options) {
458
458
  }
459
459
  if (options.writeLlms && result.success) {
460
460
  try {
461
- const { writeLLMsTxtToPublic } = await import('../writeLLMsTxt-2CBYGKZO.js');
461
+ const { writeLLMsTxtToPublic } = await import('../writeLLMsTxt-SYLPYWUX.js');
462
462
  const written = await writeLLMsTxtToPublic({
463
463
  // Resolved here too: the sync's own `site` is scoped to the branch that
464
464
  // posts, and this runs on the skip path as well.
@@ -1,5 +1,5 @@
1
- export { createSitemap, getPortfolioPaths, syncSitemapToPortal } from '../chunk-A66TIJWU.js';
2
- import '../chunk-ORSQKTMN.js';
1
+ export { createSitemap, getPortfolioPaths, syncSitemapToPortal } from '../chunk-HWYJ3O7D.js';
2
+ import '../chunk-ES52W5EE.js';
3
3
  import '../chunk-EK7P62DT.js';
4
4
  import '../chunk-Z22QVHT4.js';
5
5
  import '../chunk-7DYMM6SS.js';
@@ -1,8 +1,8 @@
1
1
  import '../chunk-34ZYJTQR.js';
2
- export { resolveClientCredential } from '../chunk-NBNDH2J6.js';
2
+ export { resolveClientCredential } from '../chunk-UK4ANQUS.js';
3
3
  import '../chunk-UAYAJPEP.js';
4
4
  export { SITE_CACHE_TAGS } from '../chunk-HY7ZEU2C.js';
5
5
  export { isNextControlFlow, requireServerApiConfig, resolveApiOrigin, resolveServerApiConfig, serverApiFetch } from '../chunk-7VMA3KCN.js';
6
6
  import '../chunk-MH2DSGC6.js';
7
- import '../chunk-D4R3FQED.js';
7
+ import '../chunk-CNQMSQYQ.js';
8
8
  import '../chunk-PKBMQBKP.js';
@@ -7,4 +7,4 @@
7
7
  * it matches package.json at publish time, and version.test.ts asserts it in
8
8
  * dev, so it can't silently drift.
9
9
  */
10
- export declare const SITE_KIT_VERSION = "8.10.0";
10
+ export declare const SITE_KIT_VERSION = "8.11.0";
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- export { ExperimentConversion, SignalExperiment, useExperimentVariant } from '../chunk-OCNODBH4.js';
3
- export { SignalBridge, useSignal, useSignalConfig, useSignalEvent, useSignalExperiment, useSignalOutcome } from '../chunk-533ZSRJF.js';
2
+ export { ExperimentConversion, SignalExperiment, useExperimentVariant } from '../chunk-KWHR7PNA.js';
3
+ export { SignalBridge, useSignal, useSignalConfig, useSignalEvent, useSignalExperiment, useSignalOutcome } from '../chunk-R53G2IKP.js';
4
4
  import '../chunk-MOACHHOJ.js';
5
5
  import '../chunk-FRY6PBT6.js';
6
6
  import '../chunk-PKBMQBKP.js';
@@ -1,5 +1,5 @@
1
- export { createSitemap, getPortfolioPaths, syncSitemapToPortal } from '../chunk-A66TIJWU.js';
2
- import '../chunk-ORSQKTMN.js';
1
+ export { createSitemap, getPortfolioPaths, syncSitemapToPortal } from '../chunk-HWYJ3O7D.js';
2
+ import '../chunk-ES52W5EE.js';
3
3
  import '../chunk-EK7P62DT.js';
4
4
  import '../chunk-Z22QVHT4.js';
5
5
  import '../chunk-7DYMM6SS.js';
@@ -1,7 +1,7 @@
1
- import { getFreshCredential, refreshSiteToken } from './chunk-RMPXSEEU.js';
1
+ import { getFreshCredential, refreshSiteToken } from './chunk-3LGE3LRC.js';
2
2
  import { isSiteToken, credentialBreakerId } from './chunk-TPHOIE4I.js';
3
3
  import { isTokenMode } from './chunk-D4M5K6JN.js';
4
- import { SITE_KIT_VERSION } from './chunk-D4R3FQED.js';
4
+ import { SITE_KIT_VERSION } from './chunk-CNQMSQYQ.js';
5
5
  import './chunk-PKBMQBKP.js';
6
6
 
7
7
  // src/shared/fetchWithRetry.ts
@@ -1,8 +1,8 @@
1
- export { BookingWidget } from '../chunk-Z62W7Q3T.js';
2
- export { createBooking, createSlotHold, detectTimezone, fetchAvailability, fetchAvailableDates, fetchBookingTypeDetails, fetchBookingTypes, formatDate, formatDuration, formatTime, prepareMeeting, releaseSlotHold } from '../chunk-75N2WALV.js';
1
+ export { BookingWidget } from '../chunk-3VKJJNQU.js';
2
+ export { createBooking, createSlotHold, detectTimezone, fetchAvailability, fetchAvailableDates, fetchBookingTypeDetails, fetchBookingTypes, formatDate, formatDuration, formatTime, prepareMeeting, releaseSlotHold } from '../chunk-LY3Q6RU5.js';
3
3
  import '../chunk-PVY7X5UR.js';
4
4
  import '../chunk-5IVD6G77.js';
5
- import '../chunk-Z4XJOVQX.js';
5
+ import '../chunk-7OTHRX45.js';
6
6
  import '../chunk-W7OPEMGJ.js';
7
7
  import '../chunk-FRY6PBT6.js';
8
8
  import '../chunk-PKBMQBKP.js';
@@ -1,4 +1,4 @@
1
- export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from '../chunk-P7S45DD7.js';
1
+ export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from '../chunk-52MFDOBB.js';
2
2
  export { ManagedFavicon, getManagedFaviconUrl } from '../chunk-GW7GSBO7.js';
3
- import '../chunk-Z4XJOVQX.js';
3
+ import '../chunk-7OTHRX45.js';
4
4
  import '../chunk-PKBMQBKP.js';
@@ -1,14 +1,14 @@
1
1
  'use client';
2
- export { SiteDesignReporter } from '../chunk-TLKLHSRJ.js';
3
- export { SITE_DESIGN_PATH, cleanFontStack, colorToHex, getSiteDesignTokens, measureSiteDesign, readDeclaredDesign, sendSiteDesign } from '../chunk-DW5X4BC7.js';
2
+ export { SiteDesignReporter } from '../chunk-2URLL3Z2.js';
3
+ export { SITE_DESIGN_PATH, cleanFontStack, colorToHex, getSiteDesignTokens, measureSiteDesign, readDeclaredDesign, sendSiteDesign } from '../chunk-OPJZSLGK.js';
4
4
  export { DEFAULT_POPUP_TOKENS, PopupBlocks } from '../chunk-52KO4LKD.js';
5
5
  import '../chunk-XLAHRN4B.js';
6
6
  import '../chunk-XHYE24HU.js';
7
7
  import '../chunk-YC7ELZS3.js';
8
8
  import '../chunk-S22FSH7C.js';
9
- import '../chunk-D4R3FQED.js';
9
+ import '../chunk-CNQMSQYQ.js';
10
10
  import '../chunk-7643MCD2.js';
11
11
  import '../chunk-64XODP7M.js';
12
- import '../chunk-Z4XJOVQX.js';
12
+ import '../chunk-7OTHRX45.js';
13
13
  import '../chunk-W7OPEMGJ.js';
14
14
  import '../chunk-PKBMQBKP.js';
@@ -1,12 +1,12 @@
1
- export { FunnelPageContent, ManagedFunnelPage, getPublishedFunnelPage, managedFunnelMetadata } from '../../chunk-YJ6PRJ7Y.js';
1
+ export { FunnelPageContent, ManagedFunnelPage, getPublishedFunnelPage, managedFunnelMetadata } from '../../chunk-N26GRGIP.js';
2
2
  import '../../chunk-XS2ORMUG.js';
3
3
  import '../../chunk-XJZLXUTG.js';
4
4
  import '../../chunk-7IZUUXXO.js';
5
5
  export { normalizeCampaignSlug } from '../../chunk-2QPVU63T.js';
6
6
  export { landingPageMetadata } from '../../chunk-JESLPEST.js';
7
7
  import '../../chunk-XHYE24HU.js';
8
- import '../../chunk-NH7K252M.js';
9
- import '../../chunk-NWEIHCSE.js';
8
+ import '../../chunk-XHEUPCCU.js';
9
+ import '../../chunk-IDLJEFVB.js';
10
10
  import '../../chunk-C2FZBUSS.js';
11
11
  import '../../chunk-YC7ELZS3.js';
12
12
  import '../../chunk-HHEDRZOJ.js';
@@ -19,8 +19,8 @@ import '../../chunk-7VMA3KCN.js';
19
19
  import '../../chunk-MH2DSGC6.js';
20
20
  import '../../chunk-S22FSH7C.js';
21
21
  import '../../chunk-A4CC4ZG3.js';
22
- import '../../chunk-OCNODBH4.js';
23
- import '../../chunk-533ZSRJF.js';
22
+ import '../../chunk-KWHR7PNA.js';
23
+ import '../../chunk-R53G2IKP.js';
24
24
  import '../../chunk-MOACHHOJ.js';
25
25
  import '../../chunk-FRY6PBT6.js';
26
26
  import '../../chunk-PKBMQBKP.js';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- export { SitePopups } from '../chunk-Y7DZ2ND2.js';
2
+ export { SitePopups } from '../chunk-CCZHAC4K.js';
3
3
  import '../chunk-27FISYK4.js';
4
4
  export { DEFAULT_POPUP_TOKENS, PopupBlocks } from '../chunk-52KO4LKD.js';
5
5
  import '../chunk-XLAHRN4B.js';
@@ -7,17 +7,17 @@ import '../chunk-XHYE24HU.js';
7
7
  import '../chunk-PVY7X5UR.js';
8
8
  import '../chunk-S22FSH7C.js';
9
9
  import '../chunk-JT7GHHMV.js';
10
- import '../chunk-ACZ5JNSL.js';
10
+ import '../chunk-UEF4AC76.js';
11
11
  import '../chunk-NHDRA4Y5.js';
12
12
  import '../chunk-D4M5K6JN.js';
13
13
  import '../chunk-GJWI74ZZ.js';
14
14
  import '../chunk-NZOJHERI.js';
15
15
  import '../chunk-KMNHNCVG.js';
16
16
  import '../chunk-5IVD6G77.js';
17
- import '../chunk-D4R3FQED.js';
17
+ import '../chunk-CNQMSQYQ.js';
18
18
  import '../chunk-7643MCD2.js';
19
19
  import '../chunk-64XODP7M.js';
20
- import '../chunk-Z4XJOVQX.js';
20
+ import '../chunk-7OTHRX45.js';
21
21
  import '../chunk-W7OPEMGJ.js';
22
22
  import '../chunk-A4CC4ZG3.js';
23
23
  import '../chunk-FRY6PBT6.js';
@@ -1,4 +1,4 @@
1
- export { writeLLMsTxtToPublic } from './chunk-ORSQKTMN.js';
1
+ export { writeLLMsTxtToPublic } from './chunk-ES52W5EE.js';
2
2
  import './chunk-EK7P62DT.js';
3
3
  import './chunk-7DYMM6SS.js';
4
4
  import './chunk-IBHBEUZV.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonordev/site-kit",
3
- "version": "8.10.0",
3
+ "version": "8.11.0",
4
4
  "type": "module",
5
5
  "packageManager": "pnpm@11.5.3",
6
6
  "description": "Sonor's Next.js foundation: SEO, analytics, forms, chat, booking, AI visibility and agent tools. Add @sonordev/press-kit for publications or @sonordev/commerce-kit for selling. Legacy article imports remain compatible in 8.x.",
@@ -11,6 +11,22 @@ On dynamic routes with Next.js Cache Components, the layout gives the
11
11
  pathname-dependent runtime its own Suspense boundary. Measurement stays
12
12
  blocked while it's unresolved, and page content renders independently.
13
13
 
14
+ ## First-party privacy preferences
15
+
16
+ For a site without a consent manager, mount `ResonanceConsentPreferences` once alongside `SiteKitLayout`.
17
+
18
+ ```tsx
19
+ import { ResonanceConsentPreferences } from '@sonordev/site-kit/resonance'
20
+
21
+ <ResonanceConsentPreferences privacyUrl="/privacy" />
22
+ ```
23
+
24
+ Visitors can choose visit measurement and advertising separately, decline optional purposes, and reopen Privacy choices to withdraw. Both optional choices start off. The component uses the existing adapter registration and keeps an already registered consent manager in charge.
25
+
26
+ A choice needs a fresh, enabled native configuration. The component waits while settings are unavailable. Stored preferences belong to the exact site, project, configuration and policy revisions. They expire after 180 days by default, with `maxAgeDays` configurable from 1 to 180. Native proof expiry is checked independently. If browser storage is unavailable, the choice lasts for the current tab. Withdrawal and cross-tab changes notify the existing runtime.
27
+
28
+ This component records preferences through the native consent owner. Configure the real page rules, destinations and approved visit feed before verifying advertising delivery.
29
+
14
30
  ## Connect your consent manager
15
31
 
16
32
  Register one adapter for the consent manager your site already uses. The
@@ -1,5 +0,0 @@
1
- export { fetchMapsConfig, fetchNearbyPlaces } from './chunk-6CIO4X6P.js';
2
- import './chunk-MH2DSGC6.js';
3
- import './chunk-Z4XJOVQX.js';
4
- import './chunk-W7OPEMGJ.js';
5
- import './chunk-PKBMQBKP.js';
File without changes