@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.
- package/CHANGELOG.md +6 -0
- package/agent-manifest.json +1 -1
- package/dist/{AnalyticsProvider-EGCZ2MVM.js → AnalyticsProvider-UWTCE5UO.js} +4 -4
- package/dist/{ArticleViewTracker-ATNVMT45.js → ArticleViewTracker-MYD6SGNH.js} +3 -3
- package/dist/{BlocksPopup-F636XNO4.js → BlocksPopup-OY5G3EFH.js} +4 -4
- package/dist/{ChatWidget-EQTLKPJX.js → ChatWidget-BTR5VERC.js} +5 -5
- package/dist/{FileField-BUD2YGN5.js → FileField-DEHVYXAO.js} +3 -3
- package/dist/{FormSpotlight-NGH56TGC.js → FormSpotlight-VGC4CZL4.js} +1 -1
- package/dist/{FormStage-XZRC54SY.js → FormStage-CJUSCSAL.js} +1 -1
- package/dist/{ManagedForm-CQDQ4CUN.js → ManagedForm-JCI2KPMO.js} +6 -6
- package/dist/{ManagedNewsletterForm-KCN3BTKA.js → ManagedNewsletterForm-DTE4KKXV.js} +4 -4
- package/dist/{SignalCore-RDQPM2L2.js → SignalCore-LGCBQDEH.js} +3 -3
- package/dist/{SiteChat-QBDOQ5ZZ.js → SiteChat-6SF7PVUT.js} +1 -1
- package/dist/{SiteDesignReporter-426TUCUF.js → SiteDesignReporter-VISQZ5NQ.js} +5 -5
- package/dist/{SitePopups-KLUD6XIE.js → SitePopups-T6YPHAVY.js} +4 -4
- package/dist/{SitemapSync-QOIMV5GO.js → SitemapSync-VKMVRPZL.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-GGZOQG5X.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 +16 -0
- package/dist/chat/index.js +6 -6
- package/dist/{chunk-OE3NXEOF.js → chunk-255NCCPB.js} +1 -1
- package/dist/{chunk-YGXWG54S.js → chunk-2JEUDTL6.js} +1 -1
- package/dist/chunk-2UO4HPGE.js +109 -0
- package/dist/{chunk-H3SDOSVU.js → chunk-47VB5INH.js} +1 -1
- package/dist/{chunk-XPTJRVL2.js → chunk-4Z3DI2EL.js} +3 -2
- package/dist/{chunk-Z6PVFZRI.js → chunk-55GHBRCN.js} +1 -1
- package/dist/{chunk-7BSC6HF3.js → chunk-5L467Z5Q.js} +3 -3
- package/dist/{chunk-6KUCA5HG.js → chunk-6VHDCJIZ.js} +1 -1
- package/dist/{chunk-AGJODJ4V.js → chunk-A3EU6HB5.js} +1 -1
- package/dist/{chunk-6BXUSAOJ.js → chunk-ADI6IYFH.js} +1 -1
- package/dist/{chunk-M62U7TJF.js → chunk-AIDIEVPZ.js} +1 -1
- package/dist/{chunk-B7QRRLTU.js → chunk-CSTC6HZO.js} +2 -2
- package/dist/{chunk-EE6IG5GK.js → chunk-DOMBP3FW.js} +8 -8
- package/dist/{chunk-J6N5DCGW.js → chunk-DSNCU2E3.js} +2 -2
- package/dist/{chunk-Z4MK4VOG.js → chunk-DZV3KPVF.js} +1 -1
- package/dist/{chunk-IY6G67EF.js → chunk-F2VYN3QL.js} +1 -1
- package/dist/{chunk-CAF53GKN.js → chunk-G2HCCWZQ.js} +1 -1
- package/dist/{chunk-FIGIJK5F.js → chunk-IAYGTQJD.js} +1 -1
- package/dist/{chunk-GMXY2OOY.js → chunk-JT52KYHQ.js} +1 -1
- package/dist/{chunk-NKFRW2VB.js → chunk-LLW5HKEE.js} +2 -2
- package/dist/{chunk-S5G3A7OZ.js → chunk-NWVB75ER.js} +1 -1
- package/dist/{chunk-VQQV7FOX.js → chunk-O4DETQJI.js} +1 -1
- package/dist/{chunk-5GB2HHVJ.js → chunk-RSBMQFZW.js} +2 -2
- package/dist/{chunk-3222QBUS.js → chunk-S6IGQYHW.js} +1 -1
- package/dist/{chunk-OCKGB734.js → chunk-TAO6BVA2.js} +1 -1
- package/dist/{chunk-DWNS6ZJM.js → chunk-V56RZH7J.js} +1 -1
- package/dist/{chunk-55JLUMAC.js → chunk-WPOFTCKL.js} +2 -2
- package/dist/{chunk-JCFQGEG7.js → chunk-XUCU3LX4.js} +1 -1
- package/dist/client/index.js +3 -3
- 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-OS2WBSLM.js} +1 -1
- package/package.json +1 -1
- package/src/articles/README.md +33 -0
- /package/dist/{chunk-TZ5RTANX.js → chunk-GC2QWXJ3.js} +0 -0
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-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-
|
|
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-
|
|
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-
|
|
19
|
+
import '../chunk-NWVB75ER.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-OS2WBSLM.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-255NCCPB.js';
|
|
2
|
+
import '../chunk-GC2QWXJ3.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-47VB5INH.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-NWVB75ER.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-DZV3KPVF.js';
|
|
3
|
+
export { SignalBridge, useSignal, useSignalConfig, useSignalEvent, useSignalExperiment, useSignalOutcome } from '../chunk-DZV3KPVF.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-255NCCPB.js';
|
|
2
|
+
import '../chunk-GC2QWXJ3.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-55GHBRCN.js';
|
|
2
|
+
export { createBooking, createSlotHold, detectTimezone, fetchAvailability, fetchAvailableDates, fetchBookingTypeDetails, fetchBookingTypes, formatDate, formatDuration, formatTime, prepareMeeting, releaseSlotHold } from '../chunk-2JEUDTL6.js';
|
|
3
3
|
import '../chunk-3G7YABRA.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-WPOFTCKL.js';
|
|
5
|
+
import '../chunk-F2VYN3QL.js';
|
|
6
|
+
import '../chunk-NWVB75ER.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-ADI6IYFH.js';
|
|
2
2
|
export { ManagedFavicon, getManagedFaviconUrl } from '../chunk-GW7GSBO7.js';
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-WPOFTCKL.js';
|
|
4
|
+
import '../chunk-F2VYN3QL.js';
|
|
5
|
+
import '../chunk-NWVB75ER.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-G2HCCWZQ.js';
|
|
3
|
+
export { SITE_DESIGN_PATH, cleanFontStack, colorToHex, getSiteDesignTokens, measureSiteDesign, readDeclaredDesign, sendSiteDesign } from '../chunk-DSNCU2E3.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-WPOFTCKL.js';
|
|
12
|
+
import '../chunk-F2VYN3QL.js';
|
|
13
|
+
import '../chunk-NWVB75ER.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-LLW5HKEE.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-WPOFTCKL.js';
|
|
15
|
+
import '../chunk-F2VYN3QL.js';
|
|
16
|
+
import '../chunk-NWVB75ER.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.1.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
|