@active-reach/web-sdk 1.14.1 → 1.15.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.
@@ -24,6 +24,8 @@
24
24
  */
25
25
  import { AegisInAppManager, type AegisInAppConfig, type InAppCampaign } from '../inapp';
26
26
  import { AegisWidgetManager, type AegisWidgetConfig } from '../widgets';
27
+ import { IntentRuleEvaluator } from '../triggers/IntentRuleEvaluator';
28
+ import { ContactScoresFetcher } from '../triggers/ContactScoresFetcher';
27
29
  export interface AegisMessageRuntimeConfig extends AegisInAppConfig {
28
30
  /** If set, a `TriggerEngine` from the SDK is wired to the WidgetManager
29
31
  * for its exit-intent / scroll-velocity / inactivity handlers. Leave
@@ -45,6 +47,16 @@ export interface AegisMessageRuntimeConfig extends AegisInAppConfig {
45
47
  export declare class AegisMessageRuntime {
46
48
  readonly inApp: AegisInAppManager;
47
49
  readonly widgets: AegisWidgetManager;
50
+ /** Shared IntentRuleEvaluator for identified-contact micro-intent
51
+ * patterns. The ContactScoresFetcher writes Layer-1 signals into its
52
+ * snapshot; IntentSnapshotCollector (if wired by the consumer) writes
53
+ * Layer-2 signals. Exposed so apps that pre-existed P4a can swap in
54
+ * their own evaluator if they need to. */
55
+ readonly intentRuleEvaluator: IntentRuleEvaluator;
56
+ /** Bridges GET /v1/sdk/contact-scores into the evaluator snapshot.
57
+ * Triggered automatically on initialize() and updateContactId(). */
58
+ readonly contactScores: ContactScoresFetcher;
59
+ private contactId?;
48
60
  private initialized;
49
61
  constructor(config: AegisMessageRuntimeConfig);
50
62
  /**
@@ -69,6 +81,29 @@ export declare class AegisMessageRuntime {
69
81
  * channel already.
70
82
  */
71
83
  onClientEvent(eventName: string, eventData?: Record<string, unknown>): void;
84
+ /**
85
+ * Notify the in-app subsystem that a tracked event occurred. Schedules
86
+ * a debounced refresh of armed campaigns so newly eligible in-app
87
+ * messages (e.g., trigger-gated on `cart_item_added`) become visible
88
+ * within ~300ms — bursts coalesce. See
89
+ * `AegisInAppManager.refreshOnEvent` for debounce semantics and why
90
+ * this matters under storefront polling.
91
+ */
92
+ track(eventName: string): void;
93
+ /**
94
+ * Notify the in-app subsystem that a URL-bound page view occurred.
95
+ * Mirrors `aegis.page()` semantics — fires `'page_view'` as the
96
+ * qualifying event so the trailing debounce covers SPA route bursts
97
+ * (history.pushState rapid-fire) without spamming the endpoint.
98
+ */
99
+ page(name?: string): void;
100
+ /**
101
+ * Notify the in-app subsystem that a SPA-logical screen view occurred
102
+ * (cart drawer open, checkout step transition — anywhere `aegis.screen()`
103
+ * is called). Refresh-on-screen lets per-screen-targeted campaigns
104
+ * arm without a URL change.
105
+ */
106
+ screen(name: string): void;
72
107
  /**
73
108
  * Conversion-aware suppression — call when the host app observes a
74
109
  * goal event (purchase / order_completed / checkout_completed / custom).
@@ -1 +1 @@
1
- {"version":3,"file":"AegisMessageRuntime.d.ts","sourceRoot":"","sources":["../../src/runtime/AegisMessageRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGxE,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE;;kEAE8D;IAC9D,aAAa,CAAC,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC;IACnD;;sDAEkD;IAClD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;0EACsE;IACtE,cAAc,CAAC,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;CACtD;AAED;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,yBAAyB;IAwC7C;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IASjC;;;;;;;OAOG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvD;;;;;;OAMG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI;IAI/E;;;;;;;;;;;;;;;;OAgBG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIxC;;;;;OAKG;IACH,OAAO,IAAI,IAAI;IAMf;;;;;OAKG;IACH,YAAY,IAAI,aAAa,EAAE;CAMhC"}
1
+ {"version":3,"file":"AegisMessageRuntime.d.ts","sourceRoot":"","sources":["../../src/runtime/AegisMessageRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAExE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE;;kEAE8D;IAC9D,aAAa,CAAC,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC;IACnD;;sDAEkD;IAClD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;0EACsE;IACtE,cAAc,CAAC,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;CACtD;AAED;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC;;;;+CAI2C;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAClD;yEACqE;IACrE,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAC7C,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,yBAAyB;IAoD7C;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBjC;;;;;;;OAOG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUvD;;;;;;OAMG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI;IAkB/E;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAK9B;;;;;OAKG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAIzB;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK1B;;;;;;;;;;;;;;;;OAgBG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIxC;;;;;OAKG;IACH,OAAO,IAAI,IAAI;IAMf;;;;;OAKG;IACH,YAAY,IAAI,aAAa,EAAE;CAMhC"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Micro-Intent Engine — contact-scores fetcher (P4a bridge).
3
+ *
4
+ * Bridges `GET /v1/sdk/contact-scores` into the SDK's
5
+ * `IntentRuleEvaluator` snapshot. Without this, identified-contact
6
+ * micro-intent patterns (VIP Whisper, Win-back At-Risk, Price-Sensitive
7
+ * Nudge, etc.) cannot fire because their AND-compound rules evaluate
8
+ * `rfm_segment` / `lifecycle_stage` / `churn_risk_tier` /
9
+ * `predicted_ltv_tier` / `price_sensitivity_score` against an empty
10
+ * snapshot and always return false.
11
+ *
12
+ * Lifecycle
13
+ * ---------
14
+ * AegisMessageRuntime.initialize() → fetch if contactId known
15
+ * AegisMessageRuntime.updateContactId → fetch for the new contact
16
+ *
17
+ * The fetcher is session-deduped: a second `fetchForContact(sameId)`
18
+ * call within `dedupWindowMs` is a no-op. This stops a hot navigation
19
+ * loop from hammering the endpoint when SPA route changes re-call
20
+ * identify() with the same id.
21
+ *
22
+ * Empty state
23
+ * -----------
24
+ * The endpoint returns 204 for unknown contacts AND for contacts whose
25
+ * `scoring_tier='none'`. Either way the fetcher leaves the snapshot
26
+ * unchanged — the evaluator's leaf eval treats absent Layer-1 keys as
27
+ * null, which fail-closes any AND clause involving them. Anonymous
28
+ * patterns continue to work normally.
29
+ *
30
+ * Privacy posture
31
+ * ---------------
32
+ * The endpoint's default response is the tiered form (`predicted_ltv_tier`).
33
+ * Tenants who opt into raw `predicted_ltv` via
34
+ * `organizations.settings.score_serving_raw_ltv = true` will see the
35
+ * float on the snapshot too. Both are valid IntentSignals; rule
36
+ * authors pick whichever matches their tenant config.
37
+ *
38
+ * Plan reference: docs/architecture/MICRO_INTENT_ENGINE.md §P4a.
39
+ */
40
+ import type { IntentRuleEvaluator, IntentSnapshot } from './IntentRuleEvaluator';
41
+ /** Shape of the Layer-1 score response from /v1/sdk/contact-scores. */
42
+ export interface ContactScoresResponse {
43
+ rfm_segment?: string;
44
+ lifecycle_stage?: string;
45
+ churn_risk_tier?: 'low' | 'medium' | 'high';
46
+ predicted_ltv_tier?: 'low' | 'medium' | 'high';
47
+ predicted_ltv?: number;
48
+ price_sensitivity_score?: number;
49
+ scoring_tier?: string;
50
+ scores_updated_at?: string | null;
51
+ }
52
+ export interface ContactScoresFetcherConfig {
53
+ apiHost: string;
54
+ writeKey: string;
55
+ organizationId?: string;
56
+ /** Optional. When provided, the fetcher pushes the response into the
57
+ * evaluator's snapshot automatically on every successful fetch. */
58
+ evaluator?: IntentRuleEvaluator;
59
+ /** Minimum time between repeat fetches for the same contactId.
60
+ * Default 60 seconds. */
61
+ dedupWindowMs?: number;
62
+ /** Override for tests / non-browser environments. */
63
+ fetchImpl?: typeof fetch;
64
+ /** Console.warn channel. */
65
+ onError?: (err: unknown, contactId: string) => void;
66
+ }
67
+ export declare class ContactScoresFetcher {
68
+ private readonly apiHost;
69
+ private readonly writeKey;
70
+ private organizationId?;
71
+ private readonly evaluator?;
72
+ private readonly dedupWindowMs;
73
+ private readonly fetchImpl;
74
+ private readonly onError?;
75
+ private lastFetchedContactId?;
76
+ private lastFetchedAt;
77
+ private latestSnapshot;
78
+ constructor(cfg: ContactScoresFetcherConfig);
79
+ /** Update the org so subsequent fetches scope correctly (e.g. when
80
+ * the SDK resolves an org id after init). */
81
+ updateOrganizationId(organizationId: string | undefined): void;
82
+ /** Most recent successful response. `null` when no fetch has succeeded
83
+ * yet, OR when the endpoint returned 204 (unscored). Consumers can
84
+ * poll this for diagnostic UIs; campaign evaluation does not need to
85
+ * read it directly because the evaluator (if configured) already has
86
+ * the snapshot applied. */
87
+ getSnapshot(): Readonly<ContactScoresResponse> | null;
88
+ /** Fetch scores for `contactId` and apply to the configured evaluator
89
+ * (if any). Returns the response on success, null on 204 / error.
90
+ *
91
+ * Session-dedup: repeat calls for the same contactId within
92
+ * `dedupWindowMs` are no-ops. Pass `force: true` to override. */
93
+ fetchForContact(contactId: string, opts?: {
94
+ force?: boolean;
95
+ }): Promise<ContactScoresResponse | null>;
96
+ }
97
+ /** Project the wire response onto the evaluator's IntentSnapshot shape.
98
+ * Strings (rfm_segment / lifecycle_stage / *_tier) map straight across;
99
+ * numerics (price_sensitivity_score / predicted_ltv) are passed through
100
+ * as numbers. Missing keys are omitted so the evaluator's leaf eval
101
+ * treats them as null (per IntentRuleEvaluator semantics).
102
+ *
103
+ * Exported for the smoke test — drift guard pins the mapping. */
104
+ export declare function toIntentSnapshot(r: ContactScoresResponse): IntentSnapshot;
105
+ //# sourceMappingURL=ContactScoresFetcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContactScoresFetcher.d.ts","sourceRoot":"","sources":["../../src/triggers/ContactScoresFetcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEjF,uEAAuE;AACvE,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5C,kBAAkB,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;wEACoE;IACpE,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC;8BAC0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAA4C;IAErE,OAAO,CAAC,oBAAoB,CAAC,CAAS;IACtC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,cAAc,CAAsC;gBAEhD,GAAG,EAAE,0BAA0B;IAU3C;kDAC8C;IAC9C,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAI9D;;;;gCAI4B;IAC5B,WAAW,IAAI,QAAQ,CAAC,qBAAqB,CAAC,GAAG,IAAI;IAIrD;;;;sEAIkE;IAC5D,eAAe,CACnB,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO,GAC7B,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;CAuDzC;AAED;;;;;;kEAMkE;AAClE,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,qBAAqB,GAAG,cAAc,CAYzE"}
@@ -26,7 +26,7 @@
26
26
  *
27
27
  * Plan reference: docs/architecture/MICRO_INTENT_ENGINE.md §"Schemas"
28
28
  */
29
- export type IntentSignal = 'scroll_depth' | 'time_on_page' | 'exit_intent' | 'back_button' | 'scroll_velocity' | 'inactivity' | 'visibility_change' | 'rage_click' | 'price_hover_ms' | 'cta_hover_ms' | 'cum_dwell_sku' | 'session_count_sku' | 'cart_value' | 'converted_in_session' | 'rfm_segment' | 'rfm_score' | 'lifecycle_stage' | 'purchase_intent_score' | 'purchase_intent_tier' | 'churn_risk_score' | 'churn_risk_tier' | 'predicted_ltv' | 'uninstall_risk_tier' | 'engagement_level' | 'price_tier' | 'price_sensitivity_score' | 'top_category' | 'avg_cart_value' | 'scoring_tier';
29
+ export type IntentSignal = 'scroll_depth' | 'time_on_page' | 'exit_intent' | 'back_button' | 'scroll_velocity' | 'inactivity' | 'visibility_change' | 'rage_click' | 'price_hover_ms' | 'cta_hover_ms' | 'cum_dwell_sku' | 'session_count_sku' | 'cart_value' | 'converted_in_session' | 'rfm_segment' | 'rfm_score' | 'lifecycle_stage' | 'purchase_intent_score' | 'purchase_intent_tier' | 'churn_risk_score' | 'churn_risk_tier' | 'predicted_ltv' | 'predicted_ltv_tier' | 'uninstall_risk_tier' | 'engagement_level' | 'price_tier' | 'price_sensitivity_score' | 'top_category' | 'avg_cart_value' | 'scoring_tier';
30
30
  export type Comparator = 'gte' | 'lte' | 'gt' | 'lt' | 'eq' | 'neq' | 'in' | 'nin';
31
31
  export type IntentLeafValue = number | string | boolean | ReadonlyArray<number | string | boolean>;
32
32
  export interface IntentLeaf {
@@ -1 +1 @@
1
- {"version":3,"file":"IntentRuleEvaluator.d.ts","sourceRoot":"","sources":["../../src/triggers/IntentRuleEvaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IntentRuleEvaluator.d.ts","sourceRoot":"","sources":["../../src/triggers/IntentRuleEvaluator.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,6 @@ export { SelectorBinder } from './SelectorBinder';
6
6
  export type { IntentElementName, IntentDomEventType, IntentDomEvent, IntentDomHandler, IntentSelectors, SelectorBinderConfig, } from './SelectorBinder';
7
7
  export { IntentSnapshotCollector } from './IntentSnapshotCollector';
8
8
  export type { IntentSnapshotCollectorConfig } from './IntentSnapshotCollector';
9
+ export { ContactScoresFetcher, toIntentSnapshot } from './ContactScoresFetcher';
10
+ export type { ContactScoresFetcherConfig, ContactScoresResponse } from './ContactScoresFetcher';
9
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/triggers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,YAAY,EACZ,UAAU,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,YAAY,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/triggers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,YAAY,EACZ,UAAU,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,YAAY,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAG/E,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAChF,YAAY,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@active-reach/web-sdk",
3
- "version": "1.14.1",
4
- "description": "Web SDK for Active Reach Intelligence event tracking, identity resolution, in-app messaging, web push, and placements",
3
+ "version": "1.15.0",
4
+ "description": "Web SDK for Active Reach Intelligence \u2014 event tracking, identity resolution, in-app messaging, web push, and placements",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
7
7
  "browser": "./dist/aegis.min.js",