@sonordev/site-kit 8.0.1 → 8.2.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.
- package/CHANGELOG.md +12 -0
- package/agent-manifest.json +1 -1
- package/dist/{AnalyticsProvider-EGCZ2MVM.js → AnalyticsProvider-6TAA3XYB.js} +4 -4
- package/dist/{ArticleViewTracker-ATNVMT45.js → ArticleViewTracker-H4N7YCLC.js} +3 -3
- package/dist/{BlocksPopup-F636XNO4.js → BlocksPopup-FJT5YQD3.js} +4 -4
- package/dist/{ChatWidget-EQTLKPJX.js → ChatWidget-THQHHTAA.js} +5 -5
- package/dist/{FileField-BUD2YGN5.js → FileField-OZXXJGUM.js} +3 -3
- package/dist/{FormSpotlight-NGH56TGC.js → FormSpotlight-MLDJS246.js} +1 -1
- package/dist/{FormStage-XZRC54SY.js → FormStage-6RVY7M3R.js} +1 -1
- package/dist/{ManagedForm-CQDQ4CUN.js → ManagedForm-3VV54RVH.js} +6 -6
- package/dist/{ManagedNewsletterForm-KCN3BTKA.js → ManagedNewsletterForm-RTJDGMGG.js} +4 -4
- package/dist/{SignalCore-RDQPM2L2.js → SignalCore-T7ZOCA44.js} +3 -3
- package/dist/{SiteChat-QBDOQ5ZZ.js → SiteChat-JSHPGAE3.js} +1 -1
- package/dist/{SiteDesignReporter-426TUCUF.js → SiteDesignReporter-L2JBAKKK.js} +5 -5
- package/dist/{SitePopups-KLUD6XIE.js → SitePopups-K6ADAWFK.js} +4 -4
- package/dist/{SitemapSync-QOIMV5GO.js → SitemapSync-VV2YSMIW.js} +4 -4
- package/dist/_client/booking-widget.js +5 -5
- package/dist/affiliates/index.js +3 -3
- package/dist/analytics/index.js +4 -4
- package/dist/{article-styles-6CM5FUMV.js → article-styles-GFXJJDLE.js} +2 -0
- package/dist/articles/article-photos.d.ts +9 -0
- package/dist/articles/index.d.ts +1 -0
- package/dist/articles/index.js +1 -1
- package/dist/articles/server-core.d.ts +2 -0
- package/dist/articles/server-ui.d.ts +2 -0
- package/dist/articles/server-ui.js +7 -5
- package/dist/articles/server.d.ts +2 -0
- package/dist/articles/server.js +2 -1
- package/dist/articles/types.d.ts +17 -0
- package/dist/chat/index.js +6 -6
- package/dist/{chunk-IY6G67EF.js → chunk-3EU6S5YC.js} +1 -1
- package/dist/{chunk-M62U7TJF.js → chunk-575L73NT.js} +1 -1
- package/dist/{chunk-OE3NXEOF.js → chunk-57K4GW3D.js} +1 -1
- package/dist/{chunk-6KUCA5HG.js → chunk-5ZCY36TY.js} +1 -1
- package/dist/{chunk-Z6PVFZRI.js → chunk-66G47P5C.js} +1 -1
- package/dist/{chunk-55JLUMAC.js → chunk-727R7C5R.js} +2 -2
- package/dist/{chunk-6BXUSAOJ.js → chunk-7FSB2EXS.js} +1 -1
- package/dist/{chunk-VQQV7FOX.js → chunk-BQZPHICL.js} +1 -1
- package/dist/{chunk-OCKGB734.js → chunk-EBILJHUF.js} +1 -1
- package/dist/{chunk-XPTJRVL2.js → chunk-FQUGGPBM.js} +3 -2
- package/dist/{chunk-B7QRRLTU.js → chunk-FVXFLVXF.js} +2 -2
- package/dist/{chunk-7BSC6HF3.js → chunk-GWP2VBFH.js} +3 -3
- package/dist/{chunk-CAF53GKN.js → chunk-H4R2GPAB.js} +1 -1
- package/dist/chunk-HUBMKTPW.js +131 -0
- package/dist/{chunk-EE6IG5GK.js → chunk-I6QFPSUU.js} +8 -8
- package/dist/{chunk-NKFRW2VB.js → chunk-JBEUZJS3.js} +2 -2
- package/dist/{chunk-JCFQGEG7.js → chunk-JC2VS2SB.js} +1 -1
- package/dist/{chunk-AGJODJ4V.js → chunk-NNEIBXGU.js} +1 -1
- package/dist/{chunk-S5G3A7OZ.js → chunk-Q72M5KBS.js} +1 -1
- package/dist/{chunk-GMXY2OOY.js → chunk-SMYX3AAO.js} +1 -1
- package/dist/{chunk-J6N5DCGW.js → chunk-WBC5B3JD.js} +2 -2
- package/dist/{chunk-FIGIJK5F.js → chunk-WK3N3Y7V.js} +1 -1
- package/dist/{chunk-5GB2HHVJ.js → chunk-WSNG2K3T.js} +2 -2
- package/dist/{chunk-Z4MK4VOG.js → chunk-WYZ4OUON.js} +1 -1
- package/dist/{chunk-DWNS6ZJM.js → chunk-X7VKRHFF.js} +1 -1
- package/dist/{chunk-YGXWG54S.js → chunk-XWIRU6UT.js} +1 -1
- package/dist/{chunk-3222QBUS.js → chunk-YBAFUM3Z.js} +1 -1
- package/dist/{chunk-H3SDOSVU.js → chunk-ZM2FNWIQ.js} +1 -1
- package/dist/client/index.js +3 -3
- package/dist/contracts/editorial-media.d.ts +39 -0
- package/dist/contracts/entries.d.ts +1 -1
- package/dist/fleet/index.js +4 -4
- package/dist/forms/index.js +7 -7
- package/dist/forms/server.js +2 -2
- package/dist/images/index.js +4 -4
- package/dist/index.js +1 -1
- package/dist/layout/client.js +7 -7
- package/dist/layout/index.js +8 -8
- package/dist/llms/index.js +4 -4
- package/dist/maps/index.js +3 -3
- package/dist/mcp/sonor.js +11 -9
- package/dist/revalidate/index.js +2 -2
- package/dist/runtime/index.js +3 -3
- package/dist/seo/client.js +4 -4
- package/dist/seo/index.js +4 -4
- package/dist/seo/llms.js +4 -4
- package/dist/seo/register-sitemap-cli.js +1 -1
- package/dist/seo/sitemap.js +2 -2
- package/dist/server/index.js +2 -2
- package/dist/shared/version.d.ts +1 -1
- package/dist/signal/index.js +2 -2
- package/dist/sitemap/index.js +2 -2
- package/dist/sync/index.js +5 -5
- package/dist/website/images.js +4 -4
- package/dist/website/index.js +5 -5
- package/dist/website/popups.js +4 -4
- package/dist/{writeLLMsTxt-UZGN6IBU.js → writeLLMsTxt-DGKLYXIW.js} +1 -1
- package/package.json +1 -1
- package/src/articles/README.md +33 -0
- /package/dist/{chunk-TZ5RTANX.js → chunk-WACWV5EP.js} +0 -0
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-
|
|
3
|
+
import { fetchBookingTypes, fetchAvailability } from '../chunk-XWIRU6UT.js';
|
|
4
4
|
import { getLLMsData, getServices, getFAQItems, getPageSummaries } from '../chunk-JIH32RH2.js';
|
|
5
|
-
import { getFormConfig } from '../chunk-
|
|
6
|
-
import '../chunk-
|
|
5
|
+
import { getFormConfig } from '../chunk-BQZPHICL.js';
|
|
6
|
+
import '../chunk-SMYX3AAO.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-
|
|
15
|
+
import { getAllArticles, getArticle } from '../chunk-FQUGGPBM.js';
|
|
16
|
+
import '../chunk-HUBMKTPW.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-
|
|
29
|
-
import '../chunk-
|
|
30
|
-
import { SITE_KIT_VERSION } from '../chunk-
|
|
29
|
+
import '../chunk-727R7C5R.js';
|
|
30
|
+
import '../chunk-3EU6S5YC.js';
|
|
31
|
+
import { SITE_KIT_VERSION } from '../chunk-Q72M5KBS.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
|
};
|
package/dist/revalidate/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { createSeoRevalidationHandler } from '../chunk-
|
|
1
|
+
import { createSeoRevalidationHandler } from '../chunk-X7VKRHFF.js';
|
|
2
2
|
import '../chunk-XTRZGXB2.js';
|
|
3
3
|
export { SITE_CACHE_TAGS, SITE_REVALIDATE_PATH, isSiteRevalidatePong } from '../chunk-6KU7STM3.js';
|
|
4
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-Q72M5KBS.js';
|
|
5
5
|
import '../chunk-PKBMQBKP.js';
|
|
6
6
|
|
|
7
7
|
// src/revalidate/index.ts
|
package/dist/runtime/index.js
CHANGED
|
@@ -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-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
4
|
+
export { sonorFetch } from '../chunk-727R7C5R.js';
|
|
5
|
+
import '../chunk-3EU6S5YC.js';
|
|
6
|
+
import '../chunk-Q72M5KBS.js';
|
|
7
7
|
import '../chunk-PKBMQBKP.js';
|
package/dist/seo/client.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export { SitemapSync } from '../chunk-
|
|
2
|
+
export { SitemapSync } from '../chunk-WK3N3Y7V.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-
|
|
8
|
-
import '../chunk-
|
|
9
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-727R7C5R.js';
|
|
8
|
+
import '../chunk-3EU6S5YC.js';
|
|
9
|
+
import '../chunk-Q72M5KBS.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-
|
|
5
|
+
export { SitemapSync } from '../chunk-WK3N3Y7V.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-
|
|
23
|
-
import '../chunk-
|
|
24
|
-
import '../chunk-
|
|
22
|
+
import '../chunk-727R7C5R.js';
|
|
23
|
+
import '../chunk-3EU6S5YC.js';
|
|
24
|
+
import '../chunk-Q72M5KBS.js';
|
|
25
25
|
import '../chunk-PKBMQBKP.js';
|
|
26
26
|
import { Suspense } from 'react';
|
|
27
27
|
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-
|
|
1
|
+
export { createLLMsFullTxtHandler, createLLMsTxtHandler, formatSourcedFactsSection, llmsResponseHeaders } from '../chunk-575L73NT.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-
|
|
4
|
+
export { LEGACY_PUBLICATION_PATH, SEO_REVALIDATION_MAX_BODY_BYTES, SEO_REVALIDATION_MAX_ITEMS, createLlmsRevalidateHandler, createSeoRevalidationHandler, parseSeoRevalidationPayload } from '../chunk-X7VKRHFF.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-
|
|
7
|
+
export { AGENT_ACCESS_HEADING, appendAgentAccessSection, describesMcp, detectMcpServer, formatAgentAccessSection, generateLLMsFullTxt, generateLLMsTxt, writeLLMsTxtToPublic } from '../chunk-WACWV5EP.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-
|
|
19
|
+
import '../chunk-Q72M5KBS.js';
|
|
20
20
|
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-
|
|
461
|
+
const { writeLLMsTxtToPublic } = await import('../writeLLMsTxt-DGKLYXIW.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.
|
package/dist/seo/sitemap.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { createSitemap, getPortfolioPaths, syncSitemapToPortal } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { createSitemap, getPortfolioPaths, syncSitemapToPortal } from '../chunk-57K4GW3D.js';
|
|
2
|
+
import '../chunk-WACWV5EP.js';
|
|
3
3
|
import '../chunk-JIH32RH2.js';
|
|
4
4
|
import '../chunk-Z22QVHT4.js';
|
|
5
5
|
import '../chunk-L5UOHS6E.js';
|
package/dist/server/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { resolveClientCredential } from '../chunk-
|
|
1
|
+
export { resolveClientCredential } from '../chunk-ZM2FNWIQ.js';
|
|
2
2
|
import '../chunk-UAYAJPEP.js';
|
|
3
3
|
export { SITE_CACHE_TAGS } from '../chunk-6KU7STM3.js';
|
|
4
4
|
export { isNextControlFlow, requireServerApiConfig, resolveApiOrigin, resolveServerApiConfig, serverApiFetch } from '../chunk-C7TLGL3R.js';
|
|
5
5
|
import '../chunk-MH2DSGC6.js';
|
|
6
|
-
import '../chunk-
|
|
6
|
+
import '../chunk-Q72M5KBS.js';
|
|
7
7
|
import '../chunk-PKBMQBKP.js';
|
package/dist/shared/version.d.ts
CHANGED
package/dist/signal/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { useSignalExperiment, useSignalEvent } from '../chunk-
|
|
3
|
-
export { SignalBridge, useSignal, useSignalConfig, useSignalEvent, useSignalExperiment, useSignalOutcome } from '../chunk-
|
|
2
|
+
import { useSignalExperiment, useSignalEvent } from '../chunk-WYZ4OUON.js';
|
|
3
|
+
export { SignalBridge, useSignal, useSignalConfig, useSignalEvent, useSignalExperiment, useSignalOutcome } from '../chunk-WYZ4OUON.js';
|
|
4
4
|
import '../chunk-PKBMQBKP.js';
|
|
5
5
|
import React, { useEffect } from 'react';
|
|
6
6
|
import { jsx, Fragment } from 'react/jsx-runtime';
|
package/dist/sitemap/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { createSitemap, getPortfolioPaths, syncSitemapToPortal } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { createSitemap, getPortfolioPaths, syncSitemapToPortal } from '../chunk-57K4GW3D.js';
|
|
2
|
+
import '../chunk-WACWV5EP.js';
|
|
3
3
|
import '../chunk-JIH32RH2.js';
|
|
4
4
|
import '../chunk-Z22QVHT4.js';
|
|
5
5
|
import '../chunk-L5UOHS6E.js';
|
package/dist/sync/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { BookingWidget } from '../chunk-
|
|
2
|
-
export { createBooking, createSlotHold, detectTimezone, fetchAvailability, fetchAvailableDates, fetchBookingTypeDetails, fetchBookingTypes, formatDate, formatDuration, formatTime, prepareMeeting, releaseSlotHold } from '../chunk-
|
|
1
|
+
export { BookingWidget } from '../chunk-66G47P5C.js';
|
|
2
|
+
export { createBooking, createSlotHold, detectTimezone, fetchAvailability, fetchAvailableDates, fetchBookingTypeDetails, fetchBookingTypes, formatDate, formatDuration, formatTime, prepareMeeting, releaseSlotHold } from '../chunk-XWIRU6UT.js';
|
|
3
3
|
import '../chunk-3G7YABRA.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-727R7C5R.js';
|
|
5
|
+
import '../chunk-3EU6S5YC.js';
|
|
6
|
+
import '../chunk-Q72M5KBS.js';
|
|
7
7
|
import '../chunk-PKBMQBKP.js';
|
package/dist/website/images.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from '../chunk-
|
|
1
|
+
export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from '../chunk-7FSB2EXS.js';
|
|
2
2
|
export { ManagedFavicon, getManagedFaviconUrl } from '../chunk-GW7GSBO7.js';
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-727R7C5R.js';
|
|
4
|
+
import '../chunk-3EU6S5YC.js';
|
|
5
|
+
import '../chunk-Q72M5KBS.js';
|
|
6
6
|
import '../chunk-PKBMQBKP.js';
|
package/dist/website/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export { SiteDesignReporter } from '../chunk-
|
|
3
|
-
export { SITE_DESIGN_PATH, cleanFontStack, colorToHex, getSiteDesignTokens, measureSiteDesign, readDeclaredDesign, sendSiteDesign } from '../chunk-
|
|
2
|
+
export { SiteDesignReporter } from '../chunk-H4R2GPAB.js';
|
|
3
|
+
export { SITE_DESIGN_PATH, cleanFontStack, colorToHex, getSiteDesignTokens, measureSiteDesign, readDeclaredDesign, sendSiteDesign } from '../chunk-WBC5B3JD.js';
|
|
4
4
|
export { DEFAULT_POPUP_TOKENS, PopupBlocks } from '../chunk-BF7TZYC3.js';
|
|
5
5
|
import '../chunk-IHG36STL.js';
|
|
6
6
|
import '../chunk-YC7ELZS3.js';
|
|
@@ -8,7 +8,7 @@ import '../chunk-S22FSH7C.js';
|
|
|
8
8
|
import '../chunk-CAH4Y4PY.js';
|
|
9
9
|
import '../chunk-EKBEOXTH.js';
|
|
10
10
|
import '../chunk-3G7YABRA.js';
|
|
11
|
-
import '../chunk-
|
|
12
|
-
import '../chunk-
|
|
13
|
-
import '../chunk-
|
|
11
|
+
import '../chunk-727R7C5R.js';
|
|
12
|
+
import '../chunk-3EU6S5YC.js';
|
|
13
|
+
import '../chunk-Q72M5KBS.js';
|
|
14
14
|
import '../chunk-PKBMQBKP.js';
|
package/dist/website/popups.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export { SitePopups } from '../chunk-
|
|
2
|
+
export { SitePopups } from '../chunk-JBEUZJS3.js';
|
|
3
3
|
import '../chunk-27FISYK4.js';
|
|
4
4
|
export { DEFAULT_POPUP_TOKENS, PopupBlocks } from '../chunk-BF7TZYC3.js';
|
|
5
5
|
import '../chunk-IHG36STL.js';
|
|
@@ -11,7 +11,7 @@ import '../chunk-GJWI74ZZ.js';
|
|
|
11
11
|
import '../chunk-CAH4Y4PY.js';
|
|
12
12
|
import '../chunk-EKBEOXTH.js';
|
|
13
13
|
import '../chunk-3G7YABRA.js';
|
|
14
|
-
import '../chunk-
|
|
15
|
-
import '../chunk-
|
|
16
|
-
import '../chunk-
|
|
14
|
+
import '../chunk-727R7C5R.js';
|
|
15
|
+
import '../chunk-3EU6S5YC.js';
|
|
16
|
+
import '../chunk-Q72M5KBS.js';
|
|
17
17
|
import '../chunk-PKBMQBKP.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sonordev/site-kit",
|
|
3
|
-
"version": "8.0
|
|
3
|
+
"version": "8.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"packageManager": "pnpm@11.5.3",
|
|
6
6
|
"description": "The Sonor modules a Next.js site needs, from one package and one API key: SEO, analytics, forms, articles, chat, booking, AI visibility and agent tools. Selling online? Add @sonordev/commerce-kit.",
|
package/src/articles/README.md
CHANGED
|
@@ -326,3 +326,36 @@ Components use `.sk-article-*` and `.sk-article-list-*` classes. Import default
|
|
|
326
326
|
```
|
|
327
327
|
|
|
328
328
|
Or use `unstyled` prop + `children` render prop for complete control.
|
|
329
|
+
|
|
330
|
+
## Supporting photos (8.1)
|
|
331
|
+
|
|
332
|
+
Sonor's article photo plan can attach up to eight supporting images to exact
|
|
333
|
+
places in the article. The public response includes `editorial_photos`, an
|
|
334
|
+
optional array of approved snapshots with `url`, `alt`, optional `caption`,
|
|
335
|
+
`width`, `height`, and `placement`. Placement is `{ kind: 'after_intro' }` or
|
|
336
|
+
`{ kind: 'after_heading', heading: 'Exact section heading' }`. Photo briefs,
|
|
337
|
+
file ownership and private source notes stay in the authenticated API.
|
|
338
|
+
|
|
339
|
+
The default `Article` renderer and the RSS/Atom generators apply these
|
|
340
|
+
placements automatically. Custom publications use the same pure helper after
|
|
341
|
+
converting Markdown to HTML and before rendering their content:
|
|
342
|
+
|
|
343
|
+
```tsx
|
|
344
|
+
import { insertArticlePhotos, articlePhotoCss } from '@sonordev/site-kit/articles/server-ui'
|
|
345
|
+
|
|
346
|
+
const html = insertArticlePhotos(articleHtml, post.editorial_photos)
|
|
347
|
+
// Render articlePhotoCss once and use html with your existing trusted-content policy.
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
The helper inserts a semantic figure after the introduction's first prose
|
|
351
|
+
paragraph or a section's first prose paragraph. It preserves the surrounding
|
|
352
|
+
HTML and includes intrinsic dimensions, descriptions, captions and lazy loading.
|
|
353
|
+
It skips missing or duplicate headings, code examples, tables, existing figures,
|
|
354
|
+
lists, and callouts. An image already in the body isn't inserted again. It
|
|
355
|
+
doesn't sanitize the original article HTML; retain your existing content policy.
|
|
356
|
+
Articles without this field render as before. Custom styles can target
|
|
357
|
+
`.sk-article-photo` and `.sk-article-photo figcaption` or use `articlePhotoCss`.
|
|
358
|
+
|
|
359
|
+
Agents managing photos use the authenticated Sonor article media tools. The
|
|
360
|
+
site's public `get_article` MCP tool only reads the approved photo descriptions
|
|
361
|
+
and placements; it can't attach photos or read planning briefs.
|
|
File without changes
|