@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,8 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { Metadata } from 'next';
3
3
  import { ComponentType, ReactNode } from 'react';
4
- import { d as JmpLandingPageKind, e as JmpLandingPageSitemapEntry } from '../types-uwXEaMD6.js';
5
- export { a as absoluteJmpSiteUrl, f as filterJmpLandingPagesForDefaultLocale, b as filterJmpLandingPagesForLocalizedRoutes, j as jmpLocalizedLandingStaticParams, p as plainTextFromMarkdown, r as resolveJmpSiteUrl } from '../utils-6a6lNKsg.js';
4
+ import { d as JmpLandingPageKind, e as JmpLandingPageSitemapEntry } from '../types-DH_8sBu9.js';
5
+ export { a as absoluteJmpSiteUrl, f as filterJmpLandingPagesForDefaultLocale, b as filterJmpLandingPagesForLocalizedRoutes, j as jmpLocalizedLandingStaticParams, p as plainTextFromMarkdown, r as resolveJmpSiteUrl } from '../utils-C2JRomti.js';
6
6
 
7
7
  /** `generateStaticParams` for `app/{areas|services}/[slug]/page.tsx` (default locale). */
8
8
  declare function generateJmpLandingStaticParams(kind: JmpLandingPageKind): Promise<{
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  loadLandingPageDetail,
3
3
  loadLandingPages
4
- } from "../chunk-M66PHSBO.js";
5
- import "../chunk-XAEWXWSP.js";
4
+ } from "../chunk-QSKTA7JD.js";
5
+ import "../chunk-5SXVGQVW.js";
6
6
  import "../chunk-TCZ6TC2L.js";
7
7
  import {
8
8
  JMP_LANDING_HUB,
@@ -47,7 +47,7 @@ var import_navigation = require("next/navigation");
47
47
  var LANDING_REFERER_COOKIE_MAX_AGE_SEC = 30 * 60;
48
48
 
49
49
  // package.json
50
- var version = "0.1.39";
50
+ var version = "0.1.41";
51
51
 
52
52
  // src/constants.ts
53
53
  var JMP_ANALYTICS_SDK_VERSION = version;
@@ -416,7 +416,50 @@ function normalizeManifestDefaults(defaults) {
416
416
  function normalizeContact(contact) {
417
417
  if (!contact || typeof contact !== "object") return null;
418
418
  const extras = normalizeContactExtras(contact.extras);
419
- return extras.length > 0 ? { extras } : null;
419
+ const leadInbox = normalizeLeadInbox(contact.leadInbox);
420
+ if (extras.length === 0 && !leadInbox) return null;
421
+ return {
422
+ ...extras.length > 0 ? { extras } : {},
423
+ ...leadInbox ? { leadInbox } : {}
424
+ };
425
+ }
426
+ function normalizeLeadInbox(raw) {
427
+ if (!raw || typeof raw !== "object") return null;
428
+ const list = normalizeInboxKeyList(raw.list, 8);
429
+ const detail = normalizeInboxKeyList(raw.detail, 24);
430
+ const labels = normalizeInboxLabels(raw.labels);
431
+ if (!list && !detail && !labels) return null;
432
+ return {
433
+ ...list ? { list } : {},
434
+ ...detail ? { detail } : {},
435
+ ...labels ? { labels } : {}
436
+ };
437
+ }
438
+ function normalizeInboxKeyList(raw, max) {
439
+ if (!Array.isArray(raw)) return void 0;
440
+ const seen = /* @__PURE__ */ new Set();
441
+ const out = [];
442
+ for (const item of raw) {
443
+ if (typeof item !== "string" || out.length >= max) continue;
444
+ const key = item.trim();
445
+ const token = key.replace(/[^a-zA-Z0-9]+/g, "").toLowerCase();
446
+ if (!key || !token || seen.has(token)) continue;
447
+ seen.add(token);
448
+ out.push(key);
449
+ }
450
+ return out.length > 0 ? out : void 0;
451
+ }
452
+ function normalizeInboxLabels(raw) {
453
+ if (!raw || typeof raw !== "object") return void 0;
454
+ const out = {};
455
+ for (const [key, value] of Object.entries(raw)) {
456
+ if (typeof value !== "string") continue;
457
+ const label = value.trim().slice(0, 60);
458
+ const token = key.trim();
459
+ if (!token || !label) continue;
460
+ out[token] = label;
461
+ }
462
+ return Object.keys(out).length > 0 ? out : void 0;
420
463
  }
421
464
  function normalizeContactExtras(extras) {
422
465
  if (!Array.isArray(extras)) return [];
@@ -446,7 +489,7 @@ function inferWrapperSlotsFromManifest(manifest) {
446
489
  slots.add(`trust.${block.section}`);
447
490
  slots.add("trust");
448
491
  }
449
- if (manifest?.contact?.extras?.length) {
492
+ if (manifest?.contact?.extras?.length || manifest?.contact?.leadInbox) {
450
493
  slots.add("contact");
451
494
  }
452
495
  return [...slots];
@@ -741,6 +784,75 @@ async function registerJmpContentWrappers(config) {
741
784
  }
742
785
  setContentWrapperSyncHandler(registerJmpContentWrappers);
743
786
 
787
+ // ai-crawler-agents.json
788
+ var ai_crawler_agents_default = {
789
+ robotsUserAgents: [
790
+ "GPTBot",
791
+ "ChatGPT-User",
792
+ "OAI-SearchBot",
793
+ "OAI-AdsBot",
794
+ "ClaudeBot",
795
+ "Claude-User",
796
+ "Claude-SearchBot",
797
+ "Claude-Web",
798
+ "PerplexityBot",
799
+ "Perplexity-User",
800
+ "Google-Extended",
801
+ "GoogleOther",
802
+ "GoogleOther-Image",
803
+ "GoogleOther-Video",
804
+ "Google-CloudVertexBot",
805
+ "Meta-ExternalAgent",
806
+ "Meta-ExternalFetcher",
807
+ "FacebookBot",
808
+ "Applebot",
809
+ "Applebot-Extended",
810
+ "CCBot",
811
+ "Bytespider",
812
+ "cohere-ai",
813
+ "cohere-training-data-crawler",
814
+ "YouBot",
815
+ "MistralAI-User",
816
+ "GrokBot",
817
+ "Grok-DeepSearch",
818
+ "xAI-Grok",
819
+ "xAI-Bot"
820
+ ],
821
+ wafUserAgents: [
822
+ "GPTBot",
823
+ "ChatGPT-User",
824
+ "OAI-SearchBot",
825
+ "OAI-AdsBot",
826
+ "ClaudeBot",
827
+ "Claude-User",
828
+ "Claude-SearchBot",
829
+ "Claude-Web",
830
+ "PerplexityBot",
831
+ "Perplexity-User",
832
+ "Google-Extended",
833
+ "GoogleOther",
834
+ "Google-CloudVertexBot",
835
+ "Meta-ExternalAgent",
836
+ "Meta-ExternalFetcher",
837
+ "FacebookBot",
838
+ "Applebot-Extended",
839
+ "CCBot",
840
+ "Bytespider",
841
+ "cohere-ai",
842
+ "cohere-training-data-crawler",
843
+ "YouBot",
844
+ "MistralAI-User",
845
+ "GrokBot",
846
+ "Grok-DeepSearch",
847
+ "xAI-Grok",
848
+ "xAI-Bot"
849
+ ]
850
+ };
851
+
852
+ // src/ai-crawlers.ts
853
+ var AI_CRAWLER_ROBOTS_USER_AGENTS = ai_crawler_agents_default.robotsUserAgents;
854
+ var JMP_AI_CRAWLER_WAF_USER_AGENTS = ai_crawler_agents_default.wafUserAgents;
855
+
744
856
  // src/content/site-content.ts
745
857
  async function loadLocations() {
746
858
  const c = getJmpContentConfig();
@@ -865,7 +977,7 @@ async function JmpLocationHubPage({
865
977
  }
866
978
  async function JmpLocationDetailPage({
867
979
  slug,
868
- siteUrl,
980
+ siteUrl: _siteUrl,
869
981
  components,
870
982
  className,
871
983
  classNames