@sonordev/site-kit 8.1.0 → 8.3.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 (194) hide show
  1. package/AGENTS.md +13 -1
  2. package/CHANGELOG.md +11 -0
  3. package/README.md +9 -5
  4. package/agent-manifest.json +47 -8
  5. package/dist/{AnalyticsProvider-UWTCE5UO.js → AnalyticsProvider-QXO33JUF.js} +6 -6
  6. package/dist/{ArticleFaqSection-3Q26DP7P.js → ArticleFaqSection-DEWE5B4Q.js} +1 -1
  7. package/dist/{ArticleViewTracker-MYD6SGNH.js → ArticleViewTracker-KN6ENIRS.js} +17 -6
  8. package/dist/{BlocksPopup-OY5G3EFH.js → BlocksPopup-3RPN6YVJ.js} +6 -6
  9. package/dist/{ChatWidget-BTR5VERC.js → ChatWidget-D2X445PO.js} +6 -6
  10. package/dist/{FileField-DEHVYXAO.js → FileField-UNGSNGJ5.js} +4 -4
  11. package/dist/{FormSpotlight-VGC4CZL4.js → FormSpotlight-JFH2ENKQ.js} +1 -1
  12. package/dist/{FormStage-CJUSCSAL.js → FormStage-RC3WHHXP.js} +1 -1
  13. package/dist/{ManagedForm-JCI2KPMO.js → ManagedForm-FOQZ2IYG.js} +7 -7
  14. package/dist/{ManagedNewsletterForm-DTE4KKXV.js → ManagedNewsletterForm-NFNF33V3.js} +16 -7
  15. package/dist/{SignalCore-LGCBQDEH.js → SignalCore-5KABGX5C.js} +4 -4
  16. package/dist/SiteChat-JQ46ZIJ4.js +6 -0
  17. package/dist/SiteDesignReporter-N7L6DR4J.js +12 -0
  18. package/dist/{SitePopups-T6YPHAVY.js → SitePopups-WZBKX5Q3.js} +6 -6
  19. package/dist/SitemapSync-GY6UADRI.js +9 -0
  20. package/dist/_client/booking-widget.js +6 -6
  21. package/dist/_client/testimonial-section.js +3 -3
  22. package/dist/affiliates/index.js +4 -4
  23. package/dist/analytics/index.js +6 -6
  24. package/dist/{article-styles-GGZOQG5X.js → article-styles-7QONZJR5.js} +3 -3
  25. package/dist/article-tables-6XHVULPU.js +2 -0
  26. package/dist/articles/Article.d.ts +2 -89
  27. package/dist/articles/ArticleFAQ.d.ts +2 -41
  28. package/dist/articles/ArticleFaqSection.d.ts +2 -2
  29. package/dist/articles/ArticleList.d.ts +2 -79
  30. package/dist/articles/ArticleViewTracker.d.ts +2 -15
  31. package/dist/articles/AuthorCard.d.ts +2 -10
  32. package/dist/articles/AuthorPage.d.ts +2 -8
  33. package/dist/articles/ClusterLandingPage.d.ts +2 -40
  34. package/dist/articles/ClusterNavigation.d.ts +2 -37
  35. package/dist/articles/ManagedNewsletterForm.d.ts +3 -12
  36. package/dist/articles/NewsletterShell.d.ts +2 -17
  37. package/dist/articles/NewsletterWidget.d.ts +2 -30
  38. package/dist/articles/PublicationLayout.d.ts +2 -67
  39. package/dist/articles/PublicationSidebar.d.ts +2 -36
  40. package/dist/articles/RelatedPosts.d.ts +2 -22
  41. package/dist/articles/ServiceCallout.d.ts +2 -56
  42. package/dist/articles/TableOfContents.d.ts +2 -6
  43. package/dist/articles/article-photos.d.ts +2 -9
  44. package/dist/articles/article-styles.d.ts +2 -21
  45. package/dist/articles/article-tables.d.ts +2 -12
  46. package/dist/articles/artwork.d.ts +2 -13
  47. package/dist/articles/author-schema.d.ts +2 -72
  48. package/dist/articles/author-social.d.ts +2 -14
  49. package/dist/articles/excerpt.d.ts +2 -17
  50. package/dist/articles/index.d.ts +2 -79
  51. package/dist/articles/index.js +16 -11
  52. package/dist/articles/news-sitemap.d.ts +2 -46
  53. package/dist/articles/processArticleHtml.d.ts +2 -34
  54. package/dist/articles/public-reads.d.ts +2 -26
  55. package/dist/articles/reading-time.d.ts +2 -9
  56. package/dist/articles/routes.d.ts +2 -52
  57. package/dist/articles/server-core.d.ts +2 -461
  58. package/dist/articles/server-ui.d.ts +2 -30
  59. package/dist/articles/server-ui.js +26 -17
  60. package/dist/articles/server.d.ts +2 -461
  61. package/dist/articles/server.js +14 -5
  62. package/dist/articles/types.d.ts +2 -315
  63. package/dist/articles/widget-styles.d.ts +2 -8
  64. package/dist/chat/index.js +8 -8
  65. package/dist/{chunk-AIDIEVPZ.js → chunk-2JMCBJM5.js} +1 -1
  66. package/dist/chunk-34ZYJTQR.js +1 -0
  67. package/dist/{chunk-ADI6IYFH.js → chunk-3OY52UFM.js} +1 -1
  68. package/dist/{chunk-WMVK77ND.js → chunk-4K735O3J.js} +1 -1
  69. package/dist/{chunk-55GHBRCN.js → chunk-4PVMUPC6.js} +2 -2
  70. package/dist/{chunk-L5UOHS6E.js → chunk-5D7ZISUP.js} +1 -1
  71. package/dist/{chunk-JT52KYHQ.js → chunk-5RYSTKVU.js} +1 -1
  72. package/dist/{chunk-6CJGZFOU.js → chunk-A4MPHIVP.js} +1 -1
  73. package/dist/chunk-B7T2SFUF.js +1 -0
  74. package/dist/{chunk-FV2VD7WM.js → chunk-BC7JMY4Z.js} +3 -3
  75. package/dist/{chunk-255NCCPB.js → chunk-BOCYBDKV.js} +1 -1
  76. package/dist/{chunk-NFRJTOTB.js → chunk-BSQP6PRA.js} +1 -1
  77. package/dist/{chunk-GKGSXUVQ.js → chunk-BVB5FBAA.js} +1 -1
  78. package/dist/{chunk-NWVB75ER.js → chunk-C2UROFGZ.js} +1 -1
  79. package/dist/{chunk-F2VYN3QL.js → chunk-C4AFNZT2.js} +1 -1
  80. package/dist/{chunk-GC2QWXJ3.js → chunk-D6ZIQMHB.js} +3 -3
  81. package/dist/{chunk-GYF2ULVO.js → chunk-DJAYFHVF.js} +1 -1
  82. package/dist/{chunk-XUCU3LX4.js → chunk-DPSNMOMZ.js} +1 -1
  83. package/dist/{chunk-A3EU6HB5.js → chunk-E3UR37RX.js} +2 -2
  84. package/dist/{chunk-Y3INC4QJ.js → chunk-E4PTMORJ.js} +1 -1
  85. package/dist/{chunk-TAO6BVA2.js → chunk-EA6FZMYA.js} +2 -2
  86. package/dist/{chunk-V56RZH7J.js → chunk-FHUTOXS7.js} +1 -1
  87. package/dist/{chunk-LLW5HKEE.js → chunk-GKJVSZ7H.js} +3 -3
  88. package/dist/chunk-H72ZFO3F.js +1 -0
  89. package/dist/{chunk-CSTC6HZO.js → chunk-HND6BDXC.js} +3 -3
  90. package/dist/chunk-IEGDPRQB.js +14 -0
  91. package/dist/{chunk-CAH4Y4PY.js → chunk-JO76F5WP.js} +1 -1
  92. package/dist/{chunk-4Z3DI2EL.js → chunk-KJVUOJMW.js} +58 -58
  93. package/dist/{chunk-SC4MZGWZ.js → chunk-LBDWAXAO.js} +1 -1
  94. package/dist/{chunk-RSBMQFZW.js → chunk-LPKKSYKX.js} +3 -3
  95. package/dist/{chunk-2UO4HPGE.js → chunk-M5SF7NCC.js} +73 -51
  96. package/dist/{chunk-S6IGQYHW.js → chunk-MQ4REMTH.js} +2 -2
  97. package/dist/{chunk-O4DETQJI.js → chunk-NA4Z4CQG.js} +1 -1
  98. package/dist/{chunk-WPOFTCKL.js → chunk-OIWFXUVD.js} +2 -2
  99. package/dist/{chunk-G2HCCWZQ.js → chunk-QBCWVT2S.js} +2 -2
  100. package/dist/{chunk-DZV3KPVF.js → chunk-QCZHYO5M.js} +1 -1
  101. package/dist/{chunk-DOMBP3FW.js → chunk-QDILCQBL.js} +9 -9
  102. package/dist/{chunk-IAYGTQJD.js → chunk-SCTVADDL.js} +2 -2
  103. package/dist/{chunk-QXMIKDOL.js → chunk-SNRE3ZVZ.js} +3 -3
  104. package/dist/{chunk-DSNCU2E3.js → chunk-TT4JZDKM.js} +3 -3
  105. package/dist/{chunk-6VHDCJIZ.js → chunk-U7Y3QG3A.js} +1 -1
  106. package/dist/{chunk-3G7YABRA.js → chunk-W7OPEMGJ.js} +4 -1
  107. package/dist/{chunk-2JEUDTL6.js → chunk-WBUG7XRL.js} +2 -2
  108. package/dist/{chunk-47VB5INH.js → chunk-WSOZ3FQN.js} +1 -1
  109. package/dist/chunk-X4IJS7LV.js +319 -0
  110. package/dist/{chunk-JIH32RH2.js → chunk-XA7Q2VQA.js} +1 -1
  111. package/dist/{chunk-5L467Z5Q.js → chunk-XLAXYPTK.js} +3 -3
  112. package/dist/client/index.js +4 -16
  113. package/dist/contracts/editorial-media.d.ts +39 -0
  114. package/dist/contracts/entries.d.ts +1 -1
  115. package/dist/fleet/index.js +6 -6
  116. package/dist/forms/index.js +9 -325
  117. package/dist/forms/server.js +2 -2
  118. package/dist/images/index.js +4 -4
  119. package/dist/index.js +1 -1
  120. package/dist/layout/client.js +9 -9
  121. package/dist/layout/index.js +10 -10
  122. package/dist/llms/index.js +8 -8
  123. package/dist/maps/index.js +4 -4
  124. package/dist/mcp/sonor.d.ts +42 -3
  125. package/dist/mcp/sonor.js +25 -20
  126. package/dist/mcp/transport.d.ts +1 -1
  127. package/dist/press-kit/articles/Article.d.ts +89 -0
  128. package/dist/press-kit/articles/ArticleFAQ.d.ts +41 -0
  129. package/dist/press-kit/articles/ArticleFaqSection.d.ts +2 -0
  130. package/dist/press-kit/articles/ArticleList.d.ts +79 -0
  131. package/dist/press-kit/articles/ArticleViewTracker.d.ts +15 -0
  132. package/dist/press-kit/articles/AuthorCard.d.ts +10 -0
  133. package/dist/press-kit/articles/AuthorPage.d.ts +8 -0
  134. package/dist/press-kit/articles/ClusterLandingPage.d.ts +40 -0
  135. package/dist/press-kit/articles/ClusterNavigation.d.ts +37 -0
  136. package/dist/press-kit/articles/ManagedNewsletterForm.d.ts +12 -0
  137. package/dist/press-kit/articles/NewsletterShell.d.ts +17 -0
  138. package/dist/press-kit/articles/NewsletterWidget.d.ts +30 -0
  139. package/dist/press-kit/articles/PublicationLayout.d.ts +67 -0
  140. package/dist/press-kit/articles/PublicationSidebar.d.ts +36 -0
  141. package/dist/press-kit/articles/RelatedPosts.d.ts +22 -0
  142. package/dist/press-kit/articles/ServiceCallout.d.ts +56 -0
  143. package/dist/press-kit/articles/TableOfContents.d.ts +6 -0
  144. package/dist/press-kit/articles/article-photos.d.ts +9 -0
  145. package/dist/press-kit/articles/article-styles.d.ts +21 -0
  146. package/dist/press-kit/articles/article-tables.d.ts +12 -0
  147. package/dist/press-kit/articles/artwork.d.ts +13 -0
  148. package/dist/press-kit/articles/author-schema.d.ts +72 -0
  149. package/dist/press-kit/articles/author-social.d.ts +14 -0
  150. package/dist/press-kit/articles/excerpt.d.ts +17 -0
  151. package/dist/press-kit/articles/index.d.ts +79 -0
  152. package/dist/press-kit/articles/news-sitemap.d.ts +46 -0
  153. package/dist/press-kit/articles/processArticleHtml.d.ts +34 -0
  154. package/dist/press-kit/articles/public-reads.d.ts +26 -0
  155. package/dist/press-kit/articles/reading-time.d.ts +9 -0
  156. package/dist/press-kit/articles/routes.d.ts +52 -0
  157. package/dist/press-kit/articles/server-core.d.ts +461 -0
  158. package/dist/press-kit/articles/server-ui.d.ts +31 -0
  159. package/dist/press-kit/articles/types.d.ts +316 -0
  160. package/dist/press-kit/articles/widget-styles.d.ts +8 -0
  161. package/dist/reputation/index.js +3 -3
  162. package/dist/reputation/server.js +2 -2
  163. package/dist/revalidate/index.js +2 -2
  164. package/dist/runtime/index.js +5 -4
  165. package/dist/seo/client.js +6 -6
  166. package/dist/seo/index.js +7 -7
  167. package/dist/seo/llms.js +8 -8
  168. package/dist/seo/register-sitemap-cli.js +1 -1
  169. package/dist/seo/sitemap.js +6 -6
  170. package/dist/server/index.js +3 -2
  171. package/dist/shared/build-entries.d.ts +2 -1
  172. package/dist/shared/clientApiConfig.d.ts +2 -0
  173. package/dist/shared/import-specifiers.d.ts +1 -1
  174. package/dist/shared/index.d.ts +6 -0
  175. package/dist/shared/index.js +8 -0
  176. package/dist/shared/version.d.ts +1 -1
  177. package/dist/signal/index.js +2 -2
  178. package/dist/sitemap/index.js +6 -6
  179. package/dist/sync/index.js +6 -6
  180. package/dist/website/images.js +4 -4
  181. package/dist/website/index.js +7 -7
  182. package/dist/website/popups.js +6 -6
  183. package/dist/{writeLLMsTxt-OS2WBSLM.js → writeLLMsTxt-VKHCM5IS.js} +5 -5
  184. package/docs/MIGRATING-TO-PRESS-KIT.md +83 -0
  185. package/docs.json +145 -29
  186. package/package.json +15 -5
  187. package/src/articles/README.md +5 -360
  188. package/src/mcp/README.md +16 -0
  189. package/src/og/README.md +1 -1
  190. package/src/runtime/README.md +4 -0
  191. package/dist/SiteChat-6SF7PVUT.js +0 -6
  192. package/dist/SiteDesignReporter-VISQZ5NQ.js +0 -12
  193. package/dist/SitemapSync-VKMVRPZL.js +0 -9
  194. package/dist/article-tables-AXSZOGNW.js +0 -2
@@ -0,0 +1,316 @@
1
+ /**
2
+ * @sonordev/press-kit/articles - Type definitions
3
+ */
4
+ import type { PublicationRoutingOptions } from './routes';
5
+ /** Public, approved photo snapshot. Planning briefs and private source metadata stay in Sonor. */
6
+ export interface ArticleEditorialPhoto {
7
+ url: string;
8
+ alt: string;
9
+ caption?: string;
10
+ width: number;
11
+ height: number;
12
+ placement: {
13
+ kind: 'after_intro';
14
+ } | {
15
+ kind: 'after_heading';
16
+ heading: string;
17
+ headingId?: string;
18
+ };
19
+ }
20
+ export interface Article {
21
+ id: string;
22
+ project_id: string;
23
+ /** URL slug */
24
+ slug: string;
25
+ /** Content */
26
+ title: string;
27
+ subtitle?: string;
28
+ excerpt?: string;
29
+ content: string;
30
+ content_html?: string;
31
+ /** Complete promotional image, including composed share-card text when generated. */
32
+ featured_image?: string;
33
+ featured_image_alt?: string;
34
+ /** Article artwork, separate from the promotional card. Optional on older APIs. */
35
+ editorial_image?: string;
36
+ /** Empty for decorative atmosphere artwork; preserve an explicitly empty value. */
37
+ editorial_image_alt?: string;
38
+ /** Dedicated index frame from Sonor's atmosphere + content-stage renderer. */
39
+ index_image?: string;
40
+ index_image_alt?: string;
41
+ /** Supporting photos placed deliberately in the article body; optional on older APIs. */
42
+ editorial_photos?: ArticleEditorialPhoto[];
43
+ /** Author - can be string or object depending on API response */
44
+ author_id?: string;
45
+ author?: ArticleAuthor | string;
46
+ /** Categorization - can be string slug or object */
47
+ category_id?: string;
48
+ category?: ArticleCategory | string;
49
+ tags?: string[] | ArticleTag[];
50
+ /** SEO */
51
+ meta_title?: string;
52
+ meta_description?: string;
53
+ og_title?: string;
54
+ og_description?: string;
55
+ canonical_url?: string;
56
+ focus_keyphrase?: string;
57
+ keywords?: string;
58
+ /** Rich content */
59
+ table_of_contents?: TocItem[];
60
+ faq_items?: {
61
+ question: string;
62
+ answer: string;
63
+ }[];
64
+ /** E-E-A-T: when present, use as JSON-LD on the post page (Article/FAQ/Person from Signal) */
65
+ schema?: object | object[];
66
+ /** Raw DB column name for the same E-E-A-T JSON-LD — the public API passes
67
+ * it through unmapped. generateAllArticleSchemas reads schema ?? schema_json. */
68
+ schema_json?: object | object[];
69
+ service_callouts?: {
70
+ title: string;
71
+ description?: string;
72
+ url?: string;
73
+ }[];
74
+ /** Publishing */
75
+ status: 'draft' | 'published' | 'scheduled' | 'archived';
76
+ published_at?: string;
77
+ /** Scheduled publish time (blog_posts.scheduled_for) */
78
+ scheduled_for?: string;
79
+ /** Settings */
80
+ allow_comments?: boolean;
81
+ featured?: boolean;
82
+ /** Computed */
83
+ /** Pre-mapped caller data only — the API never returns this name */
84
+ reading_time_minutes?: number;
85
+ /** The field the API actually returns (blog_posts.reading_time) */
86
+ reading_time?: number;
87
+ view_count?: number;
88
+ word_count?: number;
89
+ /** Timestamps */
90
+ created_at: string;
91
+ updated_at: string;
92
+ /** Topic Cluster fields */
93
+ article_type?: 'pillar' | 'support' | 'comparison' | 'faq' | 'glossary' | 'checklist' | 'case-study-adjacent';
94
+ cluster_id?: string;
95
+ cluster_slug?: string;
96
+ cluster_name?: string;
97
+ parent_pillar_id?: string;
98
+ parent_pillar_slug?: string;
99
+ parent_pillar_title?: string;
100
+ /** The pillar's own category slug, for category-segmented article URLs */
101
+ parent_pillar_category?: string;
102
+ search_intent?: 'informational' | 'navigational' | 'commercial' | 'transactional';
103
+ funnel_stage?: 'awareness' | 'consideration' | 'decision' | 'retention';
104
+ relationship_to_pillar?: string;
105
+ publish_priority?: number;
106
+ canonical_role?: 'primary' | 'supporting' | 'overlap-risk';
107
+ ai_summary?: string;
108
+ /** Sibling articles in the same cluster (populated by API) */
109
+ sibling_articles?: Array<{
110
+ slug: string;
111
+ title: string;
112
+ article_type: string;
113
+ category?: string;
114
+ }>;
115
+ }
116
+ export interface ArticleAuthor {
117
+ id: string;
118
+ project_id: string;
119
+ name: string;
120
+ slug: string;
121
+ bio?: string;
122
+ avatar_url?: string;
123
+ /** @deprecated Legacy shape — the API column is website_url. getAuthorSocialLinks handles both. */
124
+ website?: string;
125
+ /** @deprecated Legacy shape — the API columns are linkedin_url/twitter_url/etc. getAuthorSocialLinks handles both. */
126
+ social_links?: {
127
+ twitter?: string;
128
+ linkedin?: string;
129
+ github?: string;
130
+ };
131
+ is_active: boolean;
132
+ /** E-E-A-T / Author Page fields */
133
+ title?: string;
134
+ company?: string;
135
+ short_bio?: string;
136
+ credentials?: string[];
137
+ expertise_areas?: string[];
138
+ years_experience?: number;
139
+ linkedin_url?: string;
140
+ twitter_url?: string;
141
+ website_url?: string;
142
+ author_page_url?: string;
143
+ /**
144
+ * schema.org `@id` for this person, shared by every site that describes
145
+ * them (blog_authors.entity_id), e.g. `https://example.com/#person`.
146
+ * Unset: the kit uses `<author page URL>#person`.
147
+ */
148
+ entity_id?: string | null;
149
+ same_as?: string[];
150
+ knows_about?: string[];
151
+ is_subject_matter_expert?: boolean;
152
+ has_verified_credentials?: boolean;
153
+ featured_publications?: string[];
154
+ awards?: string[];
155
+ post_count?: number;
156
+ created_at?: string;
157
+ updated_at?: string;
158
+ }
159
+ /**
160
+ * The public /categories endpoint guarantees only name/slug/post_count
161
+ * (getCategories maps exactly those keys). id/project_id exist in
162
+ * blog_categories but are stripped from the public response — do not
163
+ * re-promote them to required.
164
+ */
165
+ export interface ArticleCategory {
166
+ id?: string;
167
+ project_id?: string;
168
+ name: string;
169
+ slug: string;
170
+ description?: string;
171
+ parent_id?: string;
172
+ post_count?: number;
173
+ }
174
+ /**
175
+ * The public /tags endpoint returns only name/slug/post_count. Tags are
176
+ * synthesized from blog_posts.tags strings — no id/project_id can ever
177
+ * exist, on any server version.
178
+ */
179
+ export interface ArticleTag {
180
+ name: string;
181
+ slug: string;
182
+ post_count?: number;
183
+ }
184
+ export interface TopicCluster {
185
+ id: string;
186
+ cluster_name: string;
187
+ cluster_slug: string;
188
+ core_topic: string;
189
+ primary_entity?: string;
190
+ industry?: string;
191
+ geo_target?: string;
192
+ commercial_goal?: string;
193
+ pillar_post_id?: string;
194
+ target_service_page?: string;
195
+ article_count: number;
196
+ pillar: Article | null;
197
+ supports: Article[];
198
+ interlink_map: Array<{
199
+ from: string;
200
+ to: string;
201
+ anchor: string;
202
+ }>;
203
+ created_at?: string;
204
+ }
205
+ export interface ClusterNavigation {
206
+ cluster_name: string;
207
+ cluster_slug: string;
208
+ /** category = the article's own category slug, for category-segmented article URLs */
209
+ pillar: {
210
+ slug: string;
211
+ title: string;
212
+ category?: string;
213
+ } | null;
214
+ siblings: Array<{
215
+ slug: string;
216
+ title: string;
217
+ article_type: string;
218
+ category?: string;
219
+ }>;
220
+ is_pillar: boolean;
221
+ }
222
+ export interface ArticleListOptions {
223
+ projectId: string;
224
+ /** Pagination */
225
+ page?: number;
226
+ perPage?: number;
227
+ /** Filters */
228
+ category?: string;
229
+ tag?: string;
230
+ /** Author slug (preferred) or display name; slug filtering requires the current Sonor API */
231
+ author?: string;
232
+ search?: string;
233
+ featured?: boolean;
234
+ cluster?: string;
235
+ /** Sorting */
236
+ orderBy?: 'published_at' | 'title' | 'view_count';
237
+ order?: 'asc' | 'desc';
238
+ }
239
+ export interface ArticleListResult {
240
+ posts: Article[];
241
+ pagination: {
242
+ page: number;
243
+ perPage: number;
244
+ total: number;
245
+ totalPages: number;
246
+ hasNext: boolean;
247
+ hasPrev: boolean;
248
+ };
249
+ }
250
+ export interface ArticleProps {
251
+ projectId: string;
252
+ slug: string;
253
+ children?: (props: ArticleRenderProps) => React.ReactNode;
254
+ }
255
+ export interface ArticleRenderProps {
256
+ post: Article;
257
+ content: string;
258
+ relatedPosts?: Article[];
259
+ tableOfContents?: TocItem[];
260
+ }
261
+ export interface ArticleListProps {
262
+ projectId: string;
263
+ options?: Omit<ArticleListOptions, 'projectId'>;
264
+ children?: (props: ArticleListRenderProps) => React.ReactNode;
265
+ }
266
+ export interface ArticleListRenderProps {
267
+ posts: Article[];
268
+ pagination: ArticleListResult['pagination'];
269
+ categories: ArticleCategory[];
270
+ tags: ArticleTag[];
271
+ }
272
+ export interface AuthorCardProps {
273
+ author: ArticleAuthor;
274
+ showBio?: boolean;
275
+ showSocial?: boolean;
276
+ showTrustBlock?: boolean;
277
+ className?: string;
278
+ }
279
+ export interface AuthorPageProps {
280
+ author: ArticleAuthor;
281
+ posts: Article[];
282
+ basePath?: string;
283
+ /**
284
+ * AuthorPage is exported from the client-stamped `articles` barrel, so from
285
+ * a Server Component only serializable options survive: a function
286
+ * `authorPages` / `postPath` fails at render. For a custom author route,
287
+ * render `generateAuthorSchema` on the server and pass `jsonLd={false}`.
288
+ */
289
+ routing?: PublicationRoutingOptions;
290
+ /** Absolute site origin, so the ProfilePage JSON-LD carries absolute URLs and a Person @id. */
291
+ siteUrl?: string;
292
+ /** Fallback employer name for the Person when the author row has no company. */
293
+ siteName?: string;
294
+ /**
295
+ * Emit the ProfilePage JSON-LD (default true). Pass false only when the
296
+ * page renders generateAuthorSchema itself, so it is never emitted twice.
297
+ */
298
+ jsonLd?: boolean;
299
+ }
300
+ export interface RelatedPostsProps {
301
+ projectId: string;
302
+ postId: string;
303
+ limit?: number;
304
+ className?: string;
305
+ }
306
+ export interface TableOfContentsProps {
307
+ content: string;
308
+ maxDepth?: number;
309
+ className?: string;
310
+ }
311
+ export interface TocItem {
312
+ id: string;
313
+ text: string;
314
+ level: number;
315
+ children?: TocItem[];
316
+ }
@@ -0,0 +1,8 @@
1
+ import type React from 'react';
2
+ /**
3
+ * Shared sidebar-widget chrome, extracted from PublicationSidebar so the client-side
4
+ * NewsletterWidget (its own module — it needs hooks, and PublicationSidebar is also
5
+ * bundled into the un-stamped server entry articles/server-ui) can reuse it.
6
+ */
7
+ export declare const widgetStyle: React.CSSProperties;
8
+ export declare const widgetTitleStyle: React.CSSProperties;
@@ -1,7 +1,7 @@
1
- export { TestimonialSection } from '../chunk-6CJGZFOU.js';
1
+ export { TestimonialSection } from '../chunk-A4MPHIVP.js';
2
2
  export { VisualReviewCard, VisualReviewGallery } from '../chunk-OD2ULW5Z.js';
3
3
  import '../chunk-CAT235HY.js';
4
- export { fetchReviewStats, fetchReviews } from '../chunk-NFRJTOTB.js';
4
+ export { fetchReviewStats, fetchReviews } from '../chunk-BSQP6PRA.js';
5
5
  import '../chunk-MH2DSGC6.js';
6
- import '../chunk-3G7YABRA.js';
6
+ import '../chunk-W7OPEMGJ.js';
7
7
  import '../chunk-PKBMQBKP.js';
@@ -1,6 +1,6 @@
1
1
  export { VisualReviewCard, VisualReviewGallery } from '../chunk-OD2ULW5Z.js';
2
2
  import '../chunk-CAT235HY.js';
3
- export { fetchReviewStats, fetchReviews } from '../chunk-NFRJTOTB.js';
3
+ export { fetchReviewStats, fetchReviews } from '../chunk-BSQP6PRA.js';
4
4
  import '../chunk-MH2DSGC6.js';
5
- import '../chunk-3G7YABRA.js';
5
+ import '../chunk-W7OPEMGJ.js';
6
6
  import '../chunk-PKBMQBKP.js';
@@ -1,7 +1,7 @@
1
- import { createSeoRevalidationHandler } from '../chunk-V56RZH7J.js';
1
+ import { createSeoRevalidationHandler } from '../chunk-FHUTOXS7.js';
2
2
  import '../chunk-XTRZGXB2.js';
3
3
  export { SITE_CACHE_TAGS, SITE_REVALIDATE_PATH, isSiteRevalidatePong } from '../chunk-6KU7STM3.js';
4
- import '../chunk-NWVB75ER.js';
4
+ import '../chunk-C2UROFGZ.js';
5
5
  import '../chunk-PKBMQBKP.js';
6
6
 
7
7
  // src/revalidate/index.ts
@@ -1,7 +1,8 @@
1
+ import '../chunk-B7T2SFUF.js';
1
2
  export { readAnalyticsIdentity } from '../chunk-5ROTTMBL.js';
2
3
  import '../chunk-5TM3WPCI.js';
3
- export { DEFAULT_SONOR_API_URL, getClientApiConfig, readPublishedApiConfig } from '../chunk-3G7YABRA.js';
4
- export { sonorFetch } from '../chunk-WPOFTCKL.js';
5
- import '../chunk-F2VYN3QL.js';
6
- import '../chunk-NWVB75ER.js';
4
+ export { sonorFetch } from '../chunk-OIWFXUVD.js';
5
+ import '../chunk-C4AFNZT2.js';
6
+ export { DEFAULT_SONOR_API_URL, getClientApiConfig, readPublishedApiConfig } from '../chunk-W7OPEMGJ.js';
7
+ import '../chunk-C2UROFGZ.js';
7
8
  import '../chunk-PKBMQBKP.js';
@@ -1,10 +1,10 @@
1
1
  'use client';
2
- export { SitemapSync } from '../chunk-IAYGTQJD.js';
2
+ export { SitemapSync } from '../chunk-SCTVADDL.js';
3
3
  import '../chunk-YVKRYQRG.js';
4
- import '../chunk-CAH4Y4PY.js';
4
+ import '../chunk-JO76F5WP.js';
5
5
  import '../chunk-EKBEOXTH.js';
6
- import '../chunk-3G7YABRA.js';
7
- import '../chunk-WPOFTCKL.js';
8
- import '../chunk-F2VYN3QL.js';
9
- import '../chunk-NWVB75ER.js';
6
+ import '../chunk-OIWFXUVD.js';
7
+ import '../chunk-C4AFNZT2.js';
8
+ import '../chunk-W7OPEMGJ.js';
9
+ import '../chunk-C2UROFGZ.js';
10
10
  import '../chunk-PKBMQBKP.js';
package/dist/seo/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  export { ManagedNoScripts, ManagedScripts } from '../chunk-MVLMXC44.js';
2
2
  import { pickManagedLlmSchemaForJsonLd } from '../chunk-NZ4RXN3G.js';
3
- import { safeJsonLd } from '../chunk-4KZ6W3ZH.js';
4
3
  import { withoutSchemaPlaceholders } from '../chunk-VWWITFWM.js';
5
- export { SitemapSync } from '../chunk-IAYGTQJD.js';
4
+ import { safeJsonLd } from '../chunk-4KZ6W3ZH.js';
5
+ export { SitemapSync } from '../chunk-SCTVADDL.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';
@@ -16,12 +16,12 @@ import '../chunk-YVKRYQRG.js';
16
16
  import '../chunk-DIKNRN34.js';
17
17
  import '../chunk-FESKKJAS.js';
18
18
  import '../chunk-A4CC4ZG3.js';
19
- import '../chunk-CAH4Y4PY.js';
19
+ import '../chunk-JO76F5WP.js';
20
20
  import '../chunk-EKBEOXTH.js';
21
- import '../chunk-3G7YABRA.js';
22
- import '../chunk-WPOFTCKL.js';
23
- import '../chunk-F2VYN3QL.js';
24
- import '../chunk-NWVB75ER.js';
21
+ import '../chunk-OIWFXUVD.js';
22
+ import '../chunk-C4AFNZT2.js';
23
+ import '../chunk-W7OPEMGJ.js';
24
+ import '../chunk-C2UROFGZ.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,13 +1,13 @@
1
- export { createLLMsFullTxtHandler, createLLMsTxtHandler, formatSourcedFactsSection, llmsResponseHeaders } from '../chunk-AIDIEVPZ.js';
1
+ export { createLLMsFullTxtHandler, createLLMsTxtHandler, formatSourcedFactsSection, llmsResponseHeaders } from '../chunk-2JMCBJM5.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-V56RZH7J.js';
4
+ export { LEGACY_PUBLICATION_PATH, SEO_REVALIDATION_MAX_BODY_BYTES, SEO_REVALIDATION_MAX_ITEMS, createLlmsRevalidateHandler, createSeoRevalidationHandler, parseSeoRevalidationPayload } from '../chunk-FHUTOXS7.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-GC2QWXJ3.js';
8
- export { getBusinessInfo, getFAQItems, getLLMsData, getOptimizedLLMsTxt, getPageSummaries, getServices } from '../chunk-JIH32RH2.js';
9
- import '../chunk-L5UOHS6E.js';
10
- import '../chunk-WMVK77ND.js';
7
+ export { AGENT_ACCESS_HEADING, appendAgentAccessSection, describesMcp, detectMcpServer, formatAgentAccessSection, generateLLMsFullTxt, generateLLMsTxt, writeLLMsTxtToPublic } from '../chunk-D6ZIQMHB.js';
8
+ export { getBusinessInfo, getFAQItems, getLLMsData, getOptimizedLLMsTxt, getPageSummaries, getServices } from '../chunk-XA7Q2VQA.js';
9
+ import '../chunk-5D7ZISUP.js';
10
+ import '../chunk-4K735O3J.js';
11
11
  import '../chunk-UAYAJPEP.js';
12
12
  export { LLMS_DISCLAIMER_MAX_LENGTH, LLMS_PUBLIC_SUMMARY_MAX_LENGTH, LLM_GEO_CONTRACT_VERSION, MANAGED_LLM_SCHEMA_KNOWN_KEYS, pickManagedLlmSchemaForJsonLd, sanitizeLlmsDisclaimerLine, sanitizeLlmsPublicSummary, sanitizePrimaryLanguageTag } from '../chunk-NZ4RXN3G.js';
13
13
  import '../chunk-4KZ6W3ZH.js';
@@ -15,6 +15,6 @@ import '../chunk-MJP63SSS.js';
15
15
  import '../chunk-YVKRYQRG.js';
16
16
  import '../chunk-FESKKJAS.js';
17
17
  import '../chunk-A4CC4ZG3.js';
18
- import '../chunk-3G7YABRA.js';
19
- import '../chunk-NWVB75ER.js';
18
+ import '../chunk-W7OPEMGJ.js';
19
+ import '../chunk-C2UROFGZ.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-OS2WBSLM.js');
461
+ const { writeLLMsTxtToPublic } = await import('../writeLLMsTxt-VKHCM5IS.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,9 +1,9 @@
1
- export { createSitemap, getPortfolioPaths, syncSitemapToPortal } from '../chunk-255NCCPB.js';
2
- import '../chunk-GC2QWXJ3.js';
3
- import '../chunk-JIH32RH2.js';
1
+ export { createSitemap, getPortfolioPaths, syncSitemapToPortal } from '../chunk-BOCYBDKV.js';
2
+ import '../chunk-D6ZIQMHB.js';
3
+ import '../chunk-XA7Q2VQA.js';
4
4
  import '../chunk-Z22QVHT4.js';
5
- import '../chunk-L5UOHS6E.js';
6
- import '../chunk-WMVK77ND.js';
5
+ import '../chunk-5D7ZISUP.js';
6
+ import '../chunk-4K735O3J.js';
7
7
  import '../chunk-UAYAJPEP.js';
8
8
  import '../chunk-NZ4RXN3G.js';
9
9
  import '../chunk-MJP63SSS.js';
@@ -12,5 +12,5 @@ import '../chunk-YVKRYQRG.js';
12
12
  import '../chunk-DIKNRN34.js';
13
13
  import '../chunk-FESKKJAS.js';
14
14
  import '../chunk-A4CC4ZG3.js';
15
- import '../chunk-3G7YABRA.js';
15
+ import '../chunk-W7OPEMGJ.js';
16
16
  import '../chunk-PKBMQBKP.js';
@@ -1,7 +1,8 @@
1
- export { resolveClientCredential } from '../chunk-47VB5INH.js';
1
+ import '../chunk-34ZYJTQR.js';
2
+ export { resolveClientCredential } from '../chunk-WSOZ3FQN.js';
2
3
  import '../chunk-UAYAJPEP.js';
3
4
  export { SITE_CACHE_TAGS } from '../chunk-6KU7STM3.js';
4
5
  export { isNextControlFlow, requireServerApiConfig, resolveApiOrigin, resolveServerApiConfig, serverApiFetch } from '../chunk-C7TLGL3R.js';
5
6
  import '../chunk-MH2DSGC6.js';
6
- import '../chunk-NWVB75ER.js';
7
+ import '../chunk-C2UROFGZ.js';
7
8
  import '../chunk-PKBMQBKP.js';
@@ -154,6 +154,7 @@ export declare const entry: {
154
154
  * so it is listed in ISOMORPHIC_ENTRIES below, and the build fails if it
155
155
  * ever reaches a stamped chunk.
156
156
  */
157
+ readonly 'shared/index': 'src/shared/index.ts';
157
158
  readonly 'runtime/index': 'src/runtime/index.ts';
158
159
  readonly 'proxy/index': 'src/proxy/index.ts';
159
160
  readonly 'manifest/index': 'src/manifest/index.ts';
@@ -194,7 +195,7 @@ export declare const CLIENT_ENTRIES: readonly ["_client/booking-widget", "_clien
194
195
  * `./client-entry-boundary.test.ts` checks the source graph and
195
196
  * `tsup.config.ts` checks the built files, both from this list.
196
197
  */
197
- export declare const ISOMORPHIC_ENTRIES: readonly ["runtime/index"];
198
+ export declare const ISOMORPHIC_ENTRIES: readonly ["shared/index", "runtime/index"];
198
199
  /**
199
200
  * CLI binaries are consumed via `bin`/`npx`, never imported as typed modules, so they
200
201
  * don't ship `.d.ts`. Everything else in `entry` gets declarations.
@@ -54,3 +54,5 @@ export declare function getClientApiConfig(options?: ClientApiConfigOptions): {
54
54
  apiUrl: string;
55
55
  apiKey: string | undefined;
56
56
  };
57
+ /** The normalized sub-site host published by SiteKitLayout, if present. */
58
+ export declare function readPublishedSite(): string | undefined;
@@ -26,7 +26,7 @@ export declare function importSpecifiers(code: string, options?: ImportSpecifier
26
26
  /**
27
27
  * A specifier an isomorphic entry's graph must not import: React, Next or
28
28
  * `server-only` (hooks, a client reference, or a hard error on the other
29
- * side), and any site-kit entry but `./runtime`, which is isomorphic by design
29
+ * side), and any site-kit entry but `./runtime` or `./shared`, which is isomorphic by design
30
30
  * (the others are `'use client'` or server-only: `./analytics`, `./server`...).
31
31
  * Matches by package name, so a subpath (`react/jsx-runtime`, `next/headers`)
32
32
  * counts.
@@ -0,0 +1,6 @@
1
+ /** Framework-free website helpers shared by Sonor kits. */
2
+ export { withSiteBody, withSiteParam } from '../sites/site-param';
3
+ export { resolveSiteHost } from '../sites/resolve';
4
+ export { applyTrailingSlash, resolveTrailingSlash } from '../sitemap/shared';
5
+ export { safeJsonLd } from '../seo/safeJsonLd';
6
+ export { readPublishedSite } from './clientApiConfig';
@@ -0,0 +1,8 @@
1
+ import '../chunk-H72ZFO3F.js';
2
+ export { safeJsonLd } from '../chunk-4KZ6W3ZH.js';
3
+ export { withSiteBody, withSiteParam } from '../chunk-MJP63SSS.js';
4
+ export { applyTrailingSlash, resolveTrailingSlash } from '../chunk-YVKRYQRG.js';
5
+ export { resolveSiteHost } from '../chunk-FESKKJAS.js';
6
+ import '../chunk-A4CC4ZG3.js';
7
+ export { readPublishedSite } from '../chunk-W7OPEMGJ.js';
8
+ import '../chunk-PKBMQBKP.js';
@@ -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.1.0";
10
+ export declare const SITE_KIT_VERSION = "8.3.0";
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- import { useSignalExperiment, useSignalEvent } from '../chunk-DZV3KPVF.js';
3
- export { SignalBridge, useSignal, useSignalConfig, useSignalEvent, useSignalExperiment, useSignalOutcome } from '../chunk-DZV3KPVF.js';
2
+ import { useSignalExperiment, useSignalEvent } from '../chunk-QCZHYO5M.js';
3
+ export { SignalBridge, useSignal, useSignalConfig, useSignalEvent, useSignalExperiment, useSignalOutcome } from '../chunk-QCZHYO5M.js';
4
4
  import '../chunk-PKBMQBKP.js';
5
5
  import React, { useEffect } from 'react';
6
6
  import { jsx, Fragment } from 'react/jsx-runtime';
@@ -1,9 +1,9 @@
1
- export { createSitemap, getPortfolioPaths, syncSitemapToPortal } from '../chunk-255NCCPB.js';
2
- import '../chunk-GC2QWXJ3.js';
3
- import '../chunk-JIH32RH2.js';
1
+ export { createSitemap, getPortfolioPaths, syncSitemapToPortal } from '../chunk-BOCYBDKV.js';
2
+ import '../chunk-D6ZIQMHB.js';
3
+ import '../chunk-XA7Q2VQA.js';
4
4
  import '../chunk-Z22QVHT4.js';
5
- import '../chunk-L5UOHS6E.js';
6
- import '../chunk-WMVK77ND.js';
5
+ import '../chunk-5D7ZISUP.js';
6
+ import '../chunk-4K735O3J.js';
7
7
  import '../chunk-UAYAJPEP.js';
8
8
  import '../chunk-NZ4RXN3G.js';
9
9
  import '../chunk-MJP63SSS.js';
@@ -12,5 +12,5 @@ import '../chunk-YVKRYQRG.js';
12
12
  import '../chunk-DIKNRN34.js';
13
13
  import '../chunk-FESKKJAS.js';
14
14
  import '../chunk-A4CC4ZG3.js';
15
- import '../chunk-3G7YABRA.js';
15
+ import '../chunk-W7OPEMGJ.js';
16
16
  import '../chunk-PKBMQBKP.js';
@@ -1,7 +1,7 @@
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
- import '../chunk-3G7YABRA.js';
4
- import '../chunk-WPOFTCKL.js';
5
- import '../chunk-F2VYN3QL.js';
6
- import '../chunk-NWVB75ER.js';
1
+ export { BookingWidget } from '../chunk-4PVMUPC6.js';
2
+ export { createBooking, createSlotHold, detectTimezone, fetchAvailability, fetchAvailableDates, fetchBookingTypeDetails, fetchBookingTypes, formatDate, formatDuration, formatTime, prepareMeeting, releaseSlotHold } from '../chunk-WBUG7XRL.js';
3
+ import '../chunk-OIWFXUVD.js';
4
+ import '../chunk-C4AFNZT2.js';
5
+ import '../chunk-W7OPEMGJ.js';
6
+ import '../chunk-C2UROFGZ.js';
7
7
  import '../chunk-PKBMQBKP.js';
@@ -1,6 +1,6 @@
1
- export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from '../chunk-ADI6IYFH.js';
1
+ export { ManagedImage, assignImageToSlot, clearImageSlot, fetchManagedImage, fetchManagedImages, listImageFiles, uploadImage } from '../chunk-3OY52UFM.js';
2
2
  export { ManagedFavicon, getManagedFaviconUrl } from '../chunk-GW7GSBO7.js';
3
- import '../chunk-WPOFTCKL.js';
4
- import '../chunk-F2VYN3QL.js';
5
- import '../chunk-NWVB75ER.js';
3
+ import '../chunk-OIWFXUVD.js';
4
+ import '../chunk-C4AFNZT2.js';
5
+ import '../chunk-C2UROFGZ.js';
6
6
  import '../chunk-PKBMQBKP.js';
@@ -1,14 +1,14 @@
1
1
  'use client';
2
- export { SiteDesignReporter } from '../chunk-G2HCCWZQ.js';
3
- export { SITE_DESIGN_PATH, cleanFontStack, colorToHex, getSiteDesignTokens, measureSiteDesign, readDeclaredDesign, sendSiteDesign } from '../chunk-DSNCU2E3.js';
2
+ export { SiteDesignReporter } from '../chunk-QBCWVT2S.js';
3
+ export { SITE_DESIGN_PATH, cleanFontStack, colorToHex, getSiteDesignTokens, measureSiteDesign, readDeclaredDesign, sendSiteDesign } from '../chunk-TT4JZDKM.js';
4
4
  export { DEFAULT_POPUP_TOKENS, PopupBlocks } from '../chunk-BF7TZYC3.js';
5
5
  import '../chunk-IHG36STL.js';
6
6
  import '../chunk-YC7ELZS3.js';
7
7
  import '../chunk-S22FSH7C.js';
8
- import '../chunk-CAH4Y4PY.js';
8
+ import '../chunk-JO76F5WP.js';
9
9
  import '../chunk-EKBEOXTH.js';
10
- import '../chunk-3G7YABRA.js';
11
- import '../chunk-WPOFTCKL.js';
12
- import '../chunk-F2VYN3QL.js';
13
- import '../chunk-NWVB75ER.js';
10
+ import '../chunk-OIWFXUVD.js';
11
+ import '../chunk-C4AFNZT2.js';
12
+ import '../chunk-W7OPEMGJ.js';
13
+ import '../chunk-C2UROFGZ.js';
14
14
  import '../chunk-PKBMQBKP.js';