@active-reach/web-sdk 1.12.0 → 1.14.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.
@@ -3,6 +3,7 @@ import { Plugin } from '../types/plugin';
3
3
  import { ConsentPreferences, ConsentCategory } from '../utils/consent';
4
4
  import { EcommerceTracker } from '../ecommerce';
5
5
  import { EventGovernanceHint } from '../governance';
6
+ import { UserNamespace } from './user-namespace';
6
7
  export declare class Aegis {
7
8
  private config;
8
9
  private storage;
@@ -14,6 +15,7 @@ export declare class Aegis {
14
15
  private initPromise;
15
16
  private consent;
16
17
  private _ecommerce;
18
+ private _user;
17
19
  private rateLimiter;
18
20
  private nameGovernor;
19
21
  private traitGovernor;
@@ -22,6 +24,8 @@ export declare class Aegis {
22
24
  private _originalPushState;
23
25
  private _originalReplaceState;
24
26
  private _lastEventIds;
27
+ private _workspaceCodes;
28
+ private _runtimeWorkspace;
25
29
  init(writeKey: string, config?: Partial<AegisConfig>): Promise<void>;
26
30
  private _init;
27
31
  /**
@@ -35,11 +39,108 @@ export declare class Aegis {
35
39
  private captureAdClickIDsOnInit;
36
40
  private initializePlugins;
37
41
  use(plugin: Plugin): void;
42
+ /**
43
+ * Symmetric counterpart to `use(plugin)`. Calls the plugin's `destroy()`
44
+ * hook (if defined) and removes it from the registry so its hooks no
45
+ * longer fire on subsequent events. Safe to call with a name that
46
+ * isn't registered — logs a warning and returns.
47
+ *
48
+ * Primary use case: React components that register a plugin in
49
+ * `useEffect` and need to unregister in the cleanup function so HMR /
50
+ * provider remount doesn't leak listeners. See cashier-portal's
51
+ * MetaPixelInjector for an example.
52
+ */
53
+ removePlugin(name: string): void;
54
+ /**
55
+ * Plugin-handshake P1 — ingest the workspace_code allowlist from the
56
+ * bootstrap response. Pass `result.workspaceCodes` from `bootstrap()`
57
+ * here so the SDK can do path-segment workspace detection on
58
+ * customer-facing pages like `/south/rewards`, `/ghatkopar/feedback`.
59
+ *
60
+ * Empty array is the right answer for single-outlet tenants — SDK
61
+ * will skip the path cascade and fall through to query param /
62
+ * setWorkspace() / gateway origin lookup.
63
+ *
64
+ * Safe to call before init() — the set is consulted at event-fire time.
65
+ */
66
+ ingestWorkspaceCodes(codes: string[] | null | undefined): void;
67
+ /**
68
+ * Plugin-handshake P1 (Track E) — explicitly set the workspace for
69
+ * subsequent events. Used by:
70
+ * - SPAs where workspace context changes via in-app routing
71
+ * - Mobile / RN apps that have no URL
72
+ * - Custom integrations that resolve workspace from their own state
73
+ *
74
+ * Pass null to clear (or call clearWorkspace()).
75
+ *
76
+ * Persisted to sessionStorage so SPA reloads / page transitions on the
77
+ * same outlet inherit it without re-calling.
78
+ */
79
+ setWorkspace(codeOrId: string | null): void;
80
+ /** Symmetric helper to clear the runtime workspace. */
81
+ clearWorkspace(): void;
82
+ /**
83
+ * Inspect the URL's first path segment and return it if it's in the
84
+ * org's workspace_code allowlist. Skips well-known non-workspace prefixes
85
+ * (e.g. `b` for bill short codes; `s` is the storefront app slug).
86
+ *
87
+ * Returns undefined when:
88
+ * - window is undefined (SSR / Node)
89
+ * - path is empty / root
90
+ * - first segment isn't in `_workspaceCodes` (e.g. /products, /cart)
91
+ *
92
+ * The returned value is a workspace CODE (slug like "south"), not a
93
+ * UUID. The gateway normalizes code → UUID server-side via
94
+ * workspace_subaccounts lookup with Redis cache.
95
+ */
96
+ private getPathWorkspaceCode;
97
+ /**
98
+ * Resolve the effective `workspace_id` for the next event.
99
+ *
100
+ * Cascade (highest precedence first):
101
+ * 1. `this.config.workspace_id` — explicit operator config (headless
102
+ * SDK usage, server-rendered apps, native shells).
103
+ * 2. `?ws=` query param on the current URL — the P3 storefront URL
104
+ * contract. The outlet picker writes this via `router.replace`.
105
+ * 3. URL path segment (P1 Track A) — `/south/rewards` → "south" when
106
+ * "south" is in the org's workspace_code allowlist.
107
+ * 4. `aegis.setWorkspace()` runtime override (P1 Track E) — SPAs +
108
+ * mobile + custom integrations.
109
+ * 5. sessionStorage `aegis_runtime_ws` — persists setWorkspace across
110
+ * reloads/SPA route changes.
111
+ * 6. `undefined` — gateway falls back to `resolveByOrigin` lookup
112
+ * against the property's allowed_origins.
113
+ *
114
+ * The returned value can be EITHER a UUID (from config / ?ws=) or a
115
+ * workspace CODE slug (from path / setWorkspace). The gateway
116
+ * normalizes slug → UUID server-side; analytics layer never needs to
117
+ * worry about the difference.
118
+ *
119
+ * See docs/architecture/MULTI_OUTLET_URL_STRATEGY.md §2.3 and
120
+ * docs/architecture/PLUGIN_HANDSHAKE_AUTOMATION.md §2.
121
+ */
122
+ /**
123
+ * Public so peer SDK surfaces (AegisMessageRuntime / AegisInAppManager /
124
+ * AegisPlacementManager / AegisWidgetManager) can plumb the same
125
+ * resolved workspace into their own gateway POSTs. Each manager calls
126
+ * the gateway on its own endpoint (`/v1/in_app/events`,
127
+ * `/v1/placements/track`, `/v1/widgets/track-event`); without this,
128
+ * those events arrive at event-ingress with no workspace_id stamped
129
+ * → impressions/clicks fall back to the org's primary workspace and
130
+ * cross-outlet attribution breaks.
131
+ */
132
+ getEffectiveWorkspaceId(): string | undefined;
38
133
  track(eventName: string, properties?: Record<string, any>): void;
39
134
  identify(userId: string, traits?: Record<string, any>): void;
40
135
  page(name?: string, properties?: Record<string, any>): void;
41
136
  group(groupId: string, traits?: Record<string, any>): void;
42
137
  alias(newUserId: string): void;
138
+ /**
139
+ * SPA-logical screen view. Distinct from `page()` (URL-bound) — fires
140
+ * when the user enters a logical surface like cart / checkout / drawer
141
+ * without a URL change. Gateway maps `screen` → `engagement.screen_view`.
142
+ */
143
+ screen(name: string, properties?: Record<string, any>): void;
43
144
  private captureEvent;
44
145
  /**
45
146
  * Emit a coalesced meta-event reporting client-side rate-limit drops.
@@ -100,6 +201,7 @@ export declare class Aegis {
100
201
  onConsentChange(callback: (preferences: ConsentPreferences) => void): () => void;
101
202
  private assertInitialized;
102
203
  get ecommerce(): EcommerceTracker;
204
+ get user(): UserNamespace;
103
205
  destroy(): void;
104
206
  }
105
207
  //# sourceMappingURL=analytics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/core/analytics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/core/analytics.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,15 @@ export interface BootstrapResult {
37
37
  * directly to `aegis.ingestGovernanceHint()`.
38
38
  */
39
39
  eventGovernance: EventGovernanceHint | null;
40
+ /**
41
+ * Plugin-handshake P1 — workspace_code allowlist for SDK path-segment
42
+ * detection. Empty array = no workspace codes registered for this org
43
+ * (single-outlet tenant). SDK uses this set to decide whether
44
+ * `location.pathname.split('/')[1]` is a valid workspace slug vs a
45
+ * generic route (e.g. `/products`, `/collections`). Pass to
46
+ * `aegis.ingestWorkspaceCodes()` after bootstrap completes.
47
+ */
48
+ workspaceCodes: string[];
40
49
  }
41
50
  export declare class BootstrapError extends Error {
42
51
  readonly status: number;
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/core/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,YAAY,CAAC;IACpF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,eAAe,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC7C;AAED,qBAAa,cAAe,SAAQ,KAAK;aACX,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI5D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAIpD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAqB5D;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,eAAe,CAAC,CAoC1B;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBzF"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/core/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,YAAY,CAAC;IACpF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,eAAe,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC5C;;;;;;;OAOG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,qBAAa,cAAe,SAAQ,KAAK;aACX,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI5D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAIpD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAqB5D;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,eAAe,CAAC,CAoC1B;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBzF"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * UserNamespace — typed PII + per-channel opt-in setters that delegate to
3
+ * `Aegis.identify()`. WebEngage-/CleverTap-parity ergonomics.
4
+ *
5
+ * Pre-login `setX` calls accumulate in `pendingTraits` and flush as one
6
+ * identify() when `login()` fires — avoids polluting the contact graph
7
+ * with anonymous-id-as-userId rows.
8
+ *
9
+ * See docs/architecture/SDK_USER_NAMESPACE_AND_SCREEN.md.
10
+ */
11
+ import type { Aegis } from './analytics';
12
+ export type OptInChannel = 'email' | 'sms' | 'push' | 'webpush' | 'whatsapp' | 'rcs' | 'inapp';
13
+ export declare class UserNamespace {
14
+ private readonly aegis;
15
+ private pendingTraits;
16
+ constructor(aegis: Aegis);
17
+ /**
18
+ * Authoritative identity write. Flushes any pending pre-login traits
19
+ * along with the supplied `traits` argument as a single identify call.
20
+ */
21
+ login(userId: string, traits?: Record<string, unknown>): void;
22
+ /**
23
+ * Drops the current userId and any pending pre-login traits. Does NOT
24
+ * fire a server-side logout event — that's a separate explicit `track`.
25
+ */
26
+ logout(): void;
27
+ setAttribute(key: string, value: unknown): void;
28
+ setAttributes(map: Record<string, unknown>): void;
29
+ setEmail(email: string): void;
30
+ setPhone(phone: string): void;
31
+ setHashedEmail(sha256Hex: string): void;
32
+ setHashedPhone(sha256Hex: string): void;
33
+ setBirthDate(iso: string): void;
34
+ setOptIn(channel: OptInChannel, granted: boolean): void;
35
+ /**
36
+ * HMAC-signed identity token. Ingress-side verification not yet wired —
37
+ * the trait is forwarded as-is and persisted on the contact record
38
+ * until that lands.
39
+ */
40
+ setSecureToken(token: string): void;
41
+ /**
42
+ * Test/inspection hook — returns a copy of the pending traits buffer.
43
+ * Used by the e2e smoke test to assert pre-login accumulation.
44
+ */
45
+ _getPendingTraits(): Record<string, unknown>;
46
+ private writeTraits;
47
+ }
48
+ //# sourceMappingURL=user-namespace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-namespace.d.ts","sourceRoot":"","sources":["../../src/core/user-namespace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,MAAM,YAAY,GACpB,OAAO,GACP,KAAK,GACL,MAAM,GACN,SAAS,GACT,UAAU,GACV,KAAK,GACL,OAAO,CAAC;AAuBZ,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,aAAa,CAA+B;gBAExC,KAAK,EAAE,KAAK;IAIxB;;;OAGG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAU7D;;;OAGG;IACH,MAAM,IAAI,IAAI;IAKd,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAQ/C,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAQjD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ7B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ7B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQvC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQvC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQ/B,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAYvD;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQnC;;;OAGG;IACH,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAM5C,OAAO,CAAC,WAAW;CAQpB"}
@@ -18,11 +18,15 @@
18
18
  * coupon_removed → coupon_removed
19
19
  * search_performed → search_performed
20
20
  * wishlist_item_added → wishlist_item_added
21
+ * product_waitlisted → product_waitlisted (back-in-stock waitlist opt-in;
22
+ * consumed by product_event_trigger_service
23
+ * _get_waitlisted_contacts; fires catalog.back_in_stock
24
+ * journey trigger on the next ON_STOCK flip)
21
25
  * promotion_viewed → promotion_viewed
22
26
  * promotion_clicked → promotion_clicked
23
27
  */
24
28
  import type { Aegis } from '../core/analytics';
25
- import type { EcommerceProduct, EcommerceCart, EcommerceCheckout, EcommerceOrder, EcommerceCoupon, EcommerceSearch, EcommerceProductList, EcommerceWishlist, EcommercePromotion } from './types';
29
+ import type { EcommerceProduct, EcommerceCart, EcommerceCheckout, EcommerceOrder, EcommerceCoupon, EcommerceSearch, EcommerceProductList, EcommerceWishlist, EcommerceWaitlist, EcommercePromotion } from './types';
26
30
  export declare class EcommerceTracker {
27
31
  private aegis;
28
32
  constructor(aegis: Aegis);
@@ -53,8 +57,9 @@ export declare class EcommerceTracker {
53
57
  couponApplied(coupon: EcommerceCoupon): void;
54
58
  couponRemoved(coupon: EcommerceCoupon): void;
55
59
  wishlistItemAdded(wishlist: EcommerceWishlist): void;
60
+ productWaitlisted(waitlist: EcommerceWaitlist): void;
56
61
  promotionViewed(promo: EcommercePromotion): void;
57
62
  promotionClicked(promo: EcommercePromotion): void;
58
63
  }
59
- export type { EcommerceProduct, EcommerceCart, EcommerceCheckout, EcommerceOrder, EcommerceCoupon, EcommerceSearch, EcommerceProductList, EcommerceWishlist, EcommercePromotion, } from './types';
64
+ export type { EcommerceProduct, EcommerceCart, EcommerceCheckout, EcommerceOrder, EcommerceCoupon, EcommerceSearch, EcommerceProductList, EcommerceWishlist, EcommerceWaitlist, EcommercePromotion, } from './types';
60
65
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ecommerce/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAoCjB,qBAAa,gBAAgB;IACf,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK;IAIhC,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAgB9C,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI;IASnD,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAgBnH,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAcrH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAQzG,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAU9C,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAe1C,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAY/C,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAYrC,eAAe,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAalD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IASnE,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAgB3C,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAUnF,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAI5C,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAM5C,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAcpD,eAAe,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAIhD,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;CAGlD;AAED,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ecommerce/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AA0CjB,qBAAa,gBAAgB;IACf,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK;IAIhC,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAgB9C,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI;IASnD,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAgBnH,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAcrH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAQzG,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAU9C,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAe1C,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAY/C,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAYrC,eAAe,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAalD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IASnE,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAgB3C,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAUnF,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAI5C,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAM5C,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAoBpD,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAapD,eAAe,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAIhD,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;CAGlD;AAED,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,SAAS,CAAC"}
@@ -68,6 +68,10 @@ export interface EcommerceWishlist {
68
68
  wishlist_name?: string;
69
69
  product: EcommerceProduct;
70
70
  }
71
+ export interface EcommerceWaitlist {
72
+ product: EcommerceProduct;
73
+ channels?: Array<'whatsapp' | 'sms' | 'email' | 'push'>;
74
+ }
71
75
  export interface EcommercePromotion {
72
76
  promotion_id?: string;
73
77
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ecommerce/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ecommerce/types.ts"],"names":[],"mappings":"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"}
@@ -114,6 +114,16 @@ export interface AegisInAppConfig {
114
114
  * gamification campaigns are logged and skipped.
115
115
  */
116
116
  onInteractiveCampaign?: (campaign: InAppCampaign) => void;
117
+ /**
118
+ * Workspace cascade reader. Set this from the host SDK as
119
+ * `getWorkspaceId: () => aegis.getEffectiveWorkspaceId()` so in-app
120
+ * impressions/clicks/dismisses carry the same workspace context the
121
+ * main analytics SDK sees (URL path slug, ?ws=, setWorkspace runtime).
122
+ * Without it, in-app engagement events arrive at event-ingress with
123
+ * no workspace_id stamped → cross-outlet attribution silently falls
124
+ * back to the org's primary workspace.
125
+ */
126
+ getWorkspaceId?: () => string | undefined;
117
127
  }
118
128
  export declare class AegisInAppManager {
119
129
  private writeKey;
@@ -125,6 +135,7 @@ export declare class AegisInAppManager {
125
135
  private debugMode;
126
136
  private enableSSE;
127
137
  private onInteractiveCampaign?;
138
+ private getWorkspaceId?;
128
139
  private campaigns;
129
140
  private displayedCampaigns;
130
141
  private suppressedUntil;
@@ -1 +1 @@
1
- {"version":3,"file":"AegisInAppManager.d.ts","sourceRoot":"","sources":["../../src/inapp/AegisInAppManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AegisInAppManager.d.ts","sourceRoot":"","sources":["../../src/inapp/AegisInAppManager.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,7 +3,9 @@ declare const aegis: Aegis;
3
3
  export default aegis;
4
4
  export { Aegis } from './core/analytics';
5
5
  export type { AegisConfig, CellEndpoint, CellRegion } from './types/config';
6
- export type { AegisEvent, TrackEvent, IdentifyEvent, PageEvent, GroupEvent, AliasEvent, EventContext, BatchPayload, BatchResponse, } from './types/events';
6
+ export type { AegisEvent, TrackEvent, IdentifyEvent, PageEvent, ScreenEvent, GroupEvent, AliasEvent, EventContext, BatchPayload, BatchResponse, } from './types/events';
7
+ export { UserNamespace } from './core/user-namespace';
8
+ export type { OptInChannel } from './core/user-namespace';
7
9
  export type { Plugin, PluginRegistry } from './types/plugin';
8
10
  export { debounce, throttle } from './utils/debounce';
9
11
  export type { ConsentPreferences, ConsentCategory, ConsentStatus, } from './utils/consent';
@@ -31,5 +33,5 @@ export type { RateLimiterOptions } from './core/rate-limiter';
31
33
  export { NameGovernor, BloomFilter, murmurhash3_x86_32 } from './governance';
32
34
  export type { EventGovernanceHint, DropReport, BloomFilterParams } from './governance';
33
35
  export { EcommerceTracker } from './ecommerce';
34
- export type { EcommerceProduct, EcommerceCart, EcommerceCheckout, EcommerceOrder, EcommerceCoupon, EcommerceSearch, EcommerceProductList, EcommerceWishlist, EcommercePromotion, } from './ecommerce';
36
+ export type { EcommerceProduct, EcommerceCart, EcommerceCheckout, EcommerceOrder, EcommerceCoupon, EcommerceSearch, EcommerceProductList, EcommerceWishlist, EcommerceWaitlist, EcommercePromotion, } from './ecommerce';
35
37
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { S as Storage, l as logger, A as Aegis } from "./analytics-6PR9ERDS.mjs";
2
- import { B, E, N, R, m } from "./analytics-6PR9ERDS.mjs";
1
+ import { S as Storage, l as logger, A as Aegis } from "./analytics-DGt-CSgi.mjs";
2
+ import { B, E, N, R, U, m } from "./analytics-DGt-CSgi.mjs";
3
3
  import { AegisWebPush } from "./push/AegisWebPush.js";
4
4
  function debounce(func, wait) {
5
5
  let timeoutId = null;
@@ -765,6 +765,7 @@ const _AegisInAppManager = class _AegisInAppManager {
765
765
  this.debugMode = config.debugMode || false;
766
766
  this.enableSSE = config.enableSSE === true;
767
767
  this.onInteractiveCampaign = config.onInteractiveCampaign;
768
+ this.getWorkspaceId = config.getWorkspaceId;
768
769
  }
769
770
  emit(eventName, payload) {
770
771
  const handlers = this.hooks.get(eventName);
@@ -2758,6 +2759,7 @@ const _AegisInAppManager = class _AegisInAppManager {
2758
2759
  * in_app.dismissed → engagement.dismiss
2759
2760
  */
2760
2761
  async trackEvent(campaignId, eventType) {
2762
+ var _a;
2761
2763
  if (eventType === "dismissed") {
2762
2764
  const campaign = this.campaigns.find((c) => c.id === campaignId);
2763
2765
  if (campaign) {
@@ -2777,6 +2779,7 @@ const _AegisInAppManager = class _AegisInAppManager {
2777
2779
  if (this.organizationId) headers["X-Organization-ID"] = this.organizationId;
2778
2780
  if (this.userId) headers["X-User-ID"] = this.userId;
2779
2781
  if (this.contactId) headers["X-Contact-ID"] = this.contactId;
2782
+ const workspaceId = (_a = this.getWorkspaceId) == null ? void 0 : _a.call(this);
2780
2783
  const body = {
2781
2784
  campaign_id: campaignId,
2782
2785
  event_type: eventType,
@@ -2784,6 +2787,7 @@ const _AegisInAppManager = class _AegisInAppManager {
2784
2787
  contact_id: this.contactId,
2785
2788
  anonymous_id: this.userId,
2786
2789
  platform: "web",
2790
+ workspace_id: workspaceId,
2787
2791
  metadata: {
2788
2792
  property_id: this.propertyId,
2789
2793
  variant_id: this.getVariantId(campaignId) ?? void 0
@@ -2868,6 +2872,7 @@ class AegisPlacementManager {
2868
2872
  this.organizationId = config.organizationId;
2869
2873
  this.debugMode = config.debugMode || false;
2870
2874
  this.enableSSE = config.enableSSE !== false;
2875
+ this.getWorkspaceId = config.getWorkspaceId;
2871
2876
  }
2872
2877
  async initialize() {
2873
2878
  if (this.isInitialized) {
@@ -3284,6 +3289,7 @@ class AegisPlacementManager {
3284
3289
  this.log(`Rendered fallback content for: ${slot.placementId}`);
3285
3290
  }
3286
3291
  async trackEvent(placementId, variantId, eventType, metadata = {}) {
3292
+ var _a;
3287
3293
  try {
3288
3294
  const url = `${this.apiHost}/v1/placements/track`;
3289
3295
  const headers = {
@@ -3295,10 +3301,12 @@ class AegisPlacementManager {
3295
3301
  if (this.userId) headers["X-User-ID"] = this.userId;
3296
3302
  if (this.contactId) headers["X-Contact-ID"] = this.contactId;
3297
3303
  if (this.organizationId) headers["X-Organization-ID"] = this.organizationId;
3304
+ const workspaceId = (_a = this.getWorkspaceId) == null ? void 0 : _a.call(this);
3298
3305
  const body = {
3299
3306
  placement_id: placementId,
3300
3307
  variant_id: variantId,
3301
3308
  event_type: eventType,
3309
+ workspace_id: workspaceId,
3302
3310
  metadata: {
3303
3311
  device_type: this.getDeviceType(),
3304
3312
  platform: "web",
@@ -4686,6 +4694,7 @@ class AegisWidgetManager {
4686
4694
  this.cssCustomization = config.cssCustomization || {};
4687
4695
  this.onEvent = config.onEvent;
4688
4696
  this.sourcePlatform = config.sourcePlatform;
4697
+ this.getWorkspaceId = config.getWorkspaceId;
4689
4698
  }
4690
4699
  updateCSSCustomization(customization) {
4691
4700
  this.cssCustomization = { ...this.cssCustomization, ...customization };
@@ -6231,6 +6240,7 @@ class AegisWidgetManager {
6231
6240
  modal.appendChild(resultContainer);
6232
6241
  }
6233
6242
  async submitFeedback(widgetId, data) {
6243
+ var _a;
6234
6244
  const url = `${this.apiHost}/v1/widgets/track-event`;
6235
6245
  const headers = {
6236
6246
  "X-Aegis-Write-Key": this.writeKey,
@@ -6239,13 +6249,15 @@ class AegisWidgetManager {
6239
6249
  if (this.userId) headers["X-User-ID"] = this.userId;
6240
6250
  if (this.contactId) headers["X-Contact-ID"] = this.contactId;
6241
6251
  if (this.organizationId) headers["X-Organization-ID"] = this.organizationId;
6252
+ const workspaceId = (_a = this.getWorkspaceId) == null ? void 0 : _a.call(this);
6242
6253
  const response = await fetch(url, {
6243
6254
  method: "POST",
6244
6255
  headers,
6245
6256
  body: JSON.stringify({
6246
6257
  widget_id: widgetId,
6247
6258
  event_type: "submit",
6248
- event_data: data
6259
+ event_data: data,
6260
+ workspace_id: workspaceId
6249
6261
  }),
6250
6262
  credentials: "include"
6251
6263
  });
@@ -6254,6 +6266,7 @@ class AegisWidgetManager {
6254
6266
  }
6255
6267
  }
6256
6268
  async trackEvent(widgetId, eventType, metadata) {
6269
+ var _a;
6257
6270
  try {
6258
6271
  const url = `${this.apiHost}/v1/widgets/track-event`;
6259
6272
  const headers = {
@@ -6263,13 +6276,15 @@ class AegisWidgetManager {
6263
6276
  if (this.userId) headers["X-User-ID"] = this.userId;
6264
6277
  if (this.contactId) headers["X-Contact-ID"] = this.contactId;
6265
6278
  if (this.organizationId) headers["X-Organization-ID"] = this.organizationId;
6279
+ const workspaceId = (_a = this.getWorkspaceId) == null ? void 0 : _a.call(this);
6266
6280
  await fetch(url, {
6267
6281
  method: "POST",
6268
6282
  headers,
6269
6283
  body: JSON.stringify({
6270
6284
  widget_id: widgetId,
6271
6285
  event_type: eventType,
6272
- event_data: metadata || {}
6286
+ event_data: metadata || {},
6287
+ workspace_id: workspaceId
6273
6288
  }),
6274
6289
  credentials: "include"
6275
6290
  });
@@ -6634,7 +6649,8 @@ class AegisMessageRuntime {
6634
6649
  triggerEngine,
6635
6650
  ownsTriggerEngine,
6636
6651
  enablePrefetch: config.enableWidgetPrefetch !== false,
6637
- sourcePlatform: config.sourcePlatform
6652
+ sourcePlatform: config.sourcePlatform,
6653
+ getWorkspaceId: config.getWorkspaceId
6638
6654
  });
6639
6655
  this.inApp = new AegisInAppManager({
6640
6656
  writeKey: config.writeKey,
@@ -6650,7 +6666,8 @@ class AegisMessageRuntime {
6650
6666
  // had no listener and silently dropped impressions.
6651
6667
  onInteractiveCampaign: (campaign) => {
6652
6668
  this.widgets.renderInteractiveCampaign(campaign);
6653
- }
6669
+ },
6670
+ getWorkspaceId: config.getWorkspaceId
6654
6671
  });
6655
6672
  }
6656
6673
  /**
@@ -6820,6 +6837,7 @@ export {
6820
6837
  R as RateLimiter,
6821
6838
  SdkConfigPoller,
6822
6839
  TriggerEngine,
6840
+ U as UserNamespace,
6823
6841
  bootstrap,
6824
6842
  debounce,
6825
6843
  aegis as default,