@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,6 @@
|
|
|
1
|
+
export { WasmOrchestratorService } from './WasmOrchestratorService';
|
|
2
|
+
export type { WasmOrchestrator } from './wasm-orchestrator.domain';
|
|
3
|
+
export type { WasmLoadResult, EnrollConfig, PredictConfig, DocumentScanConfig, DocumentOcrConfig, AgeEstimationConfig, CompareEmbeddingsConfig, WasmCallbackResult, WasmResultCallback, EncryptionResult, } 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, } from './wasm-orchestrator.constants';
|
|
5
|
+
export { 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 '../../internal/shared/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, } from './wasm-orchestrator.constants';
|
|
5
|
+
// Utilities
|
|
6
|
+
export { 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 '../../internal/shared/shared.utils';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/application/modules/internal/wasm-orchestrator/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAmBpE,YAAY;AACZ,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,EAC7B,4BAA4B,EAC5B,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,+BAA+B,CAAC;AAEvC,YAAY;AACZ,OAAO,EACL,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,oCAAoC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
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"];
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
//# sourceMappingURL=wasm-orchestrator.constants.js.map
|
package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.constants.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasm-orchestrator.constants.js","sourceRoot":"","sources":["../../../../../src/application/modules/internal/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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { WasmLoadResult, WasmLoadModuleParams, 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: WasmLoadModuleParams): Promise<WasmLoadResult>;
|
|
7
|
+
/**
|
|
8
|
+
* Check if WASM models are loaded
|
|
9
|
+
*/
|
|
10
|
+
checkIfModelsLoaded(): 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
|
+
/**
|
|
48
|
+
* Free WASM memory
|
|
49
|
+
*/
|
|
50
|
+
freeWasmMemory(): Promise<boolean>;
|
|
51
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasm-orchestrator.domain.js","sourceRoot":"","sources":["../../../../../src/application/modules/internal/wasm-orchestrator/wasm-orchestrator.domain.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
export type WasmLoadResult = {
|
|
2
|
+
support: boolean;
|
|
3
|
+
message?: string;
|
|
4
|
+
};
|
|
5
|
+
type ApiUrl = {
|
|
6
|
+
collections: {
|
|
7
|
+
default: {
|
|
8
|
+
named_urls: {
|
|
9
|
+
base_url: string;
|
|
10
|
+
predict?: string;
|
|
11
|
+
enroll?: string;
|
|
12
|
+
validate_api_key?: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export type WasmLoadModuleParams = {
|
|
18
|
+
apiUrl: ApiUrl;
|
|
19
|
+
sessionToken: string;
|
|
20
|
+
publicKey: string;
|
|
21
|
+
timeout?: number;
|
|
22
|
+
useCdn?: boolean;
|
|
23
|
+
usageScenario?: string;
|
|
24
|
+
shouldRegenerateSession?: boolean;
|
|
25
|
+
wasmFailureCallback?: (result: any) => void;
|
|
26
|
+
skipSimdCheck?: boolean;
|
|
27
|
+
cacheContent?: string;
|
|
28
|
+
};
|
|
29
|
+
export type EnrollConfig = {
|
|
30
|
+
input_image_format: string;
|
|
31
|
+
angle_rotation_left_threshold: number;
|
|
32
|
+
angle_rotation_right_threshold: number;
|
|
33
|
+
threshold_high_vertical_enroll: number;
|
|
34
|
+
threshold_down_vertical_enroll: number;
|
|
35
|
+
anti_spoofing_threshold: number;
|
|
36
|
+
threshold_profile_enroll: number;
|
|
37
|
+
blur_threshold_enroll_pred: number;
|
|
38
|
+
threshold_user_too_close: number;
|
|
39
|
+
threshold_user_too_far: number;
|
|
40
|
+
allow_only_one_face: boolean;
|
|
41
|
+
threshold_user_up: number;
|
|
42
|
+
threshold_user_down: number;
|
|
43
|
+
threshold_user_left: number;
|
|
44
|
+
threshold_user_right: number;
|
|
45
|
+
};
|
|
46
|
+
export type PredictConfig = {
|
|
47
|
+
input_image_format: string;
|
|
48
|
+
angle_rotation_left_threshold: number;
|
|
49
|
+
angle_rotation_right_threshold: number;
|
|
50
|
+
anti_spoofing_threshold: number;
|
|
51
|
+
threshold_profile_predict: number;
|
|
52
|
+
blur_threshold_enroll_pred: number;
|
|
53
|
+
threshold_user_too_close: number;
|
|
54
|
+
threshold_user_too_far: number;
|
|
55
|
+
threshold_user_up: number;
|
|
56
|
+
threshold_user_down: number;
|
|
57
|
+
threshold_user_left: number;
|
|
58
|
+
threshold_user_right: number;
|
|
59
|
+
threshold_high_vertical_predict: number;
|
|
60
|
+
threshold_down_vertical_predict: number;
|
|
61
|
+
url_name_override: string;
|
|
62
|
+
disallowed_results: number[];
|
|
63
|
+
disable_predict_mf: boolean;
|
|
64
|
+
mf_count_override: number;
|
|
65
|
+
};
|
|
66
|
+
export type DocumentScanConfig = {
|
|
67
|
+
input_image_format: string;
|
|
68
|
+
fingers_over_document_threshold?: number;
|
|
69
|
+
document_scan_barcode_only?: boolean;
|
|
70
|
+
detect_barcode_without_parsing?: boolean;
|
|
71
|
+
detect_document_only?: boolean;
|
|
72
|
+
};
|
|
73
|
+
export type DocumentOcrConfig = {
|
|
74
|
+
input_image_format: string;
|
|
75
|
+
calculate_age_from_ocr_text: boolean;
|
|
76
|
+
threshold_doc_x: number;
|
|
77
|
+
threshold_doc_y: number;
|
|
78
|
+
threshold_doc_too_close: number;
|
|
79
|
+
threshold_doc_too_far: number;
|
|
80
|
+
};
|
|
81
|
+
export type AgeEstimationConfig = {
|
|
82
|
+
anti_spoofing_threshold: number;
|
|
83
|
+
mf_count_override: number;
|
|
84
|
+
disable_estimate_age_mf: boolean;
|
|
85
|
+
threshold_user_too_close: number;
|
|
86
|
+
threshold_profile_enroll: number;
|
|
87
|
+
threshold_user_too_far: number;
|
|
88
|
+
allow_only_one_face: boolean;
|
|
89
|
+
};
|
|
90
|
+
export type CompareEmbeddingsConfig = {
|
|
91
|
+
encrypt_compare_result?: boolean;
|
|
92
|
+
};
|
|
93
|
+
export type WasmCallbackResult = {
|
|
94
|
+
operation: string;
|
|
95
|
+
id: string;
|
|
96
|
+
response_str: any;
|
|
97
|
+
};
|
|
98
|
+
export type WasmResultCallback = (operation: string, id: string, response_str: any) => void;
|
|
99
|
+
export type EncryptionResult = {
|
|
100
|
+
encryptedKey: string;
|
|
101
|
+
iv: string;
|
|
102
|
+
gcmAad: string;
|
|
103
|
+
gcmTag: string;
|
|
104
|
+
encrptedMessage: string;
|
|
105
|
+
call_status: Record<string, unknown>;
|
|
106
|
+
operation_result?: {
|
|
107
|
+
request?: Array<string | null>;
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
export type WorkerFunctions = {
|
|
111
|
+
isLoad: (simd: boolean, url: any, sessionToken: string, publicKey: string, debugType: string, cacheConfig: boolean, timeout: number | null, useCdn: boolean, shouldRegenerateSession?: boolean, wasmFailureCallback?: any, usageScenario?: string, cacheContent?: string) => Promise<string>;
|
|
112
|
+
ultraPredict: any;
|
|
113
|
+
ultraEnroll: any;
|
|
114
|
+
ultraAgeEstimate: any;
|
|
115
|
+
pkiEncrypt: any;
|
|
116
|
+
freeMemory: any;
|
|
117
|
+
ultraCompareEmbeddings: any;
|
|
118
|
+
ultraScanFrontDocument: any;
|
|
119
|
+
ultraScanBackDocument: any;
|
|
120
|
+
ultraDocumentOcr: any;
|
|
121
|
+
checkIfModelsLoaded: any;
|
|
122
|
+
};
|
|
123
|
+
export type CompareEmbeddingsParams = {
|
|
124
|
+
documentEmbeddings: string;
|
|
125
|
+
enrollEmbeddings: string;
|
|
126
|
+
config: Record<string, unknown>;
|
|
127
|
+
callback: WasmResultCallback;
|
|
128
|
+
encryptCompareResult?: boolean;
|
|
129
|
+
};
|
|
130
|
+
export type ScanFrontPhotoIdParams = {
|
|
131
|
+
imageData: ImageData;
|
|
132
|
+
config: string;
|
|
133
|
+
callback: WasmResultCallback;
|
|
134
|
+
};
|
|
135
|
+
export type ScanPassportParams = ScanFrontPhotoIdParams;
|
|
136
|
+
export type ScanBackPhotoIdParams = {
|
|
137
|
+
imageData: ImageData;
|
|
138
|
+
isSimd: boolean;
|
|
139
|
+
config: string;
|
|
140
|
+
callback: WasmResultCallback;
|
|
141
|
+
};
|
|
142
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasm-orchestrator.types.js","sourceRoot":"","sources":["../../../../../src/application/modules/internal/wasm-orchestrator/wasm-orchestrator.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { EnrollConfig, PredictConfig, AgeEstimationConfig, DocumentScanConfig, DocumentOcrConfig } from './wasm-orchestrator.types';
|
|
2
|
+
/**
|
|
3
|
+
* Determine if SIMD should be enabled based on browser and OS
|
|
4
|
+
*/
|
|
5
|
+
export declare function shouldEnableSimd(): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Get default enrollment configuration
|
|
8
|
+
*/
|
|
9
|
+
export declare function getDefaultEnrollConfig(): Partial<EnrollConfig>;
|
|
10
|
+
/**
|
|
11
|
+
* Get enrollment configuration optimized for mobile
|
|
12
|
+
*/
|
|
13
|
+
export declare function getMobileEnrollConfig(): Partial<EnrollConfig>;
|
|
14
|
+
/**
|
|
15
|
+
* Get enrollment configuration with user overrides
|
|
16
|
+
*/
|
|
17
|
+
export declare function getEnrollConfig(userConfig?: Partial<EnrollConfig>, isMobile?: boolean): Partial<EnrollConfig>;
|
|
18
|
+
/**
|
|
19
|
+
* Get default prediction configuration
|
|
20
|
+
*/
|
|
21
|
+
export declare function getDefaultPredictConfig(): Partial<PredictConfig>;
|
|
22
|
+
/**
|
|
23
|
+
* Get prediction configuration with user overrides
|
|
24
|
+
*/
|
|
25
|
+
export declare function getPredictConfig(userConfig?: Partial<PredictConfig>): Partial<PredictConfig>;
|
|
26
|
+
/**
|
|
27
|
+
* Get default age estimation configuration
|
|
28
|
+
*/
|
|
29
|
+
export declare function getDefaultAgeEstimationConfig(): Partial<AgeEstimationConfig>;
|
|
30
|
+
/**
|
|
31
|
+
* Get age estimation configuration with user overrides
|
|
32
|
+
*/
|
|
33
|
+
export declare function getAgeEstimationConfig(userConfig?: Partial<AgeEstimationConfig>): Partial<AgeEstimationConfig>;
|
|
34
|
+
/**
|
|
35
|
+
* Get default document scan configuration
|
|
36
|
+
*/
|
|
37
|
+
export declare function getDefaultDocumentScanConfig(): DocumentScanConfig;
|
|
38
|
+
/**
|
|
39
|
+
* Get document scan configuration with user overrides
|
|
40
|
+
*/
|
|
41
|
+
export declare function getDocumentScanConfig(userConfig?: Partial<DocumentScanConfig>): DocumentScanConfig;
|
|
42
|
+
/**
|
|
43
|
+
* Get default document OCR configuration
|
|
44
|
+
*/
|
|
45
|
+
export declare function getDefaultDocumentOcrConfig(): DocumentOcrConfig;
|
|
46
|
+
/**
|
|
47
|
+
* Get document OCR configuration with user overrides
|
|
48
|
+
*/
|
|
49
|
+
export declare function getDocumentOcrConfig(userConfig?: Partial<DocumentOcrConfig>): DocumentOcrConfig;
|
|
50
|
+
/**
|
|
51
|
+
* Convert configuration object to JSON string
|
|
52
|
+
*/
|
|
53
|
+
export declare function configToJson(config: any): string;
|
|
54
|
+
/**
|
|
55
|
+
* Check if debug type enables image creation
|
|
56
|
+
*/
|
|
57
|
+
export declare function shouldCreateDebugImages(debugType: string): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Generate worker URL for WASM
|
|
60
|
+
*/
|
|
61
|
+
export declare function getWasmWorkerUrl(): string;
|
|
62
|
+
/**
|
|
63
|
+
* Check if current platform is mobile for mobile-specific configurations
|
|
64
|
+
*/
|
|
65
|
+
export declare function isMobilePlatform(): boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Print WASM-specific logs (wrapper around shared printLogs)
|
|
68
|
+
*/
|
|
69
|
+
export declare function printWasmLogs(message: string, data?: any, type?: 'LOG' | 'WARN' | 'ERROR'): void;
|
|
70
|
+
/**
|
|
71
|
+
* Create debug images for WASM operations
|
|
72
|
+
*/
|
|
73
|
+
export declare function createWasmDebugImages(images: ImageData[], title: string, operation: string): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Get URL parameter
|
|
76
|
+
*/
|
|
77
|
+
export declare function getUrlParameter(sParam: string, defaultValue: string): string;
|
|
78
|
+
export declare function checkLoadSimdBuild(): Promise<boolean>;
|
|
79
|
+
/**
|
|
80
|
+
* Get SIMD support status
|
|
81
|
+
*/
|
|
82
|
+
export declare function checkSimdSupport(): Promise<boolean>;
|
|
83
|
+
export declare function checkSimdSupportForSafariVersion(version: string): boolean;
|
|
84
|
+
export declare function createCallbackError({ callback }: {
|
|
85
|
+
callback: any;
|
|
86
|
+
}): (errorCode: any) => void;
|
|
@@ -0,0 +1,201 @@
|
|
|
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
|
+
import { detect } from 'detect-browser';
|
|
11
|
+
import { simd } from 'wasm-feature-detect';
|
|
12
|
+
import { DEFAULT_ENROLL_CONFIG, DEFAULT_PREDICT_CONFIG, DEFAULT_AGE_ESTIMATION_CONFIG, DEFAULT_DOCUMENT_SCAN_CONFIG, DEFAULT_DOCUMENT_OCR_CONFIG, SAFARI_MIN_VERSION_FOR_SIMD, SAFARI_MIN_SUBVERSION_FOR_SIMD, } from './wasm-orchestrator.constants';
|
|
13
|
+
import { iOS, isMobileDevice, printLogs, getDebugType, imageDataToBase64 } from '../../internal/shared/shared.utils';
|
|
14
|
+
/**
|
|
15
|
+
* Determine if SIMD should be enabled based on browser and OS
|
|
16
|
+
*/
|
|
17
|
+
export function shouldEnableSimd() {
|
|
18
|
+
const { name: browserName, os } = detect();
|
|
19
|
+
if (iOS() || os === 'iOS' || (os === 'Mac OS' && browserName !== 'chrome')) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Get default enrollment configuration
|
|
26
|
+
*/
|
|
27
|
+
export function getDefaultEnrollConfig() {
|
|
28
|
+
return Object.assign({}, DEFAULT_ENROLL_CONFIG);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Get enrollment configuration optimized for mobile
|
|
32
|
+
*/
|
|
33
|
+
export function getMobileEnrollConfig() {
|
|
34
|
+
return Object.assign({}, DEFAULT_ENROLL_CONFIG);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get enrollment configuration with user overrides
|
|
38
|
+
*/
|
|
39
|
+
export function getEnrollConfig(userConfig, isMobile = false) {
|
|
40
|
+
const baseConfig = isMobile ? getMobileEnrollConfig() : getDefaultEnrollConfig();
|
|
41
|
+
return Object.assign(Object.assign({}, baseConfig), userConfig);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Get default prediction configuration
|
|
45
|
+
*/
|
|
46
|
+
export function getDefaultPredictConfig() {
|
|
47
|
+
return Object.assign({}, DEFAULT_PREDICT_CONFIG);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get prediction configuration with user overrides
|
|
51
|
+
*/
|
|
52
|
+
export function getPredictConfig(userConfig) {
|
|
53
|
+
return Object.assign(Object.assign({}, DEFAULT_PREDICT_CONFIG), userConfig);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Get default age estimation configuration
|
|
57
|
+
*/
|
|
58
|
+
export function getDefaultAgeEstimationConfig() {
|
|
59
|
+
return Object.assign({}, DEFAULT_AGE_ESTIMATION_CONFIG);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Get age estimation configuration with user overrides
|
|
63
|
+
*/
|
|
64
|
+
export function getAgeEstimationConfig(userConfig) {
|
|
65
|
+
return Object.assign(Object.assign({}, DEFAULT_AGE_ESTIMATION_CONFIG), userConfig);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Get default document scan configuration
|
|
69
|
+
*/
|
|
70
|
+
export function getDefaultDocumentScanConfig() {
|
|
71
|
+
return Object.assign({}, DEFAULT_DOCUMENT_SCAN_CONFIG);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Get document scan configuration with user overrides
|
|
75
|
+
*/
|
|
76
|
+
export function getDocumentScanConfig(userConfig) {
|
|
77
|
+
return Object.assign(Object.assign({}, DEFAULT_DOCUMENT_SCAN_CONFIG), userConfig);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get default document OCR configuration
|
|
81
|
+
*/
|
|
82
|
+
export function getDefaultDocumentOcrConfig() {
|
|
83
|
+
return Object.assign({}, DEFAULT_DOCUMENT_OCR_CONFIG);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Get document OCR configuration with user overrides
|
|
87
|
+
*/
|
|
88
|
+
export function getDocumentOcrConfig(userConfig) {
|
|
89
|
+
return Object.assign(Object.assign({}, DEFAULT_DOCUMENT_OCR_CONFIG), userConfig);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Convert configuration object to JSON string
|
|
93
|
+
*/
|
|
94
|
+
export function configToJson(config) {
|
|
95
|
+
return JSON.stringify(config);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Check if debug type enables image creation
|
|
99
|
+
*/
|
|
100
|
+
export function shouldCreateDebugImages(debugType) {
|
|
101
|
+
return ['900', '901', '902', '903'].includes(debugType);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Generate worker URL for WASM
|
|
105
|
+
*/
|
|
106
|
+
export function getWasmWorkerUrl() {
|
|
107
|
+
var _a;
|
|
108
|
+
const windowOrigin = (_a = window === null || window === void 0 ? void 0 : window.location) === null || _a === void 0 ? void 0 : _a.origin;
|
|
109
|
+
return `${windowOrigin}/workers/wasm.worker.js`;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Check if current platform is mobile for mobile-specific configurations
|
|
113
|
+
*/
|
|
114
|
+
export function isMobilePlatform() {
|
|
115
|
+
return isMobileDevice();
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Print WASM-specific logs (wrapper around shared printLogs)
|
|
119
|
+
*/
|
|
120
|
+
export function printWasmLogs(message, data = '', type = 'LOG') {
|
|
121
|
+
printLogs(`WASM: ${message}`, data, type);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Create debug images for WASM operations
|
|
125
|
+
*/
|
|
126
|
+
export function createWasmDebugImages(images, title, operation) {
|
|
127
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
128
|
+
const debugType = getDebugType();
|
|
129
|
+
if (!shouldCreateDebugImages(debugType)) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
const promises = images.map((imageData) => imageDataToBase64(imageData));
|
|
133
|
+
const base64Images = yield Promise.all(promises);
|
|
134
|
+
base64Images.forEach((base64, index) => {
|
|
135
|
+
const a = document.createElement('a');
|
|
136
|
+
a.href = base64;
|
|
137
|
+
a.download = `${title}_${operation}_${index}.png`;
|
|
138
|
+
document.body.appendChild(a);
|
|
139
|
+
a.click();
|
|
140
|
+
document.body.removeChild(a);
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Get URL parameter
|
|
146
|
+
*/
|
|
147
|
+
export function getUrlParameter(sParam, defaultValue) {
|
|
148
|
+
const sPageURL = window.location.search.substring(1);
|
|
149
|
+
const sURLVariables = sPageURL.split('&');
|
|
150
|
+
let sParameterName;
|
|
151
|
+
let i;
|
|
152
|
+
for (i = 0; i < sURLVariables.length; i++) {
|
|
153
|
+
sParameterName = sURLVariables[i].split('=');
|
|
154
|
+
if (sParameterName[0] === sParam) {
|
|
155
|
+
return typeof sParameterName[1] === undefined ? defaultValue : decodeURIComponent(sParameterName[1]);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return defaultValue;
|
|
159
|
+
}
|
|
160
|
+
export function checkLoadSimdBuild() {
|
|
161
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
162
|
+
const hasSIMDSupport = yield checkSimdSupport();
|
|
163
|
+
printLogs(`Is SIMD:' ${hasSIMDSupport}`, '');
|
|
164
|
+
const { name: browserName, version } = detect();
|
|
165
|
+
if (browserName === 'safari') {
|
|
166
|
+
return checkSimdSupportForSafariVersion(version);
|
|
167
|
+
}
|
|
168
|
+
return hasSIMDSupport;
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Get SIMD support status
|
|
173
|
+
*/
|
|
174
|
+
export function checkSimdSupport() {
|
|
175
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
176
|
+
try {
|
|
177
|
+
const simdSupport = yield simd();
|
|
178
|
+
printLogs('SIMD support', simdSupport);
|
|
179
|
+
return simdSupport;
|
|
180
|
+
}
|
|
181
|
+
catch (error) {
|
|
182
|
+
return false;
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
export function checkSimdSupportForSafariVersion(version) {
|
|
187
|
+
const versionAsArray = version.split('.');
|
|
188
|
+
const parsedVersion = parseInt(versionAsArray[0], 10);
|
|
189
|
+
const parsedSubVersion = parseInt(versionAsArray[1], 10);
|
|
190
|
+
if (parsedVersion < SAFARI_MIN_VERSION_FOR_SIMD && parsedSubVersion < SAFARI_MIN_SUBVERSION_FOR_SIMD) {
|
|
191
|
+
return false;
|
|
192
|
+
}
|
|
193
|
+
return true;
|
|
194
|
+
}
|
|
195
|
+
export function createCallbackError({ callback }) {
|
|
196
|
+
return (errorCode) => {
|
|
197
|
+
printLogs(`Callback error! Error code: `, errorCode, 'ERROR');
|
|
198
|
+
callback(errorCode);
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=wasm-orchestrator.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasm-orchestrator.utils.js","sourceRoot":"","sources":["../../../../../src/application/modules/internal/wasm-orchestrator/wasm-orchestrator.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Camera } from './camera.domain';
|
|
2
|
-
import { IPermissionService } from '../permissions';
|
|
3
|
-
export declare class CameraServiceFactory {
|
|
4
|
-
/**
|
|
5
|
-
* Creates the appropriate camera service based on the current browser and platform
|
|
6
|
-
* @param permissionsService - The permissions service instance to be used by camera services
|
|
7
|
-
* @returns Camera service instance optimized for the current environment
|
|
8
|
-
*/
|
|
9
|
-
static create(permissionsService: IPermissionService): Camera;
|
|
10
|
-
}
|
|
1
|
+
import { Camera } from './camera.domain';
|
|
2
|
+
import { IPermissionService } from '../permissions';
|
|
3
|
+
export declare class CameraServiceFactory {
|
|
4
|
+
/**
|
|
5
|
+
* Creates the appropriate camera service based on the current browser and platform
|
|
6
|
+
* @param permissionsService - The permissions service instance to be used by camera services
|
|
7
|
+
* @returns Camera service instance optimized for the current environment
|
|
8
|
+
*/
|
|
9
|
+
static create(permissionsService: IPermissionService): Camera;
|
|
10
|
+
}
|