flowgrid-sdk 1.4.2 → 1.5.0

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 (228) hide show
  1. package/dist/browser.js +12 -9
  2. package/dist/browser.js.map +1 -1
  3. package/dist/flowgrid-enterprise.flowgrid.chunk.js +2 -0
  4. package/dist/flowgrid-enterprise.flowgrid.chunk.js.map +1 -0
  5. package/dist/flowgrid-replay.flowgrid.chunk.js +3 -0
  6. package/dist/flowgrid-replay.flowgrid.chunk.js.LICENSE.txt +14 -0
  7. package/dist/flowgrid-replay.flowgrid.chunk.js.map +1 -0
  8. package/dist/flowgrid-vitals.flowgrid.chunk.js +2 -0
  9. package/dist/flowgrid-vitals.flowgrid.chunk.js.map +1 -0
  10. package/dist/flowgrid.min.js +1 -1
  11. package/dist/flowgrid.min.js.LICENSE.txt +14 -0
  12. package/dist/flowgrid.min.js.map +1 -1
  13. package/dist/index.js +63 -10
  14. package/dist/index.js.map +1 -1
  15. package/dist/lib/client/transport.js +5 -1
  16. package/dist/lib/client/transport.js.map +1 -1
  17. package/dist/lib/consent/index.js +5 -1
  18. package/dist/lib/consent/index.js.map +1 -1
  19. package/dist/lib/consent/manager.js +5 -1
  20. package/dist/lib/consent/manager.js.map +1 -1
  21. package/dist/lib/consent/types.js +2 -1
  22. package/dist/lib/consent/types.js.map +1 -1
  23. package/dist/lib/features/analytics/attribution.js +11 -7
  24. package/dist/lib/features/analytics/attribution.js.map +1 -1
  25. package/dist/lib/features/analytics/events.js +7 -3
  26. package/dist/lib/features/analytics/events.js.map +1 -1
  27. package/dist/lib/features/analytics/funnels.js +7 -3
  28. package/dist/lib/features/analytics/funnels.js.map +1 -1
  29. package/dist/lib/features/analytics/heatmaps.js +12 -8
  30. package/dist/lib/features/analytics/heatmaps.js.map +1 -1
  31. package/dist/lib/features/analytics/identify.js +7 -3
  32. package/dist/lib/features/analytics/identify.js.map +1 -1
  33. package/dist/lib/features/analytics/index.js +24 -10
  34. package/dist/lib/features/analytics/index.js.map +1 -1
  35. package/dist/lib/features/analytics/page-views.js +12 -8
  36. package/dist/lib/features/analytics/page-views.js.map +1 -1
  37. package/dist/lib/features/analytics/performance.js +46 -9
  38. package/dist/lib/features/analytics/performance.js.map +1 -1
  39. package/dist/lib/features/analytics/replay.js +46 -9
  40. package/dist/lib/features/analytics/replay.js.map +1 -1
  41. package/dist/lib/features/analytics/retention.js +7 -3
  42. package/dist/lib/features/analytics/retention.js.map +1 -1
  43. package/dist/lib/features/analytics/sessions.js +12 -8
  44. package/dist/lib/features/analytics/sessions.js.map +1 -1
  45. package/dist/lib/features/core/activation.js +7 -3
  46. package/dist/lib/features/core/activation.js.map +1 -1
  47. package/dist/lib/features/core/experiment.js +9 -5
  48. package/dist/lib/features/core/experiment.js.map +1 -1
  49. package/dist/lib/features/core/index.js +11 -4
  50. package/dist/lib/features/core/index.js.map +1 -1
  51. package/dist/lib/features/core/track-feature.js +7 -3
  52. package/dist/lib/features/core/track-feature.js.map +1 -1
  53. package/dist/lib/features/core/track-prompt.js +7 -3
  54. package/dist/lib/features/core/track-prompt.js.map +1 -1
  55. package/dist/lib/features/ecommerce/cart.js +7 -3
  56. package/dist/lib/features/ecommerce/cart.js.map +1 -1
  57. package/dist/lib/features/ecommerce/checkout.js +7 -3
  58. package/dist/lib/features/ecommerce/checkout.js.map +1 -1
  59. package/dist/lib/features/ecommerce/index.js +23 -10
  60. package/dist/lib/features/ecommerce/index.js.map +1 -1
  61. package/dist/lib/features/ecommerce/ltv.js +7 -3
  62. package/dist/lib/features/ecommerce/ltv.js.map +1 -1
  63. package/dist/lib/features/ecommerce/products.js +7 -3
  64. package/dist/lib/features/ecommerce/products.js.map +1 -1
  65. package/dist/lib/features/ecommerce/promotions.js +7 -3
  66. package/dist/lib/features/ecommerce/promotions.js.map +1 -1
  67. package/dist/lib/features/ecommerce/purchases.js +7 -3
  68. package/dist/lib/features/ecommerce/purchases.js.map +1 -1
  69. package/dist/lib/features/ecommerce/refunds.js +7 -3
  70. package/dist/lib/features/ecommerce/refunds.js.map +1 -1
  71. package/dist/lib/features/ecommerce/search.js +7 -3
  72. package/dist/lib/features/ecommerce/search.js.map +1 -1
  73. package/dist/lib/features/ecommerce/subscriptions.js +7 -3
  74. package/dist/lib/features/ecommerce/subscriptions.js.map +1 -1
  75. package/dist/lib/features/ecommerce/wishlist.js +7 -3
  76. package/dist/lib/features/ecommerce/wishlist.js.map +1 -1
  77. package/dist/lib/features/enterprise/acquisition.js +16 -7
  78. package/dist/lib/features/enterprise/acquisition.js.map +1 -1
  79. package/dist/lib/features/enterprise/alerts.js +18 -8
  80. package/dist/lib/features/enterprise/alerts.js.map +1 -1
  81. package/dist/lib/features/enterprise/churn.js +12 -5
  82. package/dist/lib/features/enterprise/churn.js.map +1 -1
  83. package/dist/lib/features/enterprise/cohorts.js +10 -4
  84. package/dist/lib/features/enterprise/cohorts.js.map +1 -1
  85. package/dist/lib/features/enterprise/engagement.js +19 -12
  86. package/dist/lib/features/enterprise/engagement.js.map +1 -1
  87. package/dist/lib/features/enterprise/forecasting.js +18 -8
  88. package/dist/lib/features/enterprise/forecasting.js.map +1 -1
  89. package/dist/lib/features/enterprise/index.js +75 -22
  90. package/dist/lib/features/enterprise/index.js.map +1 -1
  91. package/dist/lib/features/enterprise/monetization.js +16 -7
  92. package/dist/lib/features/enterprise/monetization.js.map +1 -1
  93. package/dist/lib/features/enterprise/multi-path-funnels.js +16 -7
  94. package/dist/lib/features/enterprise/multi-path-funnels.js.map +1 -1
  95. package/dist/lib/features/enterprise/paths.js +18 -8
  96. package/dist/lib/features/enterprise/paths.js.map +1 -1
  97. package/dist/lib/features/enterprise/security.js +14 -6
  98. package/dist/lib/features/enterprise/security.js.map +1 -1
  99. package/dist/lib/features/enterprise/support.js +14 -6
  100. package/dist/lib/features/enterprise/support.js.map +1 -1
  101. package/dist/lib/flowgrid.d.ts +15 -4
  102. package/dist/lib/flowgrid.js +146 -48
  103. package/dist/lib/flowgrid.js.map +1 -1
  104. package/dist/lib/tracking/analytics/attribution.d.ts +3 -3
  105. package/dist/lib/tracking/analytics/attribution.js +5 -1
  106. package/dist/lib/tracking/analytics/attribution.js.map +1 -1
  107. package/dist/lib/tracking/analytics/events.d.ts +6 -6
  108. package/dist/lib/tracking/analytics/events.js +5 -1
  109. package/dist/lib/tracking/analytics/events.js.map +1 -1
  110. package/dist/lib/tracking/analytics/funnels.d.ts +4 -4
  111. package/dist/lib/tracking/analytics/funnels.js +5 -1
  112. package/dist/lib/tracking/analytics/funnels.js.map +1 -1
  113. package/dist/lib/tracking/analytics/heatmaps.d.ts +3 -3
  114. package/dist/lib/tracking/analytics/heatmaps.js +5 -1
  115. package/dist/lib/tracking/analytics/heatmaps.js.map +1 -1
  116. package/dist/lib/tracking/analytics/identify.d.ts +4 -4
  117. package/dist/lib/tracking/analytics/identify.js +5 -1
  118. package/dist/lib/tracking/analytics/identify.js.map +1 -1
  119. package/dist/lib/tracking/analytics/index.js +23 -10
  120. package/dist/lib/tracking/analytics/index.js.map +1 -1
  121. package/dist/lib/tracking/analytics/page-views.d.ts +4 -4
  122. package/dist/lib/tracking/analytics/page-views.js +5 -1
  123. package/dist/lib/tracking/analytics/page-views.js.map +1 -1
  124. package/dist/lib/tracking/analytics/performance.d.ts +3 -3
  125. package/dist/lib/tracking/analytics/performance.js +5 -1
  126. package/dist/lib/tracking/analytics/performance.js.map +1 -1
  127. package/dist/lib/tracking/analytics/replay.js +5 -1
  128. package/dist/lib/tracking/analytics/replay.js.map +1 -1
  129. package/dist/lib/tracking/analytics/retention.d.ts +1 -1
  130. package/dist/lib/tracking/analytics/retention.js +5 -1
  131. package/dist/lib/tracking/analytics/retention.js.map +1 -1
  132. package/dist/lib/tracking/analytics/sessions.d.ts +4 -4
  133. package/dist/lib/tracking/analytics/sessions.js +5 -1
  134. package/dist/lib/tracking/analytics/sessions.js.map +1 -1
  135. package/dist/lib/tracking/core/activation.d.ts +5 -5
  136. package/dist/lib/tracking/core/activation.js +5 -1
  137. package/dist/lib/tracking/core/activation.js.map +1 -1
  138. package/dist/lib/tracking/core/experiment.d.ts +4 -4
  139. package/dist/lib/tracking/core/experiment.js +5 -1
  140. package/dist/lib/tracking/core/experiment.js.map +1 -1
  141. package/dist/lib/tracking/core/feature.d.ts +2 -2
  142. package/dist/lib/tracking/core/feature.js +5 -1
  143. package/dist/lib/tracking/core/feature.js.map +1 -1
  144. package/dist/lib/tracking/core/index.js +11 -4
  145. package/dist/lib/tracking/core/index.js.map +1 -1
  146. package/dist/lib/tracking/core/prompt.d.ts +5 -5
  147. package/dist/lib/tracking/core/prompt.js +5 -1
  148. package/dist/lib/tracking/core/prompt.js.map +1 -1
  149. package/dist/lib/tracking/ecommerce/cart.d.ts +4 -4
  150. package/dist/lib/tracking/ecommerce/cart.js +5 -1
  151. package/dist/lib/tracking/ecommerce/cart.js.map +1 -1
  152. package/dist/lib/tracking/ecommerce/checkout.d.ts +4 -4
  153. package/dist/lib/tracking/ecommerce/checkout.js +5 -1
  154. package/dist/lib/tracking/ecommerce/checkout.js.map +1 -1
  155. package/dist/lib/tracking/ecommerce/index.js +23 -10
  156. package/dist/lib/tracking/ecommerce/index.js.map +1 -1
  157. package/dist/lib/tracking/ecommerce/ltv.d.ts +2 -2
  158. package/dist/lib/tracking/ecommerce/ltv.js +5 -1
  159. package/dist/lib/tracking/ecommerce/ltv.js.map +1 -1
  160. package/dist/lib/tracking/ecommerce/products.d.ts +3 -3
  161. package/dist/lib/tracking/ecommerce/products.js +5 -1
  162. package/dist/lib/tracking/ecommerce/products.js.map +1 -1
  163. package/dist/lib/tracking/ecommerce/promotions.d.ts +3 -3
  164. package/dist/lib/tracking/ecommerce/promotions.js +5 -1
  165. package/dist/lib/tracking/ecommerce/promotions.js.map +1 -1
  166. package/dist/lib/tracking/ecommerce/purchases.d.ts +1 -1
  167. package/dist/lib/tracking/ecommerce/purchases.js +5 -1
  168. package/dist/lib/tracking/ecommerce/purchases.js.map +1 -1
  169. package/dist/lib/tracking/ecommerce/refunds.d.ts +4 -4
  170. package/dist/lib/tracking/ecommerce/refunds.js +5 -1
  171. package/dist/lib/tracking/ecommerce/refunds.js.map +1 -1
  172. package/dist/lib/tracking/ecommerce/search.d.ts +4 -4
  173. package/dist/lib/tracking/ecommerce/search.js +5 -1
  174. package/dist/lib/tracking/ecommerce/search.js.map +1 -1
  175. package/dist/lib/tracking/ecommerce/subscriptions.d.ts +6 -6
  176. package/dist/lib/tracking/ecommerce/subscriptions.js +5 -1
  177. package/dist/lib/tracking/ecommerce/subscriptions.js.map +1 -1
  178. package/dist/lib/tracking/ecommerce/wishlist.d.ts +5 -5
  179. package/dist/lib/tracking/ecommerce/wishlist.js +5 -1
  180. package/dist/lib/tracking/ecommerce/wishlist.js.map +1 -1
  181. package/dist/lib/tracking/enterprise/acquisition.js +5 -1
  182. package/dist/lib/tracking/enterprise/acquisition.js.map +1 -1
  183. package/dist/lib/tracking/enterprise/alerts.js +5 -1
  184. package/dist/lib/tracking/enterprise/alerts.js.map +1 -1
  185. package/dist/lib/tracking/enterprise/churn.d.ts +1 -1
  186. package/dist/lib/tracking/enterprise/churn.js +5 -1
  187. package/dist/lib/tracking/enterprise/churn.js.map +1 -1
  188. package/dist/lib/tracking/enterprise/cohorts.d.ts +1 -1
  189. package/dist/lib/tracking/enterprise/cohorts.js +5 -1
  190. package/dist/lib/tracking/enterprise/cohorts.js.map +1 -1
  191. package/dist/lib/tracking/enterprise/engagement.d.ts +4 -4
  192. package/dist/lib/tracking/enterprise/engagement.js +5 -1
  193. package/dist/lib/tracking/enterprise/engagement.js.map +1 -1
  194. package/dist/lib/tracking/enterprise/forecasting.d.ts +4 -4
  195. package/dist/lib/tracking/enterprise/forecasting.js +5 -1
  196. package/dist/lib/tracking/enterprise/forecasting.js.map +1 -1
  197. package/dist/lib/tracking/enterprise/index.js +25 -11
  198. package/dist/lib/tracking/enterprise/index.js.map +1 -1
  199. package/dist/lib/tracking/enterprise/monetization.js +5 -1
  200. package/dist/lib/tracking/enterprise/monetization.js.map +1 -1
  201. package/dist/lib/tracking/enterprise/multi-path-funnels.js +5 -1
  202. package/dist/lib/tracking/enterprise/multi-path-funnels.js.map +1 -1
  203. package/dist/lib/tracking/enterprise/paths.js +5 -1
  204. package/dist/lib/tracking/enterprise/paths.js.map +1 -1
  205. package/dist/lib/tracking/enterprise/security.js +5 -1
  206. package/dist/lib/tracking/enterprise/security.js.map +1 -1
  207. package/dist/lib/tracking/enterprise/support.js +5 -1
  208. package/dist/lib/tracking/enterprise/support.js.map +1 -1
  209. package/dist/lib/tracking/index.js +20 -4
  210. package/dist/lib/tracking/index.js.map +1 -1
  211. package/dist/lib/types/analytics.js +2 -1
  212. package/dist/lib/types/analytics.js.map +1 -1
  213. package/dist/lib/types/common.js +2 -1
  214. package/dist/lib/types/common.js.map +1 -1
  215. package/dist/lib/types/ecommerce.js +2 -1
  216. package/dist/lib/types/ecommerce.js.map +1 -1
  217. package/dist/lib/types/index.js +19 -3
  218. package/dist/lib/types/index.js.map +1 -1
  219. package/dist/lib/utils/browser.js +10 -4
  220. package/dist/lib/utils/browser.js.map +1 -1
  221. package/dist/lib/utils/identity.js +8 -4
  222. package/dist/lib/utils/identity.js.map +1 -1
  223. package/dist/lib/utils/storage.js +14 -6
  224. package/dist/lib/utils/storage.js.map +1 -1
  225. package/dist/umd/index.js +2 -1
  226. package/dist/umd/index.js.LICENSE.txt +14 -0
  227. package/dist/umd/index.js.map +1 -1
  228. package/package.json +2 -1
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * @fileoverview Enterprise - Customer Support & Experience Analytics
3
4
  * @module features/enterprise/support
@@ -39,14 +40,20 @@
39
40
  * });
40
41
  * ```
41
42
  */
42
- import { FlowGridTransport } from "../../client/transport";
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.SupportAnalytics = void 0;
45
+ exports.calculateFCRRate = calculateFCRRate;
46
+ exports.calculateAvgResponseTime = calculateAvgResponseTime;
47
+ exports.classifyCSAT = classifyCSAT;
48
+ exports.formatDuration = formatDuration;
49
+ const transport_1 = require("../../client/transport");
43
50
  // ============================================================================
44
51
  // HELPER FUNCTIONS
45
52
  // ============================================================================
46
53
  /**
47
54
  * Calculate first contact resolution rate.
48
55
  */
49
- export function calculateFCRRate(resolvedFirstContact, totalResolved) {
56
+ function calculateFCRRate(resolvedFirstContact, totalResolved) {
50
57
  if (totalResolved === 0)
51
58
  return 0;
52
59
  return Math.round((resolvedFirstContact / totalResolved) * 10000) / 100;
@@ -54,7 +61,7 @@ export function calculateFCRRate(resolvedFirstContact, totalResolved) {
54
61
  /**
55
62
  * Calculate average response time.
56
63
  */
57
- export function calculateAvgResponseTime(responseTimes) {
64
+ function calculateAvgResponseTime(responseTimes) {
58
65
  if (responseTimes.length === 0)
59
66
  return 0;
60
67
  const sum = responseTimes.reduce((a, b) => a + b, 0);
@@ -63,7 +70,7 @@ export function calculateAvgResponseTime(responseTimes) {
63
70
  /**
64
71
  * Classify CSAT score.
65
72
  */
66
- export function classifyCSAT(score) {
73
+ function classifyCSAT(score) {
67
74
  if (score < 2)
68
75
  return 'poor';
69
76
  if (score < 3)
@@ -75,7 +82,7 @@ export function classifyCSAT(score) {
75
82
  /**
76
83
  * Format duration in human-readable format.
77
84
  */
78
- export function formatDuration(ms) {
85
+ function formatDuration(ms) {
79
86
  if (ms < 60000)
80
87
  return `${Math.round(ms / 1000)}s`;
81
88
  if (ms < 3600000)
@@ -90,7 +97,7 @@ export function formatDuration(ms) {
90
97
  /**
91
98
  * Customer support and experience analytics class.
92
99
  */
93
- export class SupportAnalytics extends FlowGridTransport {
100
+ class SupportAnalytics extends transport_1.FlowGridTransport {
94
101
  /**
95
102
  * Track new support ticket.
96
103
  */
@@ -159,4 +166,5 @@ export class SupportAnalytics extends FlowGridTransport {
159
166
  });
160
167
  }
161
168
  }
169
+ exports.SupportAnalytics = SupportAnalytics;
162
170
  //# sourceMappingURL=support.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"support.js","sourceRoot":"","sources":["../../../../src/lib/features/enterprise/support.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"support.js","sourceRoot":"","sources":["../../../../src/lib/features/enterprise/support.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,10 @@
31
31
  */
32
32
  import { FlowGridTransport, FlowGridTransportConfig } from "./client/transport";
33
33
  import { IdentityManager } from "./utils/identity";
34
- import { ActivationTracker, ExperimentTracker, FeatureTracker, PromptTracker, EventTracker, PageViewTracker, SessionTracker, IdentifyTracker, FunnelTracker, RetentionTracker, AttributionTracker, HeatmapTracker, PerformanceTracker, ReplayTracker, ProductTracker, CartTracker, CheckoutTracker, PurchaseTracker, RefundTracker, PromotionTracker, WishlistTracker, SubscriptionTracker, LTVTracker, SearchTracker, EngagementTracker, CohortTracker, ChurnTracker, MonetizationTracker, MultiPathFunnelTracker, SupportTracker, AcquisitionTracker, PathTracker, AlertTracker, SecurityTracker, ForecastingTracker } from "./tracking";
34
+ import type { EngagementTracker, CohortTracker, ChurnTracker, MonetizationTracker, MultiPathFunnelTracker, SupportTracker, AcquisitionTracker, PathTracker, AlertTracker, SecurityTracker, ForecastingTracker } from "./tracking/enterprise";
35
+ import { ActivationTracker, ExperimentTracker, FeatureTracker, PromptTracker } from "./tracking/core";
36
+ import { EventTracker, PageViewTracker, SessionTracker, IdentifyTracker, FunnelTracker, RetentionTracker, AttributionTracker, HeatmapTracker, PerformanceTracker, ReplayTracker } from "./tracking/analytics";
37
+ import { ProductTracker, CartTracker, CheckoutTracker, PurchaseTracker, RefundTracker, PromotionTracker, WishlistTracker, SubscriptionTracker, LTVTracker, SearchTracker } from "./tracking/ecommerce";
35
38
  export type FlowGridTrackDomain = "event" | "activation" | "feature" | "prompt" | "experiment" | "ecommerce" | "analytics" | "retention" | "attribution" | "funnel" | "engagement" | "churn" | "monetization" | "support" | "acquisition" | "paths" | "security" | "multiPathFunnels";
36
39
  export interface FlowGridTrackOptions {
37
40
  userId?: string;
@@ -840,6 +843,13 @@ export declare class FlowGrid {
840
843
  static init(config: FlowGridInitConfig): FlowGrid;
841
844
  /** Returns the singleton created by {@link FlowGrid.init}, if any. */
842
845
  static instance(): FlowGrid | null;
846
+ /**
847
+ * Await the enterprise feature chunk. Call this before accessing any
848
+ * enterprise namespace (`fg.engagement`, `fg.churn`, etc.) if you need
849
+ * guaranteed availability rather than relying on the background pre-fetch
850
+ * started by `init()`.
851
+ */
852
+ static loadEnterprise(): Promise<void>;
843
853
  /**
844
854
  * Reset the singleton — primarily for tests / hot-reload. Tears down any
845
855
  * active auto-instrumentation.
@@ -876,6 +886,7 @@ export declare class FlowGrid {
876
886
  get ltv(): LTVTracker;
877
887
  get search(): SearchTracker;
878
888
  get subscriptions(): SubscriptionTracker;
889
+ private _requireEnterprise;
879
890
  get engagement(): EngagementTracker;
880
891
  get cohorts(): CohortTracker;
881
892
  get churn(): ChurnTracker;
@@ -924,7 +935,7 @@ export declare class FlowGrid {
924
935
  experiment(experimentId: string, options: {
925
936
  variant: string;
926
937
  userId: string;
927
- }): Promise<import("./features/core").ExperimentResponse>;
938
+ }): Promise<import("..").ExperimentResponse>;
928
939
  /**
929
940
  * Identify a user.
930
941
  *
@@ -933,7 +944,7 @@ export declare class FlowGrid {
933
944
  * fg.identifyUser("u_1", { plan: "pro", email: "alice@example.com" });
934
945
  * ```
935
946
  */
936
- identifyUser(userId: string, traits?: Record<string, unknown>, anonymousId?: string): Promise<import("./features/analytics").IdentifyResponse>;
947
+ identifyUser(userId: string, traits?: Record<string, unknown>, anonymousId?: string): Promise<import("..").IdentifyResponse>;
937
948
  /**
938
949
  * Track a page view. Auto-detects URL/path/title/referrer in the browser.
939
950
  *
@@ -948,7 +959,7 @@ export declare class FlowGrid {
948
959
  referrer?: string;
949
960
  userId?: string;
950
961
  sessionId?: string;
951
- }): Promise<import("./features/analytics").PageViewResponse>;
962
+ }): Promise<import("..").PageViewResponse>;
952
963
  /**
953
964
  * Enable browser-side auto-instrumentation in a single call. Subscribes to:
954
965
  *
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * @fileoverview Unified FlowGrid SDK facade.
3
4
  * @module flowgrid
@@ -29,13 +30,66 @@
29
30
  * fg.events.client.track({ eventName: "x", sessionId: "...", category: "..." });
30
31
  * ```
31
32
  */
32
- import { FlowGridTransport } from "./client/transport";
33
- import { IdentityManager } from "./utils/identity";
34
- import { Activation, TrackFeature, TrackPrompt, Experiment } from "./features/core";
35
- import { PageViews, Sessions, Events, Identify, Funnels, Retention, Attribution, Heatmaps, PerformanceTracking, SessionReplay, } from "./features/analytics";
36
- import { Products, CartTracking, Checkout, Purchases, Refunds, Promotions, WishlistTracking, CustomerLTV, SearchAnalytics, Subscriptions, } from "./features/ecommerce";
37
- import { Engagement, Cohorts, ChurnAnalytics, Monetization, MultiPathFunnels, SupportAnalytics, AcquisitionAnalytics, PathAnalytics, AlertsAnalytics, SecurityAnalytics, Forecasting, } from "./features/enterprise";
38
- import { ActivationTracker, ExperimentTracker, FeatureTracker, PromptTracker, EventTracker, PageViewTracker, SessionTracker, IdentifyTracker, FunnelTracker, RetentionTracker, AttributionTracker, HeatmapTracker, PerformanceTracker, ReplayTracker, ProductTracker, CartTracker, CheckoutTracker, PurchaseTracker, RefundTracker, PromotionTracker, WishlistTracker, SubscriptionTracker, LTVTracker, SearchTracker, EngagementTracker, CohortTracker, ChurnTracker, MonetizationTracker, MultiPathFunnelTracker, SupportTracker, AcquisitionTracker, PathTracker, AlertTracker, SecurityTracker, ForecastingTracker, } from "./tracking";
33
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
34
+ if (k2 === undefined) k2 = k;
35
+ var desc = Object.getOwnPropertyDescriptor(m, k);
36
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
37
+ desc = { enumerable: true, get: function() { return m[k]; } };
38
+ }
39
+ Object.defineProperty(o, k2, desc);
40
+ }) : (function(o, m, k, k2) {
41
+ if (k2 === undefined) k2 = k;
42
+ o[k2] = m[k];
43
+ }));
44
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
45
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
46
+ }) : function(o, v) {
47
+ o["default"] = v;
48
+ });
49
+ var __importStar = (this && this.__importStar) || (function () {
50
+ var ownKeys = function(o) {
51
+ ownKeys = Object.getOwnPropertyNames || function (o) {
52
+ var ar = [];
53
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
54
+ return ar;
55
+ };
56
+ return ownKeys(o);
57
+ };
58
+ return function (mod) {
59
+ if (mod && mod.__esModule) return mod;
60
+ var result = {};
61
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
62
+ __setModuleDefault(result, mod);
63
+ return result;
64
+ };
65
+ })();
66
+ Object.defineProperty(exports, "__esModule", { value: true });
67
+ exports.FlowGrid = void 0;
68
+ const transport_1 = require("./client/transport");
69
+ const identity_1 = require("./utils/identity");
70
+ const core_1 = require("./features/core");
71
+ const analytics_1 = require("./features/analytics");
72
+ const ecommerce_1 = require("./features/ecommerce");
73
+ // Import directly from sub-barrels (not the top-level ./tracking barrel) so
74
+ // the static module graph never reaches ./tracking/enterprise and its
75
+ // dependencies can be tree-shaken / placed only in the async chunk.
76
+ const core_2 = require("./tracking/core");
77
+ const analytics_2 = require("./tracking/analytics");
78
+ const ecommerce_2 = require("./tracking/ecommerce");
79
+ // ---- Enterprise lazy-load state (module-level singleton) ----
80
+ let _enterpriseFeatures = null;
81
+ let _enterpriseTracking = null;
82
+ function loadEnterpriseModules() {
83
+ if (_enterpriseFeatures && _enterpriseTracking)
84
+ return Promise.resolve();
85
+ return Promise.all([
86
+ Promise.resolve().then(() => __importStar(require(/* webpackChunkName: "flowgrid-enterprise" */ "./features/enterprise"))),
87
+ Promise.resolve().then(() => __importStar(require(/* webpackChunkName: "flowgrid-enterprise" */ "./tracking/enterprise"))),
88
+ ]).then(([features, tracking]) => {
89
+ _enterpriseFeatures = features;
90
+ _enterpriseTracking = tracking;
91
+ });
92
+ }
39
93
  const UNHANDLED_TRACK = { handled: false };
40
94
  const PRODUCT_KEYS = [
41
95
  "productId",
@@ -112,7 +166,7 @@ const DEFAULT_ENDPOINT = "https://core.flow-grid.xyz";
112
166
  * Each feature is exposed as a lazily-initialised shortcut wrapper, so the
113
167
  * SDK has zero overhead for unused features.
114
168
  */
115
- export class FlowGrid {
169
+ class FlowGrid {
116
170
  /**
117
171
  * One-line init. Idempotent — calling twice returns the same instance and
118
172
  * logs a warning instead of starting auto-instrumentation again.
@@ -147,6 +201,9 @@ export class FlowGrid {
147
201
  }
148
202
  const fg = new FlowGrid(config.webId, config.endpoint ?? DEFAULT_ENDPOINT, config.apiKey, config.visitorId, config.identityManager, config.transport);
149
203
  FlowGrid._instance = fg;
204
+ // Pre-fetch the enterprise chunk immediately so getters are ready by the
205
+ // time user code first accesses them (typically well after init returns).
206
+ void loadEnterpriseModules();
150
207
  // Identify the user before auto-instrumentation so the very first events
151
208
  // (session_start, page_view) carry the userId.
152
209
  if (config.user?.userId) {
@@ -170,6 +227,15 @@ export class FlowGrid {
170
227
  static instance() {
171
228
  return FlowGrid._instance;
172
229
  }
230
+ /**
231
+ * Await the enterprise feature chunk. Call this before accessing any
232
+ * enterprise namespace (`fg.engagement`, `fg.churn`, etc.) if you need
233
+ * guaranteed availability rather than relying on the background pre-fetch
234
+ * started by `init()`.
235
+ */
236
+ static loadEnterprise() {
237
+ return loadEnterpriseModules();
238
+ }
173
239
  /**
174
240
  * Reset the singleton — primarily for tests / hot-reload. Tears down any
175
241
  * active auto-instrumentation.
@@ -196,7 +262,7 @@ export class FlowGrid {
196
262
  this.endpoint = endpoint;
197
263
  this.apiKey = apiKey;
198
264
  this.visitorId = visitorId;
199
- this.identityManager = identityManager ?? new IdentityManager(visitorId ? { visitorId } : undefined);
265
+ this.identityManager = identityManager ?? new identity_1.IdentityManager(visitorId ? { visitorId } : undefined);
200
266
  this.config = config;
201
267
  }
202
268
  raw(key, Klass) {
@@ -216,44 +282,57 @@ export class FlowGrid {
216
282
  return instance;
217
283
  }
218
284
  // ---- Core ----
219
- get activation() { return this.wrap("activation", Activation, ActivationTracker); }
220
- get features() { return this.wrap("features", TrackFeature, FeatureTracker); }
221
- get prompts() { return this.wrap("prompts", TrackPrompt, PromptTracker); }
222
- get experiments() { return this.wrap("experiments", Experiment, ExperimentTracker); }
285
+ get activation() { return this.wrap("activation", core_1.Activation, core_2.ActivationTracker); }
286
+ get features() { return this.wrap("features", core_1.TrackFeature, core_2.FeatureTracker); }
287
+ get prompts() { return this.wrap("prompts", core_1.TrackPrompt, core_2.PromptTracker); }
288
+ get experiments() { return this.wrap("experiments", core_1.Experiment, core_2.ExperimentTracker); }
223
289
  // ---- Analytics ----
224
- get pageViews() { return this.wrap("pageViews", PageViews, PageViewTracker); }
225
- get sessions() { return this.wrap("sessions", Sessions, SessionTracker); }
226
- get events() { return this.wrap("events", Events, EventTracker); }
227
- get identify() { return this.wrap("identify", Identify, IdentifyTracker); }
228
- get funnels() { return this.wrap("funnels", Funnels, FunnelTracker); }
229
- get retention() { return this.wrap("retention", Retention, RetentionTracker); }
230
- get attribution() { return this.wrap("attribution", Attribution, AttributionTracker); }
231
- get heatmaps() { return this.wrap("heatmaps", Heatmaps, HeatmapTracker); }
232
- get performance() { return this.wrap("performance", PerformanceTracking, PerformanceTracker); }
233
- get replay() { return this.wrap("replay", SessionReplay, ReplayTracker); }
290
+ get pageViews() { return this.wrap("pageViews", analytics_1.PageViews, analytics_2.PageViewTracker); }
291
+ get sessions() { return this.wrap("sessions", analytics_1.Sessions, analytics_2.SessionTracker); }
292
+ get events() { return this.wrap("events", analytics_1.Events, analytics_2.EventTracker); }
293
+ get identify() { return this.wrap("identify", analytics_1.Identify, analytics_2.IdentifyTracker); }
294
+ get funnels() { return this.wrap("funnels", analytics_1.Funnels, analytics_2.FunnelTracker); }
295
+ get retention() { return this.wrap("retention", analytics_1.Retention, analytics_2.RetentionTracker); }
296
+ get attribution() { return this.wrap("attribution", analytics_1.Attribution, analytics_2.AttributionTracker); }
297
+ get heatmaps() { return this.wrap("heatmaps", analytics_1.Heatmaps, analytics_2.HeatmapTracker); }
298
+ get performance() { return this.wrap("performance", analytics_1.PerformanceTracking, analytics_2.PerformanceTracker); }
299
+ get replay() { return this.wrap("replay", analytics_1.SessionReplay, analytics_2.ReplayTracker); }
234
300
  // ---- Ecommerce ----
235
- get products() { return this.wrap("products", Products, ProductTracker); }
236
- get cart() { return this.wrap("cart", CartTracking, CartTracker); }
237
- get checkout() { return this.wrap("checkout", Checkout, CheckoutTracker); }
238
- get purchases() { return this.wrap("purchases", Purchases, PurchaseTracker); }
239
- get refunds() { return this.wrap("refunds", Refunds, RefundTracker); }
240
- get promotions() { return this.wrap("promotions", Promotions, PromotionTracker); }
241
- get wishlist() { return this.wrap("wishlist", WishlistTracking, WishlistTracker); }
242
- get ltv() { return this.wrap("ltv", CustomerLTV, LTVTracker); }
243
- get search() { return this.wrap("search", SearchAnalytics, SearchTracker); }
244
- get subscriptions() { return this.wrap("subscriptions", Subscriptions, SubscriptionTracker); }
301
+ get products() { return this.wrap("products", ecommerce_1.Products, ecommerce_2.ProductTracker); }
302
+ get cart() { return this.wrap("cart", ecommerce_1.CartTracking, ecommerce_2.CartTracker); }
303
+ get checkout() { return this.wrap("checkout", ecommerce_1.Checkout, ecommerce_2.CheckoutTracker); }
304
+ get purchases() { return this.wrap("purchases", ecommerce_1.Purchases, ecommerce_2.PurchaseTracker); }
305
+ get refunds() { return this.wrap("refunds", ecommerce_1.Refunds, ecommerce_2.RefundTracker); }
306
+ get promotions() { return this.wrap("promotions", ecommerce_1.Promotions, ecommerce_2.PromotionTracker); }
307
+ get wishlist() { return this.wrap("wishlist", ecommerce_1.WishlistTracking, ecommerce_2.WishlistTracker); }
308
+ get ltv() { return this.wrap("ltv", ecommerce_1.CustomerLTV, ecommerce_2.LTVTracker); }
309
+ get search() { return this.wrap("search", ecommerce_1.SearchAnalytics, ecommerce_2.SearchTracker); }
310
+ get subscriptions() { return this.wrap("subscriptions", ecommerce_1.Subscriptions, ecommerce_2.SubscriptionTracker); }
245
311
  // ---- Enterprise ----
246
- get engagement() { return this.wrap("engagement", Engagement, EngagementTracker); }
247
- get cohorts() { return this.wrap("cohorts", Cohorts, CohortTracker); }
248
- get churn() { return this.wrap("churn", ChurnAnalytics, ChurnTracker); }
249
- get monetization() { return this.wrap("monetization", Monetization, MonetizationTracker); }
250
- get multiPathFunnels() { return this.wrap("multiPathFunnels", MultiPathFunnels, MultiPathFunnelTracker); }
251
- get support() { return this.wrap("support", SupportAnalytics, SupportTracker); }
252
- get acquisition() { return this.wrap("acquisition", AcquisitionAnalytics, AcquisitionTracker); }
253
- get paths() { return this.wrap("paths", PathAnalytics, PathTracker); }
254
- get alerts() { return this.wrap("alerts", AlertsAnalytics, AlertTracker); }
255
- get security() { return this.wrap("security", SecurityAnalytics, SecurityTracker); }
256
- get forecasting() { return this.wrap("forecasting", Forecasting, ForecastingTracker); }
312
+ // These getters pull classes from the lazily-loaded enterprise chunk.
313
+ // The chunk is pre-fetched by init() so it's almost always ready by the
314
+ // time user code accesses these properties. loadEnterprise() is available
315
+ // for the rare case where callers need to await readiness explicitly.
316
+ _requireEnterprise() {
317
+ const ent = _enterpriseFeatures;
318
+ const entT = _enterpriseTracking;
319
+ if (!ent || !entT) {
320
+ throw new Error("[FlowGrid] Enterprise features are still loading. " +
321
+ "await FlowGrid.loadEnterprise() before accessing enterprise namespaces directly.");
322
+ }
323
+ return { ent, entT };
324
+ }
325
+ get engagement() { const { ent, entT } = this._requireEnterprise(); return this.wrap("engagement", ent.Engagement, entT.EngagementTracker); }
326
+ get cohorts() { const { ent, entT } = this._requireEnterprise(); return this.wrap("cohorts", ent.Cohorts, entT.CohortTracker); }
327
+ get churn() { const { ent, entT } = this._requireEnterprise(); return this.wrap("churn", ent.ChurnAnalytics, entT.ChurnTracker); }
328
+ get monetization() { const { ent, entT } = this._requireEnterprise(); return this.wrap("monetization", ent.Monetization, entT.MonetizationTracker); }
329
+ get multiPathFunnels() { const { ent, entT } = this._requireEnterprise(); return this.wrap("multiPathFunnels", ent.MultiPathFunnels, entT.MultiPathFunnelTracker); }
330
+ get support() { const { ent, entT } = this._requireEnterprise(); return this.wrap("support", ent.SupportAnalytics, entT.SupportTracker); }
331
+ get acquisition() { const { ent, entT } = this._requireEnterprise(); return this.wrap("acquisition", ent.AcquisitionAnalytics, entT.AcquisitionTracker); }
332
+ get paths() { const { ent, entT } = this._requireEnterprise(); return this.wrap("paths", ent.PathAnalytics, entT.PathTracker); }
333
+ get alerts() { const { ent, entT } = this._requireEnterprise(); return this.wrap("alerts", ent.AlertsAnalytics, entT.AlertTracker); }
334
+ get security() { const { ent, entT } = this._requireEnterprise(); return this.wrap("security", ent.SecurityAnalytics, entT.SecurityTracker); }
335
+ get forecasting() { const { ent, entT } = this._requireEnterprise(); return this.wrap("forecasting", ent.Forecasting, entT.ForecastingTracker); }
257
336
  track(eventName, properties = {}, options = {}) {
258
337
  const contextualProperties = this.withTrackContext(properties, options);
259
338
  const routed = this.dispatchTrack(eventName, contextualProperties, Boolean(options.domain), options.domain);
@@ -662,6 +741,9 @@ export class FlowGrid {
662
741
  }
663
742
  }
664
743
  dispatchEnterpriseTrack(eventName, properties, strict, domain) {
744
+ // Enterprise chunk not yet loaded — let the event fall through to events.track().
745
+ if (!_enterpriseFeatures || !_enterpriseTracking)
746
+ return UNHANDLED_TRACK;
665
747
  switch (eventName) {
666
748
  case "engagement.dwell_time":
667
749
  case "engagement_dwell_time":
@@ -917,7 +999,22 @@ export class FlowGrid {
917
999
  }
918
1000
  if (options.engagement !== false) {
919
1001
  const engOpts = typeof options.engagement === "object" ? options.engagement : {};
920
- teardowns.push(this.engagement.client.autoTrack({ ...engOpts, userId: ctx.userId }));
1002
+ // Engagement lives in the enterprise chunk — start async (mirrors replay pattern).
1003
+ let resolvedEngStop = null;
1004
+ let engStopRequested = false;
1005
+ void loadEnterpriseModules().then(() => {
1006
+ if (engStopRequested)
1007
+ return;
1008
+ resolvedEngStop = this.engagement.client.autoTrack({ ...engOpts, userId: ctx.userId });
1009
+ });
1010
+ teardowns.push(() => {
1011
+ engStopRequested = true;
1012
+ if (resolvedEngStop)
1013
+ try {
1014
+ resolvedEngStop();
1015
+ }
1016
+ catch { /* noop */ }
1017
+ });
921
1018
  }
922
1019
  if (options.attribution !== false && ctx.userId) {
923
1020
  this.attribution.captureFromUrl(ctx.userId);
@@ -957,10 +1054,11 @@ export class FlowGrid {
957
1054
  } };
958
1055
  }
959
1056
  }
1057
+ exports.FlowGrid = FlowGrid;
960
1058
  /** Singleton created by {@link FlowGrid.init}. */
961
1059
  FlowGrid._instance = null;
962
1060
  // ---- Consent passthrough (static on transport) ----
963
- FlowGrid.setConsent = FlowGridTransport.setConsent.bind(FlowGridTransport);
964
- FlowGrid.hasConsent = FlowGridTransport.hasConsent.bind(FlowGridTransport);
965
- export default FlowGrid;
1061
+ FlowGrid.setConsent = transport_1.FlowGridTransport.setConsent.bind(transport_1.FlowGridTransport);
1062
+ FlowGrid.hasConsent = transport_1.FlowGridTransport.hasConsent.bind(transport_1.FlowGridTransport);
1063
+ exports.default = FlowGrid;
966
1064
  //# sourceMappingURL=flowgrid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flowgrid.js","sourceRoot":"","sources":["../../src/lib/flowgrid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flowgrid.js","sourceRoot":"","sources":["../../src/lib/flowgrid.ts"],"names":[],"mappings":"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"}