@analyticscli/sdk 0.1.0-preview.5 → 0.1.0-preview.6

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 CHANGED
@@ -38,101 +38,96 @@ Before integrating, collect required values in [dash.analyticscli.com](https://d
38
38
  ## Usage (Low Boilerplate)
39
39
 
40
40
  ```ts
41
- import { init, ONBOARDING_EVENTS } from '@analyticscli/sdk';
42
-
43
- const analytics = init({
44
- apiKey: '<YOUR_APP_KEY>',
45
- identityTrackingMode: 'consent_gated', // explicit host-app default
41
+ import { createAnalyticsContext } from '@analyticscli/sdk';
42
+
43
+ const analytics = createAnalyticsContext({
44
+ client: {
45
+ apiKey: '<YOUR_APP_KEY>',
46
+ identityTrackingMode: 'consent_gated', // explicit host-app default
47
+ },
48
+ onboarding: {
49
+ onboardingFlowId: 'onboarding_v1',
50
+ onboardingFlowVersion: '1.0.0',
51
+ isNewUser: true,
52
+ },
46
53
  });
47
54
 
48
- analytics.trackOnboardingEvent(ONBOARDING_EVENTS.START, {
49
- onboardingFlowId: 'onboarding_v1',
50
- });
55
+ analytics.onboarding.start();
56
+ analytics.onboarding.step('welcome', 0).view();
51
57
  ```
52
58
 
53
- `init(...)` accepts either:
54
-
55
- - `init('<YOUR_APP_KEY>')`
56
- - `init({ ...allOptionsOptional })`
59
+ `createAnalyticsContext(...)` gives you:
60
+ - `analytics.client` (raw `AnalyticsClient`)
61
+ - `analytics.onboarding` (pre-wired tracker instance)
62
+ - `analytics.paywall` (optional tracker instance)
63
+ - `analytics.consent.*` (collection + full-tracking controls)
64
+ - `analytics.user.*` (`set`, `clear`, `identify`)
57
65
 
58
- For host-app integration, prefer object init with an explicit
66
+ For host-app integration, prefer explicit client config with
59
67
  `identityTrackingMode: 'consent_gated'` unless you intentionally need another mode.
60
68
 
61
69
  Optional runtime collection pause/resume:
62
70
 
63
71
  ```ts
64
- import { init } from '@analyticscli/sdk';
72
+ import { createAnalyticsContext } from '@analyticscli/sdk';
65
73
 
66
- const analytics = init({
67
- apiKey: '<YOUR_APP_KEY>',
68
- identityTrackingMode: 'consent_gated',
74
+ const analytics = createAnalyticsContext({
75
+ client: {
76
+ apiKey: '<YOUR_APP_KEY>',
77
+ identityTrackingMode: 'consent_gated',
78
+ },
69
79
  });
70
- analytics.optOut(); // stop sending until optIn()
80
+ analytics.consent.optOut(); // stop sending until optIn()
71
81
  // ...
72
- analytics.optIn();
82
+ analytics.consent.optIn();
73
83
  ```
74
84
 
75
85
  Optional full-tracking consent gate (recommended default):
76
86
 
77
87
  ```ts
78
- import { init } from '@analyticscli/sdk';
88
+ import { createAnalyticsContext } from '@analyticscli/sdk';
79
89
 
80
- const analytics = init({
81
- apiKey: '<YOUR_APP_KEY>',
82
- identityTrackingMode: 'consent_gated',
90
+ const analytics = createAnalyticsContext({
91
+ client: {
92
+ apiKey: '<YOUR_APP_KEY>',
93
+ identityTrackingMode: 'consent_gated',
94
+ },
83
95
  });
84
96
 
85
97
  // user accepts full tracking in your consent UI
86
- analytics.setFullTrackingConsent(true);
98
+ analytics.consent.setFullTracking(true);
87
99
 
88
100
  // user rejects full tracking but you still keep strict anonymous analytics
89
- analytics.setFullTrackingConsent(false);
101
+ analytics.consent.setFullTracking(false);
90
102
  ```
91
103
 
92
- `initFromEnv()` remains available and resolves credentials from these env keys:
93
-
94
- - `ANALYTICSCLI_PUBLISHABLE_API_KEY`
95
- - `NEXT_PUBLIC_ANALYTICSCLI_PUBLISHABLE_API_KEY`
96
- - `EXPO_PUBLIC_ANALYTICSCLI_PUBLISHABLE_API_KEY`
97
- - `VITE_ANALYTICSCLI_PUBLISHABLE_API_KEY`
98
-
99
- Runtime-specific env helpers are also available:
100
-
101
- - `@analyticscli/sdk` -> `initBrowserFromEnv(...)`
102
- - adds `PUBLIC_ANALYTICSCLI_PUBLISHABLE_API_KEY` lookup for Astro/browser-first setups
103
- - `@analyticscli/sdk` -> `initReactNativeFromEnv(...)`
104
- - defaults to native-friendly env key lookup
105
- - optional compatibility subpaths:
106
- - `@analyticscli/sdk/browser`
107
- - `@analyticscli/sdk/react-native`
108
-
109
- If config is missing, the client is a safe no-op (default behavior).
110
- When `apiKey` is missing, the SDK logs a console error and remains no-op.
111
- Use strict mode if you want hard failure:
112
-
113
- ```ts
114
- const analytics = initFromEnv({
115
- missingConfigMode: 'throw',
116
- });
117
- ```
104
+ If `apiKey` is missing, the SDK logs a console error and remains a safe no-op client.
118
105
 
119
106
  ## Optional Configuration
120
107
 
121
108
  ```ts
122
109
  import * as Application from 'expo-application';
123
110
  import { Platform } from 'react-native';
124
- import { init } from '@analyticscli/sdk';
125
-
126
- const analytics = init({
127
- apiKey: process.env.EXPO_PUBLIC_ANALYTICSCLI_PUBLISHABLE_API_KEY,
128
- debug: __DEV__,
129
- platform: Platform.OS,
130
- projectSurface: 'app',
131
- appVersion: Application.nativeApplicationVersion,
132
- initialConsentGranted: true,
133
- identityTrackingMode: 'consent_gated',
134
- initialFullTrackingConsentGranted: false,
135
- dedupeOnboardingStepViewsPerSession: true,
111
+ import { createAnalyticsContext } from '@analyticscli/sdk';
112
+
113
+ const analytics = createAnalyticsContext({
114
+ client: {
115
+ apiKey: process.env.EXPO_PUBLIC_ANALYTICSCLI_PUBLISHABLE_API_KEY,
116
+ debug: __DEV__,
117
+ platform: Platform.OS,
118
+ projectSurface: 'app',
119
+ appVersion: Application.nativeApplicationVersion,
120
+ initialConsentGranted: true,
121
+ identityTrackingMode: 'consent_gated',
122
+ initialFullTrackingConsentGranted: false,
123
+ dedupeOnboardingStepViewsPerSession: true,
124
+ },
125
+ onboarding: {
126
+ onboardingFlowId: 'onboarding_main',
127
+ onboardingFlowVersion: '1',
128
+ isNewUser: true,
129
+ stepCount: 7,
130
+ },
136
131
  });
137
132
  ```
138
133
 
@@ -151,7 +146,7 @@ For paywall funnels with stable `source` + `paywallId`, create one tracker per
151
146
  flow context and reuse it:
152
147
 
153
148
  ```ts
154
- const paywall = analytics.createPaywallTracker({
149
+ const paywall = analytics.createPaywall({
155
150
  source: 'onboarding',
156
151
  paywallId: 'default_paywall',
157
152
  offering: 'rc_main', // RevenueCat example
@@ -161,7 +156,7 @@ paywall.shown({ fromScreen: 'onboarding_offer' });
161
156
  paywall.purchaseSuccess({ packageId: 'annual' });
162
157
  ```
163
158
 
164
- Do not create a new `createPaywallTracker(...)` instance for every paywall callback/event.
159
+ Do not create a new `createPaywall(...)` instance for every paywall callback/event.
165
160
  If your paywall provider exposes it, pass `offering` in tracker defaults
166
161
  (RevenueCat offering id, Adapty paywall/placement id, Superwall placement/paywall id).
167
162
 
@@ -169,7 +164,7 @@ For onboarding surveys, avoid repeating unchanged flow metadata at every callsit
169
164
  Create one onboarding tracker with defaults and emit minimal survey payloads:
170
165
 
171
166
  ```ts
172
- const onboarding = analytics.createOnboardingTracker({
167
+ const onboarding = analytics.createOnboarding({
173
168
  onboardingFlowId: 'onboarding_main',
174
169
  onboardingFlowVersion: '1',
175
170
  stepCount: 7,
@@ -187,15 +182,15 @@ onboarding.step('budget-survey', 6).surveyResponse({
187
182
  For RevenueCat correlation, keep identity and paywall purchase metadata aligned:
188
183
 
189
184
  ```ts
190
- analytics.setUser(appUserId); // same id passed to Purchases.logIn(appUserId)
185
+ analytics.user.set(appUserId); // same id passed to Purchases.logIn(appUserId)
191
186
  // in purchase callbacks, prefer provider-native ids
192
187
  paywall.purchaseStarted({ packageId: packageBeingPurchased.identifier });
193
188
  // on sign-out
194
- analytics.clearUser();
189
+ analytics.user.clear();
195
190
  ```
196
191
 
197
192
  Identity tracking modes:
198
- - `consent_gated` (default): starts strict (no persistent identity), enables persistence/linkage only after `setFullTrackingConsent(true)`
193
+ - `consent_gated` (default): starts strict (no persistent identity), enables persistence/linkage only after full-tracking consent is granted
199
194
  - `always_on`: enables persistence/linkage immediately (`enableFullTrackingWithoutConsent: true` is a boolean shortcut)
200
195
  - `strict`: keeps strict anonymous behavior permanently
201
196
 
@@ -205,28 +200,28 @@ Recommendation for global tenant apps:
205
200
  In strict phase (and in `strict` mode):
206
201
  - no persistent SDK identity across app/browser restarts
207
202
  - no cookie-domain identity continuity
208
- - `identify()` / `setUser(...)` are ignored
203
+ - `analytics.user.identify(...)` / `analytics.user.set(...)` are ignored
209
204
 
210
205
  `initialConsentGranted` is optional:
211
206
  - default: `true` when `apiKey` is present
212
207
  - you can still pause/resume collection at runtime with consent APIs when your app needs that
213
208
 
214
209
  Runtime collection control APIs:
215
- - `analytics.getConsent()` -> current in-memory consent
216
- - `analytics.getConsentState()` -> `'granted' | 'denied' | 'unknown'`
217
- - `analytics.optIn()` / `analytics.optOut()`
218
- - `analytics.setConsent(true|false)`
210
+ - `analytics.consent.get()` -> current in-memory consent
211
+ - `analytics.consent.getState()` -> `'granted' | 'denied' | 'unknown'`
212
+ - `analytics.consent.optIn()` / `analytics.consent.optOut()`
213
+ - `analytics.consent.set(true|false)`
219
214
 
220
215
  Full-tracking control APIs:
221
- - `analytics.setFullTrackingConsent(true|false)`
222
- - `analytics.optInFullTracking()` / `analytics.optOutFullTracking()`
223
- - `analytics.isFullTrackingEnabled()`
216
+ - `analytics.consent.setFullTracking(true|false)`
217
+ - `analytics.consent.optInFullTracking()` / `analytics.consent.optOutFullTracking()`
218
+ - `analytics.consent.isFullTrackingEnabled()`
224
219
 
225
- `analytics.ready()` does not "start" tracking. With default settings, tracking
226
- starts on `init(...)`.
220
+ `analytics.ready()` / `analytics.client.ready()` do not "start" tracking. With default settings, tracking
221
+ starts on `createAnalyticsContext(...)`.
227
222
 
228
223
  Use your project-specific publishable API key from the AnalyticsCLI dashboard in your workspace.
229
- Only the publishable API key (`apiKey`) is needed for SDK init calls.
224
+ Only the publishable API key (`apiKey`) is needed for SDK setup calls.
230
225
  The SDK uses the default collector endpoint internally.
231
226
  In host apps, do not pass `endpoint` and do not add `ANALYTICSCLI_ENDPOINT` env vars.
232
227
 
package/dist/browser.cjs CHANGED
@@ -21,8 +21,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var browser_exports = {};
22
22
  __export(browser_exports, {
23
23
  AnalyticsClient: () => AnalyticsClient,
24
- BROWSER_API_KEY_ENV_KEYS: () => BROWSER_API_KEY_ENV_KEYS,
25
- DEFAULT_API_KEY_ENV_KEYS: () => DEFAULT_API_KEY_ENV_KEYS,
26
24
  ONBOARDING_EVENTS: () => ONBOARDING_EVENTS,
27
25
  ONBOARDING_PROGRESS_EVENT_ORDER: () => ONBOARDING_PROGRESS_EVENT_ORDER,
28
26
  ONBOARDING_SCREEN_EVENT_PREFIXES: () => ONBOARDING_SCREEN_EVENT_PREFIXES,
@@ -33,14 +31,11 @@ __export(browser_exports, {
33
31
  PAYWALL_SKIP_EVENT_CANDIDATES: () => PAYWALL_SKIP_EVENT_CANDIDATES,
34
32
  PURCHASE_EVENTS: () => PURCHASE_EVENTS,
35
33
  PURCHASE_SUCCESS_EVENT_CANDIDATES: () => PURCHASE_SUCCESS_EVENT_CANDIDATES,
36
- REACT_NATIVE_API_KEY_ENV_KEYS: () => REACT_NATIVE_API_KEY_ENV_KEYS,
34
+ createAnalyticsContext: () => createAnalyticsContext,
37
35
  init: () => init,
38
36
  initAsync: () => initAsync,
39
- initBrowserFromEnv: () => initBrowserFromEnv,
40
37
  initConsentFirst: () => initConsentFirst,
41
- initConsentFirstAsync: () => initConsentFirstAsync,
42
- initFromEnv: () => initFromEnv,
43
- initReactNativeFromEnv: () => initReactNativeFromEnv
38
+ initConsentFirstAsync: () => initConsentFirstAsync
44
39
  });
45
40
  module.exports = __toCommonJS(browser_exports);
46
41
 
@@ -1603,75 +1598,78 @@ var AnalyticsClient = class {
1603
1598
  }
1604
1599
  };
1605
1600
 
1606
- // src/bootstrap.ts
1607
- var DEFAULT_API_KEY_ENV_KEYS = [
1608
- "ANALYTICSCLI_PUBLISHABLE_API_KEY",
1609
- "NEXT_PUBLIC_ANALYTICSCLI_PUBLISHABLE_API_KEY",
1610
- "EXPO_PUBLIC_ANALYTICSCLI_PUBLISHABLE_API_KEY",
1611
- "VITE_ANALYTICSCLI_PUBLISHABLE_API_KEY"
1612
- ];
1613
- var readTrimmedString2 = (value) => {
1614
- if (typeof value === "string") {
1615
- return value.trim();
1616
- }
1617
- if (typeof value === "number" || typeof value === "boolean") {
1618
- return String(value).trim();
1619
- }
1620
- return "";
1621
- };
1622
- var resolveDefaultEnv = () => {
1623
- const withProcess = globalThis;
1624
- if (typeof withProcess.process?.env === "object" && withProcess.process.env !== null) {
1625
- return withProcess.process.env;
1601
+ // src/context.ts
1602
+ var normalizeInitInput = (input) => {
1603
+ if (typeof input === "string") {
1604
+ return { apiKey: input };
1626
1605
  }
1627
- return {};
1628
- };
1629
- var resolveValueFromEnv = (env, keys) => {
1630
- for (const key of keys) {
1631
- const value = readTrimmedString2(env[key]);
1632
- if (value.length > 0) {
1633
- return value;
1634
- }
1606
+ if (input === null || input === void 0) {
1607
+ return {};
1635
1608
  }
1636
- return "";
1609
+ return input;
1637
1610
  };
1638
- var toMissingMessage = (details) => {
1639
- const parts = [];
1640
- if (details.missingApiKey) {
1641
- parts.push(`apiKey (searched: ${details.searchedApiKeyEnvKeys.join(", ") || "none"})`);
1611
+ var resolveClient = (input) => {
1612
+ if (input instanceof AnalyticsClient) {
1613
+ return input;
1642
1614
  }
1643
- return `[analyticscli-sdk] Missing required configuration: ${parts.join("; ")}.`;
1615
+ return new AnalyticsClient(normalizeInitInput(input ?? {}));
1644
1616
  };
1645
- var initFromEnv = (options = {}) => {
1646
- const {
1647
- env,
1648
- apiKey,
1649
- apiKeyEnvKeys,
1650
- missingConfigMode = "noop",
1651
- onMissingConfig,
1652
- ...clientOptions
1653
- } = options;
1654
- const resolvedApiKeyEnvKeys = [...apiKeyEnvKeys ?? DEFAULT_API_KEY_ENV_KEYS];
1655
- const envSource = env ?? resolveDefaultEnv();
1656
- const resolvedApiKey = readTrimmedString2(apiKey) || resolveValueFromEnv(envSource, resolvedApiKeyEnvKeys);
1657
- const missingConfig = {
1658
- missingApiKey: resolvedApiKey.length === 0,
1659
- searchedApiKeyEnvKeys: resolvedApiKeyEnvKeys
1617
+ var createAnalyticsContext = (options = {}) => {
1618
+ const client = resolveClient(options.client);
1619
+ let onboardingTracker = client.createOnboardingTracker(options.onboarding ?? {});
1620
+ let paywallTracker = options.paywall ? client.createPaywallTracker(options.paywall) : null;
1621
+ const consent = {
1622
+ get: () => client.getConsent(),
1623
+ getState: () => client.getConsentState(),
1624
+ set: (granted, setOptions) => client.setConsent(granted, setOptions),
1625
+ optIn: (setOptions) => client.optIn(setOptions),
1626
+ optOut: (setOptions) => client.optOut(setOptions),
1627
+ setFullTracking: (granted, setOptions) => client.setFullTrackingConsent(granted, setOptions),
1628
+ optInFullTracking: (setOptions) => client.optInFullTracking(setOptions),
1629
+ optOutFullTracking: (setOptions) => client.optOutFullTracking(setOptions),
1630
+ isFullTrackingEnabled: () => client.isFullTrackingEnabled()
1631
+ };
1632
+ const user = {
1633
+ identify: (userId, traits) => client.identify(userId, traits),
1634
+ set: (userId, traits) => client.setUser(userId, traits),
1635
+ clear: () => client.clearUser()
1636
+ };
1637
+ return {
1638
+ client,
1639
+ get onboarding() {
1640
+ return onboardingTracker;
1641
+ },
1642
+ get paywall() {
1643
+ return paywallTracker;
1644
+ },
1645
+ consent,
1646
+ user,
1647
+ track: (eventName, properties) => client.track(eventName, properties),
1648
+ trackOnboardingEvent: (eventName, properties) => client.trackOnboardingEvent(eventName, properties),
1649
+ trackOnboardingSurveyResponse: (input, eventName) => client.trackOnboardingSurveyResponse(input, eventName),
1650
+ trackPaywallEvent: (eventName, properties) => client.trackPaywallEvent(eventName, properties),
1651
+ screen: (name, properties) => client.screen(name, properties),
1652
+ page: (name, properties) => client.page(name, properties),
1653
+ feedback: (message, rating, properties) => client.feedback(message, rating, properties),
1654
+ setContext: (context) => client.setContext(context),
1655
+ createOnboarding: (defaults) => client.createOnboardingTracker(defaults),
1656
+ createPaywall: (defaults) => client.createPaywallTracker(defaults),
1657
+ configureOnboarding: (defaults) => {
1658
+ onboardingTracker = client.createOnboardingTracker(defaults);
1659
+ return onboardingTracker;
1660
+ },
1661
+ configurePaywall: (defaults) => {
1662
+ paywallTracker = client.createPaywallTracker(defaults);
1663
+ return paywallTracker;
1664
+ },
1665
+ ready: () => client.ready(),
1666
+ flush: () => client.flush(),
1667
+ shutdown: () => client.shutdown()
1660
1668
  };
1661
- if (missingConfig.missingApiKey) {
1662
- onMissingConfig?.(missingConfig);
1663
- if (missingConfigMode === "throw") {
1664
- throw new Error(toMissingMessage(missingConfig));
1665
- }
1666
- }
1667
- return new AnalyticsClient({
1668
- ...clientOptions,
1669
- apiKey: resolvedApiKey
1670
- });
1671
1669
  };
1672
1670
 
1673
1671
  // src/index.ts
1674
- var normalizeInitInput = (input) => {
1672
+ var normalizeInitInput2 = (input) => {
1675
1673
  if (typeof input === "string") {
1676
1674
  return { apiKey: input };
1677
1675
  }
@@ -1681,17 +1679,17 @@ var normalizeInitInput = (input) => {
1681
1679
  return input;
1682
1680
  };
1683
1681
  var init = (input = {}) => {
1684
- return new AnalyticsClient(normalizeInitInput(input));
1682
+ return new AnalyticsClient(normalizeInitInput2(input));
1685
1683
  };
1686
1684
  var initConsentFirst = (input = {}) => {
1687
- const normalized = normalizeInitInput(input);
1685
+ const normalized = normalizeInitInput2(input);
1688
1686
  return new AnalyticsClient({
1689
1687
  ...normalized,
1690
1688
  initialConsentGranted: false
1691
1689
  });
1692
1690
  };
1693
1691
  var initAsync = async (input = {}) => {
1694
- const client = new AnalyticsClient(normalizeInitInput(input));
1692
+ const client = new AnalyticsClient(normalizeInitInput2(input));
1695
1693
  await client.ready();
1696
1694
  return client;
1697
1695
  };
@@ -1700,36 +1698,9 @@ var initConsentFirstAsync = async (input = {}) => {
1700
1698
  await client.ready();
1701
1699
  return client;
1702
1700
  };
1703
- var BROWSER_API_KEY_ENV_KEYS = [
1704
- "ANALYTICSCLI_PUBLISHABLE_API_KEY",
1705
- "NEXT_PUBLIC_ANALYTICSCLI_PUBLISHABLE_API_KEY",
1706
- "PUBLIC_ANALYTICSCLI_PUBLISHABLE_API_KEY",
1707
- "VITE_ANALYTICSCLI_PUBLISHABLE_API_KEY",
1708
- "EXPO_PUBLIC_ANALYTICSCLI_PUBLISHABLE_API_KEY"
1709
- ];
1710
- var REACT_NATIVE_API_KEY_ENV_KEYS = [
1711
- "ANALYTICSCLI_PUBLISHABLE_API_KEY",
1712
- "EXPO_PUBLIC_ANALYTICSCLI_PUBLISHABLE_API_KEY"
1713
- ];
1714
- var initBrowserFromEnv = (options = {}) => {
1715
- const { apiKeyEnvKeys, ...rest } = options;
1716
- return initFromEnv({
1717
- ...rest,
1718
- apiKeyEnvKeys: [...apiKeyEnvKeys ?? BROWSER_API_KEY_ENV_KEYS]
1719
- });
1720
- };
1721
- var initReactNativeFromEnv = (options = {}) => {
1722
- const { apiKeyEnvKeys, ...rest } = options;
1723
- return initFromEnv({
1724
- ...rest,
1725
- apiKeyEnvKeys: [...apiKeyEnvKeys ?? REACT_NATIVE_API_KEY_ENV_KEYS]
1726
- });
1727
- };
1728
1701
  // Annotate the CommonJS export names for ESM import in node:
1729
1702
  0 && (module.exports = {
1730
1703
  AnalyticsClient,
1731
- BROWSER_API_KEY_ENV_KEYS,
1732
- DEFAULT_API_KEY_ENV_KEYS,
1733
1704
  ONBOARDING_EVENTS,
1734
1705
  ONBOARDING_PROGRESS_EVENT_ORDER,
1735
1706
  ONBOARDING_SCREEN_EVENT_PREFIXES,
@@ -1740,12 +1711,9 @@ var initReactNativeFromEnv = (options = {}) => {
1740
1711
  PAYWALL_SKIP_EVENT_CANDIDATES,
1741
1712
  PURCHASE_EVENTS,
1742
1713
  PURCHASE_SUCCESS_EVENT_CANDIDATES,
1743
- REACT_NATIVE_API_KEY_ENV_KEYS,
1714
+ createAnalyticsContext,
1744
1715
  init,
1745
1716
  initAsync,
1746
- initBrowserFromEnv,
1747
1717
  initConsentFirst,
1748
- initConsentFirstAsync,
1749
- initFromEnv,
1750
- initReactNativeFromEnv
1718
+ initConsentFirstAsync
1751
1719
  });
@@ -1 +1 @@
1
- export { AnalyticsClient, AnalyticsClientOptions, AnalyticsConsentState, AnalyticsStorageAdapter, BROWSER_API_KEY_ENV_KEYS, BrowserInitFromEnvOptions, DEFAULT_API_KEY_ENV_KEYS, EventContext, EventProperties, IdentityTrackingMode, InitFromEnvMissingConfig, InitFromEnvMissingConfigMode, InitFromEnvOptions, InitInput, InitOptions, ONBOARDING_EVENTS, ONBOARDING_PROGRESS_EVENT_ORDER, ONBOARDING_SCREEN_EVENT_PREFIXES, ONBOARDING_SURVEY_EVENTS, OnboardingEventName, OnboardingEventProperties, OnboardingStepTracker, OnboardingSurveyAnswerType, OnboardingSurveyEventName, OnboardingSurveyResponseInput, OnboardingTracker, OnboardingTrackerDefaults, OnboardingTrackerSurveyInput, PAYWALL_ANCHOR_EVENT_CANDIDATES, PAYWALL_EVENTS, PAYWALL_JOURNEY_EVENT_ORDER, PAYWALL_SKIP_EVENT_CANDIDATES, PURCHASE_EVENTS, PURCHASE_SUCCESS_EVENT_CANDIDATES, PaywallEventName, PaywallEventProperties, PaywallJourneyEventName, PaywallTracker, PaywallTrackerDefaults, PaywallTrackerProperties, PurchaseEventName, REACT_NATIVE_API_KEY_ENV_KEYS, ReactNativeInitFromEnvOptions, SetConsentOptions, init, initAsync, initBrowserFromEnv, initConsentFirst, initConsentFirstAsync, initFromEnv, initReactNativeFromEnv } from './index.cjs';
1
+ export { AnalyticsClient, AnalyticsClientOptions, AnalyticsConsentState, AnalyticsContext, AnalyticsContextConsentControls, AnalyticsContextUserControls, AnalyticsStorageAdapter, CreateAnalyticsContextOptions, EventContext, EventProperties, IdentityTrackingMode, InitInput, InitOptions, ONBOARDING_EVENTS, ONBOARDING_PROGRESS_EVENT_ORDER, ONBOARDING_SCREEN_EVENT_PREFIXES, ONBOARDING_SURVEY_EVENTS, OnboardingEventName, OnboardingEventProperties, OnboardingStepTracker, OnboardingSurveyAnswerType, OnboardingSurveyEventName, OnboardingSurveyResponseInput, OnboardingTracker, OnboardingTrackerDefaults, OnboardingTrackerSurveyInput, PAYWALL_ANCHOR_EVENT_CANDIDATES, PAYWALL_EVENTS, PAYWALL_JOURNEY_EVENT_ORDER, PAYWALL_SKIP_EVENT_CANDIDATES, PURCHASE_EVENTS, PURCHASE_SUCCESS_EVENT_CANDIDATES, PaywallEventName, PaywallEventProperties, PaywallJourneyEventName, PaywallTracker, PaywallTrackerDefaults, PaywallTrackerProperties, PurchaseEventName, SetConsentOptions, createAnalyticsContext, init, initAsync, initConsentFirst, initConsentFirstAsync } from './index.cjs';
package/dist/browser.d.ts CHANGED
@@ -1 +1 @@
1
- export { AnalyticsClient, AnalyticsClientOptions, AnalyticsConsentState, AnalyticsStorageAdapter, BROWSER_API_KEY_ENV_KEYS, BrowserInitFromEnvOptions, DEFAULT_API_KEY_ENV_KEYS, EventContext, EventProperties, IdentityTrackingMode, InitFromEnvMissingConfig, InitFromEnvMissingConfigMode, InitFromEnvOptions, InitInput, InitOptions, ONBOARDING_EVENTS, ONBOARDING_PROGRESS_EVENT_ORDER, ONBOARDING_SCREEN_EVENT_PREFIXES, ONBOARDING_SURVEY_EVENTS, OnboardingEventName, OnboardingEventProperties, OnboardingStepTracker, OnboardingSurveyAnswerType, OnboardingSurveyEventName, OnboardingSurveyResponseInput, OnboardingTracker, OnboardingTrackerDefaults, OnboardingTrackerSurveyInput, PAYWALL_ANCHOR_EVENT_CANDIDATES, PAYWALL_EVENTS, PAYWALL_JOURNEY_EVENT_ORDER, PAYWALL_SKIP_EVENT_CANDIDATES, PURCHASE_EVENTS, PURCHASE_SUCCESS_EVENT_CANDIDATES, PaywallEventName, PaywallEventProperties, PaywallJourneyEventName, PaywallTracker, PaywallTrackerDefaults, PaywallTrackerProperties, PurchaseEventName, REACT_NATIVE_API_KEY_ENV_KEYS, ReactNativeInitFromEnvOptions, SetConsentOptions, init, initAsync, initBrowserFromEnv, initConsentFirst, initConsentFirstAsync, initFromEnv, initReactNativeFromEnv } from './index.js';
1
+ export { AnalyticsClient, AnalyticsClientOptions, AnalyticsConsentState, AnalyticsContext, AnalyticsContextConsentControls, AnalyticsContextUserControls, AnalyticsStorageAdapter, CreateAnalyticsContextOptions, EventContext, EventProperties, IdentityTrackingMode, InitInput, InitOptions, ONBOARDING_EVENTS, ONBOARDING_PROGRESS_EVENT_ORDER, ONBOARDING_SCREEN_EVENT_PREFIXES, ONBOARDING_SURVEY_EVENTS, OnboardingEventName, OnboardingEventProperties, OnboardingStepTracker, OnboardingSurveyAnswerType, OnboardingSurveyEventName, OnboardingSurveyResponseInput, OnboardingTracker, OnboardingTrackerDefaults, OnboardingTrackerSurveyInput, PAYWALL_ANCHOR_EVENT_CANDIDATES, PAYWALL_EVENTS, PAYWALL_JOURNEY_EVENT_ORDER, PAYWALL_SKIP_EVENT_CANDIDATES, PURCHASE_EVENTS, PURCHASE_SUCCESS_EVENT_CANDIDATES, PaywallEventName, PaywallEventProperties, PaywallJourneyEventName, PaywallTracker, PaywallTrackerDefaults, PaywallTrackerProperties, PurchaseEventName, SetConsentOptions, createAnalyticsContext, init, initAsync, initConsentFirst, initConsentFirstAsync } from './index.js';
package/dist/browser.js CHANGED
@@ -1,7 +1,5 @@
1
1
  import {
2
2
  AnalyticsClient,
3
- BROWSER_API_KEY_ENV_KEYS,
4
- DEFAULT_API_KEY_ENV_KEYS,
5
3
  ONBOARDING_EVENTS,
6
4
  ONBOARDING_PROGRESS_EVENT_ORDER,
7
5
  ONBOARDING_SCREEN_EVENT_PREFIXES,
@@ -12,19 +10,14 @@ import {
12
10
  PAYWALL_SKIP_EVENT_CANDIDATES,
13
11
  PURCHASE_EVENTS,
14
12
  PURCHASE_SUCCESS_EVENT_CANDIDATES,
15
- REACT_NATIVE_API_KEY_ENV_KEYS,
13
+ createAnalyticsContext,
16
14
  init,
17
15
  initAsync,
18
- initBrowserFromEnv,
19
16
  initConsentFirst,
20
- initConsentFirstAsync,
21
- initFromEnv,
22
- initReactNativeFromEnv
23
- } from "./chunk-HL2VOD3Z.js";
17
+ initConsentFirstAsync
18
+ } from "./chunk-RGEYDN6A.js";
24
19
  export {
25
20
  AnalyticsClient,
26
- BROWSER_API_KEY_ENV_KEYS,
27
- DEFAULT_API_KEY_ENV_KEYS,
28
21
  ONBOARDING_EVENTS,
29
22
  ONBOARDING_PROGRESS_EVENT_ORDER,
30
23
  ONBOARDING_SCREEN_EVENT_PREFIXES,
@@ -35,12 +28,9 @@ export {
35
28
  PAYWALL_SKIP_EVENT_CANDIDATES,
36
29
  PURCHASE_EVENTS,
37
30
  PURCHASE_SUCCESS_EVENT_CANDIDATES,
38
- REACT_NATIVE_API_KEY_ENV_KEYS,
31
+ createAnalyticsContext,
39
32
  init,
40
33
  initAsync,
41
- initBrowserFromEnv,
42
34
  initConsentFirst,
43
- initConsentFirstAsync,
44
- initFromEnv,
45
- initReactNativeFromEnv
35
+ initConsentFirstAsync
46
36
  };