@jmp-technologies/analytics 0.1.38 → 0.1.40
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 +257 -6
- 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 +264 -7
- 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 +257 -6
- 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 +257 -6
- package/dist/astro/register.cjs.map +1 -1
- package/dist/astro/register.js +2 -2
- package/dist/{chunk-WHUHCTBQ.js → chunk-34LFIP3R.js} +2 -2
- package/dist/{chunk-NCF3J4HV.js → chunk-BRLCGVFJ.js} +2 -2
- package/dist/{chunk-PQOTEV6O.js → chunk-IY6Y636W.js} +2 -2
- package/dist/{chunk-EBU4DKHW.js → chunk-JC3G4XNR.js} +333 -8
- package/dist/chunk-JC3G4XNR.js.map +1 -0
- package/dist/{chunk-JVFN7MF2.js → chunk-VSZRQSUN.js} +2 -2
- package/dist/constants-DTZMYgi4.d.cts +12 -0
- package/dist/constants-DTZMYgi4.d.ts +12 -0
- package/dist/{create-jmp-analytics-DMSXmVIH.d.cts → create-jmp-analytics-B7VqQJca.d.cts} +1 -1
- package/dist/{create-jmp-analytics-JZ3pqNBQ.d.ts → create-jmp-analytics-BGt16QGY.d.ts} +1 -1
- package/dist/index.cjs +340 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +31 -13
- package/dist/index.d.ts +31 -13
- package/dist/index.js +17 -1
- package/dist/next/content.cjs +268 -7
- package/dist/next/content.cjs.map +1 -1
- package/dist/next/content.d.cts +3 -2
- package/dist/next/content.d.ts +3 -2
- package/dist/next/content.js +7 -2
- package/dist/next/content.js.map +1 -1
- package/dist/next/instrumentation.cjs +257 -6
- package/dist/next/instrumentation.cjs.map +1 -1
- package/dist/next/instrumentation.js +1 -1
- package/dist/next/landing-pages.cjs +264 -7
- 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 +265 -8
- 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 +264 -7
- 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 +257 -6
- 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 +257 -6
- 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-BZJS8Hp_.d.cts → site-config-CZl4PIbg.d.cts} +1 -1
- package/dist/{site-config-BLnwuRC2.d.ts → site-config-Cq5K8hUp.d.ts} +1 -1
- package/dist/{track-page-view-DGKRUIxm.d.ts → track-page-view-BSlE0yI9.d.ts} +1 -1
- package/dist/{track-page-view-BJQqn2Bg.d.cts → track-page-view-M9y_5WqT.d.cts} +1 -1
- package/dist/{types-CYrgEwUF.d.ts → types-DH_8sBu9.d.cts} +35 -0
- package/dist/{types-CYrgEwUF.d.cts → types-DH_8sBu9.d.ts} +35 -0
- package/dist/{utils-B1Nt3sBU.d.ts → utils-C2JRomti.d.ts} +1 -1
- package/dist/{utils-U6TGMIAB.d.cts → utils-JfjoqC-z.d.cts} +1 -1
- package/package.json +2 -1
- package/dist/chunk-EBU4DKHW.js.map +0 -1
- /package/dist/{chunk-WHUHCTBQ.js.map → chunk-34LFIP3R.js.map} +0 -0
- /package/dist/{chunk-NCF3J4HV.js.map → chunk-BRLCGVFJ.js.map} +0 -0
- /package/dist/{chunk-PQOTEV6O.js.map → chunk-IY6Y636W.js.map} +0 -0
- /package/dist/{chunk-JVFN7MF2.js.map → chunk-VSZRQSUN.js.map} +0 -0
package/dist/astro/client.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { J as JmpAnalytics } from '../create-jmp-analytics-
|
|
1
|
+
import { J as JmpAnalytics } from '../create-jmp-analytics-B7VqQJca.cjs';
|
|
2
2
|
import { J as JmpPublicEnv } from '../env-public-B6Y0DG68.cjs';
|
|
3
|
-
import '../types-
|
|
3
|
+
import '../types-DH_8sBu9.cjs';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Inline script for `<script is:inline>` — stores landing referrer/UTMs before hydration.
|
package/dist/astro/client.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { J as JmpAnalytics } from '../create-jmp-analytics-
|
|
1
|
+
import { J as JmpAnalytics } from '../create-jmp-analytics-BGt16QGY.js';
|
|
2
2
|
import { J as JmpPublicEnv } from '../env-public-B6Y0DG68.js';
|
|
3
|
-
import '../types-
|
|
3
|
+
import '../types-DH_8sBu9.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Inline script for `<script is:inline>` — stores landing referrer/UTMs before hydration.
|
package/dist/astro/client.js
CHANGED
package/dist/astro/content.cjs
CHANGED
|
@@ -46,10 +46,12 @@ module.exports = __toCommonJS(content_exports);
|
|
|
46
46
|
var LANDING_REFERER_COOKIE_MAX_AGE_SEC = 30 * 60;
|
|
47
47
|
|
|
48
48
|
// package.json
|
|
49
|
-
var version = "0.1.
|
|
49
|
+
var version = "0.1.40";
|
|
50
50
|
|
|
51
51
|
// src/constants.ts
|
|
52
52
|
var JMP_ANALYTICS_SDK_VERSION = version;
|
|
53
|
+
var JMP_CONTENT_CACHE_TAG = "jmp-content";
|
|
54
|
+
var JMP_CONTENT_REVALIDATE_SECONDS = 3600;
|
|
53
55
|
|
|
54
56
|
// src/http.ts
|
|
55
57
|
function responseLooksLikeHtml(body) {
|
|
@@ -246,7 +248,8 @@ function normalizeJmpContentManifest(input) {
|
|
|
246
248
|
const externalSources = normalizeExternalSources(input.externalSources);
|
|
247
249
|
const trust = normalizeTrust(input.trust);
|
|
248
250
|
const contact = normalizeContact(input.contact);
|
|
249
|
-
|
|
251
|
+
const defaults = normalizeManifestDefaults(input.defaults);
|
|
252
|
+
if (routes.length === 0 && !externalSources && !trust && !contact && !defaults) {
|
|
250
253
|
return null;
|
|
251
254
|
}
|
|
252
255
|
return {
|
|
@@ -254,7 +257,8 @@ function normalizeJmpContentManifest(input) {
|
|
|
254
257
|
...routes.length > 0 ? { routes } : {},
|
|
255
258
|
...externalSources ? { externalSources } : {},
|
|
256
259
|
...trust ? { trust } : {},
|
|
257
|
-
...contact ? { contact } : {}
|
|
260
|
+
...contact ? { contact } : {},
|
|
261
|
+
...defaults ? { defaults } : {}
|
|
258
262
|
};
|
|
259
263
|
}
|
|
260
264
|
function normalizeRoutes(routes) {
|
|
@@ -318,10 +322,132 @@ function normalizeTrustLabels(labels) {
|
|
|
318
322
|
}
|
|
319
323
|
return Object.keys(out).length > 0 ? out : null;
|
|
320
324
|
}
|
|
325
|
+
function readDefaultText(value, max = 500) {
|
|
326
|
+
if (typeof value !== "string") return void 0;
|
|
327
|
+
const trimmed = value.trim();
|
|
328
|
+
if (!trimmed) return void 0;
|
|
329
|
+
return trimmed.slice(0, max);
|
|
330
|
+
}
|
|
331
|
+
function normalizeManifestDefaults(defaults) {
|
|
332
|
+
if (!defaults || typeof defaults !== "object") return null;
|
|
333
|
+
const contactRaw = defaults.contact;
|
|
334
|
+
const contact = {};
|
|
335
|
+
if (contactRaw && typeof contactRaw === "object") {
|
|
336
|
+
const displayName = readDefaultText(contactRaw.displayName, 120);
|
|
337
|
+
const email = readDefaultText(contactRaw.email, 200);
|
|
338
|
+
const phone = readDefaultText(contactRaw.phone, 40);
|
|
339
|
+
const address = readDefaultText(contactRaw.address, 400);
|
|
340
|
+
const hours = readDefaultText(contactRaw.hours, 400);
|
|
341
|
+
const serviceArea = readDefaultText(contactRaw.serviceArea, 200);
|
|
342
|
+
const googleMapsUrl = readDefaultText(contactRaw.googleMapsUrl, 2048);
|
|
343
|
+
const linkedinUrl = readDefaultText(contactRaw.linkedinUrl, 2048);
|
|
344
|
+
const instagramUrl = readDefaultText(contactRaw.instagramUrl, 2048);
|
|
345
|
+
const facebookUrl = readDefaultText(contactRaw.facebookUrl, 2048);
|
|
346
|
+
const xUrl = readDefaultText(contactRaw.xUrl, 2048);
|
|
347
|
+
const youtubeUrl = readDefaultText(contactRaw.youtubeUrl, 2048);
|
|
348
|
+
if (displayName) contact.displayName = displayName;
|
|
349
|
+
if (email) contact.email = email;
|
|
350
|
+
if (phone) contact.phone = phone;
|
|
351
|
+
if (address) contact.address = address;
|
|
352
|
+
if (hours) contact.hours = hours;
|
|
353
|
+
if (serviceArea) contact.serviceArea = serviceArea;
|
|
354
|
+
if (googleMapsUrl) contact.googleMapsUrl = googleMapsUrl;
|
|
355
|
+
if (linkedinUrl) contact.linkedinUrl = linkedinUrl;
|
|
356
|
+
if (instagramUrl) contact.instagramUrl = instagramUrl;
|
|
357
|
+
if (facebookUrl) contact.facebookUrl = facebookUrl;
|
|
358
|
+
if (xUrl) contact.xUrl = xUrl;
|
|
359
|
+
if (youtubeUrl) contact.youtubeUrl = youtubeUrl;
|
|
360
|
+
if (contactRaw.extras && typeof contactRaw.extras === "object") {
|
|
361
|
+
const extras = {};
|
|
362
|
+
for (const [rawKey, rawValue] of Object.entries(contactRaw.extras)) {
|
|
363
|
+
if (Object.keys(extras).length >= 10) break;
|
|
364
|
+
const key = normalizeKey(rawKey);
|
|
365
|
+
const value = readDefaultText(rawValue, 200);
|
|
366
|
+
if (key && isValidExtraKey(key) && value) extras[key] = value;
|
|
367
|
+
}
|
|
368
|
+
if (Object.keys(extras).length > 0) contact.extras = extras;
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
const faq = [];
|
|
372
|
+
if (Array.isArray(defaults.faq)) {
|
|
373
|
+
for (const raw of defaults.faq) {
|
|
374
|
+
if (!raw || typeof raw !== "object" || faq.length >= 40) continue;
|
|
375
|
+
const question = readDefaultText(raw.question, 300);
|
|
376
|
+
const answer = readDefaultText(raw.answer, 8e3);
|
|
377
|
+
if (!question || !answer) continue;
|
|
378
|
+
const category = readDefaultText(raw.category, 80);
|
|
379
|
+
faq.push({ question, answer, ...category ? { category } : {} });
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
const trustRaw = defaults.trust;
|
|
383
|
+
const trust = {};
|
|
384
|
+
if (trustRaw && typeof trustRaw === "object") {
|
|
385
|
+
const assign = (key, max) => {
|
|
386
|
+
const value = readDefaultText(trustRaw[key], max);
|
|
387
|
+
if (value) trust[key] = value;
|
|
388
|
+
};
|
|
389
|
+
assign("googleReviewsUrl", 2048);
|
|
390
|
+
assign("googlePlaceId", 128);
|
|
391
|
+
assign("yelpUrl", 2048);
|
|
392
|
+
assign("trustpilotUrl", 2048);
|
|
393
|
+
assign("disclaimer", 1e3);
|
|
394
|
+
}
|
|
395
|
+
const hasContact = Object.keys(contact).length > 0;
|
|
396
|
+
const hasTrust = Object.keys(trust).length > 0;
|
|
397
|
+
if (!hasContact && faq.length === 0 && !hasTrust) return null;
|
|
398
|
+
return {
|
|
399
|
+
...hasContact ? { contact } : {},
|
|
400
|
+
...faq.length > 0 ? { faq } : {},
|
|
401
|
+
...hasTrust ? { trust } : {}
|
|
402
|
+
};
|
|
403
|
+
}
|
|
321
404
|
function normalizeContact(contact) {
|
|
322
405
|
if (!contact || typeof contact !== "object") return null;
|
|
323
406
|
const extras = normalizeContactExtras(contact.extras);
|
|
324
|
-
|
|
407
|
+
const leadInbox = normalizeLeadInbox(contact.leadInbox);
|
|
408
|
+
if (extras.length === 0 && !leadInbox) return null;
|
|
409
|
+
return {
|
|
410
|
+
...extras.length > 0 ? { extras } : {},
|
|
411
|
+
...leadInbox ? { leadInbox } : {}
|
|
412
|
+
};
|
|
413
|
+
}
|
|
414
|
+
function normalizeLeadInbox(raw) {
|
|
415
|
+
if (!raw || typeof raw !== "object") return null;
|
|
416
|
+
const list = normalizeInboxKeyList(raw.list, 8);
|
|
417
|
+
const detail = normalizeInboxKeyList(raw.detail, 24);
|
|
418
|
+
const labels = normalizeInboxLabels(raw.labels);
|
|
419
|
+
if (!list && !detail && !labels) return null;
|
|
420
|
+
return {
|
|
421
|
+
...list ? { list } : {},
|
|
422
|
+
...detail ? { detail } : {},
|
|
423
|
+
...labels ? { labels } : {}
|
|
424
|
+
};
|
|
425
|
+
}
|
|
426
|
+
function normalizeInboxKeyList(raw, max) {
|
|
427
|
+
if (!Array.isArray(raw)) return void 0;
|
|
428
|
+
const seen = /* @__PURE__ */ new Set();
|
|
429
|
+
const out = [];
|
|
430
|
+
for (const item of raw) {
|
|
431
|
+
if (typeof item !== "string" || out.length >= max) continue;
|
|
432
|
+
const key = item.trim();
|
|
433
|
+
const token = key.replace(/[^a-zA-Z0-9]+/g, "").toLowerCase();
|
|
434
|
+
if (!key || !token || seen.has(token)) continue;
|
|
435
|
+
seen.add(token);
|
|
436
|
+
out.push(key);
|
|
437
|
+
}
|
|
438
|
+
return out.length > 0 ? out : void 0;
|
|
439
|
+
}
|
|
440
|
+
function normalizeInboxLabels(raw) {
|
|
441
|
+
if (!raw || typeof raw !== "object") return void 0;
|
|
442
|
+
const out = {};
|
|
443
|
+
for (const [key, value] of Object.entries(raw)) {
|
|
444
|
+
if (typeof value !== "string") continue;
|
|
445
|
+
const label = value.trim().slice(0, 60);
|
|
446
|
+
const token = key.trim();
|
|
447
|
+
if (!token || !label) continue;
|
|
448
|
+
out[token] = label;
|
|
449
|
+
}
|
|
450
|
+
return Object.keys(out).length > 0 ? out : void 0;
|
|
325
451
|
}
|
|
326
452
|
function normalizeContactExtras(extras) {
|
|
327
453
|
if (!Array.isArray(extras)) return [];
|
|
@@ -351,7 +477,7 @@ function inferWrapperSlotsFromManifest(manifest) {
|
|
|
351
477
|
slots.add(`trust.${block.section}`);
|
|
352
478
|
slots.add("trust");
|
|
353
479
|
}
|
|
354
|
-
if (manifest?.contact?.extras?.length) {
|
|
480
|
+
if (manifest?.contact?.extras?.length || manifest?.contact?.leadInbox) {
|
|
355
481
|
slots.add("contact");
|
|
356
482
|
}
|
|
357
483
|
return [...slots];
|
|
@@ -385,7 +511,11 @@ async function getContentText(config, path) {
|
|
|
385
511
|
}
|
|
386
512
|
const res = await resolvedFetch(url, {
|
|
387
513
|
method: "GET",
|
|
388
|
-
headers: jmpContentRequestHeaders(config)
|
|
514
|
+
headers: jmpContentRequestHeaders(config),
|
|
515
|
+
next: {
|
|
516
|
+
revalidate: JMP_CONTENT_REVALIDATE_SECONDS,
|
|
517
|
+
tags: [JMP_CONTENT_CACHE_TAG]
|
|
518
|
+
}
|
|
389
519
|
});
|
|
390
520
|
const text = await res.text();
|
|
391
521
|
if (!res.ok) {
|
|
@@ -476,7 +606,65 @@ function getDiscoveredContentWrappers() {
|
|
|
476
606
|
return sortWrapperSlots([...discovered]);
|
|
477
607
|
}
|
|
478
608
|
function resolveContentManifestForReport(config) {
|
|
479
|
-
|
|
609
|
+
const site = getJmpSiteDefinition();
|
|
610
|
+
const fallback = site?.contactFallback;
|
|
611
|
+
const existing = config.contentManifest;
|
|
612
|
+
const fromFallback = fallbackToManifestDefaults(fallback);
|
|
613
|
+
if (!existing && !fromFallback) {
|
|
614
|
+
return null;
|
|
615
|
+
}
|
|
616
|
+
const merged = {
|
|
617
|
+
...existing ?? {},
|
|
618
|
+
defaults: {
|
|
619
|
+
...fromFallback ?? {},
|
|
620
|
+
...existing?.defaults ?? {},
|
|
621
|
+
contact: {
|
|
622
|
+
...fromFallback?.contact ?? {},
|
|
623
|
+
...existing?.defaults?.contact ?? {},
|
|
624
|
+
extras: {
|
|
625
|
+
...fromFallback?.contact?.extras ?? {},
|
|
626
|
+
...existing?.defaults?.contact?.extras ?? {}
|
|
627
|
+
}
|
|
628
|
+
},
|
|
629
|
+
trust: {
|
|
630
|
+
...fromFallback?.trust ?? {},
|
|
631
|
+
...existing?.defaults?.trust ?? {}
|
|
632
|
+
},
|
|
633
|
+
faq: existing?.defaults?.faq?.length ? existing.defaults.faq : fromFallback?.faq
|
|
634
|
+
}
|
|
635
|
+
};
|
|
636
|
+
return normalizeJmpContentManifest(merged);
|
|
637
|
+
}
|
|
638
|
+
function fallbackToManifestDefaults(fallback) {
|
|
639
|
+
if (!fallback) return null;
|
|
640
|
+
const contact = {};
|
|
641
|
+
if (fallback.displayName?.trim()) contact.displayName = fallback.displayName.trim();
|
|
642
|
+
if (fallback.email?.trim()) contact.email = fallback.email.trim();
|
|
643
|
+
if (typeof fallback.phone === "string" && fallback.phone.trim()) {
|
|
644
|
+
contact.phone = fallback.phone.trim();
|
|
645
|
+
}
|
|
646
|
+
if (fallback.address?.trim()) contact.address = fallback.address.trim();
|
|
647
|
+
if (fallback.hours?.trim()) contact.hours = fallback.hours.trim();
|
|
648
|
+
if (fallback.serviceArea?.trim()) contact.serviceArea = fallback.serviceArea.trim();
|
|
649
|
+
if (fallback.googleMapsUrl?.trim()) {
|
|
650
|
+
contact.googleMapsUrl = fallback.googleMapsUrl.trim();
|
|
651
|
+
}
|
|
652
|
+
if (fallback.linkedin?.trim()) contact.linkedinUrl = fallback.linkedin.trim();
|
|
653
|
+
if (fallback.instagram?.trim()) contact.instagramUrl = fallback.instagram.trim();
|
|
654
|
+
if (fallback.facebook?.trim()) contact.facebookUrl = fallback.facebook.trim();
|
|
655
|
+
if (fallback.x?.trim()) contact.xUrl = fallback.x.trim();
|
|
656
|
+
if (fallback.youtube?.trim()) contact.youtubeUrl = fallback.youtube.trim();
|
|
657
|
+
const trust = {};
|
|
658
|
+
if (fallback.googleMapsUrl?.trim()) {
|
|
659
|
+
trust.googleReviewsUrl = fallback.googleMapsUrl.trim();
|
|
660
|
+
}
|
|
661
|
+
const hasContact = Object.keys(contact).length > 0;
|
|
662
|
+
const hasTrust = Object.keys(trust).length > 0;
|
|
663
|
+
if (!hasContact && !hasTrust) return null;
|
|
664
|
+
return {
|
|
665
|
+
...hasContact ? { contact } : {},
|
|
666
|
+
...hasTrust ? { trust } : {}
|
|
667
|
+
};
|
|
480
668
|
}
|
|
481
669
|
function resolveContentWrappersForReport(config) {
|
|
482
670
|
const explicit = config.contentWrappers ?? [];
|
|
@@ -771,6 +959,75 @@ async function registerJmpContentWrappers(config) {
|
|
|
771
959
|
}
|
|
772
960
|
setContentWrapperSyncHandler(registerJmpContentWrappers);
|
|
773
961
|
|
|
962
|
+
// ai-crawler-agents.json
|
|
963
|
+
var ai_crawler_agents_default = {
|
|
964
|
+
robotsUserAgents: [
|
|
965
|
+
"GPTBot",
|
|
966
|
+
"ChatGPT-User",
|
|
967
|
+
"OAI-SearchBot",
|
|
968
|
+
"OAI-AdsBot",
|
|
969
|
+
"ClaudeBot",
|
|
970
|
+
"Claude-User",
|
|
971
|
+
"Claude-SearchBot",
|
|
972
|
+
"Claude-Web",
|
|
973
|
+
"PerplexityBot",
|
|
974
|
+
"Perplexity-User",
|
|
975
|
+
"Google-Extended",
|
|
976
|
+
"GoogleOther",
|
|
977
|
+
"GoogleOther-Image",
|
|
978
|
+
"GoogleOther-Video",
|
|
979
|
+
"Google-CloudVertexBot",
|
|
980
|
+
"Meta-ExternalAgent",
|
|
981
|
+
"Meta-ExternalFetcher",
|
|
982
|
+
"FacebookBot",
|
|
983
|
+
"Applebot",
|
|
984
|
+
"Applebot-Extended",
|
|
985
|
+
"CCBot",
|
|
986
|
+
"Bytespider",
|
|
987
|
+
"cohere-ai",
|
|
988
|
+
"cohere-training-data-crawler",
|
|
989
|
+
"YouBot",
|
|
990
|
+
"MistralAI-User",
|
|
991
|
+
"GrokBot",
|
|
992
|
+
"Grok-DeepSearch",
|
|
993
|
+
"xAI-Grok",
|
|
994
|
+
"xAI-Bot"
|
|
995
|
+
],
|
|
996
|
+
wafUserAgents: [
|
|
997
|
+
"GPTBot",
|
|
998
|
+
"ChatGPT-User",
|
|
999
|
+
"OAI-SearchBot",
|
|
1000
|
+
"OAI-AdsBot",
|
|
1001
|
+
"ClaudeBot",
|
|
1002
|
+
"Claude-User",
|
|
1003
|
+
"Claude-SearchBot",
|
|
1004
|
+
"Claude-Web",
|
|
1005
|
+
"PerplexityBot",
|
|
1006
|
+
"Perplexity-User",
|
|
1007
|
+
"Google-Extended",
|
|
1008
|
+
"GoogleOther",
|
|
1009
|
+
"Google-CloudVertexBot",
|
|
1010
|
+
"Meta-ExternalAgent",
|
|
1011
|
+
"Meta-ExternalFetcher",
|
|
1012
|
+
"FacebookBot",
|
|
1013
|
+
"Applebot-Extended",
|
|
1014
|
+
"CCBot",
|
|
1015
|
+
"Bytespider",
|
|
1016
|
+
"cohere-ai",
|
|
1017
|
+
"cohere-training-data-crawler",
|
|
1018
|
+
"YouBot",
|
|
1019
|
+
"MistralAI-User",
|
|
1020
|
+
"GrokBot",
|
|
1021
|
+
"Grok-DeepSearch",
|
|
1022
|
+
"xAI-Grok",
|
|
1023
|
+
"xAI-Bot"
|
|
1024
|
+
]
|
|
1025
|
+
};
|
|
1026
|
+
|
|
1027
|
+
// src/ai-crawlers.ts
|
|
1028
|
+
var AI_CRAWLER_ROBOTS_USER_AGENTS = ai_crawler_agents_default.robotsUserAgents;
|
|
1029
|
+
var JMP_AI_CRAWLER_WAF_USER_AGENTS = ai_crawler_agents_default.wafUserAgents;
|
|
1030
|
+
|
|
774
1031
|
// src/content/site-content.ts
|
|
775
1032
|
var DEFAULT_EXTRA_KEYS = {
|
|
776
1033
|
founderName: ["founder-name", "founder_name"],
|