@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
@@ -1,6 +1,6 @@
1
- import { J as JmpAnalytics } from '../create-jmp-analytics-C1IH32ZF.cjs';
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-uwXEaMD6.cjs';
3
+ import '../types-DH_8sBu9.cjs';
4
4
 
5
5
  /**
6
6
  * Inline script for `<script is:inline>` — stores landing referrer/UTMs before hydration.
@@ -1,6 +1,6 @@
1
- import { J as JmpAnalytics } from '../create-jmp-analytics-CjVYSmPJ.js';
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-uwXEaMD6.js';
3
+ import '../types-DH_8sBu9.js';
4
4
 
5
5
  /**
6
6
  * Inline script for `<script is:inline>` — stores landing referrer/UTMs before hydration.
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DEFAULT_JMP_BROWSER_PAGE_VIEW_DEDUPE_MS,
3
3
  createJmpAnalytics
4
- } from "../chunk-XAEWXWSP.js";
4
+ } from "../chunk-5SXVGQVW.js";
5
5
  import {
6
6
  buildLandingCaptureInlineScript
7
7
  } from "../chunk-TCZ6TC2L.js";
@@ -46,7 +46,7 @@ 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.39";
49
+ var version = "0.1.41";
50
50
 
51
51
  // src/constants.ts
52
52
  var JMP_ANALYTICS_SDK_VERSION = version;
@@ -404,7 +404,50 @@ function normalizeManifestDefaults(defaults) {
404
404
  function normalizeContact(contact) {
405
405
  if (!contact || typeof contact !== "object") return null;
406
406
  const extras = normalizeContactExtras(contact.extras);
407
- return extras.length > 0 ? { extras } : null;
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;
408
451
  }
409
452
  function normalizeContactExtras(extras) {
410
453
  if (!Array.isArray(extras)) return [];
@@ -434,7 +477,7 @@ function inferWrapperSlotsFromManifest(manifest) {
434
477
  slots.add(`trust.${block.section}`);
435
478
  slots.add("trust");
436
479
  }
437
- if (manifest?.contact?.extras?.length) {
480
+ if (manifest?.contact?.extras?.length || manifest?.contact?.leadInbox) {
438
481
  slots.add("contact");
439
482
  }
440
483
  return [...slots];
@@ -916,6 +959,75 @@ async function registerJmpContentWrappers(config) {
916
959
  }
917
960
  setContentWrapperSyncHandler(registerJmpContentWrappers);
918
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
+
919
1031
  // src/content/site-content.ts
920
1032
  var DEFAULT_EXTRA_KEYS = {
921
1033
  founderName: ["founder-name", "founder_name"],