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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/README.md +75 -75
  2. package/dist/apiUtils.d.ts +46 -46
  3. package/dist/apiUtils.js +922 -921
  4. package/dist/apiUtils.js.map +1 -1
  5. package/dist/application/index.d.ts +7 -7
  6. package/dist/application/index.js +27 -25
  7. package/dist/application/index.js.map +1 -1
  8. package/dist/application/modules/core/document/DocumentService.d.ts +22 -22
  9. package/dist/application/modules/core/document/DocumentService.js +254 -254
  10. package/dist/application/modules/core/document/document.constants.d.ts +15 -15
  11. package/dist/application/modules/core/document/document.constants.js +21 -21
  12. package/dist/application/modules/core/document/document.domain.d.ts +7 -7
  13. package/dist/application/modules/core/document/document.domain.js +1 -1
  14. package/dist/application/modules/core/document/document.types.d.ts +17 -17
  15. package/dist/application/modules/core/document/document.types.js +1 -1
  16. package/dist/application/modules/core/document/document.utils.d.ts +3 -3
  17. package/dist/application/modules/core/document/document.utils.js +58 -58
  18. package/dist/application/modules/core/document/index.d.ts +3 -3
  19. package/dist/application/modules/core/document/index.js +1 -1
  20. package/dist/application/modules/core/face/FaceService.d.ts +33 -33
  21. package/dist/application/modules/core/face/FaceService.js +228 -221
  22. package/dist/application/modules/core/face/FaceService.js.map +1 -1
  23. package/dist/application/modules/core/face/face.constants.d.ts +53 -53
  24. package/dist/application/modules/core/face/face.constants.js +53 -53
  25. package/dist/application/modules/core/face/face.domain.d.ts +10 -10
  26. package/dist/application/modules/core/face/face.domain.js +1 -1
  27. package/dist/application/modules/core/face/face.types.d.ts +41 -38
  28. package/dist/application/modules/core/face/face.types.js +1 -1
  29. package/dist/application/modules/core/face/face.utils.d.ts +15 -15
  30. package/dist/application/modules/core/face/face.utils.js +101 -101
  31. package/dist/application/modules/core/face/index.d.ts +3 -3
  32. package/dist/application/modules/core/face/index.js +1 -1
  33. package/dist/application/modules/global/shared.constants.d.ts +2 -2
  34. package/dist/application/modules/global/shared.constants.js +2 -2
  35. package/dist/application/modules/global/shared.utils.d.ts +25 -25
  36. package/dist/application/modules/global/shared.utils.js +100 -100
  37. package/dist/application/modules/global/shared.utils.js.map +1 -1
  38. package/dist/application/modules/internal/feature-flag/LDFeatureFlagService.d.ts +9 -0
  39. package/dist/application/modules/internal/feature-flag/LDFeatureFlagService.js +32 -0
  40. package/dist/application/modules/internal/feature-flag/LDFeatureFlagService.js.map +1 -0
  41. package/dist/application/modules/internal/feature-flag/feature-flag-init.d.ts +11 -0
  42. package/dist/application/modules/internal/feature-flag/feature-flag-init.js +24 -0
  43. package/dist/application/modules/internal/feature-flag/feature-flag-init.js.map +1 -0
  44. package/dist/application/modules/internal/feature-flag/feature-flag.domain.d.ts +10 -0
  45. package/dist/application/modules/internal/feature-flag/feature-flag.domain.js +7 -0
  46. package/dist/application/modules/internal/feature-flag/feature-flag.domain.js.map +1 -0
  47. package/dist/application/modules/internal/feature-flag/featureFlagInit.d.ts +11 -0
  48. package/dist/application/modules/internal/feature-flag/featureFlagInit.js +44 -0
  49. package/dist/application/modules/internal/feature-flag/featureFlagInit.js.map +1 -0
  50. package/dist/application/modules/internal/feature-flag/index.d.ts +2 -0
  51. package/dist/application/modules/internal/feature-flag/index.js +3 -0
  52. package/dist/application/modules/internal/feature-flag/index.js.map +1 -0
  53. package/dist/application/modules/internal/shared/index.d.ts +2 -0
  54. package/dist/application/modules/internal/shared/index.js +3 -0
  55. package/dist/application/modules/internal/shared/index.js.map +1 -0
  56. package/dist/application/modules/internal/shared/shared.constants.d.ts +2 -0
  57. package/dist/application/modules/internal/shared/shared.constants.js +3 -0
  58. package/dist/application/modules/internal/shared/shared.constants.js.map +1 -0
  59. package/dist/application/modules/internal/shared/shared.utils.d.ts +44 -0
  60. package/dist/application/modules/internal/shared/shared.utils.js +204 -0
  61. package/dist/application/modules/internal/shared/shared.utils.js.map +1 -0
  62. package/dist/application/modules/internal/wasm-orchestrator/WasmOrchestratorService.d.ts +28 -0
  63. package/dist/application/modules/internal/wasm-orchestrator/WasmOrchestratorService.js +380 -0
  64. package/dist/application/modules/internal/wasm-orchestrator/WasmOrchestratorService.js.map +1 -0
  65. package/dist/application/modules/internal/wasm-orchestrator/index.d.ts +6 -0
  66. package/dist/application/modules/internal/wasm-orchestrator/index.js +9 -0
  67. package/dist/application/modules/internal/wasm-orchestrator/index.js.map +1 -0
  68. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.constants.d.ts +28 -0
  69. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.constants.js +35 -0
  70. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.constants.js.map +1 -0
  71. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.domain.d.ts +51 -0
  72. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.domain.js +2 -0
  73. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.domain.js.map +1 -0
  74. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.types.d.ts +142 -0
  75. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.types.js +2 -0
  76. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.types.js.map +1 -0
  77. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.utils.d.ts +86 -0
  78. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.utils.js +201 -0
  79. package/dist/application/modules/internal/wasm-orchestrator/wasm-orchestrator.utils.js.map +1 -0
  80. package/dist/application/modules/support/camera/CameraServiceFactory.d.ts +10 -8
  81. package/dist/application/modules/support/camera/CameraServiceFactory.js +33 -32
  82. package/dist/application/modules/support/camera/CameraServiceFactory.js.map +1 -1
  83. package/dist/application/modules/support/camera/camera.constants.d.ts +9 -9
  84. package/dist/application/modules/support/camera/camera.constants.js +48 -48
  85. package/dist/application/modules/support/camera/camera.domain.d.ts +15 -15
  86. package/dist/application/modules/support/camera/camera.domain.js +1 -1
  87. package/dist/application/modules/support/camera/camera.types.d.ts +42 -42
  88. package/dist/application/modules/support/camera/camera.types.js +10 -10
  89. package/dist/application/modules/support/camera/camera.utils.d.ts +157 -157
  90. package/dist/application/modules/support/camera/camera.utils.js +623 -637
  91. package/dist/application/modules/support/camera/camera.utils.js.map +1 -1
  92. package/dist/application/modules/support/camera/index.d.ts +24 -25
  93. package/dist/application/modules/support/camera/index.js +27 -29
  94. package/dist/application/modules/support/camera/index.js.map +1 -1
  95. package/dist/application/modules/support/camera/services/BaseCameraService.d.ts +41 -37
  96. package/dist/application/modules/support/camera/services/BaseCameraService.js +278 -277
  97. package/dist/application/modules/support/camera/services/BaseCameraService.js.map +1 -1
  98. package/dist/application/modules/support/camera/services/DesktopCameraService.d.ts +5 -5
  99. package/dist/application/modules/support/camera/services/DesktopCameraService.js +46 -45
  100. package/dist/application/modules/support/camera/services/DesktopCameraService.js.map +1 -1
  101. package/dist/application/modules/support/camera/services/FirefoxCameraService.d.ts +5 -5
  102. package/dist/application/modules/support/camera/services/FirefoxCameraService.js +46 -45
  103. package/dist/application/modules/support/camera/services/FirefoxCameraService.js.map +1 -1
  104. package/dist/application/modules/support/camera/services/MacSafariCameraService.d.ts +5 -5
  105. package/dist/application/modules/support/camera/services/MacSafariCameraService.js +47 -46
  106. package/dist/application/modules/support/camera/services/MacSafariCameraService.js.map +1 -1
  107. package/dist/application/modules/support/camera/services/MobileCameraService.d.ts +5 -5
  108. package/dist/application/modules/support/camera/services/MobileCameraService.js +133 -129
  109. package/dist/application/modules/support/camera/services/MobileCameraService.js.map +1 -1
  110. package/dist/application/modules/support/engine/EngineService.d.ts +15 -0
  111. package/dist/application/modules/support/engine/EngineService.js +106 -0
  112. package/dist/application/modules/support/engine/EngineService.js.map +1 -0
  113. package/dist/application/modules/support/engine/engine.constants.d.ts +33 -0
  114. package/dist/application/modules/support/engine/engine.constants.js +35 -0
  115. package/dist/application/modules/support/engine/engine.constants.js.map +1 -0
  116. package/dist/application/modules/support/engine/engine.domain.d.ts +23 -0
  117. package/dist/application/modules/support/engine/engine.domain.js +2 -0
  118. package/dist/application/modules/support/engine/engine.domain.js.map +1 -0
  119. package/dist/application/modules/support/engine/engine.types.d.ts +32 -0
  120. package/dist/application/modules/support/engine/engine.types.js +2 -0
  121. package/dist/application/modules/support/engine/engine.types.js.map +1 -0
  122. package/dist/application/modules/support/engine/engine.utils.d.ts +65 -0
  123. package/dist/application/modules/support/engine/engine.utils.js +135 -0
  124. package/dist/application/modules/support/engine/engine.utils.js.map +1 -0
  125. package/dist/application/modules/support/engine/index.d.ts +3 -0
  126. package/dist/application/modules/support/engine/index.js +2 -0
  127. package/dist/application/modules/support/engine/index.js.map +1 -0
  128. package/dist/application/modules/support/permissions/PermissionsService.d.ts +55 -0
  129. package/dist/application/modules/support/permissions/PermissionsService.js +184 -0
  130. package/dist/application/modules/support/permissions/PermissionsService.js.map +1 -0
  131. package/dist/application/modules/support/permissions/index.d.ts +4 -0
  132. package/dist/application/modules/support/permissions/index.js +3 -0
  133. package/dist/application/modules/support/permissions/index.js.map +1 -0
  134. package/dist/application/modules/support/permissions/permission.utils.d.ts +6 -0
  135. package/dist/application/modules/support/permissions/permission.utils.js +34 -0
  136. package/dist/application/modules/support/permissions/permission.utils.js.map +1 -0
  137. package/dist/application/modules/support/permissions/permissions.domain.d.ts +6 -0
  138. package/dist/application/modules/support/permissions/permissions.domain.js +2 -0
  139. package/dist/application/modules/support/permissions/permissions.domain.js.map +1 -0
  140. package/dist/application/modules/support/permissions/permissions.types.d.ts +9 -0
  141. package/dist/application/modules/support/permissions/permissions.types.js +2 -0
  142. package/dist/application/modules/support/permissions/permissions.types.js.map +1 -0
  143. package/dist/application/modules/support/wasm/WasmService.d.ts +25 -25
  144. package/dist/application/modules/support/wasm/WasmService.js +156 -155
  145. package/dist/application/modules/support/wasm/WasmService.js.map +1 -1
  146. package/dist/application/modules/support/wasm/index.d.ts +6 -6
  147. package/dist/application/modules/support/wasm/index.js +8 -8
  148. package/dist/application/modules/support/wasm/wasm.constants.d.ts +78 -78
  149. package/dist/application/modules/support/wasm/wasm.constants.js +86 -86
  150. package/dist/application/modules/support/wasm/wasm.domain.d.ts +52 -52
  151. package/dist/application/modules/support/wasm/wasm.domain.js +1 -1
  152. package/dist/application/modules/support/wasm/wasm.types.d.ts +119 -118
  153. package/dist/application/modules/support/wasm/wasm.types.js +1 -1
  154. package/dist/application/modules/support/wasm/wasm.utils.d.ts +88 -88
  155. package/dist/application/modules/support/wasm/wasm.utils.js +243 -243
  156. package/dist/application/modules/support/wasm-orchestrator/WasmOrchestratorService.d.ts +28 -0
  157. package/dist/application/modules/support/wasm-orchestrator/WasmOrchestratorService.js +324 -0
  158. package/dist/application/modules/support/wasm-orchestrator/WasmOrchestratorService.js.map +1 -0
  159. package/dist/application/modules/support/wasm-orchestrator/index.d.ts +6 -0
  160. package/dist/application/modules/support/wasm-orchestrator/index.js +9 -0
  161. package/dist/application/modules/support/wasm-orchestrator/index.js.map +1 -0
  162. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.constants.d.ts +36 -0
  163. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.constants.js +44 -0
  164. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.constants.js.map +1 -0
  165. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.domain.d.ts +47 -0
  166. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.domain.js +2 -0
  167. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.domain.js.map +1 -0
  168. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.types.d.ts +136 -0
  169. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.types.js +2 -0
  170. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.types.js.map +1 -0
  171. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.utils.d.ts +91 -0
  172. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.utils.js +250 -0
  173. package/dist/application/modules/support/wasm-orchestrator/wasm-orchestrator.utils.js.map +1 -0
  174. package/dist/application/workers/index.d.ts +42 -42
  175. package/dist/application/workers/index.js +8 -8
  176. package/dist/application/workers/wasm/WasmWorkerService.d.ts +66 -0
  177. package/dist/application/workers/wasm/WasmWorkerService.js +801 -0
  178. package/dist/application/workers/wasm/WasmWorkerService.js.map +1 -0
  179. package/dist/application/workers/wasm/index.d.ts +4 -0
  180. package/dist/application/workers/wasm/index.js +9 -0
  181. package/dist/application/workers/wasm/index.js.map +1 -0
  182. package/dist/application/workers/wasm/wasm-worker.constants.d.ts +5 -0
  183. package/dist/application/workers/wasm/wasm-worker.constants.js +6 -0
  184. package/dist/application/workers/wasm/wasm-worker.constants.js.map +1 -0
  185. package/dist/application/workers/wasm/wasm-worker.domain.d.ts +99 -0
  186. package/dist/application/workers/wasm/wasm-worker.domain.js +2 -0
  187. package/dist/application/workers/wasm/wasm-worker.domain.js.map +1 -0
  188. package/dist/application/workers/wasm/wasm-worker.types.d.ts +88 -0
  189. package/dist/application/workers/wasm/wasm-worker.types.js +2 -0
  190. package/dist/application/workers/wasm/wasm-worker.types.js.map +1 -0
  191. package/dist/application/workers/wasm/wasm-worker.utils.d.ts +10 -0
  192. package/dist/application/workers/wasm/wasm-worker.utils.js +130 -0
  193. package/dist/application/workers/wasm/wasm-worker.utils.js.map +1 -0
  194. package/dist/buildConfig.d.ts +3 -0
  195. package/dist/buildConfig.js +7 -0
  196. package/dist/buildConfig.js.map +1 -0
  197. package/dist/cameraUtils.d.ts +77 -77
  198. package/dist/cameraUtils.js +361 -360
  199. package/dist/cameraUtils.js.map +1 -1
  200. package/dist/constants.d.ts +9 -9
  201. package/dist/constants.js +13 -12
  202. package/dist/constants.js.map +1 -1
  203. package/dist/createCallback.d.ts +56 -56
  204. package/dist/createCallback.js +332 -330
  205. package/dist/createCallback.js.map +1 -1
  206. package/dist/dbUtils.d.ts +14 -14
  207. package/dist/dbUtils.js +148 -147
  208. package/dist/dbUtils.js.map +1 -1
  209. package/dist/envUtils.d.ts +4 -4
  210. package/dist/envUtils.js +16 -15
  211. package/dist/envUtils.js.map +1 -1
  212. package/dist/faceModule.d.ts +196 -196
  213. package/dist/faceModule.js +978 -981
  214. package/dist/faceModule.js.map +1 -1
  215. package/dist/featureFlagInit.d.ts +11 -0
  216. package/dist/featureFlagInit.js +44 -0
  217. package/dist/featureFlagInit.js.map +1 -0
  218. package/dist/index.d.ts +38 -38
  219. package/dist/index.js +82 -82
  220. package/dist/main.d.ts +30 -13
  221. package/dist/main.js +84 -51
  222. package/dist/main.js.map +1 -1
  223. package/dist/types.d.ts +139 -139
  224. package/dist/types.js +77 -77
  225. package/dist/utils.d.ts +84 -84
  226. package/dist/utils.js +580 -579
  227. package/dist/utils.js.map +1 -1
  228. package/package.json +102 -102
  229. package/wasm/ultra/nosimd/{25.11.13-1357710 → 26.01.08-1300478}/privid_fhe_uber.js +18 -18
  230. package/wasm/ultra/nosimd/{25.11.13-1357710 → 26.01.08-1300478}/privid_fhe_uber.wasm +0 -0
  231. package/wasm/ultra/nosimd/version.json +2 -2
  232. package/wasm/ultra/simd/{25.11.13-1357710 → 26.01.08-1300478}/privid_fhe_uber.js +18 -18
  233. package/wasm/ultra/simd/{25.11.13-1357710 → 26.01.08-1300478}/privid_fhe_uber.wasm +0 -0
  234. package/wasm/ultra/simd/version.json +2 -2
  235. package/workers/comlink.min.js +7 -7
  236. package/workers/comlink.min.js.map +1 -1
  237. package/workers/wasm.worker.js +936 -924
@@ -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 { getFilteredVideoDevices, getDeviceMediaStream } 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] Getting filtered video devices...', '');
33
- let devices = yield getFilteredVideoDevices();
34
- printLogs(`[MobileCameraService] Found ${devices.length} devices`, '');
35
- // sorting the cameras to bring face cameras first when is face scan and back cameras first when is document scan
36
- if (props.requestFaceMode === CameraFaceMode.back) {
37
- devices = devices.sort((a, b) => {
38
- const aIsBack = isBackCameraLabel(a.label) ? 0 : 1;
39
- const bIsBack = isBackCameraLabel(b.label) ? 0 : 1;
40
- return aIsBack - bIsBack;
41
- });
42
- }
43
- else if (props.requestFaceMode === CameraFaceMode.front) {
44
- devices = devices.sort((a, b) => {
45
- const aIsFront = isBackCameraLabel(a.label) ? 1 : 0;
46
- const bIsFront = isBackCameraLabel(b.label) ? 1 : 0;
47
- return aIsFront - bIsFront;
48
- });
49
- }
50
- devices.forEach((device, index) => {
51
- printLogs(`[MobileCameraService] Device ${index}: `, device);
52
- });
53
- if (devices.length === 0) {
54
- throw new Error('NO_CAMERA');
55
- }
56
- const isFirstPermissionRequest = !props.deviceId && this.faceMode !== CameraFaceMode.back;
57
- // If we don't have permission yet (first time), use only facingMode for more reliable camera selection
58
- // If we already have permission, we can use deviceId for specific camera selection
59
- const useDeviceId = isFirstPermissionRequest ? undefined : props.deviceId;
60
- printLogs('[MobileCameraService] Waiting for camera availability...', '');
61
- yield BaseCameraService.waitForCameraRelease(useDeviceId, this.faceMode);
62
- printLogs(`[MobileCameraService] Using deviceId: `, useDeviceId || 'auto (facingMode)');
63
- printLogs(`[MobileCameraService] Props deviceId: `, props.deviceId || 'none');
64
- printLogs(`[MobileCameraService] Face mode: `, this.faceMode);
65
- printLogs(`[MobileCameraService] Is first permission request: `, isFirstPermissionRequest);
66
- printLogs('[MobileCameraService] Requesting media stream...', '');
67
- const stream = yield getDeviceMediaStream(useDeviceId, 'mobile', {
68
- isDocumentScan: props.isDocumentScan,
69
- canvasResolution: props.canvasResolution,
70
- faceMode: this.faceMode,
71
- enabledDevices: devices,
72
- isFirstPermissionRequest,
73
- });
74
- printLogs('[MobileCameraService] Media stream obtained successfully', '');
75
- printLogs(`[MobileCameraService] Stream has ${stream.getVideoTracks().length} video tracks`, '');
76
- // After stream is opened, get the actual deviceId that was selected
77
- const actualDeviceId = (_b = (_a = stream.getVideoTracks()[0]) === null || _a === void 0 ? void 0 : _a.getSettings()) === null || _b === void 0 ? void 0 : _b.deviceId;
78
- if (actualDeviceId) {
79
- this.setCurrentDeviceId(actualDeviceId);
80
- printLogs(`[MobileCameraService] Selected deviceId: `, actualDeviceId);
81
- }
82
- else {
83
- printLogs('[MobileCameraService] Could not get actual deviceId from stream', '', 'WARN');
84
- }
85
- printLogs('[MobileCameraService] Preparing camera result...', '');
86
- const result = yield this.prepareCameraResult(stream, devices, this.faceMode, props.videoElementId);
87
- printLogs('[MobileCameraService] Camera opened successfully', '');
88
- return result;
89
- }
90
- catch (e) {
91
- lastError = e;
92
- printLogs(`[MobileCameraService] Attempt ${attempt}/${maxAttempts} failed`, '', 'ERROR');
93
- printLogs(`[MobileCameraService] Error name: `, (e === null || e === void 0 ? void 0 : e.name) || 'unknown');
94
- printLogs(`[MobileCameraService] Error message: `, (e === null || e === void 0 ? void 0 : e.message) || 'unknown');
95
- // Enhanced error reporting for common issues
96
- if ((e === null || e === void 0 ? void 0 : e.name) === 'NotAllowedError') {
97
- printLogs(`[MobileCameraService] Camera permission denied by user`, '', 'ERROR');
98
- }
99
- else if ((e === null || e === void 0 ? void 0 : e.name) === 'NotFoundError') {
100
- printLogs(`[MobileCameraService] No camera device found`, '', 'ERROR');
101
- }
102
- else if ((e === null || e === void 0 ? void 0 : e.name) === 'NotReadableError') {
103
- printLogs(`[MobileCameraService] Camera is already in use by another app/tab`, '', 'ERROR');
104
- }
105
- else if ((e === null || e === void 0 ? void 0 : e.name) === 'OverconstrainedError') {
106
- printLogs(`[MobileCameraService] Camera constraints cannot be satisfied`, '', 'ERROR');
107
- }
108
- else if ((e === null || e === void 0 ? void 0 : e.message) === 'NO_TRACK_SETTINGS') {
109
- printLogs(`[MobileCameraService] Failed to get track settings from camera`, '', 'ERROR');
110
- }
111
- else if ((e === null || e === void 0 ? void 0 : e.message) === 'NO_VIDEO_TRACKS') {
112
- printLogs(`[MobileCameraService] Stream has no video tracks`, '', 'ERROR');
113
- }
114
- printLogs(`[MobileCameraService] Error stack: `, (e === null || e === void 0 ? void 0 : e.stack) || 'no stack trace');
115
- // If this is not the last attempt, wait before retrying
116
- if (attempt < maxAttempts) {
117
- const retryDelay = attempt * 500; // Progressive delay: 500ms, 1000ms
118
- printLogs(`[MobileCameraService] Retrying in ${retryDelay}ms...`, '');
119
- yield new Promise((resolve) => setTimeout(resolve, retryDelay));
120
- }
121
- }
122
- }
123
- // All attempts failed
124
- printLogs(`[MobileCameraService] All ${maxAttempts} attempts failed`, '', 'ERROR');
125
- printLogs(`[MobileCameraService] Final error: `, lastError, 'ERROR');
126
- return null;
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":"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"}
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=engine.domain.js.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=engine.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.types.js","sourceRoot":"","sources":["../../../../../src/application/modules/support/engine/engine.types.ts"],"names":[],"mappings":""}