vc-cdp-rn-sdk 0.1.2 → 0.1.3

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
@@ -27,6 +27,13 @@ CDP SDK cho React Native — tracking events và user profiles cho hệ thống
27
27
  - [Batch Processing](#batch-processing)
28
28
  - [flush](#flush--gửi-ngay)
29
29
  - [destroy](#destroy--dọn-dẹp)
30
+ - [Notification Inbox Tracking](#notification-inbox-tracking)
31
+ - [Cài đặt react-native-noti-sdk](#cài-đặt-react-native-noti-sdk)
32
+ - [Cấu hình domain](#cấu-hình-domain-notification-inbox)
33
+ - [API react-native-noti-sdk](#api-react-native-noti-sdk)
34
+ - [Custom notification UI](#custom-notification-ui-react-native-noti-sdk)
35
+ - [Tự động track delivered / open](#tự-động-track-delivered--open--bindnotificationtracking)
36
+ - [Track thủ công click / dismiss / read](#track-thủ-công-click--dismiss--read)
30
37
  - [Bảo mật](#bảo-mật)
31
38
  - [HMAC-SHA256](#hmac-sha256-signature)
32
39
  - [AES-256-CBC](#aes-256-cbc-encryption)
@@ -118,6 +125,7 @@ export default function App() {
118
125
  | `batchSize` | `number` | `10` | Số events tối đa trong 1 batch |
119
126
  | `batchInterval` | `number` | `5000` | Thời gian (ms) giữa các lần flush tự động |
120
127
  | `enableEncryption` | `boolean` | `true` | Mã hoá PII bằng AES-256-CBC |
128
+ | `notificationApiBaseUrl` | `string` | — | Domain API notification-inbox (**khác** `baseUrl`) — dùng cho [`trackNotificationEvent()`](#track-thủ-công-click--dismiss--read) |
121
129
 
122
130
  ### Môi trường
123
131
 
@@ -463,6 +471,214 @@ Flush queue còn lại và xoá timer. Không xoá user data.
463
471
 
464
472
  ---
465
473
 
474
+ ## Notification Inbox Tracking
475
+
476
+ Tích hợp [`react-native-noti-sdk`](https://www.npmjs.com/package/react-native-noti-sdk)
477
+ (FCM + Notifee) với `vc-cdp-rn-sdk` để tracking các sự kiện thông báo
478
+ (`delivered` / `open` / `click` / `dismiss` / `read`) qua notification-inbox API.
479
+
480
+ > API notification-inbox nằm trên **domain khác** với API ingest event/profile
481
+ > → cấu hình riêng qua `notificationApiBaseUrl` (xem [Cấu hình đầy đủ](#cấu-hình-đầy-đủ)).
482
+
483
+ ### Cài đặt react-native-noti-sdk
484
+
485
+ ```bash
486
+ npm install react-native-noti-sdk
487
+ npm install @react-native-firebase/app @react-native-firebase/messaging @notifee/react-native @react-native-clipboard/clipboard
488
+ ```
489
+
490
+ ```bash
491
+ cd ios && pod install
492
+ ```
493
+
494
+ **Cấu hình Firebase (phía app tích hợp):**
495
+
496
+ - **Android:** thêm `android/app/google-services.json` + plugin `com.google.gms.google-services`.
497
+ - **iOS:** thêm `GoogleService-Info.plist` vào Xcode project, bật capability **Push Notifications** + **Background Modes > Remote notifications**.
498
+
499
+ **Đăng ký background handler (bắt buộc)** — gọi ở top-level `index.js`, **trước** `registerComponent`:
500
+
501
+ ```js
502
+ // index.js
503
+ import NotiSdk from 'react-native-noti-sdk';
504
+ NotiSdk.registerBackgroundHandler();
505
+ ```
506
+
507
+ ### Cấu hình domain notification-inbox
508
+
509
+ ```typescript
510
+ const cdp = await CdpRnSdk.create({
511
+ apiKey: 'YOUR_API_KEY',
512
+ secretKey: 'YOUR_SECRET_KEY',
513
+ source: 'DOP',
514
+ serviceName: 'VC_APP',
515
+ baseUrl: 'https://ingestlog.vietcredit.com.vn', // API events/profile
516
+
517
+ notificationApiBaseUrl: 'https://noti.vietcredit.com.vn', // API notification-inbox — domain khác
518
+ });
519
+ ```
520
+
521
+ Nếu không set `notificationApiBaseUrl`, `trackNotificationEvent()` sẽ bỏ qua và log lỗi (không throw).
522
+
523
+ ### API react-native-noti-sdk
524
+
525
+ ```typescript
526
+ import NotiSdk from 'react-native-noti-sdk';
527
+
528
+ await NotiSdk.init({ debug: true }); // xin quyền, tạo channel, lắng nghe
529
+ const token = await NotiSdk.getToken(); // FCM token gửi lên server
530
+ NotiSdk.onTokenRefresh(t => sendTokenToServer(t)); // token được làm mới
531
+
532
+ NotiSdk.onMessage(msg => console.log(msg.title, msg.data)); // app đang mở
533
+ NotiSdk.onNotificationOpened(msg => navigate(msg.data.screen)); // tap mở app từ background
534
+
535
+ const initial = await NotiSdk.getInitialNotification(); // mở app từ trạng thái quit
536
+ if (initial) navigate(initial.data.screen);
537
+
538
+ await NotiSdk.displayNotification({ title: 'Xin chào', body: 'Thông báo', data: { screen: 'home' } });
539
+ ```
540
+
541
+ | Hàm | Mô tả |
542
+ | --- | --- |
543
+ | `init(config?)` | Khởi tạo SDK: xin quyền, đăng ký iOS, tạo channel, lắng nghe. Idempotent. |
544
+ | `requestPermission()` | Hiển thị hộp thoại xin quyền, trả về `AuthorizationStatus`. |
545
+ | `hasPermission()` | Trạng thái quyền hiện tại (không hiện hộp thoại). |
546
+ | `getToken()` | Trả về FCM token (`string`) hoặc `null` nếu lỗi. |
547
+ | `deleteToken()` | Xoá token hiện tại; lần `getToken()` sau sẽ tạo token mới. |
548
+ | `onTokenRefresh(listener)` | Lắng nghe token mới; trả về `unsubscribe`. |
549
+ | `registerBackgroundHandler()` | Đăng ký nhận message ở background. Gọi tại `index.js`. |
550
+ | `onMessage(handler)` | Nhận `NotiMessage` khi có message; trả về `unsubscribe`. |
551
+ | `onNotificationOpened(handler)` | Khi tap thông báo mở app (background); trả về `unsubscribe`. |
552
+ | `getInitialNotification()` | Thông báo đã mở app từ trạng thái quit, hoặc `null`. |
553
+ | `displayNotification(options)` | Tự hiển thị một local notification qua Notifee. |
554
+ | `displayCustomNotification(options)` | Hiển thị notification UI tuỳ biến (native), có nút hành động. |
555
+ | `isCustomUiAvailable()` | `true` nếu native module custom UI đang hoạt động. |
556
+
557
+ **`NotiSdkConfig`**
558
+
559
+ | Trường | Mặc định | Mô tả |
560
+ | --- | --- | --- |
561
+ | `requestPermissionOnInit` | `true` | Tự xin quyền khi `init()`. |
562
+ | `debug` | `false` | Bật log `[NotiSdk]` ra console. |
563
+ | `defaultChannel` | `{ id: 'default', name: 'Mặc định', importance: 'high' }` | Channel Android mặc định. |
564
+ | `displayInForeground` | `true` | Tự hiện banner khi nhận message lúc app đang mở. |
565
+
566
+ **`NotiMessage`**
567
+
568
+ ```typescript
569
+ interface NotiMessage {
570
+ id?: string;
571
+ title?: string;
572
+ body?: string;
573
+ data: Record<string, string>;
574
+ }
575
+ ```
576
+
577
+ **`AuthorizationStatus`**: `'authorized' | 'provisional' | 'denied' | 'notDetermined'`
578
+
579
+ > **Android 13+**: SDK tự xin quyền `POST_NOTIFICATIONS` qua Notifee khi gọi
580
+ > `requestPermission()` / `init()`. Đảm bảo `compileSdkVersion >= 33`.
581
+
582
+ ### Custom notification UI (react-native-noti-sdk)
583
+
584
+ ```typescript
585
+ await NotiSdk.displayCustomNotification({
586
+ title: 'Custom UI',
587
+ body: 'Layout tuỳ biến + nút hành động',
588
+ imageUrl: 'https://example.com/banner.png',
589
+ fullScreen: false, // true: full-screen intent (vd cuộc gọi đến)
590
+ data: { screen: 'detail', tracking_id: 'b7e6c1a2-...' },
591
+ buttons: [
592
+ { name: 'Gọi điện', type: 'phone', value: '03658700512' },
593
+ { name: 'Đầu tư', type: 'deep_link', value: 'tinvay://notification' },
594
+ ],
595
+ });
596
+ ```
597
+
598
+ | `type` | Hành vi khi nhấn |
599
+ | --- | --- |
600
+ | `phone` | Mở trình quay số với `value` (`ACTION_DIAL`, không cần quyền gọi). |
601
+ | `deep_link` | Mở URI `value`. App phải khai báo `intent-filter` cho scheme đó. |
602
+
603
+ > Android giới hạn tối đa **3 nút**. Cả hai nền tảng dùng native module riêng
604
+ > (không phụ thuộc Notifee cho phần custom UI) — tự đăng ký qua autolinking.
605
+ > iOS cần `pod install`; hiển thị ảnh yêu cầu quyền thông báo đã cấp; nút
606
+ > share mở `UIActivityViewController` khi app ở foreground.
607
+
608
+ ### Tự động track delivered / open — bindNotificationTracking
609
+
610
+ `bindNotificationTracking()` gắn `react-native-noti-sdk` vào CDP SDK: tự động
611
+ gọi `trackNotificationEvent()` khi nhận message (`delivered`) và khi user tap
612
+ mở app từ thông báo (`open`), miễn là payload push có field `tracking_id`
613
+ trong `data`.
614
+
615
+ ```typescript
616
+ import NotiSdk from 'react-native-noti-sdk';
617
+ import { getCdp } from './lib/cdp';
618
+
619
+ async function setupPush() {
620
+ await NotiSdk.init({ debug: true });
621
+
622
+ // onMessage → 'delivered', onNotificationOpened/getInitialNotification → 'open'
623
+ const unbind = getCdp().bindNotificationTracking(NotiSdk);
624
+
625
+ // unbind() khi cleanup nếu cần
626
+ }
627
+ ```
628
+
629
+ Payload push phải nhúng `tracking_id`, ví dụ FCM `data`:
630
+
631
+ ```json
632
+ {
633
+ "tracking_id": "b7e6c1a2-...",
634
+ "deeplink": "app://home"
635
+ }
636
+ ```
637
+
638
+ ### Track thủ công click / dismiss / read
639
+
640
+ `react-native-noti-sdk` **không có callback riêng** cho các sự kiện này (nhấn
641
+ nút trong `displayCustomNotification`, dismiss, hoặc đọc trong màn hình
642
+ inbox) — gọi `trackNotificationEvent()` trực tiếp tại nơi xử lý:
643
+
644
+ ```typescript
645
+ // Khi user nhấn nút trong custom notification
646
+ cdp.trackNotificationEvent(trackingId, 'click', {
647
+ buttonId: 'btn_1',
648
+ deeplink: 'app://home',
649
+ currentScreen: 'HomeScreen',
650
+ });
651
+
652
+ // Khi user dismiss thông báo
653
+ cdp.trackNotificationEvent(trackingId, 'dismiss');
654
+
655
+ // Khi user đọc thông báo trong màn hình inbox
656
+ cdp.trackNotificationEvent(trackingId, 'read', { currentScreen: 'NotificationInboxScreen' });
657
+ ```
658
+
659
+ `trackNotificationEvent()` gửi `POST {notificationApiBaseUrl}/api/v1/notification-inbox/track-by-tracking-id`.
660
+ Endpoint này **không** dùng HMAC signature như API ingest — chỉ header
661
+ `Content-Type: application/json`.
662
+
663
+ ```typescript
664
+ async trackNotificationEvent(
665
+ trackingId: string,
666
+ eventType: 'delivered' | 'open' | 'click' | 'dismiss' | 'read',
667
+ options?: {
668
+ userAppId?: string; // mặc định: user_id hiện tại (identifyUser), '' nếu chưa login
669
+ userProfileId?: string; // mặc định: profile_id hiện tại, '' nếu chưa có profile_id
670
+ deviceId?: string; // mặc định: device_id của SDK
671
+ platform?: string; // mặc định: Platform.OS ('android' | 'ios')
672
+ buttonId?: string;
673
+ deeplink?: string;
674
+ currentScreen?: string;
675
+ metadata?: unknown[];
676
+ }
677
+ ): Promise<{ code?: number; message?: string } | undefined>
678
+ ```
679
+
680
+ ---
681
+
466
682
  ## Bảo mật
467
683
 
468
684
  ### HMAC-SHA256 Signature
@@ -687,6 +903,7 @@ interface CdpRnConfig {
687
903
  batchSize?: number; // mặc định 10
688
904
  batchInterval?: number; // mặc định 5000 ms
689
905
  enableEncryption?: boolean; // mặc định true
906
+ notificationApiBaseUrl?: string; // domain API notification-inbox (khác baseUrl)
690
907
  }
691
908
  ```
692
909
 
@@ -752,6 +969,27 @@ screen(screenName: string, properties?: Record<string, unknown>): void
752
969
  async flush(): Promise<void>
753
970
  ```
754
971
 
972
+ ### Notification Inbox Tracking Methods
973
+
974
+ ```typescript
975
+ async trackNotificationEvent(
976
+ trackingId: string,
977
+ eventType: 'delivered' | 'open' | 'click' | 'dismiss' | 'read',
978
+ options?: {
979
+ userAppId?: string;
980
+ userProfileId?: string;
981
+ deviceId?: string;
982
+ platform?: string;
983
+ buttonId?: string;
984
+ deeplink?: string;
985
+ currentScreen?: string;
986
+ metadata?: unknown[];
987
+ }
988
+ ): Promise<{ code?: number; message?: string } | undefined>
989
+
990
+ bindNotificationTracking(notiSdk: NotiSdkLike): () => void // trả về unsubscribe
991
+ ```
992
+
755
993
  ### Session & Identity Methods
756
994
 
757
995
  ```typescript
@@ -823,4 +1061,38 @@ interface ProfileResponse {
823
1061
  transaction_id: string;
824
1062
  profile_id: string;
825
1063
  }
1064
+
1065
+ type NotificationEventType = 'delivered' | 'open' | 'click' | 'dismiss' | 'read';
1066
+
1067
+ interface NotificationTrackOptions {
1068
+ userAppId?: string;
1069
+ userProfileId?: string;
1070
+ deviceId?: string;
1071
+ platform?: string;
1072
+ buttonId?: string;
1073
+ deeplink?: string;
1074
+ currentScreen?: string;
1075
+ metadata?: unknown[];
1076
+ }
1077
+
1078
+ interface NotificationTrackResponse {
1079
+ code?: number;
1080
+ message?: string;
1081
+ [key: string]: unknown;
1082
+ }
1083
+
1084
+ /** Shape tối thiểu của message do react-native-noti-sdk trả về. */
1085
+ interface NotiMessageLike {
1086
+ id?: string;
1087
+ title?: string;
1088
+ body?: string;
1089
+ data?: Record<string, string>;
1090
+ }
1091
+
1092
+ /** Duck-typed — khớp với API react-native-noti-sdk, không cần import trực tiếp package đó. */
1093
+ interface NotiSdkLike {
1094
+ onMessage: (handler: (message: NotiMessageLike) => void) => () => void;
1095
+ onNotificationOpened: (handler: (message: NotiMessageLike) => void) => () => void;
1096
+ getInitialNotification?: () => Promise<NotiMessageLike | null>;
1097
+ }
826
1098
  ```
@@ -1,4 +1,4 @@
1
- import { CdpRnConfig, UserTraits, PlatformInfo, CampaignInfo, ConsentInfo, ScoreInfo, ProductInfo, EventProperties, ProfileUpdatePayload, ProfileResponse, ProfileData, UserIdentities, PartyType } from './types';
1
+ import { CdpRnConfig, UserTraits, PlatformInfo, CampaignInfo, ConsentInfo, ScoreInfo, ProductInfo, EventProperties, ProfileUpdatePayload, ProfileResponse, ProfileData, UserIdentities, PartyType, NotificationEventType, NotificationTrackOptions, NotificationTrackResponse, NotiSdkLike } from './types';
2
2
  export declare class CdpRnSdk {
3
3
  private config;
4
4
  private userId;
@@ -100,6 +100,19 @@ export declare class CdpRnSdk {
100
100
  * Flush queued events to the server immediately.
101
101
  */
102
102
  flush(): Promise<void>;
103
+ /**
104
+ * Track a notification-inbox event (delivered/open/click/dismiss/read).
105
+ * Calls POST {notificationApiBaseUrl}/api/v1/notification-inbox/track-by-tracking-id.
106
+ */
107
+ trackNotificationEvent(trackingId: string, eventType: NotificationEventType, options?: NotificationTrackOptions): Promise<NotificationTrackResponse | undefined>;
108
+ /**
109
+ * Wire up react-native-noti-sdk (or any compatible NotiSdk) to auto-track
110
+ * `delivered` (onMessage) and `open` (onNotificationOpened / getInitialNotification).
111
+ * `click` / `dismiss` / `read` không có callback riêng trong react-native-noti-sdk —
112
+ * gọi trackNotificationEvent() thủ công tại nơi xử lý nút bấm / màn hình inbox.
113
+ * Trả về hàm unsubscribe.
114
+ */
115
+ bindNotificationTracking(notiSdk: NotiSdkLike): () => void;
103
116
  /**
104
117
  * Logout: sends a logout profile event and resets all user state.
105
118
  * anonymous_id is rotated; device_id is kept.
@@ -125,6 +138,7 @@ export declare class CdpRnSdk {
125
138
  private _extractSensitiveTraits;
126
139
  private _getOrCreate;
127
140
  private _getLocale;
141
+ private _getPlatformName;
128
142
  private _getTimezone;
129
143
  private _log;
130
144
  private _logError;
@@ -1 +1 @@
1
- {"version":3,"file":"CdpRnSdk.d.ts","sourceRoot":"","sources":["../src/CdpRnSdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CdpRnSdk.d.ts","sourceRoot":"","sources":["../src/CdpRnSdk.ts"],"names":[],"mappings":"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"}
package/dist/CdpRnSdk.js CHANGED
@@ -40,7 +40,7 @@ class CdpRnSdk {
40
40
  this.preInitQueue = [];
41
41
  this.batchTimer = null;
42
42
  this.initialized = false;
43
- this.config = Object.assign({ baseUrl: DEFAULT_BASE_URL, isTest: false, debug: false, batchSize: 10, batchInterval: 5000, enableEncryption: true }, config);
43
+ this.config = Object.assign({ baseUrl: DEFAULT_BASE_URL, isTest: false, debug: false, batchSize: 10, batchInterval: 5000, enableEncryption: true, notificationApiBaseUrl: '' }, config);
44
44
  }
45
45
  /**
46
46
  * Create and initialize the SDK. Call once at app startup (e.g. App.tsx).
@@ -275,6 +275,86 @@ class CdpRnSdk {
275
275
  const batch = this.eventQueue.splice(0);
276
276
  await this._sendBatch(batch);
277
277
  }
278
+ // ─── Public: Notification Inbox Tracking ─────────────────────────────────
279
+ /**
280
+ * Track a notification-inbox event (delivered/open/click/dismiss/read).
281
+ * Calls POST {notificationApiBaseUrl}/api/v1/notification-inbox/track-by-tracking-id.
282
+ */
283
+ async trackNotificationEvent(trackingId, eventType, options = {}) {
284
+ var _a, _b, _c, _d, _e, _f, _g, _h;
285
+ if (!this.config.notificationApiBaseUrl) {
286
+ this._logError('trackNotificationEvent: notificationApiBaseUrl chưa được cấu hình');
287
+ return undefined;
288
+ }
289
+ const url = `${this.config.notificationApiBaseUrl}/api/v1/notification-inbox/track-by-tracking-id`;
290
+ const body = {
291
+ tracking_id: trackingId,
292
+ user_app_id: (_b = (_a = options.userAppId) !== null && _a !== void 0 ? _a : this.userId) !== null && _b !== void 0 ? _b : '',
293
+ user_profile_id: (_d = (_c = options.userProfileId) !== null && _c !== void 0 ? _c : this.profileId) !== null && _d !== void 0 ? _d : '',
294
+ device_id: (_e = options.deviceId) !== null && _e !== void 0 ? _e : this.deviceId,
295
+ event_type: eventType,
296
+ platform: (_f = options.platform) !== null && _f !== void 0 ? _f : this._getPlatformName(),
297
+ button_id: options.buttonId,
298
+ deeplink: options.deeplink,
299
+ current_screen: options.currentScreen,
300
+ metadata: (_g = options.metadata) !== null && _g !== void 0 ? _g : [],
301
+ };
302
+ try {
303
+ const response = await fetch(url, {
304
+ method: 'POST',
305
+ headers: { 'Content-Type': 'application/json' },
306
+ body: JSON.stringify(body),
307
+ });
308
+ const json = await response.json();
309
+ if (!response.ok) {
310
+ throw new Error(`HTTP ${response.status}: ${(_h = json === null || json === void 0 ? void 0 : json.message) !== null && _h !== void 0 ? _h : response.statusText}`);
311
+ }
312
+ this._log('Notification event tracked', eventType, trackingId);
313
+ return json;
314
+ }
315
+ catch (e) {
316
+ this._logError('trackNotificationEvent failed', e);
317
+ return undefined;
318
+ }
319
+ }
320
+ /**
321
+ * Wire up react-native-noti-sdk (or any compatible NotiSdk) to auto-track
322
+ * `delivered` (onMessage) and `open` (onNotificationOpened / getInitialNotification).
323
+ * `click` / `dismiss` / `read` không có callback riêng trong react-native-noti-sdk —
324
+ * gọi trackNotificationEvent() thủ công tại nơi xử lý nút bấm / màn hình inbox.
325
+ * Trả về hàm unsubscribe.
326
+ */
327
+ bindNotificationTracking(notiSdk) {
328
+ var _a;
329
+ const extractTrackingId = (data) => data === null || data === void 0 ? void 0 : data.tracking_id;
330
+ const unsubMessage = notiSdk.onMessage((message) => {
331
+ var _a;
332
+ const trackingId = extractTrackingId(message.data);
333
+ if (trackingId) {
334
+ this.trackNotificationEvent(trackingId, 'delivered', { deeplink: (_a = message.data) === null || _a === void 0 ? void 0 : _a.deeplink })
335
+ .catch((e) => this._logError('bindNotificationTracking: delivered failed', e));
336
+ }
337
+ });
338
+ const unsubOpened = notiSdk.onNotificationOpened((message) => {
339
+ var _a;
340
+ const trackingId = extractTrackingId(message.data);
341
+ if (trackingId) {
342
+ this.trackNotificationEvent(trackingId, 'open', { deeplink: (_a = message.data) === null || _a === void 0 ? void 0 : _a.deeplink })
343
+ .catch((e) => this._logError('bindNotificationTracking: open failed', e));
344
+ }
345
+ });
346
+ (_a = notiSdk.getInitialNotification) === null || _a === void 0 ? void 0 : _a.call(notiSdk).then((message) => {
347
+ var _a;
348
+ const trackingId = extractTrackingId(message === null || message === void 0 ? void 0 : message.data);
349
+ if (trackingId) {
350
+ return this.trackNotificationEvent(trackingId, 'open', { deeplink: (_a = message === null || message === void 0 ? void 0 : message.data) === null || _a === void 0 ? void 0 : _a.deeplink });
351
+ }
352
+ }).catch((e) => this._logError('bindNotificationTracking: getInitialNotification failed', e));
353
+ return () => {
354
+ unsubMessage();
355
+ unsubOpened();
356
+ };
357
+ }
278
358
  /**
279
359
  * Logout: sends a logout profile event and resets all user state.
280
360
  * anonymous_id is rotated; device_id is kept.
@@ -515,6 +595,16 @@ class CdpRnSdk {
515
595
  return 'vi-VN';
516
596
  }
517
597
  }
598
+ _getPlatformName() {
599
+ try {
600
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
601
+ const { Platform } = require('react-native');
602
+ return Platform.OS;
603
+ }
604
+ catch (_a) {
605
+ return 'unknown';
606
+ }
607
+ }
518
608
  _getTimezone() {
519
609
  try {
520
610
  return Intl.DateTimeFormat().resolvedOptions().timeZone;
@@ -1 +1 @@
1
- {"version":3,"file":"CdpRnSdk.js","sourceRoot":"","sources":["../src/CdpRnSdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CdpRnSdk.js","sourceRoot":"","sources":["../src/CdpRnSdk.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAuBA,6CAAwD;AACxD,2CAAgF;AAChF,2CAAmD;AAEnD,MAAM,gBAAgB,GAAG,yCAAyC,CAAC;AAEnE,MAAM,gBAAgB,GAAyB;IAC7C,WAAW,EAAE,YAAY,EAAE,WAAW;IACtC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO;IACxC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU;CACvC,CAAC;AAEF,MAAa,QAAQ;IAwBnB,YAAoB,MAAmB;QArB/B,WAAM,GAAkB,IAAI,CAAC;QAC7B,cAAS,GAAkB,IAAI,CAAC;QAChC,gBAAW,GAAW,EAAE,CAAC;QACzB,aAAQ,GAAW,EAAE,CAAC;QACtB,cAAS,GAAW,EAAE,CAAC;QAEvB,eAAU,GAAe,EAAE,CAAC;QAC5B,cAAS,GAAiB,EAAE,CAAC;QAC7B,aAAQ,GAAiB,EAAE,CAAC;QAC5B,aAAQ,GAAkB,EAAE,CAAC;QAC7B,WAAM,GAAgB,EAAE,CAAC;QACzB,aAAQ,GAAkB,EAAE,CAAC;QAC7B,aAAQ,GAA4B,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QAE9D,eAAU,GAAe,EAAE,CAAC;QACpC,yDAAyD;QACjD,iBAAY,GAAoD,EAAE,CAAC;QACnE,eAAU,GAA0C,IAAI,CAAC;QAEzD,gBAAW,GAAG,KAAK,CAAC;QAG1B,IAAI,CAAC,MAAM,mBACT,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,EAAE,EACb,aAAa,EAAE,IAAI,EACnB,gBAAgB,EAAE,IAAI,EACtB,sBAAsB,EAAE,EAAE,IACvB,MAAM,CACV,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAmB;QACrC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,KAAK;QACjB,gDAAgD;QAChD,IAAI,CAAC,SAAS,GAAG,IAAA,qBAAY,GAAE,CAAC;QAChC,MAAM,iBAAO,CAAC,GAAG,CAAC,sBAAY,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3D,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpE,IAAI,CAAC,YAAY,CAAC,sBAAY,CAAC,YAAY,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,sBAAY,CAAC,SAAS,CAAC;YACzC,iBAAO,CAAC,GAAG,CAAC,sBAAY,CAAC,UAAU,CAAC;SACrC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,MAAM,IAAA,0BAAiB,GAAE,CAAC;QAE3C,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,gDAAgD;QAChD,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAChD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IAE5E;;;OAGG;IACH,KAAK,CAAC,YAAY,CAChB,MAAc,EACd,SAAqB,EAAE,EACvB,YAAuB,QAAQ;QAE/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,mCAAQ,IAAI,CAAC,UAAU,GAAK,MAAM,CAAE,CAAC;QAEpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAE/E,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC;YACrC,MAAM,iBAAO,CAAC,GAAG,CAAC,sBAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6BAA6B;IAC7B,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,SAAqB,EAAE,EAAE,YAAuB,QAAQ;QACrF,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,OAA2E;;QAC7F,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,IAAI,CAAC,SAAS,CAAC;QACvD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;YACzD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE3D,IAAI,aAAa,GAAoC,OAAO,CAAC,MAAM,CAAC;QACpE,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAClH,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/D,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,aAAa,GAAG,IAAA,sBAAa,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3F,MAAM,SAAS,GAAK,MAAA,OAAO,CAAC,MAAM,mCAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAG,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3F,MAAM,WAAW,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAE3F,MAAM,IAAI,6DACR,UAAU,EAAI,SAAS,EACvB,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EACrC,MAAM,EAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAClC,MAAM,EAAQ,aAAa,IACxB,CAAC,WAAW,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,GAC9D,CAAC,SAAS,IAAM,EAAE,MAAM,EAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,GAC1D,CAAC,WAAW,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,KACjE,QAAQ,kCAAO,IAAI,CAAC,QAAQ,GAAK,OAAO,CAAC,QAAQ,IAClD,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACpD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAkB,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;YAC1C,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,SAAkB;QACjC,MAAM,EAAE,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAI,CAAC,SAAS,CAAC;QACvC,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,IAAI,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;YACtD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,oBAAoB,EAAE,EAAE,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE3D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAClD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAc,GAAG,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,YAAY,EAAE,IAAI,CAAC,WAAW;YAC9B,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,UAAU,EAAE,IAAI,CAAC,SAAS;SAC3B,CAAC;IACJ,CAAC;IAED,YAAY,KAAoB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACxD,WAAW,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/C,YAAY,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAEjD,gBAAgB,CAAC,IAAsB;;QACrC,OAAO,MAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,mCAAI,IAAI,CAAC;IACvC,CAAC;IAED,6EAA6E;IAE7E,cAAc,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,aAAa,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,aAAa,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,SAAS,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,UAAU,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,UAAU,CAAC,CAAkB,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,UAAU,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,cAAc,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,WAAW,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,YAAY,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,cAAc,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,eAAe,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,kBAAkB,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,WAAW,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,aAAa,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzE,YAAY,CAAC,QAAuB;QAClC,MAAM,GAAG,GAAG,QAAQ,YAAY,IAAI;YAClC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,QAAQ,CAAC;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,kBAAkB,CAAC,IAAY,EAAE,KAAc;QAC7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB,CAAC,UAAsB;QACxC,IAAI,CAAC,UAAU,mCAAQ,IAAI,CAAC,UAAU,GAAK,UAAU,CAAE,CAAC;QACxD,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,UAAsB;QACtC,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,6EAA6E;IAE7E;;;OAGG;IACH,WAAW,CAAC,QAAuB;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAmB;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAAuB;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,IAA6B;QACvC,IAAI,CAAC,QAAQ,mCAAQ,IAAI,CAAC,QAAQ,GAAK,IAAI,CAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,IAAkB;QAC5B,IAAI,CAAC,SAAS,mCAAQ,IAAI,CAAC,SAAS,GAAK,IAAI,CAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,IAAkB;QAC5B,IAAI,CAAC,QAAQ,mCAAQ,IAAI,CAAC,QAAQ,GAAK,IAAI,CAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,KAAa;QACxB,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6EAA6E;IAE7E;;OAEG;IACH,KAAK,CAAC,SAAiB,EAAE,aAA8B,EAAE;QACvD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,8BAA8B;YAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAkB,EAAE,aAA8B,EAAE;QACzD,IAAI,CAAC,KAAK,CAAC,aAAa,kBAAI,WAAW,EAAE,UAAU,IAAK,UAAU,EAAG,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEzC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,4EAA4E;IAE5E;;;OAGG;IACH,KAAK,CAAC,sBAAsB,CAC1B,UAAkB,EAClB,SAAgC,EAChC,UAAoC,EAAE;;QAEtC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;YACxC,IAAI,CAAC,SAAS,CAAC,mEAAmE,CAAC,CAAC;YACpF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,iDAAiD,CAAC;QAEnG,MAAM,IAAI,GAA6B;YACrC,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,MAAA,MAAA,OAAO,CAAC,SAAS,mCAAI,IAAI,CAAC,MAAM,mCAAI,EAAE;YACnD,eAAe,EAAE,MAAA,MAAA,OAAO,CAAC,aAAa,mCAAI,IAAI,CAAC,SAAS,mCAAI,EAAE;YAC9D,SAAS,EAAE,MAAA,OAAO,CAAC,QAAQ,mCAAI,IAAI,CAAC,QAAQ;YAC5C,UAAU,EAAE,SAAS;YACrB,QAAQ,EAAE,MAAA,OAAO,CAAC,QAAQ,mCAAI,IAAI,CAAC,gBAAgB,EAAE;YACrD,SAAS,EAAE,OAAO,CAAC,QAAQ;YAC3B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,cAAc,EAAE,OAAO,CAAC,aAAa;YACrC,QAAQ,EAAE,MAAA,OAAO,CAAC,QAAQ,mCAAI,EAAE;SACjC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA+B,CAAC;YAEhE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,mCAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACtF,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;YACnD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,wBAAwB,CAAC,OAAoB;;QAC3C,MAAM,iBAAiB,GAAG,CAAC,IAA6B,EAAsB,EAAE,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,CAAC;QAEnG,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;;YACjD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAA,OAAO,CAAC,IAAI,0CAAE,QAAQ,EAAE,CAAC;qBACvF,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC,CAAC;YACnF,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE,EAAE;;YAC3D,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAA,OAAO,CAAC,IAAI,0CAAE,QAAQ,EAAE,CAAC;qBAClF,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAA,OAAO,CAAC,sBAAsB,wDAAK,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;;YAClD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC;YACpD,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,QAAQ,EAAE,CAAC,CAAC;YAChG,CAAC;QACH,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,yDAAyD,EAAE,CAAC,CAAC,CAAC,CAAC;QAE9F,OAAO,GAAG,EAAE;YACV,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAEvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEnB,IAAI,CAAC,WAAW,GAAG,IAAA,qBAAY,GAAE,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,IAAA,qBAAY,GAAE,CAAC;QAEhC,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,iBAAO,CAAC,GAAG,CAAC,sBAAY,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC;YACxD,iBAAO,CAAC,GAAG,CAAC,sBAAY,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC;YACpD,iBAAO,CAAC,MAAM,CAAC,sBAAY,CAAC,UAAU,CAAC;SACxC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,6EAA6E;IAErE,KAAK,CAAC,aAAa,CACzB,IAAY,EACZ,MAAkB,EAClB,YAAuB,QAAQ;;QAE/B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,oBAAoB,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE3D,IAAI,aAAa,GAAwB,MAAM,CAAC;QAChD,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,aAAa,GAAG,IAAA,sBAAa,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QAED,MAAM,OAAO,+CACX,IAAI,EACJ,OAAO,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,IAAI,CAAC,WAAW,EACxC,UAAU,EAAE,IAAI,CAAC,SAAS,EAC1B,SAAS,EAAE,IAAI,CAAC,QAAQ,EACxB,UAAU,EAAE,SAAS,EACrB,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EACrC,MAAM,EAAE,aAAa,EACrB,SAAS,kCAAO,IAAI,CAAC,SAAS,KAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,KACxD,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IACpB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAC1E,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAO,EAAE,MAAM,EAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GACtE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC9E,CAAC;QAEF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QACtC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACvD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAkB,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;YAC1C,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,6EAA6E;IAErE,YAAY,CAAC,SAAiB,EAAE,UAA2B;;QACjE,MAAM,OAAO,GAAiB;YAC5B,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE;YACzB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE;YAC7B,GAAG,EAAE;gBACH,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW;aACpC;SACF,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,IAAA,qBAAY,GAAE;YACxB,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,SAAS;YACrB,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACrC,OAAO,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,EAAE;YAC1B,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,YAAY,EAAE,IAAI,CAAC,WAAW;YAC9B,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,UAAU;YACV,SAAS,kCAAO,IAAI,CAAC,SAAS,KAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,GAAE;YAC1D,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO;YACP,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,KAAe;QACpC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,KAAe;QACtC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACrD,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,MAAkB;QACzC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEhC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC;QACrD,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAEvD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAe;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAEzF,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACpD,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YACjC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAChC,CAAC;IAED,6EAA6E;IAErE,aAAa,CAAC,OAAe,EAAE,SAAiB;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS;YACrC,CAAC,CAAC,IAAA,0BAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC;YACrF,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO;YACL,cAAc,EAAE,kBAAkB;YAClC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC/B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC9B,aAAa,EAAE,SAAS;YACxB,cAAc,EAAE,SAAS;YACzB,YAAY,EAAE,IAAA,qBAAY,GAAE;YAC5B,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;SACrC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAI,GAAW,EAAE,OAA+B,EAAE,IAAY;;QAClF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA6C,CAAC;QAE9E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,mCAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACtF,CAAC;QAED,0DAA0D;QAC1D,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,IAAI,KAAK,MAAA,IAAI,CAAC,OAAO,mCAAI,eAAe,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,WAAW,CAAI,GAAW,EAAE,OAA+B;;QACvE,MAAM,EAAE,cAAc,EAAE,GAAG,KAAoB,OAAO,EAAtB,UAAU,UAAK,OAAO,EAAhD,gBAAsC,CAAU,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,UAAU;SACpB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA6C,CAAC;QAE9E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,mCAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACtF,CAAC;QAED,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,IAAI,KAAK,MAAA,IAAI,CAAC,OAAO,mCAAI,eAAe,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6EAA6E;IAErE,SAAS,CAAC,GAAqB,EAAE,KAAc;QACpD,IAAI,CAAC,UAAsC,CAAC,GAAa,CAAC,GAAG,KAAK,CAAC;QACpE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oEAAoE;IAC5D,aAAa,CAAC,QAAuB;QAC3C,MAAM,CAAC,GAA4B,EAAE,CAAC;QACtC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,EAAE,YAAY,KAAc,CAAC,EAAV,IAAI,UAAK,CAAC,EAA7B,gBAAyB,CAAI,CAAC;YACpC,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAEO,WAAW,CAAC,MAAmB;QACrC,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC9B,MAAM,KAA6B,MAAM,CAAC,CAAC,CAAC,EAAtC,EAAE,UAAU,EAAE,CAAC,OAAuB,EAAlB,IAAI,cAAxB,cAA0B,CAAY,CAAC;QAC7C,OAAO,EAAE,QAAQ,kBAAI,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,IAAK,IAAI,CAAE,EAAE,CAAC;IACrE,CAAC;IAEO,aAAa,CAAC,QAAuB;QAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAChC,MAAM,KAA+B,QAAQ,CAAC,CAAC,CAAC,EAA1C,EAAE,YAAY,EAAE,CAAC,OAAyB,EAApB,IAAI,cAA1B,gBAA4B,CAAc,CAAC;QACjD,OAAO,EAAE,UAAU,kBAAI,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,IAAK,IAAI,CAAE,EAAE,CAAC;IAC7E,CAAC;IAEO,uBAAuB,CAAC,MAAkB;QAChD,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;YACrC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;gBACjD,MAAkC,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,GAAW;QACpC,IAAI,KAAK,GAAG,MAAM,iBAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,IAAA,qBAAY,GAAE,CAAC;YACvB,MAAM,iBAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,UAAU;;QAChB,IAAI,CAAC;YACH,8DAA8D;YAC9D,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;YAC5D,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;gBAC1B,OAAO,CAAA,MAAA,MAAA,aAAa,CAAC,eAAe,0CAAE,QAAQ,0CAAE,WAAW;wBACtD,MAAA,MAAA,MAAA,aAAa,CAAC,eAAe,0CAAE,QAAQ,0CAAE,cAAc,0CAAG,CAAC,CAAC,CAAA;uBAC5D,OAAO,CAAC;YACf,CAAC;YACD,OAAO,CAAA,MAAA,aAAa,CAAC,WAAW,0CAAE,gBAAgB,KAAI,OAAO,CAAC;QAChE,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC;YACH,8DAA8D;YAC9D,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;YAC7C,OAAO,QAAQ,CAAC,EAAE,CAAC;QACrB,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;QAC1D,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,kBAAkB,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,IAAI,CAAC,GAAG,IAAe;QAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,GAAG,IAAe;QAClC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;CACF;AA/tBD,4BA+tBC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export { CdpRnSdk } from './CdpRnSdk';
2
- export type { CdpRnConfig, UserTraits, PlatformInfo, CampaignInfo, ConsentInfo, ScoreInfo, ProductInfo, EventProperties, EventContext, CdpEvent, PartyType, ProfilePayload, ProfileUpdatePayload, ProfileResponse, ProfileData, UserIdentities, } from './types';
2
+ export type { CdpRnConfig, UserTraits, PlatformInfo, CampaignInfo, ConsentInfo, ScoreInfo, ProductInfo, EventProperties, EventContext, CdpEvent, PartyType, ProfilePayload, ProfileUpdatePayload, ProfileResponse, ProfileData, UserIdentities, NotificationEventType, NotificationTrackPayload, NotificationTrackOptions, NotificationTrackResponse, NotiMessageLike, NotiSdkLike, } from './types';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,cAAc,GACf,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,eAAe,EACf,WAAW,GACZ,MAAM,SAAS,CAAC"}
package/dist/types.d.ts CHANGED
@@ -9,6 +9,8 @@ export interface CdpRnConfig {
9
9
  batchSize?: number;
10
10
  batchInterval?: number;
11
11
  enableEncryption?: boolean;
12
+ /** Domain riêng cho API notification-inbox (vd: track-by-tracking-id). Bắt buộc nếu dùng trackNotificationEvent()/bindNotificationTracking(). */
13
+ notificationApiBaseUrl?: string;
12
14
  }
13
15
  export interface UserTraits {
14
16
  full_name?: string;
@@ -147,4 +149,45 @@ export interface UserIdentities {
147
149
  session_id: string;
148
150
  [key: string]: unknown;
149
151
  }
152
+ export type NotificationEventType = 'delivered' | 'open' | 'click' | 'dismiss' | 'read';
153
+ export interface NotificationTrackPayload {
154
+ tracking_id: string;
155
+ user_app_id?: string;
156
+ user_profile_id?: string;
157
+ device_id?: string;
158
+ event_type: NotificationEventType;
159
+ platform?: string;
160
+ button_id?: string;
161
+ deeplink?: string;
162
+ current_screen?: string;
163
+ metadata?: unknown[];
164
+ }
165
+ export interface NotificationTrackOptions {
166
+ userAppId?: string;
167
+ userProfileId?: string;
168
+ deviceId?: string;
169
+ platform?: string;
170
+ buttonId?: string;
171
+ deeplink?: string;
172
+ currentScreen?: string;
173
+ metadata?: unknown[];
174
+ }
175
+ export interface NotificationTrackResponse {
176
+ code?: number;
177
+ message?: string;
178
+ [key: string]: unknown;
179
+ }
180
+ /** Shape tối thiểu của message do react-native-noti-sdk trả về (data luôn là string map). */
181
+ export interface NotiMessageLike {
182
+ id?: string;
183
+ title?: string;
184
+ body?: string;
185
+ data?: Record<string, string>;
186
+ }
187
+ /** Duck-typed interface — khớp với API của react-native-noti-sdk, không yêu cầu import trực tiếp package đó. */
188
+ export interface NotiSdkLike {
189
+ onMessage: (handler: (message: NotiMessageLike) => void) => () => void;
190
+ onNotificationOpened: (handler: (message: NotiMessageLike) => void) => () => void;
191
+ getInitialNotification?: () => Promise<NotiMessageLike | null>;
192
+ }
150
193
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ interface CdpRnConfig {
26
26
  batchSize?: number; // mặc định 10
27
27
  batchInterval?: number; // mặc định 5000 ms
28
28
  enableEncryption?: boolean; // mặc định true
29
+ notificationApiBaseUrl?: string; // domain API notification-inbox
29
30
  }
30
31
  ```
31
32
 
@@ -108,6 +109,31 @@ async flush(): Promise<void>
108
109
 
109
110
  ---
110
111
 
112
+ ## Notification Inbox Tracking Methods
113
+
114
+ ```typescript
115
+ async trackNotificationEvent(
116
+ trackingId: string,
117
+ eventType: 'delivered' | 'open' | 'click' | 'dismiss' | 'read',
118
+ options?: {
119
+ userAppId?: string;
120
+ userProfileId?: string;
121
+ deviceId?: string;
122
+ platform?: string;
123
+ buttonId?: string;
124
+ deeplink?: string;
125
+ currentScreen?: string;
126
+ metadata?: unknown[];
127
+ }
128
+ ): Promise<{ code?: number; message?: string } | undefined>
129
+
130
+ bindNotificationTracking(notiSdk: NotiSdkLike): () => void // trả về unsubscribe
131
+ ```
132
+
133
+ Xem chi tiết tại [Notification Inbox Tracking →](./notifications.md).
134
+
135
+ ---
136
+
111
137
  ## Session & Identity Methods
112
138
 
113
139
  ```typescript
@@ -135,6 +135,7 @@ await cdp.destroy_session();
135
135
  | `batchSize` | `number` | `10` | Số events tối đa trong 1 batch |
136
136
  | `batchInterval` | `number` | `5000` | Thời gian (ms) giữa các lần flush tự động |
137
137
  | `enableEncryption` | `boolean` | `true` | Mã hoá PII bằng AES-256-CBC |
138
+ | `notificationApiBaseUrl` | `string` | — | Domain API notification-inbox (dùng cho `trackNotificationEvent()`) |
138
139
 
139
140
  ---
140
141
 
@@ -151,6 +152,7 @@ await cdp.destroy_session();
151
152
 
152
153
  - [Profile & Traits →](https://gitlab.ovp.vn/dlc/vc-cdk-sdk/-/blob/master/vc-cdp-rn-sdk/docs/profile.md)
153
154
  - [Event Tracking →](https://gitlab.ovp.vn/dlc/vc-cdk-sdk/-/blob/master/vc-cdp-rn-sdk/docs/events.md)
155
+ - [Notification Inbox Tracking →](https://gitlab.ovp.vn/dlc/vc-cdk-sdk/-/blob/master/vc-cdp-rn-sdk/docs/notifications.md)
154
156
  - [Tích hợp React Navigation →](https://gitlab.ovp.vn/dlc/vc-cdk-sdk/-/blob/master/vc-cdp-rn-sdk/docs/integration-react-navigation.md)
155
157
  - [Bảo mật →](https://gitlab.ovp.vn/dlc/vc-cdk-sdk/-/blob/master/vc-cdp-rn-sdk/docs/security.md)
156
158
  - [API Reference →](https://gitlab.ovp.vn/dlc/vc-cdk-sdk/-/blob/master/vc-cdp-rn-sdk/docs/api-reference.md)
@@ -0,0 +1,130 @@
1
+ # Notification Inbox Tracking
2
+
3
+ Hướng dẫn tích hợp [`react-native-noti-sdk`](https://www.npmjs.com/package/react-native-noti-sdk)
4
+ (FCM + Notifee) với `vc-cdp-rn-sdk` để tracking các sự kiện thông báo
5
+ (delivered / open / click / dismiss / read) qua notification-inbox API.
6
+
7
+ ---
8
+
9
+ ## 1. Cài đặt
10
+
11
+ ```bash
12
+ npm install react-native-noti-sdk
13
+ npm install @react-native-firebase/app @react-native-firebase/messaging @notifee/react-native @react-native-clipboard/clipboard
14
+ ```
15
+
16
+ ```bash
17
+ cd ios && pod install
18
+ ```
19
+
20
+ > Xem thêm cấu hình Firebase / channel Android tại README của
21
+ > `react-native-noti-sdk`.
22
+
23
+ ---
24
+
25
+ ## 2. Cấu hình domain
26
+
27
+ API notification-inbox thường nằm trên domain **khác** với API ingest event/profile,
28
+ nên cần khai báo riêng khi khởi tạo SDK:
29
+
30
+ ```typescript
31
+ const cdp = await CdpRnSdk.create({
32
+ apiKey: 'YOUR_API_KEY',
33
+ secretKey: 'YOUR_SECRET_KEY',
34
+ source: 'DOP',
35
+ serviceName: 'VC_APP',
36
+ baseUrl: 'https://ingestlog.vietcredit.com.vn',
37
+
38
+ // Domain riêng cho notification-inbox tracking
39
+ notificationApiBaseUrl: 'https://noti.vietcredit.com.vn',
40
+ });
41
+ ```
42
+
43
+ Nếu không set `notificationApiBaseUrl`, `trackNotificationEvent()` sẽ bỏ qua
44
+ và log lỗi (không throw).
45
+
46
+ ---
47
+
48
+ ## 3. Tự động track `delivered` / `open`
49
+
50
+ `bindNotificationTracking()` gắn `react-native-noti-sdk` vào CDP SDK: tự động
51
+ gọi `trackNotificationEvent()` khi nhận message (`delivered`) và khi user tap
52
+ mở app từ thông báo (`open`), miễn là payload push có field `tracking_id`
53
+ trong `data`.
54
+
55
+ ```typescript
56
+ import NotiSdk from 'react-native-noti-sdk';
57
+ import { cdp } from './cdp';
58
+
59
+ async function setupPush() {
60
+ await NotiSdk.init({ debug: true });
61
+
62
+ // Tự động: onMessage → 'delivered', onNotificationOpened/getInitialNotification → 'open'
63
+ const unbind = cdp.bindNotificationTracking(NotiSdk);
64
+
65
+ // ... unbind() khi cleanup nếu cần
66
+ }
67
+ ```
68
+
69
+ Payload push phải nhúng `tracking_id`, ví dụ FCM `data`:
70
+
71
+ ```json
72
+ {
73
+ "tracking_id": "b7e6c1a2-...",
74
+ "deeplink": "app://home"
75
+ }
76
+ ```
77
+
78
+ ---
79
+
80
+ ## 4. Track thủ công `click` / `dismiss` / `read`
81
+
82
+ `react-native-noti-sdk` không có callback riêng cho các sự kiện này (nhấn nút
83
+ trong `displayCustomNotification`, dismiss, hoặc đọc trong màn hình inbox) —
84
+ gọi `trackNotificationEvent()` trực tiếp tại nơi xử lý:
85
+
86
+ ```typescript
87
+ // Khi user nhấn nút trong custom notification
88
+ cdp.trackNotificationEvent(trackingId, 'click', {
89
+ buttonId: 'btn_1',
90
+ deeplink: 'app://home',
91
+ currentScreen: 'HomeScreen',
92
+ });
93
+
94
+ // Khi user dismiss thông báo
95
+ cdp.trackNotificationEvent(trackingId, 'dismiss');
96
+
97
+ // Khi user đọc thông báo trong màn hình inbox
98
+ cdp.trackNotificationEvent(trackingId, 'read', { currentScreen: 'NotificationInboxScreen' });
99
+ ```
100
+
101
+ ---
102
+
103
+ ## API
104
+
105
+ ```typescript
106
+ async trackNotificationEvent(
107
+ trackingId: string,
108
+ eventType: 'delivered' | 'open' | 'click' | 'dismiss' | 'read',
109
+ options?: {
110
+ userAppId?: string; // mặc định: user_id hiện tại (identifyUser), '' nếu chưa login
111
+ userProfileId?: string; // mặc định: profile_id hiện tại, '' nếu chưa có profile_id
112
+ deviceId?: string; // mặc định: device_id của SDK
113
+ platform?: string; // mặc định: Platform.OS ('android' | 'ios')
114
+ buttonId?: string;
115
+ deeplink?: string;
116
+ currentScreen?: string;
117
+ metadata?: unknown[];
118
+ }
119
+ ): Promise<{ code?: number; message?: string } | undefined>
120
+
121
+ bindNotificationTracking(notiSdk: {
122
+ onMessage: (handler: (message: { data?: Record<string,string> }) => void) => () => void;
123
+ onNotificationOpened: (handler: (message: { data?: Record<string,string> }) => void) => () => void;
124
+ getInitialNotification?: () => Promise<{ data?: Record<string,string> } | null>;
125
+ }): () => void // unsubscribe
126
+ ```
127
+
128
+ `trackNotificationEvent()` gửi `POST {notificationApiBaseUrl}/api/v1/notification-inbox/track-by-tracking-id`
129
+ với body JSON tương ứng field `options`. Endpoint này không dùng HMAC
130
+ signature như API ingest — chỉ header `Content-Type: application/json`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vc-cdp-rn-sdk",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "CDP SDK for React Native - Customer Data Platform tracking for iOS and Android",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -36,7 +36,13 @@
36
36
  "@react-native-async-storage/async-storage": ">=1.17.0",
37
37
  "react": ">=17.0.0",
38
38
  "react-native": ">=0.68.0",
39
- "react-native-device-info": ">=10.0.0"
39
+ "react-native-device-info": ">=10.0.0",
40
+ "react-native-noti-sdk": ">=0.2.0"
41
+ },
42
+ "peerDependenciesMeta": {
43
+ "react-native-noti-sdk": {
44
+ "optional": true
45
+ }
40
46
  },
41
47
  "dependencies": {
42
48
  "crypto-js": "^4.2.0"