@sonordev/site-kit 1.2.7
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/README.md +376 -0
- package/dist/SetupWizard-Cki06kB0.d.mts +12 -0
- package/dist/SetupWizard-Cki06kB0.d.ts +12 -0
- package/dist/analytics/index.d.mts +93 -0
- package/dist/analytics/index.d.ts +93 -0
- package/dist/analytics/index.js +89 -0
- package/dist/analytics/index.js.map +1 -0
- package/dist/analytics/index.mjs +71 -0
- package/dist/analytics/index.mjs.map +1 -0
- package/dist/api-CWtoFJCO.d.mts +137 -0
- package/dist/api-CWtoFJCO.d.ts +137 -0
- package/dist/blog/index.d.mts +305 -0
- package/dist/blog/index.d.ts +305 -0
- package/dist/blog/index.js +1578 -0
- package/dist/blog/index.js.map +1 -0
- package/dist/blog/index.mjs +1562 -0
- package/dist/blog/index.mjs.map +1 -0
- package/dist/blog/server.d.mts +229 -0
- package/dist/blog/server.d.ts +229 -0
- package/dist/blog/server.js +692 -0
- package/dist/blog/server.js.map +1 -0
- package/dist/blog/server.mjs +666 -0
- package/dist/blog/server.mjs.map +1 -0
- package/dist/chunk-24277A3Q.mjs +968 -0
- package/dist/chunk-24277A3Q.mjs.map +1 -0
- package/dist/chunk-373TK6TZ.js +321 -0
- package/dist/chunk-373TK6TZ.js.map +1 -0
- package/dist/chunk-3MYZS6PD.js +30 -0
- package/dist/chunk-3MYZS6PD.js.map +1 -0
- package/dist/chunk-43GBM4SX.js +283 -0
- package/dist/chunk-43GBM4SX.js.map +1 -0
- package/dist/chunk-4XPGGLVP.mjs +53 -0
- package/dist/chunk-4XPGGLVP.mjs.map +1 -0
- package/dist/chunk-622GAQP5.js +2008 -0
- package/dist/chunk-622GAQP5.js.map +1 -0
- package/dist/chunk-6BIPAKL4.mjs +28 -0
- package/dist/chunk-6BIPAKL4.mjs.map +1 -0
- package/dist/chunk-6ZCISNAB.mjs +343 -0
- package/dist/chunk-6ZCISNAB.mjs.map +1 -0
- package/dist/chunk-72MQFHYJ.js +1429 -0
- package/dist/chunk-72MQFHYJ.js.map +1 -0
- package/dist/chunk-7557OTHW.js +62 -0
- package/dist/chunk-7557OTHW.js.map +1 -0
- package/dist/chunk-7FUV73JZ.js +981 -0
- package/dist/chunk-7FUV73JZ.js.map +1 -0
- package/dist/chunk-7RF6PVHA.mjs +324 -0
- package/dist/chunk-7RF6PVHA.mjs.map +1 -0
- package/dist/chunk-7RYCHO6D.mjs +134 -0
- package/dist/chunk-7RYCHO6D.mjs.map +1 -0
- package/dist/chunk-7UKPRW25.mjs +1999 -0
- package/dist/chunk-7UKPRW25.mjs.map +1 -0
- package/dist/chunk-7URAOG2M.js +14864 -0
- package/dist/chunk-7URAOG2M.js.map +1 -0
- package/dist/chunk-AFAO3TGS.mjs +810 -0
- package/dist/chunk-AFAO3TGS.mjs.map +1 -0
- package/dist/chunk-BYLIU6XG.js +343 -0
- package/dist/chunk-BYLIU6XG.js.map +1 -0
- package/dist/chunk-D63MUKZ6.mjs +4423 -0
- package/dist/chunk-D63MUKZ6.mjs.map +1 -0
- package/dist/chunk-DDKW2FNA.js +390 -0
- package/dist/chunk-DDKW2FNA.js.map +1 -0
- package/dist/chunk-DQYMKR27.mjs +341 -0
- package/dist/chunk-DQYMKR27.mjs.map +1 -0
- package/dist/chunk-DW5UJKHH.js +221 -0
- package/dist/chunk-DW5UJKHH.js.map +1 -0
- package/dist/chunk-EEZCR6E6.js +50 -0
- package/dist/chunk-EEZCR6E6.js.map +1 -0
- package/dist/chunk-GCJXQ4AG.mjs +59 -0
- package/dist/chunk-GCJXQ4AG.mjs.map +1 -0
- package/dist/chunk-JGNQK2G6.mjs +14845 -0
- package/dist/chunk-JGNQK2G6.mjs.map +1 -0
- package/dist/chunk-JTLOJLWQ.mjs +563 -0
- package/dist/chunk-JTLOJLWQ.mjs.map +1 -0
- package/dist/chunk-K23A4G76.mjs +202 -0
- package/dist/chunk-K23A4G76.mjs.map +1 -0
- package/dist/chunk-KKU3K7RG.js +336 -0
- package/dist/chunk-KKU3K7RG.js.map +1 -0
- package/dist/chunk-KUGMH4ZF.js +571 -0
- package/dist/chunk-KUGMH4ZF.js.map +1 -0
- package/dist/chunk-LBVWVP72.js +110 -0
- package/dist/chunk-LBVWVP72.js.map +1 -0
- package/dist/chunk-LIVWLY2P.js +138 -0
- package/dist/chunk-LIVWLY2P.js.map +1 -0
- package/dist/chunk-M2T6R7BA.mjs +1003 -0
- package/dist/chunk-M2T6R7BA.mjs.map +1 -0
- package/dist/chunk-MV3QN7PW.mjs +47 -0
- package/dist/chunk-MV3QN7PW.mjs.map +1 -0
- package/dist/chunk-OB7E654K.js +72 -0
- package/dist/chunk-OB7E654K.js.map +1 -0
- package/dist/chunk-OIIKTGRL.mjs +380 -0
- package/dist/chunk-OIIKTGRL.mjs.map +1 -0
- package/dist/chunk-P3UWIUJS.mjs +1427 -0
- package/dist/chunk-P3UWIUJS.mjs.map +1 -0
- package/dist/chunk-PKN27UMH.mjs +136 -0
- package/dist/chunk-PKN27UMH.mjs.map +1 -0
- package/dist/chunk-QXV4667R.mjs +105 -0
- package/dist/chunk-QXV4667R.mjs.map +1 -0
- package/dist/chunk-S7FRYNSU.mjs +315 -0
- package/dist/chunk-S7FRYNSU.mjs.map +1 -0
- package/dist/chunk-TFLQX7K7.mjs +68 -0
- package/dist/chunk-TFLQX7K7.mjs.map +1 -0
- package/dist/chunk-UWE5PCYJ.mjs +279 -0
- package/dist/chunk-UWE5PCYJ.mjs.map +1 -0
- package/dist/chunk-UYFDNX2F.js +4469 -0
- package/dist/chunk-UYFDNX2F.js.map +1 -0
- package/dist/chunk-W4PALSGM.js +350 -0
- package/dist/chunk-W4PALSGM.js.map +1 -0
- package/dist/chunk-WECQ6KOB.js +1008 -0
- package/dist/chunk-WECQ6KOB.js.map +1 -0
- package/dist/chunk-XQQWI6WB.js +814 -0
- package/dist/chunk-XQQWI6WB.js.map +1 -0
- package/dist/chunk-XZJOZJB6.js +140 -0
- package/dist/chunk-XZJOZJB6.js.map +1 -0
- package/dist/chunk-ZSMWDLMK.js +63 -0
- package/dist/chunk-ZSMWDLMK.js.map +1 -0
- package/dist/cli/index.js +37243 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/index.mjs +37209 -0
- package/dist/cli/index.mjs.map +1 -0
- package/dist/commerce/index.d.mts +170 -0
- package/dist/commerce/index.d.ts +170 -0
- package/dist/commerce/index.js +174 -0
- package/dist/commerce/index.js.map +1 -0
- package/dist/commerce/index.mjs +5 -0
- package/dist/commerce/index.mjs.map +1 -0
- package/dist/commerce/server.d.mts +107 -0
- package/dist/commerce/server.d.ts +107 -0
- package/dist/commerce/server.js +187 -0
- package/dist/commerce/server.js.map +1 -0
- package/dist/commerce/server.mjs +177 -0
- package/dist/commerce/server.mjs.map +1 -0
- package/dist/config/index.d.mts +43 -0
- package/dist/config/index.d.ts +43 -0
- package/dist/config/index.js +66 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/index.mjs +64 -0
- package/dist/config/index.mjs.map +1 -0
- package/dist/engage/index.d.mts +33 -0
- package/dist/engage/index.d.ts +33 -0
- package/dist/engage/index.js +22 -0
- package/dist/engage/index.js.map +1 -0
- package/dist/engage/index.mjs +5 -0
- package/dist/engage/index.mjs.map +1 -0
- package/dist/forms/index.d.mts +437 -0
- package/dist/forms/index.d.ts +437 -0
- package/dist/forms/index.js +1168 -0
- package/dist/forms/index.js.map +1 -0
- package/dist/forms/index.mjs +1142 -0
- package/dist/forms/index.mjs.map +1 -0
- package/dist/generators-2XKQMPKH.mjs +4 -0
- package/dist/generators-2XKQMPKH.mjs.map +1 -0
- package/dist/generators-DTMO36DV.js +33 -0
- package/dist/generators-DTMO36DV.js.map +1 -0
- package/dist/images/index.d.mts +4 -0
- package/dist/images/index.d.ts +4 -0
- package/dist/images/index.js +46 -0
- package/dist/images/index.js.map +1 -0
- package/dist/images/index.mjs +5 -0
- package/dist/images/index.mjs.map +1 -0
- package/dist/images/server.d.mts +69 -0
- package/dist/images/server.d.ts +69 -0
- package/dist/images/server.js +21 -0
- package/dist/images/server.js.map +1 -0
- package/dist/images/server.mjs +4 -0
- package/dist/images/server.mjs.map +1 -0
- package/dist/index.d.mts +846 -0
- package/dist/index.d.ts +846 -0
- package/dist/index.js +2623 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2416 -0
- package/dist/index.mjs.map +1 -0
- package/dist/layout/index.d.mts +53 -0
- package/dist/layout/index.d.ts +53 -0
- package/dist/layout/index.js +187 -0
- package/dist/layout/index.js.map +1 -0
- package/dist/layout/index.mjs +185 -0
- package/dist/layout/index.mjs.map +1 -0
- package/dist/llms/index.d.mts +448 -0
- package/dist/llms/index.d.ts +448 -0
- package/dist/llms/index.js +581 -0
- package/dist/llms/index.js.map +1 -0
- package/dist/llms/index.mjs +529 -0
- package/dist/llms/index.mjs.map +1 -0
- package/dist/manifest/index.d.mts +62 -0
- package/dist/manifest/index.d.ts +62 -0
- package/dist/manifest/index.js +85 -0
- package/dist/manifest/index.js.map +1 -0
- package/dist/manifest/index.mjs +83 -0
- package/dist/manifest/index.mjs.map +1 -0
- package/dist/middleware/index.d.mts +63 -0
- package/dist/middleware/index.d.ts +63 -0
- package/dist/middleware/index.js +54 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/index.mjs +51 -0
- package/dist/middleware/index.mjs.map +1 -0
- package/dist/migrator-2MQHOFDQ.mjs +4 -0
- package/dist/migrator-2MQHOFDQ.mjs.map +1 -0
- package/dist/migrator-THJCF6MZ.js +37 -0
- package/dist/migrator-THJCF6MZ.js.map +1 -0
- package/dist/redirects/index.d.mts +78 -0
- package/dist/redirects/index.d.ts +78 -0
- package/dist/redirects/index.js +26 -0
- package/dist/redirects/index.js.map +1 -0
- package/dist/redirects/index.mjs +5 -0
- package/dist/redirects/index.mjs.map +1 -0
- package/dist/reputation/index.d.mts +57 -0
- package/dist/reputation/index.d.ts +57 -0
- package/dist/reputation/index.js +21 -0
- package/dist/reputation/index.js.map +1 -0
- package/dist/reputation/index.mjs +4 -0
- package/dist/reputation/index.mjs.map +1 -0
- package/dist/robots/index.d.mts +38 -0
- package/dist/robots/index.d.ts +38 -0
- package/dist/robots/index.js +52 -0
- package/dist/robots/index.js.map +1 -0
- package/dist/robots/index.mjs +50 -0
- package/dist/robots/index.mjs.map +1 -0
- package/dist/routing-B5XS-6_W.d.mts +118 -0
- package/dist/routing-DZYzyDHw.d.ts +118 -0
- package/dist/scanner-GAF5PO5F.js +53 -0
- package/dist/scanner-GAF5PO5F.js.map +1 -0
- package/dist/scanner-LKJKW7IT.mjs +4 -0
- package/dist/scanner-LKJKW7IT.mjs.map +1 -0
- package/dist/securityHeaders-nwZ6nP4g.d.mts +24 -0
- package/dist/securityHeaders-nwZ6nP4g.d.ts +24 -0
- package/dist/seo/index.d.mts +600 -0
- package/dist/seo/index.d.ts +600 -0
- package/dist/seo/index.js +883 -0
- package/dist/seo/index.js.map +1 -0
- package/dist/seo/index.mjs +773 -0
- package/dist/seo/index.mjs.map +1 -0
- package/dist/seo/register-sitemap-cli.js +151 -0
- package/dist/seo/register-sitemap-cli.js.map +1 -0
- package/dist/seo/register-sitemap-cli.mjs +144 -0
- package/dist/seo/register-sitemap-cli.mjs.map +1 -0
- package/dist/seo/server.d.mts +107 -0
- package/dist/seo/server.d.ts +107 -0
- package/dist/seo/server.js +207 -0
- package/dist/seo/server.js.map +1 -0
- package/dist/seo/server.mjs +186 -0
- package/dist/seo/server.mjs.map +1 -0
- package/dist/server-api-EWXKOQZA.mjs +4 -0
- package/dist/server-api-EWXKOQZA.mjs.map +1 -0
- package/dist/server-api-GJPNRYUP.js +81 -0
- package/dist/server-api-GJPNRYUP.js.map +1 -0
- package/dist/setup/client.d.mts +60 -0
- package/dist/setup/client.d.ts +60 -0
- package/dist/setup/client.js +31 -0
- package/dist/setup/client.js.map +1 -0
- package/dist/setup/client.mjs +6 -0
- package/dist/setup/client.mjs.map +1 -0
- package/dist/setup/index.d.mts +5 -0
- package/dist/setup/index.d.ts +5 -0
- package/dist/setup/index.js +35 -0
- package/dist/setup/index.js.map +1 -0
- package/dist/setup/index.mjs +6 -0
- package/dist/setup/index.mjs.map +1 -0
- package/dist/setup/server.d.mts +14 -0
- package/dist/setup/server.d.ts +14 -0
- package/dist/setup/server.js +13 -0
- package/dist/setup/server.js.map +1 -0
- package/dist/setup/server.mjs +4 -0
- package/dist/setup/server.mjs.map +1 -0
- package/dist/site-config/index.d.mts +24 -0
- package/dist/site-config/index.d.ts +24 -0
- package/dist/site-config/index.js +17 -0
- package/dist/site-config/index.js.map +1 -0
- package/dist/site-config/index.mjs +4 -0
- package/dist/site-config/index.mjs.map +1 -0
- package/dist/sitemap/index.d.mts +96 -0
- package/dist/sitemap/index.d.ts +96 -0
- package/dist/sitemap/index.js +288 -0
- package/dist/sitemap/index.js.map +1 -0
- package/dist/sitemap/index.mjs +285 -0
- package/dist/sitemap/index.mjs.map +1 -0
- package/dist/socket-loader-J26QHHOB.js +16 -0
- package/dist/socket-loader-J26QHHOB.js.map +1 -0
- package/dist/socket-loader-R7S2YJ2J.mjs +14 -0
- package/dist/socket-loader-R7S2YJ2J.mjs.map +1 -0
- package/dist/types-0dmq3k20.d.mts +168 -0
- package/dist/types-0dmq3k20.d.ts +168 -0
- package/dist/types-Blb2QNkV.d.mts +263 -0
- package/dist/types-Blb2QNkV.d.ts +263 -0
- package/dist/types-BnCwwUX3.d.mts +250 -0
- package/dist/types-BnCwwUX3.d.ts +250 -0
- package/dist/types-CGlnp43R.d.mts +312 -0
- package/dist/types-CGlnp43R.d.ts +312 -0
- package/dist/types-D08004rU.d.mts +179 -0
- package/dist/types-D08004rU.d.ts +179 -0
- package/dist/types-DNSYU7qI.d.mts +127 -0
- package/dist/types-DNSYU7qI.d.ts +127 -0
- package/dist/types-KZP_VWZp.d.mts +266 -0
- package/dist/types-KZP_VWZp.d.ts +266 -0
- package/dist/useEventModal-BVTx69XE.d.mts +274 -0
- package/dist/useEventModal-Dx1dItTJ.d.ts +274 -0
- package/dist/web-vitals-444RLW3B.js +252 -0
- package/dist/web-vitals-444RLW3B.js.map +1 -0
- package/dist/web-vitals-KPICZIEF.mjs +241 -0
- package/dist/web-vitals-KPICZIEF.mjs.map +1 -0
- package/package.json +192 -0
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @sonordev/site-kit/llms - Types
|
|
3
|
+
*
|
|
4
|
+
* LLM Visibility Types for Answer Engine Optimization (AEO)
|
|
5
|
+
*/
|
|
6
|
+
interface LLMBusinessInfo {
|
|
7
|
+
/** Business/organization name */
|
|
8
|
+
name: string;
|
|
9
|
+
/** One-line tagline or mission */
|
|
10
|
+
tagline?: string;
|
|
11
|
+
/** Longer description (1-3 paragraphs) */
|
|
12
|
+
description: string;
|
|
13
|
+
/** Industry/category */
|
|
14
|
+
industry?: string;
|
|
15
|
+
/** Primary service area (city, region, or "nationwide") */
|
|
16
|
+
service_area?: string;
|
|
17
|
+
/** Year established */
|
|
18
|
+
founded?: string;
|
|
19
|
+
/** Website URL */
|
|
20
|
+
website: string;
|
|
21
|
+
}
|
|
22
|
+
interface LLMContactInfo {
|
|
23
|
+
/** Primary phone */
|
|
24
|
+
phone?: string;
|
|
25
|
+
/** Primary email */
|
|
26
|
+
email?: string;
|
|
27
|
+
/** Street address */
|
|
28
|
+
address?: string;
|
|
29
|
+
/** City */
|
|
30
|
+
city?: string;
|
|
31
|
+
/** State/province */
|
|
32
|
+
state?: string;
|
|
33
|
+
/** ZIP/postal code */
|
|
34
|
+
postal_code?: string;
|
|
35
|
+
/** Country */
|
|
36
|
+
country?: string;
|
|
37
|
+
/** Business hours (e.g., "Mon-Fri 9am-5pm EST") */
|
|
38
|
+
hours?: string;
|
|
39
|
+
}
|
|
40
|
+
interface LLMService {
|
|
41
|
+
/** Service name */
|
|
42
|
+
name: string;
|
|
43
|
+
/** Brief description */
|
|
44
|
+
description: string;
|
|
45
|
+
/** URL path to service page */
|
|
46
|
+
url?: string;
|
|
47
|
+
}
|
|
48
|
+
interface LLMFAQItem {
|
|
49
|
+
/** Question */
|
|
50
|
+
question: string;
|
|
51
|
+
/** Answer */
|
|
52
|
+
answer: string;
|
|
53
|
+
}
|
|
54
|
+
interface LLMPageSummary {
|
|
55
|
+
/** Page path */
|
|
56
|
+
path: string;
|
|
57
|
+
/** Page title */
|
|
58
|
+
title: string;
|
|
59
|
+
/** Brief description of page content */
|
|
60
|
+
description?: string;
|
|
61
|
+
}
|
|
62
|
+
interface GenerateLLMSTxtOptions {
|
|
63
|
+
/** Project ID for fetching data (optional - uses API key's project) */
|
|
64
|
+
projectId?: string;
|
|
65
|
+
/** When Portal returns empty services/faq/pages, use this to supply local site data */
|
|
66
|
+
getLocalData?: () => Promise<LLMsDataResponse | null>;
|
|
67
|
+
/** Include business info section */
|
|
68
|
+
includeBusinessInfo?: boolean;
|
|
69
|
+
/** Include services list */
|
|
70
|
+
includeServices?: boolean;
|
|
71
|
+
/** Include FAQ section */
|
|
72
|
+
includeFAQ?: boolean;
|
|
73
|
+
/** Include page index */
|
|
74
|
+
includePages?: boolean;
|
|
75
|
+
/** Include contact info */
|
|
76
|
+
includeContact?: boolean;
|
|
77
|
+
/** Maximum number of FAQ items */
|
|
78
|
+
maxFAQItems?: number;
|
|
79
|
+
/** Maximum number of pages to list */
|
|
80
|
+
maxPages?: number;
|
|
81
|
+
/** Include entity knowledge graph section (default: true) */
|
|
82
|
+
includeEntities?: boolean;
|
|
83
|
+
/** Maximum number of entities to include (default: 50) */
|
|
84
|
+
maxEntities?: number;
|
|
85
|
+
/** Custom sections to append */
|
|
86
|
+
customSections?: Array<{
|
|
87
|
+
title: string;
|
|
88
|
+
content: string;
|
|
89
|
+
}>;
|
|
90
|
+
}
|
|
91
|
+
interface LLMSTxtContent {
|
|
92
|
+
/** Raw markdown content */
|
|
93
|
+
markdown: string;
|
|
94
|
+
/** Metadata about generation */
|
|
95
|
+
metadata: {
|
|
96
|
+
generated_at: string;
|
|
97
|
+
project_id: string;
|
|
98
|
+
sections: string[];
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
interface SpeakableConfig {
|
|
102
|
+
/** CSS selectors for speakable content */
|
|
103
|
+
cssSelectors?: string[];
|
|
104
|
+
/** XPath selectors for speakable content */
|
|
105
|
+
xPaths?: string[];
|
|
106
|
+
}
|
|
107
|
+
interface SpeakableSchemaProps {
|
|
108
|
+
/** Page type - Article or WebPage */
|
|
109
|
+
type: 'Article' | 'WebPage';
|
|
110
|
+
/** Page name/title */
|
|
111
|
+
name: string;
|
|
112
|
+
/** Page URL */
|
|
113
|
+
url: string;
|
|
114
|
+
/** Speakable content selectors */
|
|
115
|
+
speakable: SpeakableConfig;
|
|
116
|
+
/** Additional schema properties */
|
|
117
|
+
additionalProperties?: Record<string, unknown>;
|
|
118
|
+
}
|
|
119
|
+
interface AEOBlockProps {
|
|
120
|
+
/** Block ID for speakable reference */
|
|
121
|
+
id?: string;
|
|
122
|
+
/** Type of content block */
|
|
123
|
+
type: 'summary' | 'definition' | 'answer' | 'list' | 'steps' | 'comparison';
|
|
124
|
+
/** Optional question (for Q&A format) */
|
|
125
|
+
question?: string;
|
|
126
|
+
/** Whether to mark as speakable */
|
|
127
|
+
speakable?: boolean;
|
|
128
|
+
/** Entity ID for knowledge graph linking */
|
|
129
|
+
entityId?: string;
|
|
130
|
+
/** Children content */
|
|
131
|
+
children: React.ReactNode;
|
|
132
|
+
/** Optional CSS class */
|
|
133
|
+
className?: string;
|
|
134
|
+
}
|
|
135
|
+
interface AEOSummaryProps {
|
|
136
|
+
/** Title for the summary */
|
|
137
|
+
title?: string;
|
|
138
|
+
/** Key points to highlight */
|
|
139
|
+
points: string[];
|
|
140
|
+
/** Whether to mark as speakable */
|
|
141
|
+
speakable?: boolean;
|
|
142
|
+
/** Entity ID for knowledge graph linking */
|
|
143
|
+
entityId?: string;
|
|
144
|
+
/** Optional CSS class */
|
|
145
|
+
className?: string;
|
|
146
|
+
}
|
|
147
|
+
interface AEODefinitionProps {
|
|
148
|
+
/** Term being defined */
|
|
149
|
+
term: string;
|
|
150
|
+
/** Definition */
|
|
151
|
+
definition: string;
|
|
152
|
+
/** Whether to mark as speakable */
|
|
153
|
+
speakable?: boolean;
|
|
154
|
+
/** Entity ID for knowledge graph linking */
|
|
155
|
+
entityId?: string;
|
|
156
|
+
/** Source for the definition (e.g., statute code) */
|
|
157
|
+
source?: string;
|
|
158
|
+
/** Optional CSS class */
|
|
159
|
+
className?: string;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* AEOClaimProps - AI-Verifiable Claim with Provenance
|
|
163
|
+
*
|
|
164
|
+
* For wrapping factual claims with machine-readable source attribution.
|
|
165
|
+
* LLMs heavily favor content with verifiable sources and confidence scores.
|
|
166
|
+
*/
|
|
167
|
+
interface AEOClaimProps {
|
|
168
|
+
/** Source reference (e.g., "KRS 281A.170", "NIH Study 2024") */
|
|
169
|
+
source: string;
|
|
170
|
+
/** URL to source document */
|
|
171
|
+
sourceUrl?: string;
|
|
172
|
+
/** Confidence score 0-1 */
|
|
173
|
+
confidence?: number;
|
|
174
|
+
/** Type of claim */
|
|
175
|
+
claimType?: 'fact' | 'statute' | 'study' | 'quote' | 'statistic';
|
|
176
|
+
/** When the source was retrieved */
|
|
177
|
+
retrievedAt?: string;
|
|
178
|
+
/** Children content */
|
|
179
|
+
children: React.ReactNode;
|
|
180
|
+
/** Optional CSS class */
|
|
181
|
+
className?: string;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* AEOEntityProps - Inline Entity Annotation
|
|
185
|
+
*
|
|
186
|
+
* For annotating entity mentions with knowledge graph IDs.
|
|
187
|
+
*/
|
|
188
|
+
interface AEOEntityProps {
|
|
189
|
+
/** Entity ID from knowledge graph */
|
|
190
|
+
entityId: string;
|
|
191
|
+
/** Entity type */
|
|
192
|
+
entityType: 'organization' | 'person' | 'service' | 'product' | 'location' | 'concept' | 'credential';
|
|
193
|
+
/** Canonical entity name */
|
|
194
|
+
name: string;
|
|
195
|
+
/** Entity URL */
|
|
196
|
+
url?: string;
|
|
197
|
+
/** Children content */
|
|
198
|
+
children: React.ReactNode;
|
|
199
|
+
/** Optional CSS class */
|
|
200
|
+
className?: string;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* ContentProvenance - Source attribution for content
|
|
204
|
+
*
|
|
205
|
+
* Links content to authoritative sources for AI verification.
|
|
206
|
+
*/
|
|
207
|
+
interface ContentProvenance {
|
|
208
|
+
/** Unique provenance ID */
|
|
209
|
+
id: string;
|
|
210
|
+
/** Type of source */
|
|
211
|
+
source_type: 'press_release' | 'news_article' | 'legal_statute' | 'research_paper' | 'official_document' | 'internal' | 'citation';
|
|
212
|
+
/** Source title */
|
|
213
|
+
title: string;
|
|
214
|
+
/** Source URL */
|
|
215
|
+
url?: string;
|
|
216
|
+
/** Publisher/organization name */
|
|
217
|
+
publisher?: string;
|
|
218
|
+
/** Publication date */
|
|
219
|
+
published_at?: string;
|
|
220
|
+
/** Date accessed */
|
|
221
|
+
accessed_at?: string;
|
|
222
|
+
/** Brief excerpt or summary */
|
|
223
|
+
excerpt?: string;
|
|
224
|
+
/** Confidence score 0-1 */
|
|
225
|
+
confidence?: number;
|
|
226
|
+
/** DOI or other identifier */
|
|
227
|
+
identifier?: string;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* AEOProvenanceListProps - Display provenance sources
|
|
231
|
+
*/
|
|
232
|
+
interface AEOProvenanceListProps {
|
|
233
|
+
/** List of provenance sources */
|
|
234
|
+
sources: ContentProvenance[];
|
|
235
|
+
/** Title for the section */
|
|
236
|
+
title?: string;
|
|
237
|
+
/** Optional CSS class */
|
|
238
|
+
className?: string;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* AEOCitedContentProps - Content with inline citations
|
|
242
|
+
*
|
|
243
|
+
* Wraps content that has numbered citations referencing provenance sources.
|
|
244
|
+
*/
|
|
245
|
+
interface AEOCitedContentProps {
|
|
246
|
+
/** Content with [1], [2] style inline citations */
|
|
247
|
+
children: React.ReactNode;
|
|
248
|
+
/** Provenance sources (index matches citation number) */
|
|
249
|
+
sources: ContentProvenance[];
|
|
250
|
+
/** Whether to show sources list at bottom */
|
|
251
|
+
showSourcesList?: boolean;
|
|
252
|
+
/** Optional CSS class */
|
|
253
|
+
className?: string;
|
|
254
|
+
}
|
|
255
|
+
interface LLMsDataResponse {
|
|
256
|
+
business: LLMBusinessInfo;
|
|
257
|
+
contact?: LLMContactInfo;
|
|
258
|
+
services: LLMService[];
|
|
259
|
+
faq: LLMFAQItem[];
|
|
260
|
+
pages: LLMPageSummary[];
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
export type { AEOBlockProps as A, ContentProvenance as C, GenerateLLMSTxtOptions as G, LLMsDataResponse as L, SpeakableSchemaProps as S, LLMSTxtContent as a, SpeakableConfig as b, AEOSummaryProps as c, AEODefinitionProps as d, AEOClaimProps as e, LLMBusinessInfo as f, LLMService as g, LLMFAQItem as h, LLMPageSummary as i, LLMContactInfo as j, AEOEntityProps as k, AEOProvenanceListProps as l, AEOCitedContentProps as m };
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @sonordev/site-kit/llms - Types
|
|
3
|
+
*
|
|
4
|
+
* LLM Visibility Types for Answer Engine Optimization (AEO)
|
|
5
|
+
*/
|
|
6
|
+
interface LLMBusinessInfo {
|
|
7
|
+
/** Business/organization name */
|
|
8
|
+
name: string;
|
|
9
|
+
/** One-line tagline or mission */
|
|
10
|
+
tagline?: string;
|
|
11
|
+
/** Longer description (1-3 paragraphs) */
|
|
12
|
+
description: string;
|
|
13
|
+
/** Industry/category */
|
|
14
|
+
industry?: string;
|
|
15
|
+
/** Primary service area (city, region, or "nationwide") */
|
|
16
|
+
service_area?: string;
|
|
17
|
+
/** Year established */
|
|
18
|
+
founded?: string;
|
|
19
|
+
/** Website URL */
|
|
20
|
+
website: string;
|
|
21
|
+
}
|
|
22
|
+
interface LLMContactInfo {
|
|
23
|
+
/** Primary phone */
|
|
24
|
+
phone?: string;
|
|
25
|
+
/** Primary email */
|
|
26
|
+
email?: string;
|
|
27
|
+
/** Street address */
|
|
28
|
+
address?: string;
|
|
29
|
+
/** City */
|
|
30
|
+
city?: string;
|
|
31
|
+
/** State/province */
|
|
32
|
+
state?: string;
|
|
33
|
+
/** ZIP/postal code */
|
|
34
|
+
postal_code?: string;
|
|
35
|
+
/** Country */
|
|
36
|
+
country?: string;
|
|
37
|
+
/** Business hours (e.g., "Mon-Fri 9am-5pm EST") */
|
|
38
|
+
hours?: string;
|
|
39
|
+
}
|
|
40
|
+
interface LLMService {
|
|
41
|
+
/** Service name */
|
|
42
|
+
name: string;
|
|
43
|
+
/** Brief description */
|
|
44
|
+
description: string;
|
|
45
|
+
/** URL path to service page */
|
|
46
|
+
url?: string;
|
|
47
|
+
}
|
|
48
|
+
interface LLMFAQItem {
|
|
49
|
+
/** Question */
|
|
50
|
+
question: string;
|
|
51
|
+
/** Answer */
|
|
52
|
+
answer: string;
|
|
53
|
+
}
|
|
54
|
+
interface LLMPageSummary {
|
|
55
|
+
/** Page path */
|
|
56
|
+
path: string;
|
|
57
|
+
/** Page title */
|
|
58
|
+
title: string;
|
|
59
|
+
/** Brief description of page content */
|
|
60
|
+
description?: string;
|
|
61
|
+
}
|
|
62
|
+
interface GenerateLLMSTxtOptions {
|
|
63
|
+
/** Project ID for fetching data (optional - uses API key's project) */
|
|
64
|
+
projectId?: string;
|
|
65
|
+
/** When Portal returns empty services/faq/pages, use this to supply local site data */
|
|
66
|
+
getLocalData?: () => Promise<LLMsDataResponse | null>;
|
|
67
|
+
/** Include business info section */
|
|
68
|
+
includeBusinessInfo?: boolean;
|
|
69
|
+
/** Include services list */
|
|
70
|
+
includeServices?: boolean;
|
|
71
|
+
/** Include FAQ section */
|
|
72
|
+
includeFAQ?: boolean;
|
|
73
|
+
/** Include page index */
|
|
74
|
+
includePages?: boolean;
|
|
75
|
+
/** Include contact info */
|
|
76
|
+
includeContact?: boolean;
|
|
77
|
+
/** Maximum number of FAQ items */
|
|
78
|
+
maxFAQItems?: number;
|
|
79
|
+
/** Maximum number of pages to list */
|
|
80
|
+
maxPages?: number;
|
|
81
|
+
/** Include entity knowledge graph section (default: true) */
|
|
82
|
+
includeEntities?: boolean;
|
|
83
|
+
/** Maximum number of entities to include (default: 50) */
|
|
84
|
+
maxEntities?: number;
|
|
85
|
+
/** Custom sections to append */
|
|
86
|
+
customSections?: Array<{
|
|
87
|
+
title: string;
|
|
88
|
+
content: string;
|
|
89
|
+
}>;
|
|
90
|
+
}
|
|
91
|
+
interface LLMSTxtContent {
|
|
92
|
+
/** Raw markdown content */
|
|
93
|
+
markdown: string;
|
|
94
|
+
/** Metadata about generation */
|
|
95
|
+
metadata: {
|
|
96
|
+
generated_at: string;
|
|
97
|
+
project_id: string;
|
|
98
|
+
sections: string[];
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
interface SpeakableConfig {
|
|
102
|
+
/** CSS selectors for speakable content */
|
|
103
|
+
cssSelectors?: string[];
|
|
104
|
+
/** XPath selectors for speakable content */
|
|
105
|
+
xPaths?: string[];
|
|
106
|
+
}
|
|
107
|
+
interface SpeakableSchemaProps {
|
|
108
|
+
/** Page type - Article or WebPage */
|
|
109
|
+
type: 'Article' | 'WebPage';
|
|
110
|
+
/** Page name/title */
|
|
111
|
+
name: string;
|
|
112
|
+
/** Page URL */
|
|
113
|
+
url: string;
|
|
114
|
+
/** Speakable content selectors */
|
|
115
|
+
speakable: SpeakableConfig;
|
|
116
|
+
/** Additional schema properties */
|
|
117
|
+
additionalProperties?: Record<string, unknown>;
|
|
118
|
+
}
|
|
119
|
+
interface AEOBlockProps {
|
|
120
|
+
/** Block ID for speakable reference */
|
|
121
|
+
id?: string;
|
|
122
|
+
/** Type of content block */
|
|
123
|
+
type: 'summary' | 'definition' | 'answer' | 'list' | 'steps' | 'comparison';
|
|
124
|
+
/** Optional question (for Q&A format) */
|
|
125
|
+
question?: string;
|
|
126
|
+
/** Whether to mark as speakable */
|
|
127
|
+
speakable?: boolean;
|
|
128
|
+
/** Entity ID for knowledge graph linking */
|
|
129
|
+
entityId?: string;
|
|
130
|
+
/** Children content */
|
|
131
|
+
children: React.ReactNode;
|
|
132
|
+
/** Optional CSS class */
|
|
133
|
+
className?: string;
|
|
134
|
+
}
|
|
135
|
+
interface AEOSummaryProps {
|
|
136
|
+
/** Title for the summary */
|
|
137
|
+
title?: string;
|
|
138
|
+
/** Key points to highlight */
|
|
139
|
+
points: string[];
|
|
140
|
+
/** Whether to mark as speakable */
|
|
141
|
+
speakable?: boolean;
|
|
142
|
+
/** Entity ID for knowledge graph linking */
|
|
143
|
+
entityId?: string;
|
|
144
|
+
/** Optional CSS class */
|
|
145
|
+
className?: string;
|
|
146
|
+
}
|
|
147
|
+
interface AEODefinitionProps {
|
|
148
|
+
/** Term being defined */
|
|
149
|
+
term: string;
|
|
150
|
+
/** Definition */
|
|
151
|
+
definition: string;
|
|
152
|
+
/** Whether to mark as speakable */
|
|
153
|
+
speakable?: boolean;
|
|
154
|
+
/** Entity ID for knowledge graph linking */
|
|
155
|
+
entityId?: string;
|
|
156
|
+
/** Source for the definition (e.g., statute code) */
|
|
157
|
+
source?: string;
|
|
158
|
+
/** Optional CSS class */
|
|
159
|
+
className?: string;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* AEOClaimProps - AI-Verifiable Claim with Provenance
|
|
163
|
+
*
|
|
164
|
+
* For wrapping factual claims with machine-readable source attribution.
|
|
165
|
+
* LLMs heavily favor content with verifiable sources and confidence scores.
|
|
166
|
+
*/
|
|
167
|
+
interface AEOClaimProps {
|
|
168
|
+
/** Source reference (e.g., "KRS 281A.170", "NIH Study 2024") */
|
|
169
|
+
source: string;
|
|
170
|
+
/** URL to source document */
|
|
171
|
+
sourceUrl?: string;
|
|
172
|
+
/** Confidence score 0-1 */
|
|
173
|
+
confidence?: number;
|
|
174
|
+
/** Type of claim */
|
|
175
|
+
claimType?: 'fact' | 'statute' | 'study' | 'quote' | 'statistic';
|
|
176
|
+
/** When the source was retrieved */
|
|
177
|
+
retrievedAt?: string;
|
|
178
|
+
/** Children content */
|
|
179
|
+
children: React.ReactNode;
|
|
180
|
+
/** Optional CSS class */
|
|
181
|
+
className?: string;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* AEOEntityProps - Inline Entity Annotation
|
|
185
|
+
*
|
|
186
|
+
* For annotating entity mentions with knowledge graph IDs.
|
|
187
|
+
*/
|
|
188
|
+
interface AEOEntityProps {
|
|
189
|
+
/** Entity ID from knowledge graph */
|
|
190
|
+
entityId: string;
|
|
191
|
+
/** Entity type */
|
|
192
|
+
entityType: 'organization' | 'person' | 'service' | 'product' | 'location' | 'concept' | 'credential';
|
|
193
|
+
/** Canonical entity name */
|
|
194
|
+
name: string;
|
|
195
|
+
/** Entity URL */
|
|
196
|
+
url?: string;
|
|
197
|
+
/** Children content */
|
|
198
|
+
children: React.ReactNode;
|
|
199
|
+
/** Optional CSS class */
|
|
200
|
+
className?: string;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* ContentProvenance - Source attribution for content
|
|
204
|
+
*
|
|
205
|
+
* Links content to authoritative sources for AI verification.
|
|
206
|
+
*/
|
|
207
|
+
interface ContentProvenance {
|
|
208
|
+
/** Unique provenance ID */
|
|
209
|
+
id: string;
|
|
210
|
+
/** Type of source */
|
|
211
|
+
source_type: 'press_release' | 'news_article' | 'legal_statute' | 'research_paper' | 'official_document' | 'internal' | 'citation';
|
|
212
|
+
/** Source title */
|
|
213
|
+
title: string;
|
|
214
|
+
/** Source URL */
|
|
215
|
+
url?: string;
|
|
216
|
+
/** Publisher/organization name */
|
|
217
|
+
publisher?: string;
|
|
218
|
+
/** Publication date */
|
|
219
|
+
published_at?: string;
|
|
220
|
+
/** Date accessed */
|
|
221
|
+
accessed_at?: string;
|
|
222
|
+
/** Brief excerpt or summary */
|
|
223
|
+
excerpt?: string;
|
|
224
|
+
/** Confidence score 0-1 */
|
|
225
|
+
confidence?: number;
|
|
226
|
+
/** DOI or other identifier */
|
|
227
|
+
identifier?: string;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* AEOProvenanceListProps - Display provenance sources
|
|
231
|
+
*/
|
|
232
|
+
interface AEOProvenanceListProps {
|
|
233
|
+
/** List of provenance sources */
|
|
234
|
+
sources: ContentProvenance[];
|
|
235
|
+
/** Title for the section */
|
|
236
|
+
title?: string;
|
|
237
|
+
/** Optional CSS class */
|
|
238
|
+
className?: string;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* AEOCitedContentProps - Content with inline citations
|
|
242
|
+
*
|
|
243
|
+
* Wraps content that has numbered citations referencing provenance sources.
|
|
244
|
+
*/
|
|
245
|
+
interface AEOCitedContentProps {
|
|
246
|
+
/** Content with [1], [2] style inline citations */
|
|
247
|
+
children: React.ReactNode;
|
|
248
|
+
/** Provenance sources (index matches citation number) */
|
|
249
|
+
sources: ContentProvenance[];
|
|
250
|
+
/** Whether to show sources list at bottom */
|
|
251
|
+
showSourcesList?: boolean;
|
|
252
|
+
/** Optional CSS class */
|
|
253
|
+
className?: string;
|
|
254
|
+
}
|
|
255
|
+
interface LLMsDataResponse {
|
|
256
|
+
business: LLMBusinessInfo;
|
|
257
|
+
contact?: LLMContactInfo;
|
|
258
|
+
services: LLMService[];
|
|
259
|
+
faq: LLMFAQItem[];
|
|
260
|
+
pages: LLMPageSummary[];
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
export type { AEOBlockProps as A, ContentProvenance as C, GenerateLLMSTxtOptions as G, LLMsDataResponse as L, SpeakableSchemaProps as S, LLMSTxtContent as a, SpeakableConfig as b, AEOSummaryProps as c, AEODefinitionProps as d, AEOClaimProps as e, LLMBusinessInfo as f, LLMService as g, LLMFAQItem as h, LLMPageSummary as i, LLMContactInfo as j, AEOEntityProps as k, AEOProvenanceListProps as l, AEOCitedContentProps as m };
|