@sonordev/site-kit 6.5.0 → 7.0.1
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/AGENTS.md +18 -3
- package/README.md +50 -34
- package/agent-manifest.json +282 -52
- package/dist/AnalyticsProvider-EMM2TKRE.js +11 -0
- package/dist/ArticleFaqSection-3Q26DP7P.js +9 -0
- package/dist/ArticleViewTracker-RA64BGL6.js +49 -0
- package/dist/BlocksPopup-D25RFNOV.js +43 -0
- package/dist/ChatWidget-RYI7BMJJ.js +15 -0
- package/dist/DatePicker-JEBV6WYJ.js +2 -0
- package/dist/EngageWidget-UKFCN33M.js +11 -0
- package/dist/FileField-MUHA7LZR.js +83 -0
- package/dist/FormCelebration-OVGAGBKF.js +2 -0
- package/dist/FormSpotlight-TCLPWPLL.js +754 -0
- package/dist/FormStage-CNYLP6I6.js +418 -0
- package/dist/ManagedForm-7ZL5SKTO.js +14 -0
- package/dist/ManagedNewsletterForm-33B4JLX7.js +62 -0
- package/dist/SignalCore-L5FVDHFE.js +322 -0
- package/dist/SiteDesignReporter-4JOFL4FP.js +11 -0
- package/dist/SitemapSync-7WKY4HXI.js +8 -0
- package/dist/SitemapSync.d.ts +0 -1
- package/dist/_client/booking-widget.d.ts +4 -0
- package/dist/_client/booking-widget.js +7 -0
- package/dist/_client/testimonial-section.d.ts +11 -0
- package/dist/_client/testimonial-section.js +5 -0
- package/dist/admin-auth/index.d.ts +0 -1
- package/dist/admin-auth/index.js +0 -0
- package/dist/admin-auth/session.d.ts +0 -1
- package/dist/affiliates/AffiliatesWidget.d.ts +0 -1
- package/dist/affiliates/api.d.ts +0 -1
- package/dist/affiliates/index.d.ts +0 -1
- package/dist/affiliates/index.js +149 -0
- package/dist/affiliates/types.d.ts +0 -1
- package/dist/affiliates/useAffiliates.d.ts +0 -1
- package/dist/analytics/AnalyticsProvider.d.ts +0 -1
- package/dist/analytics/WebVitals.d.ts +0 -1
- package/dist/analytics/dispatch.d.ts +0 -1
- package/dist/analytics/index.d.ts +0 -1
- package/dist/analytics/index.js +12 -67
- package/dist/analytics/measurement-context.d.ts +0 -1
- package/dist/analytics/page-observation.d.ts +0 -1
- package/dist/analytics/send-gate.d.ts +0 -1
- package/dist/analytics/types.d.ts +0 -1
- package/dist/analytics/useContactTracking.d.ts +0 -1
- package/dist/article-styles-6CM5FUMV.js +590 -0
- package/dist/article-tables-AXSZOGNW.js +2 -0
- package/dist/articles/Article.d.ts +0 -1
- package/dist/articles/ArticleFAQ.d.ts +0 -1
- package/dist/articles/ArticleFaqSection.d.ts +0 -1
- package/dist/articles/ArticleList.d.ts +0 -1
- package/dist/articles/ArticleViewTracker.d.ts +0 -1
- package/dist/articles/AuthorCard.d.ts +0 -1
- package/dist/articles/AuthorPage.d.ts +0 -1
- package/dist/articles/ClusterLandingPage.d.ts +0 -1
- package/dist/articles/ClusterNavigation.d.ts +0 -1
- package/dist/articles/ManagedNewsletterForm.d.ts +0 -1
- package/dist/articles/NewsletterShell.d.ts +0 -1
- package/dist/articles/NewsletterWidget.d.ts +0 -1
- package/dist/articles/PublicationLayout.d.ts +0 -1
- package/dist/articles/PublicationSidebar.d.ts +0 -1
- package/dist/articles/RelatedPosts.d.ts +0 -1
- package/dist/articles/ServiceCallout.d.ts +0 -1
- package/dist/articles/TableOfContents.d.ts +0 -1
- package/dist/articles/article-styles.d.ts +0 -1
- package/dist/articles/article-tables.d.ts +0 -1
- package/dist/articles/artwork.d.ts +0 -1
- package/dist/articles/author-schema.d.ts +0 -1
- package/dist/articles/author-social.d.ts +0 -1
- package/dist/articles/excerpt.d.ts +0 -1
- package/dist/articles/index.d.ts +0 -1
- package/dist/articles/index.js +87 -147
- package/dist/articles/news-sitemap.d.ts +0 -1
- package/dist/articles/processArticleHtml.d.ts +0 -1
- package/dist/articles/public-reads.d.ts +0 -1
- package/dist/articles/reading-time.d.ts +0 -1
- package/dist/articles/routes.d.ts +0 -1
- package/dist/articles/server-core.d.ts +0 -14
- package/dist/articles/server-ui.d.ts +0 -1
- package/dist/articles/server-ui.js +221 -265
- package/dist/articles/server.d.ts +0 -14
- package/dist/articles/server.js +10 -252
- package/dist/articles/types.d.ts +0 -1
- package/dist/articles/widget-styles.d.ts +0 -1
- package/dist/brand/extract-brand-profile.d.ts +0 -1
- package/dist/chat/index.d.ts +11 -0
- package/dist/chat/index.js +16 -0
- package/dist/chunk-24QZEO3Q.js +41 -0
- package/dist/chunk-3KUUH2YP.js +148 -0
- package/dist/chunk-43OCZ3JA.js +67 -0
- package/dist/chunk-4IQ52CXL.js +1803 -0
- package/dist/chunk-4KZ6W3ZH.js +8 -0
- package/dist/chunk-4RMVXRBO.js +478 -0
- package/dist/chunk-4Y5FWDPM.js +97 -0
- package/dist/chunk-5SEM2V4A.js +837 -0
- package/dist/chunk-5SQK3D53.js +24 -0
- package/dist/chunk-6HDT4G4A.js +253 -0
- package/dist/chunk-6T6CQVNL.js +37 -0
- package/dist/chunk-7KJGO77W.js +1 -0
- package/dist/chunk-7L5AARVY.js +68 -0
- package/dist/chunk-7ZWO5HDQ.js +1 -0
- package/dist/chunk-A4CC4ZG3.js +15 -0
- package/dist/chunk-AQSNPZY4.js +92 -0
- package/dist/chunk-BMO3VGMR.js +184 -0
- package/dist/chunk-BQR4IPBW.js +146 -0
- package/dist/chunk-BR4ZKUHH.js +227 -0
- package/dist/chunk-BU66S5B7.js +1 -0
- package/dist/chunk-C4G3NW2E.js +25 -0
- package/dist/chunk-CVTVNC2U.js +99 -0
- package/dist/chunk-D7SLSJS4.js +1 -0
- package/dist/chunk-DIKNRN34.js +28 -0
- package/dist/chunk-DXO6SBMD.js +43 -0
- package/dist/chunk-EDYHROQ7.js +77 -0
- package/dist/chunk-EGOD74PP.js +129 -0
- package/dist/chunk-EKBEOXTH.js +114 -0
- package/dist/chunk-FESKKJAS.js +19 -0
- package/dist/chunk-FL4EPUWA.js +407 -0
- package/dist/chunk-FV2VD7WM.js +347 -0
- package/dist/chunk-FYAB6CXS.js +265 -0
- package/dist/chunk-FYBZ5SNP.js +1241 -0
- package/dist/chunk-G3NHWMP5.js +233 -0
- package/dist/chunk-GJWI74ZZ.js +27 -0
- package/dist/chunk-GKGSXUVQ.js +218 -0
- package/dist/chunk-GLHQ3LRO.js +97 -0
- package/dist/chunk-GW7GSBO7.js +66 -0
- package/dist/chunk-GYESATRY.js +19 -0
- package/dist/chunk-GYF2ULVO.js +14 -0
- package/dist/chunk-HGCK465A.js +1071 -0
- package/dist/chunk-HXJ54KAM.js +122 -0
- package/dist/chunk-IHG36STL.js +286 -0
- package/dist/chunk-J4FSB4OG.js +200 -0
- package/dist/chunk-JE4A5S4F.js +48 -0
- package/dist/chunk-JJ4JS3LD.js +26 -0
- package/dist/chunk-JSZN6LDZ.js +338 -0
- package/dist/chunk-KPAZG65P.js +138 -0
- package/dist/chunk-KV4LOKOU.js +154 -0
- package/dist/chunk-KXPBMCFL.js +39 -0
- package/dist/chunk-L2V5PUFN.js +15 -0
- package/dist/chunk-L3AQCDCY.js +386 -0
- package/dist/chunk-L5UOHS6E.js +45 -0
- package/dist/chunk-LCDVPAMR.js +24 -0
- package/dist/chunk-LE7ZOTHB.js +43 -0
- package/dist/chunk-LNSNA3W4.js +217 -0
- package/dist/chunk-LQJC5S2M.js +236 -0
- package/dist/chunk-LVESVYCE.js +270 -0
- package/dist/chunk-MH2DSGC6.js +10 -0
- package/dist/chunk-MJP63SSS.js +14 -0
- package/dist/chunk-MV2MBTC3.js +177 -0
- package/dist/chunk-MVLMXC44.js +9 -0
- package/dist/chunk-N2UVOR3X.js +238 -0
- package/dist/chunk-NDF4A5JM.js +37 -0
- package/dist/chunk-NJCTQH2P.js +62 -0
- package/dist/chunk-NZOJHERI.js +32 -0
- package/dist/chunk-OFOAHPUV.js +127 -0
- package/dist/chunk-OPRBF7VE.js +41 -0
- package/dist/chunk-OSYCOC3K.js +21 -0
- package/dist/chunk-P4GRY6QP.js +54 -0
- package/dist/chunk-P5GB6NEO.js +66 -0
- package/dist/chunk-P5J7VMQ3.js +523 -0
- package/dist/chunk-PKBMQBKP.js +5 -0
- package/dist/chunk-PO2TRJPY.js +40 -0
- package/dist/chunk-PSAG45YF.js +451 -0
- package/dist/chunk-PXKIGZ2F.js +31 -0
- package/dist/chunk-QANVUXKH.js +100 -0
- package/dist/chunk-QGHSMJKW.js +4 -0
- package/dist/chunk-QLTDFUJ7.js +94 -0
- package/dist/chunk-QPEEKFCA.js +533 -0
- package/dist/chunk-QXMIKDOL.js +125 -0
- package/dist/chunk-QZZIKMAT.js +163 -0
- package/dist/chunk-S22FSH7C.js +94 -0
- package/dist/chunk-SC4MZGWZ.js +63 -0
- package/dist/chunk-SOD2F6C2.js +281 -0
- package/dist/chunk-SS636UDN.js +35 -0
- package/dist/chunk-SSUQKA7L.js +746 -0
- package/dist/chunk-SWKE6FWH.js +47 -0
- package/dist/chunk-T22VK4NJ.js +49 -0
- package/dist/chunk-T3MC4HOD.js +130 -0
- package/dist/chunk-TT63HHIT.js +543 -0
- package/dist/chunk-TXBAOEKG.js +1084 -0
- package/dist/chunk-UPFU63L4.js +126 -0
- package/dist/chunk-UVPGW4R7.js +222 -0
- package/dist/chunk-UZN4ZYR2.js +937 -0
- package/dist/chunk-V6LSQRTH.js +52 -0
- package/dist/chunk-VX5CMNMM.js +26 -0
- package/dist/chunk-WATH55UY.js +191 -0
- package/dist/chunk-WMVK77ND.js +53 -0
- package/dist/chunk-X6F6SO4S.js +135 -0
- package/dist/chunk-XTRZGXB2.js +34 -0
- package/dist/chunk-Y3INC4QJ.js +133 -0
- package/dist/chunk-YC7ELZS3.js +51 -0
- package/dist/chunk-YGGDU6C3.js +93 -0
- package/dist/chunk-YVKRYQRG.js +70 -0
- package/dist/chunk-Z22QVHT4.js +57 -0
- package/dist/chunk-ZEGVKVD5.js +80 -0
- package/dist/chunk-ZTZQPYP6.js +55 -0
- package/dist/client/SiteKitCredential.d.ts +0 -1
- package/dist/client/index.d.ts +0 -1
- package/dist/client/index.js +13 -53
- package/dist/cms/CmsPage.d.ts +0 -1
- package/dist/cms/CmsPreview.d.ts +0 -1
- package/dist/cms/CmsSection.d.ts +0 -1
- package/dist/cms/PortableTextRenderer.d.ts +0 -1
- package/dist/cms/index.d.ts +1 -2
- package/dist/cms/index.js +5 -410
- package/dist/cms/sanity-image.d.ts +0 -1
- package/dist/cms/sections/CtaSection.d.ts +0 -1
- package/dist/cms/sections/CustomSection.d.ts +0 -1
- package/dist/cms/sections/FaqSection.d.ts +0 -1
- package/dist/cms/sections/FormSection.d.ts +0 -1
- package/dist/cms/sections/GallerySection.d.ts +0 -1
- package/dist/cms/sections/HeroSection.d.ts +0 -1
- package/dist/cms/sections/RichTextSection.d.ts +0 -1
- package/dist/cms/sections/TestimonialsSection.d.ts +0 -1
- package/dist/cms/sections/index.d.ts +0 -1
- package/dist/cms/server-api.d.ts +0 -1
- package/dist/cms/server.d.ts +0 -1
- package/dist/cms/server.js +5 -22
- package/dist/cms/types.d.ts +0 -1
- package/dist/commerce/CalendarView.d.ts +0 -1
- package/dist/commerce/CheckoutForm.d.ts +0 -1
- package/dist/commerce/EventCalendar.d.ts +0 -1
- package/dist/commerce/EventCheckout.d.ts +0 -1
- package/dist/commerce/EventEmbed.d.ts +0 -1
- package/dist/commerce/EventModal.d.ts +0 -1
- package/dist/commerce/EventTile.d.ts +0 -1
- package/dist/commerce/EventsAgenda.d.ts +0 -1
- package/dist/commerce/EventsWidget.d.ts +0 -1
- package/dist/commerce/OfferingCard.d.ts +0 -1
- package/dist/commerce/OfferingList.d.ts +0 -1
- package/dist/commerce/ProductDetail.d.ts +0 -1
- package/dist/commerce/ProductEmbed.d.ts +0 -1
- package/dist/commerce/ProductGrid.d.ts +0 -1
- package/dist/commerce/ProductPage.d.ts +0 -1
- package/dist/commerce/RegistrationForm.d.ts +0 -1
- package/dist/commerce/SizeChart.d.ts +0 -1
- package/dist/commerce/UpcomingEvents.d.ts +0 -1
- package/dist/commerce/api.d.ts +0 -1
- package/dist/commerce/events-extras.d.ts +0 -1
- package/dist/commerce/index.d.ts +0 -1
- package/dist/commerce/index.js +8021 -228
- package/dist/commerce/server.d.ts +0 -1
- package/dist/commerce/server.js +2 -251
- package/dist/commerce/types.d.ts +0 -1
- package/dist/commerce/useEventModal.d.ts +0 -1
- package/dist/commerce/utils.d.ts +0 -1
- package/dist/config/index.d.ts +0 -1
- package/dist/config/index.js +7 -11
- package/dist/contracts/color.d.ts +38 -0
- package/dist/contracts/entries.d.ts +8 -0
- package/dist/contracts/fleet.d.ts +96 -0
- package/dist/contracts/forms.d.ts +89 -0
- package/dist/contracts/llms.d.ts +54 -0
- package/dist/contracts/portfolio.d.ts +158 -0
- package/dist/contracts/seo-meta.d.ts +56 -0
- package/dist/contracts/seo-pages.d.ts +124 -0
- package/dist/contracts/sites-normalize.d.ts +35 -0
- package/dist/contracts/sites.d.ts +48 -0
- package/dist/contracts/slots.d.ts +81 -0
- package/dist/contracts/website.d.ts +148 -0
- package/dist/cta-bar/CtaBar.d.ts +0 -1
- package/dist/cta-bar/CtaBarBehavior.d.ts +0 -1
- package/dist/cta-bar/client.d.ts +0 -1
- package/dist/cta-bar/client.js +3 -22
- package/dist/cta-bar/index.d.ts +0 -1
- package/dist/cta-bar/index.js +5 -227
- package/dist/cta-bar/styles.d.ts +0 -1
- package/dist/discover-3YYOHOQP.js +2 -0
- package/dist/engage/ChatWidget.d.ts +0 -1
- package/dist/engage/DesignRenderer.d.ts +0 -1
- package/dist/engage/EchoUiActions.d.ts +0 -1
- package/dist/engage/EngageWidget.d.ts +2 -1
- package/dist/engage/brand-color.d.ts +0 -1
- package/dist/engage/chat-messages.d.ts +0 -1
- package/dist/engage/echo-config.d.ts +0 -1
- package/dist/engage/element-rules.d.ts +0 -1
- package/dist/engage/index.d.ts +0 -1
- package/dist/engage/index.js +20 -37
- package/dist/engage/launcher-placement.d.ts +0 -1
- package/dist/engage/socket-loader.d.ts +0 -1
- package/dist/engage/types.d.ts +18 -1
- package/dist/fleet/FleetHeartbeat.d.ts +0 -1
- package/dist/fleet/contract.d.ts +1 -98
- package/dist/fleet/contract.js +2 -53
- package/dist/fleet/heartbeat.d.ts +0 -1
- package/dist/fleet/index.d.ts +0 -1
- package/dist/fleet/index.js +9 -76
- package/dist/forms/DatePicker.d.ts +0 -1
- package/dist/forms/FileField.d.ts +0 -1
- package/dist/forms/FormCelebration.d.ts +0 -1
- package/dist/forms/FormClient.d.ts +0 -1
- package/dist/forms/FormEnhancer.d.ts +0 -1
- package/dist/forms/FormField.d.ts +0 -1
- package/dist/forms/FormSpotlight.d.ts +0 -1
- package/dist/forms/FormStage.d.ts +0 -1
- package/dist/forms/HoneypotField.d.ts +0 -1
- package/dist/forms/ManagedForm.d.ts +0 -1
- package/dist/forms/ServerForm.d.ts +0 -1
- package/dist/forms/StaticForm.d.ts +0 -1
- package/dist/forms/contract.d.ts +1 -91
- package/dist/forms/contract.js +2 -37
- package/dist/forms/defaultSuccessMessage.d.ts +0 -1
- package/dist/forms/delight.d.ts +0 -1
- package/dist/forms/experience-chrome.d.ts +0 -1
- package/dist/forms/experience-plan.d.ts +0 -1
- package/dist/forms/field-controls.d.ts +0 -1
- package/dist/forms/field-interactions.d.ts +0 -1
- package/dist/forms/field-rules.d.ts +0 -1
- package/dist/forms/form-loaded-at.d.ts +12 -0
- package/dist/forms/form-values.d.ts +0 -1
- package/dist/forms/formsApi.d.ts +0 -1
- package/dist/forms/ga4-identity.d.ts +0 -1
- package/dist/forms/index.d.ts +0 -1
- package/dist/forms/index.js +20 -64
- package/dist/forms/normalize-config.d.ts +0 -1
- package/dist/forms/recaptcha-warmup.d.ts +0 -1
- package/dist/forms/recaptcha.d.ts +0 -1
- package/dist/forms/server.d.ts +0 -1
- package/dist/forms/server.js +11 -67
- package/dist/forms/static.d.ts +0 -1
- package/dist/forms/static.js +6 -17
- package/dist/forms/submitForm.d.ts +0 -1
- package/dist/forms/tracking-session.d.ts +0 -1
- package/dist/forms/types.d.ts +0 -1
- package/dist/forms/useForm.d.ts +0 -1
- package/dist/forms/useFormTracking.d.ts +0 -1
- package/dist/images/ManagedFavicon.d.ts +0 -1
- package/dist/images/ManagedImage.d.ts +0 -1
- package/dist/images/api.d.ts +0 -1
- package/dist/images/index.d.ts +0 -1
- package/dist/images/index.js +6 -49
- package/dist/images/server.d.ts +0 -1
- package/dist/images/server.js +3 -21
- package/dist/index.d.ts +13 -56
- package/dist/index.js +2 -427
- package/dist/landing/LandingPage.d.ts +0 -1
- package/dist/landing/contract.d.ts +0 -1
- package/dist/landing/index.d.ts +0 -1
- package/dist/landing/index.js +3 -22
- package/dist/landing/metadata.d.ts +0 -1
- package/dist/landing/server.d.ts +0 -1
- package/dist/landing/server.js +3 -17
- package/dist/layout/SiteKitClientProviders.d.ts +12 -3
- package/dist/layout/SiteKitLayout.d.ts +19 -4
- package/dist/layout/SpeculationRules.d.ts +0 -1
- package/dist/layout/client.d.ts +12 -3
- package/dist/layout/client.js +16 -27
- package/dist/layout/index.d.ts +0 -1
- package/dist/layout/index.js +43 -41
- package/dist/layout/types.d.ts +13 -1
- package/dist/llms/AEOComponents.d.ts +0 -1
- package/dist/llms/SpeakableSchema.d.ts +0 -1
- package/dist/llms/agent-access.d.ts +43 -0
- package/dist/llms/aiRobots.d.ts +0 -10
- package/dist/llms/api.d.ts +0 -1
- package/dist/llms/client.d.ts +0 -1
- package/dist/llms/client.js +4 -66
- package/dist/llms/contract.d.ts +1 -42
- package/dist/llms/contract.js +2 -41
- package/dist/llms/discovery-headers.d.ts +6 -1
- package/dist/llms/generateLLMsTxt.d.ts +0 -1
- package/dist/llms/handlers.d.ts +0 -1
- package/dist/llms/humanize-industry.d.ts +0 -1
- package/dist/llms/index.d.ts +3 -2
- package/dist/llms/index.js +17 -448
- package/dist/llms/links.d.ts +0 -1
- package/dist/llms/revalidate.d.ts +0 -1
- package/dist/llms/seo-revalidate.d.ts +0 -1
- package/dist/llms/sourcedFacts.d.ts +0 -1
- package/dist/llms/types.d.ts +6 -1
- package/dist/llms/writeLLMsTxt.d.ts +10 -1
- package/dist/manifest/index.d.ts +0 -1
- package/dist/manifest/index.js +4 -8
- package/dist/maps/GoogleMap.d.ts +0 -1
- package/dist/maps/NeighborhoodMap.d.ts +0 -1
- package/dist/maps/api.d.ts +0 -1
- package/dist/maps/index.d.ts +0 -1
- package/dist/maps/index.js +85 -92
- package/dist/maps/types.d.ts +0 -1
- package/dist/mcp/WebMcpTools.d.ts +0 -1
- package/dist/mcp/client.d.ts +0 -1
- package/dist/mcp/client.js +9 -12
- package/dist/mcp/declarative.d.ts +0 -1
- package/dist/mcp/handlers.d.ts +15 -2
- package/dist/mcp/index.d.ts +2 -3
- package/dist/mcp/index.js +50 -298
- package/dist/mcp/protocol.d.ts +0 -1
- package/dist/mcp/report.d.ts +27 -0
- package/dist/mcp/serverCard.d.ts +0 -1
- package/dist/mcp/sonor.d.ts +99 -0
- package/dist/mcp/sonor.js +484 -0
- package/dist/mcp/transport.d.ts +0 -1
- package/dist/mcp/transport.js +8 -24
- package/dist/mcp/types.d.ts +21 -1
- package/dist/motion/CountUp.d.ts +0 -1
- package/dist/motion/Parallax.d.ts +0 -1
- package/dist/motion/Reveal.d.ts +0 -1
- package/dist/motion/ScrollScene.d.ts +0 -1
- package/dist/motion/engine.d.ts +0 -1
- package/dist/motion/failsafe.d.ts +0 -1
- package/dist/motion/gsap.d.ts +0 -1
- package/dist/motion/gsap.js +17 -29
- package/dist/motion/index.d.ts +0 -1
- package/dist/motion/index.js +25 -51
- package/dist/motion/three.d.ts +0 -1
- package/dist/motion/three.js +16 -23
- package/dist/og/config.d.ts +0 -1
- package/dist/og/contrast.d.ts +0 -1
- package/dist/og/index.d.ts +0 -1
- package/dist/og/index.js +4 -43
- package/dist/og/pages.d.ts +0 -1
- package/dist/og/route-fit.d.ts +0 -1
- package/dist/og/route.d.ts +0 -1
- package/dist/og/route.js +3 -245
- package/dist/og/template.d.ts +0 -1
- package/dist/portfolio/contract.d.ts +1 -153
- package/dist/portfolio/contract.js +2 -136
- package/dist/proxy/index.d.ts +16 -14
- package/dist/proxy/index.js +20 -36
- package/dist/proxy/securityHeaders.d.ts +0 -1
- package/dist/proxy/segment.d.ts +0 -1
- package/dist/redirects/index.d.ts +0 -8
- package/dist/redirects/index.js +6 -41
- package/dist/reputation/TestimonialSection.d.ts +0 -1
- package/dist/reputation/api.d.ts +0 -1
- package/dist/reputation/index.d.ts +0 -1
- package/dist/reputation/index.js +4 -22
- package/dist/reputation/server.d.ts +0 -1
- package/dist/reputation/server.js +3 -17
- package/dist/reputation/types.d.ts +0 -1
- package/dist/robots/index.d.ts +1 -2
- package/dist/robots/index.js +4 -78
- package/dist/robots/indexnow.d.ts +0 -1
- package/dist/robots/indexnow.js +4 -39
- package/dist/robots/next-internals.d.ts +0 -1
- package/dist/seo/ManagedContent.d.ts +0 -1
- package/dist/seo/ManagedFAQ.d.ts +0 -1
- package/dist/seo/ManagedInternalLinks.d.ts +0 -1
- package/dist/seo/ManagedSchema.d.ts +0 -1
- package/dist/seo/ManagedScripts.d.ts +0 -1
- package/dist/seo/api.d.ts +0 -1
- package/dist/seo/client.d.ts +0 -1
- package/dist/seo/client.js +8 -19
- package/dist/seo/entry-indexnow.d.ts +2 -0
- package/dist/seo/entry-llms-client.d.ts +2 -0
- package/dist/seo/entry-llms-contract.d.ts +2 -0
- package/dist/seo/entry-llms.d.ts +2 -0
- package/dist/seo/entry-meta-contract.d.ts +2 -0
- package/dist/seo/entry-og-route.d.ts +2 -0
- package/dist/seo/entry-og.d.ts +2 -0
- package/dist/seo/entry-pages-contract.d.ts +2 -0
- package/dist/seo/entry-redirects.d.ts +2 -0
- package/dist/seo/entry-robots.d.ts +2 -0
- package/dist/seo/entry-sitemap.d.ts +2 -0
- package/dist/seo/getManagedMetadata.d.ts +0 -1
- package/dist/seo/groundingSchema.d.ts +0 -1
- package/dist/seo/index.d.ts +0 -2
- package/dist/seo/index.js +88 -318
- package/dist/seo/indexnow.d.ts +2 -0
- package/dist/seo/indexnow.js +4 -0
- package/dist/seo/llms/client.d.ts +2 -0
- package/dist/seo/llms/client.js +4 -0
- package/dist/seo/llms/contract.d.ts +2 -0
- package/dist/seo/llms/contract.js +2 -0
- package/dist/seo/llms.d.ts +2 -0
- package/dist/seo/llms.js +17 -0
- package/dist/seo/load-env.d.ts +12 -0
- package/dist/seo/meta/contract.d.ts +2 -0
- package/dist/seo/meta/contract.js +2 -0
- package/dist/seo/og/route.d.ts +2 -0
- package/dist/seo/og/route.js +3 -0
- package/dist/seo/og.d.ts +2 -0
- package/dist/seo/og.js +4 -0
- package/dist/seo/pages/contract.d.ts +2 -0
- package/dist/seo/pages/contract.js +4 -0
- package/dist/seo/redirects.d.ts +2 -0
- package/dist/seo/redirects.js +6 -0
- package/dist/seo/register-sitemap-cli-impl.d.ts +6 -1
- package/dist/seo/register-sitemap-cli.d.ts +1 -1
- package/dist/seo/register-sitemap-cli.js +73 -66
- package/dist/seo/register-sitemap-request.d.ts +0 -1
- package/dist/seo/robots.d.ts +2 -0
- package/dist/seo/robots.js +4 -0
- package/dist/seo/routing.d.ts +0 -1
- package/dist/seo/safeJsonLd.d.ts +0 -1
- package/dist/seo/schema-filter.d.ts +0 -1
- package/dist/seo/server-api.d.ts +0 -1
- package/dist/seo/server.d.ts +0 -1
- package/dist/seo/server.js +10 -80
- package/dist/seo/sitemap.d.ts +2 -0
- package/dist/seo/sitemap.js +15 -0
- package/dist/seo/types.d.ts +0 -1
- package/dist/seo/withManagedMetadata.d.ts +0 -1
- package/dist/seo-meta/contract.d.ts +1 -60
- package/dist/seo-meta/contract.js +2 -41
- package/dist/seo-pages/contract.d.ts +1 -61
- package/dist/seo-pages/contract.js +4 -49
- package/dist/server/index.d.ts +0 -1
- package/dist/server/index.js +6 -32
- package/dist/server/mint-site-token.d.ts +0 -1
- package/dist/server/server-fetch.d.ts +0 -1
- package/dist/server-api-GJJQZVG7.js +8 -0
- package/dist/shared/build-entries.d.ts +53 -14
- package/dist/shared/clock.d.ts +20 -0
- package/dist/shared/color.d.ts +1 -39
- package/dist/shared/defer.d.ts +0 -1
- package/dist/shared/fetchWithRetry.d.ts +0 -1
- package/dist/shared/frame.d.ts +1 -9
- package/dist/shared/fresh-fetch.d.ts +0 -1
- package/dist/shared/glass.d.ts +0 -1
- package/dist/shared/identity.d.ts +0 -1
- package/dist/shared/markdown.d.ts +40 -0
- package/dist/shared/next-files.d.ts +0 -1
- package/dist/shared/page-leave.d.ts +0 -1
- package/dist/shared/publishCredential.d.ts +0 -1
- package/dist/shared/reporting-gate.d.ts +0 -1
- package/dist/shared/request-guards.d.ts +0 -1
- package/dist/shared/siteToken.d.ts +0 -1
- package/dist/shared/sonorFetch.d.ts +0 -1
- package/dist/shared/source-graph.d.ts +0 -1
- package/dist/shared/uuid.d.ts +0 -1
- package/dist/shared/version.d.ts +1 -2
- package/dist/shared/visual-viewport-gap.d.ts +0 -1
- package/dist/signal/SignalBridge.d.ts +0 -1
- package/dist/signal/SignalCore.d.ts +0 -1
- package/dist/signal/SignalExperiment.d.ts +0 -1
- package/dist/signal/index.d.ts +0 -1
- package/dist/signal/index.js +72 -44
- package/dist/signal/store.d.ts +0 -1
- package/dist/signal/types.d.ts +0 -1
- package/dist/site-config/index.d.ts +0 -1
- package/dist/site-config/index.js +2 -17
- package/dist/sitemap/discover.d.ts +0 -1
- package/dist/sitemap/index.d.ts +6 -1
- package/dist/sitemap/index.js +15 -553
- package/dist/sitemap/shared.d.ts +0 -1
- package/dist/sites/contract.d.ts +1 -51
- package/dist/sites/contract.js +3 -38
- package/dist/sites/normalize.d.ts +1 -36
- package/dist/sites/resolve.d.ts +0 -1
- package/dist/sites/site-param.d.ts +0 -1
- package/dist/slots/ManagedSlot.d.ts +0 -1
- package/dist/slots/contract.d.ts +1 -82
- package/dist/slots/contract.js +2 -41
- package/dist/slots/index.d.ts +0 -1
- package/dist/slots/index.js +5 -182
- package/dist/slots/revalidate.d.ts +0 -1
- package/dist/slots/server-api.d.ts +0 -1
- package/dist/socket-loader-R24ZSRSQ.js +12 -0
- package/dist/sync/AddToCalendar.d.ts +0 -1
- package/dist/sync/BookingWidget.d.ts +0 -1
- package/dist/sync/MeetingFormatStep.d.ts +0 -1
- package/dist/sync/api.d.ts +0 -1
- package/dist/sync/booking-flow.d.ts +0 -1
- package/dist/sync/index.d.ts +0 -1
- package/dist/sync/index.js +6 -64
- package/dist/sync/types.d.ts +0 -1
- package/dist/types.d.ts +0 -63
- package/dist/web-vitals.attribution-N2PCCF4Q.js +522 -0
- package/dist/website/BlocksPopup.d.ts +25 -0
- package/dist/website/PopupBlocks.d.ts +57 -0
- package/dist/website/SiteDesignReporter.d.ts +28 -0
- package/dist/website/cms/server.d.ts +2 -0
- package/dist/website/cms/server.js +5 -0
- package/dist/website/cms-server.d.ts +2 -0
- package/dist/website/cms.d.ts +2 -0
- package/dist/website/cms.js +5 -0
- package/dist/website/contract.d.ts +1 -0
- package/dist/website/contract.js +3 -0
- package/dist/website/cta-bar.d.ts +2 -0
- package/dist/website/cta-bar.js +5 -0
- package/dist/website/design.d.ts +165 -0
- package/dist/website/images/server.d.ts +2 -0
- package/dist/website/images/server.js +3 -0
- package/dist/website/images-server.d.ts +2 -0
- package/dist/website/images.d.ts +2 -0
- package/dist/website/images.js +6 -0
- package/dist/website/index.d.ts +17 -0
- package/dist/website/index.js +13 -0
- package/dist/website/landing/server.d.ts +2 -0
- package/dist/website/landing/server.js +3 -0
- package/dist/website/landing-server.d.ts +2 -0
- package/dist/website/landing.d.ts +2 -0
- package/dist/website/landing.js +3 -0
- package/dist/website/popups.d.ts +17 -0
- package/dist/website/popups.js +22 -0
- package/dist/website/slots/contract.d.ts +2 -0
- package/dist/website/slots/contract.js +2 -0
- package/dist/website/slots-contract.d.ts +2 -0
- package/dist/website/slots.d.ts +3 -0
- package/dist/website/slots.js +5 -0
- package/dist/writeLLMsTxt-UMHKGNRR.js +11 -0
- package/package.json +191 -161
- package/skills/site-kit/SKILL.md +9 -3
- package/dist/AnalyticsProvider-44PDLORZ.js +0 -34
- package/dist/AnalyticsProvider-44PDLORZ.js.map +0 -1
- package/dist/AnalyticsProvider-F6KHEAOX.mjs +0 -13
- package/dist/AnalyticsProvider-F6KHEAOX.mjs.map +0 -1
- package/dist/ArticleFaqSection-3KZ24MFS.js +0 -13
- package/dist/ArticleFaqSection-3KZ24MFS.js.map +0 -1
- package/dist/ArticleFaqSection-XZPXJVH4.mjs +0 -11
- package/dist/ArticleFaqSection-XZPXJVH4.mjs.map +0 -1
- package/dist/ArticleViewTracker-MGNVIHZ4.js +0 -54
- package/dist/ArticleViewTracker-MGNVIHZ4.js.map +0 -1
- package/dist/ArticleViewTracker-NI4UNSY7.mjs +0 -51
- package/dist/ArticleViewTracker-NI4UNSY7.mjs.map +0 -1
- package/dist/ChatWidget-XSALHDDW.mjs +0 -17
- package/dist/ChatWidget-XSALHDDW.mjs.map +0 -1
- package/dist/ChatWidget-YBXJRR2Z.js +0 -34
- package/dist/ChatWidget-YBXJRR2Z.js.map +0 -1
- package/dist/DatePicker-4WNKNNCV.mjs +0 -4
- package/dist/DatePicker-4WNKNNCV.mjs.map +0 -1
- package/dist/DatePicker-VPZR7RU3.js +0 -13
- package/dist/DatePicker-VPZR7RU3.js.map +0 -1
- package/dist/EngageWidget-DUEXPVOY.mjs +0 -13
- package/dist/EngageWidget-DUEXPVOY.mjs.map +0 -1
- package/dist/EngageWidget-MDCRS3BN.js +0 -22
- package/dist/EngageWidget-MDCRS3BN.js.map +0 -1
- package/dist/FileField-AXU6KBSV.js +0 -91
- package/dist/FileField-AXU6KBSV.js.map +0 -1
- package/dist/FileField-UTLGR5ZN.mjs +0 -85
- package/dist/FileField-UTLGR5ZN.mjs.map +0 -1
- package/dist/FormCelebration-7CBANVNS.mjs +0 -4
- package/dist/FormCelebration-7CBANVNS.mjs.map +0 -1
- package/dist/FormCelebration-O2O5S6JI.js +0 -13
- package/dist/FormCelebration-O2O5S6JI.js.map +0 -1
- package/dist/FormSpotlight-NWLCZMOT.mjs +0 -756
- package/dist/FormSpotlight-NWLCZMOT.mjs.map +0 -1
- package/dist/FormSpotlight-RR5KJDIH.js +0 -761
- package/dist/FormSpotlight-RR5KJDIH.js.map +0 -1
- package/dist/FormStage-GFNX4GLU.js +0 -422
- package/dist/FormStage-GFNX4GLU.js.map +0 -1
- package/dist/FormStage-V4XKLI6J.mjs +0 -420
- package/dist/FormStage-V4XKLI6J.mjs.map +0 -1
- package/dist/ManagedForm-4AD3LWSC.js +0 -25
- package/dist/ManagedForm-4AD3LWSC.js.map +0 -1
- package/dist/ManagedForm-4IWPG6AZ.mjs +0 -16
- package/dist/ManagedForm-4IWPG6AZ.mjs.map +0 -1
- package/dist/ManagedNewsletterForm-ARSY2VHC.mjs +0 -64
- package/dist/ManagedNewsletterForm-ARSY2VHC.mjs.map +0 -1
- package/dist/ManagedNewsletterForm-HJZNUABY.js +0 -66
- package/dist/ManagedNewsletterForm-HJZNUABY.js.map +0 -1
- package/dist/SignalCore-N2LKG4XN.mjs +0 -324
- package/dist/SignalCore-N2LKG4XN.mjs.map +0 -1
- package/dist/SignalCore-P2JUY2BO.js +0 -326
- package/dist/SignalCore-P2JUY2BO.js.map +0 -1
- package/dist/SitemapSync-KFY4PJ7G.js +0 -19
- package/dist/SitemapSync-KFY4PJ7G.js.map +0 -1
- package/dist/SitemapSync-UYDL7T4M.mjs +0 -10
- package/dist/SitemapSync-UYDL7T4M.mjs.map +0 -1
- package/dist/SitemapSync.d.ts.map +0 -1
- package/dist/admin-auth/index.d.ts.map +0 -1
- package/dist/admin-auth/index.js.map +0 -1
- package/dist/admin-auth/index.mjs +0 -0
- package/dist/admin-auth/index.mjs.map +0 -1
- package/dist/admin-auth/session.d.ts.map +0 -1
- package/dist/affiliates/AffiliatesWidget.d.ts.map +0 -1
- package/dist/affiliates/api.d.ts.map +0 -1
- package/dist/affiliates/index.d.ts.map +0 -1
- package/dist/affiliates/types.d.ts.map +0 -1
- package/dist/affiliates/useAffiliates.d.ts.map +0 -1
- package/dist/analytics/AnalyticsProvider.d.ts.map +0 -1
- package/dist/analytics/WebVitals.d.ts.map +0 -1
- package/dist/analytics/dispatch.d.ts.map +0 -1
- package/dist/analytics/index.d.ts.map +0 -1
- package/dist/analytics/index.js.map +0 -1
- package/dist/analytics/index.mjs +0 -15
- package/dist/analytics/index.mjs.map +0 -1
- package/dist/analytics/measurement-context.d.ts.map +0 -1
- package/dist/analytics/page-observation.d.ts.map +0 -1
- package/dist/analytics/send-gate.d.ts.map +0 -1
- package/dist/analytics/types.d.ts.map +0 -1
- package/dist/analytics/useContactTracking.d.ts.map +0 -1
- package/dist/api-D745LGGU.mjs +0 -183
- package/dist/api-XR5APCH3.js +0 -201
- package/dist/article-styles-DACUAOVT.mjs +0 -592
- package/dist/article-styles-DACUAOVT.mjs.map +0 -1
- package/dist/article-styles-JHHTNHOK.js +0 -595
- package/dist/article-styles-JHHTNHOK.js.map +0 -1
- package/dist/article-tables-EWXG4LNP.js +0 -17
- package/dist/article-tables-EWXG4LNP.js.map +0 -1
- package/dist/article-tables-OGE52LNT.mjs +0 -4
- package/dist/article-tables-OGE52LNT.mjs.map +0 -1
- package/dist/articles/Article.d.ts.map +0 -1
- package/dist/articles/ArticleFAQ.d.ts.map +0 -1
- package/dist/articles/ArticleFaqSection.d.ts.map +0 -1
- package/dist/articles/ArticleList.d.ts.map +0 -1
- package/dist/articles/ArticleViewTracker.d.ts.map +0 -1
- package/dist/articles/AuthorCard.d.ts.map +0 -1
- package/dist/articles/AuthorPage.d.ts.map +0 -1
- package/dist/articles/ClusterLandingPage.d.ts.map +0 -1
- package/dist/articles/ClusterNavigation.d.ts.map +0 -1
- package/dist/articles/ManagedNewsletterForm.d.ts.map +0 -1
- package/dist/articles/NewsletterShell.d.ts.map +0 -1
- package/dist/articles/NewsletterWidget.d.ts.map +0 -1
- package/dist/articles/PublicationLayout.d.ts.map +0 -1
- package/dist/articles/PublicationSidebar.d.ts.map +0 -1
- package/dist/articles/RelatedPosts.d.ts.map +0 -1
- package/dist/articles/ServiceCallout.d.ts.map +0 -1
- package/dist/articles/TableOfContents.d.ts.map +0 -1
- package/dist/articles/article-styles.d.ts.map +0 -1
- package/dist/articles/article-tables.d.ts.map +0 -1
- package/dist/articles/artwork.d.ts.map +0 -1
- package/dist/articles/author-schema.d.ts.map +0 -1
- package/dist/articles/author-social.d.ts.map +0 -1
- package/dist/articles/excerpt.d.ts.map +0 -1
- package/dist/articles/index.d.ts.map +0 -1
- package/dist/articles/index.js.map +0 -1
- package/dist/articles/index.mjs +0 -457
- package/dist/articles/index.mjs.map +0 -1
- package/dist/articles/news-sitemap.d.ts.map +0 -1
- package/dist/articles/processArticleHtml.d.ts.map +0 -1
- package/dist/articles/public-reads.d.ts.map +0 -1
- package/dist/articles/reading-time.d.ts.map +0 -1
- package/dist/articles/routes.d.ts.map +0 -1
- package/dist/articles/server-core.d.ts.map +0 -1
- package/dist/articles/server-ui.d.ts.map +0 -1
- package/dist/articles/server-ui.js.map +0 -1
- package/dist/articles/server-ui.mjs +0 -1098
- package/dist/articles/server-ui.mjs.map +0 -1
- package/dist/articles/server.d.ts.map +0 -1
- package/dist/articles/server.js.map +0 -1
- package/dist/articles/server.mjs +0 -11
- package/dist/articles/server.mjs.map +0 -1
- package/dist/articles/types.d.ts.map +0 -1
- package/dist/articles/widget-styles.d.ts.map +0 -1
- package/dist/brand/extract-brand-profile.d.ts.map +0 -1
- package/dist/chunk-2FEQ6TYD.mjs +0 -37
- package/dist/chunk-2FEQ6TYD.mjs.map +0 -1
- package/dist/chunk-34XL7TVH.js +0 -130
- package/dist/chunk-34XL7TVH.js.map +0 -1
- package/dist/chunk-3AOKYAZ2.js +0 -135
- package/dist/chunk-3AOKYAZ2.js.map +0 -1
- package/dist/chunk-3BLKKF67.mjs +0 -131
- package/dist/chunk-3BLKKF67.mjs.map +0 -1
- package/dist/chunk-3DWIYCQX.js +0 -30
- package/dist/chunk-3DWIYCQX.js.map +0 -1
- package/dist/chunk-3EAS4PAT.js +0 -141
- package/dist/chunk-3EAS4PAT.js.map +0 -1
- package/dist/chunk-3SDMJMN2.js +0 -71
- package/dist/chunk-3SDMJMN2.js.map +0 -1
- package/dist/chunk-3T2CVHFO.mjs +0 -453
- package/dist/chunk-3T2CVHFO.mjs.map +0 -1
- package/dist/chunk-42LLFAJQ.mjs +0 -932
- package/dist/chunk-42LLFAJQ.mjs.map +0 -1
- package/dist/chunk-4BEGKFMN.js +0 -133
- package/dist/chunk-4BEGKFMN.js.map +0 -1
- package/dist/chunk-4KAMU5HD.mjs +0 -16
- package/dist/chunk-4KAMU5HD.mjs.map +0 -1
- package/dist/chunk-4U5NCKQY.mjs +0 -39
- package/dist/chunk-4U5NCKQY.mjs.map +0 -1
- package/dist/chunk-4WCA2HM6.mjs +0 -57
- package/dist/chunk-4WCA2HM6.mjs.map +0 -1
- package/dist/chunk-54CARHDR.mjs +0 -95
- package/dist/chunk-54CARHDR.mjs.map +0 -1
- package/dist/chunk-55J2KE7D.js +0 -60
- package/dist/chunk-55J2KE7D.js.map +0 -1
- package/dist/chunk-5F2FIM5A.mjs +0 -135
- package/dist/chunk-5F2FIM5A.mjs.map +0 -1
- package/dist/chunk-5SANRSX3.mjs +0 -17
- package/dist/chunk-5SANRSX3.mjs.map +0 -1
- package/dist/chunk-5XFFUP6D.js +0 -100
- package/dist/chunk-5XFFUP6D.js.map +0 -1
- package/dist/chunk-5YA6SI4Z.mjs +0 -14279
- package/dist/chunk-5YVQWLSQ.mjs +0 -47
- package/dist/chunk-5YVQWLSQ.mjs.map +0 -1
- package/dist/chunk-5ZMTEK7U.js +0 -1430
- package/dist/chunk-5ZMTEK7U.js.map +0 -1
- package/dist/chunk-64BOVMXG.mjs +0 -68
- package/dist/chunk-64BOVMXG.mjs.map +0 -1
- package/dist/chunk-662YHKWW.mjs +0 -10
- package/dist/chunk-662YHKWW.mjs.map +0 -1
- package/dist/chunk-6C47333H.mjs +0 -55
- package/dist/chunk-6C47333H.mjs.map +0 -1
- package/dist/chunk-6EDVCUAG.mjs +0 -29
- package/dist/chunk-6EDVCUAG.mjs.map +0 -1
- package/dist/chunk-6FNFM7JL.js +0 -113
- package/dist/chunk-6FNFM7JL.js.map +0 -1
- package/dist/chunk-6OQYRVMI.js +0 -937
- package/dist/chunk-6OQYRVMI.js.map +0 -1
- package/dist/chunk-6PJTLBRR.mjs +0 -11
- package/dist/chunk-6PJTLBRR.mjs.map +0 -1
- package/dist/chunk-6XNEGG5B.mjs +0 -137
- package/dist/chunk-6XNEGG5B.mjs.map +0 -1
- package/dist/chunk-7F66Y4MA.mjs +0 -1073
- package/dist/chunk-7F66Y4MA.mjs.map +0 -1
- package/dist/chunk-7RLL67F3.js +0 -47
- package/dist/chunk-7RLL67F3.js.map +0 -1
- package/dist/chunk-7THQ4UW3.js +0 -69
- package/dist/chunk-7THQ4UW3.js.map +0 -1
- package/dist/chunk-A2HL22BO.mjs +0 -165
- package/dist/chunk-A2HL22BO.mjs.map +0 -1
- package/dist/chunk-AAZNH3MA.mjs +0 -23
- package/dist/chunk-AAZNH3MA.mjs.map +0 -1
- package/dist/chunk-AEN7EL6N.js +0 -161
- package/dist/chunk-AEN7EL6N.js.map +0 -1
- package/dist/chunk-AGIMH67E.mjs +0 -26
- package/dist/chunk-AGIMH67E.mjs.map +0 -1
- package/dist/chunk-AL4Z6VYF.js +0 -83
- package/dist/chunk-AL4Z6VYF.js.map +0 -1
- package/dist/chunk-AS2HUIDW.mjs +0 -16
- package/dist/chunk-AS2HUIDW.mjs.map +0 -1
- package/dist/chunk-B22WSN4L.mjs +0 -59
- package/dist/chunk-B22WSN4L.mjs.map +0 -1
- package/dist/chunk-B6QPCAEG.mjs +0 -128
- package/dist/chunk-B6QPCAEG.mjs.map +0 -1
- package/dist/chunk-BBBJHYPH.js +0 -19
- package/dist/chunk-BBBJHYPH.js.map +0 -1
- package/dist/chunk-BEXTDHO4.mjs +0 -57
- package/dist/chunk-BEXTDHO4.mjs.map +0 -1
- package/dist/chunk-BHZHWXER.js +0 -791
- package/dist/chunk-BHZHWXER.js.map +0 -1
- package/dist/chunk-BNKBRLJK.mjs +0 -75
- package/dist/chunk-BNKBRLJK.mjs.map +0 -1
- package/dist/chunk-BQP6JIE2.mjs +0 -28
- package/dist/chunk-BQP6JIE2.mjs.map +0 -1
- package/dist/chunk-BZR6RUIN.mjs +0 -128
- package/dist/chunk-BZR6RUIN.mjs.map +0 -1
- package/dist/chunk-C2CTLLIO.mjs +0 -72
- package/dist/chunk-C2CTLLIO.mjs.map +0 -1
- package/dist/chunk-C5VITBN7.mjs +0 -220
- package/dist/chunk-C5VITBN7.mjs.map +0 -1
- package/dist/chunk-CABEVWKJ.mjs +0 -25
- package/dist/chunk-CABEVWKJ.mjs.map +0 -1
- package/dist/chunk-CDRQYJUT.js +0 -355
- package/dist/chunk-CDRQYJUT.js.map +0 -1
- package/dist/chunk-CFRJ2MK5.mjs +0 -16
- package/dist/chunk-CFRJ2MK5.mjs.map +0 -1
- package/dist/chunk-CIM5W3UO.js +0 -26
- package/dist/chunk-CIM5W3UO.js.map +0 -1
- package/dist/chunk-CLO3K7PF.js +0 -19
- package/dist/chunk-CLO3K7PF.js.map +0 -1
- package/dist/chunk-CM4AVKXR.js +0 -533
- package/dist/chunk-CM4AVKXR.js.map +0 -1
- package/dist/chunk-CU6OGBKK.mjs +0 -68
- package/dist/chunk-CU6OGBKK.mjs.map +0 -1
- package/dist/chunk-CUNZAD46.js +0 -53
- package/dist/chunk-CUNZAD46.js.map +0 -1
- package/dist/chunk-CXAXZFFW.js +0 -157
- package/dist/chunk-CXAXZFFW.js.map +0 -1
- package/dist/chunk-D3WJMSTB.mjs +0 -132
- package/dist/chunk-D3WJMSTB.mjs.map +0 -1
- package/dist/chunk-DA7IANFG.mjs +0 -37
- package/dist/chunk-DA7IANFG.mjs.map +0 -1
- package/dist/chunk-DV2LJYFD.js +0 -14
- package/dist/chunk-DV2LJYFD.js.map +0 -1
- package/dist/chunk-DV5KVNA7.js +0 -45
- package/dist/chunk-DV5KVNA7.js.map +0 -1
- package/dist/chunk-DVYYGHSG.js +0 -285
- package/dist/chunk-DVYYGHSG.js.map +0 -1
- package/dist/chunk-DWZGW77V.mjs +0 -1669
- package/dist/chunk-DWZGW77V.mjs.map +0 -1
- package/dist/chunk-EDLNMGQC.mjs +0 -65
- package/dist/chunk-EDLNMGQC.mjs.map +0 -1
- package/dist/chunk-EHJANA5C.js +0 -231
- package/dist/chunk-EHJANA5C.js.map +0 -1
- package/dist/chunk-EMHSHAVW.js +0 -19
- package/dist/chunk-EMHSHAVW.js.map +0 -1
- package/dist/chunk-ESP5RMB7.js +0 -42
- package/dist/chunk-ESP5RMB7.js.map +0 -1
- package/dist/chunk-FCAHV5P3.mjs +0 -45
- package/dist/chunk-FCAHV5P3.mjs.map +0 -1
- package/dist/chunk-FPVYKSXE.mjs +0 -154
- package/dist/chunk-FPVYKSXE.mjs.map +0 -1
- package/dist/chunk-G2KGHIAP.js +0 -176
- package/dist/chunk-G2KGHIAP.js.map +0 -1
- package/dist/chunk-G6WF4G3E.js +0 -43
- package/dist/chunk-G6WF4G3E.js.map +0 -1
- package/dist/chunk-GCPPXUAI.js +0 -72
- package/dist/chunk-GCPPXUAI.js.map +0 -1
- package/dist/chunk-GFSQMK35.mjs +0 -127
- package/dist/chunk-GFSQMK35.mjs.map +0 -1
- package/dist/chunk-GIGUDKLS.mjs +0 -6
- package/dist/chunk-GIGUDKLS.mjs.map +0 -1
- package/dist/chunk-GSRT66PA.js +0 -80
- package/dist/chunk-GSRT66PA.js.map +0 -1
- package/dist/chunk-H4TSADY3.mjs +0 -761
- package/dist/chunk-H4TSADY3.mjs.map +0 -1
- package/dist/chunk-H6AU3WKF.js +0 -108
- package/dist/chunk-H6AU3WKF.js.map +0 -1
- package/dist/chunk-HGNSJXWT.js +0 -55
- package/dist/chunk-HGNSJXWT.js.map +0 -1
- package/dist/chunk-HIZJD7TU.mjs +0 -326
- package/dist/chunk-HIZJD7TU.mjs.map +0 -1
- package/dist/chunk-HPGPOUHU.mjs +0 -105
- package/dist/chunk-HPGPOUHU.mjs.map +0 -1
- package/dist/chunk-HXHDOIV6.js +0 -41
- package/dist/chunk-HXHDOIV6.js.map +0 -1
- package/dist/chunk-I7AZC5ZQ.js +0 -14285
- package/dist/chunk-IBJOGXQI.js +0 -33
- package/dist/chunk-IBJOGXQI.js.map +0 -1
- package/dist/chunk-IMWON7OV.mjs +0 -27
- package/dist/chunk-IMWON7OV.mjs.map +0 -1
- package/dist/chunk-IO65ROAO.js +0 -134
- package/dist/chunk-IO65ROAO.js.map +0 -1
- package/dist/chunk-IWSN4DGG.js +0 -132
- package/dist/chunk-IWSN4DGG.js.map +0 -1
- package/dist/chunk-J7QI3GDX.js +0 -12
- package/dist/chunk-J7QI3GDX.js.map +0 -1
- package/dist/chunk-JA77WXRE.js +0 -30
- package/dist/chunk-JA77WXRE.js.map +0 -1
- package/dist/chunk-JCDX37BY.js +0 -58
- package/dist/chunk-JCDX37BY.js.map +0 -1
- package/dist/chunk-JONWE26J.js +0 -81
- package/dist/chunk-JONWE26J.js.map +0 -1
- package/dist/chunk-JOYMIGR2.mjs +0 -24842
- package/dist/chunk-JP5WGL75.js +0 -62
- package/dist/chunk-JP5WGL75.js.map +0 -1
- package/dist/chunk-JS75ORH7.js +0 -24860
- package/dist/chunk-JSXLTZUP.mjs +0 -255
- package/dist/chunk-JSXLTZUP.mjs.map +0 -1
- package/dist/chunk-JX3PO2MH.js +0 -53
- package/dist/chunk-JX3PO2MH.js.map +0 -1
- package/dist/chunk-KHPJ3CEL.js +0 -72
- package/dist/chunk-KHPJ3CEL.js.map +0 -1
- package/dist/chunk-KP5BFPGT.js +0 -44
- package/dist/chunk-KP5BFPGT.js.map +0 -1
- package/dist/chunk-KR7ATPAN.js +0 -52
- package/dist/chunk-KR7ATPAN.js.map +0 -1
- package/dist/chunk-KZVSB5WE.mjs +0 -21
- package/dist/chunk-KZVSB5WE.mjs.map +0 -1
- package/dist/chunk-LVGSOW2F.js +0 -32
- package/dist/chunk-LVGSOW2F.js.map +0 -1
- package/dist/chunk-M2N7NY3V.js +0 -103
- package/dist/chunk-M2N7NY3V.js.map +0 -1
- package/dist/chunk-MDQLON5R.mjs +0 -101
- package/dist/chunk-MDQLON5R.mjs.map +0 -1
- package/dist/chunk-MHKD34B4.js +0 -1677
- package/dist/chunk-MHKD34B4.js.map +0 -1
- package/dist/chunk-MLVHVKFT.mjs +0 -148
- package/dist/chunk-MLVHVKFT.mjs.map +0 -1
- package/dist/chunk-MU3D5IO7.mjs +0 -283
- package/dist/chunk-MU3D5IO7.mjs.map +0 -1
- package/dist/chunk-MU7DTEUF.mjs +0 -77
- package/dist/chunk-MU7DTEUF.mjs.map +0 -1
- package/dist/chunk-MVHR77V4.js +0 -205
- package/dist/chunk-MVHR77V4.js.map +0 -1
- package/dist/chunk-MXJOKOFK.mjs +0 -51
- package/dist/chunk-MXJOKOFK.mjs.map +0 -1
- package/dist/chunk-NBOBOYMT.js +0 -52
- package/dist/chunk-NBOBOYMT.js.map +0 -1
- package/dist/chunk-NE6QGHFT.mjs +0 -240
- package/dist/chunk-NE6QGHFT.mjs.map +0 -1
- package/dist/chunk-NH2P27MA.js +0 -27
- package/dist/chunk-NH2P27MA.js.map +0 -1
- package/dist/chunk-NN2YE5WT.js +0 -325
- package/dist/chunk-NNZDWY3L.mjs +0 -323
- package/dist/chunk-NSWO43XW.mjs +0 -39
- package/dist/chunk-NSWO43XW.mjs.map +0 -1
- package/dist/chunk-NYXENHD2.mjs +0 -96
- package/dist/chunk-NYXENHD2.mjs.map +0 -1
- package/dist/chunk-O5GHP7UO.js +0 -142
- package/dist/chunk-O5GHP7UO.js.map +0 -1
- package/dist/chunk-OBKS3CPP.mjs +0 -50
- package/dist/chunk-OBKS3CPP.mjs.map +0 -1
- package/dist/chunk-OFBEBMXN.mjs +0 -8014
- package/dist/chunk-OFBEBMXN.mjs.map +0 -1
- package/dist/chunk-OGNX6JT4.js +0 -222
- package/dist/chunk-OGNX6JT4.js.map +0 -1
- package/dist/chunk-OIPG3EGM.js +0 -771
- package/dist/chunk-OIPG3EGM.js.map +0 -1
- package/dist/chunk-OSU4QA5M.js +0 -260
- package/dist/chunk-OSU4QA5M.js.map +0 -1
- package/dist/chunk-OY3PDIB3.js +0 -106
- package/dist/chunk-OY3PDIB3.js.map +0 -1
- package/dist/chunk-P4Y75QSU.js +0 -19
- package/dist/chunk-P4Y75QSU.js.map +0 -1
- package/dist/chunk-PENNTSJE.mjs +0 -99
- package/dist/chunk-PENNTSJE.mjs.map +0 -1
- package/dist/chunk-PFDRQJKJ.js +0 -1079
- package/dist/chunk-PFDRQJKJ.js.map +0 -1
- package/dist/chunk-PGYOBEPL.mjs +0 -150
- package/dist/chunk-PGYOBEPL.mjs.map +0 -1
- package/dist/chunk-PIPGH7GA.js +0 -158
- package/dist/chunk-PIPGH7GA.js.map +0 -1
- package/dist/chunk-PRAHDLKT.js +0 -67
- package/dist/chunk-PRAHDLKT.js.map +0 -1
- package/dist/chunk-PURI56RE.js +0 -8
- package/dist/chunk-PURI56RE.js.map +0 -1
- package/dist/chunk-QAQTDHHT.mjs +0 -1102
- package/dist/chunk-QAQTDHHT.mjs.map +0 -1
- package/dist/chunk-QCS7NWMA.js +0 -161
- package/dist/chunk-QCS7NWMA.js.map +0 -1
- package/dist/chunk-QRHVMTHF.mjs +0 -94
- package/dist/chunk-QRHVMTHF.mjs.map +0 -1
- package/dist/chunk-QZF5NTXQ.mjs +0 -28
- package/dist/chunk-QZF5NTXQ.mjs.map +0 -1
- package/dist/chunk-R5F2JQVX.mjs +0 -41
- package/dist/chunk-R5F2JQVX.mjs.map +0 -1
- package/dist/chunk-RC4WWQXR.js +0 -47
- package/dist/chunk-RC4WWQXR.js.map +0 -1
- package/dist/chunk-RCB6HEHM.mjs +0 -349
- package/dist/chunk-RCB6HEHM.mjs.map +0 -1
- package/dist/chunk-RI6DFQCA.js +0 -539
- package/dist/chunk-RI6DFQCA.js.map +0 -1
- package/dist/chunk-RLUNEEGM.js +0 -336
- package/dist/chunk-RLUNEEGM.js.map +0 -1
- package/dist/chunk-RMDH2HMW.js +0 -108
- package/dist/chunk-RMDH2HMW.js.map +0 -1
- package/dist/chunk-RQROZLH3.js +0 -1153
- package/dist/chunk-RQROZLH3.js.map +0 -1
- package/dist/chunk-SFMNUVDN.mjs +0 -49
- package/dist/chunk-SFMNUVDN.mjs.map +0 -1
- package/dist/chunk-SG7CWD2R.js +0 -138
- package/dist/chunk-SG7CWD2R.js.map +0 -1
- package/dist/chunk-SHLWA6JY.mjs +0 -26
- package/dist/chunk-SHLWA6JY.mjs.map +0 -1
- package/dist/chunk-SNAQBZPT.js +0 -68
- package/dist/chunk-SNAQBZPT.js.map +0 -1
- package/dist/chunk-SUGBIEYQ.js +0 -195
- package/dist/chunk-SUGBIEYQ.js.map +0 -1
- package/dist/chunk-SVCKJ5KH.mjs +0 -193
- package/dist/chunk-SVCKJ5KH.mjs.map +0 -1
- package/dist/chunk-SWIKKSKL.js +0 -19
- package/dist/chunk-SWIKKSKL.js.map +0 -1
- package/dist/chunk-TBXWJJGT.js +0 -468
- package/dist/chunk-TBXWJJGT.js.map +0 -1
- package/dist/chunk-THO4NS6Z.mjs +0 -1416
- package/dist/chunk-THO4NS6Z.mjs.map +0 -1
- package/dist/chunk-TMVKRQGJ.mjs +0 -64
- package/dist/chunk-TMVKRQGJ.mjs.map +0 -1
- package/dist/chunk-TPEPAHU5.mjs +0 -525
- package/dist/chunk-TPEPAHU5.mjs.map +0 -1
- package/dist/chunk-TST2IKYO.js +0 -264
- package/dist/chunk-TST2IKYO.js.map +0 -1
- package/dist/chunk-TULCHQX2.js +0 -29
- package/dist/chunk-TULCHQX2.js.map +0 -1
- package/dist/chunk-U577ITSA.js +0 -23
- package/dist/chunk-U577ITSA.js.map +0 -1
- package/dist/chunk-UCMMIGC6.mjs +0 -156
- package/dist/chunk-UCMMIGC6.mjs.map +0 -1
- package/dist/chunk-UCQDE5UH.mjs +0 -102
- package/dist/chunk-UCQDE5UH.mjs.map +0 -1
- package/dist/chunk-UHYRVALN.mjs +0 -98
- package/dist/chunk-UHYRVALN.mjs.map +0 -1
- package/dist/chunk-UO6KTHBQ.mjs +0 -125
- package/dist/chunk-UO6KTHBQ.mjs.map +0 -1
- package/dist/chunk-UZKXOZHR.js +0 -23
- package/dist/chunk-UZKXOZHR.js.map +0 -1
- package/dist/chunk-VA2O5OSV.mjs +0 -21
- package/dist/chunk-VA2O5OSV.mjs.map +0 -1
- package/dist/chunk-VIGRGMWR.mjs +0 -229
- package/dist/chunk-VIGRGMWR.mjs.map +0 -1
- package/dist/chunk-VJMPIRSD.js +0 -31
- package/dist/chunk-VJMPIRSD.js.map +0 -1
- package/dist/chunk-VJTKIKZY.mjs +0 -782
- package/dist/chunk-VJTKIKZY.mjs.map +0 -1
- package/dist/chunk-VQL7XDIY.mjs +0 -43
- package/dist/chunk-VQL7XDIY.mjs.map +0 -1
- package/dist/chunk-VS67QHNX.mjs +0 -34
- package/dist/chunk-VS67QHNX.mjs.map +0 -1
- package/dist/chunk-VUAGR6VL.js +0 -483
- package/dist/chunk-VUAGR6VL.js.map +0 -1
- package/dist/chunk-WRRVYPMY.mjs +0 -535
- package/dist/chunk-WRRVYPMY.mjs.map +0 -1
- package/dist/chunk-WS7MH3GD.js +0 -40
- package/dist/chunk-WS7MH3GD.js.map +0 -1
- package/dist/chunk-WSPGXSBU.mjs +0 -202
- package/dist/chunk-WSPGXSBU.mjs.map +0 -1
- package/dist/chunk-XEOIGCUE.mjs +0 -480
- package/dist/chunk-XEOIGCUE.mjs.map +0 -1
- package/dist/chunk-Y2CP5J6Q.js +0 -116
- package/dist/chunk-Y2CP5J6Q.js.map +0 -1
- package/dist/chunk-YBKALLBH.js +0 -46
- package/dist/chunk-YBKALLBH.js.map +0 -1
- package/dist/chunk-YMZNEDFP.js +0 -39
- package/dist/chunk-YMZNEDFP.js.map +0 -1
- package/dist/chunk-YPGUV6BT.mjs +0 -30
- package/dist/chunk-YPGUV6BT.mjs.map +0 -1
- package/dist/chunk-YU7QZ3PP.mjs +0 -45
- package/dist/chunk-YU7QZ3PP.mjs.map +0 -1
- package/dist/chunk-YVJASVVK.js +0 -97
- package/dist/chunk-YVJASVVK.js.map +0 -1
- package/dist/chunk-YZJ22HUQ.js +0 -29
- package/dist/chunk-YZJ22HUQ.js.map +0 -1
- package/dist/chunk-Z2URIOKG.mjs +0 -36
- package/dist/chunk-Z2URIOKG.mjs.map +0 -1
- package/dist/chunk-ZN4HBK5C.mjs +0 -17
- package/dist/chunk-ZN4HBK5C.mjs.map +0 -1
- package/dist/chunk-ZVBLXXNJ.mjs +0 -53
- package/dist/chunk-ZVBLXXNJ.mjs.map +0 -1
- package/dist/chunk-ZXC56JS3.js +0 -8071
- package/dist/chunk-ZXC56JS3.js.map +0 -1
- package/dist/chunk-ZZQAGCSI.mjs +0 -43
- package/dist/chunk-ZZQAGCSI.mjs.map +0 -1
- package/dist/cli/agent/checks.d.ts +0 -96
- package/dist/cli/agent/checks.d.ts.map +0 -1
- package/dist/cli/agent/context.d.ts +0 -50
- package/dist/cli/agent/context.d.ts.map +0 -1
- package/dist/cli/agent/envelope.d.ts +0 -98
- package/dist/cli/agent/envelope.d.ts.map +0 -1
- package/dist/cli/agent/errors.d.ts +0 -36
- package/dist/cli/agent/errors.d.ts.map +0 -1
- package/dist/cli/agent/output.d.ts +0 -41
- package/dist/cli/agent/output.d.ts.map +0 -1
- package/dist/cli/agent/ssr-bailout.d.ts +0 -27
- package/dist/cli/agent/ssr-bailout.d.ts.map +0 -1
- package/dist/cli/api/sonor.d.ts +0 -39
- package/dist/cli/api/sonor.d.ts.map +0 -1
- package/dist/cli/codemod/diff.d.ts +0 -14
- package/dist/cli/codemod/diff.d.ts.map +0 -1
- package/dist/cli/codemod/engine.d.ts +0 -26
- package/dist/cli/codemod/engine.d.ts.map +0 -1
- package/dist/cli/codemod/transforms.d.ts +0 -31
- package/dist/cli/codemod/transforms.d.ts.map +0 -1
- package/dist/cli/commands/api-routes.d.ts +0 -13
- package/dist/cli/commands/api-routes.d.ts.map +0 -1
- package/dist/cli/commands/codemod.d.ts +0 -21
- package/dist/cli/commands/codemod.d.ts.map +0 -1
- package/dist/cli/commands/doctor.d.ts +0 -27
- package/dist/cli/commands/doctor.d.ts.map +0 -1
- package/dist/cli/commands/faqs.d.ts +0 -16
- package/dist/cli/commands/faqs.d.ts.map +0 -1
- package/dist/cli/commands/geo.d.ts +0 -18
- package/dist/cli/commands/geo.d.ts.map +0 -1
- package/dist/cli/commands/images.d.ts +0 -85
- package/dist/cli/commands/images.d.ts.map +0 -1
- package/dist/cli/commands/init.d.ts +0 -21
- package/dist/cli/commands/init.d.ts.map +0 -1
- package/dist/cli/commands/install.d.ts +0 -15
- package/dist/cli/commands/install.d.ts.map +0 -1
- package/dist/cli/commands/locations.d.ts +0 -55
- package/dist/cli/commands/locations.d.ts.map +0 -1
- package/dist/cli/commands/manifest.d.ts +0 -17
- package/dist/cli/commands/manifest.d.ts.map +0 -1
- package/dist/cli/commands/migrate.d.ts +0 -19
- package/dist/cli/commands/migrate.d.ts.map +0 -1
- package/dist/cli/commands/next16.d.ts +0 -10
- package/dist/cli/commands/next16.d.ts.map +0 -1
- package/dist/cli/commands/og.d.ts +0 -117
- package/dist/cli/commands/og.d.ts.map +0 -1
- package/dist/cli/commands/scaffold.d.ts +0 -22
- package/dist/cli/commands/scaffold.d.ts.map +0 -1
- package/dist/cli/commands/scan.d.ts +0 -18
- package/dist/cli/commands/scan.d.ts.map +0 -1
- package/dist/cli/commands/setup.d.ts +0 -35
- package/dist/cli/commands/setup.d.ts.map +0 -1
- package/dist/cli/commands/sync.d.ts +0 -22
- package/dist/cli/commands/sync.d.ts.map +0 -1
- package/dist/cli/commands/upgrade.d.ts +0 -15
- package/dist/cli/commands/upgrade.d.ts.map +0 -1
- package/dist/cli/commands/verify.d.ts +0 -22
- package/dist/cli/commands/verify.d.ts.map +0 -1
- package/dist/cli/config.d.ts +0 -31
- package/dist/cli/config.d.ts.map +0 -1
- package/dist/cli/generators/index.d.ts +0 -60
- package/dist/cli/generators/index.d.ts.map +0 -1
- package/dist/cli/index.d.ts +0 -15
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -32904
- package/dist/cli/index.mjs +0 -32872
- package/dist/cli/migrator/index.d.ts +0 -92
- package/dist/cli/migrator/index.d.ts.map +0 -1
- package/dist/cli/scanner/index.d.ts +0 -129
- package/dist/cli/scanner/index.d.ts.map +0 -1
- package/dist/cli/state.d.ts +0 -7
- package/dist/cli/state.d.ts.map +0 -1
- package/dist/client/SiteKitCredential.d.ts.map +0 -1
- package/dist/client/index.d.ts.map +0 -1
- package/dist/client/index.js.map +0 -1
- package/dist/client/index.mjs +0 -27
- package/dist/client/index.mjs.map +0 -1
- package/dist/cms/CmsPage.d.ts.map +0 -1
- package/dist/cms/CmsPreview.d.ts.map +0 -1
- package/dist/cms/CmsSection.d.ts.map +0 -1
- package/dist/cms/PortableTextRenderer.d.ts.map +0 -1
- package/dist/cms/index.d.ts.map +0 -1
- package/dist/cms/index.js.map +0 -1
- package/dist/cms/index.mjs +0 -389
- package/dist/cms/index.mjs.map +0 -1
- package/dist/cms/sanity-image.d.ts.map +0 -1
- package/dist/cms/sections/CtaSection.d.ts.map +0 -1
- package/dist/cms/sections/CustomSection.d.ts.map +0 -1
- package/dist/cms/sections/FaqSection.d.ts.map +0 -1
- package/dist/cms/sections/FormSection.d.ts.map +0 -1
- package/dist/cms/sections/GallerySection.d.ts.map +0 -1
- package/dist/cms/sections/HeroSection.d.ts.map +0 -1
- package/dist/cms/sections/RichTextSection.d.ts.map +0 -1
- package/dist/cms/sections/TestimonialsSection.d.ts.map +0 -1
- package/dist/cms/sections/index.d.ts.map +0 -1
- package/dist/cms/server-api.d.ts.map +0 -1
- package/dist/cms/server.d.ts.map +0 -1
- package/dist/cms/server.js.map +0 -1
- package/dist/cms/server.mjs +0 -5
- package/dist/cms/server.mjs.map +0 -1
- package/dist/cms/types.d.ts.map +0 -1
- package/dist/commerce/CalendarView.d.ts.map +0 -1
- package/dist/commerce/CheckoutForm.d.ts.map +0 -1
- package/dist/commerce/EventCalendar.d.ts.map +0 -1
- package/dist/commerce/EventCheckout.d.ts.map +0 -1
- package/dist/commerce/EventEmbed.d.ts.map +0 -1
- package/dist/commerce/EventModal.d.ts.map +0 -1
- package/dist/commerce/EventTile.d.ts.map +0 -1
- package/dist/commerce/EventsAgenda.d.ts.map +0 -1
- package/dist/commerce/EventsWidget.d.ts.map +0 -1
- package/dist/commerce/OfferingCard.d.ts.map +0 -1
- package/dist/commerce/OfferingList.d.ts.map +0 -1
- package/dist/commerce/ProductDetail.d.ts.map +0 -1
- package/dist/commerce/ProductEmbed.d.ts.map +0 -1
- package/dist/commerce/ProductGrid.d.ts.map +0 -1
- package/dist/commerce/ProductPage.d.ts.map +0 -1
- package/dist/commerce/RegistrationForm.d.ts.map +0 -1
- package/dist/commerce/SizeChart.d.ts.map +0 -1
- package/dist/commerce/UpcomingEvents.d.ts.map +0 -1
- package/dist/commerce/api.d.ts.map +0 -1
- package/dist/commerce/events-extras.d.ts.map +0 -1
- package/dist/commerce/index.d.ts.map +0 -1
- package/dist/commerce/index.js.map +0 -1
- package/dist/commerce/index.mjs +0 -16
- package/dist/commerce/index.mjs.map +0 -1
- package/dist/commerce/server.d.ts.map +0 -1
- package/dist/commerce/server.js.map +0 -1
- package/dist/commerce/server.mjs +0 -237
- package/dist/commerce/server.mjs.map +0 -1
- package/dist/commerce/types.d.ts.map +0 -1
- package/dist/commerce/useEventModal.d.ts.map +0 -1
- package/dist/commerce/utils.d.ts.map +0 -1
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js.map +0 -1
- package/dist/config/index.mjs +0 -116
- package/dist/config/index.mjs.map +0 -1
- package/dist/cta-bar/CtaBar.d.ts.map +0 -1
- package/dist/cta-bar/CtaBarBehavior.d.ts.map +0 -1
- package/dist/cta-bar/client.d.ts.map +0 -1
- package/dist/cta-bar/client.js.map +0 -1
- package/dist/cta-bar/client.mjs +0 -6
- package/dist/cta-bar/client.mjs.map +0 -1
- package/dist/cta-bar/index.d.ts.map +0 -1
- package/dist/cta-bar/index.js.map +0 -1
- package/dist/cta-bar/index.mjs +0 -221
- package/dist/cta-bar/index.mjs.map +0 -1
- package/dist/cta-bar/styles.d.ts.map +0 -1
- package/dist/discover-LPN55L5B.js +0 -21
- package/dist/discover-LPN55L5B.js.map +0 -1
- package/dist/discover-QGA6QFSR.mjs +0 -4
- package/dist/discover-QGA6QFSR.mjs.map +0 -1
- package/dist/engage/ChatWidget.d.ts.map +0 -1
- package/dist/engage/DesignRenderer.d.ts.map +0 -1
- package/dist/engage/EchoUiActions.d.ts.map +0 -1
- package/dist/engage/EngageWidget.d.ts.map +0 -1
- package/dist/engage/brand-color.d.ts.map +0 -1
- package/dist/engage/chat-messages.d.ts.map +0 -1
- package/dist/engage/echo-config.d.ts.map +0 -1
- package/dist/engage/element-rules.d.ts.map +0 -1
- package/dist/engage/index.d.ts.map +0 -1
- package/dist/engage/index.js.map +0 -1
- package/dist/engage/index.mjs +0 -51
- package/dist/engage/index.mjs.map +0 -1
- package/dist/engage/launcher-placement.d.ts.map +0 -1
- package/dist/engage/socket-loader.d.ts.map +0 -1
- package/dist/engage/types.d.ts.map +0 -1
- package/dist/fleet/FleetHeartbeat.d.ts.map +0 -1
- package/dist/fleet/contract.d.ts.map +0 -1
- package/dist/fleet/contract.js.map +0 -1
- package/dist/fleet/contract.mjs +0 -4
- package/dist/fleet/contract.mjs.map +0 -1
- package/dist/fleet/heartbeat.d.ts.map +0 -1
- package/dist/fleet/index.d.ts.map +0 -1
- package/dist/fleet/index.js.map +0 -1
- package/dist/fleet/index.mjs +0 -12
- package/dist/fleet/index.mjs.map +0 -1
- package/dist/forms/DatePicker.d.ts.map +0 -1
- package/dist/forms/FileField.d.ts.map +0 -1
- package/dist/forms/FormCelebration.d.ts.map +0 -1
- package/dist/forms/FormClient.d.ts.map +0 -1
- package/dist/forms/FormEnhancer.d.ts.map +0 -1
- package/dist/forms/FormField.d.ts.map +0 -1
- package/dist/forms/FormSpotlight.d.ts.map +0 -1
- package/dist/forms/FormStage.d.ts.map +0 -1
- package/dist/forms/HoneypotField.d.ts.map +0 -1
- package/dist/forms/ManagedForm.d.ts.map +0 -1
- package/dist/forms/ServerForm.d.ts.map +0 -1
- package/dist/forms/StaticForm.d.ts.map +0 -1
- package/dist/forms/contract.d.ts.map +0 -1
- package/dist/forms/contract.js.map +0 -1
- package/dist/forms/contract.mjs +0 -4
- package/dist/forms/contract.mjs.map +0 -1
- package/dist/forms/defaultSuccessMessage.d.ts.map +0 -1
- package/dist/forms/delight.d.ts.map +0 -1
- package/dist/forms/experience-chrome.d.ts.map +0 -1
- package/dist/forms/experience-plan.d.ts.map +0 -1
- package/dist/forms/field-controls.d.ts.map +0 -1
- package/dist/forms/field-interactions.d.ts.map +0 -1
- package/dist/forms/field-rules.d.ts.map +0 -1
- package/dist/forms/form-values.d.ts.map +0 -1
- package/dist/forms/formsApi.d.ts.map +0 -1
- package/dist/forms/ga4-identity.d.ts.map +0 -1
- package/dist/forms/index.d.ts.map +0 -1
- package/dist/forms/index.js.map +0 -1
- package/dist/forms/index.mjs +0 -341
- package/dist/forms/index.mjs.map +0 -1
- package/dist/forms/normalize-config.d.ts.map +0 -1
- package/dist/forms/recaptcha-warmup.d.ts.map +0 -1
- package/dist/forms/recaptcha.d.ts.map +0 -1
- package/dist/forms/server.d.ts.map +0 -1
- package/dist/forms/server.js.map +0 -1
- package/dist/forms/server.mjs +0 -61
- package/dist/forms/server.mjs.map +0 -1
- package/dist/forms/static.d.ts.map +0 -1
- package/dist/forms/static.js.map +0 -1
- package/dist/forms/static.mjs +0 -8
- package/dist/forms/static.mjs.map +0 -1
- package/dist/forms/submitForm.d.ts.map +0 -1
- package/dist/forms/tracking-session.d.ts.map +0 -1
- package/dist/forms/types.d.ts.map +0 -1
- package/dist/forms/useForm.d.ts.map +0 -1
- package/dist/forms/useFormTracking.d.ts.map +0 -1
- package/dist/images/ManagedFavicon.d.ts.map +0 -1
- package/dist/images/ManagedImage.d.ts.map +0 -1
- package/dist/images/api.d.ts.map +0 -1
- package/dist/images/index.d.ts.map +0 -1
- package/dist/images/index.js.map +0 -1
- package/dist/images/index.mjs +0 -8
- package/dist/images/index.mjs.map +0 -1
- package/dist/images/server.d.ts.map +0 -1
- package/dist/images/server.js.map +0 -1
- package/dist/images/server.mjs +0 -4
- package/dist/images/server.mjs.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -173
- package/dist/index.mjs.map +0 -1
- package/dist/landing/LandingPage.d.ts.map +0 -1
- package/dist/landing/contract.d.ts.map +0 -1
- package/dist/landing/index.d.ts.map +0 -1
- package/dist/landing/index.js.map +0 -1
- package/dist/landing/index.mjs +0 -5
- package/dist/landing/index.mjs.map +0 -1
- package/dist/landing/metadata.d.ts.map +0 -1
- package/dist/landing/server.d.ts.map +0 -1
- package/dist/landing/server.js.map +0 -1
- package/dist/landing/server.mjs +0 -4
- package/dist/landing/server.mjs.map +0 -1
- package/dist/layout/SiteKitClientProviders.d.ts.map +0 -1
- package/dist/layout/SiteKitLayout.d.ts.map +0 -1
- package/dist/layout/SpeculationRules.d.ts.map +0 -1
- package/dist/layout/client.d.ts.map +0 -1
- package/dist/layout/client.js.map +0 -1
- package/dist/layout/client.mjs +0 -19
- package/dist/layout/client.mjs.map +0 -1
- package/dist/layout/index.d.ts.map +0 -1
- package/dist/layout/index.js.map +0 -1
- package/dist/layout/index.mjs +0 -106
- package/dist/layout/index.mjs.map +0 -1
- package/dist/layout/types.d.ts.map +0 -1
- package/dist/lib-6HOOMENJ.js +0 -28
- package/dist/lib-BGAWCSUH.js +0 -31
- package/dist/lib-R7IQ4ZHE.mjs +0 -3
- package/dist/lib-RSDMEKDQ.mjs +0 -4
- package/dist/llms/AEOComponents.d.ts.map +0 -1
- package/dist/llms/SpeakableSchema.d.ts.map +0 -1
- package/dist/llms/aiRobots.d.ts.map +0 -1
- package/dist/llms/api.d.ts.map +0 -1
- package/dist/llms/client.d.ts.map +0 -1
- package/dist/llms/client.js.map +0 -1
- package/dist/llms/client.mjs +0 -5
- package/dist/llms/client.mjs.map +0 -1
- package/dist/llms/contract.d.ts.map +0 -1
- package/dist/llms/contract.js.map +0 -1
- package/dist/llms/contract.mjs +0 -4
- package/dist/llms/contract.mjs.map +0 -1
- package/dist/llms/discovery-headers.d.ts.map +0 -1
- package/dist/llms/generateLLMsTxt.d.ts.map +0 -1
- package/dist/llms/handlers.d.ts.map +0 -1
- package/dist/llms/humanize-industry.d.ts.map +0 -1
- package/dist/llms/index.d.ts.map +0 -1
- package/dist/llms/index.js.map +0 -1
- package/dist/llms/index.mjs +0 -286
- package/dist/llms/index.mjs.map +0 -1
- package/dist/llms/links.d.ts.map +0 -1
- package/dist/llms/revalidate.d.ts.map +0 -1
- package/dist/llms/seo-revalidate.d.ts.map +0 -1
- package/dist/llms/sourcedFacts.d.ts.map +0 -1
- package/dist/llms/types.d.ts.map +0 -1
- package/dist/llms/wiring.d.ts +0 -103
- package/dist/llms/wiring.d.ts.map +0 -1
- package/dist/llms/writeLLMsTxt.d.ts.map +0 -1
- package/dist/manifest/index.d.ts.map +0 -1
- package/dist/manifest/index.js.map +0 -1
- package/dist/manifest/index.mjs +0 -83
- package/dist/manifest/index.mjs.map +0 -1
- package/dist/maps/GoogleMap.d.ts.map +0 -1
- package/dist/maps/NeighborhoodMap.d.ts.map +0 -1
- package/dist/maps/api.d.ts.map +0 -1
- package/dist/maps/index.d.ts.map +0 -1
- package/dist/maps/index.js.map +0 -1
- package/dist/maps/index.mjs +0 -361
- package/dist/maps/index.mjs.map +0 -1
- package/dist/maps/types.d.ts.map +0 -1
- package/dist/mcp/WebMcpTools.d.ts.map +0 -1
- package/dist/mcp/client.d.ts.map +0 -1
- package/dist/mcp/client.js.map +0 -1
- package/dist/mcp/client.mjs +0 -129
- package/dist/mcp/client.mjs.map +0 -1
- package/dist/mcp/declarative.d.ts.map +0 -1
- package/dist/mcp/handlers.d.ts.map +0 -1
- package/dist/mcp/index.d.ts.map +0 -1
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/index.mjs +0 -509
- package/dist/mcp/index.mjs.map +0 -1
- package/dist/mcp/protocol.d.ts.map +0 -1
- package/dist/mcp/serverCard.d.ts.map +0 -1
- package/dist/mcp/transport.d.ts.map +0 -1
- package/dist/mcp/transport.js.map +0 -1
- package/dist/mcp/transport.mjs +0 -123
- package/dist/mcp/transport.mjs.map +0 -1
- package/dist/mcp/types.d.ts.map +0 -1
- package/dist/motion/CountUp.d.ts.map +0 -1
- package/dist/motion/Parallax.d.ts.map +0 -1
- package/dist/motion/Reveal.d.ts.map +0 -1
- package/dist/motion/ScrollScene.d.ts.map +0 -1
- package/dist/motion/engine.d.ts.map +0 -1
- package/dist/motion/failsafe.d.ts.map +0 -1
- package/dist/motion/gsap.d.ts.map +0 -1
- package/dist/motion/gsap.js.map +0 -1
- package/dist/motion/gsap.mjs +0 -220
- package/dist/motion/gsap.mjs.map +0 -1
- package/dist/motion/index.d.ts.map +0 -1
- package/dist/motion/index.js.map +0 -1
- package/dist/motion/index.mjs +0 -209
- package/dist/motion/index.mjs.map +0 -1
- package/dist/motion/three.d.ts.map +0 -1
- package/dist/motion/three.js.map +0 -1
- package/dist/motion/three.mjs +0 -145
- package/dist/motion/three.mjs.map +0 -1
- package/dist/og/config.d.ts.map +0 -1
- package/dist/og/contrast.d.ts.map +0 -1
- package/dist/og/index.d.ts.map +0 -1
- package/dist/og/index.js.map +0 -1
- package/dist/og/index.mjs +0 -6
- package/dist/og/index.mjs.map +0 -1
- package/dist/og/pages.d.ts.map +0 -1
- package/dist/og/route-copy.d.ts +0 -34
- package/dist/og/route-copy.d.ts.map +0 -1
- package/dist/og/route-fit.d.ts.map +0 -1
- package/dist/og/route.d.ts.map +0 -1
- package/dist/og/route.js.map +0 -1
- package/dist/og/route.mjs +0 -239
- package/dist/og/route.mjs.map +0 -1
- package/dist/og/template.d.ts.map +0 -1
- package/dist/og/wiring.d.ts +0 -100
- package/dist/og/wiring.d.ts.map +0 -1
- package/dist/portfolio/contract.d.ts.map +0 -1
- package/dist/portfolio/contract.js.map +0 -1
- package/dist/portfolio/contract.mjs +0 -115
- package/dist/portfolio/contract.mjs.map +0 -1
- package/dist/proxy/index.d.ts.map +0 -1
- package/dist/proxy/index.js.map +0 -1
- package/dist/proxy/index.mjs +0 -170
- package/dist/proxy/index.mjs.map +0 -1
- package/dist/proxy/securityHeaders.d.ts.map +0 -1
- package/dist/proxy/segment.d.ts.map +0 -1
- package/dist/redirects/index.d.ts.map +0 -1
- package/dist/redirects/index.js.map +0 -1
- package/dist/redirects/index.mjs +0 -8
- package/dist/redirects/index.mjs.map +0 -1
- package/dist/redirects/not-found.d.ts +0 -31
- package/dist/redirects/not-found.d.ts.map +0 -1
- package/dist/redirects/not-found.js +0 -47
- package/dist/redirects/not-found.js.map +0 -1
- package/dist/redirects/not-found.mjs +0 -45
- package/dist/redirects/not-found.mjs.map +0 -1
- package/dist/reputation/TestimonialSection.d.ts.map +0 -1
- package/dist/reputation/api.d.ts.map +0 -1
- package/dist/reputation/index.d.ts.map +0 -1
- package/dist/reputation/index.js.map +0 -1
- package/dist/reputation/index.mjs +0 -5
- package/dist/reputation/index.mjs.map +0 -1
- package/dist/reputation/server.d.ts.map +0 -1
- package/dist/reputation/server.js.map +0 -1
- package/dist/reputation/server.mjs +0 -4
- package/dist/reputation/server.mjs.map +0 -1
- package/dist/reputation/types.d.ts.map +0 -1
- package/dist/robots/index.d.ts.map +0 -1
- package/dist/robots/index.js.map +0 -1
- package/dist/robots/index.mjs +0 -53
- package/dist/robots/index.mjs.map +0 -1
- package/dist/robots/indexnow.d.ts.map +0 -1
- package/dist/robots/indexnow.js.map +0 -1
- package/dist/robots/indexnow.mjs +0 -34
- package/dist/robots/indexnow.mjs.map +0 -1
- package/dist/robots/next-internals.d.ts.map +0 -1
- package/dist/search/contract.d.ts +0 -62
- package/dist/search/contract.d.ts.map +0 -1
- package/dist/search/contract.js +0 -17
- package/dist/search/contract.js.map +0 -1
- package/dist/search/contract.mjs +0 -4
- package/dist/search/contract.mjs.map +0 -1
- package/dist/search/index.d.ts +0 -52
- package/dist/search/index.d.ts.map +0 -1
- package/dist/search/index.js +0 -105
- package/dist/search/index.js.map +0 -1
- package/dist/search/index.mjs +0 -99
- package/dist/search/index.mjs.map +0 -1
- package/dist/seo/LocationPageContent.d.ts +0 -64
- package/dist/seo/LocationPageContent.d.ts.map +0 -1
- package/dist/seo/ManagedContent.d.ts.map +0 -1
- package/dist/seo/ManagedFAQ.d.ts.map +0 -1
- package/dist/seo/ManagedInternalLinks.d.ts.map +0 -1
- package/dist/seo/ManagedSchema.d.ts.map +0 -1
- package/dist/seo/ManagedScripts.d.ts.map +0 -1
- package/dist/seo/api.d.ts.map +0 -1
- package/dist/seo/client.d.ts.map +0 -1
- package/dist/seo/client.js.map +0 -1
- package/dist/seo/client.mjs +0 -11
- package/dist/seo/client.mjs.map +0 -1
- package/dist/seo/getManagedMetadata.d.ts.map +0 -1
- package/dist/seo/groundingSchema.d.ts.map +0 -1
- package/dist/seo/index.d.ts.map +0 -1
- package/dist/seo/index.js.map +0 -1
- package/dist/seo/index.mjs +0 -702
- package/dist/seo/index.mjs.map +0 -1
- package/dist/seo/register-sitemap-cli-impl.d.ts.map +0 -1
- package/dist/seo/register-sitemap-cli.d.ts.map +0 -1
- package/dist/seo/register-sitemap-cli.mjs +0 -528
- package/dist/seo/register-sitemap-request.d.ts.map +0 -1
- package/dist/seo/routing.d.ts.map +0 -1
- package/dist/seo/safeJsonLd.d.ts.map +0 -1
- package/dist/seo/schema-filter.d.ts.map +0 -1
- package/dist/seo/server-api.d.ts.map +0 -1
- package/dist/seo/server.d.ts.map +0 -1
- package/dist/seo/server.js.map +0 -1
- package/dist/seo/server.mjs +0 -11
- package/dist/seo/server.mjs.map +0 -1
- package/dist/seo/types.d.ts.map +0 -1
- package/dist/seo/withManagedMetadata.d.ts.map +0 -1
- package/dist/seo-meta/contract.d.ts.map +0 -1
- package/dist/seo-meta/contract.js.map +0 -1
- package/dist/seo-meta/contract.mjs +0 -4
- package/dist/seo-meta/contract.mjs.map +0 -1
- package/dist/seo-pages/contract.d.ts.map +0 -1
- package/dist/seo-pages/contract.js.map +0 -1
- package/dist/seo-pages/contract.mjs +0 -45
- package/dist/seo-pages/contract.mjs.map +0 -1
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js.map +0 -1
- package/dist/server/index.mjs +0 -7
- package/dist/server/index.mjs.map +0 -1
- package/dist/server/mint-site-token.d.ts.map +0 -1
- package/dist/server/server-fetch.d.ts.map +0 -1
- package/dist/server-api-7F5P6CSH.mjs +0 -9
- package/dist/server-api-7F5P6CSH.mjs.map +0 -1
- package/dist/server-api-OC5JNK6R.js +0 -86
- package/dist/server-api-OC5JNK6R.js.map +0 -1
- package/dist/setup/index.d.ts +0 -12
- package/dist/setup/index.d.ts.map +0 -1
- package/dist/setup/index.js +0 -4
- package/dist/setup/index.js.map +0 -1
- package/dist/setup/index.mjs +0 -3
- package/dist/setup/index.mjs.map +0 -1
- package/dist/shared/build-entries.d.ts.map +0 -1
- package/dist/shared/color.d.ts.map +0 -1
- package/dist/shared/defer.d.ts.map +0 -1
- package/dist/shared/fetchWithRetry.d.ts.map +0 -1
- package/dist/shared/frame.d.ts.map +0 -1
- package/dist/shared/fresh-fetch.d.ts.map +0 -1
- package/dist/shared/glass.d.ts.map +0 -1
- package/dist/shared/identity.d.ts.map +0 -1
- package/dist/shared/next-files.d.ts.map +0 -1
- package/dist/shared/page-leave.d.ts.map +0 -1
- package/dist/shared/publishCredential.d.ts.map +0 -1
- package/dist/shared/reporting-gate.d.ts.map +0 -1
- package/dist/shared/request-guards.d.ts.map +0 -1
- package/dist/shared/siteToken.d.ts.map +0 -1
- package/dist/shared/sonorFetch.d.ts.map +0 -1
- package/dist/shared/source-graph.d.ts.map +0 -1
- package/dist/shared/uuid.d.ts.map +0 -1
- package/dist/shared/version.d.ts.map +0 -1
- package/dist/shared/visual-viewport-gap.d.ts.map +0 -1
- package/dist/signal/SignalBridge.d.ts.map +0 -1
- package/dist/signal/SignalCore.d.ts.map +0 -1
- package/dist/signal/SignalExperiment.d.ts.map +0 -1
- package/dist/signal/index.d.ts.map +0 -1
- package/dist/signal/index.js.map +0 -1
- package/dist/signal/index.mjs +0 -6
- package/dist/signal/index.mjs.map +0 -1
- package/dist/signal/store.d.ts.map +0 -1
- package/dist/signal/types.d.ts.map +0 -1
- package/dist/site-config/index.d.ts.map +0 -1
- package/dist/site-config/index.js.map +0 -1
- package/dist/site-config/index.mjs +0 -4
- package/dist/site-config/index.mjs.map +0 -1
- package/dist/sitemap/discover.d.ts.map +0 -1
- package/dist/sitemap/index.d.ts.map +0 -1
- package/dist/sitemap/index.js.map +0 -1
- package/dist/sitemap/index.mjs +0 -549
- package/dist/sitemap/index.mjs.map +0 -1
- package/dist/sitemap/shared.d.ts.map +0 -1
- package/dist/sites/contract.d.ts.map +0 -1
- package/dist/sites/contract.js.map +0 -1
- package/dist/sites/contract.mjs +0 -5
- package/dist/sites/contract.mjs.map +0 -1
- package/dist/sites/normalize.d.ts.map +0 -1
- package/dist/sites/resolve.d.ts.map +0 -1
- package/dist/sites/site-param.d.ts.map +0 -1
- package/dist/slots/ManagedSlot.d.ts.map +0 -1
- package/dist/slots/contract.d.ts.map +0 -1
- package/dist/slots/contract.js.map +0 -1
- package/dist/slots/contract.mjs +0 -4
- package/dist/slots/contract.mjs.map +0 -1
- package/dist/slots/index.d.ts.map +0 -1
- package/dist/slots/index.js.map +0 -1
- package/dist/slots/index.mjs +0 -142
- package/dist/slots/index.mjs.map +0 -1
- package/dist/slots/revalidate.d.ts.map +0 -1
- package/dist/slots/server-api.d.ts.map +0 -1
- package/dist/socket-loader-2NYBMBFQ.js +0 -16
- package/dist/socket-loader-2NYBMBFQ.js.map +0 -1
- package/dist/socket-loader-JA2DI2RT.mjs +0 -14
- package/dist/socket-loader-JA2DI2RT.mjs.map +0 -1
- package/dist/sync/AddToCalendar.d.ts.map +0 -1
- package/dist/sync/BookingWidget.d.ts.map +0 -1
- package/dist/sync/MeetingFormatStep.d.ts.map +0 -1
- package/dist/sync/api.d.ts.map +0 -1
- package/dist/sync/booking-flow.d.ts.map +0 -1
- package/dist/sync/index.d.ts.map +0 -1
- package/dist/sync/index.js.map +0 -1
- package/dist/sync/index.mjs +0 -7
- package/dist/sync/index.mjs.map +0 -1
- package/dist/sync/types.d.ts.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/web-vitals.attribution-7LKLZ5GR.mjs +0 -524
- package/dist/web-vitals.attribution-7LKLZ5GR.mjs.map +0 -1
- package/dist/web-vitals.attribution-ONVYQNRB.js +0 -535
- package/dist/web-vitals.attribution-ONVYQNRB.js.map +0 -1
- package/dist/writeLLMsTxt-IYJILIU3.mjs +0 -11
- package/dist/writeLLMsTxt-SQG4B63X.js +0 -20
- package/scripts/postinstall.cjs +0 -67
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/portfolio/contract.ts"],"names":[],"mappings":"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","file":"contract.mjs","sourcesContent":["/**\n * @sonordev/site-kit/portfolio/contract — portfolio proof display policy (v1)\n *\n * Single source of truth for the Lighthouse-KPI collapse policy shared by the\n * content side (signal-api generation) and the render side (agency-site-kit\n * display). Same pattern as the other site-kit contracts:\n * - agency-site-kit imports these directly (it already depends on site-kit)\n * from `src/portfolio/curate-proof.ts`, which keeps the render-only\n * primitives that bind to its section types.\n * - signal-api keeps a byte-identical inline mirror\n * (`src/modules/skills/portfolio/portfolio-kpi-policy.util.ts`) guarded by\n * the shared drift-test vectors in `contract.test.ts`.\n *\n * Why it exists: generated case studies arrived with four \"100/100 Lighthouse X\"\n * KPIs repeated across hero, results cards, and a Performance section. One\n * differentiator repeated a dozen times stops differentiating — collapse the\n * per-category Lighthouse tiles to at most one summary, business outcomes first.\n *\n * It is also the single source of truth for METRIC PROVENANCE (below): the\n * three sources a portfolio number can have, what a client-reported number\n * must carry, and which numbers may headline. sonor-api and signal-api keep\n * byte-identical mirrors of those functions too, guarded by the same vectors.\n */\n\n// The live-frame handshake a case study's device frames listen for: defined\n// with the frame rules in shared/frame.ts, re-exported here because the\n// portfolio renderers are the ones listening.\nexport { FRAME_READY_MESSAGE, isFrameReadyMessage, type FrameReadyMessage } from '../shared/frame'\n\n/** Bump on breaking changes to the collapse policy. */\nexport const PORTFOLIO_CONTRACT_VERSION = 1 as const\n\n/** Minimal KPI shape the policy reads — callers pass their own richer tiles. */\nexport interface KpiLike {\n label: string\n value: number\n description?: string\n}\n\nconst LIGHTHOUSE_RE = /lighthouse/i\n\n/** True when a KPI tile is a per-category Lighthouse score. */\nexport function isLighthouseKpi(kpi: Pick<KpiLike, 'label'>): boolean {\n return LIGHTHOUSE_RE.test(kpi.label || '')\n}\n\n/**\n * Collapse per-category Lighthouse KPIs to at most one summary tile, business\n * outcomes first. When every category is present at 100 the summary says so;\n * otherwise the Performance category (the one buyers know) represents the set.\n * Fewer than two Lighthouse tiles → returned unchanged.\n */\nexport function curateHeroKpis<T extends KpiLike>(kpis: T[]): T[] {\n const business = kpis.filter((k) => !isLighthouseKpi(k))\n const lighthouse = kpis.filter(isLighthouseKpi)\n if (lighthouse.length <= 1) return kpis\n\n const allPerfect = lighthouse.length >= 4 && lighthouse.every((k) => k.value === 100)\n const summary: T = allPerfect\n ? {\n ...lighthouse[0],\n label: 'Lighthouse, all 4 categories',\n description: 'Perfect scores across performance, SEO, accessibility, and best practices.',\n }\n : (lighthouse.find((k) => /performance/i.test(k.label)) ?? lighthouse[0])\n\n return [...business, summary]\n}\n\n/**\n * Agent-native contract: JSON Schema for the minimal KPI shape, so services and\n * agents can validate tiles before applying the collapse policy.\n */\nexport const PORTFOLIO_KPI_JSON_SCHEMA = {\n $schema: 'http://json-schema.org/draft-07/schema#',\n $id: 'https://sonor.io/schemas/portfolio-kpi.v1.json',\n title: 'KpiLike',\n description: 'The subset of a portfolio KPI tile the Lighthouse-collapse policy reads.',\n type: 'object',\n required: ['label', 'value'],\n properties: {\n label: { type: 'string' },\n value: { type: 'number' },\n description: { type: 'string' },\n source: { enum: ['measured', 'reported', 'estimated'] },\n reportedBy: {\n type: 'object',\n required: ['name', 'organization', 'date'],\n properties: {\n name: { type: 'string', minLength: 1 },\n role: { type: 'string' },\n organization: { type: 'string', minLength: 1 },\n date: { type: 'string', pattern: '^\\\\d{4}-\\\\d{2}-\\\\d{2}$' },\n },\n },\n },\n // A reported number is only valid with someone named behind it.\n if: { properties: { source: { const: 'reported' } }, required: ['source'] },\n then: { required: ['reportedBy'] },\n additionalProperties: true,\n} as const\n\n// ─── Metric provenance ──────────────────────────────────────────────────────\n//\n// Where a published portfolio number came from. The three sources are not\n// grades of confidence, they're three different claims, and no surface may\n// let one pass as another:\n//\n// - measured: we measured it (Lighthouse, analytics, a count anyone can\n// re-run against the live site).\n// - reported: the client told us, and a named person at the client stands\n// behind it. Revenue, headcount and signed work can only ever\n// be this, because we can't see a client's books. It always\n// carries `reportedBy`, and every surface that shows it says\n// whose number it is.\n// - estimated: a reasonable projection. It never headlines anything.\n//\n// Proof is the strongest thing a case study has, and the client's own numbers\n// are usually the strongest proof. Before 'reported' existed they had nowhere\n// honest to go: tagging True Power Systems' \"$1M in signed work from web\n// leads\" as measured would have been false, and as estimated both false and\n// buried (2026-09-25).\n\n/** Every source a portfolio number can have. */\nexport const METRIC_SOURCES = ['measured', 'reported', 'estimated'] as const\nexport type MetricSource = (typeof METRIC_SOURCES)[number]\n\n/** Who stands behind a client-reported number. */\nexport interface MetricAttribution {\n /** The person, e.g. \"Scott Mann\". */\n name: string\n /** Their title, e.g. \"Director of Business Development\". */\n role?: string\n /** Where they work: almost always the client, e.g. \"True Power Systems\". */\n organization: string\n /** The day they reported it, YYYY-MM-DD. */\n date: string\n}\n\n/** The provenance fields a portfolio number (a KPI tile, a results card) carries. */\nexport interface SourcedMetric {\n source?: string | null\n reportedBy?: unknown\n}\n\nconst ISO_DAY_RE = /^\\d{4}-\\d{2}-\\d{2}$/\nconst MONTHS = [\n 'January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December',\n]\n\nexport function isMetricSource(value: unknown): value is MetricSource {\n return typeof value === 'string' && (METRIC_SOURCES as readonly string[]).includes(value)\n}\n\n/**\n * What's wrong with a number's provenance, or null when nothing is. A missing\n * source is legacy data and passes (displays show it unlabelled, and it can't\n * headline); an unknown source, or a reported number nobody is named behind,\n * does not.\n */\nexport function metricSourceProblem(metric: SourcedMetric): string | null {\n if (metric.source === undefined || metric.source === null) return null\n if (!isMetricSource(metric.source)) return `source must be one of ${METRIC_SOURCES.join(', ')}`\n if (metric.source !== 'reported') return null\n const by = metric.reportedBy as Partial<MetricAttribution> | null | undefined\n if (!by || typeof by !== 'object') {\n return 'a reported number needs reportedBy: who reported it, where they work, and when'\n }\n if (typeof by.name !== 'string' || !by.name.trim()) return 'reportedBy.name is required'\n if (typeof by.organization !== 'string' || !by.organization.trim()) {\n return 'reportedBy.organization is required'\n }\n if (typeof by.date !== 'string' || !ISO_DAY_RE.test(by.date) || Number.isNaN(Date.parse(by.date))) {\n return 'reportedBy.date must be a real day, YYYY-MM-DD'\n }\n if (by.role !== undefined && typeof by.role !== 'string') return 'reportedBy.role must be text'\n return null\n}\n\n/**\n * May this number lead: a hero tile, a gallery card, a carousel, a social\n * post? Measured, or reported with someone named behind it. Never an\n * estimate, and never an unlabelled legacy number.\n */\nexport function isHeadlineMetric(metric: SourcedMetric): boolean {\n if (metric.source === 'measured') return true\n return metric.source === 'reported' && metricSourceProblem(metric) === null\n}\n\n/** The badge a display shows, or null for a missing or unknown source (show nothing rather than guess). */\nexport function metricSourceLabel(source: unknown): string | null {\n if (source === 'measured') return 'Measured'\n if (source === 'reported') return 'Client-reported'\n if (source === 'estimated') return 'Estimated'\n return null\n}\n\n/**\n * The full credit: \"Reported by Scott Mann, Director of Business Development,\n * True Power Systems, September 25, 2026\". The date is read as a plain day,\n * never through a time zone, so it can't slip to the day before.\n */\nexport function formatAttribution(by: MetricAttribution): string {\n const [year, month, day] = by.date.split('-').map(Number)\n const when = MONTHS[month - 1] ? `${MONTHS[month - 1]} ${day}, ${year}` : by.date\n return [`Reported by ${by.name.trim()}`, by.role?.trim(), by.organization.trim(), when]\n .filter(Boolean)\n .join(', ')\n}\n\n/** The credit for a tight space (a card, a carousel tile): \"per True Power Systems\". */\nexport function shortAttribution(by: Pick<MetricAttribution, 'organization'>): string {\n return `per ${by.organization.trim()}`\n}\n\n/**\n * Carry a person's reported numbers through a regeneration. The generator can\n * only write measured or estimated numbers (it can't see a client's books, and\n * any 'reported' tag it writes is dropped here), so without this a rewrite of\n * the hero or the results would silently erase what a client told us.\n * Reported entries from `previous` lead, in their order; `next` fills in\n * behind them, minus anything sharing a key with a reported entry.\n */\nexport function carryReportedMetrics<T extends SourcedMetric>(\n previous: readonly T[] | null | undefined,\n next: readonly T[] | null | undefined,\n keyOf: (metric: T) => string,\n): T[] {\n const norm = (metric: T) => String(keyOf(metric) ?? '').trim().toLowerCase()\n const reported = (previous ?? []).filter((m) => m?.source === 'reported')\n const taken = new Set(reported.map(norm))\n const generated = (next ?? []).filter((m) => m && m.source !== 'reported' && !taken.has(norm(m)))\n return [...reported, ...generated]\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/proxy/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,cAAc,CAAA;AACrB,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAA;AAO1B,YAAY,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,WAAW,CAAA;AAElB,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAA;IACf,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,cAAc,CAAA;IACpC,6CAA6C;IAC7C,eAAe,CAAC,EAAE,OAAO,GAAG,qBAAqB,CAAA;IACjD;;;;OAIG;IACH,aAAa,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAA;IAC3C;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,cAAc,CAAA;IACnC;;;OAGG;IACH,MAAM,CAAC,EAAE,CACP,OAAO,EAAE,WAAW,KACjB,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAA;IACjE;;;OAGG;IACH,KAAK,CAAC,EAAE,CACN,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,YAAY,KACnB,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;CAC1C;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,kBAAkB,aAe1C,WAAW,KACnB,OAAO,CAAC,YAAY,CAAC,CA+FzB;AAWD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;IACzB,OAAO;CAGR,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,oBAAc,CAAA;AAE3C,4CAA4C;AAC5C,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,CAAA"}
|
package/dist/proxy/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/proxy/segment.ts","../../src/proxy/index.ts"],"names":["buildSecurityHeaders","buildAiDiscoveryHeaders","handleManagedRedirects","SK_PATH_HEADER","NextResponse","wantsLlmsDiscoveryLink","uuid"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * @sonordev/site-kit/proxy — visitor segment resolution (the \"one edge pass\").\n *\n * Pure, edge-runtime-safe helpers that classify a request into a coarse visitor\n * segment (new-vs-returning + marketing source + campaign) from the URL's UTM\n * params and the referrer. The middleware writes the result to the `_sk_seg`\n * cookie so server-rendered slots / personalization can vary by segment WITHOUT\n * each one re-parsing the request. Resolved once, at the edge.\n *\n * Kept side-effect-free (no NextResponse, no cookie writes) so it is trivially\n * unit-testable and reusable.\n */\nimport type { NextRequest } from 'next/server'\n\nexport type SegmentSource = 'paid' | 'organic' | 'social' | 'referral' | 'direct'\n\nexport interface VisitorSegment {\n /** `new` on the first visit (no prior `_sk_vid` cookie), else `returning`. */\n visitorType: 'new' | 'returning'\n /** Marketing source bucket derived from UTM medium/source, then referrer. */\n source: SegmentSource\n /** `utm_campaign`, if present (sanitized when encoded). */\n campaign: string | null\n}\n\nconst PAID_MEDIUMS = ['cpc', 'ppc', 'paid', 'paidsearch', 'paid-search', 'display', 'cpm', 'banner']\nconst SOCIAL_MEDIUMS = ['social', 'social-media', 'social_media', 'sm']\nconst SOCIAL_HOSTS = [\n 'facebook.',\n 'instagram.',\n 'linkedin.',\n 't.co',\n 'twitter.',\n 'x.com',\n 'pinterest.',\n 'tiktok.',\n 'youtube.',\n 'reddit.',\n]\nconst SEARCH_HOSTS = ['google.', 'bing.', 'duckduckgo.', 'yahoo.', 'ecosia.', 'brave.', 'baidu.', 'yandex.']\n\n/**\n * Classify `request` into a {@link VisitorSegment}. UTM params win over the\n * referrer; a same-host referrer is ignored (internal navigation, not a source).\n */\nexport function resolveVisitorSegment(\n request: NextRequest,\n opts: { hadVisitorCookie: boolean },\n): VisitorSegment {\n const params = request.nextUrl.searchParams\n const medium = (params.get('utm_medium') || '').toLowerCase().trim()\n const campaign = params.get('utm_campaign')\n\n let source: SegmentSource = 'direct'\n\n if (PAID_MEDIUMS.includes(medium)) {\n source = 'paid'\n } else if (SOCIAL_MEDIUMS.includes(medium)) {\n source = 'social'\n } else if (medium === 'organic') {\n source = 'organic'\n } else if (medium === 'referral') {\n source = 'referral'\n } else if (params.get('utm_source') || params.get('gclid') || params.get('fbclid')) {\n // A tagged link with a non-standard medium: gclid => paid Google, fbclid => social.\n if (params.get('gclid')) source = 'paid'\n else if (params.get('fbclid')) source = 'social'\n else source = 'referral'\n } else {\n // No campaign tagging — fall back to the referrer host.\n const ref = request.headers.get('referer') || ''\n if (ref) {\n try {\n const host = new URL(ref).host.toLowerCase()\n const selfHost = request.nextUrl.host.toLowerCase()\n if (host && host !== selfHost) {\n if (SEARCH_HOSTS.some((h) => host.includes(h))) source = 'organic'\n else if (SOCIAL_HOSTS.some((h) => host.includes(h))) source = 'social'\n else source = 'referral'\n }\n } catch {\n /* malformed referer — stays 'direct' */\n }\n }\n }\n\n return {\n visitorType: opts.hadVisitorCookie ? 'returning' : 'new',\n source,\n campaign: campaign || null,\n }\n}\n\n/**\n * Compact, cookie-safe encoding: `\"<visitorType>|<source>|<campaign>\"`, e.g.\n * `\"new|paid|spring_sale\"`. Campaign is sanitized to `[A-Za-z0-9_-]` and capped.\n * Decode with {@link decodeSegment}.\n */\nexport function encodeSegment(seg: VisitorSegment): string {\n const campaign = (seg.campaign || '').replace(/[^a-zA-Z0-9_-]/g, '').slice(0, 40)\n return `${seg.visitorType}|${seg.source}|${campaign}`\n}\n\n/** Parse a `_sk_seg` cookie value produced by {@link encodeSegment}. */\nexport function decodeSegment(value: string | undefined | null): VisitorSegment | null {\n if (!value) return null\n const [visitorType, source, campaign] = value.split('|')\n if (visitorType !== 'new' && visitorType !== 'returning') return null\n return {\n visitorType,\n source: (['paid', 'organic', 'social', 'referral', 'direct'].includes(source) ? source : 'direct') as SegmentSource,\n campaign: campaign || null,\n }\n}\n","/**\n * @sonordev/site-kit/proxy\n *\n * Composable Next.js Proxy factory (Next 16's replacement for middleware).\n * Also served on the deprecated `/middleware` subpath. Handles:\n * - Security headers (CSP frame-ancestors, nosniff, referrer/permissions\n * policy — deliberately NO X-Frame-Options; see securityHeaders.ts)\n * - Portal-managed redirects (rule list cached in memory, see the\n * `redirects` option below)\n * - Stamps `x-sk-path` on the request (read by the deprecated not-found\n * resolver; kept so sites still using it don't break)\n * - Optional before/after hooks for custom logic\n *\n * @example\n * ```ts\n * // proxy.ts — entire file\n * import { createProxy } from '@sonordev/site-kit/proxy'\n *\n * export default createProxy()\n *\n * // Inlined on purpose: Next statically parses `config.matcher` at build\n * // time and REJECTS an imported value (Turbopack build error). Keep in\n * // sync with siteKitMatcher below.\n * export const config = {\n * matcher: [\n * '/((?!_next/static|_next/image|favicon\\\\.ico|.*\\\\.(?:ico|png|jpg|jpeg|gif|webp|svg|woff2?)$).*)',\n * ],\n * }\n * ```\n *\n * Next 16 notes: `middleware.ts` is deprecated (codemod:\n * `npx @next/codemod@canary middleware-to-proxy .`), Proxy defaults to the\n * Node.js runtime, and the `runtime` config option is unavailable in proxy\n * files — setting it throws at build time.\n *\n * @example With custom hooks:\n * ```ts\n * export default createProxy({\n * before: (req) => {\n * // Custom auth check, etc.\n * },\n * })\n * ```\n */\n\nimport { NextRequest, NextResponse } from 'next/server'\nimport {\n handleManagedRedirects,\n SK_PATH_HEADER,\n type RedirectConfig,\n} from '../redirects'\nimport {\n buildSecurityHeaders,\n type SecurityHeadersConfig,\n} from './securityHeaders'\nimport { buildAiDiscoveryHeaders, wantsLlmsDiscoveryLink } from '../llms/discovery-headers'\nimport { resolveVisitorSegment, encodeSegment } from './segment'\n// Single source of truth for v4 UUIDs — Web Crypto in the edge runtime, with a\n// non-throwing fallback everywhere else. Do NOT re-fork ID generation here.\nimport { uuid } from '../shared/uuid'\n\nexport type { SecurityHeadersConfig } from './securityHeaders'\nexport { DEFAULT_FRAME_ANCESTORS } from './securityHeaders'\nexport {\n resolveVisitorSegment,\n encodeSegment,\n decodeSegment,\n type VisitorSegment,\n type SegmentSource,\n} from './segment'\n\nexport interface IdentityConfig {\n /**\n * Also resolve + persist a coarse visitor segment (new-vs-returning + source\n * + campaign) into the `_sk_seg` cookie, for segment-aware slots /\n * personalization. Default: true (when identity is enabled).\n */\n segment?: boolean\n /** Days the `_sk_vid` visitor cookie persists. Default: 730 (~2 years). */\n cookieMaxAgeDays?: number\n}\n\nexport interface LlmsDiscoveryConfig {\n /** Canonical site origin, e.g. `https://example.com` */\n siteUrl: string\n /** Path to llms.txt (default `/llms.txt`) */\n llmsPath?: string\n}\n\nexport interface SiteKitProxyConfig {\n /**\n * Portal-managed redirects, checked before each page render. Default: true,\n * and the recommended setting.\n *\n * The rule list is cached in memory for `cacheSeconds` (default 300) per\n * instance, and a fetch is bounded at 300ms with a 30s failure cooldown,\n * so page loads rarely wait on it. Set `false` only on a site that uses no\n * Sonor-managed redirects.\n *\n * Don't move redirects into app/not-found.tsx with\n * `resolveManagedRedirect()`. Next renders the root not-found boundary\n * inside every page, and the resolver's headers() call opts every route\n * into dynamic rendering (verified on a Next 16 build: every ○ route became\n * ƒ). That resolver is deprecated.\n */\n redirects?: boolean | RedirectConfig\n /** Enable security headers. Default: true */\n securityHeaders?: boolean | SecurityHeadersConfig\n /**\n * Opt-in: inject `Link: <...>; rel=\"describedby\"` header on HTML responses\n * pointing to /llms.txt for AI crawler discovery (RFC 8288).\n * Preferred over visible footer links.\n */\n llmsDiscovery?: LlmsDiscoveryConfig | false\n /**\n * Opt-in EDGE IDENTITY pass. When enabled, the middleware ensures a\n * first-party `_sk_vid` visitor cookie exists (server-authoritative id) and\n * resolves the visitor segment into `_sk_seg`, so server-rendered slots and\n * personalization can read identity + segment without re-parsing the request.\n * Purely additive — it only writes cookies, never changes the rendered HTML,\n * so it is LCP/static-safe. Default: OFF (sites opt in for 3.0 personalization).\n *\n * NOTE: to make these the SAME id the client uses, the shared identity helper\n * must read `_sk_vid` cookie-first (a follow-on change validated with a live\n * preview); until then the cookie is the server-side mirror.\n */\n identity?: boolean | IdentityConfig\n /**\n * Hook that runs BEFORE redirect check.\n * Return a NextResponse to short-circuit, or undefined to continue.\n */\n before?: (\n request: NextRequest,\n ) => NextResponse | undefined | Promise<NextResponse | undefined>\n /**\n * Hook that runs AFTER all processing.\n * Receives the response that will be sent — mutate headers, etc.\n */\n after?: (\n request: NextRequest,\n response: NextResponse,\n ) => NextResponse | Promise<NextResponse>\n}\n\n/**\n * Create a fully-featured Next.js Proxy function.\n *\n * With zero config this handles redirects + security headers automatically.\n * Export it from `proxy.ts` at the project root (or `src/`).\n */\nexport function createProxy(config?: SiteKitProxyConfig) {\n const securityHeaders = buildSecurityHeaders(\n config?.securityHeaders,\n )\n\n // Pre-compute discovery headers (static per middleware instance)\n const discoveryHeaders: Record<string, string> =\n config?.llmsDiscovery\n ? buildAiDiscoveryHeaders({\n siteUrl: config.llmsDiscovery.siteUrl,\n llmsPath: config.llmsDiscovery.llmsPath,\n })\n : {}\n\n return async function proxy(\n request: NextRequest,\n ): Promise<NextResponse> {\n // 1. Run user's 'before' hook\n if (config?.before) {\n const earlyResponse = await config.before(request)\n if (earlyResponse) {\n // Apply security headers even to early responses\n applyHeaders(earlyResponse, securityHeaders)\n return earlyResponse\n }\n }\n\n // 2. Check Portal-managed redirects (unless disabled)\n if (config?.redirects !== false) {\n const redirectConfig: RedirectConfig =\n typeof config?.redirects === 'object'\n ? config.redirects\n : {}\n\n const redirect = await handleManagedRedirects(\n request,\n redirectConfig,\n )\n if (redirect) {\n // Redirects get security headers too\n applyHeaders(redirect, securityHeaders)\n return redirect\n }\n }\n\n // 3. Build the pass-through response. Stamp the requested\n // pathname+search onto the REQUEST for the deprecated not-found\n // resolver, so sites still calling it keep working.\n // Pure header write — no fetch, static-safe.\n const requestHeaders = new Headers(request.headers)\n requestHeaders.set(\n SK_PATH_HEADER,\n request.nextUrl.pathname + request.nextUrl.search,\n )\n let response = NextResponse.next({ request: { headers: requestHeaders } })\n\n // 4. Apply security headers\n applyHeaders(response, securityHeaders)\n\n // 5. Apply the AI discovery Link header to anything that could be a page.\n // A request with no Accept header counts: that's how curl and many\n // crawlers ask, and they're who the header is for.\n if (\n Object.keys(discoveryHeaders).length > 0 &&\n wantsLlmsDiscoveryLink({\n method: request.method,\n pathname: request.nextUrl.pathname,\n accept: request.headers.get('accept'),\n rsc: request.headers.get('rsc'),\n })\n ) {\n applyHeaders(response, discoveryHeaders)\n }\n\n // 5b. Edge identity pass (opt-in). Ensure a first-party `_sk_vid` visitor\n // cookie exists and resolve the visitor segment into `_sk_seg`. Additive:\n // only writes cookies, never changes the rendered HTML (LCP/static-safe).\n if (config?.identity) {\n const idCfg: IdentityConfig =\n typeof config.identity === 'object' ? config.identity : {}\n const hadVisitorCookie = !!request.cookies.get('_sk_vid')?.value\n if (!hadVisitorCookie) {\n const maxAgeDays = idCfg.cookieMaxAgeDays ?? 730\n response.cookies.set('_sk_vid', uuid(), {\n maxAge: maxAgeDays * 24 * 60 * 60,\n path: '/',\n sameSite: 'lax',\n secure: true,\n })\n }\n if (idCfg.segment !== false) {\n const segment = encodeSegment(\n resolveVisitorSegment(request, { hadVisitorCookie }),\n )\n response.cookies.set('_sk_seg', segment, {\n // Session-ish: a fresh campaign / source on a later visit re-segments.\n maxAge: 30 * 60,\n path: '/',\n sameSite: 'lax',\n secure: true,\n })\n }\n }\n\n // 6. Run user's 'after' hook\n if (config?.after) {\n response = await config.after(request, response)\n }\n\n return response\n }\n}\n\nfunction applyHeaders(\n response: NextResponse,\n headers: Record<string, string>,\n): void {\n for (const [key, value] of Object.entries(headers)) {\n response.headers.set(key, value)\n }\n}\n\n/**\n * REFERENCE VALUE ONLY — copy the array into your proxy.ts, do not export it.\n *\n * `export const config = siteKitMatcher` is a BUILD ERROR on Next 16:\n * `config.matcher` must be statically analyzable and Turbopack rejects any\n * imported value. This constant exists so the canonical pattern lives in one\n * place (the scaffold, docs, and tests read it) — inline its contents.\n */\nexport const siteKitMatcher = {\n matcher: [\n '/((?!_next/static|_next/image|favicon\\\\.ico|.*\\\\.(?:ico|png|jpg|jpeg|gif|webp|svg|woff2?)$).*)',\n ],\n}\n\n/**\n * @deprecated Use `createProxy`. Next 16 renamed the `middleware` file\n * convention to `proxy` (`npx @next/codemod@canary middleware-to-proxy .`);\n * the old name still builds but warns, and the factory is named for the file\n * it is exported from. Kept indefinitely — 100+ fleet sites import it — but\n * new code should say `createProxy` from `@sonordev/site-kit/proxy`.\n */\nexport const createMiddleware = createProxy\n\n/** @deprecated Use `SiteKitProxyConfig`. */\nexport type SiteKitMiddlewareConfig = SiteKitProxyConfig\n"]}
|
package/dist/proxy/index.mjs
DELETED
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
import { buildSecurityHeaders } from '../chunk-R5F2JQVX.mjs';
|
|
2
|
-
export { DEFAULT_FRAME_ANCESTORS } from '../chunk-R5F2JQVX.mjs';
|
|
3
|
-
import { buildAiDiscoveryHeaders, wantsLlmsDiscoveryLink } from '../chunk-DA7IANFG.mjs';
|
|
4
|
-
import { handleManagedRedirects, SK_PATH_HEADER } from '../chunk-UO6KTHBQ.mjs';
|
|
5
|
-
import '../chunk-B22WSN4L.mjs';
|
|
6
|
-
import '../chunk-AS2HUIDW.mjs';
|
|
7
|
-
import '../chunk-KZVSB5WE.mjs';
|
|
8
|
-
import '../chunk-ZN4HBK5C.mjs';
|
|
9
|
-
import { uuid } from '../chunk-6EDVCUAG.mjs';
|
|
10
|
-
import '../chunk-BEXTDHO4.mjs';
|
|
11
|
-
import { NextResponse } from 'next/server';
|
|
12
|
-
|
|
13
|
-
// src/proxy/segment.ts
|
|
14
|
-
var PAID_MEDIUMS = ["cpc", "ppc", "paid", "paidsearch", "paid-search", "display", "cpm", "banner"];
|
|
15
|
-
var SOCIAL_MEDIUMS = ["social", "social-media", "social_media", "sm"];
|
|
16
|
-
var SOCIAL_HOSTS = [
|
|
17
|
-
"facebook.",
|
|
18
|
-
"instagram.",
|
|
19
|
-
"linkedin.",
|
|
20
|
-
"t.co",
|
|
21
|
-
"twitter.",
|
|
22
|
-
"x.com",
|
|
23
|
-
"pinterest.",
|
|
24
|
-
"tiktok.",
|
|
25
|
-
"youtube.",
|
|
26
|
-
"reddit."
|
|
27
|
-
];
|
|
28
|
-
var SEARCH_HOSTS = ["google.", "bing.", "duckduckgo.", "yahoo.", "ecosia.", "brave.", "baidu.", "yandex."];
|
|
29
|
-
function resolveVisitorSegment(request, opts) {
|
|
30
|
-
const params = request.nextUrl.searchParams;
|
|
31
|
-
const medium = (params.get("utm_medium") || "").toLowerCase().trim();
|
|
32
|
-
const campaign = params.get("utm_campaign");
|
|
33
|
-
let source = "direct";
|
|
34
|
-
if (PAID_MEDIUMS.includes(medium)) {
|
|
35
|
-
source = "paid";
|
|
36
|
-
} else if (SOCIAL_MEDIUMS.includes(medium)) {
|
|
37
|
-
source = "social";
|
|
38
|
-
} else if (medium === "organic") {
|
|
39
|
-
source = "organic";
|
|
40
|
-
} else if (medium === "referral") {
|
|
41
|
-
source = "referral";
|
|
42
|
-
} else if (params.get("utm_source") || params.get("gclid") || params.get("fbclid")) {
|
|
43
|
-
if (params.get("gclid")) source = "paid";
|
|
44
|
-
else if (params.get("fbclid")) source = "social";
|
|
45
|
-
else source = "referral";
|
|
46
|
-
} else {
|
|
47
|
-
const ref = request.headers.get("referer") || "";
|
|
48
|
-
if (ref) {
|
|
49
|
-
try {
|
|
50
|
-
const host = new URL(ref).host.toLowerCase();
|
|
51
|
-
const selfHost = request.nextUrl.host.toLowerCase();
|
|
52
|
-
if (host && host !== selfHost) {
|
|
53
|
-
if (SEARCH_HOSTS.some((h) => host.includes(h))) source = "organic";
|
|
54
|
-
else if (SOCIAL_HOSTS.some((h) => host.includes(h))) source = "social";
|
|
55
|
-
else source = "referral";
|
|
56
|
-
}
|
|
57
|
-
} catch {
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return {
|
|
62
|
-
visitorType: opts.hadVisitorCookie ? "returning" : "new",
|
|
63
|
-
source,
|
|
64
|
-
campaign: campaign || null
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
function encodeSegment(seg) {
|
|
68
|
-
const campaign = (seg.campaign || "").replace(/[^a-zA-Z0-9_-]/g, "").slice(0, 40);
|
|
69
|
-
return `${seg.visitorType}|${seg.source}|${campaign}`;
|
|
70
|
-
}
|
|
71
|
-
function decodeSegment(value) {
|
|
72
|
-
if (!value) return null;
|
|
73
|
-
const [visitorType, source, campaign] = value.split("|");
|
|
74
|
-
if (visitorType !== "new" && visitorType !== "returning") return null;
|
|
75
|
-
return {
|
|
76
|
-
visitorType,
|
|
77
|
-
source: ["paid", "organic", "social", "referral", "direct"].includes(source) ? source : "direct",
|
|
78
|
-
campaign: campaign || null
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// src/proxy/index.ts
|
|
83
|
-
function createProxy(config) {
|
|
84
|
-
const securityHeaders = buildSecurityHeaders(
|
|
85
|
-
config?.securityHeaders
|
|
86
|
-
);
|
|
87
|
-
const discoveryHeaders = config?.llmsDiscovery ? buildAiDiscoveryHeaders({
|
|
88
|
-
siteUrl: config.llmsDiscovery.siteUrl,
|
|
89
|
-
llmsPath: config.llmsDiscovery.llmsPath
|
|
90
|
-
}) : {};
|
|
91
|
-
return async function proxy(request) {
|
|
92
|
-
if (config?.before) {
|
|
93
|
-
const earlyResponse = await config.before(request);
|
|
94
|
-
if (earlyResponse) {
|
|
95
|
-
applyHeaders(earlyResponse, securityHeaders);
|
|
96
|
-
return earlyResponse;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
if (config?.redirects !== false) {
|
|
100
|
-
const redirectConfig = typeof config?.redirects === "object" ? config.redirects : {};
|
|
101
|
-
const redirect = await handleManagedRedirects(
|
|
102
|
-
request,
|
|
103
|
-
redirectConfig
|
|
104
|
-
);
|
|
105
|
-
if (redirect) {
|
|
106
|
-
applyHeaders(redirect, securityHeaders);
|
|
107
|
-
return redirect;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
const requestHeaders = new Headers(request.headers);
|
|
111
|
-
requestHeaders.set(
|
|
112
|
-
SK_PATH_HEADER,
|
|
113
|
-
request.nextUrl.pathname + request.nextUrl.search
|
|
114
|
-
);
|
|
115
|
-
let response = NextResponse.next({ request: { headers: requestHeaders } });
|
|
116
|
-
applyHeaders(response, securityHeaders);
|
|
117
|
-
if (Object.keys(discoveryHeaders).length > 0 && wantsLlmsDiscoveryLink({
|
|
118
|
-
method: request.method,
|
|
119
|
-
pathname: request.nextUrl.pathname,
|
|
120
|
-
accept: request.headers.get("accept"),
|
|
121
|
-
rsc: request.headers.get("rsc")
|
|
122
|
-
})) {
|
|
123
|
-
applyHeaders(response, discoveryHeaders);
|
|
124
|
-
}
|
|
125
|
-
if (config?.identity) {
|
|
126
|
-
const idCfg = typeof config.identity === "object" ? config.identity : {};
|
|
127
|
-
const hadVisitorCookie = !!request.cookies.get("_sk_vid")?.value;
|
|
128
|
-
if (!hadVisitorCookie) {
|
|
129
|
-
const maxAgeDays = idCfg.cookieMaxAgeDays ?? 730;
|
|
130
|
-
response.cookies.set("_sk_vid", uuid(), {
|
|
131
|
-
maxAge: maxAgeDays * 24 * 60 * 60,
|
|
132
|
-
path: "/",
|
|
133
|
-
sameSite: "lax",
|
|
134
|
-
secure: true
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
if (idCfg.segment !== false) {
|
|
138
|
-
const segment = encodeSegment(
|
|
139
|
-
resolveVisitorSegment(request, { hadVisitorCookie })
|
|
140
|
-
);
|
|
141
|
-
response.cookies.set("_sk_seg", segment, {
|
|
142
|
-
// Session-ish: a fresh campaign / source on a later visit re-segments.
|
|
143
|
-
maxAge: 30 * 60,
|
|
144
|
-
path: "/",
|
|
145
|
-
sameSite: "lax",
|
|
146
|
-
secure: true
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
if (config?.after) {
|
|
151
|
-
response = await config.after(request, response);
|
|
152
|
-
}
|
|
153
|
-
return response;
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
function applyHeaders(response, headers) {
|
|
157
|
-
for (const [key, value] of Object.entries(headers)) {
|
|
158
|
-
response.headers.set(key, value);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
var siteKitMatcher = {
|
|
162
|
-
matcher: [
|
|
163
|
-
"/((?!_next/static|_next/image|favicon\\.ico|.*\\.(?:ico|png|jpg|jpeg|gif|webp|svg|woff2?)$).*)"
|
|
164
|
-
]
|
|
165
|
-
};
|
|
166
|
-
var createMiddleware = createProxy;
|
|
167
|
-
|
|
168
|
-
export { createMiddleware, createProxy, decodeSegment, encodeSegment, resolveVisitorSegment, siteKitMatcher };
|
|
169
|
-
//# sourceMappingURL=index.mjs.map
|
|
170
|
-
//# sourceMappingURL=index.mjs.map
|
package/dist/proxy/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/proxy/segment.ts","../../src/proxy/index.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["/**\n * @sonordev/site-kit/proxy — visitor segment resolution (the \"one edge pass\").\n *\n * Pure, edge-runtime-safe helpers that classify a request into a coarse visitor\n * segment (new-vs-returning + marketing source + campaign) from the URL's UTM\n * params and the referrer. The middleware writes the result to the `_sk_seg`\n * cookie so server-rendered slots / personalization can vary by segment WITHOUT\n * each one re-parsing the request. Resolved once, at the edge.\n *\n * Kept side-effect-free (no NextResponse, no cookie writes) so it is trivially\n * unit-testable and reusable.\n */\nimport type { NextRequest } from 'next/server'\n\nexport type SegmentSource = 'paid' | 'organic' | 'social' | 'referral' | 'direct'\n\nexport interface VisitorSegment {\n /** `new` on the first visit (no prior `_sk_vid` cookie), else `returning`. */\n visitorType: 'new' | 'returning'\n /** Marketing source bucket derived from UTM medium/source, then referrer. */\n source: SegmentSource\n /** `utm_campaign`, if present (sanitized when encoded). */\n campaign: string | null\n}\n\nconst PAID_MEDIUMS = ['cpc', 'ppc', 'paid', 'paidsearch', 'paid-search', 'display', 'cpm', 'banner']\nconst SOCIAL_MEDIUMS = ['social', 'social-media', 'social_media', 'sm']\nconst SOCIAL_HOSTS = [\n 'facebook.',\n 'instagram.',\n 'linkedin.',\n 't.co',\n 'twitter.',\n 'x.com',\n 'pinterest.',\n 'tiktok.',\n 'youtube.',\n 'reddit.',\n]\nconst SEARCH_HOSTS = ['google.', 'bing.', 'duckduckgo.', 'yahoo.', 'ecosia.', 'brave.', 'baidu.', 'yandex.']\n\n/**\n * Classify `request` into a {@link VisitorSegment}. UTM params win over the\n * referrer; a same-host referrer is ignored (internal navigation, not a source).\n */\nexport function resolveVisitorSegment(\n request: NextRequest,\n opts: { hadVisitorCookie: boolean },\n): VisitorSegment {\n const params = request.nextUrl.searchParams\n const medium = (params.get('utm_medium') || '').toLowerCase().trim()\n const campaign = params.get('utm_campaign')\n\n let source: SegmentSource = 'direct'\n\n if (PAID_MEDIUMS.includes(medium)) {\n source = 'paid'\n } else if (SOCIAL_MEDIUMS.includes(medium)) {\n source = 'social'\n } else if (medium === 'organic') {\n source = 'organic'\n } else if (medium === 'referral') {\n source = 'referral'\n } else if (params.get('utm_source') || params.get('gclid') || params.get('fbclid')) {\n // A tagged link with a non-standard medium: gclid => paid Google, fbclid => social.\n if (params.get('gclid')) source = 'paid'\n else if (params.get('fbclid')) source = 'social'\n else source = 'referral'\n } else {\n // No campaign tagging — fall back to the referrer host.\n const ref = request.headers.get('referer') || ''\n if (ref) {\n try {\n const host = new URL(ref).host.toLowerCase()\n const selfHost = request.nextUrl.host.toLowerCase()\n if (host && host !== selfHost) {\n if (SEARCH_HOSTS.some((h) => host.includes(h))) source = 'organic'\n else if (SOCIAL_HOSTS.some((h) => host.includes(h))) source = 'social'\n else source = 'referral'\n }\n } catch {\n /* malformed referer — stays 'direct' */\n }\n }\n }\n\n return {\n visitorType: opts.hadVisitorCookie ? 'returning' : 'new',\n source,\n campaign: campaign || null,\n }\n}\n\n/**\n * Compact, cookie-safe encoding: `\"<visitorType>|<source>|<campaign>\"`, e.g.\n * `\"new|paid|spring_sale\"`. Campaign is sanitized to `[A-Za-z0-9_-]` and capped.\n * Decode with {@link decodeSegment}.\n */\nexport function encodeSegment(seg: VisitorSegment): string {\n const campaign = (seg.campaign || '').replace(/[^a-zA-Z0-9_-]/g, '').slice(0, 40)\n return `${seg.visitorType}|${seg.source}|${campaign}`\n}\n\n/** Parse a `_sk_seg` cookie value produced by {@link encodeSegment}. */\nexport function decodeSegment(value: string | undefined | null): VisitorSegment | null {\n if (!value) return null\n const [visitorType, source, campaign] = value.split('|')\n if (visitorType !== 'new' && visitorType !== 'returning') return null\n return {\n visitorType,\n source: (['paid', 'organic', 'social', 'referral', 'direct'].includes(source) ? source : 'direct') as SegmentSource,\n campaign: campaign || null,\n }\n}\n","/**\n * @sonordev/site-kit/proxy\n *\n * Composable Next.js Proxy factory (Next 16's replacement for middleware).\n * Also served on the deprecated `/middleware` subpath. Handles:\n * - Security headers (CSP frame-ancestors, nosniff, referrer/permissions\n * policy — deliberately NO X-Frame-Options; see securityHeaders.ts)\n * - Portal-managed redirects (rule list cached in memory, see the\n * `redirects` option below)\n * - Stamps `x-sk-path` on the request (read by the deprecated not-found\n * resolver; kept so sites still using it don't break)\n * - Optional before/after hooks for custom logic\n *\n * @example\n * ```ts\n * // proxy.ts — entire file\n * import { createProxy } from '@sonordev/site-kit/proxy'\n *\n * export default createProxy()\n *\n * // Inlined on purpose: Next statically parses `config.matcher` at build\n * // time and REJECTS an imported value (Turbopack build error). Keep in\n * // sync with siteKitMatcher below.\n * export const config = {\n * matcher: [\n * '/((?!_next/static|_next/image|favicon\\\\.ico|.*\\\\.(?:ico|png|jpg|jpeg|gif|webp|svg|woff2?)$).*)',\n * ],\n * }\n * ```\n *\n * Next 16 notes: `middleware.ts` is deprecated (codemod:\n * `npx @next/codemod@canary middleware-to-proxy .`), Proxy defaults to the\n * Node.js runtime, and the `runtime` config option is unavailable in proxy\n * files — setting it throws at build time.\n *\n * @example With custom hooks:\n * ```ts\n * export default createProxy({\n * before: (req) => {\n * // Custom auth check, etc.\n * },\n * })\n * ```\n */\n\nimport { NextRequest, NextResponse } from 'next/server'\nimport {\n handleManagedRedirects,\n SK_PATH_HEADER,\n type RedirectConfig,\n} from '../redirects'\nimport {\n buildSecurityHeaders,\n type SecurityHeadersConfig,\n} from './securityHeaders'\nimport { buildAiDiscoveryHeaders, wantsLlmsDiscoveryLink } from '../llms/discovery-headers'\nimport { resolveVisitorSegment, encodeSegment } from './segment'\n// Single source of truth for v4 UUIDs — Web Crypto in the edge runtime, with a\n// non-throwing fallback everywhere else. Do NOT re-fork ID generation here.\nimport { uuid } from '../shared/uuid'\n\nexport type { SecurityHeadersConfig } from './securityHeaders'\nexport { DEFAULT_FRAME_ANCESTORS } from './securityHeaders'\nexport {\n resolveVisitorSegment,\n encodeSegment,\n decodeSegment,\n type VisitorSegment,\n type SegmentSource,\n} from './segment'\n\nexport interface IdentityConfig {\n /**\n * Also resolve + persist a coarse visitor segment (new-vs-returning + source\n * + campaign) into the `_sk_seg` cookie, for segment-aware slots /\n * personalization. Default: true (when identity is enabled).\n */\n segment?: boolean\n /** Days the `_sk_vid` visitor cookie persists. Default: 730 (~2 years). */\n cookieMaxAgeDays?: number\n}\n\nexport interface LlmsDiscoveryConfig {\n /** Canonical site origin, e.g. `https://example.com` */\n siteUrl: string\n /** Path to llms.txt (default `/llms.txt`) */\n llmsPath?: string\n}\n\nexport interface SiteKitProxyConfig {\n /**\n * Portal-managed redirects, checked before each page render. Default: true,\n * and the recommended setting.\n *\n * The rule list is cached in memory for `cacheSeconds` (default 300) per\n * instance, and a fetch is bounded at 300ms with a 30s failure cooldown,\n * so page loads rarely wait on it. Set `false` only on a site that uses no\n * Sonor-managed redirects.\n *\n * Don't move redirects into app/not-found.tsx with\n * `resolveManagedRedirect()`. Next renders the root not-found boundary\n * inside every page, and the resolver's headers() call opts every route\n * into dynamic rendering (verified on a Next 16 build: every ○ route became\n * ƒ). That resolver is deprecated.\n */\n redirects?: boolean | RedirectConfig\n /** Enable security headers. Default: true */\n securityHeaders?: boolean | SecurityHeadersConfig\n /**\n * Opt-in: inject `Link: <...>; rel=\"describedby\"` header on HTML responses\n * pointing to /llms.txt for AI crawler discovery (RFC 8288).\n * Preferred over visible footer links.\n */\n llmsDiscovery?: LlmsDiscoveryConfig | false\n /**\n * Opt-in EDGE IDENTITY pass. When enabled, the middleware ensures a\n * first-party `_sk_vid` visitor cookie exists (server-authoritative id) and\n * resolves the visitor segment into `_sk_seg`, so server-rendered slots and\n * personalization can read identity + segment without re-parsing the request.\n * Purely additive — it only writes cookies, never changes the rendered HTML,\n * so it is LCP/static-safe. Default: OFF (sites opt in for 3.0 personalization).\n *\n * NOTE: to make these the SAME id the client uses, the shared identity helper\n * must read `_sk_vid` cookie-first (a follow-on change validated with a live\n * preview); until then the cookie is the server-side mirror.\n */\n identity?: boolean | IdentityConfig\n /**\n * Hook that runs BEFORE redirect check.\n * Return a NextResponse to short-circuit, or undefined to continue.\n */\n before?: (\n request: NextRequest,\n ) => NextResponse | undefined | Promise<NextResponse | undefined>\n /**\n * Hook that runs AFTER all processing.\n * Receives the response that will be sent — mutate headers, etc.\n */\n after?: (\n request: NextRequest,\n response: NextResponse,\n ) => NextResponse | Promise<NextResponse>\n}\n\n/**\n * Create a fully-featured Next.js Proxy function.\n *\n * With zero config this handles redirects + security headers automatically.\n * Export it from `proxy.ts` at the project root (or `src/`).\n */\nexport function createProxy(config?: SiteKitProxyConfig) {\n const securityHeaders = buildSecurityHeaders(\n config?.securityHeaders,\n )\n\n // Pre-compute discovery headers (static per middleware instance)\n const discoveryHeaders: Record<string, string> =\n config?.llmsDiscovery\n ? buildAiDiscoveryHeaders({\n siteUrl: config.llmsDiscovery.siteUrl,\n llmsPath: config.llmsDiscovery.llmsPath,\n })\n : {}\n\n return async function proxy(\n request: NextRequest,\n ): Promise<NextResponse> {\n // 1. Run user's 'before' hook\n if (config?.before) {\n const earlyResponse = await config.before(request)\n if (earlyResponse) {\n // Apply security headers even to early responses\n applyHeaders(earlyResponse, securityHeaders)\n return earlyResponse\n }\n }\n\n // 2. Check Portal-managed redirects (unless disabled)\n if (config?.redirects !== false) {\n const redirectConfig: RedirectConfig =\n typeof config?.redirects === 'object'\n ? config.redirects\n : {}\n\n const redirect = await handleManagedRedirects(\n request,\n redirectConfig,\n )\n if (redirect) {\n // Redirects get security headers too\n applyHeaders(redirect, securityHeaders)\n return redirect\n }\n }\n\n // 3. Build the pass-through response. Stamp the requested\n // pathname+search onto the REQUEST for the deprecated not-found\n // resolver, so sites still calling it keep working.\n // Pure header write — no fetch, static-safe.\n const requestHeaders = new Headers(request.headers)\n requestHeaders.set(\n SK_PATH_HEADER,\n request.nextUrl.pathname + request.nextUrl.search,\n )\n let response = NextResponse.next({ request: { headers: requestHeaders } })\n\n // 4. Apply security headers\n applyHeaders(response, securityHeaders)\n\n // 5. Apply the AI discovery Link header to anything that could be a page.\n // A request with no Accept header counts: that's how curl and many\n // crawlers ask, and they're who the header is for.\n if (\n Object.keys(discoveryHeaders).length > 0 &&\n wantsLlmsDiscoveryLink({\n method: request.method,\n pathname: request.nextUrl.pathname,\n accept: request.headers.get('accept'),\n rsc: request.headers.get('rsc'),\n })\n ) {\n applyHeaders(response, discoveryHeaders)\n }\n\n // 5b. Edge identity pass (opt-in). Ensure a first-party `_sk_vid` visitor\n // cookie exists and resolve the visitor segment into `_sk_seg`. Additive:\n // only writes cookies, never changes the rendered HTML (LCP/static-safe).\n if (config?.identity) {\n const idCfg: IdentityConfig =\n typeof config.identity === 'object' ? config.identity : {}\n const hadVisitorCookie = !!request.cookies.get('_sk_vid')?.value\n if (!hadVisitorCookie) {\n const maxAgeDays = idCfg.cookieMaxAgeDays ?? 730\n response.cookies.set('_sk_vid', uuid(), {\n maxAge: maxAgeDays * 24 * 60 * 60,\n path: '/',\n sameSite: 'lax',\n secure: true,\n })\n }\n if (idCfg.segment !== false) {\n const segment = encodeSegment(\n resolveVisitorSegment(request, { hadVisitorCookie }),\n )\n response.cookies.set('_sk_seg', segment, {\n // Session-ish: a fresh campaign / source on a later visit re-segments.\n maxAge: 30 * 60,\n path: '/',\n sameSite: 'lax',\n secure: true,\n })\n }\n }\n\n // 6. Run user's 'after' hook\n if (config?.after) {\n response = await config.after(request, response)\n }\n\n return response\n }\n}\n\nfunction applyHeaders(\n response: NextResponse,\n headers: Record<string, string>,\n): void {\n for (const [key, value] of Object.entries(headers)) {\n response.headers.set(key, value)\n }\n}\n\n/**\n * REFERENCE VALUE ONLY — copy the array into your proxy.ts, do not export it.\n *\n * `export const config = siteKitMatcher` is a BUILD ERROR on Next 16:\n * `config.matcher` must be statically analyzable and Turbopack rejects any\n * imported value. This constant exists so the canonical pattern lives in one\n * place (the scaffold, docs, and tests read it) — inline its contents.\n */\nexport const siteKitMatcher = {\n matcher: [\n '/((?!_next/static|_next/image|favicon\\\\.ico|.*\\\\.(?:ico|png|jpg|jpeg|gif|webp|svg|woff2?)$).*)',\n ],\n}\n\n/**\n * @deprecated Use `createProxy`. Next 16 renamed the `middleware` file\n * convention to `proxy` (`npx @next/codemod@canary middleware-to-proxy .`);\n * the old name still builds but warns, and the factory is named for the file\n * it is exported from. Kept indefinitely — 100+ fleet sites import it — but\n * new code should say `createProxy` from `@sonordev/site-kit/proxy`.\n */\nexport const createMiddleware = createProxy\n\n/** @deprecated Use `SiteKitProxyConfig`. */\nexport type SiteKitMiddlewareConfig = SiteKitProxyConfig\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"securityHeaders.d.ts","sourceRoot":"","sources":["../../src/proxy/securityHeaders.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,uBAAuB,UAMnC,CAAA;AAED,MAAM,WAAW,qBAAqB;IACpC;0EACsE;IACtE,YAAY,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,KAAK,CAAA;IAC5C;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IACjC,qDAAqD;IACrD,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACvC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,CAAC,EAAE,qBAAqB,GAAG,OAAO,GACvC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA+DxB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"segment.d.ts","sourceRoot":"","sources":["../../src/proxy/segment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAA;AAEjF,MAAM,WAAW,cAAc;IAC7B,8EAA8E;IAC9E,WAAW,EAAE,KAAK,GAAG,WAAW,CAAA;IAChC,6EAA6E;IAC7E,MAAM,EAAE,aAAa,CAAA;IACrB,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAkBD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE;IAAE,gBAAgB,EAAE,OAAO,CAAA;CAAE,GAClC,cAAc,CA2ChB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAGzD;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,cAAc,GAAG,IAAI,CASrF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/redirects/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAKvD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;IAC5C,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAoBD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,cAAc,CAAA;AAezC;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAmExF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,YAAY,EAAE,GACpB,YAAY,GAAG,SAAS,CAO1B;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAiCnC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAarH;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;IACjF,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;CACnB,CAAC,CAAC,CAUF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
|
package/dist/redirects/index.mjs
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export { SK_PATH_HEADER, clearRedirectCache, fetchRedirectRules, findRedirectMatch, generateNextRedirects, handleManagedRedirects, trackRedirectHit } from '../chunk-UO6KTHBQ.mjs';
|
|
2
|
-
import '../chunk-B22WSN4L.mjs';
|
|
3
|
-
import '../chunk-AS2HUIDW.mjs';
|
|
4
|
-
import '../chunk-KZVSB5WE.mjs';
|
|
5
|
-
import '../chunk-ZN4HBK5C.mjs';
|
|
6
|
-
import '../chunk-BEXTDHO4.mjs';
|
|
7
|
-
//# sourceMappingURL=index.mjs.map
|
|
8
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.mjs"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @sonordev/site-kit/redirects/not-found — managed redirects at the 404 boundary.
|
|
3
|
-
*
|
|
4
|
-
* DEPRECATED: DON'T USE THIS IN app/not-found.tsx. Next renders the root
|
|
5
|
-
* not-found boundary inside every page's tree, so this resolver's headers()
|
|
6
|
-
* call opts EVERY route into dynamic rendering. On a Next 16 build
|
|
7
|
-
* (nkylawfirm.com, 2026-09-14) every static route turned dynamic, and
|
|
8
|
-
* reverting only not-found.jsx put them back. Skipping the lookup at build
|
|
9
|
-
* time doesn't help: the 404 page would then be prerendered static and the
|
|
10
|
-
* redirects would never run.
|
|
11
|
-
*
|
|
12
|
-
* Use `createProxy({ redirects: true })` instead (the default). The proxy
|
|
13
|
-
* caches the rule list in memory for five minutes, so page loads rarely wait
|
|
14
|
-
* on it.
|
|
15
|
-
*
|
|
16
|
-
* Kept exported so sites that already call it keep building. It logs a
|
|
17
|
-
* one-time warning per process.
|
|
18
|
-
*/
|
|
19
|
-
import { type RedirectConfig } from './index';
|
|
20
|
-
export interface ResolvedRedirect {
|
|
21
|
-
/** Destination path/URL with the original query string carried over. */
|
|
22
|
-
destination: string;
|
|
23
|
-
/** True for 301/308 rules — pair with next/navigation's permanentRedirect. */
|
|
24
|
-
permanent: boolean;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* @deprecated Makes every page dynamic when called from a not-found boundary.
|
|
28
|
-
* Use `createProxy({ redirects: true })`. See the module comment.
|
|
29
|
-
*/
|
|
30
|
-
export declare function resolveManagedRedirect(config?: RedirectConfig): Promise<ResolvedRedirect | null>;
|
|
31
|
-
//# sourceMappingURL=not-found.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"not-found.d.ts","sourceRoot":"","sources":["../../src/redirects/not-found.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,SAAS,CAAA;AAEhB,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAA;IACnB,8EAA8E;IAC9E,SAAS,EAAE,OAAO,CAAA;CACnB;AAWD;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,GAAE,cAAmB,GAC1B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA4ClC"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunk4BEGKFMN_js = require('../chunk-4BEGKFMN.js');
|
|
4
|
-
require('../chunk-JP5WGL75.js');
|
|
5
|
-
require('../chunk-BBBJHYPH.js');
|
|
6
|
-
require('../chunk-UZKXOZHR.js');
|
|
7
|
-
require('../chunk-SWIKKSKL.js');
|
|
8
|
-
require('../chunk-SNAQBZPT.js');
|
|
9
|
-
var headers = require('next/headers');
|
|
10
|
-
|
|
11
|
-
var warned = false;
|
|
12
|
-
async function resolveManagedRedirect(config = {}) {
|
|
13
|
-
if (!warned) {
|
|
14
|
-
warned = true;
|
|
15
|
-
console.warn(
|
|
16
|
-
"[site-kit] resolveManagedRedirect() is deprecated: called from a not-found boundary it makes every page dynamic. Remove it and use createProxy({ redirects: true }) in proxy.ts."
|
|
17
|
-
);
|
|
18
|
-
}
|
|
19
|
-
let raw;
|
|
20
|
-
try {
|
|
21
|
-
const h = await headers.headers();
|
|
22
|
-
raw = h.get(chunk4BEGKFMN_js.SK_PATH_HEADER);
|
|
23
|
-
} catch {
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
if (!raw || !raw.startsWith("/")) return null;
|
|
27
|
-
const queryIndex = raw.indexOf("?");
|
|
28
|
-
const pathname = queryIndex === -1 ? raw : raw.slice(0, queryIndex);
|
|
29
|
-
const search = queryIndex === -1 ? "" : raw.slice(queryIndex + 1);
|
|
30
|
-
if (pathname.startsWith("/_next") || pathname.startsWith("/api") || pathname.includes(".")) {
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
const rules = await chunk4BEGKFMN_js.fetchRedirectRules(config);
|
|
34
|
-
const match = chunk4BEGKFMN_js.findRedirectMatch(pathname, rules);
|
|
35
|
-
if (!match) return null;
|
|
36
|
-
chunk4BEGKFMN_js.trackRedirectHit(config, match.from_path, config.domain).catch(() => {
|
|
37
|
-
});
|
|
38
|
-
const destination = search ? `${match.to_path}${match.to_path.includes("?") ? "&" : "?"}${search}` : match.to_path;
|
|
39
|
-
return {
|
|
40
|
-
destination,
|
|
41
|
-
permanent: match.redirect_type === "301" || match.redirect_type === "308"
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
exports.resolveManagedRedirect = resolveManagedRedirect;
|
|
46
|
-
//# sourceMappingURL=not-found.js.map
|
|
47
|
-
//# sourceMappingURL=not-found.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/redirects/not-found.ts"],"names":["headers","SK_PATH_HEADER","fetchRedirectRules","findRedirectMatch","trackRedirectHit"],"mappings":";;;;;;;;;;AA0CA,IAAI,MAAA,GAAS,KAAA;AAMb,eAAsB,sBAAA,CACpB,MAAA,GAAyB,EAAC,EACQ;AAClC,EAAA,IAAI,CAAC,MAAA,EAAQ;AACX,IAAA,MAAA,GAAS,IAAA;AACT,IAAA,OAAA,CAAQ,IAAA;AAAA,MACN;AAAA,KAEF;AAAA,EACF;AACA,EAAA,IAAI,GAAA;AACJ,EAAA,IAAI;AACF,IAAA,MAAM,CAAA,GAAI,MAAMA,eAAA,EAAQ;AACxB,IAAA,GAAA,GAAM,CAAA,CAAE,IAAIC,+BAAc,CAAA;AAAA,EAC5B,CAAA,CAAA,MAAQ;AAGN,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,IAAI,CAAC,GAAA,IAAO,CAAC,IAAI,UAAA,CAAW,GAAG,GAAG,OAAO,IAAA;AAEzC,EAAA,MAAM,UAAA,GAAa,GAAA,CAAI,OAAA,CAAQ,GAAG,CAAA;AAClC,EAAA,MAAM,WAAW,UAAA,KAAe,EAAA,GAAK,MAAM,GAAA,CAAI,KAAA,CAAM,GAAG,UAAU,CAAA;AAClE,EAAA,MAAM,SAAS,UAAA,KAAe,EAAA,GAAK,KAAK,GAAA,CAAI,KAAA,CAAM,aAAa,CAAC,CAAA;AAIhE,EAAA,IAAI,QAAA,CAAS,UAAA,CAAW,QAAQ,CAAA,IAAK,QAAA,CAAS,UAAA,CAAW,MAAM,CAAA,IAAK,QAAA,CAAS,QAAA,CAAS,GAAG,CAAA,EAAG;AAC1F,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,KAAA,GAAQ,MAAMC,mCAAA,CAAmB,MAAM,CAAA;AAC7C,EAAA,MAAM,KAAA,GAAQC,kCAAA,CAAkB,QAAA,EAAU,KAAK,CAAA;AAC/C,EAAA,IAAI,CAAC,OAAO,OAAO,IAAA;AAGnB,EAAAC,iCAAA,CAAiB,QAAQ,KAAA,CAAM,SAAA,EAAW,OAAO,MAAM,CAAA,CAAE,MAAM,MAAM;AAAA,EAAC,CAAC,CAAA;AAEvE,EAAA,MAAM,cAAc,MAAA,GAChB,CAAA,EAAG,KAAA,CAAM,OAAO,GAAG,KAAA,CAAM,OAAA,CAAQ,QAAA,CAAS,GAAG,IAAI,GAAA,GAAM,GAAG,CAAA,EAAG,MAAM,KACnE,KAAA,CAAM,OAAA;AAEV,EAAA,OAAO;AAAA,IACL,WAAA;AAAA,IACA,SAAA,EAAW,KAAA,CAAM,aAAA,KAAkB,KAAA,IAAS,MAAM,aAAA,KAAkB;AAAA,GACtE;AACF","file":"not-found.js","sourcesContent":["/**\n * @sonordev/site-kit/redirects/not-found — managed redirects at the 404 boundary.\n *\n * DEPRECATED: DON'T USE THIS IN app/not-found.tsx. Next renders the root\n * not-found boundary inside every page's tree, so this resolver's headers()\n * call opts EVERY route into dynamic rendering. On a Next 16 build\n * (nkylawfirm.com, 2026-09-14) every static route turned dynamic, and\n * reverting only not-found.jsx put them back. Skipping the lookup at build\n * time doesn't help: the 404 page would then be prerendered static and the\n * redirects would never run.\n *\n * Use `createProxy({ redirects: true })` instead (the default). The proxy\n * caches the rule list in memory for five minutes, so page loads rarely wait\n * on it.\n *\n * Kept exported so sites that already call it keep building. It logs a\n * one-time warning per process.\n */\n\nimport { headers } from 'next/headers'\nimport {\n fetchRedirectRules,\n findRedirectMatch,\n trackRedirectHit,\n SK_PATH_HEADER,\n type RedirectConfig,\n} from './index'\n\nexport interface ResolvedRedirect {\n /** Destination path/URL with the original query string carried over. */\n destination: string\n /** True for 301/308 rules — pair with next/navigation's permanentRedirect. */\n permanent: boolean\n}\n\n/**\n * Resolve a managed redirect for the URL that just 404ed.\n *\n * Returns null when the path is unknown (proxy not installed), no rule\n * matches, or Portal can't be reached inside the timeout — a 404 page must\n * never hang on us, so the default budget is the shared 300ms.\n */\nlet warned = false\n\n/**\n * @deprecated Makes every page dynamic when called from a not-found boundary.\n * Use `createProxy({ redirects: true })`. See the module comment.\n */\nexport async function resolveManagedRedirect(\n config: RedirectConfig = {},\n): Promise<ResolvedRedirect | null> {\n if (!warned) {\n warned = true\n console.warn(\n '[site-kit] resolveManagedRedirect() is deprecated: called from a not-found boundary it makes every page dynamic. ' +\n 'Remove it and use createProxy({ redirects: true }) in proxy.ts.',\n )\n }\n let raw: string | null\n try {\n const h = await headers()\n raw = h.get(SK_PATH_HEADER)\n } catch {\n // Called outside a request scope (e.g. build-time prerender of the 404\n // shell). Nothing to resolve.\n return null\n }\n if (!raw || !raw.startsWith('/')) return null\n\n const queryIndex = raw.indexOf('?')\n const pathname = queryIndex === -1 ? raw : raw.slice(0, queryIndex)\n const search = queryIndex === -1 ? '' : raw.slice(queryIndex + 1)\n\n // Same skip set as the proxy-mode handler: these can 404 but are never\n // redirect targets, so don't spend the fetch on them.\n if (pathname.startsWith('/_next') || pathname.startsWith('/api') || pathname.includes('.')) {\n return null\n }\n\n const rules = await fetchRedirectRules(config)\n const match = findRedirectMatch(pathname, rules)\n if (!match) return null\n\n // Fire and forget — analytics must never delay the redirect.\n trackRedirectHit(config, match.from_path, config.domain).catch(() => {})\n\n const destination = search\n ? `${match.to_path}${match.to_path.includes('?') ? '&' : '?'}${search}`\n : match.to_path\n\n return {\n destination,\n permanent: match.redirect_type === '301' || match.redirect_type === '308',\n }\n}\n"]}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { SK_PATH_HEADER, fetchRedirectRules, findRedirectMatch, trackRedirectHit } from '../chunk-UO6KTHBQ.mjs';
|
|
2
|
-
import '../chunk-B22WSN4L.mjs';
|
|
3
|
-
import '../chunk-AS2HUIDW.mjs';
|
|
4
|
-
import '../chunk-KZVSB5WE.mjs';
|
|
5
|
-
import '../chunk-ZN4HBK5C.mjs';
|
|
6
|
-
import '../chunk-BEXTDHO4.mjs';
|
|
7
|
-
import { headers } from 'next/headers';
|
|
8
|
-
|
|
9
|
-
var warned = false;
|
|
10
|
-
async function resolveManagedRedirect(config = {}) {
|
|
11
|
-
if (!warned) {
|
|
12
|
-
warned = true;
|
|
13
|
-
console.warn(
|
|
14
|
-
"[site-kit] resolveManagedRedirect() is deprecated: called from a not-found boundary it makes every page dynamic. Remove it and use createProxy({ redirects: true }) in proxy.ts."
|
|
15
|
-
);
|
|
16
|
-
}
|
|
17
|
-
let raw;
|
|
18
|
-
try {
|
|
19
|
-
const h = await headers();
|
|
20
|
-
raw = h.get(SK_PATH_HEADER);
|
|
21
|
-
} catch {
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
if (!raw || !raw.startsWith("/")) return null;
|
|
25
|
-
const queryIndex = raw.indexOf("?");
|
|
26
|
-
const pathname = queryIndex === -1 ? raw : raw.slice(0, queryIndex);
|
|
27
|
-
const search = queryIndex === -1 ? "" : raw.slice(queryIndex + 1);
|
|
28
|
-
if (pathname.startsWith("/_next") || pathname.startsWith("/api") || pathname.includes(".")) {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
const rules = await fetchRedirectRules(config);
|
|
32
|
-
const match = findRedirectMatch(pathname, rules);
|
|
33
|
-
if (!match) return null;
|
|
34
|
-
trackRedirectHit(config, match.from_path, config.domain).catch(() => {
|
|
35
|
-
});
|
|
36
|
-
const destination = search ? `${match.to_path}${match.to_path.includes("?") ? "&" : "?"}${search}` : match.to_path;
|
|
37
|
-
return {
|
|
38
|
-
destination,
|
|
39
|
-
permanent: match.redirect_type === "301" || match.redirect_type === "308"
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export { resolveManagedRedirect };
|
|
44
|
-
//# sourceMappingURL=not-found.mjs.map
|
|
45
|
-
//# sourceMappingURL=not-found.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/redirects/not-found.ts"],"names":[],"mappings":";;;;;;;;AA0CA,IAAI,MAAA,GAAS,KAAA;AAMb,eAAsB,sBAAA,CACpB,MAAA,GAAyB,EAAC,EACQ;AAClC,EAAA,IAAI,CAAC,MAAA,EAAQ;AACX,IAAA,MAAA,GAAS,IAAA;AACT,IAAA,OAAA,CAAQ,IAAA;AAAA,MACN;AAAA,KAEF;AAAA,EACF;AACA,EAAA,IAAI,GAAA;AACJ,EAAA,IAAI;AACF,IAAA,MAAM,CAAA,GAAI,MAAM,OAAA,EAAQ;AACxB,IAAA,GAAA,GAAM,CAAA,CAAE,IAAI,cAAc,CAAA;AAAA,EAC5B,CAAA,CAAA,MAAQ;AAGN,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,IAAI,CAAC,GAAA,IAAO,CAAC,IAAI,UAAA,CAAW,GAAG,GAAG,OAAO,IAAA;AAEzC,EAAA,MAAM,UAAA,GAAa,GAAA,CAAI,OAAA,CAAQ,GAAG,CAAA;AAClC,EAAA,MAAM,WAAW,UAAA,KAAe,EAAA,GAAK,MAAM,GAAA,CAAI,KAAA,CAAM,GAAG,UAAU,CAAA;AAClE,EAAA,MAAM,SAAS,UAAA,KAAe,EAAA,GAAK,KAAK,GAAA,CAAI,KAAA,CAAM,aAAa,CAAC,CAAA;AAIhE,EAAA,IAAI,QAAA,CAAS,UAAA,CAAW,QAAQ,CAAA,IAAK,QAAA,CAAS,UAAA,CAAW,MAAM,CAAA,IAAK,QAAA,CAAS,QAAA,CAAS,GAAG,CAAA,EAAG;AAC1F,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,KAAA,GAAQ,MAAM,kBAAA,CAAmB,MAAM,CAAA;AAC7C,EAAA,MAAM,KAAA,GAAQ,iBAAA,CAAkB,QAAA,EAAU,KAAK,CAAA;AAC/C,EAAA,IAAI,CAAC,OAAO,OAAO,IAAA;AAGnB,EAAA,gBAAA,CAAiB,QAAQ,KAAA,CAAM,SAAA,EAAW,OAAO,MAAM,CAAA,CAAE,MAAM,MAAM;AAAA,EAAC,CAAC,CAAA;AAEvE,EAAA,MAAM,cAAc,MAAA,GAChB,CAAA,EAAG,KAAA,CAAM,OAAO,GAAG,KAAA,CAAM,OAAA,CAAQ,QAAA,CAAS,GAAG,IAAI,GAAA,GAAM,GAAG,CAAA,EAAG,MAAM,KACnE,KAAA,CAAM,OAAA;AAEV,EAAA,OAAO;AAAA,IACL,WAAA;AAAA,IACA,SAAA,EAAW,KAAA,CAAM,aAAA,KAAkB,KAAA,IAAS,MAAM,aAAA,KAAkB;AAAA,GACtE;AACF","file":"not-found.mjs","sourcesContent":["/**\n * @sonordev/site-kit/redirects/not-found — managed redirects at the 404 boundary.\n *\n * DEPRECATED: DON'T USE THIS IN app/not-found.tsx. Next renders the root\n * not-found boundary inside every page's tree, so this resolver's headers()\n * call opts EVERY route into dynamic rendering. On a Next 16 build\n * (nkylawfirm.com, 2026-09-14) every static route turned dynamic, and\n * reverting only not-found.jsx put them back. Skipping the lookup at build\n * time doesn't help: the 404 page would then be prerendered static and the\n * redirects would never run.\n *\n * Use `createProxy({ redirects: true })` instead (the default). The proxy\n * caches the rule list in memory for five minutes, so page loads rarely wait\n * on it.\n *\n * Kept exported so sites that already call it keep building. It logs a\n * one-time warning per process.\n */\n\nimport { headers } from 'next/headers'\nimport {\n fetchRedirectRules,\n findRedirectMatch,\n trackRedirectHit,\n SK_PATH_HEADER,\n type RedirectConfig,\n} from './index'\n\nexport interface ResolvedRedirect {\n /** Destination path/URL with the original query string carried over. */\n destination: string\n /** True for 301/308 rules — pair with next/navigation's permanentRedirect. */\n permanent: boolean\n}\n\n/**\n * Resolve a managed redirect for the URL that just 404ed.\n *\n * Returns null when the path is unknown (proxy not installed), no rule\n * matches, or Portal can't be reached inside the timeout — a 404 page must\n * never hang on us, so the default budget is the shared 300ms.\n */\nlet warned = false\n\n/**\n * @deprecated Makes every page dynamic when called from a not-found boundary.\n * Use `createProxy({ redirects: true })`. See the module comment.\n */\nexport async function resolveManagedRedirect(\n config: RedirectConfig = {},\n): Promise<ResolvedRedirect | null> {\n if (!warned) {\n warned = true\n console.warn(\n '[site-kit] resolveManagedRedirect() is deprecated: called from a not-found boundary it makes every page dynamic. ' +\n 'Remove it and use createProxy({ redirects: true }) in proxy.ts.',\n )\n }\n let raw: string | null\n try {\n const h = await headers()\n raw = h.get(SK_PATH_HEADER)\n } catch {\n // Called outside a request scope (e.g. build-time prerender of the 404\n // shell). Nothing to resolve.\n return null\n }\n if (!raw || !raw.startsWith('/')) return null\n\n const queryIndex = raw.indexOf('?')\n const pathname = queryIndex === -1 ? raw : raw.slice(0, queryIndex)\n const search = queryIndex === -1 ? '' : raw.slice(queryIndex + 1)\n\n // Same skip set as the proxy-mode handler: these can 404 but are never\n // redirect targets, so don't spend the fetch on them.\n if (pathname.startsWith('/_next') || pathname.startsWith('/api') || pathname.includes('.')) {\n return null\n }\n\n const rules = await fetchRedirectRules(config)\n const match = findRedirectMatch(pathname, rules)\n if (!match) return null\n\n // Fire and forget — analytics must never delay the redirect.\n trackRedirectHit(config, match.from_path, config.domain).catch(() => {})\n\n const destination = search\n ? `${match.to_path}${match.to_path.includes('?') ? '&' : '?'}${search}`\n : match.to_path\n\n return {\n destination,\n permanent: match.redirect_type === '301' || match.redirect_type === '308',\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TestimonialSection.d.ts","sourceRoot":"","sources":["../../src/reputation/TestimonialSection.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAU,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAE9D,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,QAAe,EACf,gBAAuB,EACvB,UAAiB,EACjB,UAAU,EACV,YAAoB,EACpB,OAAO,EACP,SAAc,GACf,EAAE,uBAAuB,4BAsPzB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/reputation/api.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAElD,UAAU,mBAAmB;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AA0CD,wBAAsB,YAAY,CAChC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,MAAM,EAAE,CAAC,CA4CnB;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAsBpE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reputation/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AACtD,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.mjs"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/reputation/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AACtD,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"server.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"server.mjs"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/reputation/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE;QACZ,CAAC,EAAE,MAAM,CAAA;QACT,CAAC,EAAE,MAAM,CAAA;QACT,CAAC,EAAE,MAAM,CAAA;QACT,CAAC,EAAE,MAAM,CAAA;QACT,CAAC,EAAE,MAAM,CAAA;KACV,CAAA;CACF;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/robots/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAKtD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAE7G,MAAM,WAAW,YAAY;IAC3B,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AA8BD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAkBrF"}
|
package/dist/robots/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/robots/index.ts"],"names":["stripNextInternals","getSiteConfig"],"mappings":";;;;;;;AAqDA,SAAS,mBAAA,CAAoB,SAAiB,MAAA,EAAgC;AAC5E,EAAA,MAAM,QAAkB,EAAC;AAEzB,EAAA,IAAI,MAAA,CAAO,aAAA,EAAe,IAAA,EAAK,EAAG;AAChC,IAAA,KAAA,CAAM,IAAA,CAAK,MAAA,CAAO,aAAA,CAAc,IAAA,EAAM,CAAA;AAAA,EACxC,CAAA,MAAO;AACL,IAAA,KAAA,CAAM,KAAK,eAAe,CAAA;AAC1B,IAAA,KAAA,CAAM,KAAK,UAAU,CAAA;AACrB,IAAA,MAAM,QAAA,GAAWA,mCAAA,CAAmB,MAAA,CAAO,QAAQ,KAAK,EAAC;AACzD,IAAA,KAAA,MAAW,CAAA,IAAK,MAAM,OAAA,CAAQ,QAAQ,IAAI,QAAA,GAAW,CAAC,QAAQ,CAAA,EAAG;AAC/D,MAAA,KAAA,CAAM,IAAA,CAAK,CAAA,UAAA,EAAa,CAAC,CAAA,CAAE,CAAA;AAAA,IAC7B;AAAA,EACF;AAEA,EAAA,MAAM,IAAA,GAAO,OAAA,CAAQ,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA;AACtC,EAAA,MAAM,WAAA,GAAc,OAAO,WAAA,IAAe,cAAA;AAC1C,EAAA,MAAM,UAAA,GAAa,CAAA,EAAG,IAAI,CAAA,EAAG,WAAA,CAAY,UAAA,CAAW,GAAG,CAAA,GAAI,EAAA,GAAK,GAAG,CAAA,EAAG,WAAW,CAAA,CAAA;AACjF,EAAA,KAAA,CAAM,IAAA,CAAK,CAAA,SAAA,EAAY,UAAU,CAAA,CAAE,CAAA;AAEnC,EAAA,OAAO,IAAI,QAAA,CAAS,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA,EAAG;AAAA,IACpC,MAAA,EAAQ,GAAA;AAAA,IACR,OAAA,EAAS;AAAA,MACP,cAAA,EAAgB,2BAAA;AAAA,MAChB,eAAA,EAAiB;AAAA;AACnB,GACD,CAAA;AACH;AAMO,SAAS,aAAa,MAAA,EAA0D;AACrF,EAAA,OAAO,SAAS,MAAA,GAAuC;AACrD,IAAA,MAAM,UAAU,MAAA,CAAO,OAAA;AACvB,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,OAAO,mBAAA,CAAoB,SAAS,MAAM,CAAA;AAAA,IAC5C;AACA,IAAA,MAAM,MAAA,GAAS,OAAO,MAAA,KAAW,OAAO,YAAY,WAAA,IAAe,OAAA,CAAQ,GAAA,IAAO,OAAA,CAAQ,GAAA,CAAI,aAAA,CAAA;AAC9F,IAAA,IAAI,CAAC,MAAA,EAAQ;AACX,MAAA,OAAO,IAAI,SAAS,4BAAA,EAA8B;AAAA,QAChD,MAAA,EAAQ,GAAA;AAAA,QACR,OAAA,EAAS,EAAE,cAAA,EAAgB,2BAAA;AAA4B,OACxD,CAAA;AAAA,IACH;AACA,IAAA,OAAOC,8BAAA,CAAc,EAAE,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,QAAQ,CAAA,CAAE,IAAA,CAAK,CAAC,IAAA,KAAS;AACrE,MAAA,MAAM,GAAA,GAAM,MAAM,QAAA,IAAY,qBAAA;AAC9B,MAAA,OAAO,mBAAA,CAAoB,KAAK,MAAM,CAAA;AAAA,IACxC,CAAC,CAAA;AAAA,EACH,CAAA;AACF","file":"index.js","sourcesContent":["/**\n * @sonordev/site-kit/robots - robots.txt Generator\n *\n * Generates robots.txt with Sitemap directive.\n * baseUrl can be omitted when apiKey is set (resolved from Portal project-info).\n *\n * @example\n * // app/robots.txt/route.ts (API key only)\n * import { createRobots } from '@sonordev/site-kit/robots'\n * export const GET = createRobots({ apiKey: process.env.SONOR_API_KEY })\n *\n * @example\n * // With explicit baseUrl\n * export const GET = createRobots({\n * baseUrl: process.env.NEXT_PUBLIC_SITE_URL || 'https://example.com',\n * disallow: ['/admin'],\n * })\n */\n\nimport { getSiteConfig } from '../site-config'\nimport { stripNextInternals } from './next-internals'\n\nexport { isNextInternalsPath } from './next-internals'\n\n// The AI crawler helpers live in `llms/aiRobots` (and are exported from\n// `@sonordev/site-kit/llms`). Re-exported here because `/robots` is where a\n// robots.txt author looks for them. One implementation; never copy the lists.\nexport {\n AI_RETRIEVAL_CRAWLERS,\n AI_TRAINING_CRAWLERS,\n buildAiCrawlerRules,\n formatContentSignals,\n createRobotsTxtHandler,\n} from '../llms/aiRobots'\nexport type { AiCrawlerRulesOptions, ContentSignalsOptions, RobotsTxtHandlerOptions } from '../llms/aiRobots'\n\nexport interface RobotsConfig {\n /** Base URL of the site (optional when apiKey is set; then resolved from Portal) */\n baseUrl?: string\n /** Project API key; when set and baseUrl is not, baseUrl is resolved from Portal */\n apiKey?: string\n apiUrl?: string\n /** Path to sitemap (default: /sitemap.xml) */\n sitemapPath?: string\n /** Pre-built robots content from Portal (overrides default when provided) */\n managedRobots?: string | null\n /**\n * Paths to disallow (e.g. ['/admin', '/api']). `/_next` paths are dropped:\n * Googlebot needs them to render pages and index images.\n */\n disallow?: string[]\n}\n\nfunction buildRobotsResponse(baseUrl: string, config: RobotsConfig): Response {\n const lines: string[] = []\n\n if (config.managedRobots?.trim()) {\n lines.push(config.managedRobots.trim())\n } else {\n lines.push('User-agent: *')\n lines.push('Allow: /')\n const disallow = stripNextInternals(config.disallow) ?? []\n for (const p of Array.isArray(disallow) ? disallow : [disallow]) {\n lines.push(`Disallow: ${p}`)\n }\n }\n\n const base = baseUrl.replace(/\\/$/, '')\n const sitemapPath = config.sitemapPath ?? '/sitemap.xml'\n const sitemapUrl = `${base}${sitemapPath.startsWith('/') ? '' : '/'}${sitemapPath}`\n lines.push(`Sitemap: ${sitemapUrl}`)\n\n return new Response(lines.join('\\n'), {\n status: 200,\n headers: {\n 'Content-Type': 'text/plain; charset=utf-8',\n 'Cache-Control': 'public, max-age=86400, s-maxage=86400',\n },\n })\n}\n\n/**\n * Create a robots.txt handler that returns a Response or Promise<Response>.\n * Use as GET handler for app/robots.txt/route.ts. When baseUrl is omitted, pass apiKey to resolve from Portal.\n */\nexport function createRobots(config: RobotsConfig): () => Response | Promise<Response> {\n return function robots(): Response | Promise<Response> {\n const baseUrl = config.baseUrl\n if (baseUrl) {\n return buildRobotsResponse(baseUrl, config)\n }\n const apiKey = config.apiKey ?? (typeof process !== 'undefined' && process.env && process.env.SONOR_API_KEY)\n if (!apiKey) {\n return new Response('User-agent: *\\nDisallow: /', {\n status: 200,\n headers: { 'Content-Type': 'text/plain; charset=utf-8' },\n })\n }\n return getSiteConfig({ apiKey, apiUrl: config.apiUrl }).then((site) => {\n const url = site?.site_url ?? 'https://example.com'\n return buildRobotsResponse(url, config)\n })\n }\n}\n"]}
|