uqudosdk-web 3.6.2 → 4.0.1

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/CHANGELOG.md CHANGED
@@ -55,7 +55,7 @@
55
55
  ## 3.3.0
56
56
 
57
57
  - In this latest release, we've revamped the facial recognition step. We've eliminated the nodding step, transforming facial recognition into a straightforward process easy as capturing a selfie. Under the hood, numerous enhancements have been implemented to ensure speed, simplicity, and enhanced accuracy. There are no changes in terms of business logic for your integration process.
58
- To accomplish the aforementioned outcome, we integrated AI capabilities directly into the Web SDK, resulting in a substantial increase in the SDK's size. To ensure the utmost efficiency with our latest SDK version, it's recommended to follow performance best practices. Enhance performance by reducing imports and incorporating techniques like lazy loading, code splitting, and memoization (specifically for React). To implement these strategies, consult the documentation of the framework you are utilizing.
58
+ To accomplish the aforementioned outcome, we integrated AI capabilities directly into the Web SDK, resulting in a substantial increase in the SDK's size. To ensure the utmost efficiency with our latest SDK version, it's recommended to follow performance best practices. Enhance performance by reducing imports and incorporating techniques like lazy loading, code splitting, and memoization (specifically for React). To implement these strategies, consult the documentation of the framework you are utilizing.
59
59
  - Added support for Lebanon ID and Driving License
60
60
 
61
61
  ## 3.2.3
package/index.d.ts CHANGED
@@ -9,21 +9,14 @@ export declare class OperationError extends Error {
9
9
  public data: IResultInfo | undefined;
10
10
  }
11
11
 
12
- export declare const isOperationError: (
13
- error: unknown
14
- ) => error is OperationError;
12
+ export declare const isOperationError: (error: unknown) => error is OperationError;
15
13
 
16
14
  // ---------- uqudo sdk --------- //
17
15
 
18
16
  export declare class UqudoSdk {
19
17
  enrollment(configProcess: IEnrollmentConfig): Promise<ReturnEnrollmentType>;
20
- accountRecovery(
21
- configProcess: IAccountRecoveryConfig
22
- ): Promise<ReturnAccountRecoveryType>;
23
- faceSession(
24
- configProcess: IFaceSessionConfig
25
- ): Promise<ReturnFaceSessionType>;
26
- dispose(): Promise<void>;
18
+ faceSession(configProcess: IFaceSessionConfig): Promise<ReturnFaceSessionType>;
19
+ dispose(): void;
27
20
  }
28
21
 
29
22
  declare class UqudoSdkFactory {
@@ -44,7 +37,8 @@ export enum ErrorCode {
44
37
  MEDIA_UNKNOWN_ERROR = "MEDIA_UNKNOWN_ERROR",
45
38
  USER_CANCEL = "USER_CANCEL",
46
39
  INVALID_CONFIG = "INVALID_CONFIG",
47
- SESSION_INVALIDATED_TOO_MANY_ATTEMPTS = "SESSION_INVALIDATED_TOO_MANY_ATTEMPTS",
40
+ SESSION_INVALIDATED_FACE_RECOGNITION_TOO_MANY_ATTEMPTS = "SESSION_INVALIDATED_FACE_RECOGNITION_TOO_MANY_ATTEMPTS",
41
+ WASM_NOT_SUPPORTED = "WASM_NOT_SUPPORTED",
48
42
  }
49
43
 
50
44
  // ---------- enum --------- //
@@ -58,6 +52,7 @@ export enum ErrorDisplayCode {
58
52
  PAYLOAD_TOO_LARGE = "PAYLOAD_TOO_LARGE",
59
53
  SCAN_DOCUMENT_AGE_VERIFICATION_FAILED = "SCAN_DOCUMENT_AGE_VERIFICATION_FAILED",
60
54
  UNEXPECTED_ERROR = "UNEXPECTED_ERROR",
55
+ UNSUPPORTED_DOCUMENT_TYPE = "UNSUPPORTED_DOCUMENT_TYPE",
61
56
  }
62
57
 
63
58
  // document type
@@ -83,7 +78,6 @@ export enum DocumentType {
83
78
  NGA_DL = "NGA_DL",
84
79
  NGA_VOTER_ID = "NGA_VOTER_ID",
85
80
  NGA_NIN = "NGA_NIN",
86
- UAE_VL_PDF = "UAE_VL_PDF",
87
81
  GBR_DL = "GBR_DL",
88
82
  SAU_DL = "SAU_DL",
89
83
  ZAF_ID = "ZAF_ID",
@@ -118,21 +112,53 @@ export enum DocumentType {
118
112
  UAE_ID_DIGITAL = "UAE_ID_DIGITAL",
119
113
  QAT_VL = "QAT_VL",
120
114
  UAE_PASSPORT_DIGITAL = "UAE_PASSPORT_DIGITAL",
115
+ TUN_ID = "TUN_ID",
116
+ SOM_ID = "SOM_ID",
117
+ BHR_VL = "BHR_VL",
118
+ JOR_VL = "JOR_VL",
119
+ SAU_VL = "SAU_VL",
120
+ MAR_ID = "MAR_ID",
121
+ KWT_ID_NATIONAL = "KWT_ID_NATIONAL",
122
+ KWT_ID_RESIDENT = "KWT_ID_RESIDENT",
123
+ OMN_ID_NATIONAL = "OMN_ID_NATIONAL",
124
+ OMN_ID_RESIDENT = "OMN_ID_RESIDENT",
125
+ SAU_ID_NATIONAL = "SAU_ID_NATIONAL",
126
+ SAU_ID_RESIDENT = "SAU_ID_RESIDENT",
127
+ QAT_ID_NATIONAL = "QAT_ID_NATIONAL",
128
+ QAT_ID_RESIDENT = "QAT_ID_RESIDENT",
121
129
  }
122
130
 
123
131
  export enum BackgroundCheckType {
124
132
  RDC = "RDC",
125
133
  }
126
134
 
127
- export enum LivenessDetectionMessageCode {
135
+ export enum FaceMessageCode {
128
136
  OK = "OK",
137
+ MULTIPLE_PERSON_DETECTED = "MULTIPLE_PERSON_DETECTED",
129
138
  MOVE_CLOSER = "MOVE_CLOSER",
130
139
  GO_BACK = "GO_BACK",
131
- LOOK_STRAIGHT = "LOOK_STRAIGHT",
140
+ MOVE_TO_CENTER = "MOVE_TO_CENTER",
141
+ DARK_ENVIRONMENT_DETECTED = "DARK_ENVIRONMENT_DETECTED",
142
+ BLUR_DETECTED = "BLUR_DETECTED",
143
+ MOUTH_COVER_DETECTED = "MOUTH_COVER_DETECTED",
132
144
  EYE_CLOSED = "EYE_CLOSED",
145
+ EYE_COVER = "EYE_COVER",
146
+ SPOTLIGHT_DETECTED = "SPOTLIGHT_DETECTED",
147
+ SHADOW_DETECTED = "SHADOW_DETECTED",
148
+ ERROR = "ERROR",
149
+ }
150
+
151
+ export enum ScanMessageCode {
152
+ OK = "OK",
153
+ LOW_LIGHT = "LOW_LIGHT",
154
+ MOVE_CLOSER = "MOVE_CLOSER",
155
+ UNCLEAR_IMAGE = "UNCLEAR_IMAGE",
156
+ WRONG_DOCUMENT_TYPE = "WRONG_DOCUMENT_TYPE",
157
+ WRONG_DOCUMENT_SIDE = "WRONG_DOCUMENT_SIDE",
158
+ AVOID_GLARE = "AVOID_GLARE",
159
+ REMOVE_FINGER = "REMOVE_FINGER",
160
+ BAD_QUALITY = "BAD_QUALITY",
133
161
  MOVE_TO_CENTER = "MOVE_TO_CENTER",
134
- NO_PERSON_DETECTED = "NO_PERSON_DETECTED",
135
- MULTIPLE_PERSON_DETECTED = "MULTIPLE_PERSON_DETECTED",
136
162
  ERROR = "ERROR",
137
163
  }
138
164
 
@@ -185,17 +211,28 @@ export interface ITextsArg {
185
211
  facialRecognition?: {
186
212
  title?: string;
187
213
  description?: string;
188
- livenessDetectionMessages?: Record<LivenessDetectionMessageCode, string>;
214
+ livenessDetectionMessages?: Record<FaceMessageCode, string>;
189
215
  };
190
216
  scan?: CanBeArray<{
217
+ titlePhotoPage?: string;
191
218
  titleFrontSide?: string;
192
219
  titleBackSide?: string;
220
+ frontLabel?: string;
221
+ backLabel?: string;
222
+ photoPageLabel?: string;
223
+
193
224
  rescanButtonText?: string;
194
225
  continueButtonText?: string;
195
226
  turnDocumentDescription?: string;
196
227
  tipDescription?: string;
197
228
  tipDescription2?: string;
198
229
  description?: string;
230
+ messages?: Record<ScanMessageCode, string>;
231
+ cameraSelection?: {
232
+ title?: string;
233
+ description?: string;
234
+ button?: string;
235
+ };
199
236
  }>;
200
237
  documentTypes?: Record<string | DocumentType, string>;
201
238
  errors?: Record<string | ErrorDisplayCode, ITextErrorDisplay>;
@@ -206,15 +243,17 @@ export interface ITextsArg {
206
243
  export interface IAssetsArg {
207
244
  logo?: string;
208
245
  logoWhite?: string;
209
- turnOverImage?: string;
246
+ turnOverImageUrl?: string;
210
247
  closeSessionIcon?: string;
248
+ closeSessionIconCameraMode?: string;
211
249
  addFileIcon?: string;
212
250
  hintIcon?: string;
213
251
  recordIcon?: string;
214
- takePictureIcon?: string;
215
252
  spinnerIcon?: string;
216
253
  removeIcon?: string;
217
254
  updateIcon?: string;
255
+ okImageUrl?: string;
256
+ cameraIcon?: string;
218
257
  }
219
258
 
220
259
  // ---------- common type --------- //
@@ -264,7 +303,6 @@ export type IEnrollmentConfig = IConfigProcess &
264
303
  scan: IScanConfig | IScanConfig[];
265
304
  face?: {
266
305
  enableFacialRecognition?: boolean;
267
- enrollFace?: boolean;
268
306
  maxAttempts?: number;
269
307
  minimumMatchLevel?: number;
270
308
  enableOneToNVerification?: boolean;
@@ -293,17 +331,6 @@ export type IFaceSessionConfig = IConfigProcess &
293
331
  minimumMatchLevel?: number;
294
332
  };
295
333
 
296
- // ---------- Account Recovery type --------- //
297
-
298
- export type ReturnAccountRecoveryType = IResultInfo;
299
-
300
- export type IAccountRecoveryConfig = IConfigProcess &
301
- IObservableFunctionsType<ReturnAccountRecoveryType> & {
302
- enrollmentIdentifier: string;
303
- maxAttempts?: number;
304
- minimumMatchLevel?: number;
305
- };
306
-
307
334
  // ---------- Tracing mechanism type --------- //
308
335
 
309
336
  export enum TraceCategory {
@@ -331,6 +358,36 @@ export enum TraceStatus {
331
358
  FAILURE = "FAILURE",
332
359
  }
333
360
 
361
+ export enum SCAN_DOCUMENT_STATUS_CODE {
362
+ OK = "OK",
363
+ SCAN_DOCUMENT_DARK_ENVIRONMENT_DETECTED = "SCAN_DOCUMENT_DARK_ENVIRONMENT_DETECTED",
364
+ SCAN_DOCUMENT_INCORRECT_DISTANCE_DETECTED = "SCAN_DOCUMENT_INCORRECT_DISTANCE_DETECTED",
365
+ SCAN_DOCUMENT_BLUR_DETECTED = "SCAN_DOCUMENT_BLUR_DETECTED",
366
+ SCAN_DOCUMENT_INCORRECT_TYPE_DETECTED = "SCAN_DOCUMENT_INCORRECT_TYPE_DETECTED",
367
+ SCAN_DOCUMENT_INCORRECT_SIDE_DETECTED = "SCAN_DOCUMENT_INCORRECT_SIDE_DETECTED",
368
+ SCAN_DOCUMENT_GLARE_DETECTED = "SCAN_DOCUMENT_GLARE_DETECTED",
369
+ SCAN_DOCUMENT_FINGER_DETECTED = "SCAN_DOCUMENT_FINGER_DETECTED",
370
+ SCAN_DOCUMENT_ID_PHOTO_BAD_QUALITY_DETECTED = "SCAN_DOCUMENT_ID_PHOTO_BAD_QUALITY_DETECTED",
371
+ SCAN_DOCUMENT_INCORRECT_POSITION_DETECTED = "SCAN_DOCUMENT_INCORRECT_POSITION_DETECTED",
372
+ }
373
+
374
+ export enum FACE_STATUS_CODE {
375
+ OK = "OK",
376
+ FACE_MULTIPLE_FACES_DETECTED = "FACE_MULTIPLE_FACES_DETECTED",
377
+ FACE_INCORRECT_DISTANCE_DETECTED_TOO_FAR = "FACE_INCORRECT_DISTANCE_DETECTED_TOO_FAR",
378
+ FACE_INCORRECT_DISTANCE_DETECTED_TOO_CLOSE = "FACE_INCORRECT_DISTANCE_DETECTED_TOO_CLOSE",
379
+ FACE_INCORRECT_POSITION_DETECTED = "FACE_INCORRECT_POSITION_DETECTED",
380
+ FACE_INCORRECT_DISTANCE_DETECTED = "FACE_INCORRECT_DISTANCE_DETECTED",
381
+ FACE_DARK_ENVIRONMENT_DETECTED = "FACE_DARK_ENVIRONMENT_DETECTED",
382
+ FACE_BLUR_DETECTED = "FACE_BLUR_DETECTED",
383
+ FACE_MOUTH_COVER_DETECTED = "FACE_MOUTH_COVER_DETECTED",
384
+ FACE_EYES_COVER_DETECTED = "FACE_EYES_COVER_DETECTED",
385
+ FACE_EYES_CLOSED_DETECTED = "FACE_EYES_CLOSED_DETECTED",
386
+ FACE_SPOTLIGHT_DETECTED = "FACE_SPOTLIGHT_DETECTED",
387
+ FACE_SHADOW_DETECTED = "FACE_SHADOW_DETECTED",
388
+ FACE_EYES_SHADOW_DETECTED = "FACE_EYES_SHADOW_DETECTED",
389
+ }
390
+
334
391
  export enum TraceStatusCode {
335
392
  USER_CANCEL = "USER_CANCEL",
336
393
  SESSION_EXPIRED = "SESSION_EXPIRED",
@@ -345,15 +402,35 @@ export enum TraceStatusCode {
345
402
  SCAN_DOCUMENT_AGE_VERIFICATION_FAILED = "SCAN_DOCUMENT_AGE_VERIFICATION_FAILED",
346
403
  FACE_LIVENESS_FAILED = "FACE_LIVENESS_FAILED",
347
404
  FACE_NO_MATCH = "FACE_NO_MATCH",
348
- FACE_TIMEOUT = "FACE_TIMEOUT",
349
405
  FACE_RECOGNITION_TOO_MANY_ATTEMPTS = "FACE_RECOGNITION_TOO_MANY_ATTEMPTS",
406
+ MEDIA_VIRTUAL_CAMERA_DETECTED = "MEDIA_VIRTUAL_CAMERA_DETECTED",
407
+ WASM_NOT_SUPPORTED = "WASM_NOT_SUPPORTED",
408
+ VIDEO_PLAYS_INLINE_DISABLED = "VIDEO_PLAYS_INLINE_DISABLED",
409
+ // scan
410
+ SCAN_DOCUMENT_DARK_ENVIRONMENT_DETECTED = "SCAN_DOCUMENT_DARK_ENVIRONMENT_DETECTED",
411
+ SCAN_DOCUMENT_INCORRECT_DISTANCE_DETECTED = "SCAN_DOCUMENT_INCORRECT_DISTANCE_DETECTED",
412
+ SCAN_DOCUMENT_BLUR_DETECTED = "SCAN_DOCUMENT_BLUR_DETECTED",
413
+ SCAN_DOCUMENT_INCORRECT_TYPE_DETECTED = "SCAN_DOCUMENT_INCORRECT_TYPE_DETECTED",
414
+ SCAN_DOCUMENT_INCORRECT_SIDE_DETECTED = "SCAN_DOCUMENT_INCORRECT_SIDE_DETECTED",
415
+ SCAN_DOCUMENT_GLARE_DETECTED = "SCAN_DOCUMENT_GLARE_DETECTED",
416
+ SCAN_DOCUMENT_FINGER_DETECTED = "SCAN_DOCUMENT_FINGER_DETECTED",
417
+ SCAN_DOCUMENT_ID_PHOTO_BAD_QUALITY_DETECTED = "SCAN_DOCUMENT_ID_PHOTO_BAD_QUALITY_DETECTED",
418
+ SCAN_DOCUMENT_INCORRECT_POSITION_DETECTED = "SCAN_DOCUMENT_INCORRECT_POSITION_DETECTED",
419
+ // face
420
+ FACE_MULTIPLE_FACES_DETECTED = "FACE_MULTIPLE_FACES_DETECTED",
350
421
  FACE_INCORRECT_POSITION_DETECTED = "FACE_INCORRECT_POSITION_DETECTED",
351
- FACE_INCORRECT_DISTANCE_DETECTED = "FACE_INCORRECT_DISTANCE_DETECTED",
422
+ FACE_DARK_ENVIRONMENT_DETECTED = "FACE_DARK_ENVIRONMENT_DETECTED",
423
+ FACE_BLUR_DETECTED = "FACE_BLUR_DETECTED",
424
+ FACE_MOUTH_COVER_DETECTED = "FACE_MOUTH_COVER_DETECTED",
425
+ FACE_EYES_COVER_DETECTED = "FACE_EYES_COVER_DETECTED",
352
426
  FACE_EYES_CLOSED_DETECTED = "FACE_EYES_CLOSED_DETECTED",
353
- MEDIA_VIRTUAL_CAMERA_DETECTED = "MEDIA_VIRTUAL_CAMERA_DETECTED",
427
+ FACE_SPOTLIGHT_DETECTED = "FACE_SPOTLIGHT_DETECTED",
428
+ FACE_SHADOW_DETECTED = "FACE_SHADOW_DETECTED",
429
+ FACE_EYES_SHADOW_DETECTED = "FACE_EYES_SHADOW_DETECTED",
354
430
  }
355
431
 
356
432
  export type ITrace = {
433
+ deviceIdentifier: string;
357
434
  sessionId: string;
358
435
  category: TraceCategory;
359
436
  event: TraceEvent;