@active-reach/web-sdk 1.41.0 → 1.43.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.
- package/package.json +1 -1
- package/dist/aegis-push.min.js +0 -2
- package/dist/aegis-push.min.js.map +0 -1
- package/dist/aegis-sw.js +0 -1
- package/dist/aegis.min.js +0 -2
- package/dist/aegis.min.js.map +0 -1
- package/dist/analytics-C-Go3Pm5.mjs +0 -3509
- package/dist/analytics-C-Go3Pm5.mjs.map +0 -1
- package/dist/cdn.d.ts +0 -26
- package/dist/cdn.d.ts.map +0 -1
- package/dist/chat/AegisChat.d.ts +0 -169
- package/dist/chat/AegisChat.d.ts.map +0 -1
- package/dist/chat/index.d.ts +0 -3
- package/dist/chat/index.d.ts.map +0 -1
- package/dist/core/analytics.d.ts +0 -320
- package/dist/core/analytics.d.ts.map +0 -1
- package/dist/core/bootstrap.d.ts +0 -96
- package/dist/core/bootstrap.d.ts.map +0 -1
- package/dist/core/prefetch-bundle-client.d.ts +0 -175
- package/dist/core/prefetch-bundle-client.d.ts.map +0 -1
- package/dist/core/queue.d.ts +0 -35
- package/dist/core/queue.d.ts.map +0 -1
- package/dist/core/rate-limiter.d.ts +0 -45
- package/dist/core/rate-limiter.d.ts.map +0 -1
- package/dist/core/sdk-config-poller.d.ts +0 -59
- package/dist/core/sdk-config-poller.d.ts.map +0 -1
- package/dist/core/session.d.ts +0 -52
- package/dist/core/session.d.ts.map +0 -1
- package/dist/core/transport.d.ts +0 -50
- package/dist/core/transport.d.ts.map +0 -1
- package/dist/core/user-namespace.d.ts +0 -48
- package/dist/core/user-namespace.d.ts.map +0 -1
- package/dist/ecommerce/index.d.ts +0 -94
- package/dist/ecommerce/index.d.ts.map +0 -1
- package/dist/ecommerce/types.d.ts +0 -81
- package/dist/ecommerce/types.d.ts.map +0 -1
- package/dist/governance/bloom-filter.d.ts +0 -47
- package/dist/governance/bloom-filter.d.ts.map +0 -1
- package/dist/governance/index.d.ts +0 -8
- package/dist/governance/index.d.ts.map +0 -1
- package/dist/governance/murmur3.d.ts +0 -43
- package/dist/governance/murmur3.d.ts.map +0 -1
- package/dist/governance/name-governor.d.ts +0 -98
- package/dist/governance/name-governor.d.ts.map +0 -1
- package/dist/governance/trait-governor.d.ts +0 -63
- package/dist/governance/trait-governor.d.ts.map +0 -1
- package/dist/inapp/AegisInAppManager.d.ts +0 -877
- package/dist/inapp/AegisInAppManager.d.ts.map +0 -1
- package/dist/inapp/actions.d.ts +0 -91
- package/dist/inapp/actions.d.ts.map +0 -1
- package/dist/inapp/devicePairing.d.ts +0 -70
- package/dist/inapp/devicePairing.d.ts.map +0 -1
- package/dist/inapp/eval-throttle.d.ts +0 -33
- package/dist/inapp/eval-throttle.d.ts.map +0 -1
- package/dist/inapp/font.d.ts +0 -16
- package/dist/inapp/font.d.ts.map +0 -1
- package/dist/inapp/index.d.ts +0 -8
- package/dist/inapp/index.d.ts.map +0 -1
- package/dist/inapp/lucide-svg.d.ts +0 -46
- package/dist/inapp/lucide-svg.d.ts.map +0 -1
- package/dist/inapp/renderPreview.d.ts +0 -40
- package/dist/inapp/renderPreview.d.ts.map +0 -1
- package/dist/inapp/renderers/active-web-chat.d.ts +0 -45
- package/dist/inapp/renderers/active-web-chat.d.ts.map +0 -1
- package/dist/inapp/renderers/card-style.d.ts +0 -31
- package/dist/inapp/renderers/card-style.d.ts.map +0 -1
- package/dist/inapp/renderers/card-template.d.ts +0 -233
- package/dist/inapp/renderers/card-template.d.ts.map +0 -1
- package/dist/inapp/renderers/carousel-cards.d.ts +0 -15
- package/dist/inapp/renderers/carousel-cards.d.ts.map +0 -1
- package/dist/inapp/renderers/coachmark-tour.d.ts +0 -24
- package/dist/inapp/renderers/coachmark-tour.d.ts.map +0 -1
- package/dist/inapp/renderers/games.d.ts +0 -27
- package/dist/inapp/renderers/games.d.ts.map +0 -1
- package/dist/inapp/renderers/hero.d.ts +0 -23
- package/dist/inapp/renderers/hero.d.ts.map +0 -1
- package/dist/inapp/renderers/index.d.ts +0 -22
- package/dist/inapp/renderers/index.d.ts.map +0 -1
- package/dist/inapp/renderers/interactive-contract.d.ts +0 -48
- package/dist/inapp/renderers/interactive-contract.d.ts.map +0 -1
- package/dist/inapp/renderers/product-recommendation.d.ts +0 -37
- package/dist/inapp/renderers/product-recommendation.d.ts.map +0 -1
- package/dist/inapp/renderers/progress-bar.d.ts +0 -38
- package/dist/inapp/renderers/progress-bar.d.ts.map +0 -1
- package/dist/inapp/renderers/progress-core.d.ts +0 -80
- package/dist/inapp/renderers/progress-core.d.ts.map +0 -1
- package/dist/inapp/renderers/reviews.d.ts +0 -38
- package/dist/inapp/renderers/reviews.d.ts.map +0 -1
- package/dist/inapp/renderers/sticky-bar.d.ts +0 -14
- package/dist/inapp/renderers/sticky-bar.d.ts.map +0 -1
- package/dist/inapp/renderers/stories.d.ts +0 -31
- package/dist/inapp/renderers/stories.d.ts.map +0 -1
- package/dist/inapp/renderers/types.d.ts +0 -147
- package/dist/inapp/renderers/types.d.ts.map +0 -1
- package/dist/inapp/renderers/video.d.ts +0 -20
- package/dist/inapp/renderers/video.d.ts.map +0 -1
- package/dist/inbox/AegisInbox.d.ts +0 -106
- package/dist/inbox/AegisInbox.d.ts.map +0 -1
- package/dist/inbox/index.d.ts +0 -3
- package/dist/inbox/index.d.ts.map +0 -1
- package/dist/index.d.ts +0 -40
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -15127
- package/dist/index.js.map +0 -1
- package/dist/integrations/react.d.ts +0 -19
- package/dist/integrations/react.d.ts.map +0 -1
- package/dist/loyalty/AegisLoyaltyManager.d.ts +0 -120
- package/dist/loyalty/AegisLoyaltyManager.d.ts.map +0 -1
- package/dist/loyalty/index.d.ts +0 -3
- package/dist/loyalty/index.d.ts.map +0 -1
- package/dist/plugins/registry.d.ts +0 -13
- package/dist/plugins/registry.d.ts.map +0 -1
- package/dist/push/AegisWebPush.d.ts +0 -199
- package/dist/push/AegisWebPush.d.ts.map +0 -1
- package/dist/push/AegisWebPush.js +0 -542
- package/dist/push/AegisWebPush.js.map +0 -1
- package/dist/push/cdn-push.d.ts +0 -21
- package/dist/push/cdn-push.d.ts.map +0 -1
- package/dist/react.js +0 -70
- package/dist/react.js.map +0 -1
- package/dist/runtime/AegisMessageRuntime.d.ts +0 -274
- package/dist/runtime/AegisMessageRuntime.d.ts.map +0 -1
- package/dist/runtime/index.d.ts +0 -3
- package/dist/runtime/index.d.ts.map +0 -1
- package/dist/snippet.min.js +0 -1
- package/dist/state/intent_ledger.d.ts +0 -136
- package/dist/state/intent_ledger.d.ts.map +0 -1
- package/dist/triggers/ContactScoresFetcher.d.ts +0 -113
- package/dist/triggers/ContactScoresFetcher.d.ts.map +0 -1
- package/dist/triggers/IntentRuleEvaluator.d.ts +0 -213
- package/dist/triggers/IntentRuleEvaluator.d.ts.map +0 -1
- package/dist/triggers/IntentSnapshotCollector.d.ts +0 -83
- package/dist/triggers/IntentSnapshotCollector.d.ts.map +0 -1
- package/dist/triggers/SelectorBinder.d.ts +0 -118
- package/dist/triggers/SelectorBinder.d.ts.map +0 -1
- package/dist/triggers/TriggerEngine.d.ts +0 -296
- package/dist/triggers/TriggerEngine.d.ts.map +0 -1
- package/dist/triggers/behaviouralTriggers.d.ts +0 -41
- package/dist/triggers/behaviouralTriggers.d.ts.map +0 -1
- package/dist/triggers/index.d.ts +0 -11
- package/dist/triggers/index.d.ts.map +0 -1
- package/dist/types/config.d.ts +0 -77
- package/dist/types/config.d.ts.map +0 -1
- package/dist/types/events.d.ts +0 -147
- package/dist/types/events.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -5
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/plugin.d.ts +0 -21
- package/dist/types/plugin.d.ts.map +0 -1
- package/dist/types/type-safe-events.d.ts +0 -14
- package/dist/types/type-safe-events.d.ts.map +0 -1
- package/dist/utils/canonical-identity.d.ts +0 -29
- package/dist/utils/canonical-identity.d.ts.map +0 -1
- package/dist/utils/consent.d.ts +0 -40
- package/dist/utils/consent.d.ts.map +0 -1
- package/dist/utils/debounce.d.ts +0 -3
- package/dist/utils/debounce.d.ts.map +0 -1
- package/dist/utils/device.d.ts +0 -6
- package/dist/utils/device.d.ts.map +0 -1
- package/dist/utils/identity.d.ts +0 -27
- package/dist/utils/identity.d.ts.map +0 -1
- package/dist/utils/index.d.ts +0 -7
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/logger.d.ts +0 -15
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/meta-cookies.d.ts +0 -65
- package/dist/utils/meta-cookies.d.ts.map +0 -1
- package/dist/utils/redact-url.d.ts +0 -56
- package/dist/utils/redact-url.d.ts.map +0 -1
- package/dist/utils/storage.d.ts +0 -20
- package/dist/utils/storage.d.ts.map +0 -1
- package/dist/utils/url-parser.d.ts +0 -61
- package/dist/utils/url-parser.d.ts.map +0 -1
- package/dist/utils/uuid.d.ts +0 -4
- package/dist/utils/uuid.d.ts.map +0 -1
- package/dist/utils/visitor.d.ts +0 -43
- package/dist/utils/visitor.d.ts.map +0 -1
- package/dist/widgets/AegisWidgetManager.d.ts +0 -209
- package/dist/widgets/AegisWidgetManager.d.ts.map +0 -1
- package/dist/widgets/index.d.ts +0 -3
- package/dist/widgets/index.d.ts.map +0 -1
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Aegis } from '../core/analytics';
|
|
3
|
-
import { AegisConfig } from '../types/config';
|
|
4
|
-
interface AegisContextValue {
|
|
5
|
-
aegis: Aegis | null;
|
|
6
|
-
isReady: boolean;
|
|
7
|
-
}
|
|
8
|
-
export interface AegisProviderProps {
|
|
9
|
-
writeKey: string;
|
|
10
|
-
config?: Partial<AegisConfig>;
|
|
11
|
-
children: React.ReactNode;
|
|
12
|
-
}
|
|
13
|
-
export declare const AegisProvider: React.FC<AegisProviderProps>;
|
|
14
|
-
export declare const useAegis: () => AegisContextValue;
|
|
15
|
-
export declare const useTrackEvent: () => (eventName: string, properties?: Record<string, any>) => void;
|
|
16
|
-
export declare const usePageView: (pageName?: string, properties?: Record<string, any>, dependencies?: any[]) => void;
|
|
17
|
-
export declare const useIdentifyUser: () => (userId: string, traits?: Record<string, any>) => void;
|
|
18
|
-
export {};
|
|
19
|
-
//# sourceMappingURL=react.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/integrations/react.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,UAAU,iBAAiB;IACzB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAOD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA4BtD,CAAC;AAEF,eAAO,MAAM,QAAQ,QAAO,iBAQ3B,CAAC;AAEF,eAAO,MAAM,aAAa,oBAIV,MAAM,eAAe,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,SAOvD,CAAC;AAEF,eAAO,MAAM,WAAW,cACX,MAAM,eACJ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAClB,GAAG,EAAE,SASpB,CAAC;AAEF,eAAO,MAAM,eAAe,iBAIf,MAAM,WAAW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,SAOhD,CAAC"}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AegisLoyaltyManager — public SDK surface for the closed-loop store
|
|
3
|
-
* credit + gift cards feature.
|
|
4
|
-
*
|
|
5
|
-
* Phase 7 of the Active Loyalty — Store Credit + Gift Cards rollout.
|
|
6
|
-
* Tracker: docs/architecture/ACTIVE_LOYALTY_STORE_CREDIT_GIFT_CARDS_TRACKER.md
|
|
7
|
-
*
|
|
8
|
-
* Public API (call via `runtime.loyalty.storeCredit.*` / `runtime.loyalty.giftCards.*`):
|
|
9
|
-
*
|
|
10
|
-
* await runtime.loyalty.storeCredit.listActive(phone)
|
|
11
|
-
* await runtime.loyalty.storeCredit.startReload({ phone, workspaceId, amountPaise })
|
|
12
|
-
* await runtime.loyalty.giftCards.startPurchase({ ... })
|
|
13
|
-
* await runtime.loyalty.giftCards.claim({ giftCardId, phone })
|
|
14
|
-
* await runtime.loyalty.giftCards.listReceived(phone)
|
|
15
|
-
*
|
|
16
|
-
* Closed-loop constraints surfaced through the API:
|
|
17
|
-
* - workspaceId is required on every reload / gift card purchase
|
|
18
|
-
* (C1 — single-workspace redemption).
|
|
19
|
-
* - listActive returns ONE row per workspace; clients render one
|
|
20
|
-
* card per workspace, never pooled.
|
|
21
|
-
* - claim() requires the recipient phone to authenticate as the
|
|
22
|
-
* directed recipient (C3 — no bearer codes).
|
|
23
|
-
*
|
|
24
|
-
* Network shape — all calls hit the storefront-facing commerce router
|
|
25
|
-
* via the configured apiHost / same-origin.
|
|
26
|
-
*/
|
|
27
|
-
export interface StoreCreditBalance {
|
|
28
|
-
workspaceId: string;
|
|
29
|
-
balancePaise: number;
|
|
30
|
-
expiresAt: string | null;
|
|
31
|
-
lastActivityAt: string | null;
|
|
32
|
-
}
|
|
33
|
-
export interface ReloadCheckoutResult {
|
|
34
|
-
contactId: string;
|
|
35
|
-
checkoutUrl: string;
|
|
36
|
-
provider: string;
|
|
37
|
-
paymentLinkId: string;
|
|
38
|
-
amountPaise: number;
|
|
39
|
-
}
|
|
40
|
-
export interface GiftCardPurchaseResult {
|
|
41
|
-
senderContactId: string;
|
|
42
|
-
giftCardId: string;
|
|
43
|
-
checkoutUrl: string;
|
|
44
|
-
provider: string;
|
|
45
|
-
paymentLinkId: string;
|
|
46
|
-
amountPaise: number;
|
|
47
|
-
}
|
|
48
|
-
export interface GiftCard {
|
|
49
|
-
id: string;
|
|
50
|
-
workspaceId: string;
|
|
51
|
-
senderContactId: string;
|
|
52
|
-
amountPaise: number;
|
|
53
|
-
status: string;
|
|
54
|
-
personalMessage: string | null;
|
|
55
|
-
deliveredAt: string | null;
|
|
56
|
-
claimedAt: string | null;
|
|
57
|
-
expiresAt: string | null;
|
|
58
|
-
createdAt: string | null;
|
|
59
|
-
}
|
|
60
|
-
export interface GiftCardClaimResult {
|
|
61
|
-
recipientContactId: string;
|
|
62
|
-
giftCardId: string;
|
|
63
|
-
amountCreditedPaise: number;
|
|
64
|
-
newBalancePaise: number;
|
|
65
|
-
}
|
|
66
|
-
export interface AegisLoyaltyManagerConfig {
|
|
67
|
-
/** Storefront slug — `{slug}.actii.me/...` */
|
|
68
|
-
slug: string;
|
|
69
|
-
/** Optional explicit API host. When null, uses same-origin. */
|
|
70
|
-
apiHost?: string;
|
|
71
|
-
/** When true, attaches credentials so cookies flow (anon-id, csrf). */
|
|
72
|
-
credentials?: 'include' | 'same-origin' | 'omit';
|
|
73
|
-
/** Optional debug logger. */
|
|
74
|
-
debugMode?: boolean;
|
|
75
|
-
}
|
|
76
|
-
declare class HttpClient {
|
|
77
|
-
private config;
|
|
78
|
-
constructor(config: AegisLoyaltyManagerConfig);
|
|
79
|
-
private url;
|
|
80
|
-
get<T>(path: string): Promise<T>;
|
|
81
|
-
post<T>(path: string, body: Record<string, unknown>): Promise<T>;
|
|
82
|
-
}
|
|
83
|
-
declare class StoreCreditClient {
|
|
84
|
-
private http;
|
|
85
|
-
constructor(http: HttpClient);
|
|
86
|
-
listActive(phone: string): Promise<StoreCreditBalance[]>;
|
|
87
|
-
startReload(opts: {
|
|
88
|
-
phone: string;
|
|
89
|
-
workspaceId: string;
|
|
90
|
-
amountPaise: number;
|
|
91
|
-
firstName?: string;
|
|
92
|
-
email?: string;
|
|
93
|
-
callbackUrl?: string;
|
|
94
|
-
}): Promise<ReloadCheckoutResult>;
|
|
95
|
-
}
|
|
96
|
-
declare class GiftCardsClient {
|
|
97
|
-
private http;
|
|
98
|
-
constructor(http: HttpClient);
|
|
99
|
-
startPurchase(opts: {
|
|
100
|
-
senderPhone: string;
|
|
101
|
-
workspaceId: string;
|
|
102
|
-
recipientPhone: string;
|
|
103
|
-
recipientName?: string;
|
|
104
|
-
amountPaise: number;
|
|
105
|
-
personalMessage?: string;
|
|
106
|
-
callbackUrl?: string;
|
|
107
|
-
}): Promise<GiftCardPurchaseResult>;
|
|
108
|
-
claim(opts: {
|
|
109
|
-
giftCardId: string;
|
|
110
|
-
phone: string;
|
|
111
|
-
}): Promise<GiftCardClaimResult>;
|
|
112
|
-
listReceived(phone: string): Promise<GiftCard[]>;
|
|
113
|
-
}
|
|
114
|
-
export declare class AegisLoyaltyManager {
|
|
115
|
-
readonly storeCredit: StoreCreditClient;
|
|
116
|
-
readonly giftCards: GiftCardsClient;
|
|
117
|
-
constructor(config: AegisLoyaltyManagerConfig);
|
|
118
|
-
}
|
|
119
|
-
export {};
|
|
120
|
-
//# sourceMappingURL=AegisLoyaltyManager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AegisLoyaltyManager.d.ts","sourceRoot":"","sources":["../../src/loyalty/AegisLoyaltyManager.ts"],"names":[],"mappings":"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"}
|
package/dist/loyalty/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/loyalty/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EACV,yBAAyB,EACzB,kBAAkB,EAClB,oBAAoB,EACpB,QAAQ,EACR,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Plugin } from '../types/plugin';
|
|
2
|
-
export declare class PluginRegistry {
|
|
3
|
-
private plugins;
|
|
4
|
-
register(plugin: Plugin): void;
|
|
5
|
-
unregister(pluginName: string): void;
|
|
6
|
-
get(pluginName: string): Plugin | undefined;
|
|
7
|
-
getAll(): Plugin[];
|
|
8
|
-
executeHook<T = any>(hookName: keyof Plugin, ...args: any[]): Promise<T | undefined>;
|
|
9
|
-
executeHookChain<T = any>(hookName: keyof Plugin, initialValue: T, ...additionalArgs: any[]): Promise<T>;
|
|
10
|
-
executeHookParallel<T = any>(hookName: keyof Plugin, ...args: any[]): Promise<T[]>;
|
|
11
|
-
clear(): void;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/plugins/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAkC;IAEjD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAU9B,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAoBpC,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3C,MAAM,IAAI,MAAM,EAAE;IAIZ,WAAW,CAAC,CAAC,GAAG,GAAG,EACvB,QAAQ,EAAE,MAAM,MAAM,EACtB,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAkCnB,gBAAgB,CAAC,CAAC,GAAG,GAAG,EAC5B,QAAQ,EAAE,MAAM,MAAM,EACtB,YAAY,EAAE,CAAC,EACf,GAAG,cAAc,EAAE,GAAG,EAAE,GACvB,OAAO,CAAC,CAAC,CAAC;IAuCP,mBAAmB,CAAC,CAAC,GAAG,GAAG,EAC/B,QAAQ,EAAE,MAAM,MAAM,EACtB,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,CAAC,EAAE,CAAC;IAuCf,KAAK,IAAI,IAAI;CAcd"}
|
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
export interface AegisAPIClient {
|
|
2
|
-
post(endpoint: string, payload: Record<string, unknown>, headers?: Record<string, string>): Promise<unknown>;
|
|
3
|
-
}
|
|
4
|
-
export interface ContactIdentity {
|
|
5
|
-
contactId?: string;
|
|
6
|
-
shopifyCustomerId?: string;
|
|
7
|
-
email?: string;
|
|
8
|
-
}
|
|
9
|
-
export interface AegisWebPushConfig {
|
|
10
|
-
vapidPublicKey: string;
|
|
11
|
-
propertyId: string;
|
|
12
|
-
firstPartyCookieId: string;
|
|
13
|
-
autoPrompt?: boolean;
|
|
14
|
-
promptDelay?: number;
|
|
15
|
-
serviceWorkerPath?: string;
|
|
16
|
-
serviceWorkerScope?: string;
|
|
17
|
-
writeKey?: string;
|
|
18
|
-
organizationId?: string;
|
|
19
|
-
}
|
|
20
|
-
export interface PushEventTracker {
|
|
21
|
-
track(eventName: string, properties: Record<string, unknown>): void;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Payload for the `push-tap` lifecycle event. CANCELLABLE — return `false`
|
|
25
|
-
* (or call `evt.preventDefault()`) from a handler to suppress the SDK's
|
|
26
|
-
* default `window.location.href` fallback navigation. Use this to dispatch
|
|
27
|
-
* an in-place state change in a SPA host instead of a hard reload.
|
|
28
|
-
*
|
|
29
|
-
* `action_type` + `action_payload` are author-controlled fields baked into
|
|
30
|
-
* the push template's `data` block:
|
|
31
|
-
*
|
|
32
|
-
* ```json
|
|
33
|
-
* {
|
|
34
|
-
* "title": "Your cart is waiting",
|
|
35
|
-
* "body": "...",
|
|
36
|
-
* "action_url": "https://shop.actii.me/?step=cart",
|
|
37
|
-
* "data": {
|
|
38
|
-
* "action_type": "open_cart",
|
|
39
|
-
* "action_payload": { "step": "cart" }
|
|
40
|
-
* }
|
|
41
|
-
* }
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
export interface PushTapEvent {
|
|
45
|
-
/** Author-controlled action discriminator (e.g. `open_cart`,
|
|
46
|
-
* `open_payment_link`, `open_order`). When unset, the SDK runs its
|
|
47
|
-
* default fallback navigation to `action_url`. */
|
|
48
|
-
action_type?: string;
|
|
49
|
-
/** Optional structured args the host SPA forwards to its handler. */
|
|
50
|
-
action_payload?: Record<string, unknown>;
|
|
51
|
-
/** Sanitized destination URL — used as the SDK's default fallback nav
|
|
52
|
-
* target when no host handler cancels. */
|
|
53
|
-
action_url: string;
|
|
54
|
-
/** Action-button id when the user clicked a specific button on a
|
|
55
|
-
* multi-button notification; `'default'` for body taps. */
|
|
56
|
-
action: string;
|
|
57
|
-
/** Source campaign id from the push payload — useful for SPA routing
|
|
58
|
-
* (e.g. open_cart from a cart-recovery campaign vs from a generic
|
|
59
|
-
* catch-all template). */
|
|
60
|
-
campaign_id?: string;
|
|
61
|
-
/** Mutate via `evt.preventDefault()` to signal the SDK to skip its
|
|
62
|
-
* default hard-navigation. Identical semantics to DOM CustomEvent. */
|
|
63
|
-
preventDefault: () => void;
|
|
64
|
-
defaultPrevented: boolean;
|
|
65
|
-
}
|
|
66
|
-
/** Payload for `push-shown` — fires after `showNotification` resolves on
|
|
67
|
-
* the SW side. The `degraded` flag is true when the SW had to fall back
|
|
68
|
-
* to its minimal `{title, body}` retry path (broken icon URL etc.). */
|
|
69
|
-
export interface PushShownEvent {
|
|
70
|
-
campaign_id?: string;
|
|
71
|
-
degraded?: boolean;
|
|
72
|
-
}
|
|
73
|
-
/** Payload for `push-dismissed` — fires when the user closes the
|
|
74
|
-
* notification without clicking. */
|
|
75
|
-
export interface PushDismissEvent {
|
|
76
|
-
campaign_id?: string;
|
|
77
|
-
}
|
|
78
|
-
/** Payload for `error` — non-fatal SDK errors (subscribe failures,
|
|
79
|
-
* resubscribe persist failures, host-handler throws). Wire into Sentry
|
|
80
|
-
* / Datadog RUM. */
|
|
81
|
-
export interface PushErrorEvent {
|
|
82
|
-
message: string;
|
|
83
|
-
error: unknown;
|
|
84
|
-
context: Record<string, unknown>;
|
|
85
|
-
}
|
|
86
|
-
/** Map of lifecycle event name → handler signature. Mirrors 1.8.0
|
|
87
|
-
* in-app lifecycle for consistency. */
|
|
88
|
-
export interface WebPushLifecycleEventMap {
|
|
89
|
-
'push-tap': (evt: PushTapEvent) => void | false;
|
|
90
|
-
'push-shown': (evt: PushShownEvent) => void;
|
|
91
|
-
'push-dismissed': (evt: PushDismissEvent) => void;
|
|
92
|
-
'error': (evt: PushErrorEvent) => void;
|
|
93
|
-
}
|
|
94
|
-
export declare class AegisWebPush {
|
|
95
|
-
private apiClient;
|
|
96
|
-
private eventTracker;
|
|
97
|
-
private swRegistration;
|
|
98
|
-
private config;
|
|
99
|
-
private initialized;
|
|
100
|
-
private heartbeatTimer;
|
|
101
|
-
private hooks;
|
|
102
|
-
constructor(apiClient: AegisAPIClient, config: AegisWebPushConfig, eventTracker?: PushEventTracker);
|
|
103
|
-
/** Built-in fallback that POSTs push lifecycle events to
|
|
104
|
-
* `/v1/push/engagement`. The gateway forwards to event-ingress with
|
|
105
|
-
* the canonical `push.<event>` event_type, which the
|
|
106
|
-
* event-switchboard's SDK_ENGAGEMENT_EVENT_TO_DELIVERY_MAPPING
|
|
107
|
-
* dual-routes onto `aegis.delivery_events` as
|
|
108
|
-
* `channel='push', status='shown'|'dismissed'|...`. Best-effort —
|
|
109
|
-
* failures are warned but never thrown (push SW callbacks shouldn't
|
|
110
|
-
* reject because the analytics POST failed). */
|
|
111
|
-
private createBuiltinEventTracker;
|
|
112
|
-
/** Generic typed subscribe — useful when the host wants to dispatch
|
|
113
|
-
* multiple events through one wrapper. For single-event subscriptions
|
|
114
|
-
* prefer the `on*` sugar methods below. */
|
|
115
|
-
on<E extends keyof WebPushLifecycleEventMap>(event: E, handler: WebPushLifecycleEventMap[E]): () => void;
|
|
116
|
-
/** Subscribe to push notification taps. CANCELLABLE — return `false`
|
|
117
|
-
* (or call `evt.preventDefault()`) to suppress the SDK's default
|
|
118
|
-
* `window.location.href = action_url` fallback. Use this to wire a
|
|
119
|
-
* SPA router into the typed `action_type` payload (e.g. open the
|
|
120
|
-
* cart drawer in-place instead of a full reload). */
|
|
121
|
-
onPushTap(handler: (evt: PushTapEvent) => void | false): () => void;
|
|
122
|
-
/** Subscribe to push impressions — fires after the OS notification
|
|
123
|
-
* has actually rendered. `degraded=true` when the SW fell back to
|
|
124
|
-
* the minimal `{title, body}` path (broken icon, etc.). */
|
|
125
|
-
onPushShown(handler: (evt: PushShownEvent) => void): () => void;
|
|
126
|
-
/** Subscribe to push dismissals (notification closed without a tap). */
|
|
127
|
-
onPushDismiss(handler: (evt: PushDismissEvent) => void): () => void;
|
|
128
|
-
/** Subscribe to non-fatal SDK errors. Wire into Sentry / Datadog. */
|
|
129
|
-
onError(handler: (evt: PushErrorEvent) => void): () => void;
|
|
130
|
-
private register;
|
|
131
|
-
private emit;
|
|
132
|
-
private emitError;
|
|
133
|
-
initialize(): Promise<void>;
|
|
134
|
-
requestPermission(): Promise<boolean>;
|
|
135
|
-
identify(params: ContactIdentity): Promise<void>;
|
|
136
|
-
/**
|
|
137
|
-
* Log out: detach THIS device from the contact. Not a consent statement —
|
|
138
|
-
* the contact's push opt-in / opt-out is left exactly as it was (Aman
|
|
139
|
-
* 2026-09-25), so it calls `/v1/web_push/unbind`, never `/unsubscribe`.
|
|
140
|
-
*/
|
|
141
|
-
logout(): Promise<void>;
|
|
142
|
-
/**
|
|
143
|
-
* Turn push back ON for a customer who opted out — only from a VERIFIED
|
|
144
|
-
* storefront session (the `session_code` the store's phone-OTP sign-in
|
|
145
|
-
* minted). The server resolves the customer from that session; this SDK
|
|
146
|
-
* never names who is opted in, so a page cannot opt anyone else in. A
|
|
147
|
-
* registration alone never re-enables push after an opt-out.
|
|
148
|
-
*/
|
|
149
|
-
optIn(params: {
|
|
150
|
-
slug: string;
|
|
151
|
-
sessionCode: string;
|
|
152
|
-
}): Promise<void>;
|
|
153
|
-
private subscribeToPush;
|
|
154
|
-
/**
|
|
155
|
-
* Stable SHA-256 device fingerprint over (first_party_cookie_id + UA stable
|
|
156
|
-
* parts). Used as the UPSERT key on `(property_id, device_fingerprint)` —
|
|
157
|
-
* re-subscribes after VAPID rotation or permission reset update the same
|
|
158
|
-
* row instead of leaving dangling duplicates.
|
|
159
|
-
*/
|
|
160
|
-
private getStableFingerprint;
|
|
161
|
-
/**
|
|
162
|
-
* Resolve the current contact_id. AegisWebPush doesn't own identity, so
|
|
163
|
-
* we look in a few well-known localStorage keys that the identity layer
|
|
164
|
-
* of the SDK writes. If no known contact is set, we use the first-party
|
|
165
|
-
* cookie id — the backend upgrades the row when identify() is called.
|
|
166
|
-
*/
|
|
167
|
-
private resolveContactId;
|
|
168
|
-
/**
|
|
169
|
-
* Retry an API call with exponential backoff (max 3 retries: 1s, 2s, 4s).
|
|
170
|
-
*/
|
|
171
|
-
private retryApiCall;
|
|
172
|
-
/**
|
|
173
|
-
* Handle messages forwarded from the service worker (push click, dismiss).
|
|
174
|
-
*/
|
|
175
|
-
private handleSWMessage;
|
|
176
|
-
/**
|
|
177
|
-
* Translate a SW `push.clicked` postMessage into a typed PushTapEvent,
|
|
178
|
-
* dispatch through the lifecycle hook bus, and fall back to a hard
|
|
179
|
-
* navigation if no host handler claimed it.
|
|
180
|
-
*
|
|
181
|
-
* The fallback path matters: if a tenant ships a push template with
|
|
182
|
-
* an unknown `action_type` (no SPA handler registered) OR pushes the
|
|
183
|
-
* SDK before the host wires up its `onPushTap` subscriber, we still
|
|
184
|
-
* want the user to land somewhere — `action_url` is always set by the
|
|
185
|
-
* SW's notificationclick handler (it falls back to '/').
|
|
186
|
-
*/
|
|
187
|
-
private dispatchPushTap;
|
|
188
|
-
private persistResubscription;
|
|
189
|
-
private trackPushEvent;
|
|
190
|
-
private getBrowserInfo;
|
|
191
|
-
/** base64url-encode the subscription's applicationServerKey for the
|
|
192
|
-
* register POST's diagnostic echo (wrong-key mint detection). */
|
|
193
|
-
private encodeAppServerKey;
|
|
194
|
-
private urlBase64ToUint8Array;
|
|
195
|
-
/** A fresh ArrayBuffer with exactly these bytes (never a view's larger or
|
|
196
|
-
* shared backing buffer). */
|
|
197
|
-
private toArrayBuffer;
|
|
198
|
-
}
|
|
199
|
-
//# sourceMappingURL=AegisWebPush.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AegisWebPush.d.ts","sourceRoot":"","sources":["../../src/push/AegisWebPush.ts"],"names":[],"mappings":"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"}
|