@privateid/ultrapass-web-sdk 1.2.0 → 1.3.1-1300478

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 (237) hide show
  1. package/README.md +75 -75
  2. package/dist/apiUtils.d.ts +46 -46
  3. package/dist/apiUtils.js +922 -921
  4. package/dist/apiUtils.js.map +1 -1
  5. package/dist/application/index.d.ts +7 -7
  6. package/dist/application/index.js +27 -25
  7. package/dist/application/index.js.map +1 -1
  8. package/dist/application/modules/core/document/DocumentService.d.ts +22 -22
  9. package/dist/application/modules/core/document/DocumentService.js +254 -254
  10. package/dist/application/modules/core/document/document.constants.d.ts +15 -15
  11. package/dist/application/modules/core/document/document.constants.js +21 -21
  12. package/dist/application/modules/core/document/document.domain.d.ts +7 -7
  13. package/dist/application/modules/core/document/document.domain.js +1 -1
  14. package/dist/application/modules/core/document/document.types.d.ts +17 -17
  15. package/dist/application/modules/core/document/document.types.js +1 -1
  16. package/dist/application/modules/core/document/document.utils.d.ts +3 -3
  17. package/dist/application/modules/core/document/document.utils.js +58 -58
  18. package/dist/application/modules/core/document/index.d.ts +3 -3
  19. package/dist/application/modules/core/document/index.js +1 -1
  20. package/dist/application/modules/core/face/FaceService.d.ts +33 -33
  21. package/dist/application/modules/core/face/FaceService.js +228 -221
  22. package/dist/application/modules/core/face/FaceService.js.map +1 -1
  23. package/dist/application/modules/core/face/face.constants.d.ts +53 -53
  24. package/dist/application/modules/core/face/face.constants.js +53 -53
  25. package/dist/application/modules/core/face/face.domain.d.ts +10 -10
  26. package/dist/application/modules/core/face/face.domain.js +1 -1
  27. package/dist/application/modules/core/face/face.types.d.ts +41 -38
  28. package/dist/application/modules/core/face/face.types.js +1 -1
  29. package/dist/application/modules/core/face/face.utils.d.ts +15 -15
  30. package/dist/application/modules/core/face/face.utils.js +101 -101
  31. package/dist/application/modules/core/face/index.d.ts +3 -3
  32. package/dist/application/modules/core/face/index.js +1 -1
  33. package/dist/application/modules/global/shared.constants.d.ts +2 -2
  34. package/dist/application/modules/global/shared.constants.js +2 -2
  35. package/dist/application/modules/global/shared.utils.d.ts +25 -25
  36. package/dist/application/modules/global/shared.utils.js +100 -100
  37. package/dist/application/modules/global/shared.utils.js.map +1 -1
  38. package/dist/application/modules/internal/feature-flag/LDFeatureFlagService.d.ts +9 -0
  39. package/dist/application/modules/internal/feature-flag/LDFeatureFlagService.js +32 -0
  40. package/dist/application/modules/internal/feature-flag/LDFeatureFlagService.js.map +1 -0
  41. package/dist/application/modules/internal/feature-flag/feature-flag-init.d.ts +11 -0
  42. package/dist/application/modules/internal/feature-flag/feature-flag-init.js +24 -0
  43. package/dist/application/modules/internal/feature-flag/feature-flag-init.js.map +1 -0
  44. package/dist/application/modules/internal/feature-flag/feature-flag.domain.d.ts +10 -0
  45. package/dist/application/modules/internal/feature-flag/feature-flag.domain.js +7 -0
  46. package/dist/application/modules/internal/feature-flag/feature-flag.domain.js.map +1 -0
  47. package/dist/application/modules/internal/feature-flag/featureFlagInit.d.ts +11 -0
  48. package/dist/application/modules/internal/feature-flag/featureFlagInit.js +44 -0
  49. package/dist/application/modules/internal/feature-flag/featureFlagInit.js.map +1 -0
  50. package/dist/application/modules/internal/feature-flag/index.d.ts +2 -0
  51. package/dist/application/modules/internal/feature-flag/index.js +3 -0
  52. package/dist/application/modules/internal/feature-flag/index.js.map +1 -0
  53. package/dist/application/modules/internal/shared/index.d.ts +2 -0
  54. package/dist/application/modules/internal/shared/index.js +3 -0
  55. package/dist/application/modules/internal/shared/index.js.map +1 -0
  56. package/dist/application/modules/internal/shared/shared.constants.d.ts +2 -0
  57. package/dist/application/modules/internal/shared/shared.constants.js +3 -0
  58. package/dist/application/modules/internal/shared/shared.constants.js.map +1 -0
  59. package/dist/application/modules/internal/shared/shared.utils.d.ts +44 -0
  60. package/dist/application/modules/internal/shared/shared.utils.js +204 -0
  61. package/dist/application/modules/internal/shared/shared.utils.js.map +1 -0
  62. package/dist/application/modules/internal/wasm-orchestrator/WasmOrchestratorService.d.ts +28 -0
  63. package/dist/application/modules/internal/wasm-orchestrator/WasmOrchestratorService.js +380 -0
  64. package/dist/application/modules/internal/wasm-orchestrator/WasmOrchestratorService.js.map +1 -0
  65. package/dist/application/modules/internal/wasm-orchestrator/index.d.ts +6 -0
  66. package/dist/application/modules/internal/wasm-orchestrator/index.js +9 -0
  67. package/dist/application/modules/internal/wasm-orchestrator/index.js.map +1 -0
  68. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.constants.d.ts +28 -0
  69. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.constants.js +35 -0
  70. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.constants.js.map +1 -0
  71. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.domain.d.ts +51 -0
  72. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.domain.js +2 -0
  73. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.domain.js.map +1 -0
  74. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.types.d.ts +142 -0
  75. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.types.js +2 -0
  76. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.types.js.map +1 -0
  77. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.utils.d.ts +86 -0
  78. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.utils.js +201 -0
  79. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.utils.js.map +1 -0
  80. package/dist/application/modules/support/camera/CameraServiceFactory.d.ts +10 -8
  81. package/dist/application/modules/support/camera/CameraServiceFactory.js +33 -32
  82. package/dist/application/modules/support/camera/CameraServiceFactory.js.map +1 -1
  83. package/dist/application/modules/support/camera/camera.constants.d.ts +9 -9
  84. package/dist/application/modules/support/camera/camera.constants.js +48 -48
  85. package/dist/application/modules/support/camera/camera.domain.d.ts +15 -15
  86. package/dist/application/modules/support/camera/camera.domain.js +1 -1
  87. package/dist/application/modules/support/camera/camera.types.d.ts +42 -42
  88. package/dist/application/modules/support/camera/camera.types.js +10 -10
  89. package/dist/application/modules/support/camera/camera.utils.d.ts +157 -157
  90. package/dist/application/modules/support/camera/camera.utils.js +623 -637
  91. package/dist/application/modules/support/camera/camera.utils.js.map +1 -1
  92. package/dist/application/modules/support/camera/index.d.ts +24 -25
  93. package/dist/application/modules/support/camera/index.js +27 -29
  94. package/dist/application/modules/support/camera/index.js.map +1 -1
  95. package/dist/application/modules/support/camera/services/BaseCameraService.d.ts +41 -37
  96. package/dist/application/modules/support/camera/services/BaseCameraService.js +278 -277
  97. package/dist/application/modules/support/camera/services/BaseCameraService.js.map +1 -1
  98. package/dist/application/modules/support/camera/services/DesktopCameraService.d.ts +5 -5
  99. package/dist/application/modules/support/camera/services/DesktopCameraService.js +46 -45
  100. package/dist/application/modules/support/camera/services/DesktopCameraService.js.map +1 -1
  101. package/dist/application/modules/support/camera/services/FirefoxCameraService.d.ts +5 -5
  102. package/dist/application/modules/support/camera/services/FirefoxCameraService.js +46 -45
  103. package/dist/application/modules/support/camera/services/FirefoxCameraService.js.map +1 -1
  104. package/dist/application/modules/support/camera/services/MacSafariCameraService.d.ts +5 -5
  105. package/dist/application/modules/support/camera/services/MacSafariCameraService.js +47 -46
  106. package/dist/application/modules/support/camera/services/MacSafariCameraService.js.map +1 -1
  107. package/dist/application/modules/support/camera/services/MobileCameraService.d.ts +5 -5
  108. package/dist/application/modules/support/camera/services/MobileCameraService.js +133 -129
  109. package/dist/application/modules/support/camera/services/MobileCameraService.js.map +1 -1
  110. package/dist/application/modules/support/engine/EngineService.d.ts +15 -0
  111. package/dist/application/modules/support/engine/EngineService.js +106 -0
  112. package/dist/application/modules/support/engine/EngineService.js.map +1 -0
  113. package/dist/application/modules/support/engine/engine.constants.d.ts +33 -0
  114. package/dist/application/modules/support/engine/engine.constants.js +35 -0
  115. package/dist/application/modules/support/engine/engine.constants.js.map +1 -0
  116. package/dist/application/modules/support/engine/engine.domain.d.ts +23 -0
  117. package/dist/application/modules/support/engine/engine.domain.js +2 -0
  118. package/dist/application/modules/support/engine/engine.domain.js.map +1 -0
  119. package/dist/application/modules/support/engine/engine.types.d.ts +32 -0
  120. package/dist/application/modules/support/engine/engine.types.js +2 -0
  121. package/dist/application/modules/support/engine/engine.types.js.map +1 -0
  122. package/dist/application/modules/support/engine/engine.utils.d.ts +65 -0
  123. package/dist/application/modules/support/engine/engine.utils.js +135 -0
  124. package/dist/application/modules/support/engine/engine.utils.js.map +1 -0
  125. package/dist/application/modules/support/engine/index.d.ts +3 -0
  126. package/dist/application/modules/support/engine/index.js +2 -0
  127. package/dist/application/modules/support/engine/index.js.map +1 -0
  128. package/dist/application/modules/support/permissions/PermissionsService.d.ts +55 -0
  129. package/dist/application/modules/support/permissions/PermissionsService.js +184 -0
  130. package/dist/application/modules/support/permissions/PermissionsService.js.map +1 -0
  131. package/dist/application/modules/support/permissions/index.d.ts +4 -0
  132. package/dist/application/modules/support/permissions/index.js +3 -0
  133. package/dist/application/modules/support/permissions/index.js.map +1 -0
  134. package/dist/application/modules/support/permissions/permission.utils.d.ts +6 -0
  135. package/dist/application/modules/support/permissions/permission.utils.js +34 -0
  136. package/dist/application/modules/support/permissions/permission.utils.js.map +1 -0
  137. package/dist/application/modules/support/permissions/permissions.domain.d.ts +6 -0
  138. package/dist/application/modules/support/permissions/permissions.domain.js +2 -0
  139. package/dist/application/modules/support/permissions/permissions.domain.js.map +1 -0
  140. package/dist/application/modules/support/permissions/permissions.types.d.ts +9 -0
  141. package/dist/application/modules/support/permissions/permissions.types.js +2 -0
  142. package/dist/application/modules/support/permissions/permissions.types.js.map +1 -0
  143. package/dist/application/modules/support/wasm/WasmService.d.ts +25 -25
  144. package/dist/application/modules/support/wasm/WasmService.js +156 -155
  145. package/dist/application/modules/support/wasm/WasmService.js.map +1 -1
  146. package/dist/application/modules/support/wasm/index.d.ts +6 -6
  147. package/dist/application/modules/support/wasm/index.js +8 -8
  148. package/dist/application/modules/support/wasm/wasm.constants.d.ts +78 -78
  149. package/dist/application/modules/support/wasm/wasm.constants.js +86 -86
  150. package/dist/application/modules/support/wasm/wasm.domain.d.ts +52 -52
  151. package/dist/application/modules/support/wasm/wasm.domain.js +1 -1
  152. package/dist/application/modules/support/wasm/wasm.types.d.ts +119 -118
  153. package/dist/application/modules/support/wasm/wasm.types.js +1 -1
  154. package/dist/application/modules/support/wasm/wasm.utils.d.ts +88 -88
  155. package/dist/application/modules/support/wasm/wasm.utils.js +243 -243
  156. package/dist/application/modules/support/wasm-orchestrator/WasmOrchestratorService.d.ts +28 -0
  157. package/dist/application/modules/support/wasm-orchestrator/WasmOrchestratorService.js +324 -0
  158. package/dist/application/modules/support/wasm-orchestrator/WasmOrchestratorService.js.map +1 -0
  159. package/dist/application/modules/support/wasm-orchestrator/index.d.ts +6 -0
  160. package/dist/application/modules/support/wasm-orchestrator/index.js +9 -0
  161. package/dist/application/modules/support/wasm-orchestrator/index.js.map +1 -0
  162. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.constants.d.ts +36 -0
  163. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.constants.js +44 -0
  164. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.constants.js.map +1 -0
  165. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.domain.d.ts +47 -0
  166. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.domain.js +2 -0
  167. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.domain.js.map +1 -0
  168. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.types.d.ts +136 -0
  169. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.types.js +2 -0
  170. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.types.js.map +1 -0
  171. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.utils.d.ts +91 -0
  172. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.utils.js +250 -0
  173. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.utils.js.map +1 -0
  174. package/dist/application/workers/index.d.ts +42 -42
  175. package/dist/application/workers/index.js +8 -8
  176. package/dist/application/workers/wasm/WasmWorkerService.d.ts +66 -0
  177. package/dist/application/workers/wasm/WasmWorkerService.js +801 -0
  178. package/dist/application/workers/wasm/WasmWorkerService.js.map +1 -0
  179. package/dist/application/workers/wasm/index.d.ts +4 -0
  180. package/dist/application/workers/wasm/index.js +9 -0
  181. package/dist/application/workers/wasm/index.js.map +1 -0
  182. package/dist/application/workers/wasm/wasm-worker.constants.d.ts +5 -0
  183. package/dist/application/workers/wasm/wasm-worker.constants.js +6 -0
  184. package/dist/application/workers/wasm/wasm-worker.constants.js.map +1 -0
  185. package/dist/application/workers/wasm/wasm-worker.domain.d.ts +99 -0
  186. package/dist/application/workers/wasm/wasm-worker.domain.js +2 -0
  187. package/dist/application/workers/wasm/wasm-worker.domain.js.map +1 -0
  188. package/dist/application/workers/wasm/wasm-worker.types.d.ts +88 -0
  189. package/dist/application/workers/wasm/wasm-worker.types.js +2 -0
  190. package/dist/application/workers/wasm/wasm-worker.types.js.map +1 -0
  191. package/dist/application/workers/wasm/wasm-worker.utils.d.ts +10 -0
  192. package/dist/application/workers/wasm/wasm-worker.utils.js +130 -0
  193. package/dist/application/workers/wasm/wasm-worker.utils.js.map +1 -0
  194. package/dist/buildConfig.d.ts +3 -0
  195. package/dist/buildConfig.js +7 -0
  196. package/dist/buildConfig.js.map +1 -0
  197. package/dist/cameraUtils.d.ts +77 -77
  198. package/dist/cameraUtils.js +361 -360
  199. package/dist/cameraUtils.js.map +1 -1
  200. package/dist/constants.d.ts +9 -9
  201. package/dist/constants.js +13 -12
  202. package/dist/constants.js.map +1 -1
  203. package/dist/createCallback.d.ts +56 -56
  204. package/dist/createCallback.js +332 -330
  205. package/dist/createCallback.js.map +1 -1
  206. package/dist/dbUtils.d.ts +14 -14
  207. package/dist/dbUtils.js +148 -147
  208. package/dist/dbUtils.js.map +1 -1
  209. package/dist/envUtils.d.ts +4 -4
  210. package/dist/envUtils.js +16 -15
  211. package/dist/envUtils.js.map +1 -1
  212. package/dist/faceModule.d.ts +196 -196
  213. package/dist/faceModule.js +978 -981
  214. package/dist/faceModule.js.map +1 -1
  215. package/dist/featureFlagInit.d.ts +11 -0
  216. package/dist/featureFlagInit.js +44 -0
  217. package/dist/featureFlagInit.js.map +1 -0
  218. package/dist/index.d.ts +38 -38
  219. package/dist/index.js +82 -82
  220. package/dist/main.d.ts +30 -13
  221. package/dist/main.js +84 -51
  222. package/dist/main.js.map +1 -1
  223. package/dist/types.d.ts +139 -139
  224. package/dist/types.js +77 -77
  225. package/dist/utils.d.ts +84 -84
  226. package/dist/utils.js +580 -579
  227. package/dist/utils.js.map +1 -1
  228. package/package.json +102 -102
  229. package/wasm/ultra/nosimd/{25.11.13-1357710 → 26.01.08-1300478}/privid_fhe_uber.js +18 -18
  230. package/wasm/ultra/nosimd/{25.11.13-1357710 → 26.01.08-1300478}/privid_fhe_uber.wasm +0 -0
  231. package/wasm/ultra/nosimd/version.json +2 -2
  232. package/wasm/ultra/simd/{25.11.13-1357710 → 26.01.08-1300478}/privid_fhe_uber.js +18 -18
  233. package/wasm/ultra/simd/{25.11.13-1357710 → 26.01.08-1300478}/privid_fhe_uber.wasm +0 -0
  234. package/wasm/ultra/simd/version.json +2 -2
  235. package/workers/comlink.min.js +7 -7
  236. package/workers/comlink.min.js.map +1 -1
  237. package/workers/wasm.worker.js +936 -924
@@ -0,0 +1,28 @@
1
+ import { WasmOrchestrator } from './wasm-orchestrator.domain';
2
+ import { WasmLoadResult, WasmModuleParams, EncryptionResult, WasmResultCallback, CompareEmbeddingsParams, ScanFrontPhotoIdParams, ScanPassportParams, ScanBackPhotoIdParams } from './wasm-orchestrator.types';
3
+ import { FeatureFlagProvider } from '../../internal/feature-flag';
4
+ export declare class WasmOrchestratorService implements WasmOrchestrator {
5
+ private workerFunctions;
6
+ private isInitialized;
7
+ private hasSimdSupport;
8
+ private wasmWorkerService?;
9
+ private wasmWorkerServiceInitialized;
10
+ private featureFlagService;
11
+ constructor(featureFlagService: FeatureFlagProvider);
12
+ /**
13
+ * Lazy initialization of logger - creates logger only when first needed
14
+ */
15
+ private getWasmWorkerService;
16
+ initialize(): Promise<void>;
17
+ loadModule(options: WasmModuleParams): Promise<WasmLoadResult>;
18
+ checkIfModelsLoaded: () => Promise<boolean>;
19
+ enroll(imageData: ImageData, config: string, callback: WasmResultCallback, onAntiSpoofProgress?: any): Promise<boolean>;
20
+ predict: (images: ImageData[], isSimd: boolean, config: string, callback: WasmResultCallback, onAntiSpoofProgress?: (...args: unknown[]) => void, onWasmCroppingCallback?: (base64Image: string) => void) => Promise<any>;
21
+ estimateAge: (images: ImageData[], isSimd: boolean, config: string, callback: WasmResultCallback, onAntiSpoofProgress?: (...args: unknown[]) => void, onWasmCroppingCallback?: (base64Image: string) => void) => Promise<boolean>;
22
+ compareEmbeddings: (params: CompareEmbeddingsParams) => Promise<boolean>;
23
+ scanFrontPhotoIdDocument: (params: ScanFrontPhotoIdParams) => Promise<boolean>;
24
+ scanBackPhotoIdDocument: (params: ScanBackPhotoIdParams) => Promise<boolean>;
25
+ scanPassport: (params: ScanPassportParams) => Promise<boolean>;
26
+ extractDocumentOCR: (imageData: ImageData | string, config: string, callback: WasmResultCallback) => Promise<boolean>;
27
+ pkiEncrypt: (payload: any) => Promise<EncryptionResult>;
28
+ }
@@ -0,0 +1,324 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ /* eslint-disable lines-between-class-members */
11
+ /* eslint-disable import/prefer-default-export */
12
+ import { proxy } from 'comlink';
13
+ import { checkBrowserCompatibility, checkLoadSimdBuild, checkSimdSupport, createCallbackError, handleCacheContent, } from './wasm-orchestrator.utils';
14
+ import { getDebugType, printLogs } from '../../global/shared.utils';
15
+ import { WasmWorkerService } from '../../../workers/wasm';
16
+ import { isLoad, ultraEnroll, ultraPredict, pkiEncrypt, ultraScanBackDocument, ultraScanFrontDocument, ultraCompareEmbeddings, ultraAgeEstimate, ultraDocumentOcr, freeMemory, } from '../../../../utils';
17
+ import { FeatureFlagKey } from '../../internal/feature-flag';
18
+ export class WasmOrchestratorService {
19
+ constructor(featureFlagService) {
20
+ this.isInitialized = false;
21
+ this.hasSimdSupport = false;
22
+ this.wasmWorkerServiceInitialized = false;
23
+ this.checkIfModelsLoaded = () => __awaiter(this, void 0, void 0, function* () {
24
+ try {
25
+ printLogs('[WasmOrchestratorService] checkIfModelsLoaded', '');
26
+ const wasmWorker = yield this.getWasmWorkerService();
27
+ const areModelsLoaded = yield wasmWorker.checkModelsAreLoaded();
28
+ printLogs('[WasmOrchestratorService] checkIfModelsLoaded areModelsLodaded', areModelsLoaded);
29
+ return areModelsLoaded;
30
+ }
31
+ catch (error) {
32
+ return false;
33
+ }
34
+ });
35
+ this.predict = (images, isSimd, config, callback, onAntiSpoofProgress, onWasmCroppingCallback) => __awaiter(this, void 0, void 0, function* () {
36
+ var _a;
37
+ if (!((_a = this.workerFunctions) === null || _a === void 0 ? void 0 : _a.ultraPredict)) {
38
+ throw new Error('[WasmOrchestratorService] WASM worker not initialized');
39
+ }
40
+ try {
41
+ printLogs('[WasmOrchestratorService] predict config', config);
42
+ printLogs('[WasmOrchestratorService] onAntiSpoofProgress received:', onAntiSpoofProgress ? 'YES ✅' : 'NO ❌');
43
+ printLogs('[WasmService] onWasmCroppingCallback received:', onWasmCroppingCallback ? 'YES ✅' : 'NO ❌');
44
+ const isNewWebWorkerRefactoringEnabled = this.featureFlagService.evaluateFlag(FeatureFlagKey.FaceServiceWebWorker);
45
+ if (isNewWebWorkerRefactoringEnabled) {
46
+ printLogs('[WasmOrchestratorService] predict using New Web Worker', '');
47
+ const wasmWorker = yield this.getWasmWorkerService();
48
+ return wasmWorker.ultraPredict({
49
+ originalImages: images,
50
+ simd: isSimd,
51
+ config,
52
+ }, callback);
53
+ }
54
+ printLogs('[WasmOrchestratorService] predict using Legacy Web Worker', '');
55
+ return this.workerFunctions.ultraPredict(images, isSimd, config, callback, onAntiSpoofProgress, onWasmCroppingCallback);
56
+ }
57
+ catch (error) {
58
+ printLogs('[WasmOrchestratorService] predict error:', error, 'ERROR');
59
+ return false;
60
+ }
61
+ });
62
+ this.estimateAge = (images, isSimd, config, callback, onAntiSpoofProgress, onWasmCroppingCallback) => __awaiter(this, void 0, void 0, function* () {
63
+ var _b;
64
+ if (!((_b = this.workerFunctions) === null || _b === void 0 ? void 0 : _b.ultraAgeEstimate)) {
65
+ throw new Error('[WasmOrchestratorService] WASM worker not initialized');
66
+ }
67
+ try {
68
+ printLogs('[WasmOrchestratorService] estimateAge config', config);
69
+ printLogs('[WasmOrchestratorService] onAntiSpoofProgress received:', onAntiSpoofProgress ? 'YES ✅' : 'NO ❌');
70
+ printLogs('[WasmService] onWasmCroppingCallback received:', onWasmCroppingCallback ? 'YES ✅' : 'NO ❌');
71
+ const isNewWebWorkerRefactoringEnabled = this.featureFlagService.evaluateFlag(FeatureFlagKey.FaceServiceWebWorker);
72
+ if (isNewWebWorkerRefactoringEnabled) {
73
+ printLogs('[WasmOrchestratorService] estimateAge using New Web Worker', '');
74
+ const wasmWorker = yield this.getWasmWorkerService();
75
+ return wasmWorker.ultraAgeEstimate({
76
+ originalImages: images,
77
+ simd: isSimd,
78
+ config,
79
+ }, callback, onAntiSpoofProgress, onWasmCroppingCallback);
80
+ }
81
+ printLogs('[WasmOrchestratorService] estimateAge using Legacy Web Worker', '');
82
+ return this.workerFunctions.ultraAgeEstimate(images, isSimd, config, callback, onAntiSpoofProgress, onWasmCroppingCallback);
83
+ }
84
+ catch (error) {
85
+ printLogs('[WasmOrchestratorService] estimateAge error:', error, 'ERROR');
86
+ return false;
87
+ }
88
+ });
89
+ this.compareEmbeddings = (params) => __awaiter(this, void 0, void 0, function* () {
90
+ var _c;
91
+ if (!((_c = this.workerFunctions) === null || _c === void 0 ? void 0 : _c.ultraCompareEmbeddings)) {
92
+ throw new Error('[WasmOrchestratorService] WASM worker not initialized');
93
+ }
94
+ try {
95
+ printLogs('[WasmOrchestratorService] compareEmbeddings config', params.config);
96
+ const isNewWebWorkerRefactoringEnabled = this.featureFlagService.evaluateFlag(FeatureFlagKey.DocumentServiceWebWorker);
97
+ if (isNewWebWorkerRefactoringEnabled) {
98
+ printLogs('[WasmOrchestratorService] compareEmbeddings using New Web Worker', '');
99
+ const wasmWorker = yield this.getWasmWorkerService();
100
+ const proxiedResultCallback = proxy(params.callback);
101
+ return wasmWorker.ultraCompareEmbeddings({
102
+ encryptedEmbeddingsA: params.documentEmbeddings,
103
+ encryptedEmbeddingsB: params.enrollEmbeddings,
104
+ config: JSON.stringify(params.config),
105
+ }, proxiedResultCallback);
106
+ }
107
+ printLogs('[WasmOrchestratorService] compareEmbeddings using Legacy Web Worker', '');
108
+ return this.workerFunctions.ultraCompareEmbeddings(params.documentEmbeddings, params.enrollEmbeddings, JSON.stringify(params.config), params.callback);
109
+ }
110
+ catch (error) {
111
+ printLogs('[WasmOrchestratorService] compareEmbeddings error:', error, 'ERROR');
112
+ return false;
113
+ }
114
+ });
115
+ this.scanFrontPhotoIdDocument = (params) => __awaiter(this, void 0, void 0, function* () {
116
+ var _d;
117
+ if (!((_d = this.workerFunctions) === null || _d === void 0 ? void 0 : _d.ultraScanFrontDocument)) {
118
+ throw new Error('[WasmOrchestratorService] WASM worker not initialized');
119
+ }
120
+ try {
121
+ printLogs('[WasmOrchestratorService] scanFrontPhotoIdDocument config', params.config);
122
+ const isNewWebWorkerRefactoringEnabled = this.featureFlagService.evaluateFlag(FeatureFlagKey.DocumentServiceWebWorker);
123
+ if (isNewWebWorkerRefactoringEnabled) {
124
+ printLogs('[WasmOrchestratorService] scanFrontPhotoIdDocument using New Web Worker', '');
125
+ const wasmWorker = yield this.getWasmWorkerService();
126
+ return wasmWorker.ultraScanFrontDocument({
127
+ imageInput: params.imageData,
128
+ simd: this.hasSimdSupport,
129
+ config: params.config,
130
+ }, params.callback);
131
+ }
132
+ printLogs('[WasmOrchestratorService] scanFrontPhotoIdDocument using Legacy Web Worker', '');
133
+ return this.workerFunctions.ultraScanFrontDocument(params.imageData, this.hasSimdSupport, params.config, params.callback);
134
+ }
135
+ catch (error) {
136
+ printLogs('[WasmOrchestratorService] scanFrontPhotoIdDocument error:', error, 'ERROR');
137
+ return false;
138
+ }
139
+ });
140
+ this.scanBackPhotoIdDocument = (params) => __awaiter(this, void 0, void 0, function* () {
141
+ try {
142
+ printLogs('[WasmOrchestratorService] scanBackPhotoIdDocument config', params.config);
143
+ const isNewWebWorkerRefactoringEnabled = this.featureFlagService.evaluateFlag(FeatureFlagKey.DocumentServiceWebWorker);
144
+ if (isNewWebWorkerRefactoringEnabled) {
145
+ printLogs('[WasmOrchestratorService] scanBackPhotoIdDocument using New Web Worker', '');
146
+ const wasmWorker = yield this.getWasmWorkerService();
147
+ return wasmWorker.ultraScanBackDocument({
148
+ imageInput: params.imageData,
149
+ simd: params.isSimd,
150
+ config: params.config,
151
+ }, params.callback);
152
+ }
153
+ printLogs('[WasmOrchestratorService] scanBackPhotoIdDocument using Legacy Web Worker', '');
154
+ return this.workerFunctions.ultraScanBackDocument(params.imageData, params.isSimd, params.config, params.callback);
155
+ }
156
+ catch (error) {
157
+ printLogs('[WasmOrchestratorService] scanBackPhotoIdDocument error:', error, 'ERROR');
158
+ return false;
159
+ }
160
+ });
161
+ this.scanPassport = (params) => __awaiter(this, void 0, void 0, function* () {
162
+ try {
163
+ printLogs('[WasmOrchestratorService] scanPassport config', params.config);
164
+ const isNewWebWorkerRefactoringEnabled = this.featureFlagService.evaluateFlag(FeatureFlagKey.DocumentServiceWebWorker);
165
+ if (isNewWebWorkerRefactoringEnabled) {
166
+ printLogs('[WasmOrchestratorService] scanPassport using New Web Worker', '');
167
+ const wasmWorker = yield this.getWasmWorkerService();
168
+ return wasmWorker.ultraScanFrontDocument({
169
+ imageInput: params.imageData,
170
+ simd: this.hasSimdSupport,
171
+ config: params.config,
172
+ }, params.callback);
173
+ }
174
+ printLogs('[WasmOrchestratorService] scanPassport using Legacy Web Worker', '');
175
+ return this.workerFunctions.ultraScanFrontDocument(params.imageData, this.hasSimdSupport, params.config, params.callback);
176
+ }
177
+ catch (error) {
178
+ printLogs('[WasmOrchestratorService] scanPassport error:', error, 'ERROR');
179
+ return false;
180
+ }
181
+ });
182
+ this.extractDocumentOCR = (imageData, config, callback) => __awaiter(this, void 0, void 0, function* () {
183
+ try {
184
+ printLogs('[WasmOrchestratorService] extractDocumentOCR config', config);
185
+ const isNewWebWorkerRefactoringEnabled = this.featureFlagService.evaluateFlag(FeatureFlagKey.DocumentServiceWebWorker);
186
+ if (isNewWebWorkerRefactoringEnabled) {
187
+ printLogs('[WasmOrchestratorService] extractDocumentOCR using New Web Worker', '');
188
+ const wasmWorker = yield this.getWasmWorkerService();
189
+ return wasmWorker.ultraDocumentOcr({
190
+ imageInput: imageData,
191
+ config,
192
+ }, callback);
193
+ }
194
+ printLogs('[WasmOrchestratorService] extractDocumentOCR using Legacy Web Worker', '');
195
+ return this.workerFunctions.ultraDocumentOcr(imageData, config, callback);
196
+ }
197
+ catch (error) {
198
+ printLogs('[WasmOrchestratorService] extractDocumentOCR error:', error, 'ERROR');
199
+ return false;
200
+ }
201
+ });
202
+ this.pkiEncrypt = (payload) => __awaiter(this, void 0, void 0, function* () {
203
+ var _e;
204
+ if (!((_e = this.workerFunctions) === null || _e === void 0 ? void 0 : _e.pkiEncrypt)) {
205
+ throw new Error('[WasmOrchestratorService] WASM worker not initialized');
206
+ }
207
+ return this.workerFunctions.pkiEncrypt(payload);
208
+ });
209
+ // TODO: Bring worker functions to this service.
210
+ this.workerFunctions = {
211
+ isLoad,
212
+ ultraPredict,
213
+ pkiEncrypt,
214
+ ultraScanBackDocument,
215
+ ultraScanFrontDocument,
216
+ ultraCompareEmbeddings,
217
+ ultraDocumentOcr,
218
+ freeMemory,
219
+ ultraEnroll,
220
+ ultraAgeEstimate,
221
+ };
222
+ this.featureFlagService = featureFlagService;
223
+ }
224
+ /**
225
+ * Lazy initialization of logger - creates logger only when first needed
226
+ */
227
+ getWasmWorkerService() {
228
+ return __awaiter(this, void 0, void 0, function* () {
229
+ if (!this.wasmWorkerServiceInitialized) {
230
+ this.wasmWorkerService = yield new WasmWorkerService();
231
+ this.wasmWorkerServiceInitialized = true;
232
+ }
233
+ if (!this.wasmWorkerService) {
234
+ throw new Error('[WasmOrchestratorService] Failed to initialize WasmWorkerService');
235
+ }
236
+ return this.wasmWorkerService;
237
+ });
238
+ }
239
+ initialize() {
240
+ return __awaiter(this, void 0, void 0, function* () {
241
+ this.hasSimdSupport = yield checkSimdSupport();
242
+ });
243
+ }
244
+ // TODO: consider `loadModule` to be called within the initialize method
245
+ loadModule(options) {
246
+ var _a, _b, _c;
247
+ return __awaiter(this, void 0, void 0, function* () {
248
+ const compatibility = checkBrowserCompatibility();
249
+ if (!compatibility.support) {
250
+ return compatibility;
251
+ }
252
+ const cacheContent = yield handleCacheContent();
253
+ const shouldLoadSimdBuild = yield checkLoadSimdBuild();
254
+ const wasmErrorCallback = proxy(createCallbackError({ callback: options.wasmFailureCallback }));
255
+ try {
256
+ if (!((_a = this.workerFunctions) === null || _a === void 0 ? void 0 : _a.isLoad)) {
257
+ const message = '[WasmOrchestratorService] WASM worker not initialized - isLoad function not available';
258
+ printLogs('[WasmOrchestratorService]', message, 'ERROR');
259
+ return { support: false, message };
260
+ }
261
+ const loaded = yield this.workerFunctions.isLoad(options.skipSimdCheck ? false : shouldLoadSimdBuild, options.apiUrl, options.sessionToken, options.publicKey, getDebugType(), true, options.timeout, (_b = options.useCdn) !== null && _b !== void 0 ? _b : true, options.shouldRegenerateSession || false, wasmErrorCallback, options.usageScenario || '', cacheContent);
262
+ try {
263
+ const wasmWorker = yield this.getWasmWorkerService();
264
+ // Remove non-cloneable data (functions) before passing to worker
265
+ // Functions cannot be cloned and will cause an error when passed to the worker via Comlink as an object property
266
+ const loadedNew = yield wasmWorker.loadModules({
267
+ simd: options.skipSimdCheck ? false : shouldLoadSimdBuild,
268
+ apiUrl: options.apiUrl,
269
+ sessionToken: options.sessionToken,
270
+ publicKey: options.publicKey,
271
+ debugType: getDebugType(),
272
+ cacheConfig: true,
273
+ useCdn: (_c = options.useCdn) !== null && _c !== void 0 ? _c : true,
274
+ shouldRegenerateSession: options.shouldRegenerateSession || false,
275
+ usageScenario: options.usageScenario || '',
276
+ cacheContent,
277
+ }, wasmErrorCallback);
278
+ printLogs('[WasmOrchestratorService] loadModuleNew', loadedNew);
279
+ }
280
+ catch (error) {
281
+ console.error('[WasmOrchestratorService] WasmWorkerService error:', error);
282
+ }
283
+ this.isInitialized = true;
284
+ printLogs('[WasmOrchestratorService] loadModule', loaded);
285
+ return { support: true };
286
+ }
287
+ catch (error) {
288
+ return {
289
+ support: false,
290
+ message: `Failed to load WASM module: ${error.message}`,
291
+ };
292
+ }
293
+ });
294
+ }
295
+ enroll(imageData, config, callback, onAntiSpoofProgress) {
296
+ var _a;
297
+ return __awaiter(this, void 0, void 0, function* () {
298
+ if (!((_a = this.workerFunctions) === null || _a === void 0 ? void 0 : _a.ultraEnroll)) {
299
+ throw new Error('[WasmOrchestratorService] WASM worker not initialized');
300
+ }
301
+ try {
302
+ printLogs('[WasmOrchestratorService] enroll config', config);
303
+ printLogs('[WasmOrchestratorService] onAntiSpoofProgress received:', onAntiSpoofProgress ? 'YES ✅' : 'NO ❌');
304
+ const isNewWebWorkerRefactoringEnabled = this.featureFlagService.evaluateFlag(FeatureFlagKey.FaceServiceWebWorker);
305
+ if (isNewWebWorkerRefactoringEnabled) {
306
+ printLogs('[WasmOrchestratorService] enroll using New Web Worker', '');
307
+ const wasmWorker = yield this.getWasmWorkerService();
308
+ return wasmWorker.ultraEnroll({
309
+ imageData,
310
+ simd: this.hasSimdSupport,
311
+ config,
312
+ }, callback, onAntiSpoofProgress);
313
+ }
314
+ printLogs('[WasmOrchestratorService] enroll using Legacy Web Worker', '');
315
+ return this.workerFunctions.ultraEnroll(imageData, this.hasSimdSupport, config, callback, onAntiSpoofProgress);
316
+ }
317
+ catch (error) {
318
+ printLogs('[WasmOrchestratorService] enroll error:', error, 'ERROR');
319
+ return false;
320
+ }
321
+ });
322
+ }
323
+ }
324
+ //# sourceMappingURL=WasmOrchestratorService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WasmOrchestratorService.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/wasm-orchestrator/WasmOrchestratorService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export { WasmOrchestratorService } from './WasmOrchestratorService';
2
+ export type { WasmOrchestrator } from './wasm-orchestrator.domain';
3
+ export type { WasmLoadResult, WasmModuleParams, EnrollConfig, PredictConfig, DocumentScanConfig, DocumentOcrConfig, AgeEstimationConfig, CompareEmbeddingsConfig, WasmCallbackResult, WasmResultCallback, EncryptionResult, CompareEmbeddingsParams, } from './wasm-orchestrator.types';
4
+ export { WASM_DATABASE_NAME, WASM_DATABASE_VERSION, DEFAULT_ENROLL_CONFIG, DEFAULT_PREDICT_CONFIG, DEFAULT_AGE_ESTIMATION_CONFIG, DEFAULT_DOCUMENT_SCAN_CONFIG, DEFAULT_DOCUMENT_OCR_CONFIG, DEBUG_TYPES_WITH_IMAGES, BROWSER_COMPATIBILITY_MESSAGES, } from './wasm-orchestrator.constants';
5
+ export { checkBrowserCompatibility, shouldEnableSimd, getDefaultEnrollConfig, getMobileEnrollConfig, getEnrollConfig, getDefaultPredictConfig, getPredictConfig, getDefaultAgeEstimationConfig, getAgeEstimationConfig, getDefaultDocumentScanConfig, getDocumentScanConfig, getDefaultDocumentOcrConfig, getDocumentOcrConfig, configToJson, shouldCreateDebugImages, getWasmWorkerUrl, isMobilePlatform, printWasmLogs, createWasmDebugImages, } from './wasm-orchestrator.utils';
6
+ export { getIsSIMD } from '../../global/shared.utils';
@@ -0,0 +1,9 @@
1
+ // Main WASM Orchestrator service
2
+ export { WasmOrchestratorService } from './WasmOrchestratorService';
3
+ // Constants
4
+ export { WASM_DATABASE_NAME, WASM_DATABASE_VERSION, DEFAULT_ENROLL_CONFIG, DEFAULT_PREDICT_CONFIG, DEFAULT_AGE_ESTIMATION_CONFIG, DEFAULT_DOCUMENT_SCAN_CONFIG, DEFAULT_DOCUMENT_OCR_CONFIG, DEBUG_TYPES_WITH_IMAGES, BROWSER_COMPATIBILITY_MESSAGES, } from './wasm-orchestrator.constants';
5
+ // Utilities
6
+ export { checkBrowserCompatibility, shouldEnableSimd, getDefaultEnrollConfig, getMobileEnrollConfig, getEnrollConfig, getDefaultPredictConfig, getPredictConfig, getDefaultAgeEstimationConfig, getAgeEstimationConfig, getDefaultDocumentScanConfig, getDocumentScanConfig, getDefaultDocumentOcrConfig, getDocumentOcrConfig, configToJson, shouldCreateDebugImages, getWasmWorkerUrl, isMobilePlatform, printWasmLogs, createWasmDebugImages, } from './wasm-orchestrator.utils';
7
+ // Re-export shared utilities
8
+ export { getIsSIMD } from '../../global/shared.utils';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/wasm-orchestrator/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAqBpE,YAAY;AACZ,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,EAC7B,4BAA4B,EAC5B,2BAA2B,EAC3B,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,+BAA+B,CAAC;AAEvC,YAAY;AACZ,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,6BAA6B,EAC7B,sBAAsB,EACtB,4BAA4B,EAC5B,qBAAqB,EACrB,2BAA2B,EAC3B,oBAAoB,EACpB,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AAEnC,6BAA6B;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,36 @@
1
+ export declare const WASM_DATABASE_NAME = "/privid-wasm";
2
+ export declare const WASM_DATABASE_VERSION = 21;
3
+ export declare const SAFARI_MIN_VERSION_FOR_SIMD = 16;
4
+ export declare const SAFARI_MIN_SUBVERSION_FOR_SIMD = 4;
5
+ export declare const DEFAULT_ENROLL_CONFIG: {
6
+ readonly input_image_format: "rgba";
7
+ readonly allow_only_one_face: true;
8
+ };
9
+ export declare const DEFAULT_PREDICT_CONFIG: {
10
+ input_image_format: string;
11
+ url_name_override: string;
12
+ };
13
+ export declare const DEFAULT_AGE_ESTIMATION_CONFIG: {
14
+ readonly allow_only_one_face: false;
15
+ };
16
+ export declare const DEFAULT_DOCUMENT_SCAN_CONFIG: {
17
+ readonly input_image_format: "rgba";
18
+ readonly fingers_over_document_threshold: 0.2;
19
+ };
20
+ export declare const DEFAULT_DOCUMENT_OCR_CONFIG: {
21
+ readonly input_image_format: "rgba";
22
+ readonly calculate_age_from_ocr_text: true;
23
+ readonly threshold_doc_x: 0;
24
+ readonly threshold_doc_y: 0;
25
+ readonly threshold_doc_too_close: 0.99;
26
+ readonly threshold_doc_too_far: 0.1;
27
+ };
28
+ export declare const DEBUG_TYPES_WITH_IMAGES: readonly ["900", "901", "902", "903"];
29
+ export declare const BROWSER_COMPATIBILITY_MESSAGES: {
30
+ readonly OPERA_MOBILE_NOT_SUPPORTED: "Opera mobile version 72 and below is not support WASM";
31
+ readonly OPERA_NOT_SUPPORTED: "Opera version 43 and below is not support WASM";
32
+ readonly CHROME_NOT_SUPPORTED: "Chrome version 57 and below is not support WASM";
33
+ readonly FIREFOX_NOT_SUPPORTED: "Firefox version 52 and below is not support WASM";
34
+ readonly ANDROID_BROWSER_NOT_SUPPORTED: "Android Browser version 96 and below is not supported.";
35
+ readonly UNABLE_TO_LOAD_WASM: "Unable to load wasm";
36
+ };
@@ -0,0 +1,44 @@
1
+ export const WASM_DATABASE_NAME = '/privid-wasm';
2
+ export const WASM_DATABASE_VERSION = 21;
3
+ export const SAFARI_MIN_VERSION_FOR_SIMD = 16;
4
+ export const SAFARI_MIN_SUBVERSION_FOR_SIMD = 4;
5
+ // Default configuration values for face enrollment
6
+ export const DEFAULT_ENROLL_CONFIG = {
7
+ input_image_format: 'rgba',
8
+ allow_only_one_face: true,
9
+ };
10
+ // Default configuration values for face prediction
11
+ export const DEFAULT_PREDICT_CONFIG = {
12
+ input_image_format: 'rgba',
13
+ url_name_override: '',
14
+ };
15
+ // Default configuration for age estimation
16
+ export const DEFAULT_AGE_ESTIMATION_CONFIG = {
17
+ allow_only_one_face: false,
18
+ };
19
+ // Default configuration for document scanning
20
+ export const DEFAULT_DOCUMENT_SCAN_CONFIG = {
21
+ input_image_format: 'rgba',
22
+ fingers_over_document_threshold: 0.2,
23
+ };
24
+ // Default configuration for document OCR
25
+ export const DEFAULT_DOCUMENT_OCR_CONFIG = {
26
+ input_image_format: 'rgba',
27
+ calculate_age_from_ocr_text: true,
28
+ threshold_doc_x: 0.0,
29
+ threshold_doc_y: 0.0,
30
+ threshold_doc_too_close: 0.99,
31
+ threshold_doc_too_far: 0.1,
32
+ };
33
+ // Debug types that enable image creation
34
+ export const DEBUG_TYPES_WITH_IMAGES = ['900', '901', '902', '903'];
35
+ // Browser compatibility messages
36
+ export const BROWSER_COMPATIBILITY_MESSAGES = {
37
+ OPERA_MOBILE_NOT_SUPPORTED: 'Opera mobile version 72 and below is not support WASM',
38
+ OPERA_NOT_SUPPORTED: 'Opera version 43 and below is not support WASM',
39
+ CHROME_NOT_SUPPORTED: 'Chrome version 57 and below is not support WASM',
40
+ FIREFOX_NOT_SUPPORTED: 'Firefox version 52 and below is not support WASM',
41
+ ANDROID_BROWSER_NOT_SUPPORTED: 'Android Browser version 96 and below is not supported.',
42
+ UNABLE_TO_LOAD_WASM: 'Unable to load wasm',
43
+ };
44
+ //# sourceMappingURL=wasm-orchestrator.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasm-orchestrator.constants.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/wasm-orchestrator/wasm-orchestrator.constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAC9C,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAEhD,mDAAmD;AACnD,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,kBAAkB,EAAE,MAAM;IAC1B,mBAAmB,EAAE,IAAI;CACjB,CAAC;AAEX,mDAAmD;AACnD,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,kBAAkB,EAAE,MAAM;IAC1B,iBAAiB,EAAE,EAAE;CACtB,CAAC;AAEF,2CAA2C;AAC3C,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,mBAAmB,EAAE,KAAK;CAClB,CAAC;AAEX,8CAA8C;AAC9C,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,kBAAkB,EAAE,MAAM;IAC1B,+BAA+B,EAAE,GAAG;CAC5B,CAAC;AAEX,yCAAyC;AACzC,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,kBAAkB,EAAE,MAAM;IAC1B,2BAA2B,EAAE,IAAI;IACjC,eAAe,EAAE,GAAG;IACpB,eAAe,EAAE,GAAG;IACpB,uBAAuB,EAAE,IAAI;IAC7B,qBAAqB,EAAE,GAAG;CAClB,CAAC;AAEX,yCAAyC;AACzC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AAE7E,iCAAiC;AACjC,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,0BAA0B,EAAE,uDAAuD;IACnF,mBAAmB,EAAE,gDAAgD;IACrE,oBAAoB,EAAE,iDAAiD;IACvE,qBAAqB,EAAE,kDAAkD;IACzE,6BAA6B,EAAE,wDAAwD;IACvF,mBAAmB,EAAE,qBAAqB;CAClC,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { WasmLoadResult, WasmModuleParams, EncryptionResult, CompareEmbeddingsParams, ScanFrontPhotoIdParams, ScanPassportParams, ScanBackPhotoIdParams } from './wasm-orchestrator.types';
2
+ export interface WasmOrchestrator {
3
+ /**
4
+ * Load the WASM module with the given options
5
+ */
6
+ loadModule(options: WasmModuleParams): Promise<WasmLoadResult>;
7
+ /**
8
+ * Check if WASM models are loaded
9
+ */
10
+ checkIfModelsLoaded(isEnroll: boolean): Promise<boolean>;
11
+ /**
12
+ * Face enrollment
13
+ */
14
+ enroll(imageData: ImageData, config: string, callback: any, onAntiSpoofProgress?: any): Promise<any>;
15
+ /**
16
+ * Face prediction/verification
17
+ */
18
+ predict(images: ImageData[], isSimd: boolean, config: string, callback: any): Promise<boolean>;
19
+ /**
20
+ * Age estimation
21
+ */
22
+ estimateAge(images: ImageData[], isSimd: boolean, config: string, callback: any): Promise<boolean>;
23
+ /**
24
+ * Compare face and document embeddings
25
+ */
26
+ compareEmbeddings(params: CompareEmbeddingsParams): Promise<boolean>;
27
+ /**
28
+ * Scan front of government photo id document
29
+ */
30
+ scanFrontPhotoIdDocument(params: ScanFrontPhotoIdParams): Promise<boolean>;
31
+ /**
32
+ * Scan back photo id document
33
+ */
34
+ scanBackPhotoIdDocument(params: ScanBackPhotoIdParams): Promise<boolean>;
35
+ /**
36
+ * Scan front of passport document
37
+ */
38
+ scanPassport(params: ScanPassportParams): Promise<boolean>;
39
+ /**
40
+ * Extract Document OCR
41
+ */
42
+ extractDocumentOCR(imageData: ImageData | string, config: string, callback: any): Promise<boolean>;
43
+ /**
44
+ * PKI encryption
45
+ */
46
+ pkiEncrypt(payload: any): Promise<EncryptionResult>;
47
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wasm-orchestrator.domain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasm-orchestrator.domain.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/wasm-orchestrator/wasm-orchestrator.domain.ts"],"names":[],"mappings":""}