@phystack/hub-client 4.4.29

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.
Files changed (113) hide show
  1. package/.prettierignore +10 -0
  2. package/.prettierrc +10 -0
  3. package/CHANGELOG.md +1202 -0
  4. package/README-MEDIASTREAM.md +124 -0
  5. package/README.md +302 -0
  6. package/dist/constants/constants.d.ts +7 -0
  7. package/dist/constants/constants.d.ts.map +1 -0
  8. package/dist/constants/constants.js +10 -0
  9. package/dist/constants/constants.js.map +1 -0
  10. package/dist/helpers/browser.helper.d.ts +5 -0
  11. package/dist/helpers/browser.helper.d.ts.map +1 -0
  12. package/dist/helpers/browser.helper.js +19 -0
  13. package/dist/helpers/browser.helper.js.map +1 -0
  14. package/dist/helpers/cache.helper.d.ts +6 -0
  15. package/dist/helpers/cache.helper.d.ts.map +1 -0
  16. package/dist/helpers/cache.helper.js +46 -0
  17. package/dist/helpers/cache.helper.js.map +1 -0
  18. package/dist/helpers/date.helper.d.ts +4 -0
  19. package/dist/helpers/date.helper.d.ts.map +1 -0
  20. package/dist/helpers/date.helper.js +13 -0
  21. package/dist/helpers/date.helper.js.map +1 -0
  22. package/dist/helpers/session.helper.d.ts +13 -0
  23. package/dist/helpers/session.helper.d.ts.map +1 -0
  24. package/dist/helpers/session.helper.js +88 -0
  25. package/dist/helpers/session.helper.js.map +1 -0
  26. package/dist/helpers/shorten-look-ups.helper.d.ts +3 -0
  27. package/dist/helpers/shorten-look-ups.helper.d.ts.map +1 -0
  28. package/dist/helpers/shorten-look-ups.helper.js +80 -0
  29. package/dist/helpers/shorten-look-ups.helper.js.map +1 -0
  30. package/dist/helpers/signals-client.helper.d.ts +9 -0
  31. package/dist/helpers/signals-client.helper.d.ts.map +1 -0
  32. package/dist/helpers/signals-client.helper.js +44 -0
  33. package/dist/helpers/signals-client.helper.js.map +1 -0
  34. package/dist/helpers/signals.helper.d.ts +19 -0
  35. package/dist/helpers/signals.helper.d.ts.map +1 -0
  36. package/dist/helpers/signals.helper.js +48 -0
  37. package/dist/helpers/signals.helper.js.map +1 -0
  38. package/dist/helpers/wrtc/browser.d.ts +3 -0
  39. package/dist/helpers/wrtc/browser.d.ts.map +1 -0
  40. package/dist/helpers/wrtc/browser.js +11 -0
  41. package/dist/helpers/wrtc/browser.js.map +1 -0
  42. package/dist/helpers/wrtc/index.d.ts +5 -0
  43. package/dist/helpers/wrtc/index.d.ts.map +1 -0
  44. package/dist/helpers/wrtc/index.js +30 -0
  45. package/dist/helpers/wrtc/index.js.map +1 -0
  46. package/dist/helpers/wrtc/node.d.ts +3 -0
  47. package/dist/helpers/wrtc/node.d.ts.map +1 -0
  48. package/dist/helpers/wrtc/node.js +18 -0
  49. package/dist/helpers/wrtc/node.js.map +1 -0
  50. package/dist/index.d.ts +109 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +1013 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/services/online-status-subscription.service.d.ts +28 -0
  55. package/dist/services/online-status-subscription.service.d.ts.map +1 -0
  56. package/dist/services/online-status-subscription.service.js +96 -0
  57. package/dist/services/online-status-subscription.service.js.map +1 -0
  58. package/dist/services/phyhub-connection.service.d.ts +20 -0
  59. package/dist/services/phyhub-connection.service.d.ts.map +1 -0
  60. package/dist/services/phyhub-connection.service.js +176 -0
  61. package/dist/services/phyhub-connection.service.js.map +1 -0
  62. package/dist/services/signals.service.d.ts +97 -0
  63. package/dist/services/signals.service.d.ts.map +1 -0
  64. package/dist/services/signals.service.js +536 -0
  65. package/dist/services/signals.service.js.map +1 -0
  66. package/dist/services/webrtc/datachannel.d.ts +10 -0
  67. package/dist/services/webrtc/datachannel.d.ts.map +1 -0
  68. package/dist/services/webrtc/datachannel.js +290 -0
  69. package/dist/services/webrtc/datachannel.js.map +1 -0
  70. package/dist/services/webrtc/mediastream.d.ts +10 -0
  71. package/dist/services/webrtc/mediastream.d.ts.map +1 -0
  72. package/dist/services/webrtc/mediastream.js +396 -0
  73. package/dist/services/webrtc/mediastream.js.map +1 -0
  74. package/dist/services/webrtc/peer-connection-ice.d.ts +32 -0
  75. package/dist/services/webrtc/peer-connection-ice.d.ts.map +1 -0
  76. package/dist/services/webrtc/peer-connection-ice.js +483 -0
  77. package/dist/services/webrtc/peer-connection-ice.js.map +1 -0
  78. package/dist/types/signal.types.d.ts +354 -0
  79. package/dist/types/signal.types.d.ts.map +1 -0
  80. package/dist/types/signal.types.js +53 -0
  81. package/dist/types/signal.types.js.map +1 -0
  82. package/dist/types/twin.types.d.ts +705 -0
  83. package/dist/types/twin.types.d.ts.map +1 -0
  84. package/dist/types/twin.types.js +21 -0
  85. package/dist/types/twin.types.js.map +1 -0
  86. package/dist/types/webrtc.types.d.ts +41 -0
  87. package/dist/types/webrtc.types.d.ts.map +1 -0
  88. package/dist/types/webrtc.types.js +3 -0
  89. package/dist/types/webrtc.types.js.map +1 -0
  90. package/package.json +50 -0
  91. package/src/constants/constants.ts +12 -0
  92. package/src/helpers/browser.helper.ts +15 -0
  93. package/src/helpers/cache.helper.ts +52 -0
  94. package/src/helpers/date.helper.ts +8 -0
  95. package/src/helpers/session.helper.ts +96 -0
  96. package/src/helpers/shorten-look-ups.helper.ts +75 -0
  97. package/src/helpers/signals-client.helper.ts +54 -0
  98. package/src/helpers/signals.helper.ts +41 -0
  99. package/src/helpers/wrtc/browser.ts +9 -0
  100. package/src/helpers/wrtc/index.ts +32 -0
  101. package/src/helpers/wrtc/node.ts +16 -0
  102. package/src/index.ts +1429 -0
  103. package/src/services/online-status-subscription.service.ts +127 -0
  104. package/src/services/phyhub-connection.service.ts +213 -0
  105. package/src/services/signals.service.ts +783 -0
  106. package/src/services/webrtc/datachannel.ts +421 -0
  107. package/src/services/webrtc/mediastream.ts +602 -0
  108. package/src/services/webrtc/peer-connection-ice.ts +689 -0
  109. package/src/types/lodash.d.ts +3 -0
  110. package/src/types/signal.types.ts +382 -0
  111. package/src/types/twin.types.ts +803 -0
  112. package/src/types/webrtc.types.ts +48 -0
  113. package/tsconfig.json +45 -0
@@ -0,0 +1,382 @@
1
+ export enum DataResidencyEnum {
2
+ 'EU' = 'EU',
3
+ 'US' = 'US',
4
+ 'UAE' = 'UAE',
5
+ 'AU' = 'AU',
6
+ 'IN' = 'IN',
7
+ 'QA' = 'QA',
8
+ 'DEV' = 'DEV',
9
+ }
10
+
11
+ export enum DataRequestTypeEnum {
12
+ 'SESSION' = 'SESSION',
13
+ 'CLIENT' = 'CLIENT',
14
+ 'EVENT' = 'EVENT',
15
+ 'CHECKOUT' = 'CHECKOUT',
16
+ 'PURCHASE' = 'PURCHASE',
17
+ }
18
+
19
+ export enum EventTypeEnum {
20
+ APP_START = 'APP_START',
21
+ CONTENT_VIEW = 'CONTENT_VIEW',
22
+ CATEGORY_VIEW = 'CATEGORY_VIEW',
23
+ PRODUCT_VIEW = 'PRODUCT_VIEW',
24
+ CART_ADD = 'CART_ADD',
25
+ CART_VIEW = 'CART_VIEW',
26
+ CART_REMOVE = 'CART_REMOVE',
27
+ SEARCH = 'SEARCH',
28
+ SEARCH_CLEAR = 'SEARCH_CLEAR',
29
+ CHECKOUT = 'CHECKOUT',
30
+ PURCHASE = 'PURCHASE',
31
+ QR_RUN = 'QR_RUN',
32
+ RATING = 'RATING',
33
+ CART_CLEAR = 'CART_CLEAR',
34
+ FEEDBACK = 'FEEDBACK',
35
+ APP_ONLINE = 'APP_ONLINE',
36
+ APP_OFFLINE = 'APP_OFFLINE',
37
+ ORDER_ITEM = 'ORDER_ITEM',
38
+ PROCESS_ORDER_START = 'PROCESS_ORDER_START',
39
+ PROCESS_ORDER_END = 'PROCESS_ORDER_END',
40
+ PROCESS_ORDER_SUCCESS = 'PROCESS_ORDER_SUCCESS',
41
+ PROCESS_ORDER_FAILED = 'PROCESS_ORDER_FAILED',
42
+ PROCESS_ORDER_ITEM_DELIVERED = 'PROCESS_ORDER_ITEM_DELIVERED',
43
+ PROCESS_ORDER_ITEM_FAILED = 'PROCESS_ORDER_ITEM_FAILED',
44
+ AUTHENTICATION_FAILED = 'AUTHENTICATION_FAILED',
45
+ AUTHENTICATION_SUCCESS = 'AUTHENTICATION_SUCCESS',
46
+ SCAN_BARCODE = 'SCAN_BARCODE',
47
+ MEDIA_FINISHED = 'MEDIA_FINISHED',
48
+ }
49
+
50
+ export interface TrackEvent {
51
+ captureId?: string;
52
+ categoryId?: string;
53
+ eventType: string;
54
+ int1?: number;
55
+ int2?: number;
56
+ int3?: number;
57
+ int4?: number;
58
+ int5?: number;
59
+ interaction: boolean;
60
+ productId?: string;
61
+ public?: number;
62
+ stateful?: boolean;
63
+ str1?: string;
64
+ str2?: string;
65
+ str3?: string;
66
+ str4?: string;
67
+ str5?: string;
68
+ }
69
+
70
+ export interface Session {
71
+ appId: string;
72
+ appVersion?: string;
73
+ captureId?: string;
74
+ clientId?: string;
75
+ country?: string;
76
+ dataResidency: string;
77
+ deviceId?: string | null;
78
+ environment: string;
79
+ installationId: string;
80
+ installationVersion?: string;
81
+ ip?: string;
82
+ latitude?: number;
83
+ locationAccuracy?: number;
84
+ longitude?: number;
85
+ sessionCreated?: string;
86
+ sessionId: string;
87
+ spaceId: string;
88
+ tenantId: string;
89
+ }
90
+
91
+ export interface Event extends TrackEvent {
92
+ clientId?: string;
93
+ dataResidency: string;
94
+ eventTime?: string;
95
+ ip?: string;
96
+ sessionId: string;
97
+ spaceId: string;
98
+ tenantId: string;
99
+ }
100
+
101
+ export interface BaseCheckoutEvent extends Omit<Event, 'eventType'> {
102
+ transactionId: string;
103
+ currency: string;
104
+ revenue: number;
105
+ affiliation?: string;
106
+ shipping?: number;
107
+ tax?: number;
108
+ coupon?: string;
109
+ products: {
110
+ id: string;
111
+ name: string;
112
+ categoryId: string;
113
+ spaceId: string;
114
+ quantity: number;
115
+ price: number;
116
+ affiliation?: string;
117
+ coupon?: string;
118
+ discount?: number;
119
+ }[];
120
+ }
121
+
122
+ export interface CheckoutEvent extends BaseCheckoutEvent {}
123
+
124
+ export interface PurchaseEvent extends BaseCheckoutEvent {}
125
+
126
+ export interface CheckoutProps {
127
+ transactionId: string;
128
+ currency: string;
129
+ revenue: number;
130
+ affiliation?: string;
131
+ shipping?: number;
132
+ tax?: number;
133
+ coupon?: string;
134
+ products: {
135
+ id: string;
136
+ name: string;
137
+ categoryId: string;
138
+ spaceId: string;
139
+ quantity: number;
140
+ price: number;
141
+ affiliation?: string;
142
+ coupon?: string;
143
+ discount?: number;
144
+ }[];
145
+ }
146
+
147
+ export interface PurchaseProps {
148
+ transactionId: string;
149
+ currency: string;
150
+ revenue: number;
151
+ affiliation?: string;
152
+ shipping?: number;
153
+ tax?: number;
154
+ coupon?: string;
155
+ products: {
156
+ id: string;
157
+ name: string;
158
+ categoryId: string;
159
+ spaceId: string;
160
+ quantity: number;
161
+ price: number;
162
+ affiliation?: string;
163
+ coupon?: string;
164
+ discount?: number;
165
+ }[];
166
+ }
167
+
168
+ export interface Client {
169
+ captureId?: string;
170
+ clientBrowserEngine?: string;
171
+ clientBrowserEngineVersion?: string;
172
+ clientBrowserMajor?: string;
173
+ clientBrowserName?: string;
174
+ clientBrowserVersion?: string;
175
+ clientCreated: string;
176
+ clientCpuArchitecture?: string;
177
+ clientDeviceModel?: string;
178
+ clientDeviceType?: string;
179
+ clientDeviceVendor?: string;
180
+ clientHeight?: number;
181
+ clientId?: string; // Mobile - Generate uuid // Device - Device ID
182
+ clientIp?: string;
183
+ clientOsName?: string;
184
+ clientOsVersion?: string;
185
+ clientScreenColorDepth?: number;
186
+ clientScreenHeight?: number;
187
+ clientScreenPixelDepth?: number;
188
+ clientScreenWidth?: number;
189
+ clientUserAgent?: string;
190
+ country?: string;
191
+ dataResidency: string;
192
+ latitude?: number;
193
+ locationAccuracy?: number;
194
+ longitude?: number;
195
+ tenantId: string;
196
+ }
197
+
198
+ export interface InitSignalPayload {
199
+ tenantId: string;
200
+ environment: string;
201
+ dataResidency: string;
202
+ country: string;
203
+ locationAccuracy?: number;
204
+ latitude?: number;
205
+ longitude?: number;
206
+ spaceId: string;
207
+ appId: string;
208
+ appVersion: string;
209
+ installationId: string;
210
+ installationVersion: string;
211
+ lastActivity?: string;
212
+ clientUserAgent?: string;
213
+ clientScreenWidth?: number;
214
+ clientScreenHeight?: number;
215
+ clientScreenColorDepth?: number;
216
+ clientScreenPixelDepth?: number;
217
+ sessionId?: string;
218
+ sessionCreated?: string;
219
+ deviceId?: string;
220
+ accessId?: string;
221
+ accessToken?: string;
222
+ clientCreated?: string;
223
+ clientId?: string;
224
+ useValidCachedSessionOnInit?: boolean;
225
+ createNewSessionAfterLastActivityMins?: number;
226
+ ip?: string;
227
+ }
228
+
229
+ export interface SignalInstance extends Session, Client {
230
+ accessId: string;
231
+ accessToken: string;
232
+ lastActivity: string;
233
+ }
234
+
235
+ export type RequestData = Session | Event | CheckoutEvent | PurchaseEvent | Client;
236
+
237
+ export type SendOrCacheDataProps = (type: DataRequestTypeEnum, data: RequestData) => Promise<void>;
238
+
239
+ export type GetSessionStateParams = {
240
+ tenantId: string;
241
+ sessionId: string;
242
+ dataResidency: string;
243
+ };
244
+
245
+ export type GetSessionStateResponse = {
246
+ CART: {
247
+ [productId: string]: number;
248
+ };
249
+ SEARCH: string[];
250
+ };
251
+
252
+ export type GetSpaceStateParams = {
253
+ accessId: string;
254
+ accessToken: string;
255
+ tenantId: string;
256
+ spaceId: string;
257
+ dataResidency: string;
258
+ };
259
+
260
+ export type GetSpaceStateRowsParams = {
261
+ accessId: string;
262
+ accessToken: string;
263
+ tenantId: string;
264
+ sessionId: string;
265
+ dataResidency: string;
266
+ };
267
+
268
+ export type GetSpaceStateResponse = {
269
+ RATING: {
270
+ type: string;
271
+ value: {
272
+ min: number;
273
+ max: number;
274
+ mean: number;
275
+ length: number;
276
+ };
277
+ expiry: number;
278
+ created: string;
279
+ updated: string;
280
+ };
281
+ CART: {
282
+ [productId: string]: {
283
+ quantity: number;
284
+ contacts: number;
285
+ };
286
+ };
287
+ };
288
+
289
+ export type GetSpaceStateRowsResponse = {
290
+ RATING: {
291
+ [sessionId: string]: {
292
+ value: number;
293
+ expiry: number;
294
+ updated: string;
295
+ };
296
+ };
297
+ CART: {
298
+ [sessionId: string]: {
299
+ expiry: string;
300
+ updated: string;
301
+ value: {
302
+ [productId: string]: number;
303
+ };
304
+ };
305
+ };
306
+ };
307
+
308
+ export type SubscribeSessionStateParams = {
309
+ sessionId: string;
310
+ dataResidency: string;
311
+ callback: (data: any) => void;
312
+ onStop?: () => void;
313
+ onRefresh?: () => void;
314
+ };
315
+
316
+ export type SubscribeSessionStateResponse = GetSessionStateResponse;
317
+
318
+ export type SubscribeSpaceStateParams = {
319
+ accessId: string;
320
+ accessToken: string;
321
+ spaceId: string;
322
+ dataResidency: string;
323
+ callback: (data: any) => void;
324
+ };
325
+
326
+ export type SubscribeSpaceStateResponse = {
327
+ CART: {
328
+ [productId: string]: {
329
+ quantity: number;
330
+ contacts: number;
331
+ };
332
+ };
333
+ };
334
+
335
+ export type SubscribeEventResponse = {
336
+ captureId: string;
337
+ clientId?: string;
338
+ dataResidency: string;
339
+ eventTime: string;
340
+ eventType: string;
341
+ interaction: boolean;
342
+ ip: string;
343
+ productId: string;
344
+ sessionId: string;
345
+ tenantId: string;
346
+ int1?: number;
347
+ int2?: number;
348
+ int3?: number;
349
+ int4?: number;
350
+ int5?: number;
351
+ str1?: string;
352
+ str2?: string;
353
+ str3?: string;
354
+ str4?: string;
355
+ str5?: string;
356
+ };
357
+
358
+ export type CreatePubSub = {
359
+ sessionId: string;
360
+ dataResidency: string;
361
+ };
362
+
363
+ export type PubSubData = {
364
+ eventType: string;
365
+ payload: string;
366
+ };
367
+
368
+ export type GetContactParams = {
369
+ tenantId: string;
370
+ sessionId: string;
371
+ dataResidency: DataResidencyEnum;
372
+ };
373
+
374
+ export type SubscriptionGetTokenResponse = {
375
+ accessToken: string;
376
+ url: string;
377
+ };
378
+
379
+ export type SendDataOptions = {
380
+ expectResponse?: boolean;
381
+ type: DataRequestTypeEnum;
382
+ };