@jmp-technologies/analytics 0.1.39 → 0.1.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -2
- package/ai-crawler-agents.json +63 -0
- package/dist/astro/client.cjs +115 -3
- package/dist/astro/client.cjs.map +1 -1
- package/dist/astro/client.d.cts +2 -2
- package/dist/astro/client.d.ts +2 -2
- package/dist/astro/client.js +1 -1
- package/dist/astro/content.cjs +115 -3
- package/dist/astro/content.cjs.map +1 -1
- package/dist/astro/content.d.cts +3 -3
- package/dist/astro/content.d.ts +3 -3
- package/dist/astro/content.js +2 -2
- package/dist/astro/integration.cjs +115 -3
- package/dist/astro/integration.cjs.map +1 -1
- package/dist/astro/integration.js +2 -2
- package/dist/astro/middleware.d.cts +2 -2
- package/dist/astro/middleware.d.ts +2 -2
- package/dist/astro/register.cjs +115 -3
- package/dist/astro/register.cjs.map +1 -1
- package/dist/astro/register.js +2 -2
- package/dist/{chunk-XAEWXWSP.js → chunk-5SXVGQVW.js} +182 -4
- package/dist/chunk-5SXVGQVW.js.map +1 -0
- package/dist/{chunk-BXPMVR7M.js → chunk-GCEIT2ON.js} +2 -2
- package/dist/{chunk-OCIOQIE4.js → chunk-L6IUBEUV.js} +2 -2
- package/dist/{chunk-JJ3JP3RV.js → chunk-MEG7QGRF.js} +2 -2
- package/dist/{chunk-M66PHSBO.js → chunk-QSKTA7JD.js} +2 -2
- package/dist/{create-jmp-analytics-C1IH32ZF.d.cts → create-jmp-analytics-B7VqQJca.d.cts} +1 -1
- package/dist/{create-jmp-analytics-CjVYSmPJ.d.ts → create-jmp-analytics-BGt16QGY.d.ts} +1 -1
- package/dist/index.cjs +187 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +30 -6
- package/dist/index.d.ts +30 -6
- package/dist/index.js +13 -1
- package/dist/next/content.cjs +115 -3
- package/dist/next/content.cjs.map +1 -1
- package/dist/next/content.d.cts +2 -2
- package/dist/next/content.d.ts +2 -2
- package/dist/next/content.js +2 -2
- package/dist/next/instrumentation.cjs +115 -3
- package/dist/next/instrumentation.cjs.map +1 -1
- package/dist/next/instrumentation.js +1 -1
- package/dist/next/landing-pages.cjs +115 -3
- package/dist/next/landing-pages.cjs.map +1 -1
- package/dist/next/landing-pages.d.cts +2 -2
- package/dist/next/landing-pages.d.ts +2 -2
- package/dist/next/landing-pages.js +2 -2
- package/dist/next/locations.cjs +116 -4
- package/dist/next/locations.cjs.map +1 -1
- package/dist/next/locations.d.cts +3 -3
- package/dist/next/locations.d.ts +3 -3
- package/dist/next/locations.js +3 -3
- package/dist/next/locations.js.map +1 -1
- package/dist/next/middleware.cjs.map +1 -1
- package/dist/next/middleware.d.cts +2 -2
- package/dist/next/middleware.d.ts +2 -2
- package/dist/next/middleware.js.map +1 -1
- package/dist/next/site-root-server.cjs +115 -3
- package/dist/next/site-root-server.cjs.map +1 -1
- package/dist/next/site-root-server.d.cts +1 -1
- package/dist/next/site-root-server.d.ts +1 -1
- package/dist/next/site-root-server.js +3 -3
- package/dist/next/site-root-server.js.map +1 -1
- package/dist/next.cjs +115 -3
- package/dist/next.cjs.map +1 -1
- package/dist/next.d.cts +3 -3
- package/dist/next.d.ts +3 -3
- package/dist/next.js +3 -3
- package/dist/react.cjs +115 -3
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +2 -2
- package/dist/react.d.ts +2 -2
- package/dist/react.js +2 -2
- package/dist/{site-config-BN6Z2zIf.d.cts → site-config-CZl4PIbg.d.cts} +1 -1
- package/dist/{site-config-BEaYpZ3X.d.ts → site-config-Cq5K8hUp.d.ts} +1 -1
- package/dist/{track-page-view-B3OwUOYl.d.ts → track-page-view-BSlE0yI9.d.ts} +1 -1
- package/dist/{track-page-view-BeVjC-pV.d.cts → track-page-view-M9y_5WqT.d.cts} +1 -1
- package/dist/{types-uwXEaMD6.d.ts → types-DH_8sBu9.d.cts} +6 -0
- package/dist/{types-uwXEaMD6.d.cts → types-DH_8sBu9.d.ts} +6 -0
- package/dist/{utils-6a6lNKsg.d.ts → utils-C2JRomti.d.ts} +1 -1
- package/dist/{utils-Cbb3CO3i.d.cts → utils-JfjoqC-z.d.cts} +1 -1
- package/package.json +2 -1
- package/dist/chunk-XAEWXWSP.js.map +0 -1
- /package/dist/{chunk-BXPMVR7M.js.map → chunk-GCEIT2ON.js.map} +0 -0
- /package/dist/{chunk-OCIOQIE4.js.map → chunk-L6IUBEUV.js.map} +0 -0
- /package/dist/{chunk-JJ3JP3RV.js.map → chunk-MEG7QGRF.js.map} +0 -0
- /package/dist/{chunk-M66PHSBO.js.map → chunk-QSKTA7JD.js.map} +0 -0
package/dist/index.d.cts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export { b as buildLandingCaptureInlineScript } from './landing-capture-C8pyZWuF.cjs';
|
|
2
|
-
import { J as JmpAnalytics } from './create-jmp-analytics-
|
|
3
|
-
export { B as BOOKING_LINK_HOSTS, C as ClassifiedContactLink, b as ContactLinkChannel, c as classifyContactHref, d as createJmpAnalytics, i as isJmpTrackingConsentGranted, s as setJmpTrackingConsent, a as subscribeJmpTrackingConsent } from './create-jmp-analytics-
|
|
2
|
+
import { J as JmpAnalytics } from './create-jmp-analytics-B7VqQJca.cjs';
|
|
3
|
+
export { B as BOOKING_LINK_HOSTS, C as ClassifiedContactLink, b as ContactLinkChannel, c as classifyContactHref, d as createJmpAnalytics, i as isJmpTrackingConsentGranted, s as setJmpTrackingConsent, a as subscribeJmpTrackingConsent } from './create-jmp-analytics-B7VqQJca.cjs';
|
|
4
4
|
export { D as DEFAULT_JMP_BROWSER_PAGE_VIEW_DEDUPE_MS, b as JMP_ANALYTICS_SDK_VERSION, J as JMP_CONTENT_CACHE_TAG, a as JMP_CONTENT_REVALIDATE_SECONDS, c as JMP_TRACKING_CONSENT_STORAGE_KEY } from './constants-DTZMYgi4.cjs';
|
|
5
|
-
import { n as JmpContentConfig, t as TrackServerPageViewOptions, j as JmpTrustBundle, m as JmpContentWrapper, d as JmpLandingPageKind, b as JmpLandingPage, c as JmpLandingPageDetail, g as JmpPopularPagesResult, J as JmpBlogPost, u as JmpBlogPostDetail, v as JmpFaqItemDetail, a as JmpFaqItem, e as JmpLandingPageSitemapEntry, f as JmpLegalDocument, l as JmpWebsiteLocationDetail, k as JmpWebsiteLocation, h as JmpSiteProfile, q as JmpAnalyticsConfig } from './types-
|
|
6
|
-
export { w as JmpContactExtraManifest, x as JmpContentLocaleAlternate, o as JmpContentManifest, y as JmpContentRouteManifest, z as JmpContentWrapperReportMode, A as JmpCredential, r as JmpEventType, B as JmpPartnerLogo, C as JmpPopularPage, p as JmpServerRequestLike, i as JmpTestimonial, D as JmpTrustBlockManifest, E as JmpTrustSection, F as JmpTrustStat, G as JmpTrustSummary, L as LeadMetadata, H as LeadMetadataValue, s as TrackLeadOptions, T as TrackPageViewOptions, I as normalizeJmpContentManifest, K as stableJmpManifestFingerprint } from './types-
|
|
5
|
+
import { n as JmpContentConfig, t as TrackServerPageViewOptions, j as JmpTrustBundle, m as JmpContentWrapper, d as JmpLandingPageKind, b as JmpLandingPage, c as JmpLandingPageDetail, g as JmpPopularPagesResult, J as JmpBlogPost, u as JmpBlogPostDetail, v as JmpFaqItemDetail, a as JmpFaqItem, e as JmpLandingPageSitemapEntry, f as JmpLegalDocument, l as JmpWebsiteLocationDetail, k as JmpWebsiteLocation, h as JmpSiteProfile, q as JmpAnalyticsConfig } from './types-DH_8sBu9.cjs';
|
|
6
|
+
export { w as JmpContactExtraManifest, x as JmpContentLocaleAlternate, o as JmpContentManifest, y as JmpContentRouteManifest, z as JmpContentWrapperReportMode, A as JmpCredential, r as JmpEventType, B as JmpPartnerLogo, C as JmpPopularPage, p as JmpServerRequestLike, i as JmpTestimonial, D as JmpTrustBlockManifest, E as JmpTrustSection, F as JmpTrustStat, G as JmpTrustSummary, L as LeadMetadata, H as LeadMetadataValue, s as TrackLeadOptions, T as TrackPageViewOptions, I as normalizeJmpContentManifest, K as stableJmpManifestFingerprint } from './types-DH_8sBu9.cjs';
|
|
7
7
|
export { J as JmpPublicEnv, r as readJmpPublicEnvFromProcess } from './env-public-B6Y0DG68.cjs';
|
|
8
|
-
export { a as JmpSiteContactFallback, b as JmpSiteDefinition, d as defineJmpSite, g as getJmpContentConfig, c as getJmpSiteDefinition } from './site-config-
|
|
8
|
+
export { a as JmpSiteContactFallback, b as JmpSiteDefinition, d as defineJmpSite, g as getJmpContentConfig, c as getJmpSiteDefinition } from './site-config-CZl4PIbg.cjs';
|
|
9
9
|
|
|
10
10
|
declare function trackJmpServerPageView(config: JmpContentConfig, options?: TrackServerPageViewOptions): Promise<void>;
|
|
11
11
|
|
|
@@ -54,6 +54,30 @@ declare function registerJmpContentWrappers(config: JmpContentConfig): Promise<{
|
|
|
54
54
|
skipped: true;
|
|
55
55
|
}>;
|
|
56
56
|
|
|
57
|
+
declare const AI_CRAWLER_ROBOTS_USER_AGENTS: string[];
|
|
58
|
+
/** UA tokens denied at the Vercel WAF. Omits generic Applebot so Apple Search can still crawl. */
|
|
59
|
+
declare const JMP_AI_CRAWLER_WAF_USER_AGENTS: string[];
|
|
60
|
+
declare function buildAiCrawlerRobotsTxt(blockAiCrawlers: boolean): string;
|
|
61
|
+
declare function jmpAiCrawlerWafUserAgentPattern(): string;
|
|
62
|
+
/** `vercel.json` mitigate route. Safe for Googlebot / generic Applebot. */
|
|
63
|
+
declare function jmpAiCrawlerVercelWafRoute(): {
|
|
64
|
+
src: string;
|
|
65
|
+
has: Array<{
|
|
66
|
+
type: "header";
|
|
67
|
+
key: string;
|
|
68
|
+
value: string;
|
|
69
|
+
}>;
|
|
70
|
+
mitigate: {
|
|
71
|
+
action: "deny";
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
declare function mergeJmpRobotsTxt(jmpBody: string, options: {
|
|
75
|
+
siteUrl: string;
|
|
76
|
+
privatePathPrefixes?: readonly string[];
|
|
77
|
+
/** When true, always include AI Disallow rules even if JMP left blocking off. */
|
|
78
|
+
ensureAiCrawlerDisallows?: boolean;
|
|
79
|
+
}): string;
|
|
80
|
+
|
|
57
81
|
declare function createJmpContentClient(config: JmpContentConfig): {
|
|
58
82
|
getBlogPosts: (filters?: {
|
|
59
83
|
locale?: string;
|
|
@@ -105,4 +129,4 @@ declare function getOrCreateJmpAnalyticsFromBrowserEnv(overrides?: Partial<JmpAn
|
|
|
105
129
|
*/
|
|
106
130
|
declare function createJmpContentClientFromServerEnv(overrides?: Partial<JmpContentConfig>): JmpContentClient | null;
|
|
107
131
|
|
|
108
|
-
export { JmpAnalytics, JmpAnalyticsConfig, JmpBlogPost, JmpBlogPostDetail, type JmpContentClient, JmpContentConfig, JmpContentWrapper, JmpFaqItem, JmpFaqItemDetail, JmpLandingPage, JmpLandingPageDetail, JmpLandingPageKind, JmpLandingPageSitemapEntry, JmpLegalDocument, JmpPopularPagesResult, JmpSiteProfile, JmpTrustBundle, JmpWebsiteLocation, JmpWebsiteLocationDetail, TrackServerPageViewOptions, createJmpContentClient, createJmpContentClientFromServerEnv, getDiscoveredContentWrappers, getJmpBlogPost, getJmpBlogPostDetail, getJmpBlogPosts, getJmpBrowserAnalyticsConfigFromEnv, getJmpFaqDetail, getJmpFaqs, getJmpLandingPageDetail, getJmpLandingPageSitemap, getJmpLandingPages, getJmpLegalDocument, getJmpLegalDocuments, getJmpLocationDetail, getJmpLocations, getJmpPopularPages, getJmpRobotsTxt, getJmpServerContentConfigFromEnv, getJmpSiteProfile, getJmpTrustBundle, getOrCreateJmpAnalyticsFromBrowserEnv, inferTrustWrapperSlots, isJmpBrowserAnalyticsEnvConfigured, isJmpServerContentEnvConfigured, markContentWrapper, registerJmpContentWrappers, resetContentWrapperDiscoveryForTests, trackJmpServerPageView };
|
|
132
|
+
export { AI_CRAWLER_ROBOTS_USER_AGENTS, JMP_AI_CRAWLER_WAF_USER_AGENTS, JmpAnalytics, JmpAnalyticsConfig, JmpBlogPost, JmpBlogPostDetail, type JmpContentClient, JmpContentConfig, JmpContentWrapper, JmpFaqItem, JmpFaqItemDetail, JmpLandingPage, JmpLandingPageDetail, JmpLandingPageKind, JmpLandingPageSitemapEntry, JmpLegalDocument, JmpPopularPagesResult, JmpSiteProfile, JmpTrustBundle, JmpWebsiteLocation, JmpWebsiteLocationDetail, TrackServerPageViewOptions, buildAiCrawlerRobotsTxt, createJmpContentClient, createJmpContentClientFromServerEnv, getDiscoveredContentWrappers, getJmpBlogPost, getJmpBlogPostDetail, getJmpBlogPosts, getJmpBrowserAnalyticsConfigFromEnv, getJmpFaqDetail, getJmpFaqs, getJmpLandingPageDetail, getJmpLandingPageSitemap, getJmpLandingPages, getJmpLegalDocument, getJmpLegalDocuments, getJmpLocationDetail, getJmpLocations, getJmpPopularPages, getJmpRobotsTxt, getJmpServerContentConfigFromEnv, getJmpSiteProfile, getJmpTrustBundle, getOrCreateJmpAnalyticsFromBrowserEnv, inferTrustWrapperSlots, isJmpBrowserAnalyticsEnvConfigured, isJmpServerContentEnvConfigured, jmpAiCrawlerVercelWafRoute, jmpAiCrawlerWafUserAgentPattern, markContentWrapper, mergeJmpRobotsTxt, registerJmpContentWrappers, resetContentWrapperDiscoveryForTests, trackJmpServerPageView };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export { b as buildLandingCaptureInlineScript } from './landing-capture-C8pyZWuF.js';
|
|
2
|
-
import { J as JmpAnalytics } from './create-jmp-analytics-
|
|
3
|
-
export { B as BOOKING_LINK_HOSTS, C as ClassifiedContactLink, b as ContactLinkChannel, c as classifyContactHref, d as createJmpAnalytics, i as isJmpTrackingConsentGranted, s as setJmpTrackingConsent, a as subscribeJmpTrackingConsent } from './create-jmp-analytics-
|
|
2
|
+
import { J as JmpAnalytics } from './create-jmp-analytics-BGt16QGY.js';
|
|
3
|
+
export { B as BOOKING_LINK_HOSTS, C as ClassifiedContactLink, b as ContactLinkChannel, c as classifyContactHref, d as createJmpAnalytics, i as isJmpTrackingConsentGranted, s as setJmpTrackingConsent, a as subscribeJmpTrackingConsent } from './create-jmp-analytics-BGt16QGY.js';
|
|
4
4
|
export { D as DEFAULT_JMP_BROWSER_PAGE_VIEW_DEDUPE_MS, b as JMP_ANALYTICS_SDK_VERSION, J as JMP_CONTENT_CACHE_TAG, a as JMP_CONTENT_REVALIDATE_SECONDS, c as JMP_TRACKING_CONSENT_STORAGE_KEY } from './constants-DTZMYgi4.js';
|
|
5
|
-
import { n as JmpContentConfig, t as TrackServerPageViewOptions, j as JmpTrustBundle, m as JmpContentWrapper, d as JmpLandingPageKind, b as JmpLandingPage, c as JmpLandingPageDetail, g as JmpPopularPagesResult, J as JmpBlogPost, u as JmpBlogPostDetail, v as JmpFaqItemDetail, a as JmpFaqItem, e as JmpLandingPageSitemapEntry, f as JmpLegalDocument, l as JmpWebsiteLocationDetail, k as JmpWebsiteLocation, h as JmpSiteProfile, q as JmpAnalyticsConfig } from './types-
|
|
6
|
-
export { w as JmpContactExtraManifest, x as JmpContentLocaleAlternate, o as JmpContentManifest, y as JmpContentRouteManifest, z as JmpContentWrapperReportMode, A as JmpCredential, r as JmpEventType, B as JmpPartnerLogo, C as JmpPopularPage, p as JmpServerRequestLike, i as JmpTestimonial, D as JmpTrustBlockManifest, E as JmpTrustSection, F as JmpTrustStat, G as JmpTrustSummary, L as LeadMetadata, H as LeadMetadataValue, s as TrackLeadOptions, T as TrackPageViewOptions, I as normalizeJmpContentManifest, K as stableJmpManifestFingerprint } from './types-
|
|
5
|
+
import { n as JmpContentConfig, t as TrackServerPageViewOptions, j as JmpTrustBundle, m as JmpContentWrapper, d as JmpLandingPageKind, b as JmpLandingPage, c as JmpLandingPageDetail, g as JmpPopularPagesResult, J as JmpBlogPost, u as JmpBlogPostDetail, v as JmpFaqItemDetail, a as JmpFaqItem, e as JmpLandingPageSitemapEntry, f as JmpLegalDocument, l as JmpWebsiteLocationDetail, k as JmpWebsiteLocation, h as JmpSiteProfile, q as JmpAnalyticsConfig } from './types-DH_8sBu9.js';
|
|
6
|
+
export { w as JmpContactExtraManifest, x as JmpContentLocaleAlternate, o as JmpContentManifest, y as JmpContentRouteManifest, z as JmpContentWrapperReportMode, A as JmpCredential, r as JmpEventType, B as JmpPartnerLogo, C as JmpPopularPage, p as JmpServerRequestLike, i as JmpTestimonial, D as JmpTrustBlockManifest, E as JmpTrustSection, F as JmpTrustStat, G as JmpTrustSummary, L as LeadMetadata, H as LeadMetadataValue, s as TrackLeadOptions, T as TrackPageViewOptions, I as normalizeJmpContentManifest, K as stableJmpManifestFingerprint } from './types-DH_8sBu9.js';
|
|
7
7
|
export { J as JmpPublicEnv, r as readJmpPublicEnvFromProcess } from './env-public-B6Y0DG68.js';
|
|
8
|
-
export { a as JmpSiteContactFallback, b as JmpSiteDefinition, d as defineJmpSite, g as getJmpContentConfig, c as getJmpSiteDefinition } from './site-config-
|
|
8
|
+
export { a as JmpSiteContactFallback, b as JmpSiteDefinition, d as defineJmpSite, g as getJmpContentConfig, c as getJmpSiteDefinition } from './site-config-Cq5K8hUp.js';
|
|
9
9
|
|
|
10
10
|
declare function trackJmpServerPageView(config: JmpContentConfig, options?: TrackServerPageViewOptions): Promise<void>;
|
|
11
11
|
|
|
@@ -54,6 +54,30 @@ declare function registerJmpContentWrappers(config: JmpContentConfig): Promise<{
|
|
|
54
54
|
skipped: true;
|
|
55
55
|
}>;
|
|
56
56
|
|
|
57
|
+
declare const AI_CRAWLER_ROBOTS_USER_AGENTS: string[];
|
|
58
|
+
/** UA tokens denied at the Vercel WAF. Omits generic Applebot so Apple Search can still crawl. */
|
|
59
|
+
declare const JMP_AI_CRAWLER_WAF_USER_AGENTS: string[];
|
|
60
|
+
declare function buildAiCrawlerRobotsTxt(blockAiCrawlers: boolean): string;
|
|
61
|
+
declare function jmpAiCrawlerWafUserAgentPattern(): string;
|
|
62
|
+
/** `vercel.json` mitigate route. Safe for Googlebot / generic Applebot. */
|
|
63
|
+
declare function jmpAiCrawlerVercelWafRoute(): {
|
|
64
|
+
src: string;
|
|
65
|
+
has: Array<{
|
|
66
|
+
type: "header";
|
|
67
|
+
key: string;
|
|
68
|
+
value: string;
|
|
69
|
+
}>;
|
|
70
|
+
mitigate: {
|
|
71
|
+
action: "deny";
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
declare function mergeJmpRobotsTxt(jmpBody: string, options: {
|
|
75
|
+
siteUrl: string;
|
|
76
|
+
privatePathPrefixes?: readonly string[];
|
|
77
|
+
/** When true, always include AI Disallow rules even if JMP left blocking off. */
|
|
78
|
+
ensureAiCrawlerDisallows?: boolean;
|
|
79
|
+
}): string;
|
|
80
|
+
|
|
57
81
|
declare function createJmpContentClient(config: JmpContentConfig): {
|
|
58
82
|
getBlogPosts: (filters?: {
|
|
59
83
|
locale?: string;
|
|
@@ -105,4 +129,4 @@ declare function getOrCreateJmpAnalyticsFromBrowserEnv(overrides?: Partial<JmpAn
|
|
|
105
129
|
*/
|
|
106
130
|
declare function createJmpContentClientFromServerEnv(overrides?: Partial<JmpContentConfig>): JmpContentClient | null;
|
|
107
131
|
|
|
108
|
-
export { JmpAnalytics, JmpAnalyticsConfig, JmpBlogPost, JmpBlogPostDetail, type JmpContentClient, JmpContentConfig, JmpContentWrapper, JmpFaqItem, JmpFaqItemDetail, JmpLandingPage, JmpLandingPageDetail, JmpLandingPageKind, JmpLandingPageSitemapEntry, JmpLegalDocument, JmpPopularPagesResult, JmpSiteProfile, JmpTrustBundle, JmpWebsiteLocation, JmpWebsiteLocationDetail, TrackServerPageViewOptions, createJmpContentClient, createJmpContentClientFromServerEnv, getDiscoveredContentWrappers, getJmpBlogPost, getJmpBlogPostDetail, getJmpBlogPosts, getJmpBrowserAnalyticsConfigFromEnv, getJmpFaqDetail, getJmpFaqs, getJmpLandingPageDetail, getJmpLandingPageSitemap, getJmpLandingPages, getJmpLegalDocument, getJmpLegalDocuments, getJmpLocationDetail, getJmpLocations, getJmpPopularPages, getJmpRobotsTxt, getJmpServerContentConfigFromEnv, getJmpSiteProfile, getJmpTrustBundle, getOrCreateJmpAnalyticsFromBrowserEnv, inferTrustWrapperSlots, isJmpBrowserAnalyticsEnvConfigured, isJmpServerContentEnvConfigured, markContentWrapper, registerJmpContentWrappers, resetContentWrapperDiscoveryForTests, trackJmpServerPageView };
|
|
132
|
+
export { AI_CRAWLER_ROBOTS_USER_AGENTS, JMP_AI_CRAWLER_WAF_USER_AGENTS, JmpAnalytics, JmpAnalyticsConfig, JmpBlogPost, JmpBlogPostDetail, type JmpContentClient, JmpContentConfig, JmpContentWrapper, JmpFaqItem, JmpFaqItemDetail, JmpLandingPage, JmpLandingPageDetail, JmpLandingPageKind, JmpLandingPageSitemapEntry, JmpLegalDocument, JmpPopularPagesResult, JmpSiteProfile, JmpTrustBundle, JmpWebsiteLocation, JmpWebsiteLocationDetail, TrackServerPageViewOptions, buildAiCrawlerRobotsTxt, createJmpContentClient, createJmpContentClientFromServerEnv, getDiscoveredContentWrappers, getJmpBlogPost, getJmpBlogPostDetail, getJmpBlogPosts, getJmpBrowserAnalyticsConfigFromEnv, getJmpFaqDetail, getJmpFaqs, getJmpLandingPageDetail, getJmpLandingPageSitemap, getJmpLandingPages, getJmpLegalDocument, getJmpLegalDocuments, getJmpLocationDetail, getJmpLocations, getJmpPopularPages, getJmpRobotsTxt, getJmpServerContentConfigFromEnv, getJmpSiteProfile, getJmpTrustBundle, getOrCreateJmpAnalyticsFromBrowserEnv, inferTrustWrapperSlots, isJmpBrowserAnalyticsEnvConfigured, isJmpServerContentEnvConfigured, jmpAiCrawlerVercelWafRoute, jmpAiCrawlerWafUserAgentPattern, markContentWrapper, mergeJmpRobotsTxt, registerJmpContentWrappers, resetContentWrapperDiscoveryForTests, trackJmpServerPageView };
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
|
+
AI_CRAWLER_ROBOTS_USER_AGENTS,
|
|
2
3
|
BOOKING_LINK_HOSTS,
|
|
3
4
|
DEFAULT_JMP_BROWSER_PAGE_VIEW_DEDUPE_MS,
|
|
5
|
+
JMP_AI_CRAWLER_WAF_USER_AGENTS,
|
|
4
6
|
JMP_ANALYTICS_SDK_VERSION,
|
|
5
7
|
JMP_CONTENT_CACHE_TAG,
|
|
6
8
|
JMP_CONTENT_REVALIDATE_SECONDS,
|
|
7
9
|
JMP_TRACKING_CONSENT_STORAGE_KEY,
|
|
10
|
+
buildAiCrawlerRobotsTxt,
|
|
8
11
|
classifyContactHref,
|
|
9
12
|
createJmpAnalytics,
|
|
10
13
|
createJmpContentClient,
|
|
@@ -33,14 +36,17 @@ import {
|
|
|
33
36
|
isJmpBrowserAnalyticsEnvConfigured,
|
|
34
37
|
isJmpServerContentEnvConfigured,
|
|
35
38
|
isJmpTrackingConsentGranted,
|
|
39
|
+
jmpAiCrawlerVercelWafRoute,
|
|
40
|
+
jmpAiCrawlerWafUserAgentPattern,
|
|
36
41
|
markContentWrapper,
|
|
42
|
+
mergeJmpRobotsTxt,
|
|
37
43
|
normalizeJmpContentManifest,
|
|
38
44
|
registerJmpContentWrappers,
|
|
39
45
|
resetContentWrapperDiscoveryForTests,
|
|
40
46
|
setJmpTrackingConsent,
|
|
41
47
|
stableJmpManifestFingerprint,
|
|
42
48
|
subscribeJmpTrackingConsent
|
|
43
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-5SXVGQVW.js";
|
|
44
50
|
import {
|
|
45
51
|
buildLandingCaptureInlineScript
|
|
46
52
|
} from "./chunk-TCZ6TC2L.js";
|
|
@@ -52,12 +58,15 @@ import {
|
|
|
52
58
|
trackJmpServerPageView
|
|
53
59
|
} from "./chunk-6WQMWPEY.js";
|
|
54
60
|
export {
|
|
61
|
+
AI_CRAWLER_ROBOTS_USER_AGENTS,
|
|
55
62
|
BOOKING_LINK_HOSTS,
|
|
56
63
|
DEFAULT_JMP_BROWSER_PAGE_VIEW_DEDUPE_MS,
|
|
64
|
+
JMP_AI_CRAWLER_WAF_USER_AGENTS,
|
|
57
65
|
JMP_ANALYTICS_SDK_VERSION,
|
|
58
66
|
JMP_CONTENT_CACHE_TAG,
|
|
59
67
|
JMP_CONTENT_REVALIDATE_SECONDS,
|
|
60
68
|
JMP_TRACKING_CONSENT_STORAGE_KEY,
|
|
69
|
+
buildAiCrawlerRobotsTxt,
|
|
61
70
|
buildLandingCaptureInlineScript,
|
|
62
71
|
classifyContactHref,
|
|
63
72
|
createJmpAnalytics,
|
|
@@ -90,7 +99,10 @@ export {
|
|
|
90
99
|
isJmpBrowserAnalyticsEnvConfigured,
|
|
91
100
|
isJmpServerContentEnvConfigured,
|
|
92
101
|
isJmpTrackingConsentGranted,
|
|
102
|
+
jmpAiCrawlerVercelWafRoute,
|
|
103
|
+
jmpAiCrawlerWafUserAgentPattern,
|
|
93
104
|
markContentWrapper,
|
|
105
|
+
mergeJmpRobotsTxt,
|
|
94
106
|
normalizeJmpContentManifest,
|
|
95
107
|
readJmpPublicEnvFromProcess,
|
|
96
108
|
registerJmpContentWrappers,
|
package/dist/next/content.cjs
CHANGED
|
@@ -49,7 +49,7 @@ var import_react = require("react");
|
|
|
49
49
|
var LANDING_REFERER_COOKIE_MAX_AGE_SEC = 30 * 60;
|
|
50
50
|
|
|
51
51
|
// package.json
|
|
52
|
-
var version = "0.1.
|
|
52
|
+
var version = "0.1.41";
|
|
53
53
|
|
|
54
54
|
// src/constants.ts
|
|
55
55
|
var JMP_ANALYTICS_SDK_VERSION = version;
|
|
@@ -407,7 +407,50 @@ function normalizeManifestDefaults(defaults) {
|
|
|
407
407
|
function normalizeContact(contact) {
|
|
408
408
|
if (!contact || typeof contact !== "object") return null;
|
|
409
409
|
const extras = normalizeContactExtras(contact.extras);
|
|
410
|
-
|
|
410
|
+
const leadInbox = normalizeLeadInbox(contact.leadInbox);
|
|
411
|
+
if (extras.length === 0 && !leadInbox) return null;
|
|
412
|
+
return {
|
|
413
|
+
...extras.length > 0 ? { extras } : {},
|
|
414
|
+
...leadInbox ? { leadInbox } : {}
|
|
415
|
+
};
|
|
416
|
+
}
|
|
417
|
+
function normalizeLeadInbox(raw) {
|
|
418
|
+
if (!raw || typeof raw !== "object") return null;
|
|
419
|
+
const list = normalizeInboxKeyList(raw.list, 8);
|
|
420
|
+
const detail = normalizeInboxKeyList(raw.detail, 24);
|
|
421
|
+
const labels = normalizeInboxLabels(raw.labels);
|
|
422
|
+
if (!list && !detail && !labels) return null;
|
|
423
|
+
return {
|
|
424
|
+
...list ? { list } : {},
|
|
425
|
+
...detail ? { detail } : {},
|
|
426
|
+
...labels ? { labels } : {}
|
|
427
|
+
};
|
|
428
|
+
}
|
|
429
|
+
function normalizeInboxKeyList(raw, max) {
|
|
430
|
+
if (!Array.isArray(raw)) return void 0;
|
|
431
|
+
const seen = /* @__PURE__ */ new Set();
|
|
432
|
+
const out = [];
|
|
433
|
+
for (const item of raw) {
|
|
434
|
+
if (typeof item !== "string" || out.length >= max) continue;
|
|
435
|
+
const key = item.trim();
|
|
436
|
+
const token = key.replace(/[^a-zA-Z0-9]+/g, "").toLowerCase();
|
|
437
|
+
if (!key || !token || seen.has(token)) continue;
|
|
438
|
+
seen.add(token);
|
|
439
|
+
out.push(key);
|
|
440
|
+
}
|
|
441
|
+
return out.length > 0 ? out : void 0;
|
|
442
|
+
}
|
|
443
|
+
function normalizeInboxLabels(raw) {
|
|
444
|
+
if (!raw || typeof raw !== "object") return void 0;
|
|
445
|
+
const out = {};
|
|
446
|
+
for (const [key, value] of Object.entries(raw)) {
|
|
447
|
+
if (typeof value !== "string") continue;
|
|
448
|
+
const label = value.trim().slice(0, 60);
|
|
449
|
+
const token = key.trim();
|
|
450
|
+
if (!token || !label) continue;
|
|
451
|
+
out[token] = label;
|
|
452
|
+
}
|
|
453
|
+
return Object.keys(out).length > 0 ? out : void 0;
|
|
411
454
|
}
|
|
412
455
|
function normalizeContactExtras(extras) {
|
|
413
456
|
if (!Array.isArray(extras)) return [];
|
|
@@ -437,7 +480,7 @@ function inferWrapperSlotsFromManifest(manifest) {
|
|
|
437
480
|
slots.add(`trust.${block.section}`);
|
|
438
481
|
slots.add("trust");
|
|
439
482
|
}
|
|
440
|
-
if (manifest?.contact?.extras?.length) {
|
|
483
|
+
if (manifest?.contact?.extras?.length || manifest?.contact?.leadInbox) {
|
|
441
484
|
slots.add("contact");
|
|
442
485
|
}
|
|
443
486
|
return [...slots];
|
|
@@ -919,6 +962,75 @@ async function registerJmpContentWrappers(config) {
|
|
|
919
962
|
}
|
|
920
963
|
setContentWrapperSyncHandler(registerJmpContentWrappers);
|
|
921
964
|
|
|
965
|
+
// ai-crawler-agents.json
|
|
966
|
+
var ai_crawler_agents_default = {
|
|
967
|
+
robotsUserAgents: [
|
|
968
|
+
"GPTBot",
|
|
969
|
+
"ChatGPT-User",
|
|
970
|
+
"OAI-SearchBot",
|
|
971
|
+
"OAI-AdsBot",
|
|
972
|
+
"ClaudeBot",
|
|
973
|
+
"Claude-User",
|
|
974
|
+
"Claude-SearchBot",
|
|
975
|
+
"Claude-Web",
|
|
976
|
+
"PerplexityBot",
|
|
977
|
+
"Perplexity-User",
|
|
978
|
+
"Google-Extended",
|
|
979
|
+
"GoogleOther",
|
|
980
|
+
"GoogleOther-Image",
|
|
981
|
+
"GoogleOther-Video",
|
|
982
|
+
"Google-CloudVertexBot",
|
|
983
|
+
"Meta-ExternalAgent",
|
|
984
|
+
"Meta-ExternalFetcher",
|
|
985
|
+
"FacebookBot",
|
|
986
|
+
"Applebot",
|
|
987
|
+
"Applebot-Extended",
|
|
988
|
+
"CCBot",
|
|
989
|
+
"Bytespider",
|
|
990
|
+
"cohere-ai",
|
|
991
|
+
"cohere-training-data-crawler",
|
|
992
|
+
"YouBot",
|
|
993
|
+
"MistralAI-User",
|
|
994
|
+
"GrokBot",
|
|
995
|
+
"Grok-DeepSearch",
|
|
996
|
+
"xAI-Grok",
|
|
997
|
+
"xAI-Bot"
|
|
998
|
+
],
|
|
999
|
+
wafUserAgents: [
|
|
1000
|
+
"GPTBot",
|
|
1001
|
+
"ChatGPT-User",
|
|
1002
|
+
"OAI-SearchBot",
|
|
1003
|
+
"OAI-AdsBot",
|
|
1004
|
+
"ClaudeBot",
|
|
1005
|
+
"Claude-User",
|
|
1006
|
+
"Claude-SearchBot",
|
|
1007
|
+
"Claude-Web",
|
|
1008
|
+
"PerplexityBot",
|
|
1009
|
+
"Perplexity-User",
|
|
1010
|
+
"Google-Extended",
|
|
1011
|
+
"GoogleOther",
|
|
1012
|
+
"Google-CloudVertexBot",
|
|
1013
|
+
"Meta-ExternalAgent",
|
|
1014
|
+
"Meta-ExternalFetcher",
|
|
1015
|
+
"FacebookBot",
|
|
1016
|
+
"Applebot-Extended",
|
|
1017
|
+
"CCBot",
|
|
1018
|
+
"Bytespider",
|
|
1019
|
+
"cohere-ai",
|
|
1020
|
+
"cohere-training-data-crawler",
|
|
1021
|
+
"YouBot",
|
|
1022
|
+
"MistralAI-User",
|
|
1023
|
+
"GrokBot",
|
|
1024
|
+
"Grok-DeepSearch",
|
|
1025
|
+
"xAI-Grok",
|
|
1026
|
+
"xAI-Bot"
|
|
1027
|
+
]
|
|
1028
|
+
};
|
|
1029
|
+
|
|
1030
|
+
// src/ai-crawlers.ts
|
|
1031
|
+
var AI_CRAWLER_ROBOTS_USER_AGENTS = ai_crawler_agents_default.robotsUserAgents;
|
|
1032
|
+
var JMP_AI_CRAWLER_WAF_USER_AGENTS = ai_crawler_agents_default.wafUserAgents;
|
|
1033
|
+
|
|
922
1034
|
// src/content/site-content.ts
|
|
923
1035
|
var DEFAULT_EXTRA_KEYS = {
|
|
924
1036
|
founderName: ["founder-name", "founder_name"],
|