@sonordev/site-kit 8.7.0 → 8.8.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 (101) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/agent-manifest.json +1 -1
  3. package/dist/{AnalyticsProvider-3UIQMIRW.js → AnalyticsProvider-7SBJ27SI.js} +6 -6
  4. package/dist/{ArticleViewTracker-KNXP2DXL.js → ArticleViewTracker-PV2RD3P6.js} +5 -5
  5. package/dist/{BlocksPopup-DFE32GPX.js → BlocksPopup-NEEFV2L3.js} +6 -6
  6. package/dist/{ChatWidget-L74L4YAD.js → ChatWidget-V46UBDOM.js} +5 -5
  7. package/dist/{FileField-P3PLEAON.js → FileField-MJ3RCNFJ.js} +3 -3
  8. package/dist/{FormSpotlight-DNBSBRIE.js → FormSpotlight-NQPQFZS7.js} +1 -1
  9. package/dist/{FormStage-I4JGLT57.js → FormStage-4T5PJR5K.js} +1 -1
  10. package/dist/{ManagedForm-GJRGBM6W.js → ManagedForm-DDDVMKLJ.js} +6 -6
  11. package/dist/{ManagedNewsletterForm-AUZ6YB7G.js → ManagedNewsletterForm-TUYGN6O3.js} +8 -8
  12. package/dist/{SignalCore-UV7K7PT4.js → SignalCore-OW3YIH6M.js} +5 -5
  13. package/dist/SiteChat-XMKHBSEK.js +6 -0
  14. package/dist/SiteDesignReporter-BRH7ORQS.js +13 -0
  15. package/dist/{SitePopups-XHWU7GNF.js → SitePopups-VU2C3Z6B.js} +6 -6
  16. package/dist/SitemapSync-C4H3HF3L.js +9 -0
  17. package/dist/_client/booking-widget.js +5 -5
  18. package/dist/admin-auth/index.d.ts +2 -2
  19. package/dist/admin-auth/session.d.ts +2 -2
  20. package/dist/affiliates/index.js +3 -3
  21. package/dist/analytics/index.js +6 -6
  22. package/dist/articles/index.js +1 -1
  23. package/dist/articles/server-ui.js +3 -3
  24. package/dist/articles/server.js +2 -2
  25. package/dist/chat/index.js +8 -8
  26. package/dist/{chunk-HM7CDWFK.js → chunk-2WM4TNDF.js} +1 -1
  27. package/dist/chunk-64XODP7M.js +7 -0
  28. package/dist/{chunk-XC2TWYDV.js → chunk-6BFQI3ZE.js} +2 -2
  29. package/dist/{chunk-YYPYLYZM.js → chunk-6DXQHNZK.js} +1 -1
  30. package/dist/{chunk-P5PRR2BB.js → chunk-7HW4TZB5.js} +1 -1
  31. package/dist/{chunk-FXR5PJDL.js → chunk-AYQEIMGS.js} +2 -32
  32. package/dist/{chunk-RHT7OZNF.js → chunk-DYROJGI2.js} +1 -1
  33. package/dist/{chunk-MNORERMF.js → chunk-F6WLHVMQ.js} +1 -1
  34. package/dist/{chunk-UYOE3HA4.js → chunk-FLOJUMFR.js} +2 -2
  35. package/dist/{chunk-L2KSHJS2.js → chunk-G7BRCSV6.js} +3 -3
  36. package/dist/{chunk-36ZMNBXZ.js → chunk-GQN4BGK6.js} +1 -1
  37. package/dist/{chunk-7YB3QA4P.js → chunk-GXWM5KNS.js} +2 -2
  38. package/dist/{chunk-5WHBYQJ4.js → chunk-HN7GVGWC.js} +3 -3
  39. package/dist/{chunk-3MLWIBHX.js → chunk-IDC5CVBR.js} +1 -1
  40. package/dist/{chunk-LGWN6KCN.js → chunk-IWNJCRXW.js} +1 -1
  41. package/dist/{chunk-T6TWPKBL.js → chunk-M5JIHQ42.js} +1 -1
  42. package/dist/{chunk-RWWSOYJO.js → chunk-NFGAXWCN.js} +9 -9
  43. package/dist/{chunk-JWCCY72G.js → chunk-OPUY4RS6.js} +1 -1
  44. package/dist/{chunk-OHLCE4GC.js → chunk-OWZWRP7Y.js} +2 -2
  45. package/dist/{chunk-DJIGFX33.js → chunk-PSS6M4CG.js} +1 -1
  46. package/dist/{chunk-BAJUXQTH.js → chunk-SBPUFTMP.js} +2 -2
  47. package/dist/{chunk-KLIDCNML.js → chunk-SHAUX2MQ.js} +1 -1
  48. package/dist/{chunk-G5FD7UXK.js → chunk-SLFYTELD.js} +1 -1
  49. package/dist/{chunk-HWQPCZOX.js → chunk-SVHPILS3.js} +1 -1
  50. package/dist/{chunk-MJW6YIDJ.js → chunk-THXELZTQ.js} +1 -1
  51. package/dist/{chunk-BJYX6SFI.js → chunk-TP32MRXV.js} +2 -2
  52. package/dist/{chunk-IXZBOOAD.js → chunk-URLTBVRX.js} +3 -3
  53. package/dist/chunk-XS2ORMUG.js +32 -0
  54. package/dist/{chunk-A2MDVP47.js → chunk-Y6SHFILE.js} +1 -1
  55. package/dist/{chunk-U4OQJQK6.js → chunk-YEX5RAEU.js} +3 -3
  56. package/dist/{chunk-DPYGC7WE.js → chunk-YRQS7VAH.js} +1 -1
  57. package/dist/{chunk-QTBAKOCZ.js → chunk-ZQSCMYZO.js} +1 -1
  58. package/dist/client/index.js +4 -4
  59. package/dist/contracts/frame-ready.d.ts +23 -0
  60. package/dist/contracts/portfolio.d.ts +197 -14
  61. package/dist/fleet/index.js +6 -6
  62. package/dist/forms/index.js +8 -8
  63. package/dist/forms/server.js +2 -2
  64. package/dist/images/index.js +4 -4
  65. package/dist/index.js +1 -1
  66. package/dist/landing/server.js +4 -3
  67. package/dist/layout/client.js +9 -9
  68. package/dist/layout/index.js +10 -10
  69. package/dist/llms/index.js +4 -4
  70. package/dist/maps/index.js +3 -3
  71. package/dist/mcp/sonor.js +6 -6
  72. package/dist/og/pages.d.ts +3 -3
  73. package/dist/portfolio/contract.js +705 -1
  74. package/dist/press-kit/articles/article-body.d.ts +1 -2
  75. package/dist/press-kit/articles/types.d.ts +1 -1
  76. package/dist/revalidate/index.js +2 -2
  77. package/dist/runtime/index.js +3 -3
  78. package/dist/seo/client.js +6 -6
  79. package/dist/seo/index.js +6 -6
  80. package/dist/seo/llms.js +4 -4
  81. package/dist/seo/register-sitemap-cli.js +1 -1
  82. package/dist/seo/sitemap.js +2 -2
  83. package/dist/server/index.js +2 -2
  84. package/dist/shared/frame.d.ts +1 -1
  85. package/dist/shared/source-graph.d.ts +5 -5
  86. package/dist/shared/version.d.ts +1 -1
  87. package/dist/signal/index.js +2 -2
  88. package/dist/sitemap/index.js +2 -2
  89. package/dist/sitemap/shared.d.ts +1 -2
  90. package/dist/sync/index.js +5 -5
  91. package/dist/website/images.js +4 -4
  92. package/dist/website/index.js +7 -7
  93. package/dist/website/landing/server.js +4 -3
  94. package/dist/website/popups.js +6 -6
  95. package/dist/{writeLLMsTxt-QN2HIVT4.js → writeLLMsTxt-4HHUAOA6.js} +1 -1
  96. package/package.json +1 -1
  97. package/dist/SiteChat-6UWE545R.js +0 -6
  98. package/dist/SiteDesignReporter-ZSU76DZJ.js +0 -13
  99. package/dist/SitemapSync-ELWV6W7Y.js +0 -9
  100. package/dist/chunk-VEJD5EJ2.js +0 -344
  101. /package/dist/{chunk-XZFOQ2V4.js → chunk-KG5IEV7I.js} +0 -0
@@ -5,8 +5,7 @@ import type { Article } from './types';
5
5
  * rule lands in all three.
6
6
  *
7
7
  * `content_html` is the only field Press Kit renders as HTML. Sonor sanitizes
8
- * it at its public read path (in Sonor's main branch as of 2026-10-20, pending
9
- * deploy; until it's live, treat it as unsanitized). `content` is the source
8
+ * it at its public read path (live since 2026-10-20). `content` is the source
10
9
  * text, which Sonor doesn't sanitize, so it is never rendered, not even as a
11
10
  * fallback. A blank `content_html` means no body.
12
11
  */
@@ -35,7 +35,7 @@ export interface Article {
35
35
  excerpt?: string;
36
36
  /** Source text. Not a render field: Sonor doesn't sanitize it, and Press Kit never renders it as HTML. */
37
37
  content: string;
38
- /** The article body, the only field Press Kit renders as HTML. Sonor sanitizes it at its public read path (in Sonor's main branch as of 2026-10-20, pending deploy; until it's live, treat it as unsanitized). */
38
+ /** The article body, the only field Press Kit renders as HTML. Sonor sanitizes it at its public read path (live since 2026-10-20). */
39
39
  content_html?: string;
40
40
  /** Complete promotional image, including composed share-card text when generated. */
41
41
  featured_image?: string;
@@ -1,7 +1,7 @@
1
- import { createSeoRevalidationHandler } from '../chunk-MJW6YIDJ.js';
1
+ import { createSeoRevalidationHandler } from '../chunk-THXELZTQ.js';
2
2
  import '../chunk-XTRZGXB2.js';
3
3
  export { SITE_CACHE_TAGS, SITE_REVALIDATE_PATH, isSiteRevalidatePong } from '../chunk-HY7ZEU2C.js';
4
- import '../chunk-MNORERMF.js';
4
+ import '../chunk-F6WLHVMQ.js';
5
5
  import '../chunk-PKBMQBKP.js';
6
6
 
7
7
  // src/revalidate/index.ts
@@ -1,8 +1,8 @@
1
1
  import '../chunk-B7T2SFUF.js';
2
2
  export { readAnalyticsIdentity } from '../chunk-5ROTTMBL.js';
3
3
  import '../chunk-5TM3WPCI.js';
4
- export { sonorFetch } from '../chunk-UYOE3HA4.js';
5
- import '../chunk-P5PRR2BB.js';
4
+ export { sonorFetch } from '../chunk-FLOJUMFR.js';
5
+ import '../chunk-7HW4TZB5.js';
6
6
  export { DEFAULT_SONOR_API_URL, getClientApiConfig, readPublishedApiConfig } from '../chunk-W7OPEMGJ.js';
7
- import '../chunk-MNORERMF.js';
7
+ import '../chunk-F6WLHVMQ.js';
8
8
  import '../chunk-PKBMQBKP.js';
@@ -1,10 +1,10 @@
1
1
  'use client';
2
- export { SitemapSync } from '../chunk-OHLCE4GC.js';
2
+ export { SitemapSync } from '../chunk-OWZWRP7Y.js';
3
3
  import '../chunk-YVKRYQRG.js';
4
- import '../chunk-QTBAKOCZ.js';
5
- import '../chunk-VEJD5EJ2.js';
6
- import '../chunk-UYOE3HA4.js';
7
- import '../chunk-P5PRR2BB.js';
4
+ import '../chunk-ZQSCMYZO.js';
5
+ import '../chunk-64XODP7M.js';
6
+ import '../chunk-FLOJUMFR.js';
7
+ import '../chunk-7HW4TZB5.js';
8
8
  import '../chunk-W7OPEMGJ.js';
9
- import '../chunk-MNORERMF.js';
9
+ import '../chunk-F6WLHVMQ.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-XAZC2TUD.js';
3
3
  import { withoutSchemaPlaceholders } from '../chunk-VWWITFWM.js';
4
4
  import { safeJsonLd } from '../chunk-4KZ6W3ZH.js';
5
- export { SitemapSync } from '../chunk-OHLCE4GC.js';
5
+ export { SitemapSync } from '../chunk-OWZWRP7Y.js';
6
6
  import { getManagedMetadata, mergeAlternates } from '../chunk-XIDWNXZN.js';
7
7
  export { generateSitemap, getABVariant, getManagedMetadata, getManagedMetadataWithAB, getRedirect, getRobotsDirective, isIndexable } from '../chunk-XIDWNXZN.js';
8
8
  import { getSchemaMarkups, getSEOPageData, getEntityEnhancedSchema, getFAQData, getInternalLinks, pruneSchemaTypes } from '../chunk-ODOV76VW.js';
@@ -17,12 +17,12 @@ import '../chunk-YVKRYQRG.js';
17
17
  import '../chunk-DIKNRN34.js';
18
18
  import '../chunk-FESKKJAS.js';
19
19
  import '../chunk-A4CC4ZG3.js';
20
- import '../chunk-QTBAKOCZ.js';
21
- import '../chunk-VEJD5EJ2.js';
22
- import '../chunk-UYOE3HA4.js';
23
- import '../chunk-P5PRR2BB.js';
20
+ import '../chunk-ZQSCMYZO.js';
21
+ import '../chunk-64XODP7M.js';
22
+ import '../chunk-FLOJUMFR.js';
23
+ import '../chunk-7HW4TZB5.js';
24
24
  import '../chunk-W7OPEMGJ.js';
25
- import '../chunk-MNORERMF.js';
25
+ import '../chunk-F6WLHVMQ.js';
26
26
  import '../chunk-PKBMQBKP.js';
27
27
  import { Suspense } from 'react';
28
28
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
package/dist/seo/llms.js CHANGED
@@ -1,10 +1,10 @@
1
- export { createLLMsFullTxtHandler, createLLMsTxtHandler, formatSourcedFactsSection, llmsResponseHeaders } from '../chunk-HM7CDWFK.js';
1
+ export { createLLMsFullTxtHandler, createLLMsTxtHandler, formatSourcedFactsSection, llmsResponseHeaders } from '../chunk-2WM4TNDF.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-MJW6YIDJ.js';
4
+ export { LEGACY_PUBLICATION_PATH, SEO_REVALIDATION_MAX_BODY_BYTES, SEO_REVALIDATION_MAX_ITEMS, createLlmsRevalidateHandler, createSeoRevalidationHandler, parseSeoRevalidationPayload } from '../chunk-THXELZTQ.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-XZFOQ2V4.js';
7
+ export { AGENT_ACCESS_HEADING, appendAgentAccessSection, describesMcp, detectMcpServer, formatAgentAccessSection, generateLLMsFullTxt, generateLLMsTxt, writeLLMsTxtToPublic } from '../chunk-KG5IEV7I.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';
@@ -18,5 +18,5 @@ import '../chunk-YVKRYQRG.js';
18
18
  import '../chunk-FESKKJAS.js';
19
19
  import '../chunk-A4CC4ZG3.js';
20
20
  import '../chunk-W7OPEMGJ.js';
21
- import '../chunk-MNORERMF.js';
21
+ import '../chunk-F6WLHVMQ.js';
22
22
  import '../chunk-PKBMQBKP.js';
@@ -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-QN2HIVT4.js');
461
+ const { writeLLMsTxtToPublic } = await import('../writeLLMsTxt-4HHUAOA6.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-3MLWIBHX.js';
2
- import '../chunk-XZFOQ2V4.js';
1
+ export { createSitemap, getPortfolioPaths, syncSitemapToPortal } from '../chunk-IDC5CVBR.js';
2
+ import '../chunk-KG5IEV7I.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-T6TWPKBL.js';
2
+ export { resolveClientCredential } from '../chunk-M5JIHQ42.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-C7TLGL3R.js';
6
6
  import '../chunk-MH2DSGC6.js';
7
- import '../chunk-MNORERMF.js';
7
+ import '../chunk-F6WLHVMQ.js';
8
8
  import '../chunk-PKBMQBKP.js';
@@ -67,7 +67,7 @@ export declare function isTopFrameSameOrigin(): boolean;
67
67
  * someone else's embed, and its activity is not this site's traffic.
68
68
  */
69
69
  export declare function isCrossOriginFrame(): boolean;
70
- export { FRAME_READY_MESSAGE, isFrameReadyMessage, type FrameReadyMessage } from '../contracts/portfolio';
70
+ export { FRAME_READY_MESSAGE, isFrameReadyMessage, type FrameReadyMessage } from '../contracts/frame-ready';
71
71
  /**
72
72
  * Post {@link FRAME_READY_MESSAGE} to the embedder once this page has loaded
73
73
  * and painted (the load event, then two animation frames, so the first frame
@@ -6,10 +6,10 @@
6
6
  * read only the one file in the site, so any wiring that lived in a helper was
7
7
  * invisible to them:
8
8
  *
9
- * - The MDG property sites (manhattan-development-group/mdg-sites) keep
10
- * their sitemap, robots, metadata and OG helpers in a pnpm workspace
11
- * package, `@mdg/property-template`. geo saw `createSitemap(` in a site's
12
- * sitemap.ts, not the template's `optimizedLLMsTxt: false` behind it, and
9
+ * - Sites in a monorepo can keep their sitemap, robots, metadata and OG
10
+ * helpers in a shared pnpm workspace template package. geo saw
11
+ * `createSitemap(` in a site's sitemap.ts, not the template's
12
+ * `optimizedLLMsTxt: false` behind it, and
13
13
  * failed three sites until each restated the option at the call site. The
14
14
  * doctor never saw the template's `twitter.card`.
15
15
  * - Most sites set `twitter.card` in a `lib/` metadata helper, not the root
@@ -40,7 +40,7 @@ export interface SourceFile {
40
40
  * Drop `//` and block comments, leaving string and template literals alone.
41
41
  *
42
42
  * The checks that read this match on code, and a helper's doc comment is
43
- * prose about the thing, not the thing: MDG's template sitemap explains that
43
+ * prose about the thing, not the thing: one template's sitemap explains that
44
44
  * the kit "writes public/llms.txt" in its header comment, and geo read that
45
45
  * as the sitemap listing `/llms.txt`.
46
46
  */
@@ -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.7.0";
10
+ export declare const SITE_KIT_VERSION = "8.8.0";
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- import { useSignalExperiment, useSignalEvent } from '../chunk-KLIDCNML.js';
3
- export { SignalBridge, useSignal, useSignalConfig, useSignalEvent, useSignalExperiment, useSignalOutcome } from '../chunk-KLIDCNML.js';
2
+ import { useSignalExperiment, useSignalEvent } from '../chunk-SHAUX2MQ.js';
3
+ export { SignalBridge, useSignal, useSignalConfig, useSignalEvent, useSignalExperiment, useSignalOutcome } from '../chunk-SHAUX2MQ.js';
4
4
  import '../chunk-PKBMQBKP.js';
5
5
  import React, { useEffect } from 'react';
6
6
  import { jsx, Fragment } from 'react/jsx-runtime';
@@ -1,5 +1,5 @@
1
- export { createSitemap, getPortfolioPaths, syncSitemapToPortal } from '../chunk-3MLWIBHX.js';
2
- import '../chunk-XZFOQ2V4.js';
1
+ export { createSitemap, getPortfolioPaths, syncSitemapToPortal } from '../chunk-IDC5CVBR.js';
2
+ import '../chunk-KG5IEV7I.js';
3
3
  import '../chunk-EK7P62DT.js';
4
4
  import '../chunk-Z22QVHT4.js';
5
5
  import '../chunk-7DYMM6SS.js';
@@ -42,8 +42,7 @@ export declare function stripTrailingSlash(path: string): string;
42
42
  * With `trailingSlash: true`, Next 308-redirects `/about` to `/about/`. Every
43
43
  * URL the kit emits for a page has to carry the slash already, or crawlers
44
44
  * get a redirect instead of the page and the sitemap disagrees with the
45
- * canonicals. That's what happened on the five MDG property sites
46
- * (2026-09-15).
45
+ * canonicals. That's what happened on five property sites (2026-09-15).
47
46
  *
48
47
  * Mirrors the redirects Next adds in `lib/load-custom-routes`:
49
48
  * - `/` stays `/`.
@@ -1,9 +1,9 @@
1
- export { BookingWidget } from '../chunk-YYPYLYZM.js';
2
- export { createBooking, createSlotHold, detectTimezone, fetchAvailability, fetchAvailableDates, fetchBookingTypeDetails, fetchBookingTypes, formatDate, formatDuration, formatTime, prepareMeeting, releaseSlotHold } from '../chunk-DJIGFX33.js';
1
+ export { BookingWidget } from '../chunk-6DXQHNZK.js';
2
+ export { createBooking, createSlotHold, detectTimezone, fetchAvailability, fetchAvailableDates, fetchBookingTypeDetails, fetchBookingTypes, formatDate, formatDuration, formatTime, prepareMeeting, releaseSlotHold } from '../chunk-PSS6M4CG.js';
3
3
  import '../chunk-5ROTTMBL.js';
4
4
  import '../chunk-5TM3WPCI.js';
5
- import '../chunk-UYOE3HA4.js';
6
- import '../chunk-P5PRR2BB.js';
5
+ import '../chunk-FLOJUMFR.js';
6
+ import '../chunk-7HW4TZB5.js';
7
7
  import '../chunk-W7OPEMGJ.js';
8
- import '../chunk-MNORERMF.js';
8
+ import '../chunk-F6WLHVMQ.js';
9
9
  import '../chunk-PKBMQBKP.js';
@@ -1,6 +1,6 @@
1
- export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from '../chunk-HWQPCZOX.js';
1
+ export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from '../chunk-SVHPILS3.js';
2
2
  export { ManagedFavicon, getManagedFaviconUrl } from '../chunk-GW7GSBO7.js';
3
- import '../chunk-UYOE3HA4.js';
4
- import '../chunk-P5PRR2BB.js';
5
- import '../chunk-MNORERMF.js';
3
+ import '../chunk-FLOJUMFR.js';
4
+ import '../chunk-7HW4TZB5.js';
5
+ import '../chunk-F6WLHVMQ.js';
6
6
  import '../chunk-PKBMQBKP.js';
@@ -1,15 +1,15 @@
1
1
  'use client';
2
- export { SiteDesignReporter } from '../chunk-XC2TWYDV.js';
3
- export { SITE_DESIGN_PATH, cleanFontStack, colorToHex, getSiteDesignTokens, measureSiteDesign, readDeclaredDesign, sendSiteDesign } from '../chunk-IXZBOOAD.js';
2
+ export { SiteDesignReporter } from '../chunk-6BFQI3ZE.js';
3
+ export { SITE_DESIGN_PATH, cleanFontStack, colorToHex, getSiteDesignTokens, measureSiteDesign, readDeclaredDesign, sendSiteDesign } from '../chunk-URLTBVRX.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-QTBAKOCZ.js';
10
- import '../chunk-VEJD5EJ2.js';
11
- import '../chunk-UYOE3HA4.js';
12
- import '../chunk-P5PRR2BB.js';
9
+ import '../chunk-ZQSCMYZO.js';
10
+ import '../chunk-64XODP7M.js';
11
+ import '../chunk-FLOJUMFR.js';
12
+ import '../chunk-7HW4TZB5.js';
13
13
  import '../chunk-W7OPEMGJ.js';
14
- import '../chunk-MNORERMF.js';
14
+ import '../chunk-F6WLHVMQ.js';
15
15
  import '../chunk-PKBMQBKP.js';
@@ -1,10 +1,11 @@
1
- export { FunnelPageContent, ManagedFunnelPage, getPublishedFunnelPage, managedFunnelMetadata } from '../../chunk-FXR5PJDL.js';
1
+ export { FunnelPageContent, ManagedFunnelPage, getPublishedFunnelPage, managedFunnelMetadata } from '../../chunk-AYQEIMGS.js';
2
+ import '../../chunk-XS2ORMUG.js';
2
3
  import '../../chunk-PAYCK7FC.js';
3
4
  export { normalizeCampaignSlug } from '../../chunk-3MJNBOUO.js';
4
5
  export { landingPageMetadata } from '../../chunk-JESLPEST.js';
5
6
  import '../../chunk-XHYE24HU.js';
6
- import '../../chunk-DPYGC7WE.js';
7
- import '../../chunk-G5FD7UXK.js';
7
+ import '../../chunk-YRQS7VAH.js';
8
+ import '../../chunk-SLFYTELD.js';
8
9
  import '../../chunk-C2FZBUSS.js';
9
10
  import '../../chunk-YC7ELZS3.js';
10
11
  import '../../chunk-VPZJ7ZTL.js';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- export { SitePopups } from '../chunk-U4OQJQK6.js';
2
+ export { SitePopups } from '../chunk-YEX5RAEU.js';
3
3
  import '../chunk-27FISYK4.js';
4
4
  export { DEFAULT_POPUP_TOKENS, PopupBlocks } from '../chunk-52KO4LKD.js';
5
5
  import '../chunk-XLAHRN4B.js';
@@ -9,10 +9,10 @@ import '../chunk-S22FSH7C.js';
9
9
  import '../chunk-IPQKQEWI.js';
10
10
  import '../chunk-GJWI74ZZ.js';
11
11
  import '../chunk-5TM3WPCI.js';
12
- import '../chunk-QTBAKOCZ.js';
13
- import '../chunk-VEJD5EJ2.js';
14
- import '../chunk-UYOE3HA4.js';
15
- import '../chunk-P5PRR2BB.js';
12
+ import '../chunk-ZQSCMYZO.js';
13
+ import '../chunk-64XODP7M.js';
14
+ import '../chunk-FLOJUMFR.js';
15
+ import '../chunk-7HW4TZB5.js';
16
16
  import '../chunk-W7OPEMGJ.js';
17
- import '../chunk-MNORERMF.js';
17
+ import '../chunk-F6WLHVMQ.js';
18
18
  import '../chunk-PKBMQBKP.js';
@@ -1,4 +1,4 @@
1
- export { writeLLMsTxtToPublic } from './chunk-XZFOQ2V4.js';
1
+ export { writeLLMsTxtToPublic } from './chunk-KG5IEV7I.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.7.0",
3
+ "version": "8.8.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.",
@@ -1,6 +0,0 @@
1
- export { SiteChat } from './chunk-BAJUXQTH.js';
2
- import './chunk-27FISYK4.js';
3
- import './chunk-QTBAKOCZ.js';
4
- import './chunk-VEJD5EJ2.js';
5
- import './chunk-W7OPEMGJ.js';
6
- import './chunk-PKBMQBKP.js';
@@ -1,13 +0,0 @@
1
- export { SiteDesignReporter } from './chunk-XC2TWYDV.js';
2
- import './chunk-IXZBOOAD.js';
3
- import './chunk-XLAHRN4B.js';
4
- import './chunk-XHYE24HU.js';
5
- import './chunk-YC7ELZS3.js';
6
- import './chunk-S22FSH7C.js';
7
- import './chunk-QTBAKOCZ.js';
8
- import './chunk-VEJD5EJ2.js';
9
- import './chunk-UYOE3HA4.js';
10
- import './chunk-P5PRR2BB.js';
11
- import './chunk-W7OPEMGJ.js';
12
- import './chunk-MNORERMF.js';
13
- import './chunk-PKBMQBKP.js';
@@ -1,9 +0,0 @@
1
- export { SitemapSync } from './chunk-OHLCE4GC.js';
2
- import './chunk-YVKRYQRG.js';
3
- import './chunk-QTBAKOCZ.js';
4
- import './chunk-VEJD5EJ2.js';
5
- import './chunk-UYOE3HA4.js';
6
- import './chunk-P5PRR2BB.js';
7
- import './chunk-W7OPEMGJ.js';
8
- import './chunk-MNORERMF.js';
9
- import './chunk-PKBMQBKP.js';