@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.
Files changed (86) hide show
  1. package/README.md +6 -2
  2. package/ai-crawler-agents.json +63 -0
  3. package/dist/astro/client.cjs +115 -3
  4. package/dist/astro/client.cjs.map +1 -1
  5. package/dist/astro/client.d.cts +2 -2
  6. package/dist/astro/client.d.ts +2 -2
  7. package/dist/astro/client.js +1 -1
  8. package/dist/astro/content.cjs +115 -3
  9. package/dist/astro/content.cjs.map +1 -1
  10. package/dist/astro/content.d.cts +3 -3
  11. package/dist/astro/content.d.ts +3 -3
  12. package/dist/astro/content.js +2 -2
  13. package/dist/astro/integration.cjs +115 -3
  14. package/dist/astro/integration.cjs.map +1 -1
  15. package/dist/astro/integration.js +2 -2
  16. package/dist/astro/middleware.d.cts +2 -2
  17. package/dist/astro/middleware.d.ts +2 -2
  18. package/dist/astro/register.cjs +115 -3
  19. package/dist/astro/register.cjs.map +1 -1
  20. package/dist/astro/register.js +2 -2
  21. package/dist/{chunk-XAEWXWSP.js → chunk-5SXVGQVW.js} +182 -4
  22. package/dist/chunk-5SXVGQVW.js.map +1 -0
  23. package/dist/{chunk-BXPMVR7M.js → chunk-GCEIT2ON.js} +2 -2
  24. package/dist/{chunk-OCIOQIE4.js → chunk-L6IUBEUV.js} +2 -2
  25. package/dist/{chunk-JJ3JP3RV.js → chunk-MEG7QGRF.js} +2 -2
  26. package/dist/{chunk-M66PHSBO.js → chunk-QSKTA7JD.js} +2 -2
  27. package/dist/{create-jmp-analytics-C1IH32ZF.d.cts → create-jmp-analytics-B7VqQJca.d.cts} +1 -1
  28. package/dist/{create-jmp-analytics-CjVYSmPJ.d.ts → create-jmp-analytics-BGt16QGY.d.ts} +1 -1
  29. package/dist/index.cjs +187 -3
  30. package/dist/index.cjs.map +1 -1
  31. package/dist/index.d.cts +30 -6
  32. package/dist/index.d.ts +30 -6
  33. package/dist/index.js +13 -1
  34. package/dist/next/content.cjs +115 -3
  35. package/dist/next/content.cjs.map +1 -1
  36. package/dist/next/content.d.cts +2 -2
  37. package/dist/next/content.d.ts +2 -2
  38. package/dist/next/content.js +2 -2
  39. package/dist/next/instrumentation.cjs +115 -3
  40. package/dist/next/instrumentation.cjs.map +1 -1
  41. package/dist/next/instrumentation.js +1 -1
  42. package/dist/next/landing-pages.cjs +115 -3
  43. package/dist/next/landing-pages.cjs.map +1 -1
  44. package/dist/next/landing-pages.d.cts +2 -2
  45. package/dist/next/landing-pages.d.ts +2 -2
  46. package/dist/next/landing-pages.js +2 -2
  47. package/dist/next/locations.cjs +116 -4
  48. package/dist/next/locations.cjs.map +1 -1
  49. package/dist/next/locations.d.cts +3 -3
  50. package/dist/next/locations.d.ts +3 -3
  51. package/dist/next/locations.js +3 -3
  52. package/dist/next/locations.js.map +1 -1
  53. package/dist/next/middleware.cjs.map +1 -1
  54. package/dist/next/middleware.d.cts +2 -2
  55. package/dist/next/middleware.d.ts +2 -2
  56. package/dist/next/middleware.js.map +1 -1
  57. package/dist/next/site-root-server.cjs +115 -3
  58. package/dist/next/site-root-server.cjs.map +1 -1
  59. package/dist/next/site-root-server.d.cts +1 -1
  60. package/dist/next/site-root-server.d.ts +1 -1
  61. package/dist/next/site-root-server.js +3 -3
  62. package/dist/next/site-root-server.js.map +1 -1
  63. package/dist/next.cjs +115 -3
  64. package/dist/next.cjs.map +1 -1
  65. package/dist/next.d.cts +3 -3
  66. package/dist/next.d.ts +3 -3
  67. package/dist/next.js +3 -3
  68. package/dist/react.cjs +115 -3
  69. package/dist/react.cjs.map +1 -1
  70. package/dist/react.d.cts +2 -2
  71. package/dist/react.d.ts +2 -2
  72. package/dist/react.js +2 -2
  73. package/dist/{site-config-BN6Z2zIf.d.cts → site-config-CZl4PIbg.d.cts} +1 -1
  74. package/dist/{site-config-BEaYpZ3X.d.ts → site-config-Cq5K8hUp.d.ts} +1 -1
  75. package/dist/{track-page-view-B3OwUOYl.d.ts → track-page-view-BSlE0yI9.d.ts} +1 -1
  76. package/dist/{track-page-view-BeVjC-pV.d.cts → track-page-view-M9y_5WqT.d.cts} +1 -1
  77. package/dist/{types-uwXEaMD6.d.ts → types-DH_8sBu9.d.cts} +6 -0
  78. package/dist/{types-uwXEaMD6.d.cts → types-DH_8sBu9.d.ts} +6 -0
  79. package/dist/{utils-6a6lNKsg.d.ts → utils-C2JRomti.d.ts} +1 -1
  80. package/dist/{utils-Cbb3CO3i.d.cts → utils-JfjoqC-z.d.cts} +1 -1
  81. package/package.json +2 -1
  82. package/dist/chunk-XAEWXWSP.js.map +0 -1
  83. /package/dist/{chunk-BXPMVR7M.js.map → chunk-GCEIT2ON.js.map} +0 -0
  84. /package/dist/{chunk-OCIOQIE4.js.map → chunk-L6IUBEUV.js.map} +0 -0
  85. /package/dist/{chunk-JJ3JP3RV.js.map → chunk-MEG7QGRF.js.map} +0 -0
  86. /package/dist/{chunk-M66PHSBO.js.map → chunk-QSKTA7JD.js.map} +0 -0
@@ -55,7 +55,7 @@ var import_navigation = require("next/navigation");
55
55
  var LANDING_REFERER_COOKIE_MAX_AGE_SEC = 30 * 60;
56
56
 
57
57
  // package.json
58
- var version = "0.1.39";
58
+ var version = "0.1.41";
59
59
 
60
60
  // src/constants.ts
61
61
  var JMP_ANALYTICS_SDK_VERSION = version;
@@ -465,7 +465,50 @@ function normalizeManifestDefaults(defaults) {
465
465
  function normalizeContact(contact) {
466
466
  if (!contact || typeof contact !== "object") return null;
467
467
  const extras = normalizeContactExtras(contact.extras);
468
- return extras.length > 0 ? { extras } : null;
468
+ const leadInbox = normalizeLeadInbox(contact.leadInbox);
469
+ if (extras.length === 0 && !leadInbox) return null;
470
+ return {
471
+ ...extras.length > 0 ? { extras } : {},
472
+ ...leadInbox ? { leadInbox } : {}
473
+ };
474
+ }
475
+ function normalizeLeadInbox(raw) {
476
+ if (!raw || typeof raw !== "object") return null;
477
+ const list = normalizeInboxKeyList(raw.list, 8);
478
+ const detail = normalizeInboxKeyList(raw.detail, 24);
479
+ const labels = normalizeInboxLabels(raw.labels);
480
+ if (!list && !detail && !labels) return null;
481
+ return {
482
+ ...list ? { list } : {},
483
+ ...detail ? { detail } : {},
484
+ ...labels ? { labels } : {}
485
+ };
486
+ }
487
+ function normalizeInboxKeyList(raw, max) {
488
+ if (!Array.isArray(raw)) return void 0;
489
+ const seen = /* @__PURE__ */ new Set();
490
+ const out = [];
491
+ for (const item of raw) {
492
+ if (typeof item !== "string" || out.length >= max) continue;
493
+ const key = item.trim();
494
+ const token = key.replace(/[^a-zA-Z0-9]+/g, "").toLowerCase();
495
+ if (!key || !token || seen.has(token)) continue;
496
+ seen.add(token);
497
+ out.push(key);
498
+ }
499
+ return out.length > 0 ? out : void 0;
500
+ }
501
+ function normalizeInboxLabels(raw) {
502
+ if (!raw || typeof raw !== "object") return void 0;
503
+ const out = {};
504
+ for (const [key, value] of Object.entries(raw)) {
505
+ if (typeof value !== "string") continue;
506
+ const label = value.trim().slice(0, 60);
507
+ const token = key.trim();
508
+ if (!token || !label) continue;
509
+ out[token] = label;
510
+ }
511
+ return Object.keys(out).length > 0 ? out : void 0;
469
512
  }
470
513
  function normalizeContactExtras(extras) {
471
514
  if (!Array.isArray(extras)) return [];
@@ -495,7 +538,7 @@ function inferWrapperSlotsFromManifest(manifest) {
495
538
  slots.add(`trust.${block.section}`);
496
539
  slots.add("trust");
497
540
  }
498
- if (manifest?.contact?.extras?.length) {
541
+ if (manifest?.contact?.extras?.length || manifest?.contact?.leadInbox) {
499
542
  slots.add("contact");
500
543
  }
501
544
  return [...slots];
@@ -799,6 +842,75 @@ async function registerJmpContentWrappers(config) {
799
842
  }
800
843
  setContentWrapperSyncHandler(registerJmpContentWrappers);
801
844
 
845
+ // ai-crawler-agents.json
846
+ var ai_crawler_agents_default = {
847
+ robotsUserAgents: [
848
+ "GPTBot",
849
+ "ChatGPT-User",
850
+ "OAI-SearchBot",
851
+ "OAI-AdsBot",
852
+ "ClaudeBot",
853
+ "Claude-User",
854
+ "Claude-SearchBot",
855
+ "Claude-Web",
856
+ "PerplexityBot",
857
+ "Perplexity-User",
858
+ "Google-Extended",
859
+ "GoogleOther",
860
+ "GoogleOther-Image",
861
+ "GoogleOther-Video",
862
+ "Google-CloudVertexBot",
863
+ "Meta-ExternalAgent",
864
+ "Meta-ExternalFetcher",
865
+ "FacebookBot",
866
+ "Applebot",
867
+ "Applebot-Extended",
868
+ "CCBot",
869
+ "Bytespider",
870
+ "cohere-ai",
871
+ "cohere-training-data-crawler",
872
+ "YouBot",
873
+ "MistralAI-User",
874
+ "GrokBot",
875
+ "Grok-DeepSearch",
876
+ "xAI-Grok",
877
+ "xAI-Bot"
878
+ ],
879
+ wafUserAgents: [
880
+ "GPTBot",
881
+ "ChatGPT-User",
882
+ "OAI-SearchBot",
883
+ "OAI-AdsBot",
884
+ "ClaudeBot",
885
+ "Claude-User",
886
+ "Claude-SearchBot",
887
+ "Claude-Web",
888
+ "PerplexityBot",
889
+ "Perplexity-User",
890
+ "Google-Extended",
891
+ "GoogleOther",
892
+ "Google-CloudVertexBot",
893
+ "Meta-ExternalAgent",
894
+ "Meta-ExternalFetcher",
895
+ "FacebookBot",
896
+ "Applebot-Extended",
897
+ "CCBot",
898
+ "Bytespider",
899
+ "cohere-ai",
900
+ "cohere-training-data-crawler",
901
+ "YouBot",
902
+ "MistralAI-User",
903
+ "GrokBot",
904
+ "Grok-DeepSearch",
905
+ "xAI-Grok",
906
+ "xAI-Bot"
907
+ ]
908
+ };
909
+
910
+ // src/ai-crawlers.ts
911
+ var AI_CRAWLER_ROBOTS_USER_AGENTS = ai_crawler_agents_default.robotsUserAgents;
912
+ var JMP_AI_CRAWLER_WAF_USER_AGENTS = ai_crawler_agents_default.wafUserAgents;
913
+
802
914
  // src/content/site-content.ts
803
915
  async function loadLandingPages(filters) {
804
916
  const c = getJmpContentConfig();