@sonordev/site-kit 8.6.0 → 8.7.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 +11 -0
- package/agent-manifest.json +1 -1
- package/dist/{AnalyticsProvider-GVJYL6XY.js → AnalyticsProvider-3UIQMIRW.js} +6 -6
- package/dist/{ArticleViewTracker-AOJXEBYM.js → ArticleViewTracker-KNXP2DXL.js} +5 -5
- package/dist/{BlocksPopup-AJ3CKVQG.js → BlocksPopup-DFE32GPX.js} +9 -8
- package/dist/{ChatWidget-EYBVB5SZ.js → ChatWidget-L74L4YAD.js} +5 -5
- package/dist/{FileField-UEQYIFRO.js → FileField-P3PLEAON.js} +3 -3
- package/dist/{FormSpotlight-H73ZZ66T.js → FormSpotlight-DNBSBRIE.js} +1 -1
- package/dist/{FormStage-2PLWWYBW.js → FormStage-I4JGLT57.js} +1 -1
- package/dist/{ManagedForm-ZQOFXEWS.js → ManagedForm-GJRGBM6W.js} +6 -6
- package/dist/{ManagedNewsletterForm-5TE47YZD.js → ManagedNewsletterForm-AUZ6YB7G.js} +9 -9
- package/dist/{SignalCore-FEFNMNYN.js → SignalCore-UV7K7PT4.js} +5 -5
- package/dist/SiteChat-6UWE545R.js +6 -0
- package/dist/SiteDesignReporter-ZSU76DZJ.js +13 -0
- package/dist/{SitePopups-C44YTQ3Q.js → SitePopups-XHWU7GNF.js} +6 -6
- package/dist/SitemapSync-ELWV6W7Y.js +9 -0
- package/dist/_client/booking-widget.js +5 -5
- package/dist/affiliates/index.js +3 -3
- package/dist/analytics/content-text.d.ts +17 -0
- package/dist/analytics/index.js +6 -6
- package/dist/{article-styles-VASFBYA3.js → article-styles-D7VCDXMG.js} +2 -1
- package/dist/article-tables-W45BE353.js +3 -0
- package/dist/articles/index.js +7 -20
- package/dist/articles/server-ui.js +29 -55
- package/dist/articles/server.js +6 -5
- package/dist/chat/index.js +8 -8
- package/dist/{chunk-3RDJKIYO.js → chunk-2WDWQI7K.js} +1 -1
- package/dist/{chunk-NI6ZTP3D.js → chunk-36ZMNBXZ.js} +1 -1
- package/dist/chunk-3MJNBOUO.js +8 -0
- package/dist/{chunk-ZZSAWXWD.js → chunk-3MLWIBHX.js} +1 -1
- package/dist/{chunk-BF7TZYC3.js → chunk-52KO4LKD.js} +1 -1
- package/dist/{chunk-U34O6I7W.js → chunk-5WHBYQJ4.js} +3 -3
- package/dist/{chunk-5D7ZISUP.js → chunk-7DYMM6SS.js} +11 -6
- package/dist/{chunk-GFY3E7EQ.js → chunk-7YB3QA4P.js} +15 -7
- package/dist/{chunk-6AWIUO2Z.js → chunk-A2MDVP47.js} +1 -1
- package/dist/{chunk-E4PTMORJ.js → chunk-AL5UCWLI.js} +23 -8
- package/dist/{chunk-O3Z5HHFP.js → chunk-BAJUXQTH.js} +2 -2
- package/dist/{chunk-IGAIQ2B3.js → chunk-BJYX6SFI.js} +2 -2
- package/dist/{chunk-72F44HKL.js → chunk-DJIGFX33.js} +1 -1
- package/dist/{chunk-AJG74ZZV.js → chunk-DPYGC7WE.js} +1 -1
- package/dist/{chunk-XA7Q2VQA.js → chunk-EK7P62DT.js} +1 -1
- package/dist/chunk-FXR5PJDL.js +420 -0
- package/dist/{chunk-OWO3RFEX.js → chunk-G5FD7UXK.js} +1 -1
- package/dist/{chunk-KTMHRXDT.js → chunk-HM7CDWFK.js} +1 -1
- package/dist/{chunk-CMUD37WV.js → chunk-HWQPCZOX.js} +1 -1
- package/dist/{chunk-6KU7STM3.js → chunk-HY7ZEU2C.js} +3 -1
- package/dist/chunk-IBHBEUZV.js +27 -0
- package/dist/{chunk-NUXXFCIT.js → chunk-IXZBOOAD.js} +4 -4
- package/dist/chunk-JESLPEST.js +14 -0
- package/dist/{chunk-BC7JMY4Z.js → chunk-JG53YJLM.js} +58 -1
- package/dist/{chunk-VA6IJ55K.js → chunk-JWCCY72G.js} +1 -1
- package/dist/{chunk-RI2N2EBI.js → chunk-JYITKUUB.js} +13 -5
- package/dist/chunk-KIYACQW3.js +1 -0
- package/dist/{chunk-OFSV5TZY.js → chunk-KLIDCNML.js} +1 -1
- package/dist/{chunk-7R2STOVD.js → chunk-L2KSHJS2.js} +3 -3
- package/dist/{chunk-HMTPRBYJ.js → chunk-LGWN6KCN.js} +1 -1
- package/dist/{chunk-YNBRVVTX.js → chunk-MJW6YIDJ.js} +1 -1
- package/dist/{chunk-BUE3Z32O.js → chunk-MNORERMF.js} +1 -1
- package/dist/{chunk-Y35BWW2C.js → chunk-ODOV76VW.js} +1 -1
- package/dist/{chunk-6NXFA7HE.js → chunk-OHLCE4GC.js} +2 -2
- package/dist/{chunk-QQT2T6JQ.js → chunk-P5PRR2BB.js} +1 -1
- package/dist/{chunk-JJ4JS3LD.js → chunk-PAYCK7FC.js} +1 -1
- package/dist/{chunk-DLM4FFNH.js → chunk-QTBAKOCZ.js} +1 -1
- package/dist/{chunk-L6QTERSH.js → chunk-RHT7OZNF.js} +1 -1
- package/dist/{chunk-YJH6WE76.js → chunk-RWWSOYJO.js} +9 -9
- package/dist/{chunk-JSW42BHL.js → chunk-T6TWPKBL.js} +1 -1
- package/dist/{chunk-FTSEP7Q3.js → chunk-U4OQJQK6.js} +3 -3
- package/dist/{chunk-IYCSDFPN.js → chunk-UYOE3HA4.js} +2 -2
- package/dist/chunk-VEJD5EJ2.js +344 -0
- package/dist/chunk-XAZC2TUD.js +1119 -0
- package/dist/{chunk-DSD3XZQQ.js → chunk-XC2TWYDV.js} +3 -3
- package/dist/{chunk-URJN75ZG.js → chunk-XIDWNXZN.js} +3 -3
- package/dist/chunk-XLAHRN4B.js +1 -0
- package/dist/{chunk-V67OD7RW.js → chunk-XZFOQ2V4.js} +113 -93
- package/dist/{chunk-QNOJSSQT.js → chunk-YYPYLYZM.js} +1 -1
- package/dist/client/index.js +4 -4
- package/dist/contracts/campaign-normalize.d.ts +2 -0
- package/dist/contracts/entries.d.ts +1 -1
- package/dist/contracts/funnels.d.ts +576 -0
- package/dist/contracts/inbox.d.ts +42 -0
- package/dist/contracts/llms.d.ts +200 -0
- package/dist/contracts/portfolio.d.ts +170 -0
- package/dist/contracts/publication-branding.d.ts +10 -2
- package/dist/contracts/site-cache.d.ts +2 -0
- package/dist/fleet/index.js +6 -6
- package/dist/forms/index.js +9 -9
- package/dist/forms/server.js +2 -2
- package/dist/images/index.js +4 -4
- package/dist/index.js +1 -1
- package/dist/landing/contract.d.ts +2 -13
- package/dist/landing/contract.js +2 -0
- package/dist/landing/index.js +4 -2
- package/dist/landing/managed-server.d.ts +21 -0
- package/dist/landing/managed.d.ts +11 -0
- package/dist/landing/metadata.js +2 -0
- package/dist/landing/server.d.ts +5 -0
- package/dist/landing/server.js +19 -2
- package/dist/layout/client.js +9 -9
- package/dist/layout/index.js +10 -10
- package/dist/llms/contract.js +2 -1
- package/dist/llms/index.js +9 -7
- package/dist/llms/merge.d.ts +29 -0
- package/dist/maps/index.js +3 -3
- package/dist/mcp/sonor.js +9 -8
- package/dist/portfolio/contract.js +1 -1
- package/dist/press-kit/articles/article-body.d.ts +13 -0
- package/dist/press-kit/articles/article-heading-ids.d.ts +7 -0
- package/dist/press-kit/articles/article-headings.d.ts +61 -0
- package/dist/press-kit/articles/html-tags.d.ts +46 -0
- package/dist/press-kit/articles/types.d.ts +2 -0
- package/dist/revalidate/index.js +3 -3
- package/dist/runtime/index.js +3 -3
- package/dist/seo/client.js +6 -6
- package/dist/seo/index.js +14 -13
- package/dist/seo/llms/contract.js +2 -1
- package/dist/seo/llms.js +9 -7
- package/dist/seo/meta/contract.js +2 -1
- package/dist/seo/register-sitemap-cli.js +1 -1
- package/dist/seo/server.js +5 -4
- package/dist/seo/sitemap.js +7 -5
- package/dist/seo-meta/contract.js +2 -1
- package/dist/server/index.js +3 -3
- package/dist/{server-api-EGOKC7Q3.js → server-api-XIKDWSNO.js} +2 -2
- package/dist/shared/build-entries.d.ts +3 -1
- package/dist/shared/markdown.d.ts +7 -6
- package/dist/shared/version.d.ts +1 -1
- package/dist/signal/index.js +2 -2
- package/dist/sitemap/index.js +7 -5
- package/dist/slots/index.js +2 -2
- package/dist/sync/index.js +5 -5
- package/dist/website/contract.js +2 -1
- package/dist/website/images.js +4 -4
- package/dist/website/index.js +10 -9
- package/dist/website/landing/server.js +19 -2
- package/dist/website/landing.js +4 -2
- package/dist/website/popups.js +9 -8
- package/dist/website/slots.js +2 -2
- package/dist/{writeLLMsTxt-KHVHNSDM.js → writeLLMsTxt-QN2HIVT4.js} +6 -4
- package/docs.json +5 -0
- package/package.json +1 -1
- package/src/analytics/README.md +1 -1
- package/src/landing/README.md +64 -0
- package/src/llms/README.md +52 -20
- package/dist/SiteChat-3MKYL2XM.js +0 -6
- package/dist/SiteDesignReporter-AJDIBNHI.js +0 -12
- package/dist/SitemapSync-UJA6JVPW.js +0 -9
- package/dist/article-tables-6XHVULPU.js +0 -2
- package/dist/chunk-EKBEOXTH.js +0 -114
- package/dist/chunk-NZ4RXN3G.js +0 -145
- package/dist/chunk-OSYCOC3K.js +0 -21
- /package/dist/{chunk-7ZWO5HDQ.js → chunk-BTHEQDN4.js} +0 -0
- /package/dist/{chunk-BQR4IPBW.js → chunk-ISRBSTB7.js} +0 -0
- /package/dist/{chunk-IHG36STL.js → chunk-XHYE24HU.js} +0 -0
package/dist/chunk-NZ4RXN3G.js
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
// src/contracts/llms.ts
|
|
2
|
-
var LLM_GEO_CONTRACT_VERSION = 1;
|
|
3
|
-
var LLMS_PUBLIC_SUMMARY_MAX_LENGTH = 400;
|
|
4
|
-
var LLMS_DISCLAIMER_MAX_LENGTH = 280;
|
|
5
|
-
var MANAGED_LLM_SCHEMA_KNOWN_KEYS = /* @__PURE__ */ new Set([
|
|
6
|
-
"@context",
|
|
7
|
-
"@type",
|
|
8
|
-
"name",
|
|
9
|
-
"description",
|
|
10
|
-
"url",
|
|
11
|
-
"keywords",
|
|
12
|
-
"audience",
|
|
13
|
-
"about",
|
|
14
|
-
"mainEntity",
|
|
15
|
-
"isPartOf",
|
|
16
|
-
"speakable",
|
|
17
|
-
"additionalType"
|
|
18
|
-
]);
|
|
19
|
-
var SENTENCE_SHARE = 0.4;
|
|
20
|
-
var ELLIPSIS = "\u2026";
|
|
21
|
-
var CLOSERS = /* @__PURE__ */ new Set(['"', "'", ")", "]", "\u201D", "\u2019", "\xBB"]);
|
|
22
|
-
var ABBREVIATIONS = /* @__PURE__ */ new Set([
|
|
23
|
-
"mr",
|
|
24
|
-
"mrs",
|
|
25
|
-
"ms",
|
|
26
|
-
"dr",
|
|
27
|
-
"prof",
|
|
28
|
-
"st",
|
|
29
|
-
"mt",
|
|
30
|
-
"ft",
|
|
31
|
-
"jr",
|
|
32
|
-
"sr",
|
|
33
|
-
"inc",
|
|
34
|
-
"ltd",
|
|
35
|
-
"co",
|
|
36
|
-
"corp",
|
|
37
|
-
"vs",
|
|
38
|
-
"no"
|
|
39
|
-
]);
|
|
40
|
-
var TRAILING_SEPARATORS = /[\s.,;:\-\u2013\u2014/&([{]+$/;
|
|
41
|
-
function clipAtWordBoundary(text, max) {
|
|
42
|
-
const flat = text.replace(/\s+/g, " ").trim();
|
|
43
|
-
if (flat.length <= max) return flat;
|
|
44
|
-
if (max < 2) return flat.slice(0, Math.max(0, max));
|
|
45
|
-
const floor = Math.floor(max * (1 - SENTENCE_SHARE));
|
|
46
|
-
for (let end = max; end > floor; end--) {
|
|
47
|
-
if (endsSentence(flat, end)) return flat.slice(0, end);
|
|
48
|
-
}
|
|
49
|
-
const room = max - 1;
|
|
50
|
-
const space = flat.lastIndexOf(" ", room);
|
|
51
|
-
if (space <= 0) return `${flat.slice(0, room)}${ELLIPSIS}`;
|
|
52
|
-
if (endsSentence(flat, space)) return flat.slice(0, space);
|
|
53
|
-
const head = flat.slice(0, space).replace(TRAILING_SEPARATORS, "");
|
|
54
|
-
return `${head || flat.slice(0, room)}${ELLIPSIS}`;
|
|
55
|
-
}
|
|
56
|
-
function endsSentence(flat, end) {
|
|
57
|
-
if (flat[end] !== " ") return false;
|
|
58
|
-
let i = end - 1;
|
|
59
|
-
while (i > 0 && CLOSERS.has(flat[i])) i--;
|
|
60
|
-
const terminator = flat[i];
|
|
61
|
-
if (terminator === "!" || terminator === "?") return true;
|
|
62
|
-
return terminator === "." && !isAbbreviation(flat, i);
|
|
63
|
-
}
|
|
64
|
-
function isAbbreviation(flat, dot) {
|
|
65
|
-
let start = dot;
|
|
66
|
-
while (start > 0 && flat[start - 1] !== " ") start--;
|
|
67
|
-
const token = flat.slice(start, dot).replace(/^[("'[\u201c\u2018]+/, "").toLowerCase();
|
|
68
|
-
if (token.includes(".") || /^[a-z]$/.test(token)) return true;
|
|
69
|
-
return ABBREVIATIONS.has(token);
|
|
70
|
-
}
|
|
71
|
-
function sanitizeLlmsPublicSummary(raw) {
|
|
72
|
-
if (raw === null || raw === void 0) return null;
|
|
73
|
-
if (typeof raw !== "string") return null;
|
|
74
|
-
let s = raw.trim().replace(/\s+/g, " ");
|
|
75
|
-
s = s.replace(/[\[\]\r\n]/g, " ").replace(/\s+/g, " ").trim();
|
|
76
|
-
s = clipAtWordBoundary(s, LLMS_PUBLIC_SUMMARY_MAX_LENGTH);
|
|
77
|
-
if (/\b[\w.%+-]+@[\w.-]+\.[A-Za-z]{2,}\b/.test(s)) return null;
|
|
78
|
-
if (/\b\+?\d[\d\s().-]{8,}\b/.test(s)) return null;
|
|
79
|
-
if (s.length < 8) return null;
|
|
80
|
-
return s;
|
|
81
|
-
}
|
|
82
|
-
function sanitizeLlmsDisclaimerLine(raw) {
|
|
83
|
-
if (raw === null || raw === void 0) return null;
|
|
84
|
-
if (typeof raw !== "string") return null;
|
|
85
|
-
let s = raw.trim().replace(/\s+/g, " ");
|
|
86
|
-
s = s.replace(/[\[\]\r\n]/g, " ").replace(/\s+/g, " ").trim();
|
|
87
|
-
s = clipAtWordBoundary(s, LLMS_DISCLAIMER_MAX_LENGTH);
|
|
88
|
-
if (/\b[\w.%+-]+@[\w.-]+\.[A-Za-z]{2,}\b/.test(s)) return null;
|
|
89
|
-
if (/\b\+?\d[\d\s().-]{8,}\b/.test(s)) return null;
|
|
90
|
-
if (s.length < 3) return null;
|
|
91
|
-
return s;
|
|
92
|
-
}
|
|
93
|
-
function sanitizePrimaryLanguageTag(raw) {
|
|
94
|
-
if (raw === null || raw === void 0) return null;
|
|
95
|
-
if (typeof raw !== "string") return null;
|
|
96
|
-
const s = raw.trim();
|
|
97
|
-
if (!/^[\w-]{2,20}$/.test(s)) return null;
|
|
98
|
-
return s;
|
|
99
|
-
}
|
|
100
|
-
function isEmittableReviewNode(node) {
|
|
101
|
-
const author = node.author;
|
|
102
|
-
if (typeof author === "string") return author.trim().length > 0;
|
|
103
|
-
if (Array.isArray(author)) {
|
|
104
|
-
return author.some((a) => isEmittableReviewNode({ author: a }));
|
|
105
|
-
}
|
|
106
|
-
if (author && typeof author === "object") {
|
|
107
|
-
const name = author.name;
|
|
108
|
-
return typeof name === "string" && name.trim().length > 0;
|
|
109
|
-
}
|
|
110
|
-
return false;
|
|
111
|
-
}
|
|
112
|
-
var DROP = /* @__PURE__ */ Symbol("drop-invalid-review");
|
|
113
|
-
function stripInvalidReviewNodes(value) {
|
|
114
|
-
if (Array.isArray(value)) {
|
|
115
|
-
return value.map((v) => stripInvalidReviewNodes(v)).filter((v) => v !== DROP);
|
|
116
|
-
}
|
|
117
|
-
if (value && typeof value === "object") {
|
|
118
|
-
const src = value;
|
|
119
|
-
if (src["@type"] === "Review" && !isEmittableReviewNode(src)) return DROP;
|
|
120
|
-
const out = {};
|
|
121
|
-
for (const key of Object.keys(src)) {
|
|
122
|
-
const child = stripInvalidReviewNodes(src[key]);
|
|
123
|
-
if (child === DROP) continue;
|
|
124
|
-
out[key] = child;
|
|
125
|
-
}
|
|
126
|
-
return out;
|
|
127
|
-
}
|
|
128
|
-
return value;
|
|
129
|
-
}
|
|
130
|
-
function pickManagedLlmSchemaForJsonLd(schema) {
|
|
131
|
-
if (!schema || typeof schema !== "object") return null;
|
|
132
|
-
const out = {};
|
|
133
|
-
const omitFromJsonLd = /* @__PURE__ */ new Set(["llms_public_summary"]);
|
|
134
|
-
for (const key of Object.keys(schema)) {
|
|
135
|
-
if (omitFromJsonLd.has(key)) continue;
|
|
136
|
-
if (MANAGED_LLM_SCHEMA_KNOWN_KEYS.has(key)) {
|
|
137
|
-
const value = stripInvalidReviewNodes(schema[key]);
|
|
138
|
-
if (value === DROP) continue;
|
|
139
|
-
out[key] = value;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
return Object.keys(out).length ? out : null;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
export { LLMS_DISCLAIMER_MAX_LENGTH, LLMS_PUBLIC_SUMMARY_MAX_LENGTH, LLM_GEO_CONTRACT_VERSION, MANAGED_LLM_SCHEMA_KNOWN_KEYS, clipAtWordBoundary, isEmittableReviewNode, pickManagedLlmSchemaForJsonLd, sanitizeLlmsDisclaimerLine, sanitizeLlmsPublicSummary, sanitizePrimaryLanguageTag };
|
package/dist/chunk-OSYCOC3K.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
// src/landing/contract.ts
|
|
2
|
-
function normalizeCampaignSlug(input) {
|
|
3
|
-
if (!input || typeof input !== "string") return null;
|
|
4
|
-
const slug = input.trim().toLowerCase().replace(/[\s_]+/g, "-").replace(/[^a-z0-9-]/g, "").replace(/-{2,}/g, "-").replace(/^-+|-+$/g, "").slice(0, 80);
|
|
5
|
-
return slug || null;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
// src/landing/metadata.ts
|
|
9
|
-
function landingPageMetadata(meta = {}) {
|
|
10
|
-
const callerRobots = meta.robots && typeof meta.robots === "object" ? meta.robots : void 0;
|
|
11
|
-
return {
|
|
12
|
-
...meta,
|
|
13
|
-
robots: {
|
|
14
|
-
index: false,
|
|
15
|
-
follow: false,
|
|
16
|
-
...callerRobots
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export { landingPageMetadata, normalizeCampaignSlug };
|
|
File without changes
|
|
File without changes
|
|
File without changes
|