@sonordev/site-kit 8.9.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 (120) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/agent-manifest.json +1 -1
  3. package/dist/AddressAutocomplete-SQDJJOEF.js +241 -0
  4. package/dist/{AnalyticsProvider-X7JJN3QL.js → AnalyticsProvider-JDVLH5OV.js} +4 -4
  5. package/dist/{ArticleViewTracker-7Q6AMCKX.js → ArticleViewTracker-L6TFJ35X.js} +1 -1
  6. package/dist/{BlocksPopup-U5VIYEBA.js → BlocksPopup-5Q47LRN2.js} +3 -3
  7. package/dist/{ChatWidget-EAATOFCT.js → ChatWidget-4ILVGTK6.js} +5 -5
  8. package/dist/{FileField-YWMSK7RF.js → FileField-TLS53TPW.js} +1 -1
  9. package/dist/{FormSpotlight-MAXDW3TK.js → FormSpotlight-JPLIRN3H.js} +5 -4
  10. package/dist/{FormStage-VAHRVOIZ.js → FormStage-UBP57NY7.js} +5 -4
  11. package/dist/{ManagedForm-7IZT7ZII.js → ManagedForm-PFGM5X5H.js} +7 -7
  12. package/dist/{ManagedNewsletterForm-VVXZSEAL.js → ManagedNewsletterForm-GJU5KCGA.js} +10 -10
  13. package/dist/{SignalCore-HAN4O7QG.js → SignalCore-DGKCVQ74.js} +3 -3
  14. package/dist/{SiteChat-3JLCEL2N.js → SiteChat-EP25SEMP.js} +1 -1
  15. package/dist/{SiteDesignReporter-6CCO645E.js → SiteDesignReporter-NE6BQSVZ.js} +4 -4
  16. package/dist/{SitePopups-ZGHQNGGH.js → SitePopups-XJLZPV4L.js} +4 -4
  17. package/dist/{SitemapSync-5LSYCBKS.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-IO6BWRZ5.js → chunk-2URLL3Z2.js} +1 -1
  28. package/dist/{chunk-FAY6MOLL.js → chunk-3LGE3LRC.js} +1 -1
  29. package/dist/{chunk-MP35JETP.js → chunk-3VKJJNQU.js} +1 -1
  30. package/dist/{chunk-CVADNHJ4.js → chunk-3WMNHFZH.js} +9 -0
  31. package/dist/{chunk-T4A5J6SJ.js → chunk-52MFDOBB.js} +1 -1
  32. package/dist/{chunk-ISMHDUBW.js → chunk-5LCY7QKK.js} +1 -1
  33. package/dist/{chunk-VXCUXHZO.js → chunk-7OTHRX45.js} +1 -1
  34. package/dist/{chunk-6NLVHTYY.js → chunk-BHJTT63Y.js} +1 -1
  35. package/dist/{chunk-EBEM5BI5.js → chunk-CCZHAC4K.js} +3 -3
  36. package/dist/{chunk-QXAJPB6O.js → chunk-CIZ7Z3NU.js} +1 -1
  37. package/dist/{chunk-DXE6SXWW.js → chunk-CNQMSQYQ.js} +1 -1
  38. package/dist/{chunk-OUD4RTBD.js → chunk-DHGOFK5P.js} +2 -31
  39. package/dist/{chunk-UG53ZW7S.js → chunk-DHMBDPGA.js} +2 -2
  40. package/dist/chunk-FW63D6W3.js +77 -0
  41. package/dist/{chunk-S33CUULL.js → chunk-GZYIJ3JI.js} +11 -7
  42. package/dist/{chunk-VPZJ7ZTL.js → chunk-HHEDRZOJ.js} +1 -1
  43. package/dist/{chunk-YVEYO3OD.js → chunk-HWYJ3O7D.js} +1 -1
  44. package/dist/{chunk-KGIQYVQ2.js → chunk-I5S2XA7H.js} +8 -8
  45. package/dist/{chunk-J4LJE4NB.js → chunk-IDLJEFVB.js} +3 -1
  46. package/dist/{chunk-CJ43K7RA.js → chunk-JXH56PY3.js} +2 -2
  47. package/dist/{chunk-ADQ3VCKK.js → chunk-JYRBGL33.js} +1 -1
  48. package/dist/{chunk-F3RKFGRW.js → chunk-KWHR7PNA.js} +1 -1
  49. package/dist/{chunk-ZRSXCT4O.js → chunk-LY3Q6RU5.js} +1 -1
  50. package/dist/{chunk-NZHECYLF.js → chunk-N26GRGIP.js} +2 -2
  51. package/dist/{chunk-SO6RSRUP.js → chunk-NAO63YOG.js} +1 -1
  52. package/dist/{chunk-6EDE7BOE.js → chunk-OPJZSLGK.js} +2 -2
  53. package/dist/{chunk-HJD6KXKH.js → chunk-R53G2IKP.js} +1 -1
  54. package/dist/{chunk-PMXQPO5Q.js → chunk-UEF4AC76.js} +2 -2
  55. package/dist/{chunk-L3S5WH4C.js → chunk-UK4ANQUS.js} +1 -1
  56. package/dist/{chunk-AWLPFFPO.js → chunk-VA5NLFSL.js} +1 -1
  57. package/dist/{chunk-S63QY5XW.js → chunk-XHEUPCCU.js} +5 -3
  58. package/dist/{chunk-XDH5B3PR.js → chunk-XVB5V7D3.js} +2 -2
  59. package/dist/{chunk-WHFWDK2H.js → chunk-ZWTDI2JU.js} +1 -1
  60. package/dist/contracts/entries.d.ts +1 -1
  61. package/dist/contracts/property-interest.d.ts +100 -0
  62. package/dist/contracts/resonance.d.ts +1705 -358
  63. package/dist/contracts/sales-call-prep.d.ts +666 -0
  64. package/dist/contracts/signal-experiments.d.ts +0 -1
  65. package/dist/contracts/wire-uuid.d.ts +5 -0
  66. package/dist/controls-YQ3MGZJG.js +14 -0
  67. package/dist/fleet/index.js +3 -3
  68. package/dist/forms/AddressAutocomplete.d.ts +20 -0
  69. package/dist/forms/FormClient.d.ts +2 -1
  70. package/dist/forms/FormEnhancer.d.ts +2 -1
  71. package/dist/forms/FormField.d.ts +2 -0
  72. package/dist/forms/FormSpotlight.d.ts +1 -1
  73. package/dist/forms/FormStage.d.ts +1 -1
  74. package/dist/forms/ManagedForm.d.ts +1 -1
  75. package/dist/forms/ServerForm.d.ts +2 -1
  76. package/dist/forms/controls.d.ts +5 -0
  77. package/dist/forms/field-controls.d.ts +4 -2
  78. package/dist/forms/index.d.ts +1 -1
  79. package/dist/forms/index.js +10 -10
  80. package/dist/forms/server.js +4 -4
  81. package/dist/forms/static.js +2 -2
  82. package/dist/forms/types.d.ts +9 -0
  83. package/dist/images/index.js +2 -2
  84. package/dist/index.js +1 -1
  85. package/dist/landing/server.js +7 -7
  86. package/dist/layout/client.js +6 -6
  87. package/dist/layout/index.js +7 -7
  88. package/dist/llms/index.js +4 -4
  89. package/dist/maps/index.js +8 -78
  90. package/dist/maps/places-library.d.ts +34 -0
  91. package/dist/mcp/sonor.js +7 -7
  92. package/dist/places-library-RU2YNKFK.js +54 -0
  93. package/dist/resonance/ConsentPreferences.d.ts +8 -0
  94. package/dist/resonance/consent-adapter.d.ts +3 -0
  95. package/dist/resonance/first-party-consent.d.ts +22 -0
  96. package/dist/resonance/index.d.ts +1 -0
  97. package/dist/resonance/index.js +272 -2
  98. package/dist/revalidate/index.js +2 -2
  99. package/dist/runtime/index.js +1 -1
  100. package/dist/{runtime-core-WT7KKLWQ.js → runtime-core-WSKES5UP.js} +523 -7
  101. package/dist/seo/client.js +2 -2
  102. package/dist/seo/index.js +2 -2
  103. package/dist/seo/llms.js +4 -4
  104. package/dist/seo/register-sitemap-cli.js +1 -1
  105. package/dist/seo/sitemap.js +2 -2
  106. package/dist/server/index.js +2 -2
  107. package/dist/shared/version.d.ts +1 -1
  108. package/dist/signal/index.js +2 -2
  109. package/dist/sitemap/index.js +2 -2
  110. package/dist/{sonor-fetch-runtime-3PFGUXMF.js → sonor-fetch-runtime-JDVDCTKI.js} +2 -2
  111. package/dist/sync/index.js +3 -3
  112. package/dist/website/images.js +2 -2
  113. package/dist/website/index.js +4 -4
  114. package/dist/website/landing/server.js +7 -7
  115. package/dist/website/popups.js +4 -4
  116. package/dist/{writeLLMsTxt-JUACXQKP.js → writeLLMsTxt-SYLPYWUX.js} +1 -1
  117. package/package.json +1 -1
  118. package/src/forms/README.md +47 -0
  119. package/src/resonance/README.md +16 -0
  120. /package/dist/{chunk-QLJ2SC3T.js → chunk-ES52W5EE.js} +0 -0
@@ -1,9 +1,9 @@
1
1
  'use client';
2
2
  import { sanitizeFleetVersion, buildFleetHeartbeatPayload } from './chunk-ZTZQPYP6.js';
3
3
  import { useDeferredActivation } from './chunk-YC7ELZS3.js';
4
- import { SITE_KIT_VERSION } from './chunk-DXE6SXWW.js';
4
+ import { SITE_KIT_VERSION } from './chunk-CNQMSQYQ.js';
5
5
  import { resolveAnalyticsTarget } from './chunk-7643MCD2.js';
6
- import { sonorFetch } from './chunk-VXCUXHZO.js';
6
+ import { sonorFetch } from './chunk-7OTHRX45.js';
7
7
  import { useRef, useEffect } from 'react';
8
8
 
9
9
  // src/fleet/heartbeat.ts
@@ -7,7 +7,7 @@ import dynamic from 'next/dynamic';
7
7
  import { jsx } from 'react/jsx-runtime';
8
8
 
9
9
  var LazyChatWidget = dynamic(
10
- () => import('./ChatWidget-EAATOFCT.js').then((m) => ({ default: m.ChatWidget })),
10
+ () => import('./ChatWidget-4ILVGTK6.js').then((m) => ({ default: m.ChatWidget })),
11
11
  { ssr: false }
12
12
  );
13
13
  function SiteChat(props) {
@@ -4,5 +4,5 @@
4
4
  * tsup config, its package.json check and the boundary test, so a new
5
5
  * contract is added in one place.
6
6
  */
7
- export declare const CONTRACT_ENTRIES: readonly ['forms', 'llms', 'slots', 'slot-content', 'site-cache', 'site-edit', 'website', 'color', 'fleet', 'sites', 'seo-pages', 'seo-meta', 'portfolio', 'voice', 'proposal-sitemap', 'error-page', 'schema-placeholders', 'sentences', 'knowledge', 'editorial-media', 'business-claims', 'outreach', 'page-titles', 'broadcast-layouts', 'publication-branding', 'public-url-host', 'inbox', 'funnels', 'crm-disposition', 'decision-roles', 'resonance', 'resonance-constants', 'signal-experiments'];
7
+ export declare const CONTRACT_ENTRIES: readonly ['forms', 'llms', 'slots', 'slot-content', 'site-cache', 'site-edit', 'website', 'color', 'fleet', 'sites', 'seo-pages', 'seo-meta', 'portfolio', 'voice', 'proposal-sitemap', 'error-page', 'schema-placeholders', 'sentences', 'knowledge', 'editorial-media', 'business-claims', 'outreach', 'page-titles', 'broadcast-layouts', 'publication-branding', 'public-url-host', 'inbox', 'funnels', 'crm-disposition', 'decision-roles', 'resonance', 'resonance-constants', 'signal-experiments', 'sales-call-prep', 'property-interest'];
8
8
  export type ContractEntry = (typeof CONTRACT_ENTRIES)[number];
@@ -0,0 +1,100 @@
1
+ import { type Value } from "./wire-schema.js";
2
+ export declare const PROPERTY_INTEREST_CATEGORY: 'real_estate_interest';
3
+ export declare const PROPERTY_INTEREST_EVENT_NAMES: readonly ['property_exposed', 'gallery_open', 'detail_open', 'property_selected'];
4
+ export declare const PROPERTY_INTEREST_DEFAULT_WINDOW_DAYS = 28;
5
+ export declare const PROPERTY_INTEREST_MAX_WINDOW_DAYS = 90;
6
+ export declare const PROPERTY_INTEREST_MAX_LISTINGS = 50;
7
+ export declare class PropertyInterestValidationError extends Error {
8
+ readonly path: string;
9
+ constructor(path: string, reason: string);
10
+ }
11
+ declare const eventProperties: import("./wire-schema.js").Field<{
12
+ schema_version: 1;
13
+ listing_id: string;
14
+ surface: "collection" | "detail";
15
+ } & {
16
+ ordinal?: number | undefined;
17
+ }>;
18
+ declare const event: import("./wire-schema.js").Field<{
19
+ category: "real_estate_interest";
20
+ name: "detail_open" | "gallery_open" | "property_exposed" | "property_selected";
21
+ properties: {
22
+ schema_version: 1;
23
+ listing_id: string;
24
+ surface: "collection" | "detail";
25
+ } & {
26
+ ordinal?: number | undefined;
27
+ };
28
+ } & {}>;
29
+ export type PropertyInterestEventProperties = Value<typeof eventProperties>;
30
+ export type PropertyInterestEvent = Value<typeof event>;
31
+ export declare const parsePropertyInterestEventProperties: (value: unknown) => PropertyInterestEventProperties;
32
+ export declare const parsePropertyInterestEvent: (value: unknown) => PropertyInterestEvent;
33
+ export declare const PROPERTY_INTEREST_EVENT_PROPERTIES_JSON_SCHEMA: import("./wire-schema.js").JsonSchema;
34
+ export declare const PROPERTY_INTEREST_EVENT_JSON_SCHEMA: import("./wire-schema.js").JsonSchema;
35
+ declare const reportRequest: import("./wire-schema.js").Field<{
36
+ site: string;
37
+ } & {
38
+ from?: string | undefined;
39
+ to?: string | undefined;
40
+ listingIds?: string[] | undefined;
41
+ cursor?: string | undefined;
42
+ }>;
43
+ export type PropertyInterestReportRequest = Value<typeof reportRequest>;
44
+ export declare const parsePropertyInterestReportRequest: (value: unknown) => PropertyInterestReportRequest;
45
+ export declare const PROPERTY_INTEREST_REPORT_REQUEST_JSON_SCHEMA: import("./wire-schema.js").JsonSchema;
46
+ /** Basis points rounded to nearest, with halves rounded up. A missing denominator stays null. */
47
+ export declare function propertyInterestRateBps(eligibleSessions: number, exposureSessions: number): number | null;
48
+ declare const report: import("./wire-schema.js").Field<{
49
+ schemaVersion: 1;
50
+ scope: "site";
51
+ site: string;
52
+ from: string;
53
+ to: string;
54
+ observedAt: string;
55
+ properties: ({
56
+ listingId: string;
57
+ displayAddress: string | null;
58
+ slug: string | null;
59
+ status: "active" | "expired" | "pending" | "sold" | "withdrawn" | null;
60
+ surfaces: ({
61
+ surface: "collection" | "detail";
62
+ exposureSessions: number;
63
+ missingSessionEvents: number;
64
+ actions: {
65
+ gallery_open: {
66
+ eligibleSessions: number;
67
+ unmatchedSessions: number;
68
+ rateBps: number | null;
69
+ } & {};
70
+ detail_open: {
71
+ eligibleSessions: number;
72
+ unmatchedSessions: number;
73
+ rateBps: number | null;
74
+ } & {};
75
+ property_selected: {
76
+ eligibleSessions: number;
77
+ unmatchedSessions: number;
78
+ rateBps: number | null;
79
+ } & {};
80
+ } & {};
81
+ } & {})[];
82
+ acceptedTourInquiries: ({
83
+ state: "available";
84
+ count: number;
85
+ source: "native_listing_accepted_tour_form";
86
+ } & {}) | ({
87
+ state: "unavailable";
88
+ count: null;
89
+ source: null;
90
+ } & {});
91
+ } & {})[];
92
+ hasMore: boolean;
93
+ nextCursor: string | null;
94
+ } & {}>;
95
+ export type PropertyInterestReport = Value<typeof report>;
96
+ export declare const parsePropertyInterestReport: (value: unknown) => PropertyInterestReport;
97
+ export declare const PROPERTY_INTEREST_REPORT_JSON_SCHEMA: import("./wire-schema.js").JsonSchema;
98
+ /** Binds a closed response to its query. The native owner still authenticates site and listing scope. */
99
+ export declare function parsePropertyInterestReportForRequest(value: unknown, request: unknown): PropertyInterestReport;
100
+ export {};