@privateid/ultrapass-web-sdk 1.3.1 → 1.3.2-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.
- package/README.md +75 -75
- package/dist/apiUtils.d.ts +46 -46
- package/dist/apiUtils.js +922 -922
- package/dist/application/index.d.ts +7 -7
- package/dist/application/index.js +27 -27
- package/dist/application/modules/core/document/DocumentService.d.ts +22 -22
- package/dist/application/modules/core/document/DocumentService.js +254 -254
- package/dist/application/modules/core/document/document.constants.d.ts +15 -15
- package/dist/application/modules/core/document/document.constants.js +21 -21
- package/dist/application/modules/core/document/document.domain.d.ts +7 -7
- package/dist/application/modules/core/document/document.domain.js +1 -1
- package/dist/application/modules/core/document/document.types.d.ts +17 -17
- package/dist/application/modules/core/document/document.types.js +1 -1
- package/dist/application/modules/core/document/document.utils.d.ts +3 -3
- package/dist/application/modules/core/document/document.utils.js +58 -58
- package/dist/application/modules/core/document/index.d.ts +3 -3
- package/dist/application/modules/core/document/index.js +1 -1
- package/dist/application/modules/core/face/FaceService.d.ts +33 -33
- package/dist/application/modules/core/face/FaceService.js +228 -221
- package/dist/application/modules/core/face/FaceService.js.map +1 -1
- package/dist/application/modules/core/face/face.constants.d.ts +53 -53
- package/dist/application/modules/core/face/face.constants.js +53 -53
- package/dist/application/modules/core/face/face.domain.d.ts +10 -10
- package/dist/application/modules/core/face/face.domain.js +1 -1
- package/dist/application/modules/core/face/face.types.d.ts +41 -38
- package/dist/application/modules/core/face/face.types.js +1 -1
- package/dist/application/modules/core/face/face.utils.d.ts +15 -15
- package/dist/application/modules/core/face/face.utils.js +101 -101
- package/dist/application/modules/core/face/index.d.ts +3 -3
- package/dist/application/modules/core/face/index.js +1 -1
- package/dist/application/modules/global/shared.constants.d.ts +2 -2
- package/dist/application/modules/global/shared.constants.js +2 -2
- package/dist/application/modules/global/shared.utils.d.ts +25 -25
- package/dist/application/modules/global/shared.utils.js +100 -100
- package/dist/application/modules/global/shared.utils.js.map +1 -1
- package/dist/application/modules/internal/feature-flag/LDFeatureFlagService.d.ts +9 -0
- package/dist/application/modules/internal/feature-flag/LDFeatureFlagService.js +32 -0
- package/dist/application/modules/internal/feature-flag/LDFeatureFlagService.js.map +1 -0
- package/dist/application/modules/internal/feature-flag/feature-flag-init.d.ts +11 -0
- package/dist/application/modules/internal/feature-flag/feature-flag-init.js +24 -0
- package/dist/application/modules/internal/feature-flag/feature-flag-init.js.map +1 -0
- package/dist/application/modules/internal/feature-flag/feature-flag.domain.d.ts +10 -0
- package/dist/application/modules/internal/feature-flag/feature-flag.domain.js +7 -0
- package/dist/application/modules/internal/feature-flag/feature-flag.domain.js.map +1 -0
- package/dist/application/modules/internal/feature-flag/featureFlagInit.d.ts +11 -0
- package/dist/application/modules/internal/feature-flag/featureFlagInit.js +44 -0
- package/dist/application/modules/internal/feature-flag/featureFlagInit.js.map +1 -0
- package/dist/application/modules/internal/feature-flag/index.d.ts +2 -0
- package/dist/application/modules/internal/feature-flag/index.js +3 -0
- package/dist/application/modules/internal/feature-flag/index.js.map +1 -0
- package/dist/application/modules/internal/shared/index.d.ts +2 -0
- package/dist/application/modules/internal/shared/index.js +3 -0
- package/dist/application/modules/internal/shared/index.js.map +1 -0
- package/dist/application/modules/internal/shared/shared.constants.d.ts +2 -0
- package/dist/application/modules/internal/shared/shared.constants.js +3 -0
- package/dist/application/modules/internal/shared/shared.constants.js.map +1 -0
- package/dist/application/modules/internal/shared/shared.utils.d.ts +44 -0
- package/dist/application/modules/internal/shared/shared.utils.js +204 -0
- package/dist/application/modules/internal/shared/shared.utils.js.map +1 -0
- package/dist/application/modules/internal/wasm-orchestrator/WasmOrchestratorService.d.ts +28 -0
- package/dist/application/modules/internal/wasm-orchestrator/WasmOrchestratorService.js +380 -0
- package/dist/application/modules/internal/wasm-orchestrator/WasmOrchestratorService.js.map +1 -0
- package/dist/application/modules/internal/wasm-orchestrator/index.d.ts +6 -0
- package/dist/application/modules/internal/wasm-orchestrator/index.js +9 -0
- package/dist/application/modules/internal/wasm-orchestrator/index.js.map +1 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.constants.d.ts +28 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.constants.js +35 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.constants.js.map +1 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.domain.d.ts +51 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.domain.js +2 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.domain.js.map +1 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.types.d.ts +142 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.types.js +2 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.types.js.map +1 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.utils.d.ts +86 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.utils.js +201 -0
- package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.utils.js.map +1 -0
- package/dist/application/modules/support/camera/CameraServiceFactory.d.ts +10 -10
- package/dist/application/modules/support/camera/CameraServiceFactory.js +33 -33
- package/dist/application/modules/support/camera/CameraServiceFactory.js.map +1 -1
- package/dist/application/modules/support/camera/camera.constants.d.ts +9 -9
- package/dist/application/modules/support/camera/camera.constants.js +48 -48
- package/dist/application/modules/support/camera/camera.domain.d.ts +15 -15
- package/dist/application/modules/support/camera/camera.domain.js +1 -1
- package/dist/application/modules/support/camera/camera.types.d.ts +42 -42
- package/dist/application/modules/support/camera/camera.types.js +10 -10
- package/dist/application/modules/support/camera/camera.utils.d.ts +157 -157
- package/dist/application/modules/support/camera/camera.utils.js +623 -623
- package/dist/application/modules/support/camera/index.d.ts +24 -24
- package/dist/application/modules/support/camera/index.js +27 -27
- package/dist/application/modules/support/camera/services/BaseCameraService.d.ts +41 -41
- package/dist/application/modules/support/camera/services/BaseCameraService.js +278 -278
- package/dist/application/modules/support/camera/services/DesktopCameraService.d.ts +5 -5
- package/dist/application/modules/support/camera/services/DesktopCameraService.js +46 -46
- package/dist/application/modules/support/camera/services/FirefoxCameraService.d.ts +5 -5
- package/dist/application/modules/support/camera/services/FirefoxCameraService.js +46 -46
- package/dist/application/modules/support/camera/services/MacSafariCameraService.d.ts +5 -5
- package/dist/application/modules/support/camera/services/MacSafariCameraService.js +47 -47
- package/dist/application/modules/support/camera/services/MobileCameraService.d.ts +5 -5
- package/dist/application/modules/support/camera/services/MobileCameraService.js +133 -133
- package/dist/application/modules/support/engine/EngineService.d.ts +15 -0
- package/dist/application/modules/support/engine/EngineService.js +106 -0
- package/dist/application/modules/support/engine/EngineService.js.map +1 -0
- package/dist/application/modules/support/engine/engine.constants.d.ts +33 -0
- package/dist/application/modules/support/engine/engine.constants.js +35 -0
- package/dist/application/modules/support/engine/engine.constants.js.map +1 -0
- package/dist/application/modules/support/engine/engine.domain.d.ts +23 -0
- package/dist/application/modules/support/engine/engine.domain.js +2 -0
- package/dist/application/modules/support/engine/engine.domain.js.map +1 -0
- package/dist/application/modules/support/engine/engine.types.d.ts +32 -0
- package/dist/application/modules/support/engine/engine.types.js +2 -0
- package/dist/application/modules/support/engine/engine.types.js.map +1 -0
- package/dist/application/modules/support/engine/engine.utils.d.ts +65 -0
- package/dist/application/modules/support/engine/engine.utils.js +135 -0
- package/dist/application/modules/support/engine/engine.utils.js.map +1 -0
- package/dist/application/modules/support/engine/index.d.ts +3 -0
- package/dist/application/modules/support/engine/index.js +2 -0
- package/dist/application/modules/support/engine/index.js.map +1 -0
- package/dist/application/modules/support/permissions/PermissionsService.d.ts +55 -55
- package/dist/application/modules/support/permissions/PermissionsService.js +183 -183
- package/dist/application/modules/support/permissions/index.d.ts +4 -4
- package/dist/application/modules/support/permissions/index.js +2 -2
- package/dist/application/modules/support/permissions/permission.utils.d.ts +6 -6
- package/dist/application/modules/support/permissions/permission.utils.js +33 -33
- package/dist/application/modules/support/permissions/permissions.domain.d.ts +6 -6
- package/dist/application/modules/support/permissions/permissions.domain.js +1 -1
- package/dist/application/modules/support/permissions/permissions.types.d.ts +9 -9
- package/dist/application/modules/support/permissions/permissions.types.js +1 -1
- package/dist/application/modules/support/wasm/WasmService.d.ts +25 -25
- package/dist/application/modules/support/wasm/WasmService.js +156 -155
- package/dist/application/modules/support/wasm/WasmService.js.map +1 -1
- package/dist/application/modules/support/wasm/index.d.ts +6 -6
- package/dist/application/modules/support/wasm/index.js +8 -8
- package/dist/application/modules/support/wasm/wasm.constants.d.ts +78 -78
- package/dist/application/modules/support/wasm/wasm.constants.js +86 -86
- package/dist/application/modules/support/wasm/wasm.domain.d.ts +52 -52
- package/dist/application/modules/support/wasm/wasm.domain.js +1 -1
- package/dist/application/modules/support/wasm/wasm.types.d.ts +119 -118
- package/dist/application/modules/support/wasm/wasm.types.js +1 -1
- package/dist/application/modules/support/wasm/wasm.utils.d.ts +88 -88
- package/dist/application/modules/support/wasm/wasm.utils.js +243 -243
- package/dist/application/modules/support/wasm-orchestrator/WasmOrchestratorService.d.ts +28 -0
- package/dist/application/modules/support/wasm-orchestrator/WasmOrchestratorService.js +324 -0
- package/dist/application/modules/support/wasm-orchestrator/WasmOrchestratorService.js.map +1 -0
- package/dist/application/modules/support/wasm-orchestrator/index.d.ts +6 -0
- package/dist/application/modules/support/wasm-orchestrator/index.js +9 -0
- package/dist/application/modules/support/wasm-orchestrator/index.js.map +1 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.constants.d.ts +36 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.constants.js +44 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.constants.js.map +1 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.domain.d.ts +47 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.domain.js +2 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.domain.js.map +1 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.types.d.ts +136 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.types.js +2 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.types.js.map +1 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.utils.d.ts +91 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.utils.js +250 -0
- package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.utils.js.map +1 -0
- package/dist/application/workers/index.d.ts +42 -42
- package/dist/application/workers/index.js +8 -8
- package/dist/application/workers/wasm/WasmWorkerService.d.ts +66 -0
- package/dist/application/workers/wasm/WasmWorkerService.js +801 -0
- package/dist/application/workers/wasm/WasmWorkerService.js.map +1 -0
- package/dist/application/workers/wasm/index.d.ts +4 -0
- package/dist/application/workers/wasm/index.js +9 -0
- package/dist/application/workers/wasm/index.js.map +1 -0
- package/dist/application/workers/wasm/wasm-worker.constants.d.ts +5 -0
- package/dist/application/workers/wasm/wasm-worker.constants.js +6 -0
- package/dist/application/workers/wasm/wasm-worker.constants.js.map +1 -0
- package/dist/application/workers/wasm/wasm-worker.domain.d.ts +99 -0
- package/dist/application/workers/wasm/wasm-worker.domain.js +2 -0
- package/dist/application/workers/wasm/wasm-worker.domain.js.map +1 -0
- package/dist/application/workers/wasm/wasm-worker.types.d.ts +88 -0
- package/dist/application/workers/wasm/wasm-worker.types.js +2 -0
- package/dist/application/workers/wasm/wasm-worker.types.js.map +1 -0
- package/dist/application/workers/wasm/wasm-worker.utils.d.ts +10 -0
- package/dist/application/workers/wasm/wasm-worker.utils.js +130 -0
- package/dist/application/workers/wasm/wasm-worker.utils.js.map +1 -0
- package/dist/buildConfig.d.ts +3 -0
- package/dist/buildConfig.js +7 -0
- package/dist/buildConfig.js.map +1 -0
- package/dist/cameraUtils.d.ts +77 -77
- package/dist/cameraUtils.js +361 -361
- package/dist/constants.d.ts +9 -9
- package/dist/constants.js +13 -13
- package/dist/createCallback.d.ts +56 -56
- package/dist/createCallback.js +332 -331
- package/dist/createCallback.js.map +1 -1
- package/dist/dbUtils.d.ts +14 -14
- package/dist/dbUtils.js +148 -148
- package/dist/envUtils.d.ts +4 -4
- package/dist/envUtils.js +16 -16
- package/dist/faceModule.d.ts +196 -196
- package/dist/faceModule.js +978 -978
- package/dist/featureFlagInit.d.ts +11 -0
- package/dist/featureFlagInit.js +44 -0
- package/dist/featureFlagInit.js.map +1 -0
- package/dist/index.d.ts +38 -38
- package/dist/index.js +82 -82
- package/dist/main.d.ts +30 -30
- package/dist/main.js +84 -84
- package/dist/types.d.ts +139 -139
- package/dist/types.js +77 -77
- package/dist/utils.d.ts +84 -84
- package/dist/utils.js +580 -580
- package/package.json +102 -102
- package/wasm/ultra/nosimd/{25.11.13-1357710 → 26.01.08-1300478}/privid_fhe_uber.js +18 -18
- package/wasm/ultra/nosimd/{25.11.13-1357710 → 26.01.08-1300478}/privid_fhe_uber.wasm +0 -0
- package/wasm/ultra/nosimd/version.json +2 -2
- package/wasm/ultra/simd/{25.11.13-1357710 → 26.01.08-1300478}/privid_fhe_uber.js +18 -18
- package/wasm/ultra/simd/{25.11.13-1357710 → 26.01.08-1300478}/privid_fhe_uber.wasm +0 -0
- package/wasm/ultra/simd/version.json +2 -2
- package/workers/comlink.min.js +7 -7
- package/workers/comlink.min.js.map +1 -1
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"wasm-orchestrator.domain.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/wasm-orchestrator/wasm-orchestrator.domain.ts"],"names":[],"mappings":""}
|