@privateid/ultrapass-web-sdk 1.2.0 → 1.3.1-1300478
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -75
- package/dist/apiUtils.d.ts +46 -46
- package/dist/apiUtils.js +922 -921
- package/dist/apiUtils.js.map +1 -1
- package/dist/application/index.d.ts +7 -7
- package/dist/application/index.js +27 -25
- package/dist/application/index.js.map +1 -1
- 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 -8
- package/dist/application/modules/support/camera/CameraServiceFactory.js +33 -32
- 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 -637
- package/dist/application/modules/support/camera/camera.utils.js.map +1 -1
- package/dist/application/modules/support/camera/index.d.ts +24 -25
- package/dist/application/modules/support/camera/index.js +27 -29
- package/dist/application/modules/support/camera/index.js.map +1 -1
- package/dist/application/modules/support/camera/services/BaseCameraService.d.ts +41 -37
- package/dist/application/modules/support/camera/services/BaseCameraService.js +278 -277
- package/dist/application/modules/support/camera/services/BaseCameraService.js.map +1 -1
- package/dist/application/modules/support/camera/services/DesktopCameraService.d.ts +5 -5
- package/dist/application/modules/support/camera/services/DesktopCameraService.js +46 -45
- package/dist/application/modules/support/camera/services/DesktopCameraService.js.map +1 -1
- package/dist/application/modules/support/camera/services/FirefoxCameraService.d.ts +5 -5
- package/dist/application/modules/support/camera/services/FirefoxCameraService.js +46 -45
- package/dist/application/modules/support/camera/services/FirefoxCameraService.js.map +1 -1
- package/dist/application/modules/support/camera/services/MacSafariCameraService.d.ts +5 -5
- package/dist/application/modules/support/camera/services/MacSafariCameraService.js +47 -46
- package/dist/application/modules/support/camera/services/MacSafariCameraService.js.map +1 -1
- package/dist/application/modules/support/camera/services/MobileCameraService.d.ts +5 -5
- package/dist/application/modules/support/camera/services/MobileCameraService.js +133 -129
- package/dist/application/modules/support/camera/services/MobileCameraService.js.map +1 -1
- 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 -0
- package/dist/application/modules/support/permissions/PermissionsService.js +184 -0
- package/dist/application/modules/support/permissions/PermissionsService.js.map +1 -0
- package/dist/application/modules/support/permissions/index.d.ts +4 -0
- package/dist/application/modules/support/permissions/index.js +3 -0
- package/dist/application/modules/support/permissions/index.js.map +1 -0
- package/dist/application/modules/support/permissions/permission.utils.d.ts +6 -0
- package/dist/application/modules/support/permissions/permission.utils.js +34 -0
- package/dist/application/modules/support/permissions/permission.utils.js.map +1 -0
- package/dist/application/modules/support/permissions/permissions.domain.d.ts +6 -0
- package/dist/application/modules/support/permissions/permissions.domain.js +2 -0
- package/dist/application/modules/support/permissions/permissions.domain.js.map +1 -0
- package/dist/application/modules/support/permissions/permissions.types.d.ts +9 -0
- package/dist/application/modules/support/permissions/permissions.types.js +2 -0
- package/dist/application/modules/support/permissions/permissions.types.js.map +1 -0
- 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 -360
- package/dist/cameraUtils.js.map +1 -1
- package/dist/constants.d.ts +9 -9
- package/dist/constants.js +13 -12
- package/dist/constants.js.map +1 -1
- package/dist/createCallback.d.ts +56 -56
- package/dist/createCallback.js +332 -330
- package/dist/createCallback.js.map +1 -1
- package/dist/dbUtils.d.ts +14 -14
- package/dist/dbUtils.js +148 -147
- package/dist/dbUtils.js.map +1 -1
- package/dist/envUtils.d.ts +4 -4
- package/dist/envUtils.js +16 -15
- package/dist/envUtils.js.map +1 -1
- package/dist/faceModule.d.ts +196 -196
- package/dist/faceModule.js +978 -981
- package/dist/faceModule.js.map +1 -1
- 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 -13
- package/dist/main.js +84 -51
- package/dist/main.js.map +1 -1
- 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 -579
- package/dist/utils.js.map +1 -1
- 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
|
@@ -1,130 +1,134 @@
|
|
|
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 import/prefer-default-export */
|
|
11
|
-
import { BaseCameraService } from './BaseCameraService';
|
|
12
|
-
import { CameraFaceMode } from '../camera.types';
|
|
13
|
-
import { printLogs } from '../../../global/shared.utils';
|
|
14
|
-
import {
|
|
15
|
-
import { isBackCameraLabel } from '../../../../../cameraUtils';
|
|
16
|
-
export class MobileCameraService extends BaseCameraService {
|
|
17
|
-
openCamera(props) {
|
|
18
|
-
var _a, _b;
|
|
19
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
-
const maxAttempts = 3;
|
|
21
|
-
let lastError = null;
|
|
22
|
-
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
23
|
-
try {
|
|
24
|
-
printLogs(`[MobileCameraService] openCamera attempt ${attempt}/${maxAttempts}`, '');
|
|
25
|
-
localStorage.removeItem('defaultDeviceId');
|
|
26
|
-
if (this.isActive()) {
|
|
27
|
-
printLogs('[MobileCameraService] Camera is active, closing before reopening', '');
|
|
28
|
-
yield this.closeCamera(props.videoElementId);
|
|
29
|
-
}
|
|
30
|
-
this.setVideoElementId(props.videoElementId);
|
|
31
|
-
this.setFaceMode(props.requestFaceMode || CameraFaceMode.front);
|
|
32
|
-
printLogs('[MobileCameraService]
|
|
33
|
-
|
|
34
|
-
printLogs(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
printLogs(
|
|
63
|
-
|
|
64
|
-
printLogs(`[MobileCameraService]
|
|
65
|
-
printLogs(`[MobileCameraService]
|
|
66
|
-
printLogs(
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
printLogs('[MobileCameraService]
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
printLogs(`[MobileCameraService]
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
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 import/prefer-default-export */
|
|
11
|
+
import { BaseCameraService } from './BaseCameraService';
|
|
12
|
+
import { CameraFaceMode } from '../camera.types';
|
|
13
|
+
import { printLogs } from '../../../global/shared.utils';
|
|
14
|
+
import { getDeviceMediaStream, getFilteredVideoDevices } from '../camera.utils';
|
|
15
|
+
import { isBackCameraLabel } from '../../../../../cameraUtils';
|
|
16
|
+
export class MobileCameraService extends BaseCameraService {
|
|
17
|
+
openCamera(props) {
|
|
18
|
+
var _a, _b;
|
|
19
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
const maxAttempts = 3;
|
|
21
|
+
let lastError = null;
|
|
22
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
23
|
+
try {
|
|
24
|
+
printLogs(`[MobileCameraService] openCamera attempt ${attempt}/${maxAttempts}`, '');
|
|
25
|
+
localStorage.removeItem('defaultDeviceId');
|
|
26
|
+
if (this.isActive()) {
|
|
27
|
+
printLogs('[MobileCameraService] Camera is active, closing before reopening', '');
|
|
28
|
+
yield this.closeCamera(props.videoElementId);
|
|
29
|
+
}
|
|
30
|
+
this.setVideoElementId(props.videoElementId);
|
|
31
|
+
this.setFaceMode(props.requestFaceMode || CameraFaceMode.front);
|
|
32
|
+
printLogs('[MobileCameraService] Requesting camera permission...', '');
|
|
33
|
+
const { isGranted } = yield this.permissionsService.requestCameraPermissions();
|
|
34
|
+
printLogs('[MobileCameraService] Getting filtered video devices...', '');
|
|
35
|
+
let devices = isGranted ? yield getFilteredVideoDevices() : [];
|
|
36
|
+
printLogs(`[MobileCameraService] Found ${devices.length} devices`, '');
|
|
37
|
+
// sorting the cameras to bring face cameras first when is face scan and back cameras first when is document scan
|
|
38
|
+
if (props.requestFaceMode === CameraFaceMode.back) {
|
|
39
|
+
devices = devices.sort((a, b) => {
|
|
40
|
+
const aIsBack = isBackCameraLabel(a.label) ? 0 : 1;
|
|
41
|
+
const bIsBack = isBackCameraLabel(b.label) ? 0 : 1;
|
|
42
|
+
return aIsBack - bIsBack;
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
else if (props.requestFaceMode === CameraFaceMode.front) {
|
|
46
|
+
devices = devices.sort((a, b) => {
|
|
47
|
+
const aIsFront = isBackCameraLabel(a.label) ? 1 : 0;
|
|
48
|
+
const bIsFront = isBackCameraLabel(b.label) ? 1 : 0;
|
|
49
|
+
return aIsFront - bIsFront;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
devices.forEach((device, index) => {
|
|
53
|
+
printLogs(`[MobileCameraService] Device ${index}: `, device);
|
|
54
|
+
});
|
|
55
|
+
if (devices.length === 0) {
|
|
56
|
+
throw new Error('NO_CAMERA');
|
|
57
|
+
}
|
|
58
|
+
const isFirstPermissionRequest = !props.deviceId && this.faceMode !== CameraFaceMode.back;
|
|
59
|
+
// If we don't have permission yet (first time), use only facingMode for more reliable camera selection
|
|
60
|
+
// If we already have permission, we can use deviceId for specific camera selection
|
|
61
|
+
const useDeviceId = isFirstPermissionRequest ? undefined : props.deviceId;
|
|
62
|
+
printLogs('[MobileCameraService] Waiting for camera availability...', '');
|
|
63
|
+
yield BaseCameraService.waitForCameraRelease(useDeviceId, this.faceMode);
|
|
64
|
+
printLogs(`[MobileCameraService] Using deviceId: `, useDeviceId || 'auto (facingMode)');
|
|
65
|
+
printLogs(`[MobileCameraService] Props deviceId: `, props.deviceId || 'none');
|
|
66
|
+
printLogs(`[MobileCameraService] Face mode: `, this.faceMode);
|
|
67
|
+
printLogs(`[MobileCameraService] Is first permission request: `, isFirstPermissionRequest);
|
|
68
|
+
printLogs('[MobileCameraService] Requesting media stream...', '');
|
|
69
|
+
const stream = yield getDeviceMediaStream(useDeviceId, 'mobile', {
|
|
70
|
+
isDocumentScan: props.isDocumentScan,
|
|
71
|
+
canvasResolution: props.canvasResolution,
|
|
72
|
+
faceMode: this.faceMode,
|
|
73
|
+
enabledDevices: devices,
|
|
74
|
+
isFirstPermissionRequest,
|
|
75
|
+
});
|
|
76
|
+
printLogs('[MobileCameraService] Media stream obtained successfully', '');
|
|
77
|
+
printLogs(`[MobileCameraService] Stream has ${stream.getVideoTracks().length} video tracks`, '');
|
|
78
|
+
// After stream is opened, get the actual deviceId that was selected
|
|
79
|
+
const actualDeviceId = (_b = (_a = stream.getVideoTracks()[0]) === null || _a === void 0 ? void 0 : _a.getSettings()) === null || _b === void 0 ? void 0 : _b.deviceId;
|
|
80
|
+
if (actualDeviceId) {
|
|
81
|
+
this.setCurrentDeviceId(actualDeviceId);
|
|
82
|
+
printLogs(`[MobileCameraService] Selected deviceId: `, actualDeviceId);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
printLogs('[MobileCameraService] Could not get actual deviceId from stream', '', 'WARN');
|
|
86
|
+
}
|
|
87
|
+
printLogs('[MobileCameraService] Preparing camera result...', '');
|
|
88
|
+
const result = yield this.prepareCameraResult(stream, devices, this.faceMode, props.videoElementId);
|
|
89
|
+
printLogs('[MobileCameraService] Camera opened successfully', '');
|
|
90
|
+
return result;
|
|
91
|
+
}
|
|
92
|
+
catch (e) {
|
|
93
|
+
lastError = e;
|
|
94
|
+
printLogs(`[MobileCameraService] Attempt ${attempt}/${maxAttempts} failed`, '', 'ERROR');
|
|
95
|
+
printLogs(`[MobileCameraService] Error name: `, (e === null || e === void 0 ? void 0 : e.name) || 'unknown');
|
|
96
|
+
printLogs(`[MobileCameraService] Error message: `, (e === null || e === void 0 ? void 0 : e.message) || 'unknown');
|
|
97
|
+
const permissionState = yield this.permissionsService.checkCameraPermissions();
|
|
98
|
+
printLogs(`[MobileCameraService] Camera permission state`, permissionState, 'ERROR');
|
|
99
|
+
// Enhanced error reporting for common issues
|
|
100
|
+
if ((e === null || e === void 0 ? void 0 : e.name) === 'NotAllowedError') {
|
|
101
|
+
printLogs(`[MobileCameraService] Camera permission denied by user`, '', 'ERROR');
|
|
102
|
+
}
|
|
103
|
+
else if ((e === null || e === void 0 ? void 0 : e.name) === 'NotFoundError') {
|
|
104
|
+
printLogs(`[MobileCameraService] No camera device found`, '', 'ERROR');
|
|
105
|
+
}
|
|
106
|
+
else if ((e === null || e === void 0 ? void 0 : e.name) === 'NotReadableError') {
|
|
107
|
+
printLogs(`[MobileCameraService] Camera is already in use by another app/tab`, '', 'ERROR');
|
|
108
|
+
}
|
|
109
|
+
else if ((e === null || e === void 0 ? void 0 : e.name) === 'OverconstrainedError') {
|
|
110
|
+
printLogs(`[MobileCameraService] Camera constraints cannot be satisfied`, '', 'ERROR');
|
|
111
|
+
}
|
|
112
|
+
else if ((e === null || e === void 0 ? void 0 : e.message) === 'NO_TRACK_SETTINGS') {
|
|
113
|
+
printLogs(`[MobileCameraService] Failed to get track settings from camera`, '', 'ERROR');
|
|
114
|
+
}
|
|
115
|
+
else if ((e === null || e === void 0 ? void 0 : e.message) === 'NO_VIDEO_TRACKS') {
|
|
116
|
+
printLogs(`[MobileCameraService] Stream has no video tracks`, '', 'ERROR');
|
|
117
|
+
}
|
|
118
|
+
printLogs(`[MobileCameraService] Error stack: `, (e === null || e === void 0 ? void 0 : e.stack) || 'no stack trace');
|
|
119
|
+
// If this is not the last attempt, wait before retrying
|
|
120
|
+
if (attempt < maxAttempts) {
|
|
121
|
+
const retryDelay = attempt * 500; // Progressive delay: 500ms, 1000ms
|
|
122
|
+
printLogs(`[MobileCameraService] Retrying in ${retryDelay}ms...`, '');
|
|
123
|
+
yield new Promise((resolve) => setTimeout(resolve, retryDelay));
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
// All attempts failed
|
|
128
|
+
printLogs(`[MobileCameraService] All ${maxAttempts} attempts failed`, '', 'ERROR');
|
|
129
|
+
printLogs(`[MobileCameraService] Final error: `, lastError, 'ERROR');
|
|
130
|
+
return null;
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
}
|
|
130
134
|
//# sourceMappingURL=MobileCameraService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileCameraService.js","sourceRoot":"","sources":["../../../../../../src/application/modules/support/camera/services/MobileCameraService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iDAAiD;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAqC,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"MobileCameraService.js","sourceRoot":"","sources":["../../../../../../src/application/modules/support/camera/services/MobileCameraService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { WasmOrchestrator } from '../../internal/wasm-orchestrator';
|
|
2
|
+
import { Engine } from './engine.domain';
|
|
3
|
+
import { LoadModuleParams, LoadModuleResult, PackageSupportResult } from './engine.types';
|
|
4
|
+
export declare class EngineService implements Engine {
|
|
5
|
+
private wasmOrchestratorService;
|
|
6
|
+
private browserOS;
|
|
7
|
+
private browserName;
|
|
8
|
+
private browserVersion;
|
|
9
|
+
constructor(wasmOrchestratorService: WasmOrchestrator);
|
|
10
|
+
loadModule(params: LoadModuleParams): Promise<LoadModuleResult>;
|
|
11
|
+
checkModelsAreLoaded(): Promise<boolean>;
|
|
12
|
+
freeMemory(): Promise<boolean>;
|
|
13
|
+
encryptData(payload: unknown): Promise<(string | null)[]>;
|
|
14
|
+
checkPackageSupport(): PackageSupportResult;
|
|
15
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
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 { detect } from 'detect-browser';
|
|
13
|
+
import { printLogs } from '../../internal/shared/shared.utils';
|
|
14
|
+
import { checkAndroidSupport, checkBrowserCompatibility, checkIOSSupport, checkMacOSSupport, checkWebBrowsersSupport, handleCacheContent, } from './engine.utils';
|
|
15
|
+
export class EngineService {
|
|
16
|
+
constructor(wasmOrchestratorService) {
|
|
17
|
+
this.wasmOrchestratorService = wasmOrchestratorService;
|
|
18
|
+
const { name, os, version } = detect();
|
|
19
|
+
this.browserName = name;
|
|
20
|
+
this.browserOS = os;
|
|
21
|
+
this.browserVersion = version;
|
|
22
|
+
}
|
|
23
|
+
loadModule(params) {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
printLogs('[EngineService] loadModule params', params);
|
|
26
|
+
const compatibility = checkBrowserCompatibility();
|
|
27
|
+
printLogs('[EngineService] loadModule compatibility', compatibility);
|
|
28
|
+
if (!compatibility.support) {
|
|
29
|
+
return compatibility;
|
|
30
|
+
}
|
|
31
|
+
const cacheContent = yield handleCacheContent();
|
|
32
|
+
try {
|
|
33
|
+
return yield this.wasmOrchestratorService.loadModule(Object.assign(Object.assign({}, params), { cacheContent }));
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
printLogs('[EngineService] loadModule error', error, 'ERROR');
|
|
37
|
+
return { support: false, message: error.message };
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
checkModelsAreLoaded() {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
try {
|
|
44
|
+
return yield this.wasmOrchestratorService.checkIfModelsLoaded();
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
printLogs('[EngineService] checkModelsAreLoaded error', error, 'ERROR');
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
freeMemory() {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
printLogs('[EngineService] freeMemory', '');
|
|
55
|
+
try {
|
|
56
|
+
return yield this.wasmOrchestratorService.freeWasmMemory();
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
printLogs('[EngineService] freeMemory error', error, 'ERROR');
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
encryptData(payload) {
|
|
65
|
+
var _a;
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
printLogs('[EngineService] encryptData payload', payload);
|
|
68
|
+
try {
|
|
69
|
+
const result = yield this.wasmOrchestratorService.pkiEncrypt(payload);
|
|
70
|
+
printLogs('[EngineService] encryptData result', result);
|
|
71
|
+
return (_a = result === null || result === void 0 ? void 0 : result.operation_result) === null || _a === void 0 ? void 0 : _a.request;
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
printLogs('[EngineService] encryptData error', error, 'ERROR');
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
checkPackageSupport() {
|
|
80
|
+
printLogs('[EngineService] checkPackageSupport', {
|
|
81
|
+
browserName: this.browserName,
|
|
82
|
+
browserVersion: this.browserVersion,
|
|
83
|
+
browserOS: this.browserOS,
|
|
84
|
+
});
|
|
85
|
+
let result = {
|
|
86
|
+
isSupported: false,
|
|
87
|
+
};
|
|
88
|
+
switch (this.browserOS) {
|
|
89
|
+
case 'Mac OS':
|
|
90
|
+
result = checkMacOSSupport(this.browserName, this.browserVersion);
|
|
91
|
+
break;
|
|
92
|
+
case 'iOS':
|
|
93
|
+
result = checkIOSSupport(this.browserName, this.browserVersion);
|
|
94
|
+
break;
|
|
95
|
+
case 'Android OS':
|
|
96
|
+
case 'android':
|
|
97
|
+
result = checkAndroidSupport(this.browserName, this.browserVersion);
|
|
98
|
+
break;
|
|
99
|
+
default:
|
|
100
|
+
result = checkWebBrowsersSupport(this.browserName, this.browserVersion);
|
|
101
|
+
}
|
|
102
|
+
printLogs('[EngineService] checkPackageSupport result', result);
|
|
103
|
+
return result;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=EngineService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EngineService.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/engine/EngineService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export declare const BROWSER_COMPATIBILITY_MESSAGES: {
|
|
2
|
+
readonly OPERA_MOBILE_NOT_SUPPORTED: "Opera mobile version 72 and below is not support WASM";
|
|
3
|
+
readonly OPERA_NOT_SUPPORTED: "Opera version 43 and below is not support WASM";
|
|
4
|
+
readonly CHROME_NOT_SUPPORTED: "Chrome version 57 and below is not support WASM";
|
|
5
|
+
readonly FIREFOX_NOT_SUPPORTED: "Firefox version 52 and below is not support WASM";
|
|
6
|
+
readonly ANDROID_BROWSER_NOT_SUPPORTED: "Android Browser version 96 and below is not supported.";
|
|
7
|
+
readonly UNABLE_TO_LOAD_WASM: "Unable to load wasm";
|
|
8
|
+
};
|
|
9
|
+
export declare const PACKAGE_COMPATIBILITY_MESSAGES: {
|
|
10
|
+
readonly SAFARI_NOT_SUPPORTED: "Safari version 10 and below is not supported.";
|
|
11
|
+
readonly OPERA_MOBILE_NOT_SUPPORTED: "Opera mobile version 72 and below is not support WASM";
|
|
12
|
+
readonly ANDROID_CHROME_NOT_SUPPORTED: "Android Chrome version 96 and below is not supported.";
|
|
13
|
+
readonly SAMSUNG_BROWSER_NOT_SUPPORTED: "Samsung browser version 6 and below is not supported.";
|
|
14
|
+
readonly FIREFOX_MOBILE_NOT_SUPPORTED: "Firefox mobile version 94 and below is not supported.";
|
|
15
|
+
readonly ANDROID_BROWSER_NOT_SUPPORTED: "Android Browser version 96 and below is not supported.";
|
|
16
|
+
readonly IE_NOT_SUPPORTED: "Internet Explorer is not supported.";
|
|
17
|
+
readonly EDGE_NOT_SUPPORTED: "Edge version 78 and below is not supported.";
|
|
18
|
+
readonly CHROME_NOT_SUPPORTED: "Chrome version 57 and below is not support WASM";
|
|
19
|
+
readonly FIREFOX_NOT_SUPPORTED: "Firefox version 52 and below is not supported.";
|
|
20
|
+
readonly OPERA_NOT_SUPPORTED: "Opera version 43 and below is not support WASM";
|
|
21
|
+
};
|
|
22
|
+
export declare const PACKAGE_COMPATIBILITY_MIN_VERSIONS: {
|
|
23
|
+
readonly SAFARI: 10;
|
|
24
|
+
readonly OPERA_MOBILE: 72;
|
|
25
|
+
readonly ANDROID_CHROME: 96;
|
|
26
|
+
readonly SAMSUNG_BROWSER: 6.2;
|
|
27
|
+
readonly FIREFOX_MOBILE: 94;
|
|
28
|
+
readonly ANDROID_BROWSER: 96;
|
|
29
|
+
readonly EDGE: 78;
|
|
30
|
+
readonly CHROME: 57;
|
|
31
|
+
readonly FIREFOX: 52;
|
|
32
|
+
readonly OPERA: 43;
|
|
33
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// Browser compatibility messages
|
|
2
|
+
export const BROWSER_COMPATIBILITY_MESSAGES = {
|
|
3
|
+
OPERA_MOBILE_NOT_SUPPORTED: 'Opera mobile version 72 and below is not support WASM',
|
|
4
|
+
OPERA_NOT_SUPPORTED: 'Opera version 43 and below is not support WASM',
|
|
5
|
+
CHROME_NOT_SUPPORTED: 'Chrome version 57 and below is not support WASM',
|
|
6
|
+
FIREFOX_NOT_SUPPORTED: 'Firefox version 52 and below is not support WASM',
|
|
7
|
+
ANDROID_BROWSER_NOT_SUPPORTED: 'Android Browser version 96 and below is not supported.',
|
|
8
|
+
UNABLE_TO_LOAD_WASM: 'Unable to load wasm',
|
|
9
|
+
};
|
|
10
|
+
export const PACKAGE_COMPATIBILITY_MESSAGES = {
|
|
11
|
+
SAFARI_NOT_SUPPORTED: 'Safari version 10 and below is not supported.',
|
|
12
|
+
OPERA_MOBILE_NOT_SUPPORTED: 'Opera mobile version 72 and below is not support WASM',
|
|
13
|
+
ANDROID_CHROME_NOT_SUPPORTED: 'Android Chrome version 96 and below is not supported.',
|
|
14
|
+
SAMSUNG_BROWSER_NOT_SUPPORTED: 'Samsung browser version 6 and below is not supported.',
|
|
15
|
+
FIREFOX_MOBILE_NOT_SUPPORTED: 'Firefox mobile version 94 and below is not supported.',
|
|
16
|
+
ANDROID_BROWSER_NOT_SUPPORTED: 'Android Browser version 96 and below is not supported.',
|
|
17
|
+
IE_NOT_SUPPORTED: 'Internet Explorer is not supported.',
|
|
18
|
+
EDGE_NOT_SUPPORTED: 'Edge version 78 and below is not supported.',
|
|
19
|
+
CHROME_NOT_SUPPORTED: 'Chrome version 57 and below is not support WASM',
|
|
20
|
+
FIREFOX_NOT_SUPPORTED: 'Firefox version 52 and below is not supported.',
|
|
21
|
+
OPERA_NOT_SUPPORTED: 'Opera version 43 and below is not support WASM',
|
|
22
|
+
};
|
|
23
|
+
export const PACKAGE_COMPATIBILITY_MIN_VERSIONS = {
|
|
24
|
+
SAFARI: 10,
|
|
25
|
+
OPERA_MOBILE: 72,
|
|
26
|
+
ANDROID_CHROME: 96,
|
|
27
|
+
SAMSUNG_BROWSER: 6.2,
|
|
28
|
+
FIREFOX_MOBILE: 94,
|
|
29
|
+
ANDROID_BROWSER: 96,
|
|
30
|
+
EDGE: 78,
|
|
31
|
+
CHROME: 57,
|
|
32
|
+
FIREFOX: 52,
|
|
33
|
+
OPERA: 43,
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=engine.constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.constants.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/engine/engine.constants.ts"],"names":[],"mappings":"AAAA,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;AAEX,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,oBAAoB,EAAE,+CAA+C;IACrE,0BAA0B,EAAE,uDAAuD;IACnF,4BAA4B,EAAE,uDAAuD;IACrF,6BAA6B,EAAE,uDAAuD;IACtF,4BAA4B,EAAE,uDAAuD;IACrF,6BAA6B,EAAE,wDAAwD;IACvF,gBAAgB,EAAE,qCAAqC;IACvD,kBAAkB,EAAE,6CAA6C;IACjE,oBAAoB,EAAE,iDAAiD;IACvE,qBAAqB,EAAE,gDAAgD;IACvE,mBAAmB,EAAE,gDAAgD;CAC7D,CAAC;AAEX,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,MAAM,EAAE,EAAE;IACV,YAAY,EAAE,EAAE;IAChB,cAAc,EAAE,EAAE;IAClB,eAAe,EAAE,GAAG;IACpB,cAAc,EAAE,EAAE;IAClB,eAAe,EAAE,EAAE;IACnB,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;CACD,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { LoadModuleParams, LoadModuleResult, PackageSupportResult } from './engine.types';
|
|
2
|
+
export interface Engine {
|
|
3
|
+
/**
|
|
4
|
+
* Load the WASM modules with the given options
|
|
5
|
+
*/
|
|
6
|
+
loadModule(options: LoadModuleParams): Promise<LoadModuleResult>;
|
|
7
|
+
/**
|
|
8
|
+
* Check if The AI models used on the WASM are loaded
|
|
9
|
+
*/
|
|
10
|
+
checkModelsAreLoaded(): Promise<boolean>;
|
|
11
|
+
/**
|
|
12
|
+
* Free WASM Engine memory
|
|
13
|
+
*/
|
|
14
|
+
freeMemory(): Promise<boolean>;
|
|
15
|
+
/**
|
|
16
|
+
* Encrypt data using PKI encryption
|
|
17
|
+
*/
|
|
18
|
+
encryptData(payload: unknown): Promise<(string | null)[]>;
|
|
19
|
+
/**
|
|
20
|
+
* Check if the current browser supports the package
|
|
21
|
+
*/
|
|
22
|
+
checkPackageSupport(): PackageSupportResult;
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.domain.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/engine/engine.domain.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
type ApiUrl = {
|
|
2
|
+
collections: {
|
|
3
|
+
default: {
|
|
4
|
+
named_urls: {
|
|
5
|
+
base_url: string;
|
|
6
|
+
predict?: string;
|
|
7
|
+
enroll?: string;
|
|
8
|
+
validate_api_key?: string;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export type LoadModuleParams = {
|
|
14
|
+
apiUrl: ApiUrl;
|
|
15
|
+
sessionToken: string;
|
|
16
|
+
publicKey: string;
|
|
17
|
+
timeout?: number;
|
|
18
|
+
useCdn?: boolean;
|
|
19
|
+
usageScenario?: string;
|
|
20
|
+
shouldRegenerateSession?: boolean;
|
|
21
|
+
wasmFailureCallback?: (result: any) => void;
|
|
22
|
+
skipSimdCheck?: boolean;
|
|
23
|
+
};
|
|
24
|
+
export type LoadModuleResult = {
|
|
25
|
+
support: boolean;
|
|
26
|
+
message?: string;
|
|
27
|
+
};
|
|
28
|
+
export type PackageSupportResult = {
|
|
29
|
+
isSupported: boolean;
|
|
30
|
+
message?: string;
|
|
31
|
+
};
|
|
32
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.types.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/engine/engine.types.ts"],"names":[],"mappings":""}
|