@sonordev/site-kit 8.0.1 → 8.1.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 (88) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/agent-manifest.json +1 -1
  3. package/dist/{AnalyticsProvider-EGCZ2MVM.js → AnalyticsProvider-UWTCE5UO.js} +4 -4
  4. package/dist/{ArticleViewTracker-ATNVMT45.js → ArticleViewTracker-MYD6SGNH.js} +3 -3
  5. package/dist/{BlocksPopup-F636XNO4.js → BlocksPopup-OY5G3EFH.js} +4 -4
  6. package/dist/{ChatWidget-EQTLKPJX.js → ChatWidget-BTR5VERC.js} +5 -5
  7. package/dist/{FileField-BUD2YGN5.js → FileField-DEHVYXAO.js} +3 -3
  8. package/dist/{FormSpotlight-NGH56TGC.js → FormSpotlight-VGC4CZL4.js} +1 -1
  9. package/dist/{FormStage-XZRC54SY.js → FormStage-CJUSCSAL.js} +1 -1
  10. package/dist/{ManagedForm-CQDQ4CUN.js → ManagedForm-JCI2KPMO.js} +6 -6
  11. package/dist/{ManagedNewsletterForm-KCN3BTKA.js → ManagedNewsletterForm-DTE4KKXV.js} +4 -4
  12. package/dist/{SignalCore-RDQPM2L2.js → SignalCore-LGCBQDEH.js} +3 -3
  13. package/dist/{SiteChat-QBDOQ5ZZ.js → SiteChat-6SF7PVUT.js} +1 -1
  14. package/dist/{SiteDesignReporter-426TUCUF.js → SiteDesignReporter-VISQZ5NQ.js} +5 -5
  15. package/dist/{SitePopups-KLUD6XIE.js → SitePopups-T6YPHAVY.js} +4 -4
  16. package/dist/{SitemapSync-QOIMV5GO.js → SitemapSync-VKMVRPZL.js} +4 -4
  17. package/dist/_client/booking-widget.js +5 -5
  18. package/dist/affiliates/index.js +3 -3
  19. package/dist/analytics/index.js +4 -4
  20. package/dist/{article-styles-6CM5FUMV.js → article-styles-GGZOQG5X.js} +2 -0
  21. package/dist/articles/article-photos.d.ts +9 -0
  22. package/dist/articles/index.d.ts +1 -0
  23. package/dist/articles/index.js +1 -1
  24. package/dist/articles/server-core.d.ts +2 -0
  25. package/dist/articles/server-ui.d.ts +2 -0
  26. package/dist/articles/server-ui.js +7 -5
  27. package/dist/articles/server.d.ts +2 -0
  28. package/dist/articles/server.js +2 -1
  29. package/dist/articles/types.d.ts +16 -0
  30. package/dist/chat/index.js +6 -6
  31. package/dist/{chunk-OE3NXEOF.js → chunk-255NCCPB.js} +1 -1
  32. package/dist/{chunk-YGXWG54S.js → chunk-2JEUDTL6.js} +1 -1
  33. package/dist/chunk-2UO4HPGE.js +109 -0
  34. package/dist/{chunk-H3SDOSVU.js → chunk-47VB5INH.js} +1 -1
  35. package/dist/{chunk-XPTJRVL2.js → chunk-4Z3DI2EL.js} +3 -2
  36. package/dist/{chunk-Z6PVFZRI.js → chunk-55GHBRCN.js} +1 -1
  37. package/dist/{chunk-7BSC6HF3.js → chunk-5L467Z5Q.js} +3 -3
  38. package/dist/{chunk-6KUCA5HG.js → chunk-6VHDCJIZ.js} +1 -1
  39. package/dist/{chunk-AGJODJ4V.js → chunk-A3EU6HB5.js} +1 -1
  40. package/dist/{chunk-6BXUSAOJ.js → chunk-ADI6IYFH.js} +1 -1
  41. package/dist/{chunk-M62U7TJF.js → chunk-AIDIEVPZ.js} +1 -1
  42. package/dist/{chunk-B7QRRLTU.js → chunk-CSTC6HZO.js} +2 -2
  43. package/dist/{chunk-EE6IG5GK.js → chunk-DOMBP3FW.js} +8 -8
  44. package/dist/{chunk-J6N5DCGW.js → chunk-DSNCU2E3.js} +2 -2
  45. package/dist/{chunk-Z4MK4VOG.js → chunk-DZV3KPVF.js} +1 -1
  46. package/dist/{chunk-IY6G67EF.js → chunk-F2VYN3QL.js} +1 -1
  47. package/dist/{chunk-CAF53GKN.js → chunk-G2HCCWZQ.js} +1 -1
  48. package/dist/{chunk-FIGIJK5F.js → chunk-IAYGTQJD.js} +1 -1
  49. package/dist/{chunk-GMXY2OOY.js → chunk-JT52KYHQ.js} +1 -1
  50. package/dist/{chunk-NKFRW2VB.js → chunk-LLW5HKEE.js} +2 -2
  51. package/dist/{chunk-S5G3A7OZ.js → chunk-NWVB75ER.js} +1 -1
  52. package/dist/{chunk-VQQV7FOX.js → chunk-O4DETQJI.js} +1 -1
  53. package/dist/{chunk-5GB2HHVJ.js → chunk-RSBMQFZW.js} +2 -2
  54. package/dist/{chunk-3222QBUS.js → chunk-S6IGQYHW.js} +1 -1
  55. package/dist/{chunk-OCKGB734.js → chunk-TAO6BVA2.js} +1 -1
  56. package/dist/{chunk-DWNS6ZJM.js → chunk-V56RZH7J.js} +1 -1
  57. package/dist/{chunk-55JLUMAC.js → chunk-WPOFTCKL.js} +2 -2
  58. package/dist/{chunk-JCFQGEG7.js → chunk-XUCU3LX4.js} +1 -1
  59. package/dist/client/index.js +3 -3
  60. package/dist/fleet/index.js +4 -4
  61. package/dist/forms/index.js +7 -7
  62. package/dist/forms/server.js +2 -2
  63. package/dist/images/index.js +4 -4
  64. package/dist/index.js +1 -1
  65. package/dist/layout/client.js +7 -7
  66. package/dist/layout/index.js +8 -8
  67. package/dist/llms/index.js +4 -4
  68. package/dist/maps/index.js +3 -3
  69. package/dist/mcp/sonor.js +11 -9
  70. package/dist/revalidate/index.js +2 -2
  71. package/dist/runtime/index.js +3 -3
  72. package/dist/seo/client.js +4 -4
  73. package/dist/seo/index.js +4 -4
  74. package/dist/seo/llms.js +4 -4
  75. package/dist/seo/register-sitemap-cli.js +1 -1
  76. package/dist/seo/sitemap.js +2 -2
  77. package/dist/server/index.js +2 -2
  78. package/dist/shared/version.d.ts +1 -1
  79. package/dist/signal/index.js +2 -2
  80. package/dist/sitemap/index.js +2 -2
  81. package/dist/sync/index.js +5 -5
  82. package/dist/website/images.js +4 -4
  83. package/dist/website/index.js +5 -5
  84. package/dist/website/popups.js +4 -4
  85. package/dist/{writeLLMsTxt-UZGN6IBU.js → writeLLMsTxt-OS2WBSLM.js} +1 -1
  86. package/package.json +1 -1
  87. package/src/articles/README.md +33 -0
  88. /package/dist/{chunk-TZ5RTANX.js → chunk-GC2QWXJ3.js} +0 -0
@@ -1,3 +1,4 @@
1
+ import { insertArticlePhotos } from './chunk-2UO4HPGE.js';
1
2
  import { generateArticleAuthorNode, resolveArticleArtwork, withArticleAuthorIdentity } from './chunk-QXMIKDOL.js';
2
3
  import { resolveArticleUrl, createPublicationRoutes, resolvePublicationUrl, articleCategorySlug } from './chunk-WMVK77ND.js';
3
4
  import { withoutSchemaPlaceholders } from './chunk-VWWITFWM.js';
@@ -599,7 +600,7 @@ async function generateRssFeed(options) {
599
600
  const postUrl = resolveArticleUrl(post, { ...options, siteUrl });
600
601
  const pubDate = post.published_at ? new Date(post.published_at).toUTCString() : now;
601
602
  const author = typeof post.author === "string" ? post.author : post.author?.name || "Unknown";
602
- const fullContent = post.content_html || post.content || "";
603
+ const fullContent = insertArticlePhotos(post.content_html || post.content || "", post.editorial_photos);
603
604
  const description2 = sanitizeExcerpt(post.excerpt, 300) || stripHtml(fullContent).substring(0, 300) + "...";
604
605
  rss += ` <item>
605
606
  <title>${escapeXml(post.title)}</title>
@@ -662,7 +663,7 @@ async function generateAtomFeed(options) {
662
663
  const updated = post.updated_at || post.published_at || now;
663
664
  const published = post.published_at || now;
664
665
  const author = typeof post.author === "string" ? post.author : post.author?.name || "Unknown";
665
- const fullContent = post.content_html || post.content || "";
666
+ const fullContent = insertArticlePhotos(post.content_html || post.content || "", post.editorial_photos);
666
667
  atom += ` <entry>
667
668
  <title>${escapeXml(post.title)}</title>
668
669
  <link href="${escapeXml(postUrl)}"/>
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { detectTimezone, releaseSlotHold, fetchBookingTypeDetails, fetchBookingTypes, fetchAvailability, createSlotHold, createBooking, formatDuration, formatDate, formatTime, prepareMeeting } from './chunk-YGXWG54S.js';
2
+ import { detectTimezone, releaseSlotHold, fetchBookingTypeDetails, fetchBookingTypes, fetchAvailability, createSlotHold, createBooking, formatDuration, formatDate, formatTime, prepareMeeting } from './chunk-2JEUDTL6.js';
3
3
  import { readPublishedApiConfig, DEFAULT_SONOR_API_URL } from './chunk-3G7YABRA.js';
4
4
  import { useState, useRef, useMemo, useCallback, useEffect, useId } from 'react';
5
5
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- import { countStageViews, countStageQuestions, useFieldControls } from './chunk-JCFQGEG7.js';
3
- import { useFormLoadedAt, useFormTracking, submitForm, useRecaptchaWarmup, useForm } from './chunk-3222QBUS.js';
2
+ import { countStageViews, countStageQuestions, useFieldControls } from './chunk-XUCU3LX4.js';
3
+ import { useFormLoadedAt, useFormTracking, submitForm, useRecaptchaWarmup, useForm } from './chunk-S6IGQYHW.js';
4
4
  import { readAgentSubmit, formToolAttributes } from './chunk-Q6E4OPGG.js';
5
5
  import { isFieldVisible, validateField, isFieldComplete, isDisplayOnly, unseenControlValues } from './chunk-C2FZBUSS.js';
6
6
  import { HoneypotField } from './chunk-DXO6SBMD.js';
@@ -63,7 +63,7 @@ function FormClient({
63
63
  return;
64
64
  }
65
65
  let cancelled = false;
66
- const load = resolvedExperience === "stage" ? import('./FormStage-XZRC54SY.js').then((m) => m.FormStage) : import('./FormSpotlight-NGH56TGC.js').then((m) => m.FormSpotlight);
66
+ const load = resolvedExperience === "stage" ? import('./FormStage-CJUSCSAL.js').then((m) => m.FormStage) : import('./FormSpotlight-VGC4CZL4.js').then((m) => m.FormSpotlight);
67
67
  load.then((Component) => {
68
68
  if (!cancelled) setExperience(() => Component);
69
69
  }).catch((err) => {
@@ -1,5 +1,5 @@
1
1
  import { resolveSiteHost } from './chunk-FESKKJAS.js';
2
- import { configureSiteCredential, currentCredential } from './chunk-IY6G67EF.js';
2
+ import { configureSiteCredential, currentCredential } from './chunk-F2VYN3QL.js';
3
3
 
4
4
  // src/shared/publishCredential.ts
5
5
  function publishSiteCredential({
@@ -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-EQTLKPJX.js').then((m) => ({ default: m.ChatWidget })),
10
+ () => import('./ChatWidget-BTR5VERC.js').then((m) => ({ default: m.ChatWidget })),
11
11
  { ssr: false }
12
12
  );
13
13
  function SiteChat(props) {
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { sonorFetch } from './chunk-55JLUMAC.js';
2
+ import { sonorFetch } from './chunk-WPOFTCKL.js';
3
3
  import { useState, useCallback, useEffect } from 'react';
4
4
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
5
5
 
@@ -1,4 +1,4 @@
1
- import { generateLLMsTxt, generateLLMsFullTxt, appendAgentAccessSection } from './chunk-TZ5RTANX.js';
1
+ import { generateLLMsTxt, generateLLMsFullTxt, appendAgentAccessSection } from './chunk-GC2QWXJ3.js';
2
2
  import { createHash } from 'crypto';
3
3
  import { existsSync, readFileSync } from 'fs';
4
4
  import { join } from 'path';
@@ -2,10 +2,10 @@
2
2
  import { VISUAL_VIEWPORT_GAP_PROPERTY } from './chunk-6T6CQVNL.js';
3
3
  import { GlassStyles } from './chunk-JE4A5S4F.js';
4
4
  import { DEFAULT_WIDGET_Z_INDEX } from './chunk-27FISYK4.js';
5
- import { useForm } from './chunk-3222QBUS.js';
5
+ import { useForm } from './chunk-S6IGQYHW.js';
6
6
  import { parseColor, relativeLuminance, DARK_LUMINANCE, contrastRatio } from './chunk-S22FSH7C.js';
7
7
  import { readPublishedApiConfig } from './chunk-3G7YABRA.js';
8
- import { sonorFetch } from './chunk-55JLUMAC.js';
8
+ import { sonorFetch } from './chunk-WPOFTCKL.js';
9
9
  import { useState, useEffect, useRef, useLayoutEffect, useCallback, Fragment as Fragment$1 } from 'react';
10
10
  import { lexer } from 'marked';
11
11
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -1,12 +1,12 @@
1
1
  'use client';
2
2
  import { SITE_EDIT_PARAM } from './chunk-6G43IRWR.js';
3
- import { publishSiteCredential } from './chunk-6KUCA5HG.js';
4
- import { FleetHeartbeat } from './chunk-5GB2HHVJ.js';
3
+ import { publishSiteCredential } from './chunk-6VHDCJIZ.js';
4
+ import { FleetHeartbeat } from './chunk-RSBMQFZW.js';
5
5
  import { useDeferredActivation } from './chunk-YC7ELZS3.js';
6
6
  import { resolveSiteHost } from './chunk-FESKKJAS.js';
7
7
  import { getOrCreateVisitorId, getOrCreateSessionId } from './chunk-ZKADJNR2.js';
8
8
  import { announceFrameReady, isCrossOriginFrame } from './chunk-CAH4Y4PY.js';
9
- import { SignalBridge } from './chunk-Z4MK4VOG.js';
9
+ import { SignalBridge } from './chunk-DZV3KPVF.js';
10
10
  import React, { useState, useRef, useCallback, useEffect, Suspense } from 'react';
11
11
  import dynamic from 'next/dynamic';
12
12
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -33,23 +33,23 @@ function startEditBridge() {
33
33
  };
34
34
  }
35
35
  var LazyAnalyticsProvider = dynamic(
36
- () => import('./AnalyticsProvider-EGCZ2MVM.js').then((m) => ({ default: m.AnalyticsProvider })),
36
+ () => import('./AnalyticsProvider-UWTCE5UO.js').then((m) => ({ default: m.AnalyticsProvider })),
37
37
  { ssr: false }
38
38
  );
39
39
  var LazySiteChat = dynamic(
40
- () => import('./SiteChat-QBDOQ5ZZ.js').then((m) => ({ default: m.SiteChat })),
40
+ () => import('./SiteChat-6SF7PVUT.js').then((m) => ({ default: m.SiteChat })),
41
41
  { ssr: false }
42
42
  );
43
43
  var LazySitePopups = dynamic(
44
- () => import('./SitePopups-KLUD6XIE.js').then((m) => ({ default: m.SitePopups })),
44
+ () => import('./SitePopups-T6YPHAVY.js').then((m) => ({ default: m.SitePopups })),
45
45
  { ssr: false }
46
46
  );
47
47
  var LazySiteDesignReporter = dynamic(
48
- () => import('./SiteDesignReporter-426TUCUF.js').then((m) => ({ default: m.SiteDesignReporter })),
48
+ () => import('./SiteDesignReporter-VISQZ5NQ.js').then((m) => ({ default: m.SiteDesignReporter })),
49
49
  { ssr: false }
50
50
  );
51
51
  var LazySitemapSync = dynamic(
52
- () => import('./SitemapSync-QOIMV5GO.js').then((m) => ({ default: m.SitemapSync })),
52
+ () => import('./SitemapSync-VKMVRPZL.js').then((m) => ({ default: m.SitemapSync })),
53
53
  { ssr: false }
54
54
  );
55
55
  function SiteKitClientProviders({
@@ -1,8 +1,8 @@
1
1
  import { toHexColor, normalizeDesignTokens, designTokensHash } from './chunk-IHG36STL.js';
2
2
  import { contrastRatio, parseColor, relativeLuminance } from './chunk-S22FSH7C.js';
3
3
  import { resolveAnalyticsTarget } from './chunk-CAH4Y4PY.js';
4
- import { sonorFetch } from './chunk-55JLUMAC.js';
5
- import { SITE_KIT_VERSION } from './chunk-S5G3A7OZ.js';
4
+ import { sonorFetch } from './chunk-WPOFTCKL.js';
5
+ import { SITE_KIT_VERSION } from './chunk-NWVB75ER.js';
6
6
 
7
7
  // src/website/design.ts
8
8
  var SITE_DESIGN_PATH = "/api/public/site/design";
@@ -54,7 +54,7 @@ function useSignal() {
54
54
  return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
55
55
  }
56
56
  var LazySignalCore = dynamic(
57
- () => import('./SignalCore-RDQPM2L2.js').then((m) => ({ default: m.SignalCore })),
57
+ () => import('./SignalCore-LGCBQDEH.js').then((m) => ({ default: m.SignalCore })),
58
58
  { ssr: false }
59
59
  );
60
60
  function SignalBridge({
@@ -1,4 +1,4 @@
1
- import { SITE_KIT_VERSION } from './chunk-S5G3A7OZ.js';
1
+ import { SITE_KIT_VERSION } from './chunk-NWVB75ER.js';
2
2
 
3
3
  // src/shared/siteToken.ts
4
4
  var SITE_TOKEN_PREFIX = "st1.";
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { getSiteDesignTokens, tokensForReport, shouldReportDesign, sendSiteDesign } from './chunk-J6N5DCGW.js';
2
+ import { getSiteDesignTokens, tokensForReport, shouldReportDesign, sendSiteDesign } from './chunk-DSNCU2E3.js';
3
3
  import { designTokensHash } from './chunk-IHG36STL.js';
4
4
  import { useDeferredActivation } from './chunk-YC7ELZS3.js';
5
5
  import { resolveAnalyticsTarget } from './chunk-CAH4Y4PY.js';
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { locToPath, isMalformedSitemapPath, inferPageType } from './chunk-YVKRYQRG.js';
3
3
  import { resolveAnalyticsTarget } from './chunk-CAH4Y4PY.js';
4
- import { sonorFetch } from './chunk-55JLUMAC.js';
4
+ import { sonorFetch } from './chunk-WPOFTCKL.js';
5
5
  import { useRef, useEffect } from 'react';
6
6
 
7
7
  var SYNC_STAMP_KEY = "_sk_sitemap_synced_at";
@@ -6,7 +6,7 @@ import { DEFAULT_HONEYPOT_FIELD } from './chunk-NJCTQH2P.js';
6
6
  import React, { useRef, useEffect, useState, useMemo, useCallback } from 'react';
7
7
  import { jsx, jsxs } from 'react/jsx-runtime';
8
8
 
9
- var loadInteractiveForm = () => import('./ManagedForm-CQDQ4CUN.js').then((m) => m.ManagedForm);
9
+ var loadInteractiveForm = () => import('./ManagedForm-JCI2KPMO.js').then((m) => m.ManagedForm);
10
10
  var REPLAY_WAIT_MS = 8e3;
11
11
  function FormEnhancer({
12
12
  formId,
@@ -3,7 +3,7 @@ import { DEFAULT_WIDGET_Z_INDEX } from './chunk-27FISYK4.js';
3
3
  import { readAnalyticsIdentity } from './chunk-5ROTTMBL.js';
4
4
  import { getOrCreateVisitorId } from './chunk-ZKADJNR2.js';
5
5
  import { resolveAnalyticsTarget } from './chunk-CAH4Y4PY.js';
6
- import { sonorFetch } from './chunk-55JLUMAC.js';
6
+ import { sonorFetch } from './chunk-WPOFTCKL.js';
7
7
  import { useState, useEffect, useCallback, useRef } from 'react';
8
8
  import ReactDOM from 'react-dom';
9
9
  import dynamic from 'next/dynamic';
@@ -161,7 +161,7 @@ function activatePopup(active, id, popups) {
161
161
  return [...active, id];
162
162
  }
163
163
  var LazyBlocksPopup = dynamic(
164
- () => import('./BlocksPopup-F636XNO4.js').then((m) => ({ default: m.BlocksPopup })),
164
+ () => import('./BlocksPopup-OY5G3EFH.js').then((m) => ({ default: m.BlocksPopup })),
165
165
  { ssr: false }
166
166
  );
167
167
  function SitePopups(props) {
@@ -1,4 +1,4 @@
1
1
  // src/shared/version.ts
2
- var SITE_KIT_VERSION = "8.0.1";
2
+ var SITE_KIT_VERSION = "8.1.0";
3
3
 
4
4
  export { SITE_KIT_VERSION };
@@ -1,4 +1,4 @@
1
- import { FormEnhancer } from './chunk-GMXY2OOY.js';
1
+ import { FormEnhancer } from './chunk-JT52KYHQ.js';
2
2
  import { StaticForm } from './chunk-LNSF6BJC.js';
3
3
  import { serverApiFetch } from './chunk-C7TLGL3R.js';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -2,8 +2,8 @@
2
2
  import { sanitizeFleetVersion, buildFleetHeartbeatPayload } from './chunk-ZTZQPYP6.js';
3
3
  import { useDeferredActivation } from './chunk-YC7ELZS3.js';
4
4
  import { resolveAnalyticsTarget } from './chunk-CAH4Y4PY.js';
5
- import { sonorFetch } from './chunk-55JLUMAC.js';
6
- import { SITE_KIT_VERSION } from './chunk-S5G3A7OZ.js';
5
+ import { sonorFetch } from './chunk-WPOFTCKL.js';
6
+ import { SITE_KIT_VERSION } from './chunk-NWVB75ER.js';
7
7
  import { useRef, useEffect } from 'react';
8
8
 
9
9
  // src/fleet/heartbeat.ts
@@ -7,7 +7,7 @@ import { DEFAULT_HONEYPOT_FIELD } from './chunk-NJCTQH2P.js';
7
7
  import { onPageLeave } from './chunk-L2V5PUFN.js';
8
8
  import { uuid } from './chunk-GJWI74ZZ.js';
9
9
  import { readPublishedApiConfig, getClientApiConfig } from './chunk-3G7YABRA.js';
10
- import { sonorFetch, sonorBeacon } from './chunk-55JLUMAC.js';
10
+ import { sonorFetch, sonorBeacon } from './chunk-WPOFTCKL.js';
11
11
  import { useRef, useCallback, useEffect, useState, useMemo } from 'react';
12
12
 
13
13
  // src/forms/field-interactions.ts
@@ -3,7 +3,7 @@ import { registerAnalyticsDispatcher } from './chunk-LCDVPAMR.js';
3
3
  import { getOrCreateVisitorId, getOrCreateSessionId } from './chunk-ZKADJNR2.js';
4
4
  import { onPageLeave } from './chunk-L2V5PUFN.js';
5
5
  import { resolveAnalyticsTarget } from './chunk-CAH4Y4PY.js';
6
- import { sonorFetch, sonorBeacon } from './chunk-55JLUMAC.js';
6
+ import { sonorFetch, sonorBeacon } from './chunk-WPOFTCKL.js';
7
7
  import { createContext, useRef, useEffect, useState, useMemo, useCallback, useContext } from 'react';
8
8
  import { usePathname } from 'next/navigation';
9
9
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -1,5 +1,5 @@
1
1
  import { secretsMatch, readCappedBody } from './chunk-XTRZGXB2.js';
2
- import { SITE_KIT_VERSION } from './chunk-S5G3A7OZ.js';
2
+ import { SITE_KIT_VERSION } from './chunk-NWVB75ER.js';
3
3
 
4
4
  // src/llms/revalidate.ts
5
5
  function createLlmsRevalidateHandler(secret, options) {
@@ -1,5 +1,5 @@
1
- import { isTokenMode, getFreshCredential, isSiteToken, refreshSiteToken, currentCredential, credentialBreakerId } from './chunk-IY6G67EF.js';
2
- import { SITE_KIT_VERSION } from './chunk-S5G3A7OZ.js';
1
+ import { isTokenMode, getFreshCredential, isSiteToken, refreshSiteToken, currentCredential, credentialBreakerId } from './chunk-F2VYN3QL.js';
2
+ import { SITE_KIT_VERSION } from './chunk-NWVB75ER.js';
3
3
 
4
4
  // src/shared/fetchWithRetry.ts
5
5
  function backoffDelay(attempt, response) {
@@ -26,7 +26,7 @@ function useFieldControls(fields) {
26
26
  }
27
27
  if (needsFile && !requested.current.file) {
28
28
  requested.current.file = true;
29
- import('./FileField-BUD2YGN5.js').then((m) => {
29
+ import('./FileField-DEHVYXAO.js').then((m) => {
30
30
  if (!cancelled) setControls((prev) => ({ ...prev, File: m.FileField }));
31
31
  }).catch(() => {
32
32
  requested.current.file = false;
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { publishSiteCredential } from '../chunk-6KUCA5HG.js';
2
+ import { publishSiteCredential } from '../chunk-6VHDCJIZ.js';
3
3
  export { VISUAL_VIEWPORT_GAP_PROPERTY, VisualViewportGap, useVisualViewportGap } from '../chunk-6T6CQVNL.js';
4
4
  export { useDeferredActivation } from '../chunk-YC7ELZS3.js';
5
5
  import '../chunk-FESKKJAS.js';
@@ -8,8 +8,8 @@ export { trackConversion, trackEvent } from '../chunk-LCDVPAMR.js';
8
8
  export { getOrCreateSessionId, getOrCreateVisitorId, useSiteKitIdentity } from '../chunk-ZKADJNR2.js';
9
9
  import '../chunk-5TM3WPCI.js';
10
10
  import '../chunk-GJWI74ZZ.js';
11
- import '../chunk-IY6G67EF.js';
12
- import '../chunk-S5G3A7OZ.js';
11
+ import '../chunk-F2VYN3QL.js';
12
+ import '../chunk-NWVB75ER.js';
13
13
  import '../chunk-PKBMQBKP.js';
14
14
 
15
15
  // src/client/SiteKitCredential.tsx
@@ -1,11 +1,11 @@
1
1
  'use client';
2
- export { FLEET_HEARTBEAT_PATH, FleetHeartbeat, detectNextVersion, sendFleetHeartbeat } from '../chunk-5GB2HHVJ.js';
2
+ export { FLEET_HEARTBEAT_PATH, FleetHeartbeat, detectNextVersion, sendFleetHeartbeat } from '../chunk-RSBMQFZW.js';
3
3
  export { FLEET_CONTRACT_VERSION, FLEET_MODULES, FLEET_MODULES_MAX, FLEET_SITE_MAX_LENGTH, FLEET_VERSION_MAX_LENGTH, FLEET_VERSION_PATTERN, buildFleetHeartbeatPayload, isFleetModule, normalizeFleetModules, normalizeFleetSite, sanitizeFleetVersion } from '../chunk-ZTZQPYP6.js';
4
4
  import '../chunk-YC7ELZS3.js';
5
5
  import '../chunk-CAH4Y4PY.js';
6
6
  import '../chunk-EKBEOXTH.js';
7
7
  import '../chunk-3G7YABRA.js';
8
- import '../chunk-55JLUMAC.js';
9
- import '../chunk-IY6G67EF.js';
10
- import '../chunk-S5G3A7OZ.js';
8
+ import '../chunk-WPOFTCKL.js';
9
+ import '../chunk-F2VYN3QL.js';
10
+ import '../chunk-NWVB75ER.js';
11
11
  import '../chunk-PKBMQBKP.js';
@@ -1,12 +1,12 @@
1
1
  'use client';
2
- export { FormClient, ManagedForm } from '../chunk-7BSC6HF3.js';
2
+ export { FormClient, ManagedForm } from '../chunk-5L467Z5Q.js';
3
3
  export { DatePicker } from '../chunk-SOD2F6C2.js';
4
4
  export { FormCelebration } from '../chunk-YGGDU6C3.js';
5
- import '../chunk-JCFQGEG7.js';
6
- export { useForm, useFormTracking } from '../chunk-3222QBUS.js';
5
+ import '../chunk-XUCU3LX4.js';
6
+ export { useForm, useFormTracking } from '../chunk-S6IGQYHW.js';
7
7
  import '../chunk-Q6E4OPGG.js';
8
8
  import '../chunk-5ROTTMBL.js';
9
- export { FormEnhancer } from '../chunk-GMXY2OOY.js';
9
+ export { FormEnhancer } from '../chunk-JT52KYHQ.js';
10
10
  import '../chunk-C2FZBUSS.js';
11
11
  import '../chunk-YC7ELZS3.js';
12
12
  import '../chunk-DXO6SBMD.js';
@@ -18,9 +18,9 @@ import '../chunk-L2V5PUFN.js';
18
18
  import '../chunk-5TM3WPCI.js';
19
19
  import '../chunk-GJWI74ZZ.js';
20
20
  import { readPublishedApiConfig } from '../chunk-3G7YABRA.js';
21
- import { sonorFetch } from '../chunk-55JLUMAC.js';
22
- import '../chunk-IY6G67EF.js';
23
- import '../chunk-S5G3A7OZ.js';
21
+ import { sonorFetch } from '../chunk-WPOFTCKL.js';
22
+ import '../chunk-F2VYN3QL.js';
23
+ import '../chunk-NWVB75ER.js';
24
24
  import '../chunk-PKBMQBKP.js';
25
25
 
26
26
  // src/forms/formsApi.ts
@@ -1,5 +1,5 @@
1
- export { ServerForm, getFormConfig } from '../chunk-VQQV7FOX.js';
2
- import '../chunk-GMXY2OOY.js';
1
+ export { ServerForm, getFormConfig } from '../chunk-O4DETQJI.js';
2
+ import '../chunk-JT52KYHQ.js';
3
3
  import '../chunk-C2FZBUSS.js';
4
4
  import '../chunk-YC7ELZS3.js';
5
5
  export { StaticForm } from '../chunk-LNSF6BJC.js';
@@ -1,6 +1,6 @@
1
- export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from '../chunk-6BXUSAOJ.js';
1
+ export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from '../chunk-ADI6IYFH.js';
2
2
  export { ManagedFavicon, getManagedFaviconUrl } from '../chunk-GW7GSBO7.js';
3
- import '../chunk-55JLUMAC.js';
4
- import '../chunk-IY6G67EF.js';
5
- import '../chunk-S5G3A7OZ.js';
3
+ import '../chunk-WPOFTCKL.js';
4
+ import '../chunk-F2VYN3QL.js';
5
+ import '../chunk-NWVB75ER.js';
6
6
  import '../chunk-PKBMQBKP.js';
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { SITE_KIT_VERSION } from './chunk-S5G3A7OZ.js';
1
+ export { SITE_KIT_VERSION } from './chunk-NWVB75ER.js';
2
2
  import './chunk-PKBMQBKP.js';
@@ -1,8 +1,8 @@
1
1
  'use client';
2
- export { SiteKitClientProviders } from '../chunk-EE6IG5GK.js';
2
+ export { SiteKitClientProviders } from '../chunk-DOMBP3FW.js';
3
3
  import '../chunk-6G43IRWR.js';
4
- import '../chunk-6KUCA5HG.js';
5
- import '../chunk-5GB2HHVJ.js';
4
+ import '../chunk-6VHDCJIZ.js';
5
+ import '../chunk-RSBMQFZW.js';
6
6
  import '../chunk-ZTZQPYP6.js';
7
7
  import '../chunk-YC7ELZS3.js';
8
8
  import '../chunk-FESKKJAS.js';
@@ -13,8 +13,8 @@ import '../chunk-GJWI74ZZ.js';
13
13
  import '../chunk-CAH4Y4PY.js';
14
14
  import '../chunk-EKBEOXTH.js';
15
15
  import '../chunk-3G7YABRA.js';
16
- import '../chunk-55JLUMAC.js';
17
- import '../chunk-IY6G67EF.js';
18
- import '../chunk-S5G3A7OZ.js';
19
- import '../chunk-Z4MK4VOG.js';
16
+ import '../chunk-WPOFTCKL.js';
17
+ import '../chunk-F2VYN3QL.js';
18
+ import '../chunk-NWVB75ER.js';
19
+ import '../chunk-DZV3KPVF.js';
20
20
  import '../chunk-PKBMQBKP.js';
@@ -1,11 +1,11 @@
1
- import { SiteKitClientProviders } from '../chunk-EE6IG5GK.js';
1
+ import { SiteKitClientProviders } from '../chunk-DOMBP3FW.js';
2
2
  import '../chunk-6G43IRWR.js';
3
- import '../chunk-6KUCA5HG.js';
4
- import '../chunk-5GB2HHVJ.js';
3
+ import '../chunk-6VHDCJIZ.js';
4
+ import '../chunk-RSBMQFZW.js';
5
5
  import '../chunk-ZTZQPYP6.js';
6
6
  import { ManagedFavicon } from '../chunk-GW7GSBO7.js';
7
7
  import '../chunk-YC7ELZS3.js';
8
- import { resolveClientCredential } from '../chunk-H3SDOSVU.js';
8
+ import { resolveClientCredential } from '../chunk-47VB5INH.js';
9
9
  import '../chunk-UAYAJPEP.js';
10
10
  import { ManagedScripts } from '../chunk-MVLMXC44.js';
11
11
  import { resolveApiOrigin } from '../chunk-C7TLGL3R.js';
@@ -18,10 +18,10 @@ import '../chunk-GJWI74ZZ.js';
18
18
  import '../chunk-CAH4Y4PY.js';
19
19
  import '../chunk-EKBEOXTH.js';
20
20
  import '../chunk-3G7YABRA.js';
21
- import '../chunk-55JLUMAC.js';
22
- import '../chunk-IY6G67EF.js';
23
- import '../chunk-S5G3A7OZ.js';
24
- import '../chunk-Z4MK4VOG.js';
21
+ import '../chunk-WPOFTCKL.js';
22
+ import '../chunk-F2VYN3QL.js';
23
+ import '../chunk-NWVB75ER.js';
24
+ import '../chunk-DZV3KPVF.js';
25
25
  import '../chunk-PKBMQBKP.js';
26
26
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
27
27
 
@@ -1,10 +1,10 @@
1
- export { createLLMsFullTxtHandler, createLLMsTxtHandler, formatSourcedFactsSection, llmsResponseHeaders } from '../chunk-M62U7TJF.js';
1
+ export { createLLMsFullTxtHandler, createLLMsTxtHandler, formatSourcedFactsSection, llmsResponseHeaders } from '../chunk-AIDIEVPZ.js';
2
2
  export { buildAiDiscoveryHeaders, wantsLlmsDiscoveryLink } from '../chunk-PO2TRJPY.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-DWNS6ZJM.js';
4
+ export { LEGACY_PUBLICATION_PATH, SEO_REVALIDATION_MAX_BODY_BYTES, SEO_REVALIDATION_MAX_ITEMS, createLlmsRevalidateHandler, createSeoRevalidationHandler, parseSeoRevalidationPayload } from '../chunk-V56RZH7J.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-TZ5RTANX.js';
7
+ export { AGENT_ACCESS_HEADING, appendAgentAccessSection, describesMcp, detectMcpServer, formatAgentAccessSection, generateLLMsFullTxt, generateLLMsTxt, writeLLMsTxtToPublic } from '../chunk-GC2QWXJ3.js';
8
8
  export { getBusinessInfo, getFAQItems, getLLMsData, getOptimizedLLMsTxt, getPageSummaries, getServices } from '../chunk-JIH32RH2.js';
9
9
  import '../chunk-L5UOHS6E.js';
10
10
  import '../chunk-WMVK77ND.js';
@@ -16,5 +16,5 @@ import '../chunk-YVKRYQRG.js';
16
16
  import '../chunk-FESKKJAS.js';
17
17
  import '../chunk-A4CC4ZG3.js';
18
18
  import '../chunk-3G7YABRA.js';
19
- import '../chunk-S5G3A7OZ.js';
19
+ import '../chunk-NWVB75ER.js';
20
20
  import '../chunk-PKBMQBKP.js';
@@ -1,9 +1,9 @@
1
1
  'use client';
2
2
  import { monotonicMs } from '../chunk-MH2DSGC6.js';
3
3
  import { getClientApiConfig } from '../chunk-3G7YABRA.js';
4
- import { sonorFetch } from '../chunk-55JLUMAC.js';
5
- import '../chunk-IY6G67EF.js';
6
- import '../chunk-S5G3A7OZ.js';
4
+ import { sonorFetch } from '../chunk-WPOFTCKL.js';
5
+ import '../chunk-F2VYN3QL.js';
6
+ import '../chunk-NWVB75ER.js';
7
7
  import '../chunk-PKBMQBKP.js';
8
8
  import { useState, useCallback, useEffect } from 'react';
9
9
  import { APIProvider, Map as Map$1, AdvancedMarker, Pin, InfoWindow } from '@vis.gl/react-google-maps';
package/dist/mcp/sonor.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { fetchReviews, fetchReviewStats } from '../chunk-NFRJTOTB.js';
2
2
  import { toolErrorResult } from '../chunk-FYAB6CXS.js';
3
- import { fetchBookingTypes, fetchAvailability } from '../chunk-YGXWG54S.js';
3
+ import { fetchBookingTypes, fetchAvailability } from '../chunk-2JEUDTL6.js';
4
4
  import { getLLMsData, getServices, getFAQItems, getPageSummaries } from '../chunk-JIH32RH2.js';
5
- import { getFormConfig } from '../chunk-VQQV7FOX.js';
6
- import '../chunk-GMXY2OOY.js';
5
+ import { getFormConfig } from '../chunk-O4DETQJI.js';
6
+ import '../chunk-JT52KYHQ.js';
7
7
  import '../chunk-C2FZBUSS.js';
8
8
  import '../chunk-YC7ELZS3.js';
9
9
  import '../chunk-LNSF6BJC.js';
@@ -12,7 +12,8 @@ import '../chunk-TYAVHRWH.js';
12
12
  import '../chunk-5SQK3D53.js';
13
13
  import '../chunk-HW7B43E5.js';
14
14
  import '../chunk-NJCTQH2P.js';
15
- import { getAllArticles, getArticle } from '../chunk-XPTJRVL2.js';
15
+ import { getAllArticles, getArticle } from '../chunk-4Z3DI2EL.js';
16
+ import '../chunk-2UO4HPGE.js';
16
17
  import '../chunk-Y3INC4QJ.js';
17
18
  import '../chunk-QXMIKDOL.js';
18
19
  import '../chunk-WMVK77ND.js';
@@ -25,9 +26,9 @@ import '../chunk-MH2DSGC6.js';
25
26
  import { resolveSiteHost } from '../chunk-FESKKJAS.js';
26
27
  import '../chunk-A4CC4ZG3.js';
27
28
  import '../chunk-3G7YABRA.js';
28
- import '../chunk-55JLUMAC.js';
29
- import '../chunk-IY6G67EF.js';
30
- import { SITE_KIT_VERSION } from '../chunk-S5G3A7OZ.js';
29
+ import '../chunk-WPOFTCKL.js';
30
+ import '../chunk-F2VYN3QL.js';
31
+ import { SITE_KIT_VERSION } from '../chunk-NWVB75ER.js';
31
32
  import '../chunk-PKBMQBKP.js';
32
33
  import 'server-only';
33
34
  import { after } from 'next/server.js';
@@ -225,7 +226,7 @@ function getArticleTool(ctx, basePath) {
225
226
  return {
226
227
  name: "get_article",
227
228
  title: "Read an article",
228
- description: "One article in full, by the slug list_articles returned. Cite it by its URL.",
229
+ description: "One article in full, with approved supporting photo descriptions and section placements, by the slug list_articles returned. Cite it by its URL. Photo captions describe context; they do not verify claims beyond the article.",
229
230
  inputSchema: {
230
231
  type: "object",
231
232
  properties: { slug: { type: "string", description: "The article slug from list_articles." } },
@@ -247,7 +248,8 @@ function getArticleTool(ctx, basePath) {
247
248
  published_at: post.published_at,
248
249
  content: content.slice(0, ARTICLE_CONTENT_MAX),
249
250
  truncated: content.length > ARTICLE_CONTENT_MAX,
250
- faq: post.faq_items
251
+ faq: post.faq_items,
252
+ editorial_photos: post.editorial_photos?.slice(0, 8).map(({ url, alt, caption, width, height, placement }) => ({ url, alt, caption, width, height, placement }))
251
253
  };
252
254
  }
253
255
  };
@@ -1,7 +1,7 @@
1
- import { createSeoRevalidationHandler } from '../chunk-DWNS6ZJM.js';
1
+ import { createSeoRevalidationHandler } from '../chunk-V56RZH7J.js';
2
2
  import '../chunk-XTRZGXB2.js';
3
3
  export { SITE_CACHE_TAGS, SITE_REVALIDATE_PATH, isSiteRevalidatePong } from '../chunk-6KU7STM3.js';
4
- import '../chunk-S5G3A7OZ.js';
4
+ import '../chunk-NWVB75ER.js';
5
5
  import '../chunk-PKBMQBKP.js';
6
6
 
7
7
  // src/revalidate/index.ts
@@ -1,7 +1,7 @@
1
1
  export { readAnalyticsIdentity } from '../chunk-5ROTTMBL.js';
2
2
  import '../chunk-5TM3WPCI.js';
3
3
  export { DEFAULT_SONOR_API_URL, getClientApiConfig, readPublishedApiConfig } from '../chunk-3G7YABRA.js';
4
- export { sonorFetch } from '../chunk-55JLUMAC.js';
5
- import '../chunk-IY6G67EF.js';
6
- import '../chunk-S5G3A7OZ.js';
4
+ export { sonorFetch } from '../chunk-WPOFTCKL.js';
5
+ import '../chunk-F2VYN3QL.js';
6
+ import '../chunk-NWVB75ER.js';
7
7
  import '../chunk-PKBMQBKP.js';
@@ -1,10 +1,10 @@
1
1
  'use client';
2
- export { SitemapSync } from '../chunk-FIGIJK5F.js';
2
+ export { SitemapSync } from '../chunk-IAYGTQJD.js';
3
3
  import '../chunk-YVKRYQRG.js';
4
4
  import '../chunk-CAH4Y4PY.js';
5
5
  import '../chunk-EKBEOXTH.js';
6
6
  import '../chunk-3G7YABRA.js';
7
- import '../chunk-55JLUMAC.js';
8
- import '../chunk-IY6G67EF.js';
9
- import '../chunk-S5G3A7OZ.js';
7
+ import '../chunk-WPOFTCKL.js';
8
+ import '../chunk-F2VYN3QL.js';
9
+ import '../chunk-NWVB75ER.js';
10
10
  import '../chunk-PKBMQBKP.js';
package/dist/seo/index.js CHANGED
@@ -2,7 +2,7 @@ export { ManagedNoScripts, ManagedScripts } from '../chunk-MVLMXC44.js';
2
2
  import { pickManagedLlmSchemaForJsonLd } from '../chunk-NZ4RXN3G.js';
3
3
  import { safeJsonLd } from '../chunk-4KZ6W3ZH.js';
4
4
  import { withoutSchemaPlaceholders } from '../chunk-VWWITFWM.js';
5
- export { SitemapSync } from '../chunk-FIGIJK5F.js';
5
+ export { SitemapSync } from '../chunk-IAYGTQJD.js';
6
6
  import { getManagedMetadata, mergeAlternates } from '../chunk-URJN75ZG.js';
7
7
  export { generateSitemap, getABVariant, getManagedMetadata, getManagedMetadataWithAB, getRedirect, getRobotsDirective, isIndexable } from '../chunk-URJN75ZG.js';
8
8
  import { getSchemaMarkups, getSEOPageData, getEntityEnhancedSchema, getFAQData, getInternalLinks, pruneSchemaTypes } from '../chunk-Y35BWW2C.js';
@@ -19,9 +19,9 @@ import '../chunk-A4CC4ZG3.js';
19
19
  import '../chunk-CAH4Y4PY.js';
20
20
  import '../chunk-EKBEOXTH.js';
21
21
  import '../chunk-3G7YABRA.js';
22
- import '../chunk-55JLUMAC.js';
23
- import '../chunk-IY6G67EF.js';
24
- import '../chunk-S5G3A7OZ.js';
22
+ import '../chunk-WPOFTCKL.js';
23
+ import '../chunk-F2VYN3QL.js';
24
+ import '../chunk-NWVB75ER.js';
25
25
  import '../chunk-PKBMQBKP.js';
26
26
  import { Suspense } from 'react';
27
27
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';