@incodetech/core 2.0.1 → 2.1.0-rc.1
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/dist/{BrowserStorageProvider-CuOW1Er2.esm.js → BrowserStorageProvider-BpJM-gIl.esm.js} +8 -1
- package/dist/{IpifyProvider-D7jx52AL.esm.js → IpifyProvider-D4LWD15E.esm.js} +28 -0
- package/dist/{MotionSensorProvider-4v7xkqAp.esm.js → MotionSensorProvider-Bx7Mpzt0.esm.js} +63 -13
- package/dist/{OpenViduRecordingProvider-CMu6XVdc.esm.js → OpenViduRecordingProvider-O4GjBseO.esm.js} +1 -1
- package/dist/StateMachine-BC_nGvrc.d.ts +2 -0
- package/dist/StreamCanvasCapture-ImiDQdVA.esm.js +118 -0
- package/dist/StreamCanvasCapture-yyl20qd9.d.ts +152 -0
- package/dist/{BaseWasmProvider-C_DLEI40.esm.js → WasmUtilProvider-BKWm8rSA.esm.js} +202 -11
- package/dist/{addressSearch-BpTbTWCa.esm.js → addressSearch-DvmWXKZg.esm.js} +63 -57
- package/dist/{ae-signature-DDDZmWXj.esm.js → ae-signature-BFZta3TZ.esm.js} +1 -1
- package/dist/ae-signature.d.ts +3 -3
- package/dist/ae-signature.esm.js +6 -5
- package/dist/antifraud.d.ts +5 -46
- package/dist/antifraud.esm.js +6 -43
- package/dist/antifraudManager-CkV4u-LE.esm.js +55 -0
- package/dist/antifraudManager-CznnhyvD.d.ts +63 -0
- package/dist/{antifraudStateMachine-O0TMf6yc.esm.js → antifraudStateMachine-Ccrb-Jxc.esm.js} +2 -2
- package/dist/apiError-B-j-gyDx.esm.js +51 -0
- package/dist/authentication.d.ts +13 -11
- package/dist/authentication.esm.js +26 -22
- package/dist/{authenticationManager-5M-fKzXx.esm.js → authenticationManager-BlR6mSaG.esm.js} +6 -6
- package/dist/{authenticationManager-C83GNIhl.d.ts → authenticationManager-CaiQbp-q.d.ts} +4 -4
- package/dist/{authenticationStateMachine-BMZqatiF.esm.js → authenticationStateMachine-DkcGUMw5.esm.js} +21 -9
- package/dist/{backCameraStream-DMdMeGk2.esm.js → backCameraStream-D7Wo4Nbx.esm.js} +95 -7
- package/dist/{session-CrkWAs-q.esm.js → browserSimulation-B1dWiXp7.esm.js} +61 -476
- package/dist/camera.d.ts +4 -3
- package/dist/camera.esm.js +4 -3
- package/dist/canvas-SKcRBxsk.esm.js +230 -0
- package/dist/consent.d.ts +4 -398
- package/dist/consent.esm.js +6 -77
- package/dist/consentManager-BYo9Nu1r.esm.js +90 -0
- package/dist/consentManager-Cg5Sk2tv.d.ts +419 -0
- package/dist/{consentStateMachine-CCT-B60O.esm.js → consentStateMachine-BG3yL8aC.esm.js} +9 -6
- package/dist/cpf-ocr.d.ts +4 -199
- package/dist/cpf-ocr.esm.js +8 -177
- package/dist/cpfOcrManager-Dg1s_TY5.d.ts +216 -0
- package/dist/cpfOcrManager-sSKegxox.esm.js +190 -0
- package/dist/cross-document-data-match.d.ts +1 -1
- package/dist/cross-document-data-match.esm.js +4 -4
- package/dist/curp-validation.d.ts +8 -158
- package/dist/curp-validation.esm.js +6 -108
- package/dist/curpValidationManager-CFem6zP9.esm.js +122 -0
- package/dist/curpValidationManager-RttixpIc.d.ts +184 -0
- package/dist/{curpValidationStateMachine-CitWLr2c.esm.js → curpValidationStateMachine-B7V_qp66.esm.js} +20 -13
- package/dist/custom-fields.d.ts +2 -2
- package/dist/custom-fields.esm.js +4 -4
- package/dist/custom-watchlist.d.ts +1 -1
- package/dist/custom-watchlist.esm.js +4 -41
- package/dist/customWatchlistStateMachine-HmFybXLX.esm.js +50 -0
- package/dist/{deepsightLoader-Cm4JIT_z.esm.js → deepsightLoader-8tnddNx-.esm.js} +19 -10
- package/dist/deepsightService-CrHmvx8X.esm.js +276 -0
- package/dist/{deepsightService-CEVxzehb.d.ts → deepsightService-Dh5P-hLf.d.ts} +13 -160
- package/dist/device.esm.js +4 -3
- package/dist/document-capture.d.ts +989 -80
- package/dist/document-capture.esm.js +34 -8
- package/dist/document-upload.d.ts +44 -44
- package/dist/document-upload.esm.js +7 -7
- package/dist/{documentCaptureStateMachine-BqzTDy9k.esm.js → documentCaptureStateMachine-CUTUzUw_.esm.js} +90 -6
- package/dist/dynamic-forms.d.ts +20 -5
- package/dist/dynamic-forms.esm.js +150 -61
- package/dist/ekyb.d.ts +32 -13
- package/dist/ekyb.esm.js +25 -15
- package/dist/{ekybStateMachine-CyMx_kg-.esm.js → ekybStateMachine-klc-AImJ.esm.js} +319 -207
- package/dist/ekyc.d.ts +10 -78
- package/dist/ekyc.esm.js +17 -12
- package/dist/{ekycStateMachine-oeO0Iekd.esm.js → ekycStateMachine-CXbpaJJn.esm.js} +201 -113
- package/dist/electronic-signature.d.ts +3 -3
- package/dist/electronic-signature.esm.js +5 -4
- package/dist/{electronicSignatureManager-D9OHzTpG.esm.js → electronicSignatureManager-BaECdJ1u.esm.js} +91 -23
- package/dist/email.d.ts +4 -3
- package/dist/email.esm.js +6 -5
- package/dist/{emailManager-wAV0LE-H.esm.js → emailManager--D5G3ChB.esm.js} +30 -7
- package/dist/{emailManager-DIfnS5g1.d.ts → emailManager-lAzDoQOs.d.ts} +66 -8
- package/dist/{emailStateMachine-DOf4j58N.esm.js → emailStateMachine-CxTOMAjC.esm.js} +46 -11
- package/dist/{endpoints-CnN3SyDa.esm.js → endpoints-BeTK0Mlt.esm.js} +6 -3
- package/dist/{events-D6-e4vok.esm.js → events-Dvvriq9l.esm.js} +3 -1
- package/dist/events.d.ts +2 -0
- package/dist/events.esm.js +1 -1
- package/dist/extensibility.d.ts +41 -16
- package/dist/extensibility.esm.js +55 -33
- package/dist/face-match.d.ts +21 -2
- package/dist/face-match.esm.js +5 -5
- package/dist/{faceCaptureManagerFactory-yqtpxjnN.d.ts → faceCaptureManagerFactory-CjdBUS6s.d.ts} +48 -17
- package/dist/{faceCaptureManagerFactory-Dh2PdGlF.esm.js → faceCaptureManagerFactory-ej2j1LMr.esm.js} +21 -5
- package/dist/{faceCaptureSetup-B3faSpYA.esm.js → faceCaptureSetup-B9t6bYze.esm.js} +68 -183
- package/dist/{faceMatchStateMachine-DNFrxTFS.esm.js → faceMatchStateMachine-DeXXzSuz.esm.js} +62 -6
- package/dist/field-comparison.d.ts +4 -0
- package/dist/field-comparison.esm.js +7 -0
- package/dist/fieldComparisonManager-Bu5TaSr3.d.ts +76 -0
- package/dist/fieldComparisonManager-COGI2ARD.esm.js +162 -0
- package/dist/fiscal-qr.d.ts +59 -0
- package/dist/fiscal-qr.esm.js +323 -0
- package/dist/flow-events.d.ts +6 -5
- package/dist/flow.d.ts +23 -15
- package/dist/flow.esm.js +56 -17
- package/dist/flowCompletionService-BdR2cGgB.d.ts +19 -0
- package/dist/flowCompletionService-DdGojV9K.esm.js +20 -0
- package/dist/{flowServices-PiNsxLfK.esm.js → flowServices-ChgTNggJ.esm.js} +10 -5
- package/dist/geolocation.d.ts +4 -4
- package/dist/geolocation.esm.js +6 -6
- package/dist/{geolocationStateMachine-asasuHY2.esm.js → geolocationStateMachine-Dvh7X0wF.esm.js} +5 -5
- package/dist/getBrowser-C8DP7oTB.esm.js +8 -0
- package/dist/{getBrowser-BSXUTWXw.esm.js → getDeviceClass-C0olyNFS.esm.js} +1 -8
- package/dist/{getDeviceClass-BSntT9_j.esm.js → getDeviceClass-C8Do2qYu.esm.js} +1 -1
- package/dist/government-validation.d.ts +28 -8
- package/dist/government-validation.esm.js +19 -8
- package/dist/{governmentValidationStateMachine-BDDYrJTo.esm.js → governmentValidationStateMachine-DcJ-BfsC.esm.js} +35 -77
- package/dist/home.d.ts +15 -14
- package/dist/home.esm.js +2 -2
- package/dist/http-Cai3IoLS.esm.js +0 -0
- package/dist/http.esm.js +1 -0
- package/dist/id-ocr.d.ts +54 -54
- package/dist/id-ocr.esm.js +5 -5
- package/dist/id-verification.d.ts +27 -27
- package/dist/id-verification.esm.js +4 -4
- package/dist/id.d.ts +12 -10
- package/dist/id.esm.js +70 -27
- package/dist/{idCaptureManager-Fyd0eam-.d.ts → idCaptureManager-ChCNmgBj.d.ts} +40 -20
- package/dist/{idCaptureManager-D0ktk7Hh.esm.js → idCaptureManager-D3pwWutw.esm.js} +22 -7
- package/dist/{idCaptureStateMachine-dwlBUjbC.esm.js → idCaptureStateMachine-B3AiDIsT.esm.js} +172 -123
- package/dist/{idOcrStateMachine-YbjjC_Gg.esm.js → idOcrStateMachine-CDQ5d_VM.esm.js} +4 -4
- package/dist/{idVerificationStateMachine-xbw9HP1Z.esm.js → idVerificationStateMachine-kRxwImzO.esm.js} +2 -2
- package/dist/identity-reuse.d.ts +4 -530
- package/dist/identity-reuse.esm.js +8 -274
- package/dist/identityReuseManager-C6n_97dw.esm.js +95 -0
- package/dist/identityReuseManager-Cww-NDtd.d.ts +428 -0
- package/dist/identityReuseStateMachine-BfE5YiEr.esm.js +148 -0
- package/dist/{index-BcRG8rtJ.d.ts → index-B5hPA0Bg.d.ts} +2 -2
- package/dist/{index-ChHWNH48.d.ts → index-B9NysVDB.d.ts} +469 -195
- package/dist/index.d.ts +2 -2
- package/dist/index.esm.js +10 -8
- package/dist/{invokeOnCaptureCallback-rc6kBHo5.esm.js → invokeOnCaptureCallback-ygByVdnn.esm.js} +1 -1
- package/dist/{lib-BB0B_qQX.esm.js → lib-BY67lgbq.esm.js} +1 -1
- package/dist/mandatory-consent.d.ts +8 -412
- package/dist/mandatory-consent.esm.js +6 -76
- package/dist/mandatoryConsentManager-Dq6WiOZh.d.ts +429 -0
- package/dist/mandatoryConsentManager-H6D18cZB.esm.js +89 -0
- package/dist/{mandatoryConsentStateMachine-Cnco1jvn.esm.js → mandatoryConsentStateMachine-DtQNW1ji.esm.js} +6 -6
- package/dist/openviduLazy-B8L--0oe.esm.js +3 -0
- package/dist/{openviduLazy-Cok70ZSg.esm.js → openviduLazy-Dh14JNJc.esm.js} +2 -2
- package/dist/otp-CGMdUzBC.esm.js +33 -0
- package/dist/otp-DF5A0sFx.d.ts +8 -0
- package/dist/permissionGuards-D0wGddy7.esm.js +23 -0
- package/dist/permissionServices-Doec4X5L.esm.js +130 -0
- package/dist/phone.d.ts +4 -3
- package/dist/phone.esm.js +6 -5
- package/dist/{phoneManager-DAJbGhlY.esm.js → phoneManager-BmF-0Ez4.esm.js} +30 -7
- package/dist/{phoneManager-B6M30hKE.d.ts → phoneManager-fPmIBYQK.d.ts} +65 -7
- package/dist/{phoneStateMachine-CuPARRaT.esm.js → phoneStateMachine-BiV0yoEx.esm.js} +46 -11
- package/dist/{qe-signature-DFo_Cc-I.esm.js → qe-signature-CUYPcHVo.esm.js} +1 -1
- package/dist/qe-signature.d.ts +3 -3
- package/dist/qe-signature.esm.js +6 -5
- package/dist/{recordingService-Ig2UgbLv.esm.js → recordingService-yRw7hfzU.esm.js} +197 -179
- package/dist/redirect-to-mobile.d.ts +6 -104
- package/dist/redirect-to-mobile.esm.js +6 -99
- package/dist/redirectToMobileManager-BNe3IzC_.d.ts +178 -0
- package/dist/redirectToMobileManager-Dy3t7o0C.esm.js +159 -0
- package/dist/{redirectToMobileStateMachine-BOEqe46A.esm.js → redirectToMobileStateMachine-DyAdRxfP.esm.js} +28 -19
- package/dist/{runChildModule-CqqwqAkW.esm.js → runChildModule-CuoHZ1cx.esm.js} +35 -3
- package/dist/selfie.d.ts +13 -11
- package/dist/selfie.esm.js +53 -24
- package/dist/{selfieManager-Duisl7qN.esm.js → selfieManager-BNuTIGAz.esm.js} +6 -6
- package/dist/{selfieManager-D0lSgd-J.d.ts → selfieManager-C2y_t6DG.d.ts} +4 -4
- package/dist/{selfieStateMachine-D76whWEf.esm.js → selfieStateMachine-Bv99bZJE.esm.js} +5 -3
- package/dist/session-DoVb-OcB.esm.js +152 -0
- package/dist/session.d.ts +37 -5
- package/dist/session.esm.js +12 -7
- package/dist/sessionInitializer-DRB-hgbV.esm.js +366 -0
- package/dist/{setup-C5AITV8m.d.ts → setup-BwCluiw3.d.ts} +86 -6
- package/dist/{setup-DPPAxmXf.esm.js → setup-CUO4mErT.esm.js} +175 -25
- package/dist/signature.d.ts +2 -2
- package/dist/signature.esm.js +4 -4
- package/dist/{signatureStateMachine-B5-QVUve.esm.js → signatureStateMachine-C5qqYLRz.esm.js} +3 -3
- package/dist/stats-BMNUG1AU.esm.js +41 -0
- package/dist/stats.d.ts +13 -2
- package/dist/stats.esm.js +3 -2
- package/dist/trust-graph.d.ts +33 -4
- package/dist/trust-graph.esm.js +21 -15
- package/dist/{types-CFV9G_7j.d.ts → types-Bj9hdFjU.d.ts} +1 -1
- package/dist/{types-BP1m8VRw.d.ts → types-DOUhndhT.d.ts} +14 -2
- package/dist/types-DsnEVMhr.esm.js +34 -0
- package/dist/types-DvGZI7BF.d.ts +131 -0
- package/dist/{types-B06Ypu2F.d.ts → types-NuT8ftBV.d.ts} +1 -1
- package/dist/types-ya0LN_MX.d.ts +5 -0
- package/dist/{warmup-CEcppFiS.d.ts → warmup-Dg8Lh-50.d.ts} +8 -0
- package/dist/wasm.d.ts +6 -4
- package/dist/wasm.esm.js +11 -9
- package/dist/watchlist-for-business.d.ts +1 -1
- package/dist/watchlist-for-business.esm.js +5 -73
- package/dist/watchlist.d.ts +1 -1
- package/dist/watchlist.esm.js +4 -41
- package/dist/watchlistForBusinessStateMachine-DMl8j2Ov.esm.js +74 -0
- package/dist/watchlistStateMachine-DmQlqI6L.esm.js +50 -0
- package/dist/workflow.d.ts +146 -100
- package/dist/workflow.esm.js +116 -66
- package/package.json +19 -1
- package/dist/StateMachine-BCQrZJhf.d.ts +0 -2
- package/dist/WasmUtilProvider-j98OJf-S.esm.js +0 -114
- package/dist/browserSimulation-gxD8cSpM.esm.js +0 -20
- package/dist/deepsightService-O74l4Y__.esm.js +0 -489
- package/dist/displayErrors-DqJ_IbsG.d.ts +0 -39
- package/dist/flowCompletionService-DhkT4SRY.d.ts +0 -10
- package/dist/flowCompletionService-P54yzGvA.esm.js +0 -13
- package/dist/openviduLazy-Cm0XFh_v.esm.js +0 -3
- package/dist/permissionServices-D_i6nzEw.esm.js +0 -50
- package/dist/stats-CIfiPzb1.esm.js +0 -16
- package/dist/types-CAD4va6a.d.ts +0 -5
- package/dist/watchlistServices-DMbUhkBX.esm.js +0 -12
- /package/dist/{Actor-CI32dTbG.d.ts → Actor-Y0_Fj-KL.d.ts} +0 -0
- /package/dist/{ITimerCapability-C67ZRskg.esm.js → ITimerCapability-CB0I1Uf2.esm.js} +0 -0
- /package/dist/{Manager-C8PrhBOx.d.ts → Manager-BHn8wH8K.d.ts} +0 -0
- /package/dist/{camera-PA2Ljri3.esm.js → camera-DJWm3V4g.esm.js} +0 -0
- /package/dist/{camera-DBSxa6ML.d.ts → camera-SRBpPq2X.d.ts} +0 -0
- /package/dist/{chunk-CRF6K_H_.esm.js → chunk-CMUKZ2uL.esm.js} +0 -0
- /package/dist/{cpf-PPz2Njto.esm.js → cpf-BRzggV8G.esm.js} +0 -0
- /package/dist/{dateUtils-UoN5xswP.esm.js → dateUtils-AksLQmgV.esm.js} +0 -0
- /package/dist/{platform-CfrjKhmi.esm.js → platform-SKvEfCBh.esm.js} +0 -0
- /package/dist/{xstate.esm-B70JrNqo.esm.js → xstate.esm-C9wncMQa.esm.js} +0 -0
package/dist/{BrowserStorageProvider-CuOW1Er2.esm.js → BrowserStorageProvider-BpJM-gIl.esm.js}
RENAMED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
//#region ../infra/src/wasm/wasmDsFlagSync.ts
|
|
2
|
+
function setWasmDsFlagSync(enabled) {
|
|
3
|
+
if (typeof localStorage === "undefined") return;
|
|
4
|
+
localStorage.setItem("ds", enabled ? "1" : "0");
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
1
8
|
//#region ../infra/src/providers/browser/BrowserStorageProvider.ts
|
|
2
9
|
/**
|
|
3
10
|
* Browser-based storage provider wrapping localStorage.
|
|
@@ -52,4 +59,4 @@ var BrowserStorageProvider = class {
|
|
|
52
59
|
};
|
|
53
60
|
|
|
54
61
|
//#endregion
|
|
55
|
-
export { BrowserStorageProvider as t };
|
|
62
|
+
export { setWasmDsFlagSync as n, BrowserStorageProvider as t };
|
|
@@ -60,6 +60,34 @@ var BrowserEnvironmentProvider = class {
|
|
|
60
60
|
ms: nav.msGetUserMedia !== void 0
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
|
+
getMaxTouchPoints() {
|
|
64
|
+
if (typeof navigator === "undefined") return 0;
|
|
65
|
+
return navigator.maxTouchPoints;
|
|
66
|
+
}
|
|
67
|
+
hasOnTouchStart() {
|
|
68
|
+
if (typeof window !== "undefined" && "ontouchstart" in window) return true;
|
|
69
|
+
if (typeof document !== "undefined") return "ontouchstart" in document.documentElement;
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
getNavigatorProductSub() {
|
|
73
|
+
if (typeof navigator === "undefined") return;
|
|
74
|
+
return navigator.productSub;
|
|
75
|
+
}
|
|
76
|
+
getEvalToStringLength() {
|
|
77
|
+
return eval.toString().length;
|
|
78
|
+
}
|
|
79
|
+
tryFirefoxToSource() {
|
|
80
|
+
try {
|
|
81
|
+
throw "a";
|
|
82
|
+
} catch (err) {
|
|
83
|
+
try {
|
|
84
|
+
err.toSource();
|
|
85
|
+
return true;
|
|
86
|
+
} catch {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
63
91
|
async fetchJson(url, timeoutMs = 3e3) {
|
|
64
92
|
try {
|
|
65
93
|
if (typeof fetch === "undefined") return null;
|
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
//#region ../infra/src/providers/browser/MotionSensorProvider.ts
|
|
2
|
-
|
|
2
|
+
const MOTION_PERMISSION_GRANTED_KEY = "motionSensorsPermissionsGranted";
|
|
3
|
+
const MOTION_PERMISSION_DENIED_KEY = "motionSensorsPermissionsDenied";
|
|
4
|
+
var MotionSensorProvider = class MotionSensorProvider {
|
|
5
|
+
static isIosMotionPermissionRequired() {
|
|
6
|
+
return typeof DeviceMotionEvent !== "undefined" && typeof DeviceMotionEvent.requestPermission === "function";
|
|
7
|
+
}
|
|
8
|
+
static readSessionFlag(key) {
|
|
9
|
+
if (typeof sessionStorage === "undefined") return false;
|
|
10
|
+
return sessionStorage.getItem(key) === "true";
|
|
11
|
+
}
|
|
12
|
+
static hasMotionPermissionGrantedInSession() {
|
|
13
|
+
return MotionSensorProvider.readSessionFlag(MOTION_PERMISSION_GRANTED_KEY);
|
|
14
|
+
}
|
|
15
|
+
static hasMotionPermissionDeniedInSession() {
|
|
16
|
+
return MotionSensorProvider.readSessionFlag(MOTION_PERMISSION_DENIED_KEY);
|
|
17
|
+
}
|
|
3
18
|
constructor(thresholds) {
|
|
4
19
|
this._isRunning = false;
|
|
5
|
-
this._hasPermission = true;
|
|
6
20
|
this.acl = null;
|
|
7
21
|
this.gyro = null;
|
|
8
|
-
this.minNumberOfFrames =
|
|
22
|
+
this.minNumberOfFrames = 10;
|
|
9
23
|
this.maxFrequency = 60;
|
|
10
24
|
this.emptyParams = {
|
|
11
25
|
meanX: 0,
|
|
@@ -71,6 +85,7 @@ var MotionSensorProvider = class {
|
|
|
71
85
|
this.updateParams(this.paramsOrientationOld, orientationVal);
|
|
72
86
|
}
|
|
73
87
|
};
|
|
88
|
+
this._hasPermission = MotionSensorProvider.isIosMotionPermissionRequired() ? MotionSensorProvider.hasMotionPermissionGrantedInSession() : true;
|
|
74
89
|
this.thresholds = {
|
|
75
90
|
accThreshold: thresholds?.accThreshold ?? .3,
|
|
76
91
|
gyroThreshold: thresholds?.gyroThreshold ?? .3,
|
|
@@ -92,21 +107,55 @@ var MotionSensorProvider = class {
|
|
|
92
107
|
get hasPermission() {
|
|
93
108
|
return this._hasPermission;
|
|
94
109
|
}
|
|
110
|
+
hasBeenRequestedThisSession() {
|
|
111
|
+
return MotionSensorProvider.hasMotionPermissionGrantedInSession();
|
|
112
|
+
}
|
|
113
|
+
hasMotionPermissionDeniedThisSession() {
|
|
114
|
+
return MotionSensorProvider.hasMotionPermissionDeniedInSession();
|
|
115
|
+
}
|
|
116
|
+
markMotionPermissionGrantedInSession() {
|
|
117
|
+
if (typeof sessionStorage === "undefined") return;
|
|
118
|
+
sessionStorage.setItem(MOTION_PERMISSION_GRANTED_KEY, String(true));
|
|
119
|
+
sessionStorage.removeItem(MOTION_PERMISSION_DENIED_KEY);
|
|
120
|
+
sessionStorage.setItem("motionSensorsPermissionsRequested", String(true));
|
|
121
|
+
}
|
|
122
|
+
markMotionPermissionDeniedInSession() {
|
|
123
|
+
if (typeof sessionStorage === "undefined") return;
|
|
124
|
+
sessionStorage.setItem(MOTION_PERMISSION_DENIED_KEY, String(true));
|
|
125
|
+
sessionStorage.removeItem(MOTION_PERMISSION_GRANTED_KEY);
|
|
126
|
+
}
|
|
127
|
+
syncSessionPermission() {
|
|
128
|
+
if (!MotionSensorProvider.isIosMotionPermissionRequired()) {
|
|
129
|
+
this._hasPermission = true;
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
if (MotionSensorProvider.hasMotionPermissionGrantedInSession()) this._hasPermission = true;
|
|
133
|
+
else if (MotionSensorProvider.hasMotionPermissionDeniedInSession()) this._hasPermission = false;
|
|
134
|
+
}
|
|
95
135
|
async requestPermission() {
|
|
96
|
-
if (
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
136
|
+
if (!MotionSensorProvider.isIosMotionPermissionRequired()) return "not-required";
|
|
137
|
+
if (MotionSensorProvider.hasMotionPermissionGrantedInSession()) {
|
|
138
|
+
this._hasPermission = true;
|
|
139
|
+
return "granted";
|
|
140
|
+
}
|
|
141
|
+
if (MotionSensorProvider.hasMotionPermissionDeniedInSession()) {
|
|
142
|
+
this._hasPermission = false;
|
|
143
|
+
return "denied";
|
|
144
|
+
}
|
|
145
|
+
try {
|
|
146
|
+
if (await DeviceMotionEvent.requestPermission() !== "granted") {
|
|
105
147
|
this._hasPermission = false;
|
|
148
|
+
this.markMotionPermissionDeniedInSession();
|
|
106
149
|
return "denied";
|
|
107
150
|
}
|
|
151
|
+
this._hasPermission = true;
|
|
152
|
+
this.markMotionPermissionGrantedInSession();
|
|
153
|
+
return "granted";
|
|
154
|
+
} catch {
|
|
155
|
+
this._hasPermission = false;
|
|
156
|
+
this.markMotionPermissionDeniedInSession();
|
|
157
|
+
return "denied";
|
|
108
158
|
}
|
|
109
|
-
return "not-required";
|
|
110
159
|
}
|
|
111
160
|
initializeAccelerometer() {
|
|
112
161
|
if (!("Accelerometer" in window)) return;
|
|
@@ -129,6 +178,7 @@ var MotionSensorProvider = class {
|
|
|
129
178
|
} catch {}
|
|
130
179
|
}
|
|
131
180
|
async start() {
|
|
181
|
+
this.syncSessionPermission();
|
|
132
182
|
if (this._isRunning || !this._hasPermission) return;
|
|
133
183
|
try {
|
|
134
184
|
this.initializeAccelerometer();
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { t as IncodeCanvas } from "./canvas-SKcRBxsk.esm.js";
|
|
2
|
+
|
|
3
|
+
//#region ../infra/src/media/StreamCanvasCapture.ts
|
|
4
|
+
var StreamCanvasCapture = class {
|
|
5
|
+
constructor(stream, options) {
|
|
6
|
+
this.hasFrame = false;
|
|
7
|
+
this.disposed = false;
|
|
8
|
+
this.eventTarget = new EventTarget();
|
|
9
|
+
this.video = document.createElement("video");
|
|
10
|
+
this.video.srcObject = stream;
|
|
11
|
+
this.video.autoplay = true;
|
|
12
|
+
this.video.playsInline = true;
|
|
13
|
+
this.video.muted = true;
|
|
14
|
+
const settings = stream.getVideoTracks()[0]?.getSettings();
|
|
15
|
+
const initialWidth = options?.width ?? settings?.width ?? 1280;
|
|
16
|
+
const initialHeight = options?.height ?? settings?.height ?? 720;
|
|
17
|
+
this.canvas = document.createElement("canvas");
|
|
18
|
+
this.canvas.width = initialWidth;
|
|
19
|
+
this.canvas.height = initialHeight;
|
|
20
|
+
this.ctx = this.canvas.getContext("2d", { willReadFrequently: true });
|
|
21
|
+
const fps = options?.fps ?? 10;
|
|
22
|
+
const intervalMs = fps > 0 ? Math.max(16, Math.floor(1e3 / fps)) : 0;
|
|
23
|
+
this.video.addEventListener("loadedmetadata", () => {
|
|
24
|
+
if (this.video.videoWidth > 0 && this.video.videoHeight > 0) {
|
|
25
|
+
this.canvas.width = this.video.videoWidth;
|
|
26
|
+
this.canvas.height = this.video.videoHeight;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
try {
|
|
30
|
+
this.video.play();
|
|
31
|
+
} catch {}
|
|
32
|
+
this.rafLoop(intervalMs);
|
|
33
|
+
}
|
|
34
|
+
addEventListener(type, listener, options) {
|
|
35
|
+
this.eventTarget.addEventListener(type, listener, options);
|
|
36
|
+
}
|
|
37
|
+
removeEventListener(type, listener, options) {
|
|
38
|
+
this.eventTarget.removeEventListener(type, listener, options);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Returns the latest cached frame as an {@link IncodeCanvas}.
|
|
42
|
+
*/
|
|
43
|
+
getLatestCanvas() {
|
|
44
|
+
if (!this.hasFrame) this.tick();
|
|
45
|
+
if (!this.hasFrame) return null;
|
|
46
|
+
return new IncodeCanvas(this.canvas);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Returns the latest cached frame as raw {@link ImageData}.
|
|
50
|
+
*/
|
|
51
|
+
getLatestFrame() {
|
|
52
|
+
if (!this.ctx) return null;
|
|
53
|
+
if (!this.hasFrame) this.tick();
|
|
54
|
+
if (!this.hasFrame) return null;
|
|
55
|
+
try {
|
|
56
|
+
return this.ctx.getImageData(0, 0, this.canvas.width, this.canvas.height);
|
|
57
|
+
} catch {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Disposes internal resources and stops the capture loop.
|
|
63
|
+
*/
|
|
64
|
+
dispose() {
|
|
65
|
+
if (this.disposed) return;
|
|
66
|
+
this.disposed = true;
|
|
67
|
+
if (this.rafId !== void 0) {
|
|
68
|
+
window.cancelAnimationFrame(this.rafId);
|
|
69
|
+
this.rafId = void 0;
|
|
70
|
+
}
|
|
71
|
+
this.video.srcObject = null;
|
|
72
|
+
this.canvas.width = 0;
|
|
73
|
+
this.canvas.height = 0;
|
|
74
|
+
this.hasFrame = false;
|
|
75
|
+
}
|
|
76
|
+
rafLoop(intervalMs) {
|
|
77
|
+
const loop = (timeMs) => {
|
|
78
|
+
if (this.disposed) return;
|
|
79
|
+
if (intervalMs <= 0 || this.lastTickTimeMs === void 0 || timeMs - this.lastTickTimeMs >= intervalMs) {
|
|
80
|
+
this.lastTickTimeMs = timeMs;
|
|
81
|
+
const previousFrameTimeSeconds = this.lastFrameTimeSeconds;
|
|
82
|
+
this.tick();
|
|
83
|
+
const currentFrameTimeSeconds = this.video.currentTime;
|
|
84
|
+
if (previousFrameTimeSeconds === void 0) {
|
|
85
|
+
if (this.hasFrame) {
|
|
86
|
+
this.lastFrameTimeSeconds = currentFrameTimeSeconds;
|
|
87
|
+
this.eventTarget.dispatchEvent(new Event("frame"));
|
|
88
|
+
}
|
|
89
|
+
} else if (this.hasFrame && currentFrameTimeSeconds !== previousFrameTimeSeconds) {
|
|
90
|
+
this.lastFrameTimeSeconds = currentFrameTimeSeconds;
|
|
91
|
+
this.eventTarget.dispatchEvent(new Event("frame"));
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
this.rafId = window.requestAnimationFrame(loop);
|
|
95
|
+
};
|
|
96
|
+
this.rafId = window.requestAnimationFrame(loop);
|
|
97
|
+
}
|
|
98
|
+
tick() {
|
|
99
|
+
if (!this.ctx) return;
|
|
100
|
+
if (this.video.readyState < HTMLMediaElement.HAVE_CURRENT_DATA) return;
|
|
101
|
+
const videoWidth = this.video.videoWidth;
|
|
102
|
+
const videoHeight = this.video.videoHeight;
|
|
103
|
+
if (videoWidth === 0 || videoHeight === 0) return;
|
|
104
|
+
if (this.canvas.width !== videoWidth || this.canvas.height !== videoHeight) {
|
|
105
|
+
this.canvas.width = videoWidth;
|
|
106
|
+
this.canvas.height = videoHeight;
|
|
107
|
+
}
|
|
108
|
+
try {
|
|
109
|
+
this.ctx.drawImage(this.video, 0, 0);
|
|
110
|
+
this.hasFrame = true;
|
|
111
|
+
} catch {
|
|
112
|
+
this.hasFrame = false;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
//#endregion
|
|
118
|
+
export { StreamCanvasCapture as t };
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { t as CameraStream } from "./camera-SRBpPq2X.js";
|
|
2
|
+
|
|
3
|
+
//#region ../infra/src/media/canvas.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Class representing a canvas element for image capture and manipulation.
|
|
6
|
+
*/
|
|
7
|
+
declare class IncodeCanvas {
|
|
8
|
+
canvas: HTMLCanvasElement;
|
|
9
|
+
private base64Image;
|
|
10
|
+
private blobData;
|
|
11
|
+
/**
|
|
12
|
+
* Creates an {@link IncodeCanvas} from a raw {@link ImageData} frame.
|
|
13
|
+
* @param imageData - Frame pixels in RGBA format
|
|
14
|
+
* @returns An {@link IncodeCanvas} containing the provided pixels
|
|
15
|
+
*/
|
|
16
|
+
static fromImageData(imageData: ImageData): IncodeCanvas;
|
|
17
|
+
/**
|
|
18
|
+
* Create a new canvas element.
|
|
19
|
+
* @param canvas_ - The canvas element to clone.
|
|
20
|
+
*/
|
|
21
|
+
constructor(canvas_: HTMLCanvasElement);
|
|
22
|
+
/**
|
|
23
|
+
* Check if the current canvas is valid.
|
|
24
|
+
*/
|
|
25
|
+
private checkCanvas;
|
|
26
|
+
/**
|
|
27
|
+
* Disposes of resources, including revoking object URLs to prevent memory leaks.
|
|
28
|
+
*/
|
|
29
|
+
dispose(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Release the data stored by IncodeCanvas.
|
|
32
|
+
*/
|
|
33
|
+
release(): void;
|
|
34
|
+
/**
|
|
35
|
+
* Revokes the object URL if one exists, preventing memory leaks.
|
|
36
|
+
* Use this when you no longer need the preview image URL.
|
|
37
|
+
*/
|
|
38
|
+
revokeObjectURL(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Get the width of the canvas.
|
|
41
|
+
*/
|
|
42
|
+
width(): number | null;
|
|
43
|
+
/**
|
|
44
|
+
* Get the height of the canvas.
|
|
45
|
+
*/
|
|
46
|
+
height(): number | null;
|
|
47
|
+
/**
|
|
48
|
+
* Set the width of the canvas.
|
|
49
|
+
*/
|
|
50
|
+
setWidth(width: number): void;
|
|
51
|
+
/**
|
|
52
|
+
* Set the height of the canvas.
|
|
53
|
+
*/
|
|
54
|
+
setHeight(height: number): void;
|
|
55
|
+
/**
|
|
56
|
+
* Clone the current canvas.
|
|
57
|
+
*/
|
|
58
|
+
clone(): IncodeCanvas | null;
|
|
59
|
+
/**
|
|
60
|
+
* Deep clone the current IncodeCanvas including blob data.
|
|
61
|
+
*/
|
|
62
|
+
deepClone(): Promise<IncodeCanvas | null>;
|
|
63
|
+
/**
|
|
64
|
+
* Returns the drawing context on the canvas.
|
|
65
|
+
*/
|
|
66
|
+
getContext(contextId: '2d', contextAttributes?: CanvasRenderingContext2DSettings): CanvasRenderingContext2D | null;
|
|
67
|
+
/**
|
|
68
|
+
* Retrieves the image data from the canvas.
|
|
69
|
+
*/
|
|
70
|
+
getImageData(): ImageData | null;
|
|
71
|
+
/**
|
|
72
|
+
* Updates the base64 representation of the current canvas image.
|
|
73
|
+
*/
|
|
74
|
+
updateBase64Image(jpegQuality?: number): void;
|
|
75
|
+
/**
|
|
76
|
+
* Converts the current canvas element to a base64 string.
|
|
77
|
+
*/
|
|
78
|
+
getBase64Image(jpegQuality?: number, includeDataURLPrefix?: boolean): string | null;
|
|
79
|
+
/**
|
|
80
|
+
* Sets the base64 representation of the current canvas image.
|
|
81
|
+
*/
|
|
82
|
+
setBase64Image(base64Image: string | null): void;
|
|
83
|
+
/**
|
|
84
|
+
* Updates the Blob representation of the current canvas image.
|
|
85
|
+
*/
|
|
86
|
+
updateBlob(jpegQuality?: number, includeDataURLPrefix?: boolean): void;
|
|
87
|
+
/**
|
|
88
|
+
* Converts a base64 string to a Blob and creates a URL for it.
|
|
89
|
+
*/
|
|
90
|
+
static base64ToBlob(base64: string): {
|
|
91
|
+
blob: Blob;
|
|
92
|
+
url: string;
|
|
93
|
+
} | null;
|
|
94
|
+
/**
|
|
95
|
+
* Retrieves the Blob data and its URL from the current canvas.
|
|
96
|
+
*/
|
|
97
|
+
getBlobData(jpegQuality?: number, includeDataURLPrefix?: boolean): {
|
|
98
|
+
blob: Blob;
|
|
99
|
+
url: string;
|
|
100
|
+
} | null;
|
|
101
|
+
/**
|
|
102
|
+
* Sets the Blob data of the current canvas image.
|
|
103
|
+
*/
|
|
104
|
+
setBlobData(blobData: {
|
|
105
|
+
blob: Blob;
|
|
106
|
+
url: string;
|
|
107
|
+
}): Promise<void>;
|
|
108
|
+
/**
|
|
109
|
+
* Returns a resized canvas according to video element size.
|
|
110
|
+
*/
|
|
111
|
+
getResizedCanvas(videoElementWidth: number, videoElementHeight: number): IncodeCanvas | null;
|
|
112
|
+
}
|
|
113
|
+
//#endregion
|
|
114
|
+
//#region ../infra/src/media/StreamCanvasCapture.d.ts
|
|
115
|
+
type StreamCanvasCaptureOptions = {
|
|
116
|
+
fps?: number;
|
|
117
|
+
width?: number;
|
|
118
|
+
height?: number;
|
|
119
|
+
};
|
|
120
|
+
type StreamCanvasCaptureEventMap = {
|
|
121
|
+
frame: Event;
|
|
122
|
+
};
|
|
123
|
+
declare class StreamCanvasCapture {
|
|
124
|
+
private video;
|
|
125
|
+
private canvas;
|
|
126
|
+
private ctx;
|
|
127
|
+
private rafId;
|
|
128
|
+
private lastFrameTimeSeconds;
|
|
129
|
+
private lastTickTimeMs;
|
|
130
|
+
private hasFrame;
|
|
131
|
+
private disposed;
|
|
132
|
+
private eventTarget;
|
|
133
|
+
constructor(stream: CameraStream, options?: StreamCanvasCaptureOptions);
|
|
134
|
+
addEventListener(type: keyof StreamCanvasCaptureEventMap, listener: EventListenerOrEventListenerObject | null, options?: boolean | AddEventListenerOptions): void;
|
|
135
|
+
removeEventListener(type: keyof StreamCanvasCaptureEventMap, listener: EventListenerOrEventListenerObject | null, options?: boolean | EventListenerOptions): void;
|
|
136
|
+
/**
|
|
137
|
+
* Returns the latest cached frame as an {@link IncodeCanvas}.
|
|
138
|
+
*/
|
|
139
|
+
getLatestCanvas(): IncodeCanvas | null;
|
|
140
|
+
/**
|
|
141
|
+
* Returns the latest cached frame as raw {@link ImageData}.
|
|
142
|
+
*/
|
|
143
|
+
getLatestFrame(): ImageData | null;
|
|
144
|
+
/**
|
|
145
|
+
* Disposes internal resources and stops the capture loop.
|
|
146
|
+
*/
|
|
147
|
+
dispose(): void;
|
|
148
|
+
private rafLoop;
|
|
149
|
+
private tick;
|
|
150
|
+
}
|
|
151
|
+
//#endregion
|
|
152
|
+
export { IncodeCanvas as n, StreamCanvasCapture as t };
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
//#region ../infra/src/wasm/wasmPathUtils.ts
|
|
2
|
+
function deriveSiblingJsPath(wasmPath) {
|
|
3
|
+
const index = wasmPath.lastIndexOf(".wasm");
|
|
4
|
+
if (index === -1) return wasmPath;
|
|
5
|
+
const rest = wasmPath.slice(index + 5);
|
|
6
|
+
if (rest !== "" && !rest.startsWith("?")) return wasmPath;
|
|
7
|
+
return `${wasmPath.slice(0, index)}.js${rest}`;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
//#endregion
|
|
1
11
|
//#region ../infra/src/providers/browser/SemaphoreProvider.ts
|
|
2
12
|
const DEFAULT_ACQUIRE_TIMEOUT_MS = 3e4;
|
|
3
13
|
/**
|
|
@@ -99,6 +109,26 @@ var SemaphoreProvider = class {
|
|
|
99
109
|
|
|
100
110
|
//#endregion
|
|
101
111
|
//#region ../infra/src/wasm/apiUtilities.ts
|
|
112
|
+
/**
|
|
113
|
+
* Shared WASM module loader.
|
|
114
|
+
*
|
|
115
|
+
* The pinned `webLib.wasm` (see `wasmDefaults.ts`) bundles BOTH the ML pipeline
|
|
116
|
+
* APIs (used by `mlWasmJSApi.ts`) AND a C++ `WebClient` HTTP client (used by
|
|
117
|
+
* `wasmWebClient.ts`). Both consumers must share a single instantiated
|
|
118
|
+
* `wasmModule` — calling the glue `Module()` factory twice would re-instantiate
|
|
119
|
+
* the WASM heap and produce divergent state.
|
|
120
|
+
*
|
|
121
|
+
* This module memoizes the load: the first caller (whichever arrives first —
|
|
122
|
+
* ML init or HTTP init) triggers the fetch + glue load, and subsequent callers
|
|
123
|
+
* await the same promise. Idempotent on success; on failure, the singleton is
|
|
124
|
+
* cleared so the next caller retries.
|
|
125
|
+
*
|
|
126
|
+
* SIMD fallback mirrors the legacy behavior: try the SIMD binary + SIMD glue
|
|
127
|
+
* (`webLibSimd.js` + `webLibSimd.wasm`) first, fall back to the non-SIMD pair
|
|
128
|
+
* (`webLib.js` + `webLib.wasm`) on instantiation failure. Each binary MUST be
|
|
129
|
+
* paired with its matching glue — the CDN ships them as paired artifacts and
|
|
130
|
+
* mixing them produces an unusable module.
|
|
131
|
+
*/
|
|
102
132
|
if (typeof window !== "undefined" && window.wasmArrayBuffer === void 0) window.wasmArrayBuffer = null;
|
|
103
133
|
let loadPromise = null;
|
|
104
134
|
let loadedResult = null;
|
|
@@ -122,15 +152,6 @@ async function instantiate(factory, libPath) {
|
|
|
122
152
|
return await factory();
|
|
123
153
|
}
|
|
124
154
|
/**
|
|
125
|
-
* Derive a sibling `.js` path from a `.wasm` path by replacing the trailing
|
|
126
|
-
* extension. Used as a last-resort default when callers pass a `wasmSimdPath`
|
|
127
|
-
* without an accompanying `glueCodeSimdPath` — matches the legacy CDN naming
|
|
128
|
-
* convention (`webLibSimd.wasm` <-> `webLibSimd.js`).
|
|
129
|
-
*/
|
|
130
|
-
function deriveSiblingJsPath(wasmPath) {
|
|
131
|
-
return wasmPath.replace(/\.wasm($|\?)/, ".js$1");
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
155
|
* Load the WASM module, memoized. Subsequent calls return the same instance.
|
|
135
156
|
*
|
|
136
157
|
* SIMD-first with fallback: if `useSimd !== false` and a `wasmSimdPath` is
|
|
@@ -690,6 +711,13 @@ var MlWasmJSApi = class MlWasmJSApi {
|
|
|
690
711
|
if (!this.modelsBuffers) await this.loadModels();
|
|
691
712
|
this.workflowApiUtilities.initializeWorkflows();
|
|
692
713
|
}
|
|
714
|
+
/**
|
|
715
|
+
* Sets the native (C++) utility API's production mode. When `true`, the WASM
|
|
716
|
+
* module suppresses its verbose debug logging; when `false`, it emits it.
|
|
717
|
+
*
|
|
718
|
+
* @param productionMode - `true` to silence WASM logs, `false` to emit them.
|
|
719
|
+
* @throws If the WASM C++ API has not been initialized yet.
|
|
720
|
+
*/
|
|
693
721
|
async setProductionMode(productionMode) {
|
|
694
722
|
this.checkWasmInitialization("Unable to set production mode, cpp API hasn't been initialized");
|
|
695
723
|
this.utilityApi.setProductionMode(productionMode);
|
|
@@ -752,12 +780,32 @@ var MlWasmJSApi = class MlWasmJSApi {
|
|
|
752
780
|
}
|
|
753
781
|
async prc() {
|
|
754
782
|
this.checkWasmInitialization("Unable to prc, cpp API hasn't been initialized");
|
|
755
|
-
await wasmCallWrapper(this.wasmCallSemaphore, () => this.utilityApi.prc(), true);
|
|
783
|
+
await wasmCallWrapper(this.wasmCallSemaphore, () => this.utilityApi.prc(false), true);
|
|
756
784
|
}
|
|
757
785
|
async poc(output) {
|
|
758
786
|
this.checkWasmInitialization("Unable to poc, cpp API hasn't been initialized");
|
|
759
787
|
await wasmCallWrapper(this.wasmCallSemaphore, () => this.utilityApi.poc(output), true);
|
|
760
788
|
}
|
|
789
|
+
async rsp() {
|
|
790
|
+
this.checkWasmInitialization("Unable to rsp, cpp API hasn't been initialized");
|
|
791
|
+
await wasmCallWrapper(this.wasmCallSemaphore, () => this.utilityApi.rsp(), true);
|
|
792
|
+
}
|
|
793
|
+
ssl() {
|
|
794
|
+
this.checkWasmInitialization("Unable to ssl, cpp API hasn't been initialized");
|
|
795
|
+
this.utilityApi.ssl();
|
|
796
|
+
}
|
|
797
|
+
stl() {
|
|
798
|
+
this.checkWasmInitialization("Unable to stl, cpp API hasn't been initialized");
|
|
799
|
+
this.utilityApi.stl();
|
|
800
|
+
}
|
|
801
|
+
osv() {
|
|
802
|
+
this.checkWasmInitialization("Unable to set sensor beginning timestamp, cpp API hasn't been initialized");
|
|
803
|
+
this.utilityApi.osv();
|
|
804
|
+
}
|
|
805
|
+
oev() {
|
|
806
|
+
this.checkWasmInitialization("Unable to set sensor ending timestamp, cpp API hasn't been initialized");
|
|
807
|
+
this.utilityApi.oev();
|
|
808
|
+
}
|
|
761
809
|
ckvcks(data) {
|
|
762
810
|
this.checkWasmInitialization("Unable to ckvcks, cpp API hasn't been initialized");
|
|
763
811
|
this.utilityApi.ckvcks(data);
|
|
@@ -1115,4 +1163,147 @@ var BaseWasmProvider = class {
|
|
|
1115
1163
|
};
|
|
1116
1164
|
|
|
1117
1165
|
//#endregion
|
|
1118
|
-
|
|
1166
|
+
//#region ../infra/src/providers/wasm/WasmUtilProvider.ts
|
|
1167
|
+
var WasmUtilProvider = class WasmUtilProvider extends BaseWasmProvider {
|
|
1168
|
+
static async getInstance() {
|
|
1169
|
+
if (WasmUtilProvider.instance) return WasmUtilProvider.instance;
|
|
1170
|
+
if (WasmUtilProvider.initPromise) return WasmUtilProvider.initPromise;
|
|
1171
|
+
WasmUtilProvider.initPromise = (async () => {
|
|
1172
|
+
const instance = new WasmUtilProvider();
|
|
1173
|
+
await instance.initializeBase({}, "selfie");
|
|
1174
|
+
WasmUtilProvider.instance = instance;
|
|
1175
|
+
return instance;
|
|
1176
|
+
})();
|
|
1177
|
+
return WasmUtilProvider.initPromise;
|
|
1178
|
+
}
|
|
1179
|
+
static resetInstance() {
|
|
1180
|
+
WasmUtilProvider.instance = void 0;
|
|
1181
|
+
WasmUtilProvider.initPromise = void 0;
|
|
1182
|
+
}
|
|
1183
|
+
constructor() {
|
|
1184
|
+
super(void 0);
|
|
1185
|
+
}
|
|
1186
|
+
async initialize(config) {
|
|
1187
|
+
if (this.initialized) return;
|
|
1188
|
+
const pipeline = config.pipelines?.[0] ?? "selfie";
|
|
1189
|
+
await this.initializeBase(config, pipeline);
|
|
1190
|
+
}
|
|
1191
|
+
async processFrame(_image) {
|
|
1192
|
+
throw new Error("WasmUtilProvider does not support frame processing. Use encryptImage() instead.");
|
|
1193
|
+
}
|
|
1194
|
+
encryptImage(image) {
|
|
1195
|
+
this.ensureInitialized();
|
|
1196
|
+
return mlWasmJSApi_default.ens(image);
|
|
1197
|
+
}
|
|
1198
|
+
setSdkVersion(version) {
|
|
1199
|
+
this.ensureInitialized();
|
|
1200
|
+
mlWasmJSApi_default.setSdkVersion(version);
|
|
1201
|
+
}
|
|
1202
|
+
setSdkPlatform(platform) {
|
|
1203
|
+
this.ensureInitialized();
|
|
1204
|
+
mlWasmJSApi_default.setSdkPlatform(platform);
|
|
1205
|
+
}
|
|
1206
|
+
setDeviceInfo(deviceInfo, overrideExisting = true) {
|
|
1207
|
+
this.ensureInitialized();
|
|
1208
|
+
mlWasmJSApi_default.setDeviceInfo(deviceInfo, overrideExisting);
|
|
1209
|
+
}
|
|
1210
|
+
setBrowserInfo(browserInfo, overrideExisting = true) {
|
|
1211
|
+
this.ensureInitialized();
|
|
1212
|
+
mlWasmJSApi_default.setBrowserInfo(browserInfo, overrideExisting);
|
|
1213
|
+
}
|
|
1214
|
+
setCameraInfo(cameraInfo, overrideExisting = true) {
|
|
1215
|
+
this.ensureInitialized();
|
|
1216
|
+
mlWasmJSApi_default.setCameraInfo(cameraInfo, overrideExisting);
|
|
1217
|
+
}
|
|
1218
|
+
setMotionStatus(status) {
|
|
1219
|
+
this.ensureInitialized();
|
|
1220
|
+
mlWasmJSApi_default.setMotionStatus(status);
|
|
1221
|
+
}
|
|
1222
|
+
setBackgroundMode(backgroundMode) {
|
|
1223
|
+
this.ensureInitialized();
|
|
1224
|
+
mlWasmJSApi_default.setBackgroundMode(backgroundMode);
|
|
1225
|
+
}
|
|
1226
|
+
setZc(zc) {
|
|
1227
|
+
this.ensureInitialized();
|
|
1228
|
+
mlWasmJSApi_default.setZc(zc);
|
|
1229
|
+
}
|
|
1230
|
+
setInspectorOpened(opened) {
|
|
1231
|
+
this.ensureInitialized();
|
|
1232
|
+
mlWasmJSApi_default.setInspectorOpened(opened);
|
|
1233
|
+
}
|
|
1234
|
+
/**
|
|
1235
|
+
* Toggles the WASM module's production mode. When `true`, the native module
|
|
1236
|
+
* suppresses its verbose debug logging/console output; when `false`, those
|
|
1237
|
+
* logs are emitted. The SDK forces this to `true` by default and only flips
|
|
1238
|
+
* it off when the caller opts in via `setup({ wasm: { showLogs: true } })`.
|
|
1239
|
+
*
|
|
1240
|
+
* @param productionMode - `true` to silence WASM logs, `false` to emit them.
|
|
1241
|
+
*/
|
|
1242
|
+
async setProductionMode(productionMode) {
|
|
1243
|
+
this.ensureInitialized();
|
|
1244
|
+
await mlWasmJSApi_default.setProductionMode(productionMode);
|
|
1245
|
+
}
|
|
1246
|
+
getMetadata() {
|
|
1247
|
+
this.ensureInitialized();
|
|
1248
|
+
return mlWasmJSApi_default.getMetadata();
|
|
1249
|
+
}
|
|
1250
|
+
async analyzeFrame(image) {
|
|
1251
|
+
this.ensureInitialized();
|
|
1252
|
+
await mlWasmJSApi_default.analyzeFrame(image);
|
|
1253
|
+
}
|
|
1254
|
+
getCheck() {
|
|
1255
|
+
this.ensureInitialized();
|
|
1256
|
+
return mlWasmJSApi_default.getCheck();
|
|
1257
|
+
}
|
|
1258
|
+
getPipelineState() {
|
|
1259
|
+
this.ensureInitialized();
|
|
1260
|
+
return mlWasmJSApi_default.getPipelineState();
|
|
1261
|
+
}
|
|
1262
|
+
estimatePerformance() {
|
|
1263
|
+
this.ensureInitialized();
|
|
1264
|
+
return mlWasmJSApi_default.estimatePerformance();
|
|
1265
|
+
}
|
|
1266
|
+
isVirtualCamera(label) {
|
|
1267
|
+
this.ensureInitialized();
|
|
1268
|
+
return mlWasmJSApi_default.isVirtualCamera(label);
|
|
1269
|
+
}
|
|
1270
|
+
async prc() {
|
|
1271
|
+
this.ensureInitialized();
|
|
1272
|
+
await mlWasmJSApi_default.prc();
|
|
1273
|
+
}
|
|
1274
|
+
async poc(output) {
|
|
1275
|
+
this.ensureInitialized();
|
|
1276
|
+
await mlWasmJSApi_default.poc(output);
|
|
1277
|
+
}
|
|
1278
|
+
async rsp() {
|
|
1279
|
+
this.ensureInitialized();
|
|
1280
|
+
await mlWasmJSApi_default.rsp();
|
|
1281
|
+
}
|
|
1282
|
+
ssl() {
|
|
1283
|
+
this.ensureInitialized();
|
|
1284
|
+
mlWasmJSApi_default.ssl();
|
|
1285
|
+
}
|
|
1286
|
+
stl() {
|
|
1287
|
+
this.ensureInitialized();
|
|
1288
|
+
mlWasmJSApi_default.stl();
|
|
1289
|
+
}
|
|
1290
|
+
osv() {
|
|
1291
|
+
this.ensureInitialized();
|
|
1292
|
+
mlWasmJSApi_default.osv();
|
|
1293
|
+
}
|
|
1294
|
+
oev() {
|
|
1295
|
+
this.ensureInitialized();
|
|
1296
|
+
mlWasmJSApi_default.oev();
|
|
1297
|
+
}
|
|
1298
|
+
ckvcks(data) {
|
|
1299
|
+
this.ensureInitialized();
|
|
1300
|
+
mlWasmJSApi_default.ckvcks(data);
|
|
1301
|
+
}
|
|
1302
|
+
async getVersions() {
|
|
1303
|
+
this.ensureInitialized();
|
|
1304
|
+
return mlWasmJSApi_default.getVersions();
|
|
1305
|
+
}
|
|
1306
|
+
};
|
|
1307
|
+
|
|
1308
|
+
//#endregion
|
|
1309
|
+
export { WasmWebClientError as a, setWebApiHttpTransport as c, IdCaptureModelType as d, deriveSiblingJsPath as f, mlWasmJSApi_default as i, setupWasmConnection as l, BaseWasmProvider as n, executeWasmRequest as o, warmupWasm as r, initializeWasmWebClient as s, WasmUtilProvider as t, WasmPipelineType as u };
|